aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEran (ev672n), Vosk <ev672n@att.com>2018-08-07 14:15:05 +0300
committerEran (ev672n), Vosk <ev672n@att.com>2018-08-07 14:15:05 +0300
commitb9708a7c3cfaf5767992a2b15180e7b85c459242 (patch)
tree076e19ea52232232e9060a9d7e074947a4a49508
parentcc32bd38d72e5c1c92048657083952d3e45c1819 (diff)
adding the dcae dt code
Adding DCAE-dt code Change-Id: Id6b779db9d24e10825fb97ad5fd46f41e65e6738 Issue-ID: SDC-1614 Signed-off-by: Eran (ev672n), Vosk <ev672n@att.com>
-rw-r--r--.bowerrc5
-rw-r--r--.editorconfig21
-rw-r--r--.gitignore34
-rw-r--r--.maven-dockerignore1
-rw-r--r--Dockerfile26
-rw-r--r--Gruntfile.js644
-rw-r--r--README.md29
-rw-r--r--__test__/user-mapping.test.js41
-rw-r--r--app/VNF_List.json1
-rw-r--r--app/WEB-INF/jetty-web.xml8
-rw-r--r--app/WEB-INF/rewrite.config2
-rw-r--r--app/WEB-INF/web.xml10
-rw-r--r--app/_dcaeapp.xml45
-rw-r--r--app/app.config.js65
-rw-r--r--app/app.constants.js20
-rw-r--r--app/app.controller.js17
-rw-r--r--app/app.module.js29
-rw-r--r--app/app.route.js72
-rw-r--r--app/app.run.js59
-rw-r--r--app/comp-fe/asdc-catalog.js165
-rw-r--r--app/comp-fe/catalog.css248
-rw-r--r--app/comp-fe/catalog.html57
-rw-r--r--app/comp-fe/catalog.js89
-rw-r--r--app/comp-fe/composition.css626
-rw-r--r--app/comp-fe/composition.js3004
-rw-r--r--app/comp-fe/config.js3
-rw-r--r--app/comp-fe/cors_http_server.py13
-rw-r--r--app/comp-fe/elements1
-rw-r--r--app/comp-fe/httpserv.js32
-rw-r--r--app/comp-fe/icecat.html67
-rw-r--r--app/comp-fe/img/3net.pngbin0 -> 32114 bytes
-rw-r--r--app/comp-fe/img/3netg.pngbin0 -> 31927 bytes
-rw-r--r--app/comp-fe/img/collnode.pngbin0 -> 6565 bytes
-rw-r--r--app/comp-fe/img/dbnode.pngbin0 -> 2783 bytes
-rw-r--r--app/comp-fe/img/death.pngbin0 -> 80676 bytes
-rw-r--r--app/comp-fe/img/dummy.svg1
-rw-r--r--app/comp-fe/img/extnode.pngbin0 -> 4780 bytes
-rw-r--r--app/comp-fe/img/gamma.pngbin0 -> 12375 bytes
-rw-r--r--app/comp-fe/img/msnode.pngbin0 -> 2914 bytes
-rw-r--r--app/comp-fe/img/sanode.pngbin0 -> 7621 bytes
-rw-r--r--app/comp-fe/img/srcnode.pngbin0 -> 5512 bytes
-rw-r--r--app/comp-fe/js/bootstrap-notify.min.js2
-rw-r--r--app/comp-fe/js/bootstrap.js2317
-rw-r--r--app/comp-fe/js/circular-json.js2
-rw-r--r--app/comp-fe/js/d3.js16673
-rw-r--r--app/comp-fe/js/d3.min.js5
-rw-r--r--app/comp-fe/js/react.min.js16
-rw-r--r--app/comp-fe/js/underscore-min.js6
-rw-r--r--app/comp-fe/js/underscore-min.map0
-rw-r--r--app/comp-fe/js/underscore.js1276
-rw-r--r--app/comp-fe/styles/bootstrap.css6584
-rw-r--r--app/core/header/header.controller.js15
-rw-r--r--app/core/header/header.module.js13
-rw-r--r--app/core/header/layouts/content-with-header/header.html36
-rw-r--r--app/core/header/layouts/content-with-header/header.less5
-rw-r--r--app/core/header/layouts/horizontal-navigation/header.html14
-rw-r--r--app/core/header/layouts/horizontal-navigation/header.less53
-rw-r--r--app/core/layouts/content-only/content-only.html7
-rw-r--r--app/core/layouts/content-only/content-only.less3
-rw-r--r--app/core/layouts/content-with-header/content-with-header.html5
-rw-r--r--app/core/layouts/content-with-header/content-with-header.less3
-rwxr-xr-xapp/core/layouts/content-with-navigation/content-with-navigation.html15
-rwxr-xr-xapp/core/layouts/content-with-navigation/content-with-navigation.less4
-rw-r--r--app/core/layouts/full-page-with-header/full-page-with-header.html30
-rw-r--r--app/core/layouts/full-page-with-header/full-page-with-header.less167
-rw-r--r--app/core/layouts/header-navigation-content/header-navigation-content.html11
-rw-r--r--app/core/layouts/header-navigation-content/header-navigation-content.less3
-rw-r--r--app/core/navigation/layouts/horizontal-navigation/navigation.html4
-rw-r--r--app/core/navigation/layouts/horizontal-navigation/navigation.less26
-rw-r--r--app/core/navigation/navigation.controller.js41
-rw-r--r--app/core/navigation/navigation.module.js15
-rw-r--r--app/dcaeapp.xml125
-rw-r--r--app/favicon.pngbin0 -> 6364 bytes
-rw-r--r--app/grep-logs/AIC-grep.txt4
-rw-r--r--app/grep-logs/amdocs-grep.txt0
-rwxr-xr-xapp/grep.sh53
-rw-r--r--app/index.html194
-rw-r--r--app/main/dashboard/about/about.controller.js16
-rw-r--r--app/main/dashboard/about/about.html2
-rw-r--r--app/main/dashboard/about/about.less5
-rw-r--r--app/main/dashboard/about/about.module.js24
-rw-r--r--app/main/dashboard/dcaedt/dcae.less1376
-rw-r--r--app/main/dashboard/dcaedt/dcaedt.controller.js519
-rw-r--r--app/main/dashboard/dcaedt/dcaedt.factory.js27
-rw-r--r--app/main/dashboard/dcaedt/dcaedt.html69
-rw-r--r--app/main/dashboard/dcaedt/dcaedt.module.js148
-rw-r--r--app/main/dashboard/dcaedt/dcaedt.values.js6
-rw-r--r--app/main/dashboard/dcaedt/dcaedt_artifact.html18
-rw-r--r--app/main/dashboard/dcaedt/dcaedt_composition.html158
-rw-r--r--app/main/dashboard/dcaedt/dcaedt_general.html202
-rw-r--r--app/main/dashboard/dcaedt/dcaedt_general_service.html274
-rw-r--r--app/main/dashboard/dcaedt/dcaedt_general_vnf.html228
-rw-r--r--app/main/dashboard/dcaedt/dcaedt_import.html61
-rw-r--r--app/main/dashboard/dcaedt/dcaedt_self_serve.html74
-rw-r--r--app/main/dashboard/dcaedt/dcaedt_services.html79
-rw-r--r--app/main/dashboard/dcaedt/leftMenu.html22
-rw-r--r--app/main/dashboard/home/home.controller.js16
-rw-r--r--app/main/dashboard/home/home.html1
-rw-r--r--app/main/dashboard/home/home.less5
-rw-r--r--app/main/dashboard/home/home.module.js25
-rw-r--r--app/main/errors/404.html152
-rw-r--r--app/main/main.controller.js22
-rw-r--r--app/my-lib.js238
-rw-r--r--app/my-lib.js.map1
-rw-r--r--app/node.exe.stackdump7
-rw-r--r--app/prodHtml/index.html206
-rw-r--r--app/punch-outs.js16
-rw-r--r--app/robots.txt4
-rw-r--r--app/sdc-pubsub.js285
-rw-r--r--app/services/cache.service.js37
-rw-r--r--app/services/users.service.js33
-rw-r--r--app/sh.exe.stackdump7
-rw-r--r--app/styles/app.css25513
-rwxr-xr-xapp/styles/app.less23
-rw-r--r--app/styles/catalog.css223
-rw-r--r--app/styles/images/Add.pngbin0 -> 731 bytes
-rwxr-xr-xapp/styles/images/att_logo.pngbin0 -> 2827 bytes
-rw-r--r--app/styles/images/import.pngbin0 -> 409 bytes
-rw-r--r--app/styles/images/import.svg39
-rw-r--r--app/styles/images/sprites/sprite-global-old.pngbin0 -> 84465 bytes
-rw-r--r--app/styles/images/sprites/sprite-global.pngbin0 -> 83986 bytes
-rw-r--r--app/styles/images/sprites/sprite-product-icons.pngbin0 -> 132122 bytes
-rw-r--r--app/styles/images/sprites/sprite-resource-icons.pngbin0 -> 496742 bytes
-rw-r--r--app/styles/images/sprites/sprite-services-icons.pngbin0 -> 127233 bytes
-rw-r--r--app/styles/images/sprites/tlv-sprite.pngbin0 -> 14677 bytes
-rwxr-xr-xapp/styles/mixins.less217
-rw-r--r--app/styles/mixins_old.less555
-rw-r--r--app/styles/sdc.less18385
-rw-r--r--app/styles/sprite-resource-icons.less268
-rw-r--r--app/styles/sprite-services-icons.less66
-rwxr-xr-xapp/styles/sprite.less225
-rw-r--r--app/styles/tlv-sprite.less138
-rwxr-xr-xapp/styles/variables.less43
-rw-r--r--bower.json24
-rw-r--r--deploy.sh15
-rw-r--r--docker/chef-solo/cookbooks/dcae-dt/.gitignore20
-rw-r--r--docker/chef-solo/cookbooks/dcae-dt/.kitchen.yml16
-rw-r--r--docker/chef-solo/cookbooks/dcae-dt/README.md4
-rw-r--r--docker/chef-solo/cookbooks/dcae-dt/attributes/default.rb19
-rw-r--r--docker/chef-solo/cookbooks/dcae-dt/files/default/keystorebin0 -> 4255 bytes
-rw-r--r--docker/chef-solo/cookbooks/dcae-dt/files/default/truststorebin0 -> 4255 bytes
-rw-r--r--docker/chef-solo/cookbooks/dcae-dt/metadata.rb7
-rw-r--r--docker/chef-solo/cookbooks/dcae-dt/recipes/dcae_dt_setup.rb69
-rw-r--r--docker/chef-solo/cookbooks/dcae-dt/recipes/jetty_setup.rb86
-rw-r--r--docker/chef-solo/cookbooks/dcae-dt/templates/default/dcae-application.properties.erb4
-rw-r--r--docker/chef-solo/cookbooks/dcae-dt/templates/default/dcae-logback-spring.erb342
-rw-r--r--docker/chef-solo/cookbooks/dcae-dt/templates/default/http-ini.erb29
-rw-r--r--docker/chef-solo/cookbooks/dcae-dt/templates/default/https-ini.erb29
-rw-r--r--docker/chef-solo/cookbooks/dcae-dt/templates/default/ssl-ini.erb90
-rw-r--r--docker/chef-solo/environments/.keep0
-rw-r--r--docker/chef-solo/roles/dcae-dt.json18
-rw-r--r--docker/chef-solo/solo.json4
-rw-r--r--docker/chef-solo/solo.rb16
-rw-r--r--docker/scripts/set_dockerfile_and_pom.pl62
-rwxr-xr-xdocker/set_user.sh20
-rw-r--r--docker/startup.sh19
-rw-r--r--package-lock.json15372
-rw-r--r--package.json61
-rw-r--r--pom.xml445
-rw-r--r--run.sh9
-rw-r--r--src/main/java/org/onap/sdc/dcae/FeApp.java76
-rw-r--r--src/main/java/org/onap/sdc/dcae/controller/health/HealthController.java72
-rw-r--r--src/main/java/org/onap/sdc/dcae/controller/proxy/DcaeProxyOld.java164
-rw-r--r--src/test/org/onap/sdc/dcae/controller/proxy/DcaeProxyTest.java29
-rw-r--r--test/.jshintrc18
-rw-r--r--test/karma.conf.js76
-rw-r--r--test/spec/controllers/main.js23
-rw-r--r--webpack.config.js31
168 files changed, 100489 insertions, 0 deletions
diff --git a/.bowerrc b/.bowerrc
new file mode 100644
index 0000000..e98c83d
--- /dev/null
+++ b/.bowerrc
@@ -0,0 +1,5 @@
+{
+ "directory": "bower_components",
+ "proxy":"http://one.proxy.att.com:8080",
+ "https-proxy":"http://one.proxy.att.com:8080"
+}
diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000..1215de4
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,21 @@
+# EditorConfig helps developers define and maintain consistent
+# coding styles between different editors and IDEs
+# editorconfig.org
+
+root = true
+
+
+[*]
+
+# Change these settings to your own preference
+indent_style = space
+indent_size = 4
+
+# We recommend you to keep these unchanged
+end_of_line = lf
+charset = utf-8
+trim_trailing_whitespace = true
+insert_final_newline = true
+
+[*.md]
+trim_trailing_whitespace = false
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..9bd2ce8
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,34 @@
+.tmp/*
+.tmp_imploded/*
+bower_components/*
+app/bower_components/*
+node_modules/*
+dist/*
+.tmp_imploded/fonts/glyphicons-halflings-regular.svg
+app/app.env.js
+.project
+.idea/*
+.vscode/
+target/*
+.settings*
+.classpath
+/*.war
+/node/*
+/src/main/webapp/comp-fe/*
+/src/main/webapp/*.png
+/src/main/webapp/*
+!/src/main/webapp/META-INF/MANIFAST.MF
+!/src/main/webapp/WEB-INF/config/dcae-fe/*
+*.iml
+
+# intelij idea IDE
+*.iml
+
+
+# IDE - VSCode
+.vscode/*
+!.vscode/settings.json
+!.vscode/tasks.json
+!.vscode/launch.json
+!.vscode/extensions.json
+/target/
diff --git a/.maven-dockerignore b/.maven-dockerignore
new file mode 100644
index 0000000..07fa861
--- /dev/null
+++ b/.maven-dockerignore
@@ -0,0 +1 @@
+target/docker/
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..9c2fe6a
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,26 @@
+FROM dockercentral.it.att.com:5100/com.att.sdc/base_sdc-jetty:1.2.0-SNAPSHOT-latest
+
+COPY docker/chef-solo /var/opt/dcae-dt/chef-solo/
+
+COPY docker/startup.sh /var/opt/dcae-dt/
+
+ADD target/dcae-dt.war ${JETTY_BASE}/webapps/
+
+USER root
+
+RUN mkdir -p /opt/logs/dcae-dt
+
+COPY docker/set_user.sh /tmp/set_user.sh
+
+RUN sh -x /tmp/set_user.sh && rm -f /tmp/set_user.sh
+
+RUN chown -R jetty:jetty ${JETTY_BASE}/webapps /var/opt/dcae-dt /opt/logs /var/lib/jetty
+
+RUN chmod 770 /var/opt/dcae-dt/startup.sh
+
+EXPOSE 8186 9446
+
+USER jetty
+
+ENTRYPOINT [ "/var/opt/dcae-dt/startup.sh" ]
+
diff --git a/Gruntfile.js b/Gruntfile.js
new file mode 100644
index 0000000..d9d90d8
--- /dev/null
+++ b/Gruntfile.js
@@ -0,0 +1,644 @@
+// Generated on 2016-05-30 using generator-angular 0.15.1
+'use strict';
+
+// # Globbing for performance reasons we're only matching one level down:
+// 'test/spec/{,*/}*.js' use this if you want to recursively match all
+// subfolders: 'test/spec/**/*.js'
+
+module.exports = function (grunt) {
+
+ // Time how long tasks take. Can help when optimizing build times
+ require('time-grunt')(grunt);
+
+ // Automatically load required Grunt tasks
+ require('jit-grunt')(grunt, {
+ useminPrepare: 'grunt-usemin',
+ ngtemplates: 'grunt-angular-templates',
+ cdnify: 'grunt-google-cdn',
+ ngconstant: 'grunt-ng-constant',
+ mkdir: 'grunt-mkdir',
+ preprocess: 'grunt-preprocess'
+ });
+
+ // Configurable paths for the application
+ var appConfig = {
+ app: require('./bower.json').appPath || 'app',
+ tmp: {
+ exploded: '.tmp',
+ imploded: '.tmp_imploded'
+ },
+ dist: {
+ exploded: 'dist/exploded',
+ imploded: 'dist/imploded',
+ war: 'dist/war'
+ }
+ };
+
+ // Define the configuration for all the tasks
+ grunt.initConfig({
+
+ // Project settings
+ yeoman: appConfig,
+
+ // Watches files for changes and runs tasks based on the changed files
+ watch: {
+ bower: {
+ files: ['bower.json'],
+ tasks: ['wiredep']
+ },
+ js: {
+ files: ['<%= yeoman.app %>/main/{,*/}*.js'],
+ tasks: [
+ 'newer:jshint:all', 'newer:jscs:all'
+ ],
+ options: {
+ livereload: '<%= connect.options.livereload %>'
+ }
+ },
+ injector: {
+ files: [
+ 'app/styles/*.less', 'app/core/**/*.less', 'app/main/**/*.less'
+ ],
+ taskd: ['injector']
+ },
+ less: {
+ files: ['app/**/*.less'],
+ tasks: ['less:development'],
+ options: {
+ nospawn: true
+ }
+ },
+ styles: {
+ files: ['<%= yeoman.app %>/main/{,*/}*.css'],
+ tasks: ['newer:copy:styles', 'postcss']
+ },
+ gruntfile: {
+ files: ['Gruntfile.js']
+ },
+ options: {
+ livereload: true
+ },
+ livereload: {
+ options: {
+ livereload: '<%= connect.options.livereload %>'
+ },
+ files: ['<%= yeoman.app %>/{,*/}*.html', '<%= yeoman.app %>/styles/app.css', '<%= yeoman.app %>/styles/images/{,*/}*.{png,jpg,jpeg,gif,webp,svg}']
+ }
+ },
+
+ /*
+ concat: {
+ options: {
+ stripBanners: true
+ },
+ exploded: {
+ dest: '<%= yeoman.tmp.exploded %>'
+ }
+ },
+ */
+
+ ngconstant: {
+ // Options for all targets
+ options: {
+ space: ' ',
+ wrap: '"use strict";\n\n {\%= __ngModule %}',
+ name: 'dcaeApp.env'
+ },
+ // Environment targets
+ dev: {
+ options: {
+ dest: '<%= yeoman.app %>/app.env.js'
+ },
+ constants: {
+ ENV: {
+ name: 'development',
+ apiBase: 'http://localhost:8080/',
+ host: 'http://localhost:8446/',
+ catalogImport: '/comp-fe/',
+ catalogPrefix: 'http://localhost:8446',
+ cookieUser: 'ym903w',
+ ruleEditorUrl: 'http://localhost:4200'
+ }
+ }
+ },
+ exploded: {
+ options: {
+ dest: '<%= yeoman.app %>/app.env.js'
+ },
+ constants: {
+ ENV: {
+ name: 'production',
+ apiBase: '/dcae/dcaeProxyOld/',
+ host: '/dcae/dcaeProxyOld/',
+ catalogImport: '/dcae/comp-fe/',
+ catalogPrefix: '/dcae/dcaeProxyOld/',
+ cookieUser: 'le056g',
+ ruleEditorUrl: '/rule_engine'
+ }
+ }
+ }
+ },
+
+ // The actual grunt server settings
+ connect: {
+ options: {
+ port: 9000,
+ // Change this to '0.0.0.0' to access the server from outside.
+ hostname: 'localhost',
+ livereload: true
+ },
+ livereload: {
+ options: {
+ open: true,
+ middleware: function (connect) {
+ return [
+ //connect.static('.tmp'),
+ connect().use('/bower_components', connect.static('./bower_components')),
+ connect().use('/app/styles', connect.static('./app/styles')),
+ connect.static(appConfig.app)
+ ];
+ }
+ }
+ },
+ test: {
+ options: {
+ port: 9001,
+ middleware: function (connect) {
+ return [
+ connect.static('<%= yeoman.tmp.exploded %>'),
+ connect.static('test'),
+ connect().use('/bower_components', connect.static('./bower_components')),
+ connect.static(appConfig.app)
+ ];
+ }
+ }
+ },
+ exploded: {
+ options: {
+ open: true,
+ base: '<%= yeoman.dist.exploded %>'
+ }
+ }
+ },
+
+ // app.less contains all the less from all places, convert it to CSS
+ less: {
+ development: {
+ files: {
+ 'app/styles/app.css': 'app/styles/app.less'
+ }
+ },
+ production: {
+ files: {
+ '<%= yeoman.tmp.exploded %>/styles/app.css': 'app/styles/app.less'
+ }
+ }
+ },
+
+ injector: {
+ options: {},
+ // Inject all project less into app.less
+ less: {
+ options: {
+ transform: function (filePath) {
+ filePath = filePath.replace('/app/styles/', '../styles/');
+ filePath = filePath.replace('/app/main/', '../main/');
+ filePath = filePath.replace('/app/core/', '../core/');
+ return '@import \'' + filePath + '\';';
+ },
+ starttag: '// injector:less',
+ endtag: '// endinjector:less'
+ },
+ files: {
+ 'app/styles/app.less': ['app/styles/*.less', 'app/core/**/*.less', 'app/main/**/*.less', '!app/styles/app.less']
+ }
+ }
+ },
+
+ // Make sure there are no obvious mistakes
+ jshint: {
+ options: {
+ jshintrc: '.jshintrc',
+ reporter: require('jshint-stylish')
+ },
+ all: {
+ src: ['Gruntfile.js', '<%= yeoman.app %>/main/{,*/}*.js']
+ },
+ test: {
+ options: {
+ jshintrc: 'test/.jshintrc'
+ },
+ src: ['test/spec/{,*/}*.js']
+ }
+ },
+
+ // Make sure code styles are up to par
+ jscs: {
+ options: {
+ config: '.jscsrc',
+ verbose: true
+ },
+ all: {
+ src: ['Gruntfile.js', '<%= yeoman.app %>/main/{,*/}*.js']
+ },
+ test: {
+ src: ['test/spec/{,*/}*.js']
+ }
+ },
+
+ // Empties folders to start fresh
+ clean: {
+ exploded: {
+ files: [
+ {
+ dot: true,
+ src: ['<%= yeoman.tmp.exploded %>', '<%= yeoman.dist.exploded %>/{,*/}*', '!<%= yeoman.dist.exploded %>/.git{,*/}*']
+ }
+ ]
+ },
+ imploded: {
+ files: [
+ {
+ dot: true,
+ src: ['<%= yeoman.dist.imploded %>']
+ }
+ ]
+ },
+ html: {
+ files: [
+ {
+ dot: true,
+ src: ['<%= yeoman.dist.exploded %>/index.html']
+ }
+ ]
+ },
+ server: '<%= yeoman.tmp.exploded %>'
+ },
+
+ // Add vendor prefixed styles
+ postcss: {
+ options: {
+ processors: [require('autoprefixer-core')({browsers: ['last 1 version']})]
+ },
+ server: {
+ options: {
+ map: true
+ },
+ files: [
+ {
+ expand: true,
+ cwd: '<%= yeoman.tmp.exploded %>/styles/',
+ src: '{,*/}*.css',
+ dest: '<%= yeoman.tmp.exploded %>/styles/'
+ }
+ ]
+ },
+ exploded: {
+ files: [
+ {
+ expand: true,
+ cwd: '<%= yeoman.tmp.exploded %>/styles/',
+ src: '{,*/}*.css',
+ dest: '<%= yeoman.tmp.exploded %>/styles/'
+ }
+ ]
+ }
+ },
+
+ // Automatically inject Bower components into the app
+ wiredep: {
+ app: {
+ src: ['<%= yeoman.app %>/index.html'],
+ ignorePath: /\.\.\//
+ }
+ },
+
+ // Renames files for browser caching purposes
+ filerev: {
+ exploded: {
+ src: ['<%= yeoman.dist.exploded %>/scripts/{,*/}*.js', '<%= yeoman.dist.exploded %>/styles/{,*/}*.css', '<%= yeoman.dist.exploded %>/styles/images/{,*/}*.{png,jpg,jpeg,gif,webp,svg}', '<%= yeoman.dist.exploded %>/styles/fonts/*']
+ }
+ },
+
+ // Reads HTML for usemin blocks to enable smart builds that automatically
+ // concat, minify and revision files. Creates configurations in memory so
+ // additional tasks can operate on them
+ useminPrepare: {
+ html: '<%= yeoman.app %>/index.html',
+ options: {
+ dest: '<%= yeoman.dist.exploded %>',
+ flow: {
+ html: {
+ steps: {
+ js: [
+ 'concat', 'uglifyjs'
+ ],
+ css: ['cssmin']
+ },
+ post: {}
+ }
+ }
+ }
+ },
+
+ // Performs rewrites based on filerev and the useminPrepare configuration
+ usemin: {
+ html: ['<%= yeoman.dist.exploded %>/{,*/}*.html'],
+ css: ['<%= yeoman.dist.exploded %>/styles/{,*/}*.css'],
+ js: ['<%= yeoman.dist.exploded %>/scripts/{,*/}*.js'],
+ options: {
+ assetsDirs: [
+ '<%= yeoman.dist.exploded %>', '<%= yeoman.dist.exploded %>/styles/images', '<%= yeoman.dist.exploded %>/styles'
+ ],
+ patterns: {
+ js: [
+ [/(images\/[^''""]*\.(png|jpg|jpeg|gif|webp|svg))/g, 'Replacing references to images']
+ ]
+ }
+ }
+ },
+
+ imagemin: {
+ exploded: {
+ files: [
+ {
+ expand: true,
+ cwd: '<%= yeoman.app %>/styles/images',
+ src: '**/*.{png,jpg,jpeg,gif}',
+ dest: '<%= yeoman.dist.exploded %>/styles/images'
+ }
+ ]
+ }
+ },
+
+ svgmin: {
+ exploded: {
+ files: [
+ {
+ expand: true,
+ cwd: '<%= yeoman.app %>/styles/images',
+ src: '{,*/}*.svg',
+ dest: '<%= yeoman.dist.exploded %>/styles/images'
+ }
+ ]
+ }
+ },
+
+ htmlmin: {
+ exploded: {
+ options: {
+ collapseWhitespace: true,
+ conservativeCollapse: true,
+ collapseBooleanAttributes: true,
+ removeCommentsFromCDATA: true
+ },
+ files: [
+ {
+ expand: true,
+ cwd: '<%= yeoman.dist.exploded %>',
+ src: ['*.html'],
+ dest: '<%= yeoman.dist.exploded %>'
+ }
+ ]
+ }
+ },
+
+ ngtemplates: {
+ exploded: {
+ options: {
+ module: 'dcaeApp',
+ htmlmin: '<%= htmlmin.exploded.options %>',
+ usemin: 'scripts/scripts.js'
+ },
+ cwd: '<%= yeoman.app %>',
+ src: [
+ 'main/**/*.html', 'core/**/*.html', 'comp-fe/**/*.html'
+ ],
+ dest: '<%= yeoman.tmp.exploded %>/templateCache.js'
+ }
+ },
+
+ // ng-annotate tries to make the code safe for minification automatically by
+ // using the Angular long form for dependency injection.
+ ngAnnotate: {
+ exploded: {
+ files: [
+ {
+ expand: true,
+ cwd: '<%= yeoman.tmp.exploded %>/concat/scripts',
+ src: '*.js',
+ dest: '<%= yeoman.tmp.exploded %>/concat/scripts'
+ }
+ ]
+ }
+ },
+
+ // Replace Google CDN references
+ cdnify: {
+ exploded: {
+ html: ['<%= yeoman.dist.exploded %>/*.html']
+ }
+ },
+
+ // Copies remaining files to places other tasks can use
+ copy: {
+ exploded: {
+ files: [
+ {
+ expand: true,
+ dot: true,
+ cwd: '<%= yeoman.app %>',
+ dest: '<%= yeoman.dist.exploded %>',
+ src: ['*.{ico,png,txt}', '*.html', 'styles/images/{,*/}*.{webp}', 'styles/fonts/{,*/}*.*']
+ }, {
+ expand: true,
+ cwd: '<%= yeoman.tmp.exploded %>/images',
+ dest: '<%= yeoman.dist.exploded %>/styles/images',
+ src: ['generated/*']
+ }, {
+ expand: true,
+ cwd: 'bower_components/bootstrap/dist',
+ src: 'fonts/*',
+ dest: '<%= yeoman.dist.exploded %>'
+ }, {
+ expand: true,
+ cwd: '<%= yeoman.app %>',
+ src: ['WEB-INF/*'],
+ dest: '<%= yeoman.dist.exploded %>/'
+ }, {
+ expand: true,
+ cwd: '<%= yeoman.app %>',
+ src: ['dcae.xml'],
+ dest: '<%= yeoman.dist.exploded %>/'
+ }
+ ]
+ },
+ styles: {
+ expand: true,
+ cwd: '<%= yeoman.app %>/styles',
+ dest: '<%= yeoman.tmp.exploded %>/styles/',
+ src: '{,*/}*.css'
+ },
+ tmpImploded: {
+ expand: true,
+ cwd: '<%= yeoman.dist.exploded %>',
+ dest: '<%= yeoman.tmp.imploded %>',
+ src: '**/*'
+ },
+ copyComposition: {
+ expand: true,
+ cwd: '<%= yeoman.app %>',
+ dest: '<%= yeoman.dist.imploded %>',
+ src: 'comp-fe/**/*'
+ },
+ copyProject: {
+ expand: true,
+ cwd: '<%= yeoman.app %>',
+ dest: '<%= yeoman.dist.exploded %>',
+ src: ['**/*']
+ },
+ copyIndex: {
+ expand: true,
+ cwd: '<%= yeoman.app %>/prodHtml',
+ dest: '<%= yeoman.dist.exploded %>',
+ src: ['**/*']
+ },
+ copyComposition2: {
+ expand: true,
+ cwd: '<%= yeoman.app %>',
+ dest: '<%= yeoman.dist.exploded %>',
+ src: 'comp-fe/**/*'
+ },
+ imploded: {
+ expand: true,
+ cwd: '<%= yeoman.dist.exploded %>',
+ dest: '<%= yeoman.dist.imploded %>',
+ src: ['dcae.xml', 'WEB-INF/**']
+ }
+ },
+
+ // Run some tasks in parallel to speed up the build process
+ concurrent: {
+ server: [
+ 'less:development', 'copy:styles'
+ ],
+ test: ['copy:styles'],
+ exploded: [
+ 'less:production', 'copy:styles', 'imagemin', 'svgmin'
+ ],
+ style: ['less:production']
+ },
+
+ mkdir: {
+ all: {
+ options: {
+ create: ['<%= yeoman.dist.exploded %>/WEB-INF']
+ }
+ },
+ dist: {
+ options: {
+ create: ['<%= yeoman.dist %>']
+ }
+ },
+ imploded: {
+ options: {
+ create: ['<%= yeoman.dist.imploded %>', '<%= yeoman.tmp.imploded %>']
+ }
+ }
+ },
+
+ preprocess: {
+ options: {
+ inline: true,
+ context: {
+ DEBUG: false
+ }
+ },
+ /*html : {
+ src : [
+ '<%= yeoman.dist %>/index.html',
+ '<%= yeoman.dist %>/views/*.html'
+ ]
+ },*/
+ js: {
+ src: '<%= yeoman.tmp.exploded %>/concat/scripts/*.js'
+ }
+ }
+
+ });
+
+ grunt.registerTask('serve', 'Compile then start a connect web server', function (target) {
+ if (target === 'dist') {
+ return grunt
+ .task
+ .run(['build', 'connect:exploded:keepalive']);
+ }
+
+ grunt
+ .task
+ .run([
+ 'clean:server', // Delete .tmp folder
+ 'ngconstant:dev', // Configure constants
+ 'wiredep', // Automatically inject Bower components into the app
+ 'injector', // Inject the less files to app.less
+ 'concurrent:server', // Run some tasks in parallel to speed up the build process, need to see what the task run.
+ 'postcss:server', // Add vendor prefixed styles
+ 'connect:livereload',
+ 'watch'
+ ]);
+ });
+
+ grunt.registerTask('server', 'DEPRECATED TASK. Use the "serve" task instead', function (target) {
+ grunt
+ .log
+ .warn('The `server` task has been deprecated. Use `grunt serve` to start a server.');
+ grunt
+ .task
+ .run(['serve:' + target]);
+ });
+
+ grunt.registerTask('test', ['clean:server', 'wiredep', 'concurrent:test', 'postcss', 'connect:test']);
+
+ grunt.registerTask('build', [
+ 'clean:exploded',
+ 'ngconstant:exploded',
+ 'wiredep',
+ 'injector',
+ 'concurrent:exploded',
+ 'useminPrepare',
+ 'postcss',
+ 'ngtemplates',
+ 'concat',
+ 'preprocess:js',
+ 'ngAnnotate',
+ //'mkdir',
+ 'copy:exploded',
+ //'cdnify',
+ 'cssmin',
+ 'uglify',
+ 'mkdir:imploded',
+ 'clean:imploded',
+ 'copy:tmpImploded', // Copy the files before changing their names
+ 'copy:imploded', // Copy the WEB-INF folder and dcae.xml
+ 'filerev', // This will change the name of the files for caching.
+ 'usemin',
+ 'copy:copyComposition'
+ //'htmlmin'
+ ]);
+
+ grunt.registerTask('build2', [
+ 'clean:exploded',
+ 'ngconstant:exploded',
+ 'wiredep',
+ 'injector',
+ 'concurrent:style',
+ 'postcss',
+ // 'useminPrepare', 'postcss', 'ngtemplates', 'concat', 'preprocess:js',
+ // 'ngAnnotate', 'mkdir',
+ 'copy:copyProject',
+ 'clean:html',
+ 'copy:copyIndex'
+ ]);
+
+ grunt.registerTask('default', ['newer:jshint', 'newer:jscs', 'test', 'build']);
+};
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..a56fda6
--- /dev/null
+++ b/README.md
@@ -0,0 +1,29 @@
+# DCAE Designer FE
+
+
+## Java
+
+### Build
+Server: `mvn clean install –Pserver`
+
+Local: `mvn clean install -Plocal`
+
+### Run
+`mvn -Plocal spring-boot:run`
+
+### Build and Run locally
+`mvn clean install -Plocal spring-boot:run`
+
+
+## Javascript
+
+This project is generated with [yo angular generator](https://github.com/yeoman/generator-angular)
+version 0.15.1.
+
+### Setup
+After cloning project execute the following commands in the project directory:
+1. `npm run setup`
+
+### Build & development
+
+Run `npm run build` for building and `npm run run-local` for preview.
diff --git a/__test__/user-mapping.test.js b/__test__/user-mapping.test.js
new file mode 100644
index 0000000..8fdd613
--- /dev/null
+++ b/__test__/user-mapping.test.js
@@ -0,0 +1,41 @@
+var _ = require('underscore');
+
+var input = [];
+
+function monitoringTemplateProtocol(input) {
+ var nodeTypes = input;
+ if (nodeTypes.length < 2) {
+ if (nodeTypes[0] == 'FOI collector' || nodeTypes[0] == 'syslog') {
+ return nodeTypes[0];
+ } else {
+ return 'other';
+ }
+ } else {
+ var match = _.difference(nodeTypes, ["map", "enrich", "supplement"]);
+ return match.length > 0 ? 'other' : 'SNMP';
+ }
+}
+
+beforeEach(() => {
+ input = [];
+})
+
+test('should return FOI', () => {
+ input.push('FOI collector');
+ expect(monitoringTemplateProtocol(input)).toBe('FOI collector');
+})
+test('should return Syslog', () => {
+ input.push('syslog');
+ expect(monitoringTemplateProtocol(input)).toBe('syslog');
+})
+test('should return SNMP', () => {
+ input.push('map');
+ input.push('enrich');
+ input.push('supplement');
+ input = _.shuffle(input);
+ expect(monitoringTemplateProtocol(input)).toBe('SNMP');
+})
+test('should return other', () => {
+ input.push('west');
+ expect(monitoringTemplateProtocol(input)).toBe('other');
+})
diff --git a/app/VNF_List.json b/app/VNF_List.json
new file mode 100644
index 0000000..973e17f
--- /dev/null
+++ b/app/VNF_List.json
@@ -0,0 +1 @@
+[{"categories":[{"name":"Generic","normalizedName":"generic","uniqueId":"resourceNewCategory.generic","subcategories":[{"name":"Network Elements","normalizedName":"network elements","uniqueId":"resourceNewCategory.generic.network elements","icons":["network","connector"]}]}],"componentType":"RESOURCE","capabilities":{"tosca.capabilities.Node":[{"uniqueId":"capability.f1086d06-92ab-4ab8-9565-5aa1118ed76d.feature","name":"feature","type":"tosca.capabilities.Node","capabilitySources":["com.att.d2.resource.cp.nodes.heat.contrailV2.VirtualMachineInterface","tosca.nodes.network.Port","tosca.nodes.Root"],"properties":[],"ownerId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}]},"requirements":{"tosca.capabilities.Node":[{"uniqueId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d.dependency","name":"dependency","capability":"tosca.capabilities.Node","node":"tosca.nodes.Root","relationship":"tosca.relationships.DependsOn","ownerId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d","minOccurrences":"0","maxOccurrences":"UNBOUNDED"}],"tosca.capabilities.network.Bindable":[{"uniqueId":"d9155aa5-4b34-4389-ad93-273ca975ff5c.binding","name":"binding","capability":"tosca.capabilities.network.Bindable","relationship":"tosca.relationships.network.BindsTo","ownerId":"d9155aa5-4b34-4389-ad93-273ca975ff5c","minOccurrences":"1","maxOccurrences":"1"}],"tosca.capabilities.network.Linkable":[{"uniqueId":"d9155aa5-4b34-4389-ad93-273ca975ff5c.link","name":"link","capability":"tosca.capabilities.network.Linkable","relationship":"tosca.relationships.network.LinksTo","ownerId":"d9155aa5-4b34-4389-ad93-273ca975ff5c","minOccurrences":"1","maxOccurrences":"1"}]},"abstract":false,"resourceType":"VFC","toscaResourceName":"com.att.d2.resource.cp.nodes.heat.contrailV2.VirtualMachineInterface","vendorName":"ATT (Tosca)","vendorRelease":"1.0.0.wd03","version":"1.0","icon":"network","description":"Represents a network interface. The interfaces are defined with specific MAC addresses and ports.","tags":["ContrailV2VirtualMachineInterface"],"allVersions":{"1.0":"68d6a493-0cba-4b20-ae0e-339608f21702"},"uniqueId":"68d6a493-0cba-4b20-ae0e-339608f21702","invariantUUID":"c3eec7ee-fa43-4297-a5c6-156b5bdaf5c3","highestVersion":true,"systemName":"Contrailv2virtualmachineinterface","uuid":"b9df9b1c-56d0-47dc-a0bf-56ca03d2e08f","lifecycleState":"CERTIFIED","name":"ContrailV2VirtualMachineInterface"},{"categories":[{"name":"Generic","normalizedName":"generic","uniqueId":"resourceNewCategory.generic","subcategories":[{"name":"Infrastructure","normalizedName":"infrastructure","uniqueId":"resourceNewCategory.generic.infrastructure","icons":["connector"]}]}],"componentType":"RESOURCE","capabilities":{"tosca.capabilities.Node":[{"uniqueId":"capability.f1086d06-92ab-4ab8-9565-5aa1118ed76d.feature","name":"feature","type":"tosca.capabilities.Node","capabilitySources":["tosca.nodes.LoadBalancer","tosca.nodes.Root"],"properties":[],"ownerId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}],"tosca.capabilities.Endpoint.Public":[{"uniqueId":"capability.83d96c94-694c-4e36-a57d-6b795f511d52.client","name":"client","type":"tosca.capabilities.Endpoint.Public","capabilitySources":["tosca.nodes.LoadBalancer","tosca.nodes.Root"],"properties":[{"uniqueId":"tosca.capabilities.Endpoint.port_name","type":"string","required":false,"definition":false,"password":false,"name":"port_name","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.protocol","type":"string","required":false,"definition":false,"defaultValue":"tcp","password":false,"name":"protocol","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.port","type":"PortDef","required":false,"definition":false,"password":false,"name":"port","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.Public.floating","type":"boolean","required":false,"definition":false,"defaultValue":"false","description":"indicates that the public address should be allocated from a pool of floating IPs that are associated with the network.\n","password":false,"name":"floating","parentUniqueId":"tosca.capabilities.Endpoint.Public"},{"uniqueId":"tosca.capabilities.Endpoint.initiator","type":"string","required":false,"definition":false,"defaultValue":"source","password":false,"constraints":[{"validValues":["source","target","peer"]}],"name":"initiator","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.Public.network_name","required":false,"definition":false,"defaultValue":"PUBLIC","password":false,"name":"network_name","parentUniqueId":"tosca.capabilities.Endpoint.Public"},{"uniqueId":"tosca.capabilities.Endpoint.secure","type":"boolean","required":false,"definition":false,"defaultValue":"false","password":false,"name":"secure","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.ports","type":"map","required":false,"definition":false,"schema":{"property":{"type":"PortSpec","required":false,"definition":true,"password":false}},"password":false,"constraints":[{}],"name":"ports","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.Public.dns_name","type":"string","required":false,"definition":false,"description":"The optional name to register with DNS","password":false,"name":"dns_name","parentUniqueId":"tosca.capabilities.Endpoint.Public"},{"uniqueId":"tosca.capabilities.Endpoint.url_path","type":"string","required":false,"definition":false,"password":false,"name":"url_path","parentUniqueId":"tosca.capabilities.Endpoint"}],"ownerId":"83d96c94-694c-4e36-a57d-6b795f511d52","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}]},"requirements":{"tosca.capabilities.Endpoint":[{"uniqueId":"83d96c94-694c-4e36-a57d-6b795f511d52.application","name":"application","capability":"tosca.capabilities.Endpoint","relationship":"tosca.relationships.RoutesTo","ownerId":"83d96c94-694c-4e36-a57d-6b795f511d52","minOccurrences":"1","maxOccurrences":"1"}],"tosca.capabilities.Node":[{"uniqueId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d.dependency","name":"dependency","capability":"tosca.capabilities.Node","node":"tosca.nodes.Root","relationship":"tosca.relationships.DependsOn","ownerId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d","minOccurrences":"0","maxOccurrences":"UNBOUNDED"}]},"abstract":false,"resourceType":"VFC","toscaResourceName":"tosca.nodes.LoadBalancer","vendorName":"ATT (Tosca)","vendorRelease":"1.0.0.wd03","version":"1.0","icon":"loadBalancer","description":"Represents logical function that be used in conjunction with a Floating Address to distribute an applications traffic (load) across a number of instances of the application (e.g., for a clustered or scaled application).","tags":["LoadBalancer"],"allVersions":{"1.0":"83d96c94-694c-4e36-a57d-6b795f511d52"},"uniqueId":"83d96c94-694c-4e36-a57d-6b795f511d52","invariantUUID":"b81bd65f-ebee-4af4-8d85-22f6e9b46081","highestVersion":true,"systemName":"Loadbalancer","uuid":"b8f31045-bac3-4332-87a0-06be09d628ee","lifecycleState":"CERTIFIED","name":"LoadBalancer"},{"categories":[{"name":"Generic","normalizedName":"generic","uniqueId":"resourceNewCategory.generic","subcategories":[{"name":"Database","normalizedName":"database","uniqueId":"resourceNewCategory.generic.database","icons":["database"]}]}],"componentType":"RESOURCE","capabilities":{"tosca.capabilities.Node":[{"uniqueId":"capability.f1086d06-92ab-4ab8-9565-5aa1118ed76d.feature","name":"feature","type":"tosca.capabilities.Node","capabilitySources":["tosca.nodes.Database","tosca.nodes.Root"],"properties":[],"ownerId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}],"tosca.capabilities.Endpoint.Database":[{"uniqueId":"capability.64740fbf-2aff-4c5e-9a40-b5b52ad3192c.database_endpoint","name":"database_endpoint","type":"tosca.capabilities.Endpoint.Database","capabilitySources":["tosca.nodes.Database","tosca.nodes.Root"],"properties":[{"uniqueId":"tosca.capabilities.Endpoint.port_name","type":"string","required":false,"definition":false,"password":false,"name":"port_name","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.protocol","type":"string","required":false,"definition":false,"defaultValue":"tcp","password":false,"name":"protocol","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.port","type":"PortDef","required":false,"definition":false,"password":false,"name":"port","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.initiator","type":"string","required":false,"definition":false,"defaultValue":"source","password":false,"constraints":[{"validValues":["source","target","peer"]}],"name":"initiator","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.network_name","type":"string","required":false,"definition":false,"defaultValue":"PRIVATE","password":false,"name":"network_name","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.ports","type":"map","required":false,"definition":false,"schema":{"property":{"type":"PortSpec","required":false,"definition":true,"password":false}},"password":false,"constraints":[{}],"name":"ports","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.secure","type":"boolean","required":false,"definition":false,"defaultValue":"false","password":false,"name":"secure","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.url_path","type":"string","required":false,"definition":false,"password":false,"name":"url_path","parentUniqueId":"tosca.capabilities.Endpoint"}],"ownerId":"64740fbf-2aff-4c5e-9a40-b5b52ad3192c","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}]},"requirements":{"tosca.capabilities.Node":[{"uniqueId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d.dependency","name":"dependency","capability":"tosca.capabilities.Node","node":"tosca.nodes.Root","relationship":"tosca.relationships.DependsOn","ownerId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d","minOccurrences":"0","maxOccurrences":"UNBOUNDED"}],"tosca.capabilities.Container":[{"uniqueId":"64740fbf-2aff-4c5e-9a40-b5b52ad3192c.host","name":"host","capability":"tosca.capabilities.Container","node":"tosca.nodes.DBMS","relationship":"tosca.relationships.HostedOn","ownerId":"64740fbf-2aff-4c5e-9a40-b5b52ad3192c","minOccurrences":"1","maxOccurrences":"1"}]},"abstract":false,"resourceType":"VFC","toscaResourceName":"tosca.nodes.Database","vendorName":"ATT (Tosca)","vendorRelease":"1.0.0.wd03","version":"1.0","icon":"defaulticon","description":"Represents a logical database that can be managed and hosted by a DBMS node.","tags":["Database"],"allVersions":{"1.0":"64740fbf-2aff-4c5e-9a40-b5b52ad3192c"},"uniqueId":"64740fbf-2aff-4c5e-9a40-b5b52ad3192c","invariantUUID":"c260600f-3c16-4827-8fda-4771fefaef88","highestVersion":true,"systemName":"Database","uuid":"079d2d89-a65a-45e1-ac57-1a54d1381b07","lifecycleState":"CERTIFIED","name":"Database"},{"categories":[{"name":"Network Connectivity","normalizedName":"network connectivity","uniqueId":"resourceNewCategory.network connectivity","subcategories":[{"name":"Virtual Links","normalizedName":"virtual links","uniqueId":"resourceNewCategory.network connectivity.virtual links","icons":["vl"]}]}],"componentType":"RESOURCE","capabilities":{"tosca.capabilities.Node":[{"uniqueId":"capability.f1086d06-92ab-4ab8-9565-5aa1118ed76d.feature","name":"feature","type":"tosca.capabilities.Node","capabilitySources":["com.att.d2.resource.vl.VL","tosca.nodes.network.Network","tosca.nodes.Root"],"properties":[],"ownerId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}],"tosca.capabilities.Endpoint":[{"uniqueId":"capability.9ac40e15-9b54-4681-b7a9-df4942c88fe9.end_point","name":"end_point","type":"tosca.capabilities.Endpoint","capabilitySources":["com.att.d2.resource.vl.VL","tosca.nodes.network.Network","tosca.nodes.Root"],"properties":[{"uniqueId":"tosca.capabilities.Endpoint.port_name","type":"string","required":false,"definition":false,"password":false,"name":"port_name","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.protocol","type":"string","required":false,"definition":false,"defaultValue":"tcp","password":false,"name":"protocol","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.port","type":"PortDef","required":false,"definition":false,"password":false,"name":"port","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.initiator","type":"string","required":false,"definition":false,"defaultValue":"source","password":false,"constraints":[{"validValues":["source","target","peer"]}],"name":"initiator","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.network_name","type":"string","required":false,"definition":false,"defaultValue":"PRIVATE","password":false,"name":"network_name","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.ports","type":"map","required":false,"definition":false,"schema":{"property":{"type":"PortSpec","required":false,"definition":true,"password":false}},"password":false,"constraints":[{}],"name":"ports","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.secure","type":"boolean","required":false,"definition":false,"defaultValue":"false","password":false,"name":"secure","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.url_path","type":"string","required":false,"definition":false,"password":false,"name":"url_path","parentUniqueId":"tosca.capabilities.Endpoint"}],"ownerId":"9ac40e15-9b54-4681-b7a9-df4942c88fe9","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}],"tosca.capabilities.network.Linkable":[{"uniqueId":"capability.9ac40e15-9b54-4681-b7a9-df4942c88fe9.virtual_linkable","name":"virtual_linkable","type":"tosca.capabilities.network.Linkable","capabilitySources":["com.att.d2.resource.vl.VL","tosca.nodes.network.Network","tosca.nodes.Root"],"properties":[],"ownerId":"9ac40e15-9b54-4681-b7a9-df4942c88fe9","minOccurrences":"1","maxOccurrences":"UNBOUNDED"},{"uniqueId":"capability.beb1c610-9ab1-4187-b0ef-b2cfe2c077cb.link","name":"link","type":"tosca.capabilities.network.Linkable","capabilitySources":["com.att.d2.resource.vl.VL","tosca.nodes.network.Network","tosca.nodes.Root"],"properties":[],"ownerId":"beb1c610-9ab1-4187-b0ef-b2cfe2c077cb","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}]},"requirements":{"tosca.capabilities.Node":[{"uniqueId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d.dependency","name":"dependency","capability":"tosca.capabilities.Node","node":"tosca.nodes.Root","relationship":"tosca.relationships.DependsOn","ownerId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d","minOccurrences":"0","maxOccurrences":"UNBOUNDED"}]},"abstract":false,"resourceType":"VL","toscaResourceName":"com.att.d2.resource.vl.VL","vendorName":"ATT (Tosca)","vendorRelease":"1.0.0.wd03","version":"1.0","icon":"network","description":" Virtual link (VL) describes the basic topology of the connectivity as well as other required parameters (e.g. bandwidth and QoS class). ","tags":["VL"],"allVersions":{"1.0":"9ac40e15-9b54-4681-b7a9-df4942c88fe9"},"uniqueId":"9ac40e15-9b54-4681-b7a9-df4942c88fe9","invariantUUID":"9eba5e83-43ca-4906-a372-58747469ca40","highestVersion":true,"systemName":"Vl","uuid":"912ed6a3-b19f-4a6e-bee3-23b2894d727b","lifecycleState":"CERTIFIED","name":"VL"},{"categories":[{"name":"Network Connectivity","normalizedName":"network connectivity","uniqueId":"resourceNewCategory.network connectivity","subcategories":[{"name":"Virtual Links","normalizedName":"virtual links","uniqueId":"resourceNewCategory.network connectivity.virtual links","icons":["vl"]}]}],"componentType":"RESOURCE","capabilities":{"tosca.capabilities.Node":[{"uniqueId":"capability.f1086d06-92ab-4ab8-9565-5aa1118ed76d.feature","name":"feature","type":"tosca.capabilities.Node","capabilitySources":["com.att.d2.resource.vl.ELine","com.att.d2.resource.vl.VL","tosca.nodes.network.Network","tosca.nodes.Root"],"properties":[],"ownerId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}],"tosca.capabilities.Endpoint":[{"uniqueId":"capability.9ac40e15-9b54-4681-b7a9-df4942c88fe9.end_point","name":"end_point","type":"tosca.capabilities.Endpoint","capabilitySources":["com.att.d2.resource.vl.ELine","com.att.d2.resource.vl.VL","tosca.nodes.network.Network","tosca.nodes.Root"],"properties":[{"uniqueId":"tosca.capabilities.Endpoint.port_name","type":"string","required":false,"definition":false,"password":false,"name":"port_name","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.protocol","type":"string","required":false,"definition":false,"defaultValue":"tcp","password":false,"name":"protocol","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.port","type":"PortDef","required":false,"definition":false,"password":false,"name":"port","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.initiator","type":"string","required":false,"definition":false,"defaultValue":"source","password":false,"constraints":[{"validValues":["source","target","peer"]}],"name":"initiator","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.network_name","type":"string","required":false,"definition":false,"defaultValue":"PRIVATE","password":false,"name":"network_name","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.ports","type":"map","required":false,"definition":false,"schema":{"property":{"type":"PortSpec","required":false,"definition":true,"password":false}},"password":false,"constraints":[{}],"name":"ports","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.secure","type":"boolean","required":false,"definition":false,"defaultValue":"false","password":false,"name":"secure","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.url_path","type":"string","required":false,"definition":false,"password":false,"name":"url_path","parentUniqueId":"tosca.capabilities.Endpoint"}],"ownerId":"9ac40e15-9b54-4681-b7a9-df4942c88fe9","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}],"tosca.capabilities.network.Linkable":[{"uniqueId":"capability.2b1ffc78-2730-4ea3-8ca5-a5c24669fac3.virtual_linkable","name":"virtual_linkable","type":"tosca.capabilities.network.Linkable","capabilitySources":["com.att.d2.resource.vl.ELine","com.att.d2.resource.vl.VL","tosca.nodes.network.Network","tosca.nodes.Root"],"properties":[],"ownerId":"2b1ffc78-2730-4ea3-8ca5-a5c24669fac3","minOccurrences":"0","maxOccurrences":"2"},{"uniqueId":"capability.beb1c610-9ab1-4187-b0ef-b2cfe2c077cb.link","name":"link","type":"tosca.capabilities.network.Linkable","capabilitySources":["com.att.d2.resource.vl.ELine","com.att.d2.resource.vl.VL","tosca.nodes.network.Network","tosca.nodes.Root"],"properties":[],"ownerId":"beb1c610-9ab1-4187-b0ef-b2cfe2c077cb","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}]},"requirements":{"tosca.capabilities.Node":[{"uniqueId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d.dependency","name":"dependency","capability":"tosca.capabilities.Node","node":"tosca.nodes.Root","relationship":"tosca.relationships.DependsOn","ownerId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d","minOccurrences":"0","maxOccurrences":"UNBOUNDED"}]},"abstract":false,"resourceType":"VFC","toscaResourceName":"com.att.d2.resource.vl.ELine","vendorName":"ATT (Tosca)","vendorRelease":"1.0.0.wd03","version":"1.0","icon":"network","description":"Thenode represents an E-Line virtual link entity.","tags":["VL ELINE"],"allVersions":{"1.0":"2b1ffc78-2730-4ea3-8ca5-a5c24669fac3"},"uniqueId":"2b1ffc78-2730-4ea3-8ca5-a5c24669fac3","invariantUUID":"3cfb7b78-94f1-4f75-8919-eaff5e00c4b1","highestVersion":true,"systemName":"VlEline","uuid":"f76221fd-c8d8-415f-9a0b-f7b38367468a","lifecycleState":"CERTIFIED","name":"VL ELINE"},{"categories":[{"name":"Generic","normalizedName":"generic","uniqueId":"resourceNewCategory.generic","subcategories":[{"name":"Network Elements","normalizedName":"network elements","uniqueId":"resourceNewCategory.generic.network elements","icons":["network","connector"]}]}],"componentType":"RESOURCE","capabilities":{"tosca.capabilities.Node":[{"uniqueId":"capability.f1086d06-92ab-4ab8-9565-5aa1118ed76d.feature","name":"feature","type":"tosca.capabilities.Node","capabilitySources":["com.att.d2.resource.vl.nodes.heat.network.contrail.VirtualNetwork","tosca.nodes.network.Network","tosca.nodes.Root"],"properties":[],"ownerId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}],"tosca.capabilities.network.Linkable":[{"uniqueId":"capability.beb1c610-9ab1-4187-b0ef-b2cfe2c077cb.link","name":"link","type":"tosca.capabilities.network.Linkable","capabilitySources":["com.att.d2.resource.vl.nodes.heat.network.contrail.VirtualNetwork","tosca.nodes.network.Network","tosca.nodes.Root"],"properties":[],"ownerId":"beb1c610-9ab1-4187-b0ef-b2cfe2c077cb","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}]},"requirements":{"tosca.capabilities.Node":[{"uniqueId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d.dependency","name":"dependency","capability":"tosca.capabilities.Node","node":"tosca.nodes.Root","relationship":"tosca.relationships.DependsOn","ownerId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d","minOccurrences":"0","maxOccurrences":"UNBOUNDED"}]},"abstract":false,"resourceType":"VL","toscaResourceName":"com.att.d2.resource.vl.nodes.heat.network.contrail.VirtualNetwork","vendorName":"ATT (Tosca)","vendorRelease":"1.0.0.wd03","version":"1.0","icon":"network","description":"Represents a network service with optional subnets and advanced configurations.","tags":["ContrailVirtualNetwork"],"allVersions":{"1.0":"9032003c-75b5-41be-ac10-196928bdeadd"},"uniqueId":"9032003c-75b5-41be-ac10-196928bdeadd","invariantUUID":"de5a5448-4b9f-4401-ada5-18f80119cbe1","highestVersion":true,"systemName":"Contrailvirtualnetwork","uuid":"9d5c9e8b-5f66-4bf8-ac7a-0d4db8a61028","lifecycleState":"CERTIFIED","name":"ContrailVirtualNetwork"},{"categories":[{"name":"Generic","normalizedName":"generic","uniqueId":"resourceNewCategory.generic","subcategories":[{"name":"Network Elements","normalizedName":"network elements","uniqueId":"resourceNewCategory.generic.network elements","icons":["network","connector"]}]}],"componentType":"RESOURCE","capabilities":{"tosca.capabilities.Node":[{"uniqueId":"capability.f1086d06-92ab-4ab8-9565-5aa1118ed76d.feature","name":"feature","type":"tosca.capabilities.Node","capabilitySources":["com.att.d2.resource.vl.nodes.heat.network.neutron.Net","tosca.nodes.network.Network","tosca.nodes.Root"],"properties":[],"ownerId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}],"tosca.capabilities.network.Linkable":[{"uniqueId":"capability.beb1c610-9ab1-4187-b0ef-b2cfe2c077cb.link","name":"link","type":"tosca.capabilities.network.Linkable","capabilitySources":["com.att.d2.resource.vl.nodes.heat.network.neutron.Net","tosca.nodes.network.Network","tosca.nodes.Root"],"properties":[],"ownerId":"beb1c610-9ab1-4187-b0ef-b2cfe2c077cb","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}]},"requirements":{"tosca.capabilities.Node":[{"uniqueId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d.dependency","name":"dependency","capability":"tosca.capabilities.Node","node":"tosca.nodes.Root","relationship":"tosca.relationships.DependsOn","ownerId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d","minOccurrences":"0","maxOccurrences":"UNBOUNDED"}]},"abstract":false,"resourceType":"VL","toscaResourceName":"com.att.d2.resource.vl.nodes.heat.network.neutron.Net","vendorName":"ATT (Tosca)","vendorRelease":"1.0.0.wd03","version":"1.0","icon":"network","description":"Represents a network service with optional subnets and advanced configurations.","tags":["NeutronNet"],"allVersions":{"1.0":"6146f136-b9fd-46d2-b6d4-ecb3744f4b4a"},"uniqueId":"6146f136-b9fd-46d2-b6d4-ecb3744f4b4a","invariantUUID":"b5c51697-409f-4622-995e-f76a8a32d241","highestVersion":true,"systemName":"Neutronnet","uuid":"a2532042-193f-4c45-9611-07dd14977e57","lifecycleState":"CERTIFIED","name":"NeutronNet"},{"categories":[{"name":"Generic","normalizedName":"generic","uniqueId":"resourceNewCategory.generic","subcategories":[{"name":"Network Elements","normalizedName":"network elements","uniqueId":"resourceNewCategory.generic.network elements","icons":["network","connector"]}]}],"componentType":"RESOURCE","capabilities":{"tosca.capabilities.Node":[{"uniqueId":"capability.f1086d06-92ab-4ab8-9565-5aa1118ed76d.feature","name":"feature","type":"tosca.capabilities.Node","capabilitySources":["tosca.nodes.network.Port","tosca.nodes.Root"],"properties":[],"ownerId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}]},"requirements":{"tosca.capabilities.Node":[{"uniqueId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d.dependency","name":"dependency","capability":"tosca.capabilities.Node","node":"tosca.nodes.Root","relationship":"tosca.relationships.DependsOn","ownerId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d","minOccurrences":"0","maxOccurrences":"UNBOUNDED"}],"tosca.capabilities.network.Bindable":[{"uniqueId":"d9155aa5-4b34-4389-ad93-273ca975ff5c.binding","name":"binding","capability":"tosca.capabilities.network.Bindable","relationship":"tosca.relationships.network.BindsTo","ownerId":"d9155aa5-4b34-4389-ad93-273ca975ff5c","minOccurrences":"1","maxOccurrences":"1"}],"tosca.capabilities.network.Linkable":[{"uniqueId":"d9155aa5-4b34-4389-ad93-273ca975ff5c.link","name":"link","capability":"tosca.capabilities.network.Linkable","relationship":"tosca.relationships.network.LinksTo","ownerId":"d9155aa5-4b34-4389-ad93-273ca975ff5c","minOccurrences":"1","maxOccurrences":"1"}]},"abstract":false,"resourceType":"CP","toscaResourceName":"tosca.nodes.network.Port","vendorName":"ATT (Tosca)","vendorRelease":"1.0.0.wd03","version":"1.0","icon":"port","description":"Represents a logical entity that associates between Compute and Network normative types.","tags":["Port"],"allVersions":{"1.0":"d9155aa5-4b34-4389-ad93-273ca975ff5c"},"uniqueId":"d9155aa5-4b34-4389-ad93-273ca975ff5c","invariantUUID":"3912d7d0-3f29-461f-8ff1-98ffa9897fbb","highestVersion":true,"systemName":"Port","uuid":"dc904303-9a3a-4ccc-aeaa-81dad91a63c2","lifecycleState":"CERTIFIED","name":"Port"},{"categories":[{"name":"Generic","normalizedName":"generic","uniqueId":"resourceNewCategory.generic","subcategories":[{"name":"Network Elements","normalizedName":"network elements","uniqueId":"resourceNewCategory.generic.network elements","icons":["network","connector"]}]}],"componentType":"RESOURCE","capabilities":{"tosca.capabilities.Node":[{"uniqueId":"capability.f1086d06-92ab-4ab8-9565-5aa1118ed76d.feature","name":"feature","type":"tosca.capabilities.Node","capabilitySources":["com.att.d2.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork","tosca.nodes.network.Network","tosca.nodes.Root"],"properties":[],"ownerId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}],"tosca.capabilities.network.Linkable":[{"uniqueId":"capability.beb1c610-9ab1-4187-b0ef-b2cfe2c077cb.link","name":"link","type":"tosca.capabilities.network.Linkable","capabilitySources":["com.att.d2.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork","tosca.nodes.network.Network","tosca.nodes.Root"],"properties":[],"ownerId":"beb1c610-9ab1-4187-b0ef-b2cfe2c077cb","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}],"tosca.capabilities.Attachment":[{"uniqueId":"capability.463022c0-556e-4e1d-b44b-cdf734e609b6.attachment","name":"attachment","type":"tosca.capabilities.Attachment","capabilitySources":["com.att.d2.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork","tosca.nodes.network.Network","tosca.nodes.Root"],"properties":[],"ownerId":"463022c0-556e-4e1d-b44b-cdf734e609b6","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}]},"requirements":{"tosca.capabilities.Node":[{"uniqueId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d.dependency","name":"dependency","capability":"tosca.capabilities.Node","node":"tosca.nodes.Root","relationship":"tosca.relationships.DependsOn","ownerId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d","minOccurrences":"0","maxOccurrences":"UNBOUNDED"}]},"abstract":false,"resourceType":"VL","toscaResourceName":"com.att.d2.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork","vendorName":"ATT (Tosca)","vendorRelease":"1.0.0.wd03","version":"1.0","icon":"network","description":"Represents a network service with optional subnets and advanced configurations for contrail V2.","tags":["ContrailV2VirtualNetwork"],"allVersions":{"1.0":"463022c0-556e-4e1d-b44b-cdf734e609b6"},"uniqueId":"463022c0-556e-4e1d-b44b-cdf734e609b6","invariantUUID":"8b2119d7-d9c6-4342-a116-10a2c0672b9d","highestVersion":true,"systemName":"Contrailv2virtualnetwork","uuid":"10db5e25-dfe9-4df5-aff1-04d789da6040","lifecycleState":"CERTIFIED","name":"ContrailV2VirtualNetwork"},{"categories":[{"name":"Generic","normalizedName":"generic","uniqueId":"resourceNewCategory.generic","subcategories":[{"name":"Infrastructure","normalizedName":"infrastructure","uniqueId":"resourceNewCategory.generic.infrastructure","icons":["connector"]}]}],"componentType":"RESOURCE","capabilities":{"tosca.capabilities.Node":[{"uniqueId":"capability.f1086d06-92ab-4ab8-9565-5aa1118ed76d.feature","name":"feature","type":"tosca.capabilities.Node","capabilitySources":["com.att.d2.resource.vfc.nodes.heat.cinder.Volume","tosca.nodes.BlockStorage","tosca.nodes.Root"],"properties":[],"ownerId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}],"tosca.capabilities.Attachment":[{"uniqueId":"capability.918d4e2a-4f52-40b6-b6e3-e0fccd9bd88d.attachment","name":"attachment","type":"tosca.capabilities.Attachment","capabilitySources":["com.att.d2.resource.vfc.nodes.heat.cinder.Volume","tosca.nodes.BlockStorage","tosca.nodes.Root"],"properties":[],"ownerId":"918d4e2a-4f52-40b6-b6e3-e0fccd9bd88d","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}]},"requirements":{"tosca.capabilities.Node":[{"uniqueId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d.dependency","name":"dependency","capability":"tosca.capabilities.Node","node":"tosca.nodes.Root","relationship":"tosca.relationships.DependsOn","ownerId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d","minOccurrences":"0","maxOccurrences":"UNBOUNDED"}]},"abstract":false,"resourceType":"VFC","toscaResourceName":"com.att.d2.resource.vfc.nodes.heat.cinder.Volume","vendorName":"ATT (Tosca)","vendorRelease":"1.0.0.wd03","version":"1.0","icon":"objectStorage","description":"Represents a server-local block storage device that provides persistent storage to guest virtual machines. ","tags":["CinderVolume"],"allVersions":{"1.0":"0a8fad75-58d8-4a02-ad5a-71c44bcef002"},"uniqueId":"0a8fad75-58d8-4a02-ad5a-71c44bcef002","invariantUUID":"cc646996-be13-4e13-9bb0-d89acbc23fe5","highestVersion":true,"systemName":"Cindervolume","uuid":"c43afcf2-a4ad-462f-986f-7c1a4c37aa33","lifecycleState":"CERTIFIED","name":"CinderVolume"},{"categories":[{"name":"Generic","normalizedName":"generic","uniqueId":"resourceNewCategory.generic","subcategories":[{"name":"Infrastructure","normalizedName":"infrastructure","uniqueId":"resourceNewCategory.generic.infrastructure","icons":["connector"]}]}],"componentType":"RESOURCE","capabilities":{"tosca.capabilities.Node":[{"uniqueId":"capability.f1086d06-92ab-4ab8-9565-5aa1118ed76d.feature","name":"feature","type":"tosca.capabilities.Node","capabilitySources":["tosca.nodes.BlockStorage","tosca.nodes.Root"],"properties":[],"ownerId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}],"tosca.capabilities.Attachment":[{"uniqueId":"capability.918d4e2a-4f52-40b6-b6e3-e0fccd9bd88d.attachment","name":"attachment","type":"tosca.capabilities.Attachment","capabilitySources":["tosca.nodes.BlockStorage","tosca.nodes.Root"],"properties":[],"ownerId":"918d4e2a-4f52-40b6-b6e3-e0fccd9bd88d","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}]},"requirements":{"tosca.capabilities.Node":[{"uniqueId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d.dependency","name":"dependency","capability":"tosca.capabilities.Node","node":"tosca.nodes.Root","relationship":"tosca.relationships.DependsOn","ownerId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d","minOccurrences":"0","maxOccurrences":"UNBOUNDED"}]},"abstract":false,"resourceType":"VFC","toscaResourceName":"tosca.nodes.BlockStorage","vendorName":"ATT (Tosca)","vendorRelease":"1.0.0.wd03","version":"1.0","icon":"objectStorage","description":"Represents a server-local block storage device (i.e., not shared) offering evenly sized blocks of data from which raw storage volumes can be created.","tags":["BlockStorage"],"allVersions":{"1.0":"918d4e2a-4f52-40b6-b6e3-e0fccd9bd88d"},"uniqueId":"918d4e2a-4f52-40b6-b6e3-e0fccd9bd88d","invariantUUID":"43be48e7-5dc3-4095-9e64-0a08be63e64e","highestVersion":true,"systemName":"Blockstorage","uuid":"b8baf25c-02e9-476a-babe-fe9415119bb0","lifecycleState":"CERTIFIED","name":"BlockStorage"},{"categories":[{"name":"Generic","normalizedName":"generic","uniqueId":"resourceNewCategory.generic","subcategories":[{"name":"Rules","normalizedName":"rules","uniqueId":"resourceNewCategory.generic.rules","icons":["networkrules","securityrules"]}]}],"componentType":"RESOURCE","capabilities":{"tosca.capabilities.Node":[{"uniqueId":"capability.f1086d06-92ab-4ab8-9565-5aa1118ed76d.feature","name":"feature","type":"tosca.capabilities.Node","capabilitySources":["com.att.d2.resource.vfc.rules.nodes.heat.network.contrailV2.NetworkRules","tosca.nodes.Root"],"properties":[],"ownerId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}]},"requirements":{"tosca.capabilities.Node":[{"uniqueId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d.dependency","name":"dependency","capability":"tosca.capabilities.Node","node":"tosca.nodes.Root","relationship":"tosca.relationships.DependsOn","ownerId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d","minOccurrences":"0","maxOccurrences":"UNBOUNDED"}],"tosca.capabilities.Attachment":[{"uniqueId":"cfd69b33-27b8-4f50-aa06-cb7fe977e508.network","name":"network","capability":"tosca.capabilities.Attachment","node":"tosca.nodes.network.Network","relationship":"com.att.d2.relationships.AttachesTo","ownerId":"cfd69b33-27b8-4f50-aa06-cb7fe977e508","minOccurrences":"0","maxOccurrences":"UNBOUNDED"}]},"abstract":false,"resourceType":"VFC","toscaResourceName":"com.att.d2.resource.vfc.rules.nodes.heat.network.contrailV2.NetworkRules","vendorName":"ATT (Tosca)","vendorRelease":"1.0.0.wd03","version":"1.0","icon":"networkrules","description":"Configuration of policy rules to be applied over the network for contrail V2.","tags":["ContrailV2NetworkRules"],"allVersions":{"1.0":"cfd69b33-27b8-4f50-aa06-cb7fe977e508"},"uniqueId":"cfd69b33-27b8-4f50-aa06-cb7fe977e508","invariantUUID":"cdc1f9d5-b077-4b0e-b266-93780907d697","highestVersion":true,"systemName":"Contrailv2networkrules","uuid":"f756b4bb-ab5a-4ff6-92a4-1891f179f13a","lifecycleState":"CERTIFIED","name":"ContrailV2NetworkRules"},{"categories":[{"name":"Generic","normalizedName":"generic","uniqueId":"resourceNewCategory.generic","subcategories":[{"name":"Infrastructure","normalizedName":"infrastructure","uniqueId":"resourceNewCategory.generic.infrastructure","icons":["connector"]}]}],"componentType":"RESOURCE","capabilities":{"tosca.capabilities.Node":[{"uniqueId":"capability.f1086d06-92ab-4ab8-9565-5aa1118ed76d.feature","name":"feature","type":"tosca.capabilities.Node","capabilitySources":["tosca.nodes.ObjectStorage","tosca.nodes.Root"],"properties":[],"ownerId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}],"tosca.capabilities.Endpoint":[{"uniqueId":"capability.5f460fab-d37f-4e4e-982c-b992950b68e4.storage_endpoint","name":"storage_endpoint","type":"tosca.capabilities.Endpoint","capabilitySources":["tosca.nodes.ObjectStorage","tosca.nodes.Root"],"properties":[{"uniqueId":"tosca.capabilities.Endpoint.port_name","type":"string","required":false,"definition":false,"password":false,"name":"port_name","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.protocol","type":"string","required":false,"definition":false,"defaultValue":"tcp","password":false,"name":"protocol","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.port","type":"PortDef","required":false,"definition":false,"password":false,"name":"port","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.initiator","type":"string","required":false,"definition":false,"defaultValue":"source","password":false,"constraints":[{"validValues":["source","target","peer"]}],"name":"initiator","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.network_name","type":"string","required":false,"definition":false,"defaultValue":"PRIVATE","password":false,"name":"network_name","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.ports","type":"map","required":false,"definition":false,"schema":{"property":{"type":"PortSpec","required":false,"definition":true,"password":false}},"password":false,"constraints":[{}],"name":"ports","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.secure","type":"boolean","required":false,"definition":false,"defaultValue":"false","password":false,"name":"secure","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.url_path","type":"string","required":false,"definition":false,"password":false,"name":"url_path","parentUniqueId":"tosca.capabilities.Endpoint"}],"ownerId":"5f460fab-d37f-4e4e-982c-b992950b68e4","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}]},"requirements":{"tosca.capabilities.Node":[{"uniqueId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d.dependency","name":"dependency","capability":"tosca.capabilities.Node","node":"tosca.nodes.Root","relationship":"tosca.relationships.DependsOn","ownerId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d","minOccurrences":"0","maxOccurrences":"UNBOUNDED"}]},"abstract":false,"resourceType":"VFC","toscaResourceName":"tosca.nodes.ObjectStorage","vendorName":"ATT (Tosca)","vendorRelease":"1.0.0.wd03","version":"1.0","icon":"objectStorage","description":"Represents storage that provides the ability to store data as objects (or BLOBs of data) without consideration for the underlying filesystem or devices.","tags":["ObjectStorage"],"allVersions":{"1.0":"5f460fab-d37f-4e4e-982c-b992950b68e4"},"uniqueId":"5f460fab-d37f-4e4e-982c-b992950b68e4","invariantUUID":"c5e9022e-f687-4d39-96e1-d1301f76ad0f","highestVersion":true,"systemName":"Objectstorage","uuid":"f57eee7d-8a88-4788-b90b-10ac3dab87f2","lifecycleState":"CERTIFIED","name":"ObjectStorage"},{"categories":[{"name":"Generic","normalizedName":"generic","uniqueId":"resourceNewCategory.generic","subcategories":[{"name":"Infrastructure","normalizedName":"infrastructure","uniqueId":"resourceNewCategory.generic.infrastructure","icons":["connector"]}]}],"componentType":"RESOURCE","capabilities":{"tosca.capabilities.Node":[{"uniqueId":"capability.f1086d06-92ab-4ab8-9565-5aa1118ed76d.feature","name":"feature","type":"tosca.capabilities.Node","capabilitySources":["com.att.d2.resource.vfc.nodes.heat.contrail.Compute","tosca.nodes.Compute","tosca.nodes.Root"],"properties":[],"ownerId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}],"tosca.capabilities.Scalable":[{"uniqueId":"capability.c30f3b4c-d28c-4e46-8954-2de6b00c21df.scalable","name":"scalable","type":"tosca.capabilities.Scalable","capabilitySources":["com.att.d2.resource.vfc.nodes.heat.contrail.Compute","tosca.nodes.Compute","tosca.nodes.Root"],"properties":[{"uniqueId":"tosca.capabilities.Scalable.min_instances","type":"integer","required":false,"definition":false,"defaultValue":"1","password":false,"name":"min_instances","parentUniqueId":"tosca.capabilities.Scalable"},{"uniqueId":"tosca.capabilities.Scalable.max_instances","type":"integer","required":false,"definition":false,"defaultValue":"1","password":false,"name":"max_instances","parentUniqueId":"tosca.capabilities.Scalable"},{"uniqueId":"tosca.capabilities.Scalable.default_instances","type":"integer","required":false,"definition":false,"password":false,"name":"default_instances","parentUniqueId":"tosca.capabilities.Scalable"}],"ownerId":"c30f3b4c-d28c-4e46-8954-2de6b00c21df","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}],"tosca.capabilities.network.Bindable":[{"uniqueId":"capability.c30f3b4c-d28c-4e46-8954-2de6b00c21df.binding","name":"binding","type":"tosca.capabilities.network.Bindable","capabilitySources":["com.att.d2.resource.vfc.nodes.heat.contrail.Compute","tosca.nodes.Compute","tosca.nodes.Root"],"properties":[],"ownerId":"c30f3b4c-d28c-4e46-8954-2de6b00c21df","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}],"tosca.capabilities.Container":[{"uniqueId":"capability.c30f3b4c-d28c-4e46-8954-2de6b00c21df.host","name":"host","type":"tosca.capabilities.Container","validSourceTypes":["tosca.nodes.SoftwareComponent"],"capabilitySources":["com.att.d2.resource.vfc.nodes.heat.contrail.Compute","tosca.nodes.Compute","tosca.nodes.Root"],"properties":[{"uniqueId":"tosca.capabilities.Container.num_cpus","type":"integer","required":false,"definition":false,"password":false,"constraints":[{}],"name":"num_cpus","parentUniqueId":"tosca.capabilities.Container"},{"uniqueId":"tosca.capabilities.Container.disk_size","type":"scalar-unit.size","required":false,"definition":false,"password":false,"constraints":[{}],"name":"disk_size","parentUniqueId":"tosca.capabilities.Container"},{"uniqueId":"tosca.capabilities.Container.cpu_frequency","type":"scalar-unit.frequency","required":false,"definition":false,"password":false,"constraints":[{}],"name":"cpu_frequency","parentUniqueId":"tosca.capabilities.Container"},{"uniqueId":"tosca.capabilities.Container.mem_size","type":"scalar-unit.size","required":false,"definition":false,"password":false,"constraints":[{}],"name":"mem_size","parentUniqueId":"tosca.capabilities.Container"}],"ownerId":"c30f3b4c-d28c-4e46-8954-2de6b00c21df","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}],"tosca.capabilities.Endpoint.Admin":[{"uniqueId":"capability.c30f3b4c-d28c-4e46-8954-2de6b00c21df.endpoint","name":"endpoint","type":"tosca.capabilities.Endpoint.Admin","capabilitySources":["com.att.d2.resource.vfc.nodes.heat.contrail.Compute","tosca.nodes.Compute","tosca.nodes.Root"],"properties":[{"uniqueId":"tosca.capabilities.Endpoint.port_name","type":"string","required":false,"definition":false,"password":false,"name":"port_name","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.protocol","type":"string","required":false,"definition":false,"defaultValue":"tcp","password":false,"name":"protocol","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.port","type":"PortDef","required":false,"definition":false,"password":false,"name":"port","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.initiator","type":"string","required":false,"definition":false,"defaultValue":"source","password":false,"constraints":[{"validValues":["source","target","peer"]}],"name":"initiator","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.network_name","type":"string","required":false,"definition":false,"defaultValue":"PRIVATE","password":false,"name":"network_name","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.Admin.secure","required":false,"definition":false,"defaultValue":"true","password":false,"name":"secure","parentUniqueId":"tosca.capabilities.Endpoint.Admin"},{"uniqueId":"tosca.capabilities.Endpoint.ports","type":"map","required":false,"definition":false,"schema":{"property":{"type":"PortSpec","required":false,"definition":true,"password":false}},"password":false,"constraints":[{}],"name":"ports","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.url_path","type":"string","required":false,"definition":false,"password":false,"name":"url_path","parentUniqueId":"tosca.capabilities.Endpoint"}],"ownerId":"c30f3b4c-d28c-4e46-8954-2de6b00c21df","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}],"tosca.capabilities.OperatingSystem":[{"uniqueId":"capability.c30f3b4c-d28c-4e46-8954-2de6b00c21df.os","name":"os","type":"tosca.capabilities.OperatingSystem","capabilitySources":["com.att.d2.resource.vfc.nodes.heat.contrail.Compute","tosca.nodes.Compute","tosca.nodes.Root"],"properties":[{"uniqueId":"tosca.capabilities.OperatingSystem.distribution","type":"string","required":false,"definition":false,"password":false,"name":"distribution","parentUniqueId":"tosca.capabilities.OperatingSystem"},{"uniqueId":"tosca.capabilities.OperatingSystem.type","type":"string","required":false,"definition":false,"password":false,"name":"type","parentUniqueId":"tosca.capabilities.OperatingSystem"},{"uniqueId":"tosca.capabilities.OperatingSystem.version","type":"version","required":false,"definition":false,"password":false,"name":"version","parentUniqueId":"tosca.capabilities.OperatingSystem"},{"uniqueId":"tosca.capabilities.OperatingSystem.architecture","type":"string","required":false,"definition":false,"password":false,"name":"architecture","parentUniqueId":"tosca.capabilities.OperatingSystem"}],"ownerId":"c30f3b4c-d28c-4e46-8954-2de6b00c21df","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}]},"requirements":{"tosca.capabilities.Node":[{"uniqueId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d.dependency","name":"dependency","capability":"tosca.capabilities.Node","node":"tosca.nodes.Root","relationship":"tosca.relationships.DependsOn","ownerId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d","minOccurrences":"0","maxOccurrences":"UNBOUNDED"}],"tosca.capabilities.Attachment":[{"uniqueId":"c30f3b4c-d28c-4e46-8954-2de6b00c21df.local_storage","name":"local_storage","capability":"tosca.capabilities.Attachment","node":"tosca.nodes.BlockStorage","relationship":"tosca.relationships.AttachesTo","ownerId":"c30f3b4c-d28c-4e46-8954-2de6b00c21df","minOccurrences":"0","maxOccurrences":"UNBOUNDED"}]},"abstract":false,"resourceType":"VFC","toscaResourceName":"com.att.d2.resource.vfc.nodes.heat.contrail.Compute","vendorName":"ATT (Tosca)","vendorRelease":"1.0.0.wd03","version":"1.0","icon":"compute","description":"Represents a virtual machine for contrail service template. The information provided will be used to create a VM that matches characteristics.","tags":["ContrailCompute"],"allVersions":{"1.0":"c5bf3167-c9ed-4b9f-9441-b15f35ed46a8"},"uniqueId":"c5bf3167-c9ed-4b9f-9441-b15f35ed46a8","invariantUUID":"c518561a-d615-4e30-9dbe-ef80d5f872d3","highestVersion":true,"systemName":"Contrailcompute","uuid":"13b4c8de-6e91-47e8-9c81-11267fc87140","lifecycleState":"CERTIFIED","name":"ContrailCompute"},{"categories":[{"name":"Generic","normalizedName":"generic","uniqueId":"resourceNewCategory.generic","subcategories":[{"name":"Network Elements","normalizedName":"network elements","uniqueId":"resourceNewCategory.generic.network elements","icons":["network","connector"]}]}],"componentType":"RESOURCE","capabilities":{"tosca.capabilities.Node":[{"uniqueId":"capability.f1086d06-92ab-4ab8-9565-5aa1118ed76d.feature","name":"feature","type":"tosca.capabilities.Node","capabilitySources":["com.att.d2.resource.cp.nodes.heat.network.contrail.Port","tosca.nodes.network.Port","tosca.nodes.Root"],"properties":[],"ownerId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}]},"requirements":{"tosca.capabilities.Node":[{"uniqueId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d.dependency","name":"dependency","capability":"tosca.capabilities.Node","node":"tosca.nodes.Root","relationship":"tosca.relationships.DependsOn","ownerId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d","minOccurrences":"0","maxOccurrences":"UNBOUNDED"}],"tosca.capabilities.network.Bindable":[{"uniqueId":"d9155aa5-4b34-4389-ad93-273ca975ff5c.binding","name":"binding","capability":"tosca.capabilities.network.Bindable","relationship":"tosca.relationships.network.BindsTo","ownerId":"d9155aa5-4b34-4389-ad93-273ca975ff5c","minOccurrences":"1","maxOccurrences":"1"}],"tosca.capabilities.network.Linkable":[{"uniqueId":"d9155aa5-4b34-4389-ad93-273ca975ff5c.link","name":"link","capability":"tosca.capabilities.network.Linkable","relationship":"tosca.relationships.network.LinksTo","ownerId":"d9155aa5-4b34-4389-ad93-273ca975ff5c","minOccurrences":"1","maxOccurrences":"1"}]},"abstract":false,"resourceType":"CP","toscaResourceName":"com.att.d2.resource.cp.nodes.heat.network.contrail.Port","vendorName":"ATT (Tosca)","vendorRelease":"1.0.0.wd03","version":"1.0","icon":"port","description":"Represents a logical entity that associates between Compute and Network normative types for contrail.","tags":["ContrailPort"],"allVersions":{"1.0":"19b2381e-2c81-4af7-a4e7-432e08511080"},"uniqueId":"19b2381e-2c81-4af7-a4e7-432e08511080","invariantUUID":"38cd1e97-a231-47a4-9708-c156ec4ff3ff","highestVersion":true,"systemName":"Contrailport","uuid":"c0d8827b-73f4-4caf-b066-2b52d021c9bd","lifecycleState":"CERTIFIED","name":"ContrailPort"},{"categories":[{"name":"Generic","normalizedName":"generic","uniqueId":"resourceNewCategory.generic","subcategories":[{"name":"Infrastructure","normalizedName":"infrastructure","uniqueId":"resourceNewCategory.generic.infrastructure","icons":["connector"]}]}],"componentType":"RESOURCE","capabilities":{"tosca.capabilities.Node":[{"uniqueId":"capability.f1086d06-92ab-4ab8-9565-5aa1118ed76d.feature","name":"feature","type":"tosca.capabilities.Node","capabilitySources":["tosca.nodes.network.Network","tosca.nodes.Root"],"properties":[],"ownerId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}],"tosca.capabilities.network.Linkable":[{"uniqueId":"capability.beb1c610-9ab1-4187-b0ef-b2cfe2c077cb.link","name":"link","type":"tosca.capabilities.network.Linkable","capabilitySources":["tosca.nodes.network.Network","tosca.nodes.Root"],"properties":[],"ownerId":"beb1c610-9ab1-4187-b0ef-b2cfe2c077cb","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}]},"requirements":{"tosca.capabilities.Node":[{"uniqueId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d.dependency","name":"dependency","capability":"tosca.capabilities.Node","node":"tosca.nodes.Root","relationship":"tosca.relationships.DependsOn","ownerId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d","minOccurrences":"0","maxOccurrences":"UNBOUNDED"}]},"abstract":false,"resourceType":"VL","toscaResourceName":"tosca.nodes.network.Network","vendorName":"ATT (Tosca)","vendorRelease":"1.0.0.wd03","version":"1.0","icon":"network","description":"Represents a simple , logical network service.","tags":["Network"],"allVersions":{"1.0":"beb1c610-9ab1-4187-b0ef-b2cfe2c077cb"},"uniqueId":"beb1c610-9ab1-4187-b0ef-b2cfe2c077cb","invariantUUID":"d5c648fa-45ed-4b88-a8ab-652935e4f057","highestVersion":true,"systemName":"Network","uuid":"23e889ac-3f14-4d02-8a5e-f0b01ae15a80","lifecycleState":"CERTIFIED","name":"Network"},{"categories":[{"name":"Generic","normalizedName":"generic","uniqueId":"resourceNewCategory.generic","subcategories":[{"name":"Rules","normalizedName":"rules","uniqueId":"resourceNewCategory.generic.rules","icons":["networkrules","securityrules"]}]}],"componentType":"RESOURCE","capabilities":{"tosca.capabilities.Node":[{"uniqueId":"capability.f1086d06-92ab-4ab8-9565-5aa1118ed76d.feature","name":"feature","type":"tosca.capabilities.Node","capabilitySources":["com.att.d2.resource.vfc.rules.nodes.heat.network.neutron.SecurityRules","tosca.nodes.Root"],"properties":[],"ownerId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}]},"requirements":{"tosca.capabilities.Node":[{"uniqueId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d.dependency","name":"dependency","capability":"tosca.capabilities.Node","node":"tosca.nodes.Root","relationship":"tosca.relationships.DependsOn","ownerId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d","minOccurrences":"0","maxOccurrences":"UNBOUNDED"}],"tosca.capabilities.Attachment":[{"uniqueId":"1d99d23a-f4c9-4ae9-86e9-b5220d1b6a1c.port","name":"port","capability":"tosca.capabilities.Attachment","node":"com.att.d2.resource.cp.nodes.heat.network.neutron.Port","relationship":"com.att.d2.relationships.AttachesTo","ownerId":"1d99d23a-f4c9-4ae9-86e9-b5220d1b6a1c","minOccurrences":"0","maxOccurrences":"UNBOUNDED"}]},"abstract":false,"resourceType":"VFC","toscaResourceName":"com.att.d2.resource.vfc.rules.nodes.heat.network.neutron.SecurityRules","vendorName":"ATT (Tosca)","vendorRelease":"1.0.0.wd03","version":"1.0","icon":"securityrules","description":"Configuration of policy rules to be applied on ports.","tags":["SecurityRules"],"allVersions":{"1.0":"1d99d23a-f4c9-4ae9-86e9-b5220d1b6a1c"},"uniqueId":"1d99d23a-f4c9-4ae9-86e9-b5220d1b6a1c","invariantUUID":"de579566-d993-4476-98f9-d2c7cc4dad33","highestVersion":true,"systemName":"Securityrules","uuid":"eadd27a9-0143-4891-8157-97ad5a4f646b","lifecycleState":"CERTIFIED","name":"SecurityRules"},{"categories":[{"name":"Generic","normalizedName":"generic","uniqueId":"resourceNewCategory.generic","subcategories":[{"name":"Rules","normalizedName":"rules","uniqueId":"resourceNewCategory.generic.rules","icons":["networkrules","securityrules"]}]}],"componentType":"RESOURCE","capabilities":{"tosca.capabilities.Node":[{"uniqueId":"capability.f1086d06-92ab-4ab8-9565-5aa1118ed76d.feature","name":"feature","type":"tosca.capabilities.Node","capabilitySources":["com.att.d2.resource.vfc.rules.nodes.heat.network.contrail.NetworkRules","tosca.nodes.Root"],"properties":[],"ownerId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}]},"requirements":{"tosca.capabilities.Node":[{"uniqueId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d.dependency","name":"dependency","capability":"tosca.capabilities.Node","node":"tosca.nodes.Root","relationship":"tosca.relationships.DependsOn","ownerId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d","minOccurrences":"0","maxOccurrences":"UNBOUNDED"}],"tosca.capabilities.Attachment":[{"uniqueId":"d08fa295-350c-4a17-b873-7fd082cde3ee.network","name":"network","capability":"tosca.capabilities.Attachment","node":"tosca.nodes.network.Network","relationship":"com.att.d2.relationships.AttachesTo","ownerId":"d08fa295-350c-4a17-b873-7fd082cde3ee","minOccurrences":"0","maxOccurrences":"UNBOUNDED"}]},"abstract":false,"resourceType":"VFC","toscaResourceName":"com.att.d2.resource.vfc.rules.nodes.heat.network.contrail.NetworkRules","vendorName":"ATT (Tosca)","vendorRelease":"1.0.0.wd03","version":"1.0","icon":"networkrules","description":"Configuration of policy rules to be applied over the network.","tags":["ContrailNetworkRules"],"allVersions":{"1.0":"d08fa295-350c-4a17-b873-7fd082cde3ee"},"uniqueId":"d08fa295-350c-4a17-b873-7fd082cde3ee","invariantUUID":"4feedb8c-b91a-4c60-a167-a07a3b6a0142","highestVersion":true,"systemName":"Contrailnetworkrules","uuid":"af14fa4e-fa2a-4dd2-bc58-f382ee3e862c","lifecycleState":"CERTIFIED","name":"ContrailNetworkRules"},{"categories":[{"name":"Generic","normalizedName":"generic","uniqueId":"resourceNewCategory.generic","subcategories":[{"name":"Network Elements","normalizedName":"network elements","uniqueId":"resourceNewCategory.generic.network elements","icons":["network","connector"]}]}],"componentType":"RESOURCE","capabilities":{"tosca.capabilities.Node":[{"uniqueId":"capability.f1086d06-92ab-4ab8-9565-5aa1118ed76d.feature","name":"feature","type":"tosca.capabilities.Node","capabilitySources":["com.att.d2.resource.cp.nodes.heat.network.neutron.Port","tosca.nodes.network.Port","tosca.nodes.Root"],"properties":[],"ownerId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}]},"requirements":{"tosca.capabilities.Node":[{"uniqueId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d.dependency","name":"dependency","capability":"tosca.capabilities.Node","node":"tosca.nodes.Root","relationship":"tosca.relationships.DependsOn","ownerId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d","minOccurrences":"0","maxOccurrences":"UNBOUNDED"}],"tosca.capabilities.network.Bindable":[{"uniqueId":"d9155aa5-4b34-4389-ad93-273ca975ff5c.binding","name":"binding","capability":"tosca.capabilities.network.Bindable","relationship":"tosca.relationships.network.BindsTo","ownerId":"d9155aa5-4b34-4389-ad93-273ca975ff5c","minOccurrences":"1","maxOccurrences":"1"}],"tosca.capabilities.network.Linkable":[{"uniqueId":"d9155aa5-4b34-4389-ad93-273ca975ff5c.link","name":"link","capability":"tosca.capabilities.network.Linkable","relationship":"tosca.relationships.network.LinksTo","ownerId":"d9155aa5-4b34-4389-ad93-273ca975ff5c","minOccurrences":"1","maxOccurrences":"1"}]},"abstract":false,"resourceType":"CP","toscaResourceName":"com.att.d2.resource.cp.nodes.heat.network.neutron.Port","vendorName":"ATT (Tosca)","vendorRelease":"1.0.0.wd03","version":"1.0","icon":"port","description":"Represents a logical entity that associates between Compute and Network normative types.","tags":["NeutronPort"],"allVersions":{"1.0":"5d97d7ab-99fb-464d-bd25-3bc8e8d1d74e"},"uniqueId":"5d97d7ab-99fb-464d-bd25-3bc8e8d1d74e","invariantUUID":"146a2b90-176a-4f09-a8c6-64af71c092f1","highestVersion":true,"systemName":"Neutronport","uuid":"de6a888e-ae2b-4f58-b31d-91162d611b63","lifecycleState":"CERTIFIED","name":"NeutronPort"},{"categories":[{"name":"Generic","normalizedName":"generic","uniqueId":"resourceNewCategory.generic","subcategories":[{"name":"Infrastructure","normalizedName":"infrastructure","uniqueId":"resourceNewCategory.generic.infrastructure","icons":["connector"]}]}],"componentType":"RESOURCE","capabilities":{"tosca.capabilities.Node":[{"uniqueId":"capability.f1086d06-92ab-4ab8-9565-5aa1118ed76d.feature","name":"feature","type":"tosca.capabilities.Node","capabilitySources":["tosca.nodes.Compute","tosca.nodes.Root"],"properties":[],"ownerId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}],"tosca.capabilities.Scalable":[{"uniqueId":"capability.c30f3b4c-d28c-4e46-8954-2de6b00c21df.scalable","name":"scalable","type":"tosca.capabilities.Scalable","capabilitySources":["tosca.nodes.Compute","tosca.nodes.Root"],"properties":[{"uniqueId":"tosca.capabilities.Scalable.min_instances","type":"integer","required":false,"definition":false,"defaultValue":"1","password":false,"name":"min_instances","parentUniqueId":"tosca.capabilities.Scalable"},{"uniqueId":"tosca.capabilities.Scalable.max_instances","type":"integer","required":false,"definition":false,"defaultValue":"1","password":false,"name":"max_instances","parentUniqueId":"tosca.capabilities.Scalable"},{"uniqueId":"tosca.capabilities.Scalable.default_instances","type":"integer","required":false,"definition":false,"password":false,"name":"default_instances","parentUniqueId":"tosca.capabilities.Scalable"}],"ownerId":"c30f3b4c-d28c-4e46-8954-2de6b00c21df","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}],"tosca.capabilities.network.Bindable":[{"uniqueId":"capability.c30f3b4c-d28c-4e46-8954-2de6b00c21df.binding","name":"binding","type":"tosca.capabilities.network.Bindable","capabilitySources":["tosca.nodes.Compute","tosca.nodes.Root"],"properties":[],"ownerId":"c30f3b4c-d28c-4e46-8954-2de6b00c21df","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}],"tosca.capabilities.Container":[{"uniqueId":"capability.c30f3b4c-d28c-4e46-8954-2de6b00c21df.host","name":"host","type":"tosca.capabilities.Container","validSourceTypes":["tosca.nodes.SoftwareComponent"],"capabilitySources":["tosca.nodes.Compute","tosca.nodes.Root"],"properties":[{"uniqueId":"tosca.capabilities.Container.num_cpus","type":"integer","required":false,"definition":false,"password":false,"constraints":[{}],"name":"num_cpus","parentUniqueId":"tosca.capabilities.Container"},{"uniqueId":"tosca.capabilities.Container.disk_size","type":"scalar-unit.size","required":false,"definition":false,"password":false,"constraints":[{}],"name":"disk_size","parentUniqueId":"tosca.capabilities.Container"},{"uniqueId":"tosca.capabilities.Container.cpu_frequency","type":"scalar-unit.frequency","required":false,"definition":false,"password":false,"constraints":[{}],"name":"cpu_frequency","parentUniqueId":"tosca.capabilities.Container"},{"uniqueId":"tosca.capabilities.Container.mem_size","type":"scalar-unit.size","required":false,"definition":false,"password":false,"constraints":[{}],"name":"mem_size","parentUniqueId":"tosca.capabilities.Container"}],"ownerId":"c30f3b4c-d28c-4e46-8954-2de6b00c21df","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}],"tosca.capabilities.Endpoint.Admin":[{"uniqueId":"capability.c30f3b4c-d28c-4e46-8954-2de6b00c21df.endpoint","name":"endpoint","type":"tosca.capabilities.Endpoint.Admin","capabilitySources":["tosca.nodes.Compute","tosca.nodes.Root"],"properties":[{"uniqueId":"tosca.capabilities.Endpoint.port_name","type":"string","required":false,"definition":false,"password":false,"name":"port_name","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.protocol","type":"string","required":false,"definition":false,"defaultValue":"tcp","password":false,"name":"protocol","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.port","type":"PortDef","required":false,"definition":false,"password":false,"name":"port","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.initiator","type":"string","required":false,"definition":false,"defaultValue":"source","password":false,"constraints":[{"validValues":["source","target","peer"]}],"name":"initiator","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.network_name","type":"string","required":false,"definition":false,"defaultValue":"PRIVATE","password":false,"name":"network_name","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.Admin.secure","required":false,"definition":false,"defaultValue":"true","password":false,"name":"secure","parentUniqueId":"tosca.capabilities.Endpoint.Admin"},{"uniqueId":"tosca.capabilities.Endpoint.ports","type":"map","required":false,"definition":false,"schema":{"property":{"type":"PortSpec","required":false,"definition":true,"password":false}},"password":false,"constraints":[{}],"name":"ports","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.url_path","type":"string","required":false,"definition":false,"password":false,"name":"url_path","parentUniqueId":"tosca.capabilities.Endpoint"}],"ownerId":"c30f3b4c-d28c-4e46-8954-2de6b00c21df","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}],"tosca.capabilities.OperatingSystem":[{"uniqueId":"capability.c30f3b4c-d28c-4e46-8954-2de6b00c21df.os","name":"os","type":"tosca.capabilities.OperatingSystem","capabilitySources":["tosca.nodes.Compute","tosca.nodes.Root"],"properties":[{"uniqueId":"tosca.capabilities.OperatingSystem.distribution","type":"string","required":false,"definition":false,"password":false,"name":"distribution","parentUniqueId":"tosca.capabilities.OperatingSystem"},{"uniqueId":"tosca.capabilities.OperatingSystem.type","type":"string","required":false,"definition":false,"password":false,"name":"type","parentUniqueId":"tosca.capabilities.OperatingSystem"},{"uniqueId":"tosca.capabilities.OperatingSystem.version","type":"version","required":false,"definition":false,"password":false,"name":"version","parentUniqueId":"tosca.capabilities.OperatingSystem"},{"uniqueId":"tosca.capabilities.OperatingSystem.architecture","type":"string","required":false,"definition":false,"password":false,"name":"architecture","parentUniqueId":"tosca.capabilities.OperatingSystem"}],"ownerId":"c30f3b4c-d28c-4e46-8954-2de6b00c21df","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}]},"requirements":{"tosca.capabilities.Node":[{"uniqueId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d.dependency","name":"dependency","capability":"tosca.capabilities.Node","node":"tosca.nodes.Root","relationship":"tosca.relationships.DependsOn","ownerId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d","minOccurrences":"0","maxOccurrences":"UNBOUNDED"}],"tosca.capabilities.Attachment":[{"uniqueId":"c30f3b4c-d28c-4e46-8954-2de6b00c21df.local_storage","name":"local_storage","capability":"tosca.capabilities.Attachment","node":"tosca.nodes.BlockStorage","relationship":"tosca.relationships.AttachesTo","ownerId":"c30f3b4c-d28c-4e46-8954-2de6b00c21df","minOccurrences":"0","maxOccurrences":"UNBOUNDED"}]},"abstract":false,"resourceType":"VFC","toscaResourceName":"tosca.nodes.Compute","vendorName":"ATT (Tosca)","vendorRelease":"1.0.0.wd03","version":"1.0","icon":"compute","description":"Represents a real or virtual machine or server. Information specified on the Compute node will be used to find the machine that fits the given requirements in the cloud available machines. If no sizing information are specified the cloud provider default machine will be used. It is strongly recommended to specify the required CPUs and memory at least.","tags":["Compute"],"allVersions":{"1.0":"c30f3b4c-d28c-4e46-8954-2de6b00c21df"},"uniqueId":"c30f3b4c-d28c-4e46-8954-2de6b00c21df","invariantUUID":"8888d83c-b053-46ab-a28e-7ed1bbb1da5b","highestVersion":true,"systemName":"Compute","uuid":"9cecb2a4-5588-4256-a69d-0aff871c0b13","lifecycleState":"CERTIFIED","name":"Compute"},{"categories":[{"name":"Generic","normalizedName":"generic","uniqueId":"resourceNewCategory.generic","subcategories":[{"name":"Infrastructure","normalizedName":"infrastructure","uniqueId":"resourceNewCategory.generic.infrastructure","icons":["connector"]}]}],"componentType":"RESOURCE","capabilities":{"tosca.capabilities.Node":[{"uniqueId":"capability.f1086d06-92ab-4ab8-9565-5aa1118ed76d.feature","name":"feature","type":"tosca.capabilities.Node","capabilitySources":["com.att.d2.resource.vfc.nodes.heat.nova.Server","tosca.nodes.Compute","tosca.nodes.Root"],"properties":[],"ownerId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}],"tosca.capabilities.Scalable":[{"uniqueId":"capability.c30f3b4c-d28c-4e46-8954-2de6b00c21df.scalable","name":"scalable","type":"tosca.capabilities.Scalable","capabilitySources":["com.att.d2.resource.vfc.nodes.heat.nova.Server","tosca.nodes.Compute","tosca.nodes.Root"],"properties":[{"uniqueId":"tosca.capabilities.Scalable.min_instances","type":"integer","required":false,"definition":false,"defaultValue":"1","password":false,"name":"min_instances","parentUniqueId":"tosca.capabilities.Scalable"},{"uniqueId":"tosca.capabilities.Scalable.max_instances","type":"integer","required":false,"definition":false,"defaultValue":"1","password":false,"name":"max_instances","parentUniqueId":"tosca.capabilities.Scalable"},{"uniqueId":"tosca.capabilities.Scalable.default_instances","type":"integer","required":false,"definition":false,"password":false,"name":"default_instances","parentUniqueId":"tosca.capabilities.Scalable"}],"ownerId":"c30f3b4c-d28c-4e46-8954-2de6b00c21df","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}],"tosca.capabilities.network.Bindable":[{"uniqueId":"capability.c30f3b4c-d28c-4e46-8954-2de6b00c21df.binding","name":"binding","type":"tosca.capabilities.network.Bindable","capabilitySources":["com.att.d2.resource.vfc.nodes.heat.nova.Server","tosca.nodes.Compute","tosca.nodes.Root"],"properties":[],"ownerId":"c30f3b4c-d28c-4e46-8954-2de6b00c21df","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}],"tosca.capabilities.Container":[{"uniqueId":"capability.c30f3b4c-d28c-4e46-8954-2de6b00c21df.host","name":"host","type":"tosca.capabilities.Container","validSourceTypes":["tosca.nodes.SoftwareComponent"],"capabilitySources":["com.att.d2.resource.vfc.nodes.heat.nova.Server","tosca.nodes.Compute","tosca.nodes.Root"],"properties":[{"uniqueId":"tosca.capabilities.Container.num_cpus","type":"integer","required":false,"definition":false,"password":false,"constraints":[{}],"name":"num_cpus","parentUniqueId":"tosca.capabilities.Container"},{"uniqueId":"tosca.capabilities.Container.disk_size","type":"scalar-unit.size","required":false,"definition":false,"password":false,"constraints":[{}],"name":"disk_size","parentUniqueId":"tosca.capabilities.Container"},{"uniqueId":"tosca.capabilities.Container.cpu_frequency","type":"scalar-unit.frequency","required":false,"definition":false,"password":false,"constraints":[{}],"name":"cpu_frequency","parentUniqueId":"tosca.capabilities.Container"},{"uniqueId":"tosca.capabilities.Container.mem_size","type":"scalar-unit.size","required":false,"definition":false,"password":false,"constraints":[{}],"name":"mem_size","parentUniqueId":"tosca.capabilities.Container"}],"ownerId":"c30f3b4c-d28c-4e46-8954-2de6b00c21df","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}],"tosca.capabilities.Endpoint.Admin":[{"uniqueId":"capability.c30f3b4c-d28c-4e46-8954-2de6b00c21df.endpoint","name":"endpoint","type":"tosca.capabilities.Endpoint.Admin","capabilitySources":["com.att.d2.resource.vfc.nodes.heat.nova.Server","tosca.nodes.Compute","tosca.nodes.Root"],"properties":[{"uniqueId":"tosca.capabilities.Endpoint.port_name","type":"string","required":false,"definition":false,"password":false,"name":"port_name","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.protocol","type":"string","required":false,"definition":false,"defaultValue":"tcp","password":false,"name":"protocol","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.port","type":"PortDef","required":false,"definition":false,"password":false,"name":"port","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.initiator","type":"string","required":false,"definition":false,"defaultValue":"source","password":false,"constraints":[{"validValues":["source","target","peer"]}],"name":"initiator","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.network_name","type":"string","required":false,"definition":false,"defaultValue":"PRIVATE","password":false,"name":"network_name","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.Admin.secure","required":false,"definition":false,"defaultValue":"true","password":false,"name":"secure","parentUniqueId":"tosca.capabilities.Endpoint.Admin"},{"uniqueId":"tosca.capabilities.Endpoint.ports","type":"map","required":false,"definition":false,"schema":{"property":{"type":"PortSpec","required":false,"definition":true,"password":false}},"password":false,"constraints":[{}],"name":"ports","parentUniqueId":"tosca.capabilities.Endpoint"},{"uniqueId":"tosca.capabilities.Endpoint.url_path","type":"string","required":false,"definition":false,"password":false,"name":"url_path","parentUniqueId":"tosca.capabilities.Endpoint"}],"ownerId":"c30f3b4c-d28c-4e46-8954-2de6b00c21df","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}],"tosca.capabilities.OperatingSystem":[{"uniqueId":"capability.c30f3b4c-d28c-4e46-8954-2de6b00c21df.os","name":"os","type":"tosca.capabilities.OperatingSystem","capabilitySources":["com.att.d2.resource.vfc.nodes.heat.nova.Server","tosca.nodes.Compute","tosca.nodes.Root"],"properties":[{"uniqueId":"tosca.capabilities.OperatingSystem.distribution","type":"string","required":false,"definition":false,"password":false,"name":"distribution","parentUniqueId":"tosca.capabilities.OperatingSystem"},{"uniqueId":"tosca.capabilities.OperatingSystem.type","type":"string","required":false,"definition":false,"password":false,"name":"type","parentUniqueId":"tosca.capabilities.OperatingSystem"},{"uniqueId":"tosca.capabilities.OperatingSystem.version","type":"version","required":false,"definition":false,"password":false,"name":"version","parentUniqueId":"tosca.capabilities.OperatingSystem"},{"uniqueId":"tosca.capabilities.OperatingSystem.architecture","type":"string","required":false,"definition":false,"password":false,"name":"architecture","parentUniqueId":"tosca.capabilities.OperatingSystem"}],"ownerId":"c30f3b4c-d28c-4e46-8954-2de6b00c21df","minOccurrences":"1","maxOccurrences":"UNBOUNDED"}]},"requirements":{"tosca.capabilities.Node":[{"uniqueId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d.dependency","name":"dependency","capability":"tosca.capabilities.Node","node":"tosca.nodes.Root","relationship":"tosca.relationships.DependsOn","ownerId":"f1086d06-92ab-4ab8-9565-5aa1118ed76d","minOccurrences":"0","maxOccurrences":"UNBOUNDED"}],"tosca.capabilities.Attachment":[{"uniqueId":"c30f3b4c-d28c-4e46-8954-2de6b00c21df.local_storage","name":"local_storage","capability":"tosca.capabilities.Attachment","node":"tosca.nodes.BlockStorage","relationship":"tosca.relationships.AttachesTo","ownerId":"c30f3b4c-d28c-4e46-8954-2de6b00c21df","minOccurrences":"0","maxOccurrences":"UNBOUNDED"}]},"abstract":false,"resourceType":"VFC","toscaResourceName":"com.att.d2.resource.vfc.nodes.heat.nova.Server","vendorName":"ATT (Tosca)","vendorRelease":"1.0.0.wd03","version":"1.0","icon":"defaulticon","description":"Represents a real or virtual machine or server. Information specified on the Compute node will be used to find the machine that fits the given requirements in the cloud available machines. If no sizing information are specified the cloud provider default machine will be used. It is strongly recommended to specify the required CPUs and memory at least.","tags":["NovaServer"],"allVersions":{"1.0":"99b21d27-f578-48c7-93a2-5a28e2b5f751"},"uniqueId":"99b21d27-f578-48c7-93a2-5a28e2b5f751","invariantUUID":"8dccd960-a2af-493d-957e-f8a820675ff2","highestVersion":true,"systemName":"Novaserver","uuid":"77855454-a0e1-4f46-b063-0c8b89e43782","lifecycleState":"CERTIFIED","name":"NovaServer"}] \ No newline at end of file
diff --git a/app/WEB-INF/jetty-web.xml b/app/WEB-INF/jetty-web.xml
new file mode 100644
index 0000000..ba9f083
--- /dev/null
+++ b/app/WEB-INF/jetty-web.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE Configure PUBLIC
+ "-//Mort Bay Consulting//DTD Configure//EN"
+ "http://www.eclipse.org/jetty/configure_9_0.dtd">
+
+<Configure class="org.eclipse.jetty.webapp.WebAppContext">
+ <Set name="contextPath">/dcae</Set>
+</Configure>
diff --git a/app/WEB-INF/rewrite.config b/app/WEB-INF/rewrite.config
new file mode 100644
index 0000000..90893bb
--- /dev/null
+++ b/app/WEB-INF/rewrite.config
@@ -0,0 +1,2 @@
+RewriteRule ^.*\..*$ - [L]
+RewriteRule ^.*$ /index.html [L]
diff --git a/app/WEB-INF/web.xml b/app/WEB-INF/web.xml
new file mode 100644
index 0000000..8ba3dc1
--- /dev/null
+++ b/app/WEB-INF/web.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<web-app xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
+ version="3.0">
+
+ <display-name>DCAE_FE</display-name>
+
+
+</web-app>
diff --git a/app/_dcaeapp.xml b/app/_dcaeapp.xml
new file mode 100644
index 0000000..2af7bd4
--- /dev/null
+++ b/app/_dcaeapp.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_3.dtd">
+
+
+<Configure id="onBoardWebappDcae" class="org.eclipse.jetty.webapp.WebAppContext">
+
+ <Set name="contextPath">/dcae</Set>
+ <Set name="war"><Property name="jetty.webapps" default="."/>/dcae.war</Set>
+
+ <!-- Enable WebSocket container -->
+ <Call name="setAttribute">
+ <Arg>org.eclipse.jetty.websocket.jsr356</Arg>
+ <Arg type="Boolean">true</Arg>
+ </Call>
+
+ <Set name="gzipHandler">
+ <New class="org.eclipse.jetty.server.handler.gzip.GzipHandler">
+ <Set name="minGzipSize">2048</Set>
+ </New>
+ </Set>
+
+
+ <Get name="securityHandler">
+ <Set name="loginService">
+ <New class="org.eclipse.jetty.security.HashLoginService">
+ <Set name="name">Test Realm</Set>
+ <Set name="config"><SystemProperty name="jetty.base" default="."/>/etc/realm.properties</Set>
+ <!-- To enable reload of realm when properties change, uncomment the following lines -->
+ <!-- changing refreshInterval (in seconds) as desired -->
+ <!--
+ <Set name="refreshInterval">5</Set>
+ <Call name="start"></Call>
+ -->
+ </New>
+ </Set>
+ <Set name="authenticator">
+ <New class="org.eclipse.jetty.security.authentication.FormAuthenticator">
+ <Set name="alwaysSaveUri">true</Set>
+ </New>
+ </Set>
+ <Set name="checkWelcomeFiles">true</Set>
+ </Get>
+
+
+</Configure>
diff --git a/app/app.config.js b/app/app.config.js
new file mode 100644
index 0000000..952c221
--- /dev/null
+++ b/app/app.config.js
@@ -0,0 +1,65 @@
+(function () {
+ 'use strict';
+
+ angular
+ .module('dcaeApp')
+ .factory('httpRequestInterceptor', function ($injector, $rootScope) {
+ var httpRequestInterceptor = {
+ request: function (config) {
+ // Send the user only for API requests
+ var userId = "";
+ if ($rootScope.baseURL.indexOf('localhost') !== -1) {
+ // if (config.url.indexOf($rootScope.baseURL) !== -1) {
+ config.headers = config.headers || {};
+ userId = 'ym903w';
+ // userId = $injector .get('Sdc.Services.CookieService') .getUserId();
+ var user = {
+ userId: userId
+ };
+ if (user) {
+ config.headers['USER_ID'] = user.userId;
+ }
+ // }
+ } else {
+ config.headers = config.headers || {};
+ var user = {
+ userId: window.userId
+ };
+ userId = window.userId;
+ // var user = { userId: $rootScope.cookieUser }; userId =
+ // $rootScope.cookieUser;
+ if (user) {
+ config.headers['USER_ID'] = user.userId;
+ console.log('Your User is:', user.userId);
+ } else {
+ console.log('Error look on your grunt file you dont have a user set');
+ }
+
+ }
+ $rootScope.userId = userId;
+ return config;
+ }
+ };
+ return httpRequestInterceptor;
+ })
+ .config(config);
+
+ function config($httpProvider) {
+
+ // Ask for cross domain from the sever (need to allow this in server).
+ $httpProvider.defaults.useXDomain = true;
+ delete $httpProvider.defaults.headers.common['X-Requested-With'];
+
+ $httpProvider
+ .interceptors
+ .push('httpRequestInterceptor');
+
+ // HTTP Interceptor definition
+ /*$httpProvider.interceptors.push('httpRequestInterceptor');
+ $httpProvider.interceptors.push('httpResponseInterceptor');
+ $httpProvider.interceptors.push('httpRequestErrorInterceptor');
+ $httpProvider.interceptors.push('httpResponseErrorInterceptor');*/
+
+ }
+
+})();
diff --git a/app/app.constants.js b/app/app.constants.js
new file mode 100644
index 0000000..274edcb
--- /dev/null
+++ b/app/app.constants.js
@@ -0,0 +1,20 @@
+(function () {
+ 'use strict';
+
+ angular
+ .module('dcaeApp')
+ .constant("dcaeConstants", {
+
+ params: {
+ "param1": "param1",
+ "param2": "param2",
+ "param3": "param3"
+ },
+
+ more: {
+ "more1": "more1",
+ "more2": "mroe2"
+ }
+
+ });
+})();
diff --git a/app/app.controller.js b/app/app.controller.js
new file mode 100644
index 0000000..94e79a1
--- /dev/null
+++ b/app/app.controller.js
@@ -0,0 +1,17 @@
+(function () {
+
+ 'use strict';
+
+ angular
+ .module('dcaeApp')
+ .controller('AppController', AppController);
+
+ function AppController($state,
+ $timeout,
+ $rootScope) {
+
+ var vm = this;
+
+ }
+
+})();
diff --git a/app/app.module.js b/app/app.module.js
new file mode 100644
index 0000000..47507e6
--- /dev/null
+++ b/app/app.module.js
@@ -0,0 +1,29 @@
+(function () {
+
+ 'use strict';
+
+ angular
+ .module('dcaeApp', [
+
+ // Core
+ 'ui.router',
+ 'dcaeApp.env',
+
+ // Modules
+ 'dcaeApp.header',
+ 'dcaeApp.navigation',
+ 'dcaeApp.main',
+ 'dcaeApp.dashboard.home',
+ 'dcaeApp.dashboard.about',
+ 'dcaeApp.dashboard.dcae',
+
+ // Services
+ 'dcaeApp.services.cacheService',
+ 'dcaeApp.services.users'
+
+ // Interceptors
+
+ // Main pages
+
+ ]);
+})();
diff --git a/app/app.route.js b/app/app.route.js
new file mode 100644
index 0000000..ee2a161
--- /dev/null
+++ b/app/app.route.js
@@ -0,0 +1,72 @@
+(function () {
+
+ 'use strict';
+
+ angular
+ .module('dcaeApp')
+ .config(routeConfig);
+
+ function routeConfig($stateProvider, $urlRouterProvider, dcaeConstants) {
+
+ //$urlRouterProvider.otherwise('/dcae/home');
+
+ var layoutStyle = 'contentOnly';
+
+ var layouts = {
+ contentWithHeaderAndNavigation: {
+ main: 'core/layouts/header-navigation-content/header-navigation-content.html',
+ header: 'core/header/layouts/horizontal-navigation/header.html',
+ navigation: 'core/navigation/layouts/horizontal-navigation/navigation.html'
+ },
+ contentOnly: {
+ main: 'core/layouts/content-only/content-only.html',
+ header: '',
+ navigation: ''
+ },
+ contentWithHeader: {
+ main: 'core/layouts/content-with-header/content-with-header.html',
+ header: 'header/layouts/content-with-header/header.html',
+ navigation: ''
+ }
+ };
+
+ // @if DEBUG
+ // Note: this section is removed when running grunt.
+ // If you want to run the application as standalone from the dist folder you need to remove: if DEBUG and endif and build the grunt again.
+ $stateProvider.state('dcae', {
+ url: '/dcae',
+ views: {
+ 'dcae@': {
+ template: '<div id="main" ui-view="main"></div>'
+ }
+ }
+ });
+ // @endif
+
+ // State definitions
+ $stateProvider
+ .state('dcae.app', {
+ parent: 'dcae',
+ abstract: true,
+ views: {
+ // This is the main view (defined in the hosting application)
+ 'main@dcae': {
+ templateUrl: layouts[layoutStyle].main,
+ controller: 'MainController as vm'
+ }/*,
+
+ // According to the view used in "main@" we have another 3 views in main: 'header@app', 'navigation@app' and 'content@app' (defined in each page module)
+ 'header@dcae.app': { // View inside the main
+ templateUrl: layouts[layoutStyle].header,
+ controller: 'HeaderController as vm'
+ },
+ 'navigation@dcae.app': { // View inside the main
+ templateUrl: layouts[layoutStyle].navigation,
+ controller: 'NavigationController as vm'
+ }*/
+ }
+ });
+
+ }
+
+})();
diff --git a/app/app.run.js b/app/app.run.js
new file mode 100644
index 0000000..8be7ad1
--- /dev/null
+++ b/app/app.run.js
@@ -0,0 +1,59 @@
+(function () {
+
+ 'use strict';
+
+ angular
+ .module('dcaeApp')
+ .run(runBlock);
+
+ function runBlock($rootScope, $timeout, $state, cacheService, ENV) {
+
+ $rootScope.user = {};
+
+ // Show loading circle
+ var stateChangeStartEvent = $rootScope.$on('$stateChangeStart', function () {
+ $rootScope.loadingProgress = true;
+ });
+
+ // Hide loading circle
+ var stateChangeSuccessEvent = $rootScope.$on('$stateChangeSuccess', function () {
+ $timeout(function () {
+ $rootScope.loadingProgress = false;
+ });
+ });
+
+ // Store state in the root scope for easy access
+ $rootScope.state = $state;
+
+ // Cleanup
+ $rootScope.$on('$destroy', function () {
+ stateChangeStartEvent();
+ stateChangeSuccessEvent();
+ });
+
+ // Load configuration
+ $rootScope.baseURL = ENV.apiBase;
+ window.host = ENV.host;
+ $rootScope.catalogImport = ENV.catalogImport;
+ window.catalogImport = ENV.catalogImport;
+ window.catalogPrefix = ENV.catalogPrefix;
+ $rootScope.cookieUser = ENV.cookieUser;
+ window.ruleEditorUrl = ENV.ruleEditorUrl;
+ // debugger;
+
+ cacheService.set('configuration', {
+ "urls": {
+ "auth": {
+ "login": $rootScope.baseURL + "dcaeApp/v1/engmgr/login",
+ "register": $rootScope.baseURL + "dcaeApp/v1/engmgr/signup"
+ }
+ }
+ });
+
+ /*$rootScope.$on('$stateChangeStart', function(e, to, toP, from, fromP) {
+ to.views['item-'+toP.itemId+'@home'] = to.views['item-:itemId@home'];
+ delete to.views['item-:itemId@home'];
+ });*/
+
+ }
+})();
diff --git a/app/comp-fe/asdc-catalog.js b/app/comp-fe/asdc-catalog.js
new file mode 100644
index 0000000..334a6d7
--- /dev/null
+++ b/app/comp-fe/asdc-catalog.js
@@ -0,0 +1,165 @@
+var log = log || function (x, y) {
+ var args = ["asdc-catalog:"].concat(Array.prototype.slice.call(arguments, 0));
+ console.log.apply(console, args);
+}
+
+setTimeout(function () {
+ sbox = document.getElementById('searchbox');
+ if (sbox) {
+ sbox.onkeypress = function (e) {
+ if (!e) e = window.event;
+ var keyCode = e.keyCode || e.which;
+ if (keyCode == '13') {
+ dosearch(sbox.value);
+ return false;
+ }
+ };
+ }
+}, 1000);
+
+function dosearch() {
+ input = document.getElementById("searchbox");
+ catalogbyname(".*(" + input.value + ").*");
+}
+
+var catalogprefix = window.catalogPrefix;
+
+function elements() {
+ // log("elements");
+ var url = "/catalog";
+ xhrget(url,
+ function (req) {
+ d3.select("#elementquery").remove();
+ var res = JSON.parse(req);
+ var list = d3.select("#catalogitemlist");
+ res.elements.map(function (item) {
+ (function () {
+ var div = list.append("div");
+ var name = item.name;
+ div.classed("folder", true)
+ .html("<b data-tests-id=" + name + ">" + name + "</b>")
+ .append("br");
+ div.on("click", function () {
+ div.on("click", null); // once only
+ items(item, div);
+ });
+ })();
+ });
+ });
+}
+
+function items(item, parent) {
+
+ var items = item.items;
+ items.map(function (item) {
+ var _item = item;
+ (function () {
+ var div = parent.append("div");
+ var name = _item.name;
+ log("ITEM", name, _item);
+
+ div.classed("item", true)
+ .attr('data-tests-id', name)
+ .html(name);
+
+ parent.append("div").style("clear", "both").style("height", 0);
+ div.on("click", function () {
+ dropdata(_item);
+ });
+
+ div.attr("draggable", true)
+ .classed("draggable", true);
+ div.node().addEventListener('dragstart', function (e) {
+ e.dataTransfer.effectAllowed = 'move';
+ e.dataTransfer.setData('product', JSON.stringify(_item));
+ });
+ })();
+ });
+
+}
+
+function catalogitem(id, fn) {
+ var nn = 0;
+ var url = "/" + id + "/model";
+ log("catalogitem:", url);
+ xhrget(url, function (resp) {
+ var x = JSON.parse(resp);
+ if (!_.isEmpty(x.error)) {
+ log("catalogitem error", x.error);
+ return;
+ }
+ if (_.isEmpty(x.data)) {
+ log("catalogitem NO DATA");
+ return;
+ }
+
+ x = x.data; // HACK
+
+ var model = x.model;
+ log("catalogitem", model.nodes);
+
+ if (!x.models) {
+ log("HACK models");
+ x.models = [x.model];
+ }
+
+ nn += model.nodes.length;
+ model.nodes.map(function (n) {
+ catalogtype(id, n.type, function (resp) {
+ var ti = JSON.parse(resp);
+ n.typeinfo = ti;
+
+ // patch things up (HACK)
+ log("HACK typeinfo");
+ n.typeinfo = n.typeinfo.data.type;
+ if (!n.typeinfo.requirements)
+ n.typeinfo.requirements = [];
+ if (!n.typeinfo.capabilities)
+ n.typeinfo.capabilities = [];
+
+ if (--nn == 0)
+ fn(x);
+ });
+ });
+ });
+}
+
+function catalogitem00(id, fn) {
+ var nn = 0;
+ var url = "/" + id + "/model";
+ log("catalogitem:", url);
+ xhrget(url, function (resp) {
+ var x = JSON.parse(resp);
+ var model = x.data.model;
+ //model.id = id;
+ model.name = "foo"; // HACK
+ log("catalogitem", id, x, model);
+ fn(model);
+ });
+}
+
+function xhrget(url, callback) {
+ var req = new XMLHttpRequest;
+ console.log(url);
+ // debugger;
+ url = catalogprefix + url;
+ // if (!(url.startsWith("https://") || url.startsWith("http://")))
+ // url = catalogprefix + url;
+ // console.log(url);
+ req.open("GET", url, true); // asynchronous request
+ req.onreadystatechange = function (x) {
+ if (req.readyState === 4)
+ callback(req.responseText);
+ };
+ req.send(null);
+}
+
+function catalogtype(id, type, fn) {
+ var url = "/" + id + "/type/" + type + "/";
+ xhrget(url, function (resp) {
+ //log("catalogtype", id, type, resp);
+ fn(resp);
+ });
+}
+
+setTimeout(elements, 500);
diff --git a/app/comp-fe/catalog.css b/app/comp-fe/catalog.css
new file mode 100644
index 0000000..5d674e3
--- /dev/null
+++ b/app/comp-fe/catalog.css
@@ -0,0 +1,248 @@
+.product {
+ font-size: 140%;
+}
+
+#catalog {
+ width: auto;
+ overflow: hidden;
+ height: 100%;
+ font-family: helvetica; //font-weight: 200;
+}
+
+#catalogitemlist {
+ display: inline-block;
+ overflow-x: hidden;
+ max-height: 95%;
+ width: 360px;
+ pointer-events: all; //margin-top: 10px;
+ margin: 4px;
+ padding: 6px;
+ border: 1px solid rgba(50, 50, 50, 0.5); //border-radius: 11px;
+ //background: rgba(238,238,238,0.4);
+ transition: 1s;
+ overflow: scroll;
+ max-height: 800px;
+}
+
+#catalogitemlist:hover {
+ //background: rgba(238,238,238,0.9);
+}
+
+.big-btn {
+ width: 100%;
+}
+
+.catalogitems {
+ overflow-y: visible;
+ overflow-x: hidden;
+}
+
+.catalogitem {
+ display: unset;
+ margin: 5px; //width: 320px;
+ padding: 15px;
+ padding-left: 15px;
+ padding-bottom: 15px; //border-radius: 10px;
+ border: 1px dotted rgba(50, 50, 50, 0.5);
+ overflow-x: hidden;
+}
+
+.catalogitem:hover {
+ border: 1px dotted rgba(50, 50, 50, 0.5);
+}
+
+.inflight {
+ transform: scale(.5);
+}
+
+.template {
+ padding-left: 15px;
+}
+
+.node {
+ margin-left: 10px;
+ padding: 2px;
+ border-radius: 8px;
+}
+
+.node:hover {
+ background-color: rgba(0, 0, 0, 0.15);
+}
+
+.nodebody {
+ padding-left: 15px;
+}
+
+.propinput {
+ padding-left: 15px;
+}
+
+.notes {
+ display: inline-block;
+ vertical-align: top;
+ text-align: left;
+ font-size: 16px;
+ padding-left: 8px;
+ width: 300px;
+}
+
+.dotbox {
+ width: 300px;
+ margin: 4px;
+ outline: 1px dotted rgba(50, 50, 50, 0.5);
+}
+
+.nodebox {
+ max-width: 310px;
+ margin: 4px;
+ margin-left: 15px;
+ overflow: hidden;
+ line-spacing: 1.1;
+}
+
+.dcae-label {
+ display: inline-block;
+ width: 100px;
+ text-align: left top;
+}
+
+.dragover {
+ background-color: gray;
+}
+
+.dcae-input {
+ color: black;
+ border: 1px dotted rgba(50, 50, 50, 0.5);
+ background-color: rgba(0, 0, 0, 0);
+ font-size: 100%;
+ font-family: Raleway;
+}
+
+.dcae-input:focus {
+ outline: 1px solid rgba(50, 50, 50, 0.5);
+}
+
+#dragcover {
+ z-index: -1;
+ position: absolute;
+ left: 0;
+ bottom: 0;
+ width: 600;
+ height: 600;
+ -webkit-transform: scale(0.3);
+ -webkit-transform-origin: bottom left;
+ padding: 4px;
+ overflow: hidden;
+ background: #eeeeee;
+}
+
+#dragdiv {
+ z-index: -2;
+ position: absolute;
+ left: 0;
+ bottom: 0;
+ width: 600px;
+ height: auto;
+ -webkit-transform: scale(0.3);
+ -webkit-transform-origin: bottom left;
+ padding: 4px;
+ overflow: hidden;
+}
+
+#dragtext {
+ font-size: 350%;
+}
+
+#innerdragdiv {
+ width: 380px;
+ height: auto;
+ margin-left: 30px;
+ border-radius: 15;
+ overflow: hidden;
+}
+
+#top {
+ font-size: 200%;
+}
+
+#search {
+ font-size: 120%;
+ position: absolute;
+ left: 10px;
+ max-width: 900px; //height: 400px;
+ line-height: 2.3;
+ overflow-x: visible;
+ margin: 0 auto;
+}
+
+body::-webkit-scrollbar {
+ width: 1px;
+}
+
+#searchfield {
+ display: block;
+ float: left;
+}
+
+#searchitems {
+ display: block;
+ float: left;
+ pointer-events: all;
+ height: auto;
+ width: auto;
+ max-width: 400px;
+ max-height: 300px;
+ padding: 4px;
+ margin-left: 12px;
+ overflow-x: hidden;
+ overflow-y: auto;
+ line-height: 2;
+ background: #eeeeee;
+ box-shadow: 4px 4px 50px rgba(0, 0, 0, 1);
+}
+
+#searchbox {
+ font-family: Raleway;
+ pointer-events: all;
+ margin-bottom: 10px;
+}
+
+.searchitem {
+ pointer-events: all;
+ margin: 2px;
+ padding: 5px;
+ outline: 1px dotted rgba(50, 50, 50, 0.5);
+}
+
+.searchitem:hover {
+ outline: 1px solid rgba(50, 50, 50, 0.5);
+}
+
+.folder {
+ margin: 5px; //width: 320px;
+ padding: 15px;
+ padding-left: 15px;
+ padding-bottom: 15px; //border-radius: 10px;
+ outline: 1px dotted rgba(50, 50, 50, 0.5);
+ overflow-x: hidden;
+}
+
+.folder:hover {
+ outline: 2px solid rgba(50, 50, 50, 0.5); //background: rgba(255,0,0,0.2);
+}
+
+.draggable {
+ //background: rgba(0,0,0,0.1);
+}
+
+.item.draggable:hover {
+ outline: 1px solid rgba(0, 0, 0, 0.8); //background: rgba(255,255,255,0.6);
+}
+
+.item {
+ padding: 2px;
+ margin: 1px;
+ margin-left: 20px;
+ display: inline-block;
+ outline: 1px solid rgba(0, 0, 0, 0);
+}
diff --git a/app/comp-fe/catalog.html b/app/comp-fe/catalog.html
new file mode 100644
index 0000000..f0d80b2
--- /dev/null
+++ b/app/comp-fe/catalog.html
@@ -0,0 +1,57 @@
+<html>
+
+<head>
+ <link rel="stylesheet" href="ice.css">
+ <link rel="stylesheet" href="catalog.css">
+ <style type="text/css">
+ #catalogdiv {
+ transform: scale(.7);
+ }
+ </style>
+ <!--<script type="text/javascript" src="js/underscore-min.js"></script>
+ <script type="text/javascript" src="js/d3.min.js"></script>
+ <script type="text/javascript" src="js/react.min.js"></script>-->
+ <script src="catalog.js"></script>
+</head>
+
+<body>
+ <script type="text/javascript">
+ setTimeout(function () {
+ sbox = document.getElementById('searchbox');
+ sbox.onkeypress = function (e) {
+ if (!e) e = window.event;
+ var keyCode = e.keyCode || e.which;
+ if (keyCode == '13') {
+ dosearch(sbox.value);
+ return false;
+ }
+ };
+
+ }, 1000);
+ </script>
+ <div id=catalogdiv>
+ <div id=search>
+ <div id=searchfield>
+ catalog search<br>
+ <input id=searchbox size=35 oninput="dosearch" value=".*">
+ </div>
+ <div id="searchitems"></div>
+ </div>
+ <br style="clear:both" />
+ <div id="catalog">
+ <div id="catalogitemlist">
+ </div>
+
+ </div>
+ </div>
+
+ <div id="dragdiv">
+ <div id="dragtext"></div>
+ <div id="innerdragdiv"> </div>
+ </div>
+ <!-- i am going to hell when i die -->
+ <div id="dragcover"> </div>
+ </div>
+</body>
+
+</html>
diff --git a/app/comp-fe/catalog.js b/app/comp-fe/catalog.js
new file mode 100644
index 0000000..dc7006e
--- /dev/null
+++ b/app/comp-fe/catalog.js
@@ -0,0 +1,89 @@
+setTimeout(function () {
+ sbox = document.getElementById('searchbox');
+ sbox.onkeypress = function (e) {
+ if (!e) e = window.event;
+ var keyCode = e.keyCode || e.which;
+ if (keyCode == '13') {
+ dosearch(sbox.value);
+ return false;
+ }
+ };
+
+}, 1000);
+
+function dosearch() {
+ input = document.getElementById("searchbox");
+ catalogbyname(".*(" + input.value + ").*");
+}
+
+var catalogprefix = "";
+
+function catalogbyname(pattern) {
+ xhrget(catalogprefix + "/byname?" + pattern,
+ function (req) {
+ var res = JSON.parse(req);
+ var list = d3.select("#catalogitemlist");
+ res.result.map(function (item) {
+ var div = list.append("div");
+
+ (function () {
+ div.classed("catalogitem", true)
+ .attr("draggable", true)
+ .html(item.name)
+ .append("br");
+ div.node().addEventListener('dragstart', function (e) {
+ var _item = item;
+ e.dataTransfer.effectAllowed = 'move';
+ e.dataTransfer.setData('product', JSON.stringify(_item));
+ });
+
+ })();
+
+ });
+ });
+}
+
+function catalogitem(id, fn) {
+ var nn = 0;
+ xhrget(catalogprefix + "/itembyid?" + id, function (resp) {
+ var x = JSON.parse(resp);
+ if (x.models && x.models.length > 0) {
+ x.models.map(function (w) {
+ nn += w.nodes.length;
+ w.nodes.map(function (n) {
+ if (n.id == 0) { // dummy node special case
+ if (--nn == 0)
+ fn(x);
+ } else {
+ xhrget(catalogprefix + "/type?" + n.type.name, function (resp) {
+ var ti = JSON.parse(resp);
+ n.typeinfo = ti;
+ if (--nn == 0)
+ fn(x);
+ });
+ }
+ });
+ });
+ } else {
+ fn(x);
+ }
+ });
+}
+
+function catalogtype(typename, fn) {
+ xhrget(catalogprefix + "/type?" + typename, fn);
+}
+
+/* e.g.
+ catalogtype(n.type.name, function(resp) {
+ var ti = JSON.parse(resp);
+ n.typeinfo = ti;
+ addnode(n);
+ });
+ */
+
+
+function log(x, y) {
+ var args = ["catalog:"].concat(Array.prototype.slice.call(arguments, 0));
+ console.log.apply(console, args);
+}
diff --git a/app/comp-fe/composition.css b/app/comp-fe/composition.css
new file mode 100644
index 0000000..2431858
--- /dev/null
+++ b/app/comp-fe/composition.css
@@ -0,0 +1,626 @@
+body {
+ overflow: hidden;
+}
+
+#icecat {
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
+}
+
+.product {
+ padding: 5px;
+ margin: 5px;
+ background: rgba(0,0,0,0.05);
+ border-radius: 10px;
+}
+#products {
+ position:absolute;
+ top:10px;
+ left:0px;
+ width:140px;
+ height:200px;
+ font-size: 10px;
+ background: rgba(0,0,0,0);
+ z-index: 10;
+}
+#productlist {
+ position:absolute;
+ top:0;
+}
+.part {
+ padding: 2px;
+ margin: 3px;
+ margin-left: 5px;
+ background: rgba(0,0,0,0.1);
+ display: table;
+}
+.part span {
+ //background: rgba(0,0,0,0.1);
+}
+.part:hover {
+ outline: 1px solid black;
+}
+
+.partnode {
+ padding: 2px;
+ margin-left: 10px;
+}
+.partnode span {
+ padding: 1px;
+ background: rgba(0,0,0,0.1);
+}
+.partnode span:hover {
+ background: rgba(200,100,100,0.3);
+}
+
+.compositionbody {
+ margin:0;
+ padding:0;
+ font-size: 14px;
+ //font-family: Raleway;
+ font-family: helvetica;
+ color: black;
+ //overflow-x: hidden;
+ //overflow-y: hidden;
+ //position:fixed;
+ //text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.5);
+ background: rgba(255, 255, 255, 0);
+
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -o-user-select: none;
+ user-select: none;
+}
+
+#compositioncontainer {
+ //position:absolute;
+ overflow:hidden;
+ width: 100%; height: 100%;
+ user-select: none;
+}
+#under {
+ z-index:-10;
+ background: rgba(0,0,0,0);
+ position:absolute;
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
+ margin: 0;
+ padding: 0;
+}
+#overlay {
+ z-index:1;
+ background: rgba(0,0,0,0);
+ position:absolute;
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
+ margin: 0; padding: 0;
+ pointer-events: none;
+}
+svg {
+ pointer-events: all;
+ overflow: visible;
+}
+
+.node {
+ //fill: rgba(190,190,190,0.8);
+ fill: #ccc;
+ //fill-opacity: .6;
+ text-shadow: 1px 1px 3px rgba(0,0,0,0.5);
+ stroke: rgba(0,0,0,0.2);
+}
+
+.node:hover {
+ stroke: rgba(0,0,0,0.5);
+}
+.nodeport {
+ //visibility:hidden;
+ text-shadow: none;
+ //text-color: rgba(0,0,0,0.4);
+ //fill-opacity: 1;
+ //transform: scale(1);
+}
+.nodeport:hover {
+ //fill: #f00;
+}
+
+.nodeporttext {
+ transition: .5s;
+ text-anchor: middle;
+ //font: 12px Raleway;
+ //font: 12px helvetica;
+ font-size: 12px;
+ font-family:helvetica;
+ pointer-events: none;
+ //stroke: rgba(0,0,0,0.3);
+ fill: rgba(0,0,0,0.6);
+ text-color: rgba(0,0,0,0.6);
+ //stroke-opacity: 0.7;
+ //opacity: 0.8;
+}
+.nodeporttext:hover {
+ font-size: 14px;
+}
+
+.hidden {
+ visibility: hidden;
+}
+.srcport {
+}
+.srcport:hover {
+ //fill: rgba(0,0,255,0.5);
+}
+
+.capabilityport {
+ fill: #beb;
+}
+.requirementport {
+ fill: #ebb;
+}
+
+.targetport {
+ //visibility: hidden;
+}
+.targeting:hover .nodeportcircle {
+ visibility: visible;
+}
+
+.targetcircle {
+ stroke: rgba(0,0,0,0);
+ fill: rgba(0,0,0,0);
+ fill: none;
+}
+.targeting:hover .targetcircle {
+ fill: rgba(0,0,0,0.2);
+ stroke: rgba(0,0,0,0.5);
+ stroke-width: .5;
+ visibility: visible;
+ -webkit-animation: pulsate 1s ease-out 0s infinite alternate;
+ animation: pulsate 1s ease-out 0s infinite alternatedil;
+}
+@keyframes pulsate {
+ 0% {transform: scale(0.9); opacity: 0.0;}
+ 50% {opacity: 0.8;}
+ 100% {transform: scale(2); opacity: 0.0;}
+}
+
+#catalogdiv {
+ position:absolute;
+ top: 5px;
+ right: 5px;
+ transform: scale(0.7);
+ transform-origin: top right;
+}
+
+.type-select{
+ width: 90%;
+ display: block;
+ margin: 10px auto;
+ height: 45px;
+ line-height: 40px;
+ padding: 0 5px;
+ font-size: 22px;
+ border: 2px solid #68c6e9;
+}
+
+.pendingquery {
+ font-style: italic;
+ margin-left: 20px;
+ -webkit-animation: pending 1s ease-out 0s infinite alternatedil;
+ animation: pending 1s ease-out 0s infinite alternatedil;
+}
+@keyframes pending {
+ 0% { opacity: 1.0;}
+ 50% {opacity: 0.5;}
+ 100% {opacity: 1.0;}
+}
+
+.svgtext {
+ text-anchor: middle;
+ //font: 12px Raleway;
+ font: 12px helvetica;
+ stroke: rgba(0,0,0,0.6);
+ pointer-events: none;
+}
+.relation {
+ fill-opacity: 0;
+ stroke-width: 10;
+ stroke-opacity: 0.4;
+ stroke-linecap: round;
+ stroke: #777;
+ //transition: .5s;
+}
+.relation:hover {
+ stroke: #555;
+}
+.pending {
+ stroke-dasharray: 10,25;
+}
+.tmprelation {
+ fill-opacity: 0;
+ stroke-width: 10;
+ stroke-opacity: 0.6;
+ stroke-linecap: round;
+ stroke: #777;
+ pointer-events: none;
+ stroke-dasharray: 10,20;
+ //transition: .5s;
+}
+.fixed {
+}
+#minutiae {
+ width: 150;
+ height: 15;
+ border: 1px solid rgba(50,50,50,0.5);
+ background: rgba(238,238,238,0.2);
+ border-radius: 5px;
+ transition: height 1s, width 2s;
+ transition-delay: 5s;
+ transform-origin: bottom right;
+ padding: 4px;
+ margin: 4px;
+ margin-bottom: 10px;
+ overflow: hidden;
+ position:absolute;
+ right: 5;
+ bottom: 40;
+}
+#minutiae:hover {
+ transition-delay: 0s;
+ width: 200;
+ height: 300;
+ transform: scale(1);
+ background: rgba(238,238,238,0.8);
+ pointer-events: all;
+}
+#project {
+ position:absolute;
+ bottom: 4;
+ left: 4;
+}
+iiinput {
+ color: black;
+ border: 1px dotted rgba(50,50,50,0.5);
+ background-color: rgba(0,0,0,0);
+}
+iiinput:focus {
+ outline: 1px solid rgba(50,50,50,0.5);
+}
+.nodetext {
+ padding:2px;
+ font: 13px helvetica;
+ text-align: center;
+ display: table-cell;
+ vertical-align: middle;
+ /*border-radius: 10px;*/
+}
+.nodetypetext {
+ font-size: 7px;
+ /*text-shadow: none;*/
+}
+
+.confignode {
+ /*visibility: hidden;*/
+ pointer-events: all;
+ font-size: 60%;
+ background: #8ac6fb;
+ padding: 0.3rem;
+ border-radius: 28px;
+}
+.nodetext:hover .confignode {
+ visibility: visible;
+}
+.confignode:hover {
+ visibility: visible;
+ background: rgba(255,100,100,0.5);
+}
+#configeditor {
+ font-family: helvetica;
+ font-size: 12px;
+ padding: 5px;
+ position:absolute;
+ z-index:10;
+ width: 100%;
+ height: 600px;
+ visibility: hidden;
+ border-radius: 5px;
+ background: rgba(238,238,238,0.9);
+ box-shadow: 4px 4px 50px rgba(0,0,0,1);
+ transition: .2s;
+ pointer-events: all;
+ transform-origin: top left;
+ border-radius: 5px;
+ overflow: hidden;
+ bottom: 0px;
+ right: 0px;
+ top: 0;
+ left: 0;
+ margin-left: auto;
+ margin-right: auto;
+
+}
+#configstuff {
+ width: 100%;
+ height: 564px;
+ overflow: hidden;
+}
+
+.configbutton{
+ background: #009fdb;
+ font-family: Arial;
+ color: #ffffff;
+ font-size: 14px;
+ padding: 5px 15px 5px 15px;
+ margin: 0.1rem;
+ float: right;
+ height: 100%;
+ cursor: pointer;
+ border-radius: 5px;
+}
+
+.config-fotter {
+ position:absolute;
+ height: 39px;
+ left: 0px;
+ bottom: 0px;
+ width: 100%;
+}
+
+.config-fotter .btn {
+ float: right;
+ margin-right: 5px;
+}
+
+.btn.btn-primary {
+ background-color: #009fdb;
+ border-color: #009fdb;
+}
+
+.btn.btn-default {
+ color: #009fdb;
+ border-color: #009fdb;
+}
+
+.btn.btn-default:hover {
+ color: #009fdb;
+ border-color: #009fdb;
+}
+
+.modal-footer {
+ background-color: #f8f8f8;
+ border: none !important;
+}
+
+.modal-header .modal-header-info {
+ border-top: solid 3px #009fdb;
+ margin-top: 10px;
+ margin-bottom: 0px;
+}
+
+.modal-header .modal-header-error {
+ border-top: solid 3px #cf2a2a;
+ margin-top: 10px;
+ margin-bottom: 0px;
+}
+
+.modal-header {
+ border: none !important;
+}
+
+#problem {
+ padding: 5px;
+ position:absolute;
+ width: 100px;
+ height: 50px;
+ visibility: hidden;
+ border-radius: 10px;
+ background: rgba(238,238,238,0.9);
+ box-shadow: 4px 4px 50px rgba(0,0,0,1);
+ transition: .2s;
+ pointer-events: all;
+ transform-origin: top left;
+ font-size: 20px;
+ vertical-align: middle;
+ text-align: center;
+}
+
+
+#bottombar {
+ width: 100%;
+ position:fixed;
+ bottom:0px;
+ text-align: center;
+ transform: scale(.3);
+ opacity: 0;
+}
+#viewclasses {
+ z-index: 2;
+ display:inline-block;
+ text-align: center;
+ background: rgba(0,0,0,0.2);
+ padding: 4px;
+ padding-left: 10px;
+ border-radius: 4px;
+}
+.viewclass {
+ margin-right: 20px;
+ margin-left: 20px;
+ padding: 2px;
+ border: 1px solid rgba(50,50,50,0.5);
+ border-radius: 3px;
+}
+.viewclass:hover {
+ outline: 2px solid rgba(50,50,50,0.5);
+}
+.activeview {
+ background: rgba(125,125,125,0.9);
+}
+
+.faded {
+ transition: 1s;
+ opacity: 0.15;
+}
+
+
+.asc_nodes_Router_CPE {
+ fill: #cbb;
+}
+
+.asc_nodes_Link_CPE_CPE_site2site {
+ fill: #bcb;
+}
+
+.asc_nodes_Feature_Data_Gamma_Link_Data {
+ fill: #bbc;
+}
+
+
+.asc_nodes_Feature_Firewall {
+ fill: green;
+}
+
+.asc_nodes_Feature_Switch {
+ fill: green;
+}
+
+.asc_nodes_Feature_Link {
+ fill: green;
+}
+
+.asc_nodes_Feature_ {
+ fill: @asc_nodes_Feature_
+}
+
+.asc_nodes_Router_Gateway_Internet {
+ fill: #ccb;
+}
+
+.asc_nodes_Link_CPE_Gateway_mis {
+ fill: #bcc;
+}
+
+.asc_nodes_NOD {
+ fill: #bcc;
+}
+.asc_nodes_VPN {
+ fill: #cbc;
+}
+.asc_nodes_Site {
+ fill: #bcb;
+}
+
+.asc_nodes_VIG {
+ fill: #cbb;
+}
+.asc_nodes_AppServer {
+ fill: #bbc;
+}
+
+.fabulous {
+ stroke: rgba(0,255,0,0.5);
+ stroke-width: 10px;
+}
+
+.dragpart {
+ font-size: 30px;
+ position: absolute;
+}
+
+.highlight {
+ fill: #44c8f5;
+ background-color: #f2f2f2;
+}
+#editNodeProperties {
+ padding: 5px;
+ position:absolute;
+ z-index:10;
+ width: 500px;
+ visibility: hidden;
+ border-radius: 5px;
+ background: rgba(238,238,238,0.9);
+ box-shadow: 4px 4px 50px rgba(0,0,0,1);
+ transition: .2s;
+ pointer-events: all;
+ transform-origin: top left;
+ transform: scale(.001);
+ border-radius: 3px;
+ vertical-align:middle;
+}
+#editNodePropertiesHeaderBoard {
+ position:relative;
+ background-color:FloralWhite;
+ border-radius:10px;
+ margin-bottom:5px;
+}
+#editNodePropertiesHeader {
+ display:inline-block;
+ width:90%;
+ text-align:center;
+ font-size:125%;
+ margin-left:15px;
+}
+.editNodePropertyLabel {
+ display:inline-block;
+ width:35%;
+ text-align:right;
+ margin-right:0.5em;
+}
+.editNodePropertyValue {
+ display:inline-block;
+ width:60%;
+ text-align:left;
+}
+.editNodePolicyLabel {
+ display:inline-block;
+ width:50%;
+ text-align:right;
+ margin-right:0.5em;
+}
+.editNodePolicyValue {
+ display:inline-block;
+ width:45%;
+ text-align:left;
+}
+.rule-editor-btn {
+ cursor: pointer;
+ width: auto;
+ font-size: 16px;
+ margin-left: 2px;
+ color: #999999;
+}
+.rule-editor-btn:hover {
+ color: #009fdb;
+}
+.rule-editor-modal .modal-header {
+ position: absolute;
+ border-bottom: none;
+ width: 100%;
+}
+
+@keyframes pulse-info {
+ 0% {
+ -moz-box-shadow: 0 0 0 0 rgba(104, 198, 233, 0.9);
+ box-shadow: 0 0 0 0 rgba(104, 198, 233, 0.9);
+ }
+ 70% {
+ -moz-box-shadow: 0 0 0 10px rgba(104, 198, 233, 0);
+ box-shadow: 0 0 0 10px rgba(104, 198, 233, 0);
+ }
+ 100% {
+ -moz-box-shadow: 0 0 0 0 rgba(104, 198, 233, 0);
+ box-shadow: 0 0 0 0 rgba(104, 198, 233, 0);
+ }
+}
+
+.pulse-info {
+ animation: pulse-info 1.5s infinite;
+}
+
+.mandatory {
+ font-size: 34px;
+ position: absolute;
+ color: red;
+} \ No newline at end of file
diff --git a/app/comp-fe/composition.js b/app/comp-fe/composition.js
new file mode 100644
index 0000000..be03f5d
--- /dev/null
+++ b/app/comp-fe/composition.js
@@ -0,0 +1,3004 @@
+(function () {
+ /**
+ * workaround to register events only once
+ * and get just the inner-event
+ */
+ var eventMap = {};
+ window.addEventListener('message', function (event) {
+ var innerEvent = event.data;
+ var handler = eventMap[innerEvent.type];
+ if (handler instanceof Function) {
+ handler(innerEvent.data);
+ }
+ });
+
+ /**
+ * Use this function to register to post message events
+ */
+ window.registerPostMessageEvent = function (type, handler) {
+ eventMap[type] = handler;
+ };
+})();
+
+function alertNoFlowTypeSelected() {
+ $('#selected-type-mt')
+ .addClass('pulse-info')
+ .on('change', function (event) {
+ $(event.target).removeClass('pulse-info');
+ })
+ alertError('Please select the flow type to continue');
+}
+
+var CompositionEditor = function () {
+ var componentId = document
+ .getElementById('iframe')
+ .getAttribute('componentid');
+ var userId = document
+ .getElementById('iframe')
+ .getAttribute('user_id');
+ var readOnlyComponent = document
+ .getElementById('iframe')
+ .getAttribute('readOnlyComponent');
+ var curcomp = {
+ cid: null,
+ //1806 US374595 save flow type in cdump
+ flowType: null,
+ version: 0,
+ nodes: [],
+ relations: [],
+ inputs: [],
+ outputs: []
+ };
+ window.d3Data = curcomp;
+ curcomp.cid = componentId;
+ this.curcomp = curcomp;
+
+ var flowTypes = window.flowTypes;
+ var typeSelect = document.getElementById("selected-type-mt");
+
+ if (flowTypes.length > 0) {
+ flowTypes
+ .forEach(function (flowType) {
+ var myOption = document.createElement("option");
+ myOption.text = flowType;
+ myOption.value = flowType;
+ typeSelect.add(myOption);
+ });
+ }
+
+ typeSelect
+ .addEventListener("change", function () {
+ curcomp.flowType = typeSelect.value;
+ });
+
+ document
+ .getElementById("savebtn")
+ .setAttribute("data-tests-id", "SaveButton");
+ document
+ .getElementById("savebtn")
+ .setAttribute("disabled", "true");
+ document
+ .getElementById("savebtn")
+ .setAttribute("style", "opacity:0.5");
+
+ if (readOnlyComponent == 'true') {
+ var componentUser = document
+ .getElementById('iframe')
+ .getAttribute('componentUser');
+ alertError("The resource is already checked out by user: " + componentUser);
+ } else {
+ document
+ .getElementById("savebtn")
+ .removeAttribute("disabled");
+ document
+ .getElementById("savebtn")
+ .setAttribute("style", "opacity:1");
+ }
+
+ document
+ .getElementById("savebtn")
+ .addEventListener("click", function () {
+ var mt = $('#selected-type-mt').val();
+ if (!mt) {
+ alertNoFlowTypeSelected();
+ return;
+ }
+ compController.saveComposition(curcomp);
+ });
+
+ var vfni = document
+ .getElementById('iframe')
+ .getAttribute('vnfiname');
+
+ // document.getElementById("submitbtn").setAttribute("data-tests-id",
+ // "SubmitButton"); if (!(vfni !== null && vfni !== "") || readOnlyComponent ==
+ // 'true') { //
+ // document.getElementById("submitbtn").setAttribute("disabled", "true"); //
+ // document.getElementById("submitbtn").setAttribute("style", "opacity:0.5"); }
+ // else { document.getElementById("submitbtn").addEventListener("click",
+ // function () { var mt = $('#selected-type-mt').val(); if (mt
+ // == null) { alertNoFlowTypeSelected(); return; }
+ // console.log('entered submitbtn eventlistener'); var component_Id =
+ // document.getElementById('iframe').getAttribute('componentid'); var
+ // serviceuuid = document.getElementById('iframe').getAttribute('serviceuuid');
+ // var vnfiname =
+ // document.getElementById('iframe').getAttribute('vnfiname');
+ // compController.createBlueprint(component_Id, serviceuuid, vnfiname, mt); });
+ // //console.log(x); }
+
+ function log(x, y) {
+ var args = ["composition:"].concat(Array.prototype.slice.call(arguments, 0));
+ console
+ .log
+ .apply(console, args);
+ }
+
+ function simulateclick(x, y, target) {
+ target = target || document.body;
+ var e = document.createEvent("MouseEvent");
+ e.initMouseEvent("click", true, true, window, 1, 0, 0, x, y, false, false, false, false, 0, null);
+ target.dispatchEvent(e);
+ }
+
+ function addcss(id, text) {
+ var head = document.getElementsByTagName("head")[0];
+ var style = document.createElement("style");
+ style.id = id;
+ style.type = "text/css";
+ style.innerHTML = text;
+
+ // if style with this id exists, remove it
+ try {
+ var styles = head.getElementsByTagName("style");
+ if (styles)
+ _.each(styles, function (x) {
+ if (x.id == id)
+ head.removeChild(x);
+ }
+ );
+ }
+ catch (e) {
+ log(e);
+ }
+ head.appendChild(style);
+ return style;
+ }
+
+ function parentmsg(s) {
+ return parent.postMessage(s, '*');
+ }
+
+ var msgid = 0;
+
+ function basemsg(action) {
+ return {
+ "action": action,
+ "channelID": "ice-to-cart",
+ "id": msgid++,
+ "timestamp": new Date()
+ };
+ }
+
+ function uuid() {
+ function s4() {
+ return Math.floor((1 + Math.random()) * 0x10000)
+ .toString(16)
+ .substring(1);
+ }
+
+ return s4() + s4() + '-' + s4() + '-' + s4() + '-' + s4() + '-' + s4() + s4() + s4();
+ }
+
+ function parsequery(s) {
+ s = s.substring(s.indexOf('?') + 1).split('&');
+ var params = {},
+ pair;
+ // march and parse
+ for (var i = s.length - 1; i >= 0; i--) {
+ pair = s[i].split('=');
+ params[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);
+ }
+ return params;
+ }
+
+ var cid = "<span style='color:red'>NULL</span>";
+
+ function getCompositionError(error) {
+ console.error("unable to get composition: %o", error);
+ }
+
+ function init(cid) {
+ log("init");
+ cid = cid || uuid();
+ log("cid", cid);
+ curcomp.cid = cid;
+ console.log("get composition is called ");
+ $
+ .get(window.configOptions.backend_url + "getComposition/" + cid)
+ .then(function (resData) {
+ if (resData && resData.successResponse) {
+ try {
+ var composition = JSON.parse(resData.successResponse);
+ composition.cid = cid;
+ onCompositionEvent("initend");
+ restoregraph(composition);
+ } catch (error) {
+ getCompositionError(error);
+ }
+ } else {
+ document.dispatchEvent(new CustomEvent('noComposition'));
+ }
+ })
+ .fail(getCompositionError);
+
+ deletebutton();
+ }
+
+ function deletebutton() {
+ d3
+ .select("#compositiondiv")
+ .append("div")
+ .style("position", "absolute")
+ .style("bottom", "30px")
+ .style("right", "5px")
+ .style("background", "rgba(255,0,0,0.3)")
+ .html("toggle node deletion")
+ .on("click", function (d) {
+ if (d3.selectAll(".deletenode").style("visibility") == "hidden")
+ d3.selectAll(".deletenode").style("visibility", "visible");
+ else
+ d3
+ .selectAll(".deletenode")
+ .style("visibility", "hidden");
+ }
+ );
+ }
+
+ function getcdump(cid) {
+ var pe = svg.style("pointer-events");
+
+ log("suspend pointer-events");
+ svg.style("pointer-events", "none");
+
+ // fallback in case xhrget doesn't reset svg pointer events
+ setTimeout(function () {
+ if (svg.style("pointer-events") != pe) {
+ log("restore pointer-events fallback");
+ svg.style("pointer-events", pe);
+ }
+ }, 2000);
+
+ return new Promise(function (resolve, reject) {
+ xhrget("/cdump?cid=" + cid, function (resp) {
+ log("restore pointer-events");
+ if (svg.style("pointer-events") != "none") // assert?
+ log("wtf pointer-events");
+ svg.style("pointer-events", pe);
+ try {
+ resolve(JSON.parse(resp));
+ } catch (e) {
+ reject({"exception": e, "response": resp});
+ }
+ });
+ });
+ }
+
+ function compositionreadonly(val) {
+ if (val == undefined)
+ val = true;
+ if (val)
+ svg.style("pointer-events", "none");
+ else
+ svg.style("pointer-events", "all");
+ return svg.style("pointer-events");
+ }
+
+ function restoregraph(c) {
+ if (!c.nodes)
+ return;
+
+ curcomp.cid = c.cid;
+ rc = c;
+
+ c
+ .nodes
+ .forEach(function (n) {
+ addnode(n, 0, 0, n.ndata);
+ });
+ c
+ .relations
+ .forEach(function (r) {
+ var m = r.meta;
+ addlink(m.n1, m.n2, m.p1, m.p2, true);
+ });
+ sortinterfaces(); // HACK
+ //1806 US374595 flowType saved to cdump
+ if (c.flowType && _.contains(flowTypes, c.flowType)) {
+ typeSelect.value = c.flowType;
+ curcomp.flowType = typeSelect.value;
+ } else {
+ console.log(c.flowType + " not in flowTypes DDL")
+ }
+ }
+
+ function postcompimg() {
+ log("postcompimg");
+ /*xhrpostraw("/compimg?cid="+cid, serialsvg(),
+ function(resp) { log("compimg", resp); },
+ "image/svg");*/
+ }
+
+ function commitcomposition(callback) {
+ console.log("commitcomposition");
+ /*xhrpost("/composition.commit?cid="+cid, {},
+ function(resp) {
+ callback(resp);
+ });*/
+ }
+
+ function jsonparse(x) {
+ try {
+ return JSON.parse(x);
+ } catch (e) {
+ log("jsonparse", x, e);
+ throw e;
+ }
+ }
+
+ function template(id, fn) {
+ /*xhrget("/template?" + id, function(resp) {
+ var tp = JSON.parse(resp);
+ if (! tp.nodes) {
+ log("template:oops", tp);
+ fn(null);
+ }
+ var nn = tp.nodes.length;
+ if (nn == 0)
+ fn(tp);
+ else {
+ tp.nodes.map(function(n) {
+ if (n.id == 0) { // dummy node special case
+ if (--nn == 0)
+ fn(tp);
+ } else {
+ xhrget("/type?" + n.type.name, function(resp) {
+ var ti = JSON.parse(resp);
+ n.typeinfo = ti;
+ if (--nn == 0)
+ fn(tp);
+ });
+ }
+ });
+ }
+ });*/
+ }
+
+ function template0(id, fn) {
+ /*xhrget("/template?" + id, function(resp) {
+ var tp = JSON.parse(resp);
+ fn(tp);
+ });*/
+ }
+
+ function addtemplate(id) {
+ template(id, addcomp);
+ }
+
+ function addproduct(prod, x, y) {
+ log("addproduct", prod);
+ if (prod.offer) {
+ clearComposition();
+ }
+ catalogitem(prod.uuid, function (p) {
+ log("addproduct p", p);
+
+ // HACK -- this can't be right
+ log("HACK node.id", prod.uuid);
+ p
+ .model
+ .nodes
+ .forEach(function (n) {
+ n.id = prod.uuid;
+ });
+
+ if (p.models && p.models.length > 0) {
+ // addcomp
+ p
+ .models
+ .map(function (w) {
+ dropdata(w, x || bw / 2, y || bh / 2);
+ });
+ }
+ onCompositionEvent("added.product.to.composition", prod);
+ });
+ }
+
+ function setnodeproperties(nid, properties) {
+ /*xhrpost("/composition.setnodeproperties?cid="+cid, {"nid":nid, "properties":_.clone(properties)},
+ function(resp) {
+ });*/
+ }
+
+ function setnodepolicies(nid, policies) {
+ /*xhrpost("/composition.setnodepolicies?cid="+cid, {"nid":nid, "policies":_.clone(policies)},
+ function(resp) {
+ });*/
+ }
+
+ function deepclone(x) {
+ return JSON.parse(JSON.stringify(x));
+ }
+
+ var gensym = (function () {
+ var n = 0;
+ return function (x) {
+ var t = new Date().getTime();
+ return (x || "g") + "." + t + "." + n++;
+ };
+ })();
+
+ var xhrprefix = configOptions.backend_url;
+
+ function xhrgetBE(url, callback) {
+ var req = new XMLHttpRequest;
+ if (!(url.startsWith("https://") || url.startsWith("http://")))
+ url = xhrprefix + url;
+ req.open("GET", url, true); // asynchronous request
+ req.onreadystatechange = function (x) {
+ if (req.readyState === 4)
+ callback(req.responseText);
+ };
+ req.send(null);
+ }
+
+ function xhrget(url, callback) {
+ var req = new XMLHttpRequest;
+ if (!(url.startsWith("https://") || url.startsWith("http://")))
+ url = xhrprefix + url;
+ req.open("GET", url, true); // asynchronous request
+ req.onreadystatechange = function (x) {
+ if (req.readyState === 4)
+ callback(req.responseText);
+ };
+ req.send(null);
+ }
+
+ function xhrgetsync(url, callback) {
+ var req = new XMLHttpRequest;
+ if (!(url.startsWith("https://") || url.startsWith("http://")))
+ url = xhrprefix + url;
+ req.open("GET", url, false);
+ req.onreadystatechange = function (x) {
+ if (req.readyState === 4)
+ callback(req.responseText);
+ };
+ req.send(null);
+ }
+
+ callback = function (responseText) {
+ // write your own handler here.
+ console.log('result from http://localhost:8446/saveComposition/ac297d4d-0199-458f-99ff-2a6ff6' +
+ 'ed849a \n' + responseText);
+ };
+
+ /**
+ * Callback function of AJAX request if the request fails.
+ */
+ failCallback = function () {
+ // write your own failure handler here.
+ console.log('AJAXRequest failure!');
+ };
+
+ var apiService = new ApiService(xhrprefix, userId);
+ var compController = new CompController(apiService);
+
+ function xhrpost(url, obj, callback, type, async) {
+ var req = new XMLHttpRequest;
+ if (!(url.startsWith("https://") || url.startsWith("http://")))
+ url = xhrprefix + url;
+ req.open("POST", url, true); // asynchronous request
+ req.setRequestHeader("Content-Type", type || "application/json;charset=UTF-8");
+ req.setRequestHeader('USER_ID', userId);
+
+ req.onreadystatechange = function (x) {
+ if (req.readyState === 4)
+ callback(req.responseText);
+ };
+ try {
+ req.send(JSON.stringify(obj));
+ } catch (e) {
+ if (e.name == "TypeError")
+ req.send(JSON.stringify(obj));
+ else
+ throw(e);
+ }
+ }
+
+ function xhrpostraw(url, obj, callback, type) {
+ var req = new XMLHttpRequest;
+ if (!(url.startsWith("https://") || url.startsWith("http://")))
+ url = xhrprefix + url;
+ req.open("POST", url, true);
+ req.setRequestHeader("Content-Type", type || "text/plain");
+ req.setRequestHeader('USER_ID', userId);
+
+ req.onreadystatechange = function (x) {
+ if (req.readyState === 4)
+ callback(req.responseText);
+ };
+ req.send(obj);
+ }
+
+ var bw = document
+ .getElementById("compositioncontainer")
+ .clientWidth;
+ var bh = document
+ .getElementById("compositioncontainer")
+ .clientHeight;
+
+ // initially setting linkdistance to smaller value will help layout sort out
+ // edge crossings
+ var force = d3
+ .layout
+ .force()
+ .gravity(.9)
+ .charge(-3000)
+ .linkDistance(500)
+ .linkStrength(1)
+ .size([bw, bh]);
+
+ setTimeout(function () {
+ init(componentId);
+ });
+
+ function unfix() {
+ force
+ .nodes()
+ .forEach(function (n) {
+ n.fixed = false;
+ });
+ }
+
+ function fix() {
+ force
+ .nodes()
+ .forEach(function (n) {
+ n.fixed = true;
+ });
+ }
+
+ function resize() {
+ bw = document
+ .getElementById("compositioncontainer")
+ .clientWidth;
+ bh = document
+ .getElementById("compositioncontainer")
+ .clientHeight;
+ svg
+ .attr("width", bw)
+ .attr("height", bh);
+ force.size([
+ bw - 30,
+ bh - 30
+ ]);
+ force.start();
+ }
+
+ var rev = 0;
+
+ var svg = d3
+ .select("#compositioncontainer")
+ .append("svg:svg")
+ .style("overflow", "visible")
+ .attr("width", bw)
+ .attr("height", bh);
+
+ var undergraph = svg.append("svg:g");
+ var graph = svg.append("svg:g");
+ var edgegroup = graph.append("svg:g");
+
+ function bbox(sel) { // arg is d3 svg selection
+ return sel[0][0].getBBox();
+ }
+
+ function clamp(d) {
+ var pad = 120; // HACK
+ var x1 = pad,
+ y1 = pad,
+ x2 = bw - pad,
+ y2 = bh - pad;
+ if (d.x < x1)
+ d.x = x1;
+ if (d.y < y1)
+ d.y = y1;
+ if (d.x > x2)
+ d.x = x2;
+ if (d.y > y2)
+ d.y = y2;
+ return d;
+ }
+
+ function circleclamp(d) {
+ var p2 = 2 * Math.PI;
+ if (d.a < 0)
+ d.a += p2;
+ if (d.a > p2)
+ d.a -= p2;
+ return d;
+ }
+
+ function tick() {
+ if (force.alpha() < .05) // chill
+ force.alpha(0);
+ graph
+ .selectAll(".node")
+ .attr("transform", function (d) {
+ clamp(d);
+
+ // (d.x > 350) { d.x = 350; } break;
+ // case 2: if (d.x < bw - 350) { d.x = bw - 350;
+ // } break; } } HACK for vLAN nodes in uCPE
+ var modelName = d
+ .model
+ .name
+ .toUpperCase()
+ .replace(/-/g, " ");
+ if (modelName.match(/\bVPN\sFACING\b/) || modelName.match(/\bINTERNET\sFACING\b/)) {
+ if (d.y > 130)
+ d.y = 130;
+ }
+ else if (modelName.match(/\bLAN\sFACING\b/)) {
+ if (d.y < bh - 130)
+ d.y = bh - 130;
+ }
+ else if (modelName.match(/\bNM\sVLAN\b/)) {
+ if (d.x < bw - 150)
+ d.x = bw - 150;
+ }
+ else if (modelName.match(/\bOAM\sVLAN\b/)) {
+ if (d.x > 150)
+ d.x = 150;
+ }
+ // END TODO
+
+ return "translate(" + d.x + "," + d.y + ")";
+ });
+ d3
+ .selectAll(".relation")
+ .attr("d", epath);
+ d3
+ .selectAll(".nodeport")
+ .attr("transform", function (d) {
+ circleclamp(d);
+ if (d.link) {
+ if (d.link.srcport == d)
+ n1 = d.link.source,
+ n2 = d.link.target;
+ else
+ n1 = d.link.target,
+ n2 = d.link.source;
+ var p1 = {
+ x: n1.x,
+ y: n1.y
+ },
+ p2 = {
+ x: n2.x,
+ y: n2.y
+ };
+ var dx = n2.x - n1.x,
+ dy = n2.y - n1.y;
+ d.a = Math.atan2(dx, dy);
+ circleclamp(d);
+ var p = nodeboundarypoint(p1, p2, d.parent.name);
+ d.x = p.x - d.parent.x;
+ d.y = p.y - d.parent.y;
+ } else {
+ if (d.parent.ports.length > 1) {
+ d
+ .parent
+ .ports
+ .forEach(function (x) {
+ if (d != x && Math.abs(x.a - d.a) < 0.8) {
+ d.a += x.a > d.a
+ ? -.02
+ : .02;
+ }
+ });
+ }
+ var p1 = {
+ x: d.parent.x,
+ y: d.parent.y
+ },
+ p2 = {
+ x: d.parent.x + 100 * Math.sin(d.a),
+ y: d.parent.y + 100 * Math.cos(d.a)
+ };
+ var p = nodeboundarypoint(p1, p2, d.parent.name);
+ d.x = p.x - d.parent.x;
+ d.y = p.y - d.parent.y;
+ }
+ return "translate(" + d.x + "," + d.y + ")";
+ });
+ }
+
+ force.on("tick", tick);
+
+ // p1 inside, p2 outside
+ function nodeboundarypoint(p1, p2, nodename) {
+ if ((Math.abs(p1.x - p2.x) + Math.abs(p1.y - p2.y)) < 0.2) {
+ return p1;
+ }
+ if (typeof document.elementsFromPoint === 'function') {
+ var mp = {
+ x: (p1.x + p2.x) / 2,
+ y: (p1.y + p2.y) / 2
+ };
+ var r = svg
+ .node()
+ .getBoundingClientRect();
+ var n = document
+ .elementsFromPoint(mp.x + r.left, mp.y + r.top)
+ .find(function (x) {
+ var d = d3
+ .select(x)
+ .datum();
+ return d3
+ .select(x)
+ .classed("nodebody") && d && d.name == nodename;
+ });
+ if (n)
+ p1 = mp;
+ else
+ p2 = mp;
+ return nodeboundarypoint(p1, p2, nodename);
+ }
+ // ... here when no function document.elementsFromPoint (FF <46) ... -- put on
+ // circle
+ var r = 30;
+ var dx = p2.x - p1.x,
+ dy = p2.y - p1.y;
+ if (!dx) {
+ if (r < Math.abs(dy)) {
+ p1.y += r * Math.sign(dy);
+ } else {
+ p1.y += dy;
+ }
+ return p1;
+ }
+
+ alpha = Math.atan2(dx, dy);
+ p1.x += r * Math.sin(alpha);
+ p1.y += r * Math.cos(alpha);
+ return p1;
+ }
+
+ var hitrect = svg
+ .node()
+ .createSVGRect();
+ hitrect.height = 1;
+ hitrect.width = 1;
+
+ // ffs, chrome's svg.getIntersectionList uses bbox for intersection
+ function nodeboundarypoint0(p1, p2, node) {
+ if ((Math.abs(p1.x - p2.x) + Math.abs(p1.y - p2.y)) < 0.5)
+ return p1;
+ else {
+ var n,
+ mp = {
+ x: (p1.x + p2.x) / 2,
+ y: (p1.y + p2.y) / 2
+ };
+ hitrect.x = mp.x;
+ hitrect.y = mp.y;
+ var hits = svg
+ .node()
+ .getIntersectionList(hitrect, null);
+ if (hits) {
+ function itol(x) {
+ var v,
+ r = [],
+ i = 0;
+ while (v = x.item(i++))
+ r.push(v);
+ return r;
+ }
+
+ hits = itol(hits);
+ n = hits.find(function (x) {
+ var d = d3
+ .select(x)
+ .datum();
+ return d3
+ .select(x)
+ .classed("nodebody") && d && d.name == node;
+ });
+ }
+ if (n)
+ p1 = mp;
+ else
+ p2 = mp;
+ return nodeboundarypoint0(p1, p2, node);
+ }
+ }
+
+ function abs(n) {
+ return n < 0
+ ? -n
+ : n;
+ }
+
+ function rand(n) {
+ n = n || 1.0;
+ return (Math.random() * n) - n / 2;
+ }
+
+ function elt(selection) {
+ return selection[0][0];
+ }
+
+ function nameof(x) {
+ return x
+ ? x.name
+ : "...";
+ }
+
+ function dnode(name) {
+ return force
+ .nodes()
+ .find(function (n) {
+ return n.model.name === name;
+ });
+ }
+
+ function dlink(name) {
+ return force
+ .links()
+ .filter(function (l) {
+ return l.source.model.name === name || l.target.model.name === name;
+ });
+ }
+
+ function matchnodetype(n, tname) {
+ return ((n.type.name === tname) || (n.typeinfo && n.typeinfo.hierarchy && n.typeinfo.hierarchy.find(function (t) {
+ return t.name === tname;
+ })));
+ }
+
+ // "transactions" for composition operations
+ var logtxn = false;
+ var incompositiontxn = false;
+
+ function txn(name, fn) {
+ if (incompositiontxn) // already in transaction
+ return fn();
+ else {
+ try {
+ if (logtxn)
+ log("TXN.begin", name);
+ incompositiontxn = true;
+ return fn();
+ } finally {
+ incompositiontxn = false;
+ if (logtxn)
+ log("TXN.end", name);
+ onCompositionEvent("composition.done");
+ }
+ }
+ }
+
+ function addnode(model, x, y, ndata) {
+ return txn("addnode", function () {
+ return _addnode(model, x, y, ndata);
+ });
+ }
+
+ function _addnode(model, x, y, ndata) {
+ var hasdata = !!ndata;
+
+ curmodel = model;
+
+ if (!ndata) {
+ ndata = {
+ name: gensym("n"),
+ label: model.name,
+ x: x,
+ y: y,
+ px: x - 1,
+ py: y - 1,
+ ports: [],
+ radius: 30
+ };
+
+ if (matchnodetype(model, "tosca.nodes.network.Port"))
+ ndata.radius = 10;
+
+ if (model.name === "CPE")
+ ndata.radius = 80;
+ }
+
+ //log("node", model.name, ndata.x, ndata.y, ndata.fixed);
+
+ ndata.x = ndata.x || bw / 2 + rand(100);
+ ndata.y = ndata.y || bh / 2 + rand(100);
+ ndata.px = ndata.x - 1;
+ ndata.py = ndata.y - 1;
+
+ ndata.ports = ndata.ports || [];
+ ndata.label = model.name;
+
+ model = _.clone(model);
+ model.nid = ndata.name;
+
+ var node = _.extend({}, model, {ndata: ndata});
+ curcomp
+ .nodes
+ .push(deepclone(node));
+
+ if (!hasdata) {
+ /*xhrpost("/composition.addnode?cid="+cid, node,
+ function(resp) {
+ });
+
+ xhrpost("/composition.savecomp?cid="+cid, curcomp,
+ function(resp) {
+ });*/
+
+ onCompositionEvent("composition.add.node", model);
+ }
+ ndata.model = model;
+
+ force
+ .nodes()
+ .push(ndata);
+ var nodes = force.nodes();
+
+ var gnode = graph
+ .selectAll(".node")
+ .data(nodes, function (d) {
+ return d.name;
+ });
+
+ var n = gnode
+ .enter()
+ .append("g")
+ .attr("id", model.nid.replace(/\W/g, "_"))
+ // this must come first, because ?? .attr("class", "node draggable")
+ .classed("node", true)
+ .classed("draggable", true)
+ .attr("draggable", "true")
+ .classed(model.type.name.replace(/\W/g, "_"), true)
+ .attr("transform", function (d) {
+ if (!d.x || isNaN(d.x))
+ d.x = bw / 2 + rand(100);
+ if (!d.y || isNaN(d.y))
+ d.y = bh / 2 + rand(100);
+ return "translate(" + d.x + "," + d.y + ")";
+ })
+ .on("click", function (d) {
+ if (d3.event.metaKey || d3.event.ctrlKey)
+ removenode(d);
+ }
+ );
+
+ rendernode(n);
+
+ n.call(force.drag().on("dragstart", function (d) {
+ d3
+ .select(this)
+ .classed("fixed", d.fixed = true);
+ }));
+
+ function rti(n, name) {
+ return n
+ .typeinfo
+ .requirements
+ .find(function (tr) {
+ return tr.name === r.name;
+ })
+ }
+
+ if (!model.typeinfo)
+ model.typeinfo = {}; // dummy node special case
+
+ if (model.requirements) {
+ model.requirements = dedup(model.requirements);
+ model
+ .requirements
+ .forEach(function (x) {
+ if (x.name == "host") // CCD hack
+ return;
+ ndata
+ .ports
+ .push({
+ name: x.name,
+ parent: ndata,
+ ptype: "req",
+ id: uuid(),
+ portinfo: _.clone(x)
+ });
+ });
+
+ model
+ .requirements
+ .forEach(function (r) {
+ r.ti = model
+ .typeinfo
+ .requirements
+ .find(function (tr) {
+ return tr.name == r.name;
+ });
+ });
+ }
+ // this may become uneccessary(?) (serban: type info now merged with
+ // requirements/capabilities)
+ if (model.typeinfo.requirements) {
+ model.typeinfo.requirements = dedup(model.typeinfo.requirements);
+ model
+ .typeinfo
+ .requirements
+ .forEach(function (x) {
+ var port = ndata
+ .ports
+ .find(function (y) {
+ return y.name == x.name && y.ptype == "req";
+ });
+ if (port)
+ port.portinfo = _.extend(_.clone(x), port.portinfo); // this should never happen
+ else {
+ if (x.name == "host") // CCD hack
+ return;
+ log("UNEXPECTED TYPEINFO", x.name);
+ }
+ });
+ }
+
+ if (model.capabilities) {
+ model.capabilities = dedup(model.capabilities);
+ model
+ .capabilities
+ .forEach(function (x) {
+ ndata
+ .ports
+ .push({
+ name: x.name,
+ parent: ndata,
+ ptype: "cap",
+ id: uuid(),
+ portinfo: _.clone(x)
+ });
+ });
+
+ model
+ .capabilities
+ .forEach(function (c) {
+ c.ti = model
+ .typeinfo
+ .capabilities
+ .find(function (tc) {
+ return tc.name == c.name;
+ });
+ });
+ }
+
+ if (model.typeinfo.capabilities) {
+ model.typeinfo.capabilities = dedup(model.typeinfo.capabilities);
+ model
+ .typeinfo
+ .capabilities
+ .forEach(function (x) {
+ var port = ndata
+ .ports
+ .find(function (y) {
+ return y.name == x.name && y.ptype == "cap";
+ });
+ if (port)
+ port.portinfo = _.extend(_.clone(x), port.portinfo); // this should never happen
+ else {
+ log("UNEXPECTED TYPEINFO", x.name);
+ }
+ });
+ }
+ addports(n);
+
+ force.start();
+
+ return ndata;
+ }
+
+ // pin lans and wans in lexicographic order
+ function sortinterfaces() {
+ // var rx = [/^WAN/, /^LAN/]; for (var i in rx) { var x = 200;
+ // d3.selectAll(".node") .filter(function (d) { return
+ // d.label.match(rx[i]); }) .sort(function (a, b) { return
+ // a.label > b.label; }) .each(function (d) { d.x = d.px = x;
+ // x += 100; d.fixed = true; }); }
+ }
+
+ var _nd = [];
+
+ function updatenodes() {
+ var nd = force
+ .nodes()
+ .map(function (d) {
+ var f = {
+ nid: d.name,
+ x: d.x,
+ y: d.y,
+ px: d.px,
+ py: d.py,
+ radius: d.radius,
+ fixed: true
+ };
+ f.ndata = _.clone(f);
+ f.ndata.name = d.name;
+ return f;
+ });
+
+ // only consider x,y values in computing sameness
+ function same(a, b) {
+ return a.every(function (c) {
+ return b.some(function (d) {
+ return c.x == d.x && c.y == d.y;
+ });
+ });
+ }
+
+ if (!same(nd, _nd)) {
+ log("updatenodes...changed");
+ onCompositionEvent("after.loaded.composition");
+ } else {
+ log("updatenodes...stable");
+ }
+ _nd = nd;
+ }
+
+ force.on("end", updatenodes);
+
+ function pp(x) {
+ return JSON.stringify(x, null, 2);
+ }
+
+ function str(x) {
+ return JSON.stringify(x);
+ }
+
+ function dedup(a) {
+ var r = [];
+ a.forEach(function (x) {
+ if (!r.find(function (y) {
+ return x.name == y.name;
+ }))
+ r.push(x)
+ });
+ return r;
+ }
+
+ function addport(n, name, ptype, portinfo) {
+ n
+ .each(function (d) {
+ d
+ .ports
+ .push({
+ name: name || gensym(),
+ parent: d,
+ ptype: ptype,
+ portinfo: portinfo,
+ id: uuid()
+ });
+ });
+ addports(n);
+ }
+
+ var iconbase = "/images/ice/";
+ iconbase = "/img/";
+
+ var icons = {};
+
+ function ngon(node, n, offset) {
+ offset = offset || 0;
+ //var offset = n == 4 ? Math.PI/4 : 0;
+ var r = node
+ .datum()
+ .radius * (1 + 1 / n),
+ p = [];
+ for (var i = 0; i < n; i++) {
+ // offset is so squares are squared :/
+ var a = (i * Math.PI * 2) / n + offset;
+ p.push(r * Math.sin(a));
+ p.push(r * Math.cos(a));
+ }
+ return node
+ .append("svg:polygon")
+ .classed("nodebody", true)
+ .attr("points", p.join(","));
+ }
+
+ var compositionDraggingType;
+
+ function allowDropByType(event, type) {
+ if (compositionDraggingType === type) {
+ event.preventDefault();
+ event.dataTransfer.dropEffect = 'copy';
+ return true;
+ }
+ return false;
+ }
+
+ /* DEAD CODE?
+ // handle dropping location data on a node
+ function dropLocation(event,that) {
+ compositionDraggingType = null;
+ var locText = event.dataTransfer.getData('location');
+ if (locText === '') {return;}
+ if (event.stopPropagation) {event.stopPropagation();}
+
+ var nodeData = d3.select(that).datum();
+ log("dropLocation",locText,nodeData);
+
+ var loc = shoppingCart.locations.findByKey(Location.genKey(JSON.parse(locText)));
+ log("dropLocation loc",loc);
+ closeNodePropertiesEditor();
+ setLocationOnSite(nodeData.model,loc);
+ d3.select(that).select("#confignode").html(function(d) {return getShortPropertyValues(d.model);});
+ }
+ */
+
+ // var getShortPropertyValues = getShortPropertyValues || function(x) { return
+ // "{property values}" };
+ var getShortPropertyValues = getShortPropertyValues || function (x) {
+ return ""
+ };
+
+ var cpe;
+
+ function renderucpe() {
+ cpe = undergraph
+ .append("svg:rect")
+ .classed("ucpecontainer", true)
+ .attr("width", bw - 200)
+ .attr("height", bh - 100)
+ .attr("x", 100)
+ .attr("y", 50)
+ .attr("rx", 20)
+ .attr("ry", 20)
+ .attr("stroke", "black")
+ .attr("stroke-width", 5)
+ .attr("fill", "rgba(0,0,0,0.1)")
+ .style("opacity", 0.2);
+ }
+
+ function rendernode(n) {
+ var type = n
+ .datum()
+ .model
+ .type
+ .name;
+ var model = n
+ .datum()
+ .model;
+
+ // HACK
+ if (matchnodetype(n.datum().model, "tosca.nodes.network.Port")) {
+ ngon(n, 4);
+ return;
+ }
+
+ n
+ .append("svg:rect")
+ .classed("nodebody", true)
+ /*
+ .attr("width", 70)
+ .attr("height", 44)
+ .attr("x", -35)
+ .attr("y", -22)
+ */
+ .attr("width", 90)
+ .attr("height", 64)
+ .attr("x", -45)
+ .attr("y", -32)
+ .attr("rx", 5)
+ .attr("ry", 5);
+
+ n.classed(type.replace(/\W/g, "_"), true);
+ n.classed(n.datum().model.name.replace(/\W/g, "_"), true);
+
+ var w = 150,
+ h = 50; // node width, height
+
+ // n.append("g") .attr("transform", "translate(" + (-(w / 2 - 15)) + "," +
+ // (-(h / 2 - 5)) + ")") .append("foreignObject") .attr({ width:
+ // 100, height: 50, fill: '#7413E8', 'class':
+ // 'svg-tooltip' }) .append('xhtml:div') .append('div')
+ // .html(function (d) { return squishnodename(d.label) }) .append("div")
+ // .attr({ width: 50, height: 50, fill: 'red', color:
+ // 'green' }) .style("pointer-events", "all") .style("cursor",
+ // "pointer") .html("config") .on("click", function (d) { if
+ // (d3.event.metaKey || d3.event.ctrlKey) { return; } if
+ // (typeof editNodeProperties === 'function') { editNodeProperties(this); }
+ // else { configeditor(d3.select(this), d.model); } });
+
+ n
+ .append("g")
+ .attr("transform", "translate(" + (-(w / 2 - 15)) + "," + (-(h / 2 - 5)) + ")")
+ .append("foreignObject")
+ .attr("width", (w - 10) + "px")
+ .attr("height", (h + 60) + "px")
+ .append("xhtml:div")
+ .classed("compositionbody", true)
+ //.classed(type.replace(/\./g,"_"), true)
+ .classed("nodetext", true)
+ .style("width", (w - 30) + "px")
+ .style("height", (h - 20) + "px")
+ .style("pointer-events", function () {
+ return (type == "asc.nodes.Site"
+ ? null
+ : "none");
+ })
+ .attr("ondragover", function () {
+ return (type == "asc.nodes.Site"
+ ? "allowDropByType(event,'location');"
+ : null);
+ })
+ .attr("ondrop", function () {
+ return (type == "asc.nodes.Site"
+ ? "dropLocation(event,this);"
+ : null);
+ })
+ .html(function (d) {
+ var icon = icons[d.model.type.name];
+ if (!icon) {
+ if (d.model.typeinfo && d.model.typeinfo.hierarchy) {
+ var h = d.model.typeinfo.hierarchy;
+ for (i in h) {
+ var type = h[i].name;
+ if (icon = icons[type])
+ break;
+ }
+ }
+ }
+ if (icon)
+ icon = iconbase + icon;
+ else
+ icon = window.location.origin + iconbase + "3net.png";
+ icon = "dcae/comp-fe/img/death.png";
+ if (propertynameval(d.model.properties, "designer_name")) {
+ // return "<img class=nodeicon width='40px' src=" + icon + "></img>" + "<br/>" +
+ // "<center>" + propertynameval(d.model.properties, "designer_name") +
+ // "</center>";
+ } else {
+ //return "<img width='30px' src=" + icon + "></img>" + "<br/>" +
+ return "<center>" +
+ // "<img class=nodeicon width='20px' src=" + icon + "></img>" + "<br/>" +
+ "<span class=nodenametext>" + squishnodename(d.label) + "</span><br/></center>";
+ }
+ })
+ // .append("span") .attr("id", "confignode") .attr("class", "confignode")
+ // .style("pointer-events", "all") .style("cursor", "pointer") .html(function(d)
+ // {return getShortPropertyValues(d.model);}) .html("config") .on("click",
+ // function (d) { if (d3.event.metaKey || d3.event.ctrlKey) { return; }
+ // if (typeof editNodeProperties === 'function') { editNodeProperties(this);
+ // } else { if ($('#selected-type-mt').val() == null) {
+ // alertNoFlowTypeSelected(); } else { var self = this;
+ // compController.saveComposition(curcomp) .then(function () {
+ // d.model.uniqeId = d.name; configeditor(d3.select(self),
+ // d.model); }); } } }); node delete button
+ var del = n
+ .append("g")
+ .classed("deletenode", true)
+ .attr("transform", "translate(0,-10)")
+ .style("visibility", "hidden");
+
+ del
+ .append("svg:ellipse")
+ .attr("rx", 10)
+ .attr("ry", 10)
+ .attr("fill", "red")
+ .attr("opacity", 0.7)
+ .on("click", function (d) {
+ if (d3.select(this).style("visibility") != "hidden")
+ removenode(d);
+ }
+ );
+
+ del
+ .append("svg:text")
+ .attr("dominant-baseline", "middle")
+ .attr("text-anchor", "middle")
+ .style("color", "black")
+ .style("pointer-events", "none")
+ .text(function (d) {
+ return "X";
+ })
+
+ }
+
+ var propertyeditor = propertyeditor || null;
+
+ function propertynameval(props, name) {
+ var p = props && props.find(function (x) {
+ return x.name == name;
+ });
+ return p && p.assignment
+ ? p.assignment.value
+ : null;
+ }
+
+ function configeditor(selection, model) {
+ var x = selection[0][0]
+ var r = x.getBoundingClientRect();
+ var e = document.getElementById("configeditor");
+ var stuff = d3.select(e.children[0]);
+
+ var cfg = d3
+ .select("#configstuff")
+ .html("properties for <b>" + model.name + ":</b>");
+ var props = cfg
+ .append("form")
+ .attr("id", "cfgform")
+ .style("display", "table")
+ .style("overflow-y", "auto")
+ .style("overflow-x", "hidden")
+ .style("padding-left", "10px")
+ .style("width", "100%");
+
+ mm = model;
+ model
+ .properties
+ .forEach(function (p) {
+ var row = props
+ .append("div")
+ .style("line-height", "25px")
+ .style("height", "45px")
+ .style("display", "table-row");
+
+ row
+ .append("label")
+ .style("display", "table-cell")
+ .html(p.name);
+ row
+ .append("input")
+ .style("display", "table-cell")
+ .style("width", "90%")
+ .attr("type", "text")
+ .attr("name", p.name)
+ .attr("value", function () {
+ return p.value && !_.isObject(p.value)
+ ? p.value
+ : null;
+ });
+
+ if (window.isRuleEditorActive) {
+ row
+ .append('span')
+ .attr({"class": "glyphicon glyphicon-cog rule-editor-btn"})
+ .on('click', function () {
+ var self = this;
+ var reModel = $('#rule-editor-modal');
+ openRuleEditor();
+
+ function openRuleEditor() {
+ var $propInput = $(self)
+ .parent()
+ .find('input');
+ var flowType = $('#selected-type-mt').val();
+ var data = {
+ vfcmtUuid: curcomp.cid,
+ nodeName: model.name,
+ nodeId: model.uniqeId,
+ fieldName: p.name,
+ userId: userId,
+ flowType: flowType
+ };
+ window.registerPostMessageEvent('disable-loader', function () {
+ $('#modal-loader').hide();
+ });
+ window.registerPostMessageEvent('exit', function (jsonResult) {
+ reModel.modal('hide');
+ if (jsonResult !== null) {
+ try {
+ JSON.parse(jsonResult); // verifing that jsonResult is a valid json
+ p.value = jsonResult; // updating model
+ $propInput.val(p.value); // updating view
+ } catch (err) {
+ alert('Internal Error: unable to parse rule-editor value');
+ }
+ }
+ });
+ reModel
+ .find('iframe')
+ .attr({
+ src: window.ruleEditorUrl + '?' + $.param(data),
+ style: 'display: none'
+ })
+ .load(function (event) {
+ $(event.target).attr({style: 'display: block'});
+ });
+
+ reModel.modal({backdrop: 'static', keyboard: false});
+ $('#modal-loader').show();
+ }
+ });
+ }
+
+ });
+
+ d3
+ .select("#configset")
+ .on("click", function () {
+ eatform(model);
+ });
+
+ props
+ .append("div")
+ .style("display", "table-column");
+ props
+ .append("div")
+ .style("display", "table-column")
+ .style("width", "70%");
+
+ e.style.left = r.left;
+ e.style.top = r.top;
+ e.style.visibility = "visible";
+ e.style.transform = "scale(1)";
+ }
+
+ function eatform(model) {
+ d3
+ .select("#cfgform")
+ .selectAll("input")
+ .each(function () {
+ var i = d3.select(this),
+ name = i.attr("name"),
+ val = i.property("value");
+ if (val) {
+ // debugger;
+ var p = model
+ .properties
+ .find(function (x) {
+ return x.name == name;
+ });
+ p.value = val;
+ log("forminput", name, val);
+ }
+ curcomp
+ .nodes
+ .forEach(function (node) {
+ if (node.nid == model.uniqeId) {
+ var copy = model
+ .properties
+ .map(function (a) {
+ return Object.assign({}, a);
+ });
+ node.properties = copy;
+ }
+ });
+ });
+ configclose();
+ }
+
+ function configclose(x) {
+ var e = document.getElementById("configeditor");
+ e.style.transform = "scale(.001)";
+ }
+
+ function selectucpe() {
+ return graph
+ .select(".node")
+ .filter(function (d) {
+ return d.label === "ucpe";
+ });
+ }
+
+ function removeucpe() {
+ selectucpe().each(removenode);
+ }
+
+ function removenode(d) {
+ return txn("removenode", function () {
+ return _removenode(d);
+ });
+ }
+
+ function _removenode(d) {
+ curcomp.nodes = curcomp
+ .nodes
+ .filter(function (n) {
+ return n.nid != d.name;
+ });
+
+ console.log("before: ", curcomp.nodes);
+
+ onCompositionEvent("composition.remove.node", {nid: d.name});
+
+ if (d.label === "ucpe") {
+ // cpe implementation is such a hack
+ cpe.remove();
+ return;
+ }
+
+ _
+ .values(d.ports)
+ .map(function (x) {
+ if (x.link)
+ removelink(x.link);
+ }
+ );
+ nodes = _.without(force.nodes(), d);
+ graph
+ .selectAll(".node")
+ .data(nodes, function (d) {
+ return d.name;
+ })
+ .exit()
+ .remove();
+ force
+ .nodes(nodes)
+ .start();
+
+ }
+
+ function addports(n) {
+ var port = n
+ .selectAll(".nodeport")
+ .data(function (d) {
+ return d.ports;
+ }, function (p) {
+ return p.id;
+ })
+ //.filter(function(d) { return d.name != "host"; })
+ .enter();
+
+ var pg = port
+ .append("g")
+ .attr("class", "nodeport")
+ .attr("name", function (d) {
+ return d.name;
+ })
+ .attr("transform", function (d) {
+ var pp = d.parent.ports;
+ d.a = rand() * Math.PI * 2;
+ d.x = d.parent.radius * Math.sin(d.a);
+ d.y = d.parent.radius * Math.cos(d.a);
+ return "translate(" + d.x + "," + d.y + ")";
+ });
+
+ pg
+ .append("svg:circle")
+ .classed("targetcircle", true)
+ .attr("r", 5);
+
+ var pc = pg
+ .append("svg:circle")
+ .attr("class", function (d) {
+ var rtype = "nuh";
+ if (d.ptype === "cap") {
+ if (d.portinfo) {
+ if (d.portinfo.type)
+ rtype = d.portinfo.type.name;
+ if (d.portinfo.target)
+ rtype = d.portinfo.target.name;
+ }
+ else {
+ rtype = "null";
+ }
+ } else {
+ try {
+ rtype = d.portinfo.capability.name;
+ } catch (e) {
+ log("oops", d, d.parent.model.name);
+ }
+ }
+ if (rtype.name) {
+ log("HACK rtype", rtype);
+ rtype = rtype.name;
+ }
+ if (rtype)
+ rtype = rtype.replace(/\W/g, "_");
+ else
+ log("NULL RTYPE", d);
+ return (d.ptype == "cap"
+ ? "capabilityport"
+ : "requirementport") + " " + rtype;
+ })
+ .classed("srcport", true)
+ .attr("r", 5)
+ .attr("port", function (d) {
+ return d.name;
+ });
+
+ pg
+ .append("svg:text")
+ .attr("class", "nodeporttext")
+ .attr("transform", "scale(.75)")
+ .attr("dominant-baseline", "middle")
+ .style("pointer-events", "none")
+ .text(function (d) {
+ return squishportname(d.name);
+ });
+
+ pc.on("click", function (d) {
+ log("pc.onclick", d);
+ var port = d3.select(this);
+ if (d3.selectAll(".tmprelation").empty())
+ startedge(port, d);
+ else
+ targetclick(port, d);
+ }
+ );
+
+ pc.on("mouseenter", function (d) {
+ var self = d3.select(this);
+ var t = d3
+ .select(self.node().parentNode)
+ .select("text");
+ t.style("font-size", "15px");
+ //t.style("stroke", "black");
+ });
+ pc.on("mouseleave", function (d) {
+ var self = d3.select(this);
+ var t = d3
+ .select(self.node().parentNode)
+ .select("text");
+ t.style("font-size", "12px");
+ //t.style("font-size", "inherit"); t.style("stroke", "rgba(0,0,0,0.3)");
+ });
+
+ pc.on("touchstart", function (d) {
+ d3
+ .event
+ .preventDefault();
+ var t = d3.event.touches[0],
+ x = t.clientX,
+ y = t.clientY;
+ var port = d3.select(this);
+ if (d3.selectAll(".tmprelation").empty()) {
+ force.stop();
+ startedge(port, d);
+ } else {
+ force.resume();
+ targetclick(port, d);
+ }
+ });
+
+ pg.classed("targetport", true);
+
+ return pg;
+ }
+
+ //hacks
+ function squishportname(s) {
+ return s
+ .replace(/_connection$/, "")
+ .replace(/_input$/, "")
+ .replace(/_output$/, "")
+ .replace(/network/, "net");
+ }
+
+ function squishnodename(s) {
+ return s
+ .replace(/network/, "net")
+ .replace(/_analytics$/, "")
+ .replace(/customer/, "cust");
+ }
+
+ function portclick(d) {
+ var port = d3.select(this);
+ if (d3.selectAll(".tmprelation").empty())
+ startedge(port, d);
+ else
+ targetclick(port, d);
+ }
+
+ function addlink(n1, n2, p1, p2, restoring) {
+ return txn("addlink", function () {
+ return _addlink(n1, n2, p1, p2, restoring);
+ });
+ }
+
+ function _addlink(n1, n2, p1, p2, restoring) {
+ var nodes = force.nodes();
+ var links = force.links();
+ //p1 = p1 || gensym(); p2 = p2 || gensym();
+
+ n1 = typeof n1 === "object"
+ ? n1
+ : _.findWhere(nodes, {name: n1});
+ n2 = typeof n2 === "object"
+ ? n2
+ : _.findWhere(nodes, {name: n2});
+
+ if (!n1 || !n2) {
+ // hostedOn exceptional case log("addlink?", n1, n2, p1, p2);
+ return [n1, n2];
+ }
+
+ var sp,
+ tp;
+ try {
+ sp = n1
+ .ports
+ .find(function (p) {
+ return p.name == p1 && (!p.link || !p.link.name);
+ });
+ tp = n2
+ .ports
+ .find(function (p) {
+ return p.name == p2 && (!p.link || !p.link.name);
+ });
+ } catch (e) {
+ log(e, n1, n2);
+ }
+
+ if (sp == null) {
+ // port is already linked, so we'll duplicate it (unless occurrences exceeded)
+ var xp = n1
+ .ports
+ .find(function (p) {
+ return p.name == p1
+ });
+ sp = _.clone(xp);
+ sp.link = null;
+ sp.id = uuid();
+ n1
+ .ports
+ .push(sp);
+ addports(d3.selectAll(".node").filter(function (n) {
+ return n1.name == n.name;
+ }));
+ }
+
+ if (tp == null) {
+ // port is already linked, so we'll duplicate it (unless occurrences exceeded)
+ var xp = n2
+ .ports
+ .find(function (p) {
+ return p.name == p2
+ });
+ tp = _.clone(xp);
+ tp.link = null;
+ tp.id = uuid();
+ n2
+ .ports
+ .push(tp);
+ addports(d3.selectAll(".node").filter(function (n) {
+ return n2.name == n.name;
+ }));
+ }
+
+ // if port allows multiple occurrences, duplicate it (weak test on occurrences
+ // is a hack)
+
+ if (sp.portinfo.occurrences == null || sp.portinfo.occurrences[1] > 1) {
+ var nx = d3
+ .selectAll(".node")
+ .filter(function (n) {
+ return n1.name == n.name;
+ });
+ addport(nx, sp.name, sp.ptype, sp.portinfo);
+ }
+
+ if (tp.portinfo.occurrences == null || tp.portinfo.occurrences[1] > 1) {
+ var nx = d3
+ .selectAll(".node")
+ .filter(function (n) {
+ return n2.name == n.name;
+ });
+ addport(nx, tp.name, tp.ptype, tp.portinfo);
+ }
+
+ /*
+ // hack -- add port for relations with multiple occurrences
+ //log("addlink", sp.type, sp.name, tp.type, tp.name);
+ if (sp.ptype == "cap" && sp.name == "access_conn") {
+ var nx = d3.selectAll(".node").filter(function(n) { return n1.name == n.name; });
+ addport (nx, "access_conn", "cap", sp.portinfo);
+ }
+ if (tp.ptype == "cap" && tp.name == "access_conn") {
+ var nx = d3.selectAll(".node").filter(function(n) { return n2.name == n.name; });
+ addport (nx, "access_conn", "cap", tp.portinfo);
+ }
+ */
+
+ var link = {
+ name: gensym("lnk"),
+ source: n1,
+ target: n2,
+ srcport: sp,
+ targetport: tp,
+ pending: true
+ };
+
+ sp.link = link;
+ tp.link = link;
+
+ links.push(link);
+
+ var ln = edgegroup
+ .selectAll(".relation")
+ .data(links, function (d) {
+ return d.name;
+ });
+ ln
+ .enter()
+ .insert("svg:path")
+ .classed("relation", true)
+ .classed("pending", true)
+ .attr("d", epath)
+ .on("click", function (d) {
+ if (d3.event.metaKey || d3.event.ctrlKey)
+ removelink(d);
+ }
+ );
+ ln
+ .exit()
+ .remove();
+
+ setTimeout(function () {
+ edgegroup
+ .selectAll(".pending")
+ .classed("pending", false)
+ .each(function (d) {
+ d.pending = false;
+ });
+ }, 1000);
+
+ var meta = {
+ n1: n1.name,
+ n2: n2.name,
+ p1: p1,
+ p2: p2
+ };
+
+ function findrelationship(n, p) {
+ var r = n.typeinfo.requirements && n
+ .typeinfo
+ .requirements
+ .find(function (x) {
+ return x.name == p;
+ });
+ return r && r.relationship && [n.name, r.relationship.name, r.name];
+ }
+
+ meta.relationship = findrelationship(n1.model, p1) || findrelationship(n2.model, p2);
+
+ var relation = {
+ rid: link.name,
+ n1: n1.name,
+ name1: n1.model.name,
+ n2: n2.name,
+ name2: n2.model.name,
+ meta: meta
+ };
+ curcomp
+ .relations
+ .push(deepclone(relation));
+
+ if (!restoring) {
+ /*xhrpost("/composition.addrelation?cid="+cid, relation,
+ function(resp) {
+ });
+
+ xhrpost("/composition.savecomp?cid="+cid, curcomp,
+ function(resp) {
+ });*/
+
+ }
+
+ force.start();
+
+ return link;
+ }
+
+ function removelink(d) {
+ return txn("removelink", function () {
+ return _removelink(d);
+ });
+ }
+
+ function removelink(d) {
+ /*xhrpost("/composition.deleterelation?cid="+cid, {rid: d.name},
+ function(resp) {
+ });*/
+
+ curcomp.relations = curcomp
+ .relations
+ .filter(function (r) {
+ r.rid != d.name
+ });
+ /*xhrpost("/composition.savecomp?cid="+cid, curcomp,
+ function(resp) {
+ });*/
+
+ var links = _.without(force.links(), d);
+ edgegroup
+ .selectAll(".relation")
+ .data(links, function (d) {
+ return d.name;
+ })
+ .exit()
+ .remove();
+ force
+ .links(links)
+ .start();
+ d.srcport.link = null;
+ d.targetport.link = null;
+ }
+
+ var srcport = false;
+
+ function startedge(port, d) {
+ log("startedge", d);
+ d = port.datum(); // ??
+ var type,
+ rtype;
+ try {
+ if (d.ptype == "cap") {
+ rtype = d.portinfo.type.name;
+ type = "requirementport";
+ } else {
+ rtype = d.portinfo.capability.name;
+ //rtype = d.portinfo.target.name; // MAYBE??
+ type = "capabilityport";
+ }
+ } catch (e) {
+ log("startedge-error", e, d);
+ }
+ if (rtype.name) {
+ log("HACK rtype", rtype);
+ rtype = rtype.name;
+ }
+ if (rtype)
+ rtype = rtype.replace(/\./g, "_");
+ else
+ log("NULL RTYPE");
+ d3
+ .selectAll("." + rtype + "." + type)
+ .filter(function (c) {
+ return c.parent != d.parent;
+ }) // same node
+ .filter(function (c) {
+ return !c.link;
+ }) // already linked
+ .classed("fabulous", true);
+
+ var mx = port[0][0].getScreenCTM();
+ x = mx.e;
+ y = mx.f;
+
+ srcport = port; // global
+
+ d3
+ .selectAll(".targetport")
+ .classed("targeting", true);
+
+ var link = {
+ source: d.parent,
+ target: {
+ x: x,
+ y: y
+ },
+ srcport: d,
+ targetport: {
+ x: 5,
+ y: 5
+ }
+ };
+ srcport.each(function (d) {
+ d.link = link;
+ });
+
+ var tmp = graph
+ .selectAll(".tmprelation")
+ .data([link])
+ .enter()
+ .insert("svg:path")
+ .attr("class", "tmprelation")
+ .attr("d", tpath);
+
+ d3
+ .select("#compositioncontainer")
+ .on("mousemove", function () {
+ var m = d3.mouse(this);
+ link.target.x = m[0];
+ link.target.y = m[1];
+ tick();
+ tmp.attr("d", tpath);
+ })
+ .on("touchmove", function () {
+ d3
+ .event
+ .preventDefault();
+ var m = d3.mouse(this);
+ link.target.x = m[0];
+ link.target.y = m[1];
+ tick();
+ tmp.attr("d", tpath);
+ })
+ .on("mouseup", function () {
+ // will miss target click event if this is immediate
+ setTimeout(function () {
+ if (srcport)
+ srcport.each(function (d) {
+ d.link = null;
+ });
+ srcport = false; // HACK
+ d3
+ .selectAll(".targeting")
+ .classed("targeting", false);
+ d3
+ .select("#compositioncontainer")
+ .on("mousemove", null)
+ .on("mouseup", null);
+ tmp.remove();
+ d3
+ .selectAll(".fabulous")
+ .classed("fabulous", false);
+ }, 1);
+ });
+ }
+
+ function targetclick(tport, d) {
+ d3
+ .selectAll(".tmprelation")
+ .remove();
+ d3
+ .selectAll(".fabulous")
+ .classed("fabulous", false); // DRY
+
+ if (srcport) {
+ var tp = tport.attr("port");
+ var sp = srcport.attr("port");
+ var spd = srcport.datum(),
+ tpd = tport.datum();
+
+ //log("targetclick", spd, tpd);
+ var stype = spd.ptype == "cap"
+ ? spd.portinfo.type.name
+ : spd.portinfo.capability.name;
+ var ttype = tpd.ptype == "cap"
+ ? tpd.portinfo.type.name
+ : tpd.portinfo.capability.name;
+ // var stype = spd.type == "cap" ? spd.portinfo.type.name :
+ // spd.portinfo.target.name; var ttype = tpd.type == "cap" ?
+ // tpd.portinfo.type.name : tpd.portinfo.target.name; log("target",
+ // "stype="+stype, "ttype="+str(ttype));
+
+ var name = d.label;
+
+ if (spd.ptype != tpd.ptype && stype == ttype)
+ log("MATCH ", d);
+ else {
+ log("NOMATCH", d);
+ var mx = tport[0][0].getScreenCTM(); // fun!
+ var x = mx.e,
+ y = mx.f;
+ d3
+ .select("#problem")
+ .style("left", x)
+ .style("top", y)
+ .style("visibility", "visible")
+ .html("node/type mismatch");
+ setTimeout(function () {
+ d3
+ .select("#problem")
+ .style("visibility", "hidden");
+ }, 3000);
+ return;
+ }
+
+ // match success...
+ var port = d3.select(tport[0][0].parentNode);
+ port.classed("boundport", true);
+ port.classed("targetport", false);
+ var sp = srcport.datum(),
+ tp = tport.datum();
+ addlink(sp.parent, tp.parent, sp.name, tp.name);
+ srcport = false;
+ }
+ }
+
+ var edgelink = function () {
+ var curvature = .5;
+
+ function link(d) {
+ var spx = d.srcport.x,
+ spy = d.srcport.y,
+ tpx = d.targetport.x,
+ tpy = d.targetport.y;
+
+ var x0 = d.source.x + spx,
+ x1 = d.target.x + tpx,
+ y0 = d.source.y + spy,
+ y1 = d.target.y + tpy,
+
+ xi = d3.interpolateNumber(x0, x1),
+ yi = d3.interpolateNumber(y0, y1),
+ x2 = xi(curvature),
+ y2 = yi(curvature),
+ x3 = xi(1 - curvature),
+ y3 = yi(1 - curvature);
+
+ // if (isNaN(spx)) log("edgelink", d); fix curvature depending on whether port
+ // is on side, top, or bottom log(":: " + tpy + ", " + spy);
+ /*
+ if (tpy == 0) y3 = y1;
+ if (spy == 0) y2 = y0;
+ if (tpy != 0) x3 = x1;
+ if (spy != 0) x2 = x0;
+ */
+ y3 = y1;
+ y2 = y0;
+
+ return "M" + x0 + "," + y0 + "C" + x2 + "," + y2 + " " + x3 + "," + y3 + " " + x1 + "," + y1;
+ }
+
+ link.curvature = function (_) {
+ if (!arguments.length)
+ return curvature;
+ curvature = +_;
+ return link;
+ };
+
+ return link;
+ };
+
+ var epath = edgelink();
+ var tpath = edgelink();
+
+ epath.curvature(0.3);
+
+ function node(name) {
+ return cc
+ .nodes
+ .find(function (n) {
+ return n.name == name;
+ });
+ }
+
+ function hascapability(n, cap) {
+ return n.capabilities && n
+ .capabilities
+ .find(function (c) {
+ return c.name == cap;
+ });
+ }
+
+ function addcomp(c, x, y) {
+ return txn("addcomp", function () {
+ return _addcomp(c, x, y);
+ });
+ }
+
+ function _addcomp(c, x, y) {
+ x = x || 0;
+ y = y || 0;
+
+ log("addcomp", c);
+ cc = c;
+
+ var nodes = {};
+ var links = [];
+ var newnodes = [];
+
+ if (!c.outputs)
+ c.outputs = []; // dummy node special case
+ if (!c.inputs)
+ c.inputs = [];
+
+ var outputs = c.outputs;
+ outputs.forEach(function (o) {
+ o.value = jsonparse(o.value);
+ });
+
+ var inputs = c.inputs;
+
+ c
+ .nodes
+ .forEach(function (n) {
+
+ n = _.clone(n);
+
+ outputs.forEach(function (o) {
+ _
+ .values(o)
+ .forEach(function (a) {
+ _
+ .values(a)
+ .forEach(function (m) {
+ if (m.forEach) {
+ m
+ .forEach(function (y) {
+ if (n.name == y) {
+ n.output = o;
+ }
+ });
+ }
+ });
+ });
+ });
+
+ if (c.policies) {
+ c
+ .policies
+ .forEach(function (po) {
+ if (!po.targets) {
+ return;
+ }
+ po
+ .targets
+ .some(function (potarget) {
+ if (n.name != potarget) {
+ return false;
+ }
+ log("ASSIGN POLICY", potarget, po);
+ if (!n.policies) {
+ n.policies = [];
+ }
+ var policy = JSON.parse(JSON.stringify(po));
+ n
+ .policies
+ .push(policy);
+ return true;
+ });
+ });
+ }
+
+ onCompositionEvent("init.properties.on.node", n);
+ // debugger;
+ if (n.properties) {
+ n
+ .properties
+ .forEach(function (p) {
+ if (!p.value && p.assignment) {
+ p.value = p.assignment.value || p["default"];
+ if (!p.value && p.assignment.input) {
+ p.value = p.assignment.input["default"];
+ }
+ //log("assignment value", p.name, p.value);
+ }
+ });
+ }
+
+ inputs
+ .forEach(function (i) {
+ // debugger;
+ if (n.properties)
+ n.properties.forEach(function (p) {
+ if (p.name == i.name && !p.value) {
+ p.value = i['default'];
+ log("INPUT", p.name, p.value);
+ }
+ });
+ }
+ );
+
+ var d = addnode(n, x, y);
+ newnodes.push(d);
+
+ nodes[n.name] = d;
+ d.model = n;
+ x += 50;
+ y += rand(50);
+ });
+
+ log(c.name);
+ log("inputs", inputs);
+ log("outputs", outputs);
+
+ //if (inputs && inputs.length > 0)
+ /*xhrpost("/composition.addinputs?cid="+cid, inputs);*/
+ //if (outputs && outputs.length > 0)
+ /*xhrpost("/composition.addoutputs?cid="+cid, outputs);*/
+
+ c
+ .nodes
+ .forEach(function (n) {
+ if (n.requirements) {
+ n
+ .requirements
+ .forEach(function (req) {
+ var tn = c
+ .nodes
+ .find(function (x) { // target node
+ return req.node == x.name;
+ });
+ if (tn) {
+ // find target capability from requirement
+ var tc = tn
+ .typeinfo
+ .capabilities
+ .find(function (cap) {
+ return req.capability.name === cap.type.name;
+ });
+ if (tc)
+ links.push({
+ n1: nodes[n.name],
+ sp: req.name,
+ n2: nodes[tn.name],
+ tp: tc.name
+ });
+ }
+ });
+ }
+ });
+
+ links.forEach(function (x) {
+ addlink(x.n1, x.n2, x.sp, x.tp);
+ });
+ sortinterfaces(); // HACK
+ return newnodes;
+ }
+
+ function unfade() {
+ d3
+ .selectAll(".node")
+ .classed("faded", false);
+ }
+
+ var dropzone1 = d3
+ .select("#compositioncontainer")
+ .node();
+
+ dropzone1.addEventListener('dragover', function (e) {
+ if (e.preventDefault)
+ e.preventDefault();
+
+ //e.dataTransfer.dropEffect = 'move'; return allowDropByType(e,'product');
+ return true;
+ });
+
+ dropzone1.addEventListener('dragenter', function (e) {
+ e.preventDefault();
+ this.className = "over"; // assumes react
+ });
+
+ dropzone1.addEventListener('dragleave', function (e) {
+ this.className = "";
+ });
+
+ function droplistener(e) {
+ compositionDraggingType = null;
+
+ e.preventDefault();
+ e.stopPropagation();
+
+ var data = JSON.parse(e.dataTransfer.getData('product'));
+
+ dropdata(data, e.clientX, e.clientY);
+ }
+
+ dropzone1.addEventListener('drop', droplistener);
+
+ var catalogprefix = catalogprefix || "";
+
+ function dropdata(data, x, y) {
+ //log("DROPDATA",data);
+ if (data.nodes) {
+ log("dropdata", 1);
+ // assuming incoming data blob is a composition template
+ fixcomp(data, function (c) {
+ var nodes = addcomp(c, x, y);
+ });
+ } else if (data.product) { // DEAD?
+ log("dropdata", 2);
+ addproduct(data.product, x, y);
+ } else if (data.uuid) { // self-contained catalog interface
+ log("dropdata", 3);
+ addproduct(data, x, y);
+ } else {
+ log("dropdata", 4);
+ // it's a single node
+ var n = data;
+ if (n.id == 0) { // dummy node special case
+ n.type = {
+ name: "NOTYPE"
+ };
+ addnode(n);
+ } else {
+ // replace with catalogtype TODO
+ if (x.type && x.type.name) {
+ xhrget(catalogprefix + "/type?" + n.type.name, function (resp) {
+ var ti = JSON.parse(resp);
+ n.typeinfo = ti;
+ addnode(n);
+ });
+ } else {
+ addnode(n);
+ }
+ }
+ }
+ return false;
+ }
+
+ // query type info for each node
+ function fixcomp(c, fn) {
+ var nn = c.nodes.length;
+ c
+ .nodes
+ .map(function (n) {
+ if (n.id === 0) { // dummy node special case
+ n.type = {
+ name: "NOTYPE"
+ };
+ if (--nn == 0)
+ fn(c);
+ }
+ else {
+ // replace with catalogtype TODO HACK n.type into n.type.name
+ if (typeof n.type == "string")
+ n.type = {
+ name: n.type
+ };
+ if (!n.name)
+ n.name = "foo";
+ catalogtype(n.id, n.type.name, function (resp) {
+ var ti = JSON.parse(resp);
+ if (n.typeinfo)
+ log("fixcomp - already have typeinfo");
+ else
+ n.typeinfo = ti;
+ if (--nn == 0)
+ fn(c);
+ }
+ );
+ }
+ });
+ }
+
+ function fixcomp0(c, fn) {
+ var nn = c.nodes.length;
+ c
+ .nodes
+ .map(function (n) {
+ if (n.id == 0) { // dummy node special case
+ n.type = {
+ name: "NOTYPE"
+ };
+ if (--nn == 0)
+ fn(c);
+ }
+ else {
+ // replace with catalogtype TODO
+ xhrget(catalogprefix + "/type?" + n.type.name, function (resp) {
+ var ti = JSON.parse(resp);
+ n.typeinfo = ti;
+ if (--nn == 0)
+ fn(c);
+ }
+ );
+ }
+ });
+ }
+
+ function setcomposition(c) {
+ c = JSON.parse(c);
+ d3
+ .select("#composition")
+ .html("\"" + c.name + "\"<br><span style='font-size: 60%'>(" + c.description + ")<br>" + c.composition + "</span>");
+ }
+
+ // stolen from bostock
+ function wrap(text, width) {
+ text
+ .each(function () {
+ var text = d3.select(this),
+ words = text
+ .text()
+ .split(/\s+/)
+ .reverse(),
+ word,
+ line = [],
+ lineNumber = 0,
+ lineHeight = 1.1, // ems
+ y = text.attr("y"),
+ dy = parseFloat(text.attr("dy")),
+ tspan = text
+ .text(null)
+ .append("tspan")
+ .attr("x", 0)
+ .attr("y", y)
+ .attr("dy", dy + "em");
+ while (word = words.pop()) {
+ line.push(word);
+ tspan.text(line.join(" "));
+ if (tspan.node().getComputedTextLength() > width) {
+ line.pop();
+ tspan.text(line.join(" "));
+ line = [word];
+ tspan = text
+ .append("tspan")
+ .attr("x", 0)
+ .attr("y", y)
+ .attr("dy", ++lineNumber * lineHeight + dy + "em")
+ .text(word);
+ }
+ }
+ });
+ }
+
+ // filters go in defs element
+ var defs = svg.append("defs");
+
+ var filter = defs
+ .append("filter")
+ .attr("id", "drop-shadow")
+ .attr("x", "-50%")
+ .attr("y", "-50%")
+ .attr("width", "200%")
+ .attr("height", "200%");
+
+ // SourceAlpha refers to opacity of graphic that this filter will be applied to
+ // convolve that with a Gaussian with standard deviation 3 and store result in
+ // blur
+ filter
+ .append("feGaussianBlur")
+ .attr("in", "SourceAlpha")
+ .attr("stdDeviation", 7)
+ .attr("result", "blur");
+
+ // translate output of Gaussian blur to the right and downwards with 2px store
+ // result in offsetBlur
+ filter
+ .append("feOffset")
+ .attr("in", "blur")
+ .attr("dx", 2)
+ .attr("dy", 2)
+ .attr("result", "offsetBlur");
+
+ // overlay original SourceGraphic over translated blurred opacity by using
+ // feMerge filter. Order of specifying inputs is important!
+ var feMerge = filter.append("feMerge");
+
+ feMerge
+ .append("feMergeNode")
+ .attr("in", "offsetBlur")
+ feMerge
+ .append("feMergeNode")
+ .attr("in", "SourceGraphic");
+
+ function _serialsvg() {
+ svg
+ .append("style")
+ .html(css); // stick the stylesheet in
+ return new XMLSerializer().serializeToString(svg[0][0]);
+ // <object type="image/svg+xml" data="foo4.svg"> </object>
+ }
+
+ function serialsvg() {
+ // no, clone is poison var s = clone(svg);
+ s = svg;
+ // s.append("style").html(css); // stick the stylesheet in
+ return new XMLSerializer().serializeToString(s.node());
+ // <object type="image/svg+xml" data="foo4.svg"> </object>
+ }
+
+ function clone(s) {
+ var n = s.node();
+ return d3.select(n.parentNode.insertBefore(n.cloneNode(true), n.nextSibling));
+ }
+
+ // EXTERNAL / OUTBOUND APIs window.addEventListener('load', function(){
+ // },false);
+
+ if (typeof ascIceServerGet == 'function') {
+ xhrget = function (url, callback) {
+ console.log("ascIceServerGet", url);
+ ascIceServerGet(url, function (responseText) {
+ if (callback)
+ callback(responseText);
+ }
+ );
+ }
+ xhrpost = function (url, obj, callback, type) {
+ console.log("ascIceServerPost", url, obj, type);
+ ascIceServerPost(url, JSON.stringify(obj), function (responseText) {
+ if (callback)
+ callback(responseText);
+ }
+ , type);
+ }
+
+ xhrpostraw = function (url, obj, callback, type) {
+ // console.log("ascIceServerPost raw", url, obj, type);
+ ascIceServerPost(url, obj, function (responseText) {
+ if (callback)
+ callback(responseText);
+ }
+ , type || "text/plain");
+ }
+ }
+
+ function onCompositionEvent(compositionEvent, compositionElement) {
+ if (typeof onEventFromComposition === 'function') {
+ onEventFromComposition(compositionEvent, compositionElement);
+ }
+ }
+
+ function setCompositionDropZone(type, yesno) {
+ compositionDraggingType = (yesno === true
+ ? type
+ : null);
+ switch (type) {
+ case 'product':
+ d3
+ .select("#compositiondiv")
+ .selectAll(".compositioncontainer")
+ .classed("highlight", !!yesno);
+ break;
+ case 'location':
+ d3
+ .select("#compositiondiv")
+ .selectAll(".asc_nodes_Site")
+ .classed("highlight", !!yesno);
+ break;
+ }
+ }
+
+ function clearComposition() {
+ graph
+ .selectAll(".node")
+ .each(function (d) {
+ removenode(d);
+ });
+ }
+
+ var composition_version = {
+ revision: "revision: 2568",
+ lastmod: "last modified: Thu Sep 21 13:22:37 2017"
+ };
+
+ // log(composition_version); extern
+ window.xhrget = xhrget;
+ window.configclose = configclose;
+ window.dropdata = dropdata;
+
+ // log("starting composition inside " + window.location.host + " " +
+ // JSON.stringify(composition_version));
+
+};
+
+setTimeout(function () {
+ window.comp = new CompositionEditor();
+ $('#composition-loader').hide();
+}, 2000);
+
+//
+// ─── CONTROLLERS
+// ────────────────────────────────────────────────────────────────
+//
+
+/**
+ * Represents a controller that connects DOM operations with services. Comp(ostion)Controller
+ * @param {ApiService} apiService - service that handles api calls
+ * @requires jquery
+ * @requires bootstrap-modal
+ */
+function CompController(apiService) {
+
+ /* Private members */
+
+ var self = this,
+ loaderElement = $('#composition-loader');
+
+ /* Public members */
+
+ /**
+ * Saves a given composition, up to 3 attempts are made in case of failure
+ * UI interactions:
+ * - loader showing until request returns
+ * - notification on success
+ * - modal on failure
+ * @param {Object} composition
+ */
+ self.saveComposition = function (composition) {
+ loaderElement.show();
+ return attempt(3, function () {
+ return apiService.saveComposition(composition.cid, composition);
+ })
+ .then(function (response) {
+ console.log(response);
+ composition.cid = response.uuid;
+ notifySuccess('Composition saved', 'saveMsg');
+ })
+ .fail(function (jqXHR) {
+ console.error('SaveComposition failed %o', jqXHR.responseJSON.notes);
+ var tempError = Object
+ .keys(jqXHR.responseJSON.requestError)
+ .map(function (key) {
+ return jqXHR.responseJSON.requestError[key];
+ });
+ var message = (jqXHR.responseJSON !== undefined)
+ ? tempError[0].formattedErrorMessage // use response when it's not in JSON format
+ : 'Internal server error - unable to save composition.';
+ alertError(message);
+ })
+ .always(function () {
+ loaderElement.hide();
+ window
+ .sdc
+ .notify('ACTION_COMPLETED');
+ });
+ };
+
+ /**
+ * Creates a blueprint
+ * UI interactions:
+ * - loader showing until request returns
+ * - notification on success
+ * - modal on failure
+ * @param {String} component_Id
+ * @param {String} serviceuuid
+ * @param {String} vnfiname
+ * @param {String} mt - flow-type
+ */
+ self.createBlueprint = function (component_Id, serviceuuid, vnfiname, mt) {
+ loaderElement.show();
+ apiService
+ .createBlueprint(component_Id, serviceuuid, vnfiname, mt)
+ .then(function (response) {
+ console.log('create blueprint response body: %o', response);
+ notifySuccess('Blueprint Created', 'submitMsg');
+ })
+ .fail(function (jqXHR) {
+ console.error('Create blueprint failed %o', jqXHR.responseJSON.notes);
+ var tempError = Object
+ .keys(jqXHR.responseJSON.requestError)
+ .map(function (key) {
+ return jqXHR.responseJSON.requestError[key];
+ });
+ var message = (jqXHR.responseJSON !== undefined)
+ ? tempError[0].formattedErrorMessage
+ // use response when it's not in JSON format
+ : 'Internal server error: unable to create blueprint';
+ alertError(message);
+ })
+ .always(function () {
+ loaderElement.hide();
+ });
+ };
+
+}
+
+//
+// ─── SERVICES
+// ───────────────────────────────────────────────────────────────────
+//
+
+/**
+ * Represents a service that handles api calls
+ * (!) Do not make any UI interactions or DOM changes in this context - use the controller for that
+ * @constructor
+ * @param {String} baseUrl
+ * @param {String} userId
+ */
+function ApiService(baseUrl, userId) {
+
+ /* Private members */
+
+ var self = this,
+ headers = {
+ 'Content-Type': 'text/plain;charset=UTF-8',
+ 'Access-Control-Allow-Origin': '*',
+ 'USER_ID': userId
+ };
+
+ function post(path, data) {
+ var deferred = $.Deferred();
+ $.ajax({
+ type: 'POST',
+ url: baseUrl + path,
+ data: JSON.stringify(data),
+ headers: headers
+ })
+ .then(function () {
+ // connect deferred with ajax on success
+ return deferred
+ .resolve
+ .apply(null, arguments);
+ })
+ .fail(function (jqXHR) {
+ // when no response show server-unavilable
+ jqXHR.responseText = jqXHR.responseText || 'Server Unavailable';
+ // connect deferred with ajax on failure
+ return deferred.reject(jqXHR);
+ });
+ return deferred;
+ }
+
+ /* Public members */
+
+ self.saveComposition = function (cid, data) {
+ return post('/saveComposition/' + cid, data);
+ };
+
+ self.createBlueprint = function (componentId, serviceUuid, vfniName, mt) {
+ var path = ['/createBluePrint', componentId, serviceUuid, vfniName, mt].join('/');
+ return post(path, null);
+ };
+}
+
+//
+// ─── UTILS
+// ──────────────────────────────────────────────────────────────────────
+//
+
+/**
+ * Attempt to perform an given action (deferredFunc)
+ * @param {Integer} maxAttempts - maximum number of retries
+ * @param {Function} deferredFunc - function that returns deferred object (jquery promise object)
+ * @returns {jquery Deferred object} - see api at https://api.jquery.com/category/deferred-object/
+ * @requires jquery
+ * @example
+ * // prints 'error' if GET request to 'http://some-url' failed 3 times
+ * // prints 'success' if one of the attempts was successful
+ * attempt(3, () => $.get('http://some-url'))
+ * .then(() => console.log('success'))
+ * .fail(() => console.log('error'))
+ */
+function attempt(maxAttempts, deferredFunc) {
+ var promise = $.Deferred(),
+ errorArgs = null;
+
+ function recurse(attemptsLeft) {
+ if (attemptsLeft < 1) {
+ // fail when no more attempts left
+ promise
+ .reject
+ .apply(null, errorArgs);
+ } else {
+ deferredFunc()
+ .then(function () {
+ return promise
+ .resolve
+ .apply(null, arguments);
+ })
+ .fail(function () {
+ errorArgs = arguments;
+ recurse(attemptsLeft - 1); // retry on fail
+ });
+ }
+ }
+
+ recurse(maxAttempts);
+ return promise;
+}
+
+/**
+ * Displays success notification on the bottom of the screen
+ * Will auto-close after 5 secs
+ * @param {String} message
+ * @param {String} testId - id for selenium tests
+ * @requires jquery
+ * @requires remarkable-bootstrap-notify
+ */
+function notifySuccess(message, testId) {
+ var template = $('<span>')
+ .attr('data-tests-id', testId)
+ .text(message)
+ .prop('outerHTML') // stringify the element
+
+ $.notify({
+ // options
+ message: template,
+ icon: 'glyphicon glyphicon-ok' // v icon
+ }, {
+ // settings
+ type: 'success',
+ delay: 5000, // auto-close after 5sec
+ placement: {
+ from: 'bottom'
+ }
+ });
+}
+
+/**
+ * Displays alert modal
+ * @param {String} message
+ * @requires bootstrap
+ */
+function alertError(message) {
+ $('#alert-modal')
+ .modal('show')
+ .find('.modal-body')
+ .text(message);
+}
diff --git a/app/comp-fe/config.js b/app/comp-fe/config.js
new file mode 100644
index 0000000..210fbe4
--- /dev/null
+++ b/app/comp-fe/config.js
@@ -0,0 +1,3 @@
+configOptions = {
+ backend_url: window.host
+}
diff --git a/app/comp-fe/cors_http_server.py b/app/comp-fe/cors_http_server.py
new file mode 100644
index 0000000..8a54500
--- /dev/null
+++ b/app/comp-fe/cors_http_server.py
@@ -0,0 +1,13 @@
+#! /usr/bin/env python
+
+from SimpleHTTPServer import SimpleHTTPRequestHandler, test
+
+
+class CORSHTTPRequestHandler(SimpleHTTPRequestHandler):
+
+ def end_headers(self):
+ self.send_header('Access-Control-Allow-Origin', '*')
+ super(CORSHTTPRequestHandler, self).end_headers(self)
+
+if __name__ == '__main__':
+ test(HandlerClass=CORSHTTPRequestHandler) \ No newline at end of file
diff --git a/app/comp-fe/elements b/app/comp-fe/elements
new file mode 100644
index 0000000..2c5d56d
--- /dev/null
+++ b/app/comp-fe/elements
@@ -0,0 +1 @@
+{"id":null,"timestamp":0,"data":{},"error":{"exception":"java.lang.RuntimeException: Failed to retrieve resources","message":"Catalog API failed"}} \ No newline at end of file
diff --git a/app/comp-fe/httpserv.js b/app/comp-fe/httpserv.js
new file mode 100644
index 0000000..11bbef4
--- /dev/null
+++ b/app/comp-fe/httpserv.js
@@ -0,0 +1,32 @@
+var http = require("http");
+var url = require("url");
+var fs = require("fs");
+
+http.createServer(function(req, resp) {
+ var file = url.parse(req.url).pathname.substring(1);
+
+ console.log(file);
+ if (!fs.existsSync(file)) {
+ resp.writeHead(404, file + " foundn't");
+ return resp.end();
+ }
+
+ try {
+ fs.readFile(file, function(err, file) {
+ if (err) {
+ throw err;
+ } else {
+ resp.writeHead(200,
+ { 'Access-Control-Allow-Origin' : '*',
+ 'Access-Control-Allow-Methods': 'GET, POST, OPTIONS, PUT, PATCH, DELETE',
+ 'Access-Control-Allow-Headers': 'X-Requested-With,content-type',
+ 'Access-Control-Allow-Credentials': true });
+ resp.write(file);
+ resp.end();
+ }
+ });
+ } catch(e) {
+ resp.writeHead(500,e);
+ resp.end();
+ }
+}).listen(8999);
diff --git a/app/comp-fe/icecat.html b/app/comp-fe/icecat.html
new file mode 100644
index 0000000..e4057a1
--- /dev/null
+++ b/app/comp-fe/icecat.html
@@ -0,0 +1,67 @@
+<script>
+ function createScript(src) {
+ var script = document.createElement('script');
+ script.src = src;
+ return script;
+ }
+
+ function createLink(src) {
+ var link = document.createElement('link');
+ link.rel = 'stylesheet';
+ link.href = src;
+ return link;
+ }
+
+ $('head').append(createLink(window.catalogImport + 'composition.css'));
+ $('head').append(createLink(window.catalogImport + 'catalog.css'));
+ $('head').append(createLink(window.catalogImport + 'styles/bootstrap.css'));
+
+ $('body').append(createScript(window.catalogImport + 'js/d3.min.js'));
+ $('body').append(createScript(window.catalogImport + 'js/underscore.js'));
+ $('body').append(createScript(window.catalogImport + 'js/circular-json.js'));
+ $('body').append(createScript(window.catalogImport + 'js/bootstrap.js'));
+ $('body').append(createScript(window.catalogImport + 'js/bootstrap-notify.min.js'));
+ $('body').append(createScript(window.catalogImport + 'config.js'));
+ $('body').append(createScript(window.catalogImport + 'composition.js'));
+ $('body').append(createScript(window.catalogImport + 'asdc-catalog.js'));
+
+</script>
+
+<div id="icecat">
+ <div id="catalogdiv">
+ <div>
+ <div class="mandatory">*</div>
+ <select id="selected-type-mt" class="type-select" data-tests-id="flowTypeSelect">
+ <option value="" disabled selected>Select flow type</option>
+ </select>
+ </div>
+
+ <div id="catalog">
+ <div id="catalogitemlist">
+ <div id="elementquery">[catalog elements]</div>
+ </div>
+ <br>
+ <center>
+ <button class="catalogitem big-btn" id="savebtn">Save</button>
+ <!-- <button class="catalogitem" id="submitbtn">Submit</button> -->
+ </center>
+ </div>
+ </div>
+
+ <div id="compositioncontainer" style="width: 80%"> </div>
+
+ <div id="configeditor" style="visibility:hidden">
+ <div id="configstuff" style="overflow: scroll"></div>
+ <br>
+ <div class="config-fotter">
+ <button type="button" class="btn btn-default" onclick="configclose(this)">Cancel</button>
+ <button type="button" class="btn btn-primary" id="configset">Set</button>
+ </div>
+ </div>
+
+</div>
+
+<input type="hidden" id="componentId" />
+<input type="hidden" id="serviceuuid" />
+<input type="hidden" id="vnfiname" />
+<input type="hidden" id="typeFlag" />
diff --git a/app/comp-fe/img/3net.png b/app/comp-fe/img/3net.png
new file mode 100644
index 0000000..436d324
--- /dev/null
+++ b/app/comp-fe/img/3net.png
Binary files differ
diff --git a/app/comp-fe/img/3netg.png b/app/comp-fe/img/3netg.png
new file mode 100644
index 0000000..0b0cf9a
--- /dev/null
+++ b/app/comp-fe/img/3netg.png
Binary files differ
diff --git a/app/comp-fe/img/collnode.png b/app/comp-fe/img/collnode.png
new file mode 100644
index 0000000..ca395d1
--- /dev/null
+++ b/app/comp-fe/img/collnode.png
Binary files differ
diff --git a/app/comp-fe/img/dbnode.png b/app/comp-fe/img/dbnode.png
new file mode 100644
index 0000000..2d3cc8c
--- /dev/null
+++ b/app/comp-fe/img/dbnode.png
Binary files differ
diff --git a/app/comp-fe/img/death.png b/app/comp-fe/img/death.png
new file mode 100644
index 0000000..748fbf8
--- /dev/null
+++ b/app/comp-fe/img/death.png
Binary files differ
diff --git a/app/comp-fe/img/dummy.svg b/app/comp-fe/img/dummy.svg
new file mode 100644
index 0000000..108c43f
--- /dev/null
+++ b/app/comp-fe/img/dummy.svg
@@ -0,0 +1 @@
+<svg transform="translate(169,0)" width="845" height="600" style="overflow: visible;"><g><g><path class="relation" d="M359.9796387565147,508.7916563014101C429.9217600700797,508.7916563014101 429.9217600700797,498.22565330604675 499.86388138364464,498.22565330604675"></path><path class="relation" d="M611.781826813519,299.3062287330081C543.4100269876934,299.3062287330081 543.4100269876934,295.75669106562395 475.03822716186784,295.75669106562395"></path><path class="relation" d="M202.85436920660723,264.2761524705843C242.20406826250888,264.2761524705843 242.20406826250888,122.71054954338507 281.55376731841056,122.71054954338507"></path><path class="relation" d="M447.2251061808661,347.39648062653936C484.17926731493964,347.39648062653936 484.17926731493964,453.43920402323624 521.1334284490132,453.43920402323624"></path><path class="relation" d="M565.1931639335037,138.9383808743189C600.6571990543598,138.9383808743189 600.6571990543598,257.68088277682267 636.1212341752159,257.68088277682267"></path><path class="relation" d="M327.65379751361684,124.00168934212773C354.68179652346026,124.00168934212773 354.68179652346026,235.57799697550706 381.7097955333037,235.57799697550706"></path></g><g class="node asc_nodes_Site" transform="translate(661.7649805794193,300.6040498356139)"><circle r="50"></circle><foreignObject x="-60" y="-65" width="140" height="140"><body class="nodetext" style="width: 120px; height: 130px;"><img height="35" src="img/3net.png"><br>site<br><span class="confignode">[configure]</span></body></foreignObject><g class="nodeport targetport" name="network_access_connection" transform="translate(-49.983159089161305,-1.2976160709514712)" style="opacity: 1;"><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="network_access_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_access</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="network_access_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_access</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="network_access_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_access</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="network_access_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_access</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="network_access_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_access</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="network_access_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_access</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="network_access_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_access</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="network_access_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_access</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="network_access_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_access</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="network_access_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_access</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="network_access_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_access</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="network_access_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_access</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="network_access_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_access</text></g><g class="nodeport targetport" name="site_host" transform="translate(-25.641782439518256,-42.92434033650853)" style="opacity: 1;"><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="site_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">site_host</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="site_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">site_host</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="site_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">site_host</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="site_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">site_host</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="site_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">site_host</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="site_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">site_host</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="site_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">site_host</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="site_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">site_host</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="site_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">site_host</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="site_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">site_host</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="site_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">site_host</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="site_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">site_host</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="site_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">site_host</text></g></g><g class="node asc_nodes_Site" transform="translate(549.721873767989,494.4599401727001)"><circle r="50"></circle><foreignObject x="-60" y="-65" width="140" height="140"><body class="nodetext" style="width: 120px; height: 130px;"><img height="35" src="img/3net.png"><br>site<br><span class="confignode">[configure]</span></body></foreignObject><g class="nodeport targetport" name="network_access_connection" transform="translate(-28.589040455973937,-41.020321376199455)" style="opacity: 1;"><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="network_access_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_access</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="network_access_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_access</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="network_access_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_access</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="network_access_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_access</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="network_access_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_access</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="network_access_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_access</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="network_access_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_access</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="network_access_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_access</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="network_access_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_access</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="network_access_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_access</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="network_access_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_access</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="network_access_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_access</text></g><g class="nodeport targetport" name="site_host" transform="translate(-49.857981173224445,3.765861565485002)" style="opacity: 1;"><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="site_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">site_host</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="site_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">site_host</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="site_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">site_host</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="site_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">site_host</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="site_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">site_host</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="site_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">site_host</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="site_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">site_host</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="site_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">site_host</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="site_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">site_host</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="site_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">site_host</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="site_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">site_host</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="site_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">site_host</text></g></g><g class="node asc_nodes_VPN" transform="translate(305.8458500267755,79.0082072984898)"><circle r="50"></circle><foreignObject x="-60" y="-65" width="140" height="140"><body class="nodetext" style="width: 120px; height: 130px;"><img height="35" src="img/3net.png"><br>vpn<br><span class="confignode">[configure]</span></body></foreignObject><g class="nodeport targetport" name="network_interface_connection" transform="translate(21.803870623242013,44.99545783570742)" style="opacity: 1;"><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="network_interface_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_interface</text><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="network_interface_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_interface</text><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="network_interface_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_interface</text><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="network_interface_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_interface</text><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="network_interface_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_interface</text><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="network_interface_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_interface</text><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="network_interface_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_interface</text><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="network_interface_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_interface</text><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="network_interface_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_interface</text><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="network_interface_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_interface</text><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="network_interface_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_interface</text></g><g class="nodeport targetport" name="vpn_host" transform="translate(-24.29349966479572,43.70155459519226)" style="opacity: 1;"><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="vpn_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">vpn_host</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="vpn_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">vpn_host</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="vpn_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">vpn_host</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="vpn_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">vpn_host</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="vpn_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">vpn_host</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="vpn_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">vpn_host</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="vpn_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">vpn_host</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="vpn_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">vpn_host</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="vpn_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">vpn_host</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="vpn_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">vpn_host</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="vpn_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">vpn_host</text></g><g class="nodeport targetport" name="network_interface_connection" transform="translate(0.6150511325320998,49.996216977931155)" style="opacity: 1;"><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="network_interface_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_interface</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="network_interface_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_interface</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="network_interface_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_interface</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="network_interface_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_interface</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="network_interface_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_interface</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="network_interface_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_interface</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="network_interface_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_interface</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="network_interface_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_interface</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="network_interface_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_interface</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="network_interface_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_interface</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="network_interface_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_interface</text></g></g><g class="node asc_nodes_AppServer" transform="translate(310.12164637217035,512.5573694347568)"><circle r="50"></circle><foreignObject x="-60" y="-65" width="140" height="140"><body class="nodetext" style="width: 120px; height: 130px;"><img height="35" src="img/3net.png"><br>server<br><span class="confignode">[configure]</span></body></foreignObject><g class="nodeport targetport" name="site_host" transform="translate(49.857981173224445,-3.7658615654850083)" style="opacity: 1;"><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="site_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">site_host</text><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="site_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">site_host</text><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="site_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">site_host</text><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="site_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">site_host</text><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="site_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">site_host</text><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="site_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">site_host</text><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="site_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">site_host</text><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="site_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">site_host</text><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="site_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">site_host</text><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="site_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">site_host</text></g></g><g class="node asc_nodes_VIG" transform="translate(178.56228649824232,307.97849471547954)"><circle r="50"></circle><foreignObject x="-60" y="-65" width="140" height="140"><body class="nodetext" style="width: 120px; height: 130px;"><img height="35" src="img/3net.png"><br>vig<br><span class="confignode">[configure]</span></body></foreignObject><g class="nodeport targetport" name="vpn_host" transform="translate(24.293499664795714,-43.70155459519227)" style="opacity: 1;"><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="vpn_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">vpn_host</text><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="vpn_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">vpn_host</text><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="vpn_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">vpn_host</text><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="vpn_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">vpn_host</text><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="vpn_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">vpn_host</text><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="vpn_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">vpn_host</text><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="vpn_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">vpn_host</text><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="vpn_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">vpn_host</text><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="vpn_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">vpn_host</text></g></g><g class="node asc_nodes_AppServer" transform="translate(539.5494175293002,96.01521381552767)"><circle r="50"></circle><foreignObject x="-60" y="-65" width="140" height="140"><body class="nodetext" style="width: 120px; height: 130px;"><img height="35" src="img/3net.png"><br>server<br><span class="confignode">[configure]</span></body></foreignObject><g class="nodeport targetport" name="site_host" transform="translate(25.641782439518266,42.92434033650852)" style="opacity: 1;"><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="site_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">site_host</text><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="site_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">site_host</text><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="site_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">site_host</text><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="site_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">site_host</text><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="site_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">site_host</text><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="site_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">site_host</text><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="site_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">site_host</text><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="site_host"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">site_host</text></g></g><g class="node asc_nodes_NOD" transform="translate(410.06012726619747,294.0695236322364)"><circle r="65"></circle><foreignObject x="-60" y="-65" width="140" height="140"><body class="nodetext" style="width: 120px; height: 130px;"><img height="35" src="img/3net.png"><br>NOD<br><span class="confignode">[configure]</span></body></foreignObject><g class="nodeport targetport" name="network_access_connection" transform="translate(64.9781068159097,1.686900892236876)" style="opacity: 1;"><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="network_access_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_access</text><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="network_access_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_access</text><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="network_access_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_access</text><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="network_access_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_access</text><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="network_access_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_access</text><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="network_access_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_access</text><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="network_access_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_access</text><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="network_access_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_access</text><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="network_access_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_access</text></g><g class="nodeport targetport" name="network_interface_connection" transform="translate(-28.345031810214596,-58.494095186419656)" style="opacity: 1;"><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="network_interface_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_interface</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="network_interface_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_interface</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="network_interface_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_interface</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="network_interface_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_interface</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="network_interface_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_interface</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="network_interface_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_interface</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="network_interface_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_interface</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="network_interface_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_interface</text><circle class="targetcircle" r="10"></circle><circle class="capabilityport srcport" r="10" port="network_interface_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_interface</text></g><g class="nodeport targetport" name="network_access_connection" transform="translate(37.165752592766125,53.326417789059285)" style="opacity: 1;"><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="network_access_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_access</text><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="network_access_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_access</text><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="network_access_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_access</text><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="network_access_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_access</text><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="network_access_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_access</text><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="network_access_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_access</text></g><g class="nodeport targetport" name="network_access_connection" transform="translate(-58.746964202022625,27.817156523380902)" style="opacity: 1;"><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="network_access_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_access</text><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="network_access_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_access</text><circle class="targetcircle" r="10"></circle><circle class="requirementport srcport" r="10" port="network_access_connection"></circle><text class="nodeporttext" transform="scale(.75)" dominant-baseline="middle">net_access</text></g></g></g><defs><filter id="drop-shadow" x="-50%" y="-50%" width="200%" height="200%"><feGaussianBlur in="SourceAlpha" stdDeviation="7" result="blur"></feGaussianBlur><feOffset in="blur" dx="2" dy="2" result="offsetBlur"></feOffset><feMerge><feMergeNode in="offsetBlur"></feMergeNode><feMergeNode in="SourceGraphic"></feMergeNode></feMerge></filter></defs></svg>
diff --git a/app/comp-fe/img/extnode.png b/app/comp-fe/img/extnode.png
new file mode 100644
index 0000000..cdad92c
--- /dev/null
+++ b/app/comp-fe/img/extnode.png
Binary files differ
diff --git a/app/comp-fe/img/gamma.png b/app/comp-fe/img/gamma.png
new file mode 100644
index 0000000..66db810
--- /dev/null
+++ b/app/comp-fe/img/gamma.png
Binary files differ
diff --git a/app/comp-fe/img/msnode.png b/app/comp-fe/img/msnode.png
new file mode 100644
index 0000000..a669f4d
--- /dev/null
+++ b/app/comp-fe/img/msnode.png
Binary files differ
diff --git a/app/comp-fe/img/sanode.png b/app/comp-fe/img/sanode.png
new file mode 100644
index 0000000..b55d09c
--- /dev/null
+++ b/app/comp-fe/img/sanode.png
Binary files differ
diff --git a/app/comp-fe/img/srcnode.png b/app/comp-fe/img/srcnode.png
new file mode 100644
index 0000000..b5c8ab4
--- /dev/null
+++ b/app/comp-fe/img/srcnode.png
Binary files differ
diff --git a/app/comp-fe/js/bootstrap-notify.min.js b/app/comp-fe/js/bootstrap-notify.min.js
new file mode 100644
index 0000000..f5ad385
--- /dev/null
+++ b/app/comp-fe/js/bootstrap-notify.min.js
@@ -0,0 +1,2 @@
+/* Project: Bootstrap Growl = v3.1.3 | Description: Turns standard Bootstrap alerts into "Growl-like" notifications. | Author: Mouse0270 aka Robert McIntosh | License: MIT License | Website: https://github.com/mouse0270/bootstrap-growl */
+!function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t("object"==typeof exports?require("jquery"):jQuery)}(function(t){function e(e,i,n){var i={content:{message:"object"==typeof i?i.message:i,title:i.title?i.title:"",icon:i.icon?i.icon:"",url:i.url?i.url:"#",target:i.target?i.target:"-"}};n=t.extend(!0,{},i,n),this.settings=t.extend(!0,{},s,n),this._defaults=s,"-"==this.settings.content.target&&(this.settings.content.target=this.settings.url_target),this.animations={start:"webkitAnimationStart oanimationstart MSAnimationStart animationstart",end:"webkitAnimationEnd oanimationend MSAnimationEnd animationend"},"number"==typeof this.settings.offset&&(this.settings.offset={x:this.settings.offset,y:this.settings.offset}),this.init()}var s={element:"body",position:null,type:"info",allow_dismiss:!0,newest_on_top:!1,showProgressbar:!1,placement:{from:"top",align:"right"},offset:20,spacing:10,z_index:1031,delay:5e3,timer:1e3,url_target:"_blank",mouse_over:null,animate:{enter:"animated fadeInDown",exit:"animated fadeOutUp"},onShow:null,onShown:null,onClose:null,onClosed:null,icon_type:"class",template:'<div data-notify="container" class="col-xs-11 col-sm-4 alert alert-{0}" role="alert"><button type="button" aria-hidden="true" class="close" data-notify="dismiss">&times;</button><span data-notify="icon"></span> <span data-notify="title">{1}</span> <span data-notify="message">{2}</span><div class="progress" data-notify="progressbar"><div class="progress-bar progress-bar-{0}" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%;"></div></div><a href="{3}" target="{4}" data-notify="url"></a></div>'};String.format=function(){for(var t=arguments[0],e=1;e<arguments.length;e++)t=t.replace(RegExp("\\{"+(e-1)+"\\}","gm"),arguments[e]);return t},t.extend(e.prototype,{init:function(){var t=this;this.buildNotify(),this.settings.content.icon&&this.setIcon(),"#"!=this.settings.content.url&&this.styleURL(),this.placement(),this.bind(),this.notify={$ele:this.$ele,update:function(e,s){var i={};"string"==typeof e?i[e]=s:i=e;for(var e in i)switch(e){case"type":this.$ele.removeClass("alert-"+t.settings.type),this.$ele.find('[data-notify="progressbar"] > .progress-bar').removeClass("progress-bar-"+t.settings.type),t.settings.type=i[e],this.$ele.addClass("alert-"+i[e]).find('[data-notify="progressbar"] > .progress-bar').addClass("progress-bar-"+i[e]);break;case"icon":var n=this.$ele.find('[data-notify="icon"]');"class"==t.settings.icon_type.toLowerCase()?n.removeClass(t.settings.content.icon).addClass(i[e]):(n.is("img")||n.find("img"),n.attr("src",i[e]));break;case"progress":var a=t.settings.delay-t.settings.delay*(i[e]/100);this.$ele.data("notify-delay",a),this.$ele.find('[data-notify="progressbar"] > div').attr("aria-valuenow",i[e]).css("width",i[e]+"%");break;case"url":this.$ele.find('[data-notify="url"]').attr("href",i[e]);break;case"target":this.$ele.find('[data-notify="url"]').attr("target",i[e]);break;default:this.$ele.find('[data-notify="'+e+'"]').html(i[e])}var o=this.$ele.outerHeight()+parseInt(t.settings.spacing)+parseInt(t.settings.offset.y);t.reposition(o)},close:function(){t.close()}}},buildNotify:function(){var e=this.settings.content;this.$ele=t(String.format(this.settings.template,this.settings.type,e.title,e.message,e.url,e.target)),this.$ele.attr("data-notify-position",this.settings.placement.from+"-"+this.settings.placement.align),this.settings.allow_dismiss||this.$ele.find('[data-notify="dismiss"]').css("display","none"),(this.settings.delay<=0&&!this.settings.showProgressbar||!this.settings.showProgressbar)&&this.$ele.find('[data-notify="progressbar"]').remove()},setIcon:function(){"class"==this.settings.icon_type.toLowerCase()?this.$ele.find('[data-notify="icon"]').addClass(this.settings.content.icon):this.$ele.find('[data-notify="icon"]').is("img")?this.$ele.find('[data-notify="icon"]').attr("src",this.settings.content.icon):this.$ele.find('[data-notify="icon"]').append('<img src="'+this.settings.content.icon+'" alt="Notify Icon" />')},styleURL:function(){this.$ele.find('[data-notify="url"]').css({backgroundImage:"url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)",height:"100%",left:"0px",position:"absolute",top:"0px",width:"100%",zIndex:this.settings.z_index+1}),this.$ele.find('[data-notify="dismiss"]').css({position:"absolute",right:"10px",top:"5px",zIndex:this.settings.z_index+2})},placement:function(){var e=this,s=this.settings.offset.y,i={display:"inline-block",margin:"0px auto",position:this.settings.position?this.settings.position:"body"===this.settings.element?"fixed":"absolute",transition:"all .5s ease-in-out",zIndex:this.settings.z_index},n=!1,a=this.settings;switch(t('[data-notify-position="'+this.settings.placement.from+"-"+this.settings.placement.align+'"]:not([data-closing="true"])').each(function(){return s=Math.max(s,parseInt(t(this).css(a.placement.from))+parseInt(t(this).outerHeight())+parseInt(a.spacing))}),1==this.settings.newest_on_top&&(s=this.settings.offset.y),i[this.settings.placement.from]=s+"px",this.settings.placement.align){case"left":case"right":i[this.settings.placement.align]=this.settings.offset.x+"px";break;case"center":i.left=0,i.right=0}this.$ele.css(i).addClass(this.settings.animate.enter),t.each(Array("webkit","moz","o","ms",""),function(t,s){e.$ele[0].style[s+"AnimationIterationCount"]=1}),t(this.settings.element).append(this.$ele),1==this.settings.newest_on_top&&(s=parseInt(s)+parseInt(this.settings.spacing)+this.$ele.outerHeight(),this.reposition(s)),t.isFunction(e.settings.onShow)&&e.settings.onShow.call(this.$ele),this.$ele.one(this.animations.start,function(){n=!0}).one(this.animations.end,function(){t.isFunction(e.settings.onShown)&&e.settings.onShown.call(this)}),setTimeout(function(){n||t.isFunction(e.settings.onShown)&&e.settings.onShown.call(this)},600)},bind:function(){var e=this;if(this.$ele.find('[data-notify="dismiss"]').on("click",function(){e.close()}),this.$ele.mouseover(function(){t(this).data("data-hover","true")}).mouseout(function(){t(this).data("data-hover","false")}),this.$ele.data("data-hover","false"),this.settings.delay>0){e.$ele.data("notify-delay",e.settings.delay);var s=setInterval(function(){var t=parseInt(e.$ele.data("notify-delay"))-e.settings.timer;if("false"===e.$ele.data("data-hover")&&"pause"==e.settings.mouse_over||"pause"!=e.settings.mouse_over){var i=(e.settings.delay-t)/e.settings.delay*100;e.$ele.data("notify-delay",t),e.$ele.find('[data-notify="progressbar"] > div').attr("aria-valuenow",i).css("width",i+"%")}t<=-e.settings.timer&&(clearInterval(s),e.close())},e.settings.timer)}},close:function(){var e=this,s=parseInt(this.$ele.css(this.settings.placement.from)),i=!1;this.$ele.data("closing","true").addClass(this.settings.animate.exit),e.reposition(s),t.isFunction(e.settings.onClose)&&e.settings.onClose.call(this.$ele),this.$ele.one(this.animations.start,function(){i=!0}).one(this.animations.end,function(){t(this).remove(),t.isFunction(e.settings.onClosed)&&e.settings.onClosed.call(this)}),setTimeout(function(){i||(e.$ele.remove(),e.settings.onClosed&&e.settings.onClosed(e.$ele))},600)},reposition:function(e){var s=this,i='[data-notify-position="'+this.settings.placement.from+"-"+this.settings.placement.align+'"]:not([data-closing="true"])',n=this.$ele.nextAll(i);1==this.settings.newest_on_top&&(n=this.$ele.prevAll(i)),n.each(function(){t(this).css(s.settings.placement.from,e),e=parseInt(e)+parseInt(s.settings.spacing)+t(this).outerHeight()})}}),t.notify=function(t,s){var i=new e(this,t,s);return i.notify},t.notifyDefaults=function(e){return s=t.extend(!0,{},s,e)},t.notifyClose=function(e){"undefined"==typeof e||"all"==e?t("[data-notify]").find('[data-notify="dismiss"]').trigger("click"):t('[data-notify-position="'+e+'"]').find('[data-notify="dismiss"]').trigger("click")}}); \ No newline at end of file
diff --git a/app/comp-fe/js/bootstrap.js b/app/comp-fe/js/bootstrap.js
new file mode 100644
index 0000000..1c88b71
--- /dev/null
+++ b/app/comp-fe/js/bootstrap.js
@@ -0,0 +1,2317 @@
+/*!
+ * Bootstrap v3.3.4 (http://getbootstrap.com)
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+
+if (typeof jQuery === 'undefined') {
+ throw new Error('Bootstrap\'s JavaScript requires jQuery')
+}
+
++function ($) {
+ 'use strict';
+ var version = $.fn.jquery.split(' ')[0].split('.')
+ if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1)) {
+ throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher')
+ }
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: transition.js v3.3.4
+ * http://getbootstrap.com/javascript/#transitions
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+ 'use strict';
+
+ // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/)
+ // ============================================================
+
+ function transitionEnd() {
+ var el = document.createElement('bootstrap')
+
+ var transEndEventNames = {
+ WebkitTransition : 'webkitTransitionEnd',
+ MozTransition : 'transitionend',
+ OTransition : 'oTransitionEnd otransitionend',
+ transition : 'transitionend'
+ }
+
+ for (var name in transEndEventNames) {
+ if (el.style[name] !== undefined) {
+ return { end: transEndEventNames[name] }
+ }
+ }
+
+ return false // explicit for ie8 ( ._.)
+ }
+
+ // http://blog.alexmaccaw.com/css-transitions
+ $.fn.emulateTransitionEnd = function (duration) {
+ var called = false
+ var $el = this
+ $(this).one('bsTransitionEnd', function () { called = true })
+ var callback = function () { if (!called) $($el).trigger($.support.transition.end) }
+ setTimeout(callback, duration)
+ return this
+ }
+
+ $(function () {
+ $.support.transition = transitionEnd()
+
+ if (!$.support.transition) return
+
+ $.event.special.bsTransitionEnd = {
+ bindType: $.support.transition.end,
+ delegateType: $.support.transition.end,
+ handle: function (e) {
+ if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments)
+ }
+ }
+ })
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: alert.js v3.3.4
+ * http://getbootstrap.com/javascript/#alerts
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+ 'use strict';
+
+ // ALERT CLASS DEFINITION
+ // ======================
+
+ var dismiss = '[data-dismiss="alert"]'
+ var Alert = function (el) {
+ $(el).on('click', dismiss, this.close)
+ }
+
+ Alert.VERSION = '3.3.4'
+
+ Alert.TRANSITION_DURATION = 150
+
+ Alert.prototype.close = function (e) {
+ var $this = $(this)
+ var selector = $this.attr('data-target')
+
+ if (!selector) {
+ selector = $this.attr('href')
+ selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
+ }
+
+ var $parent = $(selector)
+
+ if (e) e.preventDefault()
+
+ if (!$parent.length) {
+ $parent = $this.closest('.alert')
+ }
+
+ $parent.trigger(e = $.Event('close.bs.alert'))
+
+ if (e.isDefaultPrevented()) return
+
+ $parent.removeClass('in')
+
+ function removeElement() {
+ // detach from parent, fire event then clean up data
+ $parent.detach().trigger('closed.bs.alert').remove()
+ }
+
+ $.support.transition && $parent.hasClass('fade') ?
+ $parent
+ .one('bsTransitionEnd', removeElement)
+ .emulateTransitionEnd(Alert.TRANSITION_DURATION) :
+ removeElement()
+ }
+
+
+ // ALERT PLUGIN DEFINITION
+ // =======================
+
+ function Plugin(option) {
+ return this.each(function () {
+ var $this = $(this)
+ var data = $this.data('bs.alert')
+
+ if (!data) $this.data('bs.alert', (data = new Alert(this)))
+ if (typeof option == 'string') data[option].call($this)
+ })
+ }
+
+ var old = $.fn.alert
+
+ $.fn.alert = Plugin
+ $.fn.alert.Constructor = Alert
+
+
+ // ALERT NO CONFLICT
+ // =================
+
+ $.fn.alert.noConflict = function () {
+ $.fn.alert = old
+ return this
+ }
+
+
+ // ALERT DATA-API
+ // ==============
+
+ $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close)
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: button.js v3.3.4
+ * http://getbootstrap.com/javascript/#buttons
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+ 'use strict';
+
+ // BUTTON PUBLIC CLASS DEFINITION
+ // ==============================
+
+ var Button = function (element, options) {
+ this.$element = $(element)
+ this.options = $.extend({}, Button.DEFAULTS, options)
+ this.isLoading = false
+ }
+
+ Button.VERSION = '3.3.4'
+
+ Button.DEFAULTS = {
+ loadingText: 'loading...'
+ }
+
+ Button.prototype.setState = function (state) {
+ var d = 'disabled'
+ var $el = this.$element
+ var val = $el.is('input') ? 'val' : 'html'
+ var data = $el.data()
+
+ state = state + 'Text'
+
+ if (data.resetText == null) $el.data('resetText', $el[val]())
+
+ // push to event loop to allow forms to submit
+ setTimeout($.proxy(function () {
+ $el[val](data[state] == null ? this.options[state] : data[state])
+
+ if (state == 'loadingText') {
+ this.isLoading = true
+ $el.addClass(d).attr(d, d)
+ } else if (this.isLoading) {
+ this.isLoading = false
+ $el.removeClass(d).removeAttr(d)
+ }
+ }, this), 0)
+ }
+
+ Button.prototype.toggle = function () {
+ var changed = true
+ var $parent = this.$element.closest('[data-toggle="buttons"]')
+
+ if ($parent.length) {
+ var $input = this.$element.find('input')
+ if ($input.prop('type') == 'radio') {
+ if ($input.prop('checked') && this.$element.hasClass('active')) changed = false
+ else $parent.find('.active').removeClass('active')
+ }
+ if (changed) $input.prop('checked', !this.$element.hasClass('active')).trigger('change')
+ } else {
+ this.$element.attr('aria-pressed', !this.$element.hasClass('active'))
+ }
+
+ if (changed) this.$element.toggleClass('active')
+ }
+
+
+ // BUTTON PLUGIN DEFINITION
+ // ========================
+
+ function Plugin(option) {
+ return this.each(function () {
+ var $this = $(this)
+ var data = $this.data('bs.button')
+ var options = typeof option == 'object' && option
+
+ if (!data) $this.data('bs.button', (data = new Button(this, options)))
+
+ if (option == 'toggle') data.toggle()
+ else if (option) data.setState(option)
+ })
+ }
+
+ var old = $.fn.button
+
+ $.fn.button = Plugin
+ $.fn.button.Constructor = Button
+
+
+ // BUTTON NO CONFLICT
+ // ==================
+
+ $.fn.button.noConflict = function () {
+ $.fn.button = old
+ return this
+ }
+
+
+ // BUTTON DATA-API
+ // ===============
+
+ $(document)
+ .on('click.bs.button.data-api', '[data-toggle^="button"]', function (e) {
+ var $btn = $(e.target)
+ if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
+ Plugin.call($btn, 'toggle')
+ e.preventDefault()
+ })
+ .on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) {
+ $(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type))
+ })
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: carousel.js v3.3.4
+ * http://getbootstrap.com/javascript/#carousel
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+ 'use strict';
+
+ // CAROUSEL CLASS DEFINITION
+ // =========================
+
+ var Carousel = function (element, options) {
+ this.$element = $(element)
+ this.$indicators = this.$element.find('.carousel-indicators')
+ this.options = options
+ this.paused = null
+ this.sliding = null
+ this.interval = null
+ this.$active = null
+ this.$items = null
+
+ this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this))
+
+ this.options.pause == 'hover' && !('ontouchstart' in document.documentElement) && this.$element
+ .on('mouseenter.bs.carousel', $.proxy(this.pause, this))
+ .on('mouseleave.bs.carousel', $.proxy(this.cycle, this))
+ }
+
+ Carousel.VERSION = '3.3.4'
+
+ Carousel.TRANSITION_DURATION = 600
+
+ Carousel.DEFAULTS = {
+ interval: 5000,
+ pause: 'hover',
+ wrap: true,
+ keyboard: true
+ }
+
+ Carousel.prototype.keydown = function (e) {
+ if (/input|textarea/i.test(e.target.tagName)) return
+ switch (e.which) {
+ case 37: this.prev(); break
+ case 39: this.next(); break
+ default: return
+ }
+
+ e.preventDefault()
+ }
+
+ Carousel.prototype.cycle = function (e) {
+ e || (this.paused = false)
+
+ this.interval && clearInterval(this.interval)
+
+ this.options.interval
+ && !this.paused
+ && (this.interval = setInterval($.proxy(this.next, this), this.options.interval))
+
+ return this
+ }
+
+ Carousel.prototype.getItemIndex = function (item) {
+ this.$items = item.parent().children('.item')
+ return this.$items.index(item || this.$active)
+ }
+
+ Carousel.prototype.getItemForDirection = function (direction, active) {
+ var activeIndex = this.getItemIndex(active)
+ var willWrap = (direction == 'prev' && activeIndex === 0)
+ || (direction == 'next' && activeIndex == (this.$items.length - 1))
+ if (willWrap && !this.options.wrap) return active
+ var delta = direction == 'prev' ? -1 : 1
+ var itemIndex = (activeIndex + delta) % this.$items.length
+ return this.$items.eq(itemIndex)
+ }
+
+ Carousel.prototype.to = function (pos) {
+ var that = this
+ var activeIndex = this.getItemIndex(this.$active = this.$element.find('.item.active'))
+
+ if (pos > (this.$items.length - 1) || pos < 0) return
+
+ if (this.sliding) return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) // yes, "slid"
+ if (activeIndex == pos) return this.pause().cycle()
+
+ return this.slide(pos > activeIndex ? 'next' : 'prev', this.$items.eq(pos))
+ }
+
+ Carousel.prototype.pause = function (e) {
+ e || (this.paused = true)
+
+ if (this.$element.find('.next, .prev').length && $.support.transition) {
+ this.$element.trigger($.support.transition.end)
+ this.cycle(true)
+ }
+
+ this.interval = clearInterval(this.interval)
+
+ return this
+ }
+
+ Carousel.prototype.next = function () {
+ if (this.sliding) return
+ return this.slide('next')
+ }
+
+ Carousel.prototype.prev = function () {
+ if (this.sliding) return
+ return this.slide('prev')
+ }
+
+ Carousel.prototype.slide = function (type, next) {
+ var $active = this.$element.find('.item.active')
+ var $next = next || this.getItemForDirection(type, $active)
+ var isCycling = this.interval
+ var direction = type == 'next' ? 'left' : 'right'
+ var that = this
+
+ if ($next.hasClass('active')) return (this.sliding = false)
+
+ var relatedTarget = $next[0]
+ var slideEvent = $.Event('slide.bs.carousel', {
+ relatedTarget: relatedTarget,
+ direction: direction
+ })
+ this.$element.trigger(slideEvent)
+ if (slideEvent.isDefaultPrevented()) return
+
+ this.sliding = true
+
+ isCycling && this.pause()
+
+ if (this.$indicators.length) {
+ this.$indicators.find('.active').removeClass('active')
+ var $nextIndicator = $(this.$indicators.children()[this.getItemIndex($next)])
+ $nextIndicator && $nextIndicator.addClass('active')
+ }
+
+ var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, "slid"
+ if ($.support.transition && this.$element.hasClass('slide')) {
+ $next.addClass(type)
+ $next[0].offsetWidth // force reflow
+ $active.addClass(direction)
+ $next.addClass(direction)
+ $active
+ .one('bsTransitionEnd', function () {
+ $next.removeClass([type, direction].join(' ')).addClass('active')
+ $active.removeClass(['active', direction].join(' '))
+ that.sliding = false
+ setTimeout(function () {
+ that.$element.trigger(slidEvent)
+ }, 0)
+ })
+ .emulateTransitionEnd(Carousel.TRANSITION_DURATION)
+ } else {
+ $active.removeClass('active')
+ $next.addClass('active')
+ this.sliding = false
+ this.$element.trigger(slidEvent)
+ }
+
+ isCycling && this.cycle()
+
+ return this
+ }
+
+
+ // CAROUSEL PLUGIN DEFINITION
+ // ==========================
+
+ function Plugin(option) {
+ return this.each(function () {
+ var $this = $(this)
+ var data = $this.data('bs.carousel')
+ var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option)
+ var action = typeof option == 'string' ? option : options.slide
+
+ if (!data) $this.data('bs.carousel', (data = new Carousel(this, options)))
+ if (typeof option == 'number') data.to(option)
+ else if (action) data[action]()
+ else if (options.interval) data.pause().cycle()
+ })
+ }
+
+ var old = $.fn.carousel
+
+ $.fn.carousel = Plugin
+ $.fn.carousel.Constructor = Carousel
+
+
+ // CAROUSEL NO CONFLICT
+ // ====================
+
+ $.fn.carousel.noConflict = function () {
+ $.fn.carousel = old
+ return this
+ }
+
+
+ // CAROUSEL DATA-API
+ // =================
+
+ var clickHandler = function (e) {
+ var href
+ var $this = $(this)
+ var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7
+ if (!$target.hasClass('carousel')) return
+ var options = $.extend({}, $target.data(), $this.data())
+ var slideIndex = $this.attr('data-slide-to')
+ if (slideIndex) options.interval = false
+
+ Plugin.call($target, options)
+
+ if (slideIndex) {
+ $target.data('bs.carousel').to(slideIndex)
+ }
+
+ e.preventDefault()
+ }
+
+ $(document)
+ .on('click.bs.carousel.data-api', '[data-slide]', clickHandler)
+ .on('click.bs.carousel.data-api', '[data-slide-to]', clickHandler)
+
+ $(window).on('load', function () {
+ $('[data-ride="carousel"]').each(function () {
+ var $carousel = $(this)
+ Plugin.call($carousel, $carousel.data())
+ })
+ })
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: collapse.js v3.3.4
+ * http://getbootstrap.com/javascript/#collapse
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+ 'use strict';
+
+ // COLLAPSE PUBLIC CLASS DEFINITION
+ // ================================
+
+ var Collapse = function (element, options) {
+ this.$element = $(element)
+ this.options = $.extend({}, Collapse.DEFAULTS, options)
+ this.$trigger = $('[data-toggle="collapse"][href="#' + element.id + '"],' +
+ '[data-toggle="collapse"][data-target="#' + element.id + '"]')
+ this.transitioning = null
+
+ if (this.options.parent) {
+ this.$parent = this.getParent()
+ } else {
+ this.addAriaAndCollapsedClass(this.$element, this.$trigger)
+ }
+
+ if (this.options.toggle) this.toggle()
+ }
+
+ Collapse.VERSION = '3.3.4'
+
+ Collapse.TRANSITION_DURATION = 350
+
+ Collapse.DEFAULTS = {
+ toggle: true
+ }
+
+ Collapse.prototype.dimension = function () {
+ var hasWidth = this.$element.hasClass('width')
+ return hasWidth ? 'width' : 'height'
+ }
+
+ Collapse.prototype.show = function () {
+ if (this.transitioning || this.$element.hasClass('in')) return
+
+ var activesData
+ var actives = this.$parent && this.$parent.children('.panel').children('.in, .collapsing')
+
+ if (actives && actives.length) {
+ activesData = actives.data('bs.collapse')
+ if (activesData && activesData.transitioning) return
+ }
+
+ var startEvent = $.Event('show.bs.collapse')
+ this.$element.trigger(startEvent)
+ if (startEvent.isDefaultPrevented()) return
+
+ if (actives && actives.length) {
+ Plugin.call(actives, 'hide')
+ activesData || actives.data('bs.collapse', null)
+ }
+
+ var dimension = this.dimension()
+
+ this.$element
+ .removeClass('collapse')
+ .addClass('collapsing')[dimension](0)
+ .attr('aria-expanded', true)
+
+ this.$trigger
+ .removeClass('collapsed')
+ .attr('aria-expanded', true)
+
+ this.transitioning = 1
+
+ var complete = function () {
+ this.$element
+ .removeClass('collapsing')
+ .addClass('collapse in')[dimension]('')
+ this.transitioning = 0
+ this.$element
+ .trigger('shown.bs.collapse')
+ }
+
+ if (!$.support.transition) return complete.call(this)
+
+ var scrollSize = $.camelCase(['scroll', dimension].join('-'))
+
+ this.$element
+ .one('bsTransitionEnd', $.proxy(complete, this))
+ .emulateTransitionEnd(Collapse.TRANSITION_DURATION)[dimension](this.$element[0][scrollSize])
+ }
+
+ Collapse.prototype.hide = function () {
+ if (this.transitioning || !this.$element.hasClass('in')) return
+
+ var startEvent = $.Event('hide.bs.collapse')
+ this.$element.trigger(startEvent)
+ if (startEvent.isDefaultPrevented()) return
+
+ var dimension = this.dimension()
+
+ this.$element[dimension](this.$element[dimension]())[0].offsetHeight
+
+ this.$element
+ .addClass('collapsing')
+ .removeClass('collapse in')
+ .attr('aria-expanded', false)
+
+ this.$trigger
+ .addClass('collapsed')
+ .attr('aria-expanded', false)
+
+ this.transitioning = 1
+
+ var complete = function () {
+ this.transitioning = 0
+ this.$element
+ .removeClass('collapsing')
+ .addClass('collapse')
+ .trigger('hidden.bs.collapse')
+ }
+
+ if (!$.support.transition) return complete.call(this)
+
+ this.$element
+ [dimension](0)
+ .one('bsTransitionEnd', $.proxy(complete, this))
+ .emulateTransitionEnd(Collapse.TRANSITION_DURATION)
+ }
+
+ Collapse.prototype.toggle = function () {
+ this[this.$element.hasClass('in') ? 'hide' : 'show']()
+ }
+
+ Collapse.prototype.getParent = function () {
+ return $(this.options.parent)
+ .find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]')
+ .each($.proxy(function (i, element) {
+ var $element = $(element)
+ this.addAriaAndCollapsedClass(getTargetFromTrigger($element), $element)
+ }, this))
+ .end()
+ }
+
+ Collapse.prototype.addAriaAndCollapsedClass = function ($element, $trigger) {
+ var isOpen = $element.hasClass('in')
+
+ $element.attr('aria-expanded', isOpen)
+ $trigger
+ .toggleClass('collapsed', !isOpen)
+ .attr('aria-expanded', isOpen)
+ }
+
+ function getTargetFromTrigger($trigger) {
+ var href
+ var target = $trigger.attr('data-target')
+ || (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7
+
+ return $(target)
+ }
+
+
+ // COLLAPSE PLUGIN DEFINITION
+ // ==========================
+
+ function Plugin(option) {
+ return this.each(function () {
+ var $this = $(this)
+ var data = $this.data('bs.collapse')
+ var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option)
+
+ if (!data && options.toggle && /show|hide/.test(option)) options.toggle = false
+ if (!data) $this.data('bs.collapse', (data = new Collapse(this, options)))
+ if (typeof option == 'string') data[option]()
+ })
+ }
+
+ var old = $.fn.collapse
+
+ $.fn.collapse = Plugin
+ $.fn.collapse.Constructor = Collapse
+
+
+ // COLLAPSE NO CONFLICT
+ // ====================
+
+ $.fn.collapse.noConflict = function () {
+ $.fn.collapse = old
+ return this
+ }
+
+
+ // COLLAPSE DATA-API
+ // =================
+
+ $(document).on('click.bs.collapse.data-api', '[data-toggle="collapse"]', function (e) {
+ var $this = $(this)
+
+ if (!$this.attr('data-target')) e.preventDefault()
+
+ var $target = getTargetFromTrigger($this)
+ var data = $target.data('bs.collapse')
+ var option = data ? 'toggle' : $this.data()
+
+ Plugin.call($target, option)
+ })
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: dropdown.js v3.3.4
+ * http://getbootstrap.com/javascript/#dropdowns
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+ 'use strict';
+
+ // DROPDOWN CLASS DEFINITION
+ // =========================
+
+ var backdrop = '.dropdown-backdrop'
+ var toggle = '[data-toggle="dropdown"]'
+ var Dropdown = function (element) {
+ $(element).on('click.bs.dropdown', this.toggle)
+ }
+
+ Dropdown.VERSION = '3.3.4'
+
+ Dropdown.prototype.toggle = function (e) {
+ var $this = $(this)
+
+ if ($this.is('.disabled, :disabled')) return
+
+ var $parent = getParent($this)
+ var isActive = $parent.hasClass('open')
+
+ clearMenus()
+
+ if (!isActive) {
+ if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) {
+ // if mobile we use a backdrop because click events don't delegate
+ $('<div class="dropdown-backdrop"/>').insertAfter($(this)).on('click', clearMenus)
+ }
+
+ var relatedTarget = { relatedTarget: this }
+ $parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget))
+
+ if (e.isDefaultPrevented()) return
+
+ $this
+ .trigger('focus')
+ .attr('aria-expanded', 'true')
+
+ $parent
+ .toggleClass('open')
+ .trigger('shown.bs.dropdown', relatedTarget)
+ }
+
+ return false
+ }
+
+ Dropdown.prototype.keydown = function (e) {
+ if (!/(38|40|27|32)/.test(e.which) || /input|textarea/i.test(e.target.tagName)) return
+
+ var $this = $(this)
+
+ e.preventDefault()
+ e.stopPropagation()
+
+ if ($this.is('.disabled, :disabled')) return
+
+ var $parent = getParent($this)
+ var isActive = $parent.hasClass('open')
+
+ if ((!isActive && e.which != 27) || (isActive && e.which == 27)) {
+ if (e.which == 27) $parent.find(toggle).trigger('focus')
+ return $this.trigger('click')
+ }
+
+ var desc = ' li:not(.disabled):visible a'
+ var $items = $parent.find('[role="menu"]' + desc + ', [role="listbox"]' + desc)
+
+ if (!$items.length) return
+
+ var index = $items.index(e.target)
+
+ if (e.which == 38 && index > 0) index-- // up
+ if (e.which == 40 && index < $items.length - 1) index++ // down
+ if (!~index) index = 0
+
+ $items.eq(index).trigger('focus')
+ }
+
+ function clearMenus(e) {
+ if (e && e.which === 3) return
+ $(backdrop).remove()
+ $(toggle).each(function () {
+ var $this = $(this)
+ var $parent = getParent($this)
+ var relatedTarget = { relatedTarget: this }
+
+ if (!$parent.hasClass('open')) return
+
+ $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))
+
+ if (e.isDefaultPrevented()) return
+
+ $this.attr('aria-expanded', 'false')
+ $parent.removeClass('open').trigger('hidden.bs.dropdown', relatedTarget)
+ })
+ }
+
+ function getParent($this) {
+ var selector = $this.attr('data-target')
+
+ if (!selector) {
+ selector = $this.attr('href')
+ selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
+ }
+
+ var $parent = selector && $(selector)
+
+ return $parent && $parent.length ? $parent : $this.parent()
+ }
+
+
+ // DROPDOWN PLUGIN DEFINITION
+ // ==========================
+
+ function Plugin(option) {
+ return this.each(function () {
+ var $this = $(this)
+ var data = $this.data('bs.dropdown')
+
+ if (!data) $this.data('bs.dropdown', (data = new Dropdown(this)))
+ if (typeof option == 'string') data[option].call($this)
+ })
+ }
+
+ var old = $.fn.dropdown
+
+ $.fn.dropdown = Plugin
+ $.fn.dropdown.Constructor = Dropdown
+
+
+ // DROPDOWN NO CONFLICT
+ // ====================
+
+ $.fn.dropdown.noConflict = function () {
+ $.fn.dropdown = old
+ return this
+ }
+
+
+ // APPLY TO STANDARD DROPDOWN ELEMENTS
+ // ===================================
+
+ $(document)
+ .on('click.bs.dropdown.data-api', clearMenus)
+ .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
+ .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle)
+ .on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown)
+ .on('keydown.bs.dropdown.data-api', '[role="menu"]', Dropdown.prototype.keydown)
+ .on('keydown.bs.dropdown.data-api', '[role="listbox"]', Dropdown.prototype.keydown)
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: modal.js v3.3.4
+ * http://getbootstrap.com/javascript/#modals
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+ 'use strict';
+
+ // MODAL CLASS DEFINITION
+ // ======================
+
+ var Modal = function (element, options) {
+ this.options = options
+ this.$body = $(document.body)
+ this.$element = $(element)
+ this.$dialog = this.$element.find('.modal-dialog')
+ this.$backdrop = null
+ this.isShown = null
+ this.originalBodyPad = null
+ this.scrollbarWidth = 0
+ this.ignoreBackdropClick = false
+
+ if (this.options.remote) {
+ this.$element
+ .find('.modal-content')
+ .load(this.options.remote, $.proxy(function () {
+ this.$element.trigger('loaded.bs.modal')
+ }, this))
+ }
+ }
+
+ Modal.VERSION = '3.3.4'
+
+ Modal.TRANSITION_DURATION = 300
+ Modal.BACKDROP_TRANSITION_DURATION = 150
+
+ Modal.DEFAULTS = {
+ backdrop: true,
+ keyboard: true,
+ show: true
+ }
+
+ Modal.prototype.toggle = function (_relatedTarget) {
+ return this.isShown ? this.hide() : this.show(_relatedTarget)
+ }
+
+ Modal.prototype.show = function (_relatedTarget) {
+ var that = this
+ var e = $.Event('show.bs.modal', { relatedTarget: _relatedTarget })
+
+ this.$element.trigger(e)
+
+ if (this.isShown || e.isDefaultPrevented()) return
+
+ this.isShown = true
+
+ this.checkScrollbar()
+ this.setScrollbar()
+ this.$body.addClass('modal-open')
+
+ this.escape()
+ this.resize()
+
+ this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this))
+
+ this.$dialog.on('mousedown.dismiss.bs.modal', function () {
+ that.$element.one('mouseup.dismiss.bs.modal', function (e) {
+ if ($(e.target).is(that.$element)) that.ignoreBackdropClick = true
+ })
+ })
+
+ this.backdrop(function () {
+ var transition = $.support.transition && that.$element.hasClass('fade')
+
+ if (!that.$element.parent().length) {
+ that.$element.appendTo(that.$body) // don't move modals dom position
+ }
+
+ that.$element
+ .show()
+ .scrollTop(0)
+
+ that.adjustDialog()
+
+ if (transition) {
+ that.$element[0].offsetWidth // force reflow
+ }
+
+ that.$element
+ .addClass('in')
+ .attr('aria-hidden', false)
+
+ that.enforceFocus()
+
+ var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget })
+
+ transition ?
+ that.$dialog // wait for modal to slide in
+ .one('bsTransitionEnd', function () {
+ that.$element.trigger('focus').trigger(e)
+ })
+ .emulateTransitionEnd(Modal.TRANSITION_DURATION) :
+ that.$element.trigger('focus').trigger(e)
+ })
+ }
+
+ Modal.prototype.hide = function (e) {
+ if (e) e.preventDefault()
+
+ e = $.Event('hide.bs.modal')
+
+ this.$element.trigger(e)
+
+ if (!this.isShown || e.isDefaultPrevented()) return
+
+ this.isShown = false
+
+ this.escape()
+ this.resize()
+
+ $(document).off('focusin.bs.modal')
+
+ this.$element
+ .removeClass('in')
+ .attr('aria-hidden', true)
+ .off('click.dismiss.bs.modal')
+ .off('mouseup.dismiss.bs.modal')
+
+ this.$dialog.off('mousedown.dismiss.bs.modal')
+
+ $.support.transition && this.$element.hasClass('fade') ?
+ this.$element
+ .one('bsTransitionEnd', $.proxy(this.hideModal, this))
+ .emulateTransitionEnd(Modal.TRANSITION_DURATION) :
+ this.hideModal()
+ }
+
+ Modal.prototype.enforceFocus = function () {
+ $(document)
+ .off('focusin.bs.modal') // guard against infinite focus loop
+ .on('focusin.bs.modal', $.proxy(function (e) {
+ if (this.$element[0] !== e.target && !this.$element.has(e.target).length) {
+ this.$element.trigger('focus')
+ }
+ }, this))
+ }
+
+ Modal.prototype.escape = function () {
+ if (this.isShown && this.options.keyboard) {
+ this.$element.on('keydown.dismiss.bs.modal', $.proxy(function (e) {
+ e.which == 27 && this.hide()
+ }, this))
+ } else if (!this.isShown) {
+ this.$element.off('keydown.dismiss.bs.modal')
+ }
+ }
+
+ Modal.prototype.resize = function () {
+ if (this.isShown) {
+ $(window).on('resize.bs.modal', $.proxy(this.handleUpdate, this))
+ } else {
+ $(window).off('resize.bs.modal')
+ }
+ }
+
+ Modal.prototype.hideModal = function () {
+ var that = this
+ this.$element.hide()
+ this.backdrop(function () {
+ that.$body.removeClass('modal-open')
+ that.resetAdjustments()
+ that.resetScrollbar()
+ that.$element.trigger('hidden.bs.modal')
+ })
+ }
+
+ Modal.prototype.removeBackdrop = function () {
+ this.$backdrop && this.$backdrop.remove()
+ this.$backdrop = null
+ }
+
+ Modal.prototype.backdrop = function (callback) {
+ var that = this
+ var animate = this.$element.hasClass('fade') ? 'fade' : ''
+
+ if (this.isShown && this.options.backdrop) {
+ var doAnimate = $.support.transition && animate
+
+ this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
+ .appendTo(this.$body)
+
+ this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) {
+ if (this.ignoreBackdropClick) {
+ this.ignoreBackdropClick = false
+ return
+ }
+ if (e.target !== e.currentTarget) return
+ this.options.backdrop == 'static'
+ ? this.$element[0].focus()
+ : this.hide()
+ }, this))
+
+ if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
+
+ this.$backdrop.addClass('in')
+
+ if (!callback) return
+
+ doAnimate ?
+ this.$backdrop
+ .one('bsTransitionEnd', callback)
+ .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) :
+ callback()
+
+ } else if (!this.isShown && this.$backdrop) {
+ this.$backdrop.removeClass('in')
+
+ var callbackRemove = function () {
+ that.removeBackdrop()
+ callback && callback()
+ }
+ $.support.transition && this.$element.hasClass('fade') ?
+ this.$backdrop
+ .one('bsTransitionEnd', callbackRemove)
+ .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) :
+ callbackRemove()
+
+ } else if (callback) {
+ callback()
+ }
+ }
+
+ // these following methods are used to handle overflowing modals
+
+ Modal.prototype.handleUpdate = function () {
+ this.adjustDialog()
+ }
+
+ Modal.prototype.adjustDialog = function () {
+ var modalIsOverflowing = this.$element[0].scrollHeight > document.documentElement.clientHeight
+
+ this.$element.css({
+ paddingLeft: !this.bodyIsOverflowing && modalIsOverflowing ? this.scrollbarWidth : '',
+ paddingRight: this.bodyIsOverflowing && !modalIsOverflowing ? this.scrollbarWidth : ''
+ })
+ }
+
+ Modal.prototype.resetAdjustments = function () {
+ this.$element.css({
+ paddingLeft: '',
+ paddingRight: ''
+ })
+ }
+
+ Modal.prototype.checkScrollbar = function () {
+ var fullWindowWidth = window.innerWidth
+ if (!fullWindowWidth) { // workaround for missing window.innerWidth in IE8
+ var documentElementRect = document.documentElement.getBoundingClientRect()
+ fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left)
+ }
+ this.bodyIsOverflowing = document.body.clientWidth < fullWindowWidth
+ this.scrollbarWidth = this.measureScrollbar()
+ }
+
+ Modal.prototype.setScrollbar = function () {
+ var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10)
+ this.originalBodyPad = document.body.style.paddingRight || ''
+ if (this.bodyIsOverflowing) this.$body.css('padding-right', bodyPad + this.scrollbarWidth)
+ }
+
+ Modal.prototype.resetScrollbar = function () {
+ this.$body.css('padding-right', this.originalBodyPad)
+ }
+
+ Modal.prototype.measureScrollbar = function () { // thx walsh
+ var scrollDiv = document.createElement('div')
+ scrollDiv.className = 'modal-scrollbar-measure'
+ this.$body.append(scrollDiv)
+ var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth
+ this.$body[0].removeChild(scrollDiv)
+ return scrollbarWidth
+ }
+
+
+ // MODAL PLUGIN DEFINITION
+ // =======================
+
+ function Plugin(option, _relatedTarget) {
+ return this.each(function () {
+ var $this = $(this)
+ var data = $this.data('bs.modal')
+ var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option)
+
+ if (!data) $this.data('bs.modal', (data = new Modal(this, options)))
+ if (typeof option == 'string') data[option](_relatedTarget)
+ else if (options.show) data.show(_relatedTarget)
+ })
+ }
+
+ var old = $.fn.modal
+
+ $.fn.modal = Plugin
+ $.fn.modal.Constructor = Modal
+
+
+ // MODAL NO CONFLICT
+ // =================
+
+ $.fn.modal.noConflict = function () {
+ $.fn.modal = old
+ return this
+ }
+
+
+ // MODAL DATA-API
+ // ==============
+
+ $(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) {
+ var $this = $(this)
+ var href = $this.attr('href')
+ var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) // strip for ie7
+ var option = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())
+
+ if ($this.is('a')) e.preventDefault()
+
+ $target.one('show.bs.modal', function (showEvent) {
+ if (showEvent.isDefaultPrevented()) return // only register focus restorer if modal will actually get shown
+ $target.one('hidden.bs.modal', function () {
+ $this.is(':visible') && $this.trigger('focus')
+ })
+ })
+ Plugin.call($target, option, this)
+ })
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: tooltip.js v3.3.4
+ * http://getbootstrap.com/javascript/#tooltip
+ * Inspired by the original jQuery.tipsy by Jason Frame
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+ 'use strict';
+
+ // TOOLTIP PUBLIC CLASS DEFINITION
+ // ===============================
+
+ var Tooltip = function (element, options) {
+ this.type = null
+ this.options = null
+ this.enabled = null
+ this.timeout = null
+ this.hoverState = null
+ this.$element = null
+
+ this.init('tooltip', element, options)
+ }
+
+ Tooltip.VERSION = '3.3.4'
+
+ Tooltip.TRANSITION_DURATION = 150
+
+ Tooltip.DEFAULTS = {
+ animation: true,
+ placement: 'top',
+ selector: false,
+ template: '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',
+ trigger: 'hover focus',
+ title: '',
+ delay: 0,
+ html: false,
+ container: false,
+ viewport: {
+ selector: 'body',
+ padding: 0
+ }
+ }
+
+ Tooltip.prototype.init = function (type, element, options) {
+ this.enabled = true
+ this.type = type
+ this.$element = $(element)
+ this.options = this.getOptions(options)
+ this.$viewport = this.options.viewport && $(this.options.viewport.selector || this.options.viewport)
+
+ if (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!')
+ }
+
+ var triggers = this.options.trigger.split(' ')
+
+ for (var i = triggers.length; i--;) {
+ var trigger = triggers[i]
+
+ if (trigger == 'click') {
+ this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
+ } else if (trigger != 'manual') {
+ var eventIn = trigger == 'hover' ? 'mouseenter' : 'focusin'
+ var eventOut = trigger == 'hover' ? 'mouseleave' : 'focusout'
+
+ this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
+ this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
+ }
+ }
+
+ this.options.selector ?
+ (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :
+ this.fixTitle()
+ }
+
+ Tooltip.prototype.getDefaults = function () {
+ return Tooltip.DEFAULTS
+ }
+
+ Tooltip.prototype.getOptions = function (options) {
+ options = $.extend({}, this.getDefaults(), this.$element.data(), options)
+
+ if (options.delay && typeof options.delay == 'number') {
+ options.delay = {
+ show: options.delay,
+ hide: options.delay
+ }
+ }
+
+ return options
+ }
+
+ Tooltip.prototype.getDelegateOptions = function () {
+ var options = {}
+ var defaults = this.getDefaults()
+
+ this._options && $.each(this._options, function (key, value) {
+ if (defaults[key] != value) options[key] = value
+ })
+
+ return options
+ }
+
+ Tooltip.prototype.enter = function (obj) {
+ var self = obj instanceof this.constructor ?
+ obj : $(obj.currentTarget).data('bs.' + this.type)
+
+ if (self && self.$tip && self.$tip.is(':visible')) {
+ self.hoverState = 'in'
+ return
+ }
+
+ if (!self) {
+ self = new this.constructor(obj.currentTarget, this.getDelegateOptions())
+ $(obj.currentTarget).data('bs.' + this.type, self)
+ }
+
+ clearTimeout(self.timeout)
+
+ self.hoverState = 'in'
+
+ if (!self.options.delay || !self.options.delay.show) return self.show()
+
+ self.timeout = setTimeout(function () {
+ if (self.hoverState == 'in') self.show()
+ }, self.options.delay.show)
+ }
+
+ Tooltip.prototype.leave = function (obj) {
+ var self = obj instanceof this.constructor ?
+ obj : $(obj.currentTarget).data('bs.' + this.type)
+
+ if (!self) {
+ self = new this.constructor(obj.currentTarget, this.getDelegateOptions())
+ $(obj.currentTarget).data('bs.' + this.type, self)
+ }
+
+ clearTimeout(self.timeout)
+
+ self.hoverState = 'out'
+
+ if (!self.options.delay || !self.options.delay.hide) return self.hide()
+
+ self.timeout = setTimeout(function () {
+ if (self.hoverState == 'out') self.hide()
+ }, self.options.delay.hide)
+ }
+
+ Tooltip.prototype.show = function () {
+ var e = $.Event('show.bs.' + this.type)
+
+ if (this.hasContent() && this.enabled) {
+ this.$element.trigger(e)
+
+ var inDom = $.contains(this.$element[0].ownerDocument.documentElement, this.$element[0])
+ if (e.isDefaultPrevented() || !inDom) return
+ var that = this
+
+ var $tip = this.tip()
+
+ var tipId = this.getUID(this.type)
+
+ this.setContent()
+ $tip.attr('id', tipId)
+ this.$element.attr('aria-describedby', tipId)
+
+ if (this.options.animation) $tip.addClass('fade')
+
+ var placement = typeof this.options.placement == 'function' ?
+ this.options.placement.call(this, $tip[0], this.$element[0]) :
+ this.options.placement
+
+ var autoToken = /\s?auto?\s?/i
+ var autoPlace = autoToken.test(placement)
+ if (autoPlace) placement = placement.replace(autoToken, '') || 'top'
+
+ $tip
+ .detach()
+ .css({ top: 0, left: 0, display: 'block' })
+ .addClass(placement)
+ .data('bs.' + this.type, this)
+
+ this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
+
+ var pos = this.getPosition()
+ var actualWidth = $tip[0].offsetWidth
+ var actualHeight = $tip[0].offsetHeight
+
+ if (autoPlace) {
+ var orgPlacement = placement
+ var $container = this.options.container ? $(this.options.container) : this.$element.parent()
+ var containerDim = this.getPosition($container)
+
+ placement = placement == 'bottom' && pos.bottom + actualHeight > containerDim.bottom ? 'top' :
+ placement == 'top' && pos.top - actualHeight < containerDim.top ? 'bottom' :
+ placement == 'right' && pos.right + actualWidth > containerDim.width ? 'left' :
+ placement == 'left' && pos.left - actualWidth < containerDim.left ? 'right' :
+ placement
+
+ $tip
+ .removeClass(orgPlacement)
+ .addClass(placement)
+ }
+
+ var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight)
+
+ this.applyPlacement(calculatedOffset, placement)
+
+ var complete = function () {
+ var prevHoverState = that.hoverState
+ that.$element.trigger('shown.bs.' + that.type)
+ that.hoverState = null
+
+ if (prevHoverState == 'out') that.leave(that)
+ }
+
+ $.support.transition && this.$tip.hasClass('fade') ?
+ $tip
+ .one('bsTransitionEnd', complete)
+ .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :
+ complete()
+ }
+ }
+
+ Tooltip.prototype.applyPlacement = function (offset, placement) {
+ var $tip = this.tip()
+ var width = $tip[0].offsetWidth
+ var height = $tip[0].offsetHeight
+
+ // manually read margins because getBoundingClientRect includes difference
+ var marginTop = parseInt($tip.css('margin-top'), 10)
+ var marginLeft = parseInt($tip.css('margin-left'), 10)
+
+ // we must check for NaN for ie 8/9
+ if (isNaN(marginTop)) marginTop = 0
+ if (isNaN(marginLeft)) marginLeft = 0
+
+ offset.top = offset.top + marginTop
+ offset.left = offset.left + marginLeft
+
+ // $.fn.offset doesn't round pixel values
+ // so we use setOffset directly with our own function B-0
+ $.offset.setOffset($tip[0], $.extend({
+ using: function (props) {
+ $tip.css({
+ top: Math.round(props.top),
+ left: Math.round(props.left)
+ })
+ }
+ }, offset), 0)
+
+ $tip.addClass('in')
+
+ // check to see if placing tip in new offset caused the tip to resize itself
+ var actualWidth = $tip[0].offsetWidth
+ var actualHeight = $tip[0].offsetHeight
+
+ if (placement == 'top' && actualHeight != height) {
+ offset.top = offset.top + height - actualHeight
+ }
+
+ var delta = this.getViewportAdjustedDelta(placement, offset, actualWidth, actualHeight)
+
+ if (delta.left) offset.left += delta.left
+ else offset.top += delta.top
+
+ var isVertical = /top|bottom/.test(placement)
+ var arrowDelta = isVertical ? delta.left * 2 - width + actualWidth : delta.top * 2 - height + actualHeight
+ var arrowOffsetPosition = isVertical ? 'offsetWidth' : 'offsetHeight'
+
+ $tip.offset(offset)
+ this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], isVertical)
+ }
+
+ Tooltip.prototype.replaceArrow = function (delta, dimension, isVertical) {
+ this.arrow()
+ .css(isVertical ? 'left' : 'top', 50 * (1 - delta / dimension) + '%')
+ .css(isVertical ? 'top' : 'left', '')
+ }
+
+ Tooltip.prototype.setContent = function () {
+ var $tip = this.tip()
+ var title = this.getTitle()
+
+ $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)
+ $tip.removeClass('fade in top bottom left right')
+ }
+
+ Tooltip.prototype.hide = function (callback) {
+ var that = this
+ var $tip = $(this.$tip)
+ var e = $.Event('hide.bs.' + this.type)
+
+ function complete() {
+ if (that.hoverState != 'in') $tip.detach()
+ that.$element
+ .removeAttr('aria-describedby')
+ .trigger('hidden.bs.' + that.type)
+ callback && callback()
+ }
+
+ this.$element.trigger(e)
+
+ if (e.isDefaultPrevented()) return
+
+ $tip.removeClass('in')
+
+ $.support.transition && $tip.hasClass('fade') ?
+ $tip
+ .one('bsTransitionEnd', complete)
+ .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :
+ complete()
+
+ this.hoverState = null
+
+ return this
+ }
+
+ Tooltip.prototype.fixTitle = function () {
+ var $e = this.$element
+ if ($e.attr('title') || typeof ($e.attr('data-original-title')) != 'string') {
+ $e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
+ }
+ }
+
+ Tooltip.prototype.hasContent = function () {
+ return this.getTitle()
+ }
+
+ Tooltip.prototype.getPosition = function ($element) {
+ $element = $element || this.$element
+
+ var el = $element[0]
+ var isBody = el.tagName == 'BODY'
+
+ var elRect = el.getBoundingClientRect()
+ if (elRect.width == null) {
+ // width and height are missing in IE8, so compute them manually; see https://github.com/twbs/bootstrap/issues/14093
+ elRect = $.extend({}, elRect, { width: elRect.right - elRect.left, height: elRect.bottom - elRect.top })
+ }
+ var elOffset = isBody ? { top: 0, left: 0 } : $element.offset()
+ var scroll = { scroll: isBody ? document.documentElement.scrollTop || document.body.scrollTop : $element.scrollTop() }
+ var outerDims = isBody ? { width: $(window).width(), height: $(window).height() } : null
+
+ return $.extend({}, elRect, scroll, outerDims, elOffset)
+ }
+
+ Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) {
+ return placement == 'bottom' ? { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 } :
+ placement == 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } :
+ placement == 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } :
+ /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width }
+
+ }
+
+ Tooltip.prototype.getViewportAdjustedDelta = function (placement, pos, actualWidth, actualHeight) {
+ var delta = { top: 0, left: 0 }
+ if (!this.$viewport) return delta
+
+ var viewportPadding = this.options.viewport && this.options.viewport.padding || 0
+ var viewportDimensions = this.getPosition(this.$viewport)
+
+ if (/right|left/.test(placement)) {
+ var topEdgeOffset = pos.top - viewportPadding - viewportDimensions.scroll
+ var bottomEdgeOffset = pos.top + viewportPadding - viewportDimensions.scroll + actualHeight
+ if (topEdgeOffset < viewportDimensions.top) { // top overflow
+ delta.top = viewportDimensions.top - topEdgeOffset
+ } else if (bottomEdgeOffset > viewportDimensions.top + viewportDimensions.height) { // bottom overflow
+ delta.top = viewportDimensions.top + viewportDimensions.height - bottomEdgeOffset
+ }
+ } else {
+ var leftEdgeOffset = pos.left - viewportPadding
+ var rightEdgeOffset = pos.left + viewportPadding + actualWidth
+ if (leftEdgeOffset < viewportDimensions.left) { // left overflow
+ delta.left = viewportDimensions.left - leftEdgeOffset
+ } else if (rightEdgeOffset > viewportDimensions.width) { // right overflow
+ delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset
+ }
+ }
+
+ return delta
+ }
+
+ Tooltip.prototype.getTitle = function () {
+ var title
+ var $e = this.$element
+ var o = this.options
+
+ title = $e.attr('data-original-title')
+ || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title)
+
+ return title
+ }
+
+ Tooltip.prototype.getUID = function (prefix) {
+ do prefix += ~~(Math.random() * 1000000)
+ while (document.getElementById(prefix))
+ return prefix
+ }
+
+ Tooltip.prototype.tip = function () {
+ return (this.$tip = this.$tip || $(this.options.template))
+ }
+
+ Tooltip.prototype.arrow = function () {
+ return (this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow'))
+ }
+
+ Tooltip.prototype.enable = function () {
+ this.enabled = true
+ }
+
+ Tooltip.prototype.disable = function () {
+ this.enabled = false
+ }
+
+ Tooltip.prototype.toggleEnabled = function () {
+ this.enabled = !this.enabled
+ }
+
+ Tooltip.prototype.toggle = function (e) {
+ var self = this
+ if (e) {
+ self = $(e.currentTarget).data('bs.' + this.type)
+ if (!self) {
+ self = new this.constructor(e.currentTarget, this.getDelegateOptions())
+ $(e.currentTarget).data('bs.' + this.type, self)
+ }
+ }
+
+ self.tip().hasClass('in') ? self.leave(self) : self.enter(self)
+ }
+
+ Tooltip.prototype.destroy = function () {
+ var that = this
+ clearTimeout(this.timeout)
+ this.hide(function () {
+ that.$element.off('.' + that.type).removeData('bs.' + that.type)
+ })
+ }
+
+
+ // TOOLTIP PLUGIN DEFINITION
+ // =========================
+
+ function Plugin(option) {
+ return this.each(function () {
+ var $this = $(this)
+ var data = $this.data('bs.tooltip')
+ var options = typeof option == 'object' && option
+
+ if (!data && /destroy|hide/.test(option)) return
+ if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))
+ if (typeof option == 'string') data[option]()
+ })
+ }
+
+ var old = $.fn.tooltip
+
+ $.fn.tooltip = Plugin
+ $.fn.tooltip.Constructor = Tooltip
+
+
+ // TOOLTIP NO CONFLICT
+ // ===================
+
+ $.fn.tooltip.noConflict = function () {
+ $.fn.tooltip = old
+ return this
+ }
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: popover.js v3.3.4
+ * http://getbootstrap.com/javascript/#popovers
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+ 'use strict';
+
+ // POPOVER PUBLIC CLASS DEFINITION
+ // ===============================
+
+ var Popover = function (element, options) {
+ this.init('popover', element, options)
+ }
+
+ if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')
+
+ Popover.VERSION = '3.3.4'
+
+ Popover.DEFAULTS = $.extend({}, $.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>'
+ })
+
+
+ // NOTE: POPOVER EXTENDS tooltip.js
+ // ================================
+
+ Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype)
+
+ Popover.prototype.constructor = Popover
+
+ Popover.prototype.getDefaults = function () {
+ return Popover.DEFAULTS
+ }
+
+ Popover.prototype.setContent = function () {
+ var $tip = this.tip()
+ var title = this.getTitle()
+ var content = this.getContent()
+
+ $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)
+ $tip.find('.popover-content').children().detach().end()[ // we use append for html objects to maintain js events
+ this.options.html ? (typeof content == 'string' ? 'html' : 'append') : 'text'
+ ](content)
+
+ $tip.removeClass('fade top bottom left right in')
+
+ // IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do
+ // this manually by checking the contents.
+ if (!$tip.find('.popover-title').html()) $tip.find('.popover-title').hide()
+ }
+
+ Popover.prototype.hasContent = function () {
+ return this.getTitle() || this.getContent()
+ }
+
+ Popover.prototype.getContent = function () {
+ var $e = this.$element
+ var o = this.options
+
+ return $e.attr('data-content')
+ || (typeof o.content == 'function' ?
+ o.content.call($e[0]) :
+ o.content)
+ }
+
+ Popover.prototype.arrow = function () {
+ return (this.$arrow = this.$arrow || this.tip().find('.arrow'))
+ }
+
+
+ // POPOVER PLUGIN DEFINITION
+ // =========================
+
+ function Plugin(option) {
+ return this.each(function () {
+ var $this = $(this)
+ var data = $this.data('bs.popover')
+ var options = typeof option == 'object' && option
+
+ if (!data && /destroy|hide/.test(option)) return
+ if (!data) $this.data('bs.popover', (data = new Popover(this, options)))
+ if (typeof option == 'string') data[option]()
+ })
+ }
+
+ var old = $.fn.popover
+
+ $.fn.popover = Plugin
+ $.fn.popover.Constructor = Popover
+
+
+ // POPOVER NO CONFLICT
+ // ===================
+
+ $.fn.popover.noConflict = function () {
+ $.fn.popover = old
+ return this
+ }
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: scrollspy.js v3.3.4
+ * http://getbootstrap.com/javascript/#scrollspy
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+ 'use strict';
+
+ // SCROLLSPY CLASS DEFINITION
+ // ==========================
+
+ function ScrollSpy(element, options) {
+ this.$body = $(document.body)
+ this.$scrollElement = $(element).is(document.body) ? $(window) : $(element)
+ this.options = $.extend({}, ScrollSpy.DEFAULTS, options)
+ this.selector = (this.options.target || '') + ' .nav li > a'
+ this.offsets = []
+ this.targets = []
+ this.activeTarget = null
+ this.scrollHeight = 0
+
+ this.$scrollElement.on('scroll.bs.scrollspy', $.proxy(this.process, this))
+ this.refresh()
+ this.process()
+ }
+
+ ScrollSpy.VERSION = '3.3.4'
+
+ ScrollSpy.DEFAULTS = {
+ offset: 10
+ }
+
+ ScrollSpy.prototype.getScrollHeight = function () {
+ return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight)
+ }
+
+ ScrollSpy.prototype.refresh = function () {
+ var that = this
+ var offsetMethod = 'offset'
+ var offsetBase = 0
+
+ this.offsets = []
+ this.targets = []
+ this.scrollHeight = this.getScrollHeight()
+
+ if (!$.isWindow(this.$scrollElement[0])) {
+ offsetMethod = 'position'
+ offsetBase = this.$scrollElement.scrollTop()
+ }
+
+ this.$body
+ .find(this.selector)
+ .map(function () {
+ var $el = $(this)
+ var href = $el.data('target') || $el.attr('href')
+ var $href = /^#./.test(href) && $(href)
+
+ return ($href
+ && $href.length
+ && $href.is(':visible')
+ && [[$href[offsetMethod]().top + offsetBase, href]]) || null
+ })
+ .sort(function (a, b) { return a[0] - b[0] })
+ .each(function () {
+ that.offsets.push(this[0])
+ that.targets.push(this[1])
+ })
+ }
+
+ ScrollSpy.prototype.process = function () {
+ var scrollTop = this.$scrollElement.scrollTop() + this.options.offset
+ var scrollHeight = this.getScrollHeight()
+ var maxScroll = this.options.offset + scrollHeight - this.$scrollElement.height()
+ var offsets = this.offsets
+ var targets = this.targets
+ var activeTarget = this.activeTarget
+ var i
+
+ if (this.scrollHeight != scrollHeight) {
+ this.refresh()
+ }
+
+ if (scrollTop >= maxScroll) {
+ return activeTarget != (i = targets[targets.length - 1]) && this.activate(i)
+ }
+
+ if (activeTarget && scrollTop < offsets[0]) {
+ this.activeTarget = null
+ return this.clear()
+ }
+
+ for (i = offsets.length; i--;) {
+ activeTarget != targets[i]
+ && scrollTop >= offsets[i]
+ && (offsets[i + 1] === undefined || scrollTop < offsets[i + 1])
+ && this.activate(targets[i])
+ }
+ }
+
+ ScrollSpy.prototype.activate = function (target) {
+ this.activeTarget = target
+
+ this.clear()
+
+ var selector = this.selector +
+ '[data-target="' + target + '"],' +
+ this.selector + '[href="' + target + '"]'
+
+ var active = $(selector)
+ .parents('li')
+ .addClass('active')
+
+ if (active.parent('.dropdown-menu').length) {
+ active = active
+ .closest('li.dropdown')
+ .addClass('active')
+ }
+
+ active.trigger('activate.bs.scrollspy')
+ }
+
+ ScrollSpy.prototype.clear = function () {
+ $(this.selector)
+ .parentsUntil(this.options.target, '.active')
+ .removeClass('active')
+ }
+
+
+ // SCROLLSPY PLUGIN DEFINITION
+ // ===========================
+
+ function Plugin(option) {
+ return this.each(function () {
+ var $this = $(this)
+ var data = $this.data('bs.scrollspy')
+ var options = typeof option == 'object' && option
+
+ if (!data) $this.data('bs.scrollspy', (data = new ScrollSpy(this, options)))
+ if (typeof option == 'string') data[option]()
+ })
+ }
+
+ var old = $.fn.scrollspy
+
+ $.fn.scrollspy = Plugin
+ $.fn.scrollspy.Constructor = ScrollSpy
+
+
+ // SCROLLSPY NO CONFLICT
+ // =====================
+
+ $.fn.scrollspy.noConflict = function () {
+ $.fn.scrollspy = old
+ return this
+ }
+
+
+ // SCROLLSPY DATA-API
+ // ==================
+
+ $(window).on('load.bs.scrollspy.data-api', function () {
+ $('[data-spy="scroll"]').each(function () {
+ var $spy = $(this)
+ Plugin.call($spy, $spy.data())
+ })
+ })
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: tab.js v3.3.4
+ * http://getbootstrap.com/javascript/#tabs
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+ 'use strict';
+
+ // TAB CLASS DEFINITION
+ // ====================
+
+ var Tab = function (element) {
+ this.element = $(element)
+ }
+
+ Tab.VERSION = '3.3.4'
+
+ Tab.TRANSITION_DURATION = 150
+
+ Tab.prototype.show = function () {
+ var $this = this.element
+ var $ul = $this.closest('ul:not(.dropdown-menu)')
+ var selector = $this.data('target')
+
+ if (!selector) {
+ selector = $this.attr('href')
+ selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
+ }
+
+ if ($this.parent('li').hasClass('active')) return
+
+ var $previous = $ul.find('.active:last a')
+ var hideEvent = $.Event('hide.bs.tab', {
+ relatedTarget: $this[0]
+ })
+ var showEvent = $.Event('show.bs.tab', {
+ relatedTarget: $previous[0]
+ })
+
+ $previous.trigger(hideEvent)
+ $this.trigger(showEvent)
+
+ if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) return
+
+ var $target = $(selector)
+
+ this.activate($this.closest('li'), $ul)
+ this.activate($target, $target.parent(), function () {
+ $previous.trigger({
+ type: 'hidden.bs.tab',
+ relatedTarget: $this[0]
+ })
+ $this.trigger({
+ type: 'shown.bs.tab',
+ relatedTarget: $previous[0]
+ })
+ })
+ }
+
+ Tab.prototype.activate = function (element, container, callback) {
+ var $active = container.find('> .active')
+ var transition = callback
+ && $.support.transition
+ && (($active.length && $active.hasClass('fade')) || !!container.find('> .fade').length)
+
+ function next() {
+ $active
+ .removeClass('active')
+ .find('> .dropdown-menu > .active')
+ .removeClass('active')
+ .end()
+ .find('[data-toggle="tab"]')
+ .attr('aria-expanded', false)
+
+ element
+ .addClass('active')
+ .find('[data-toggle="tab"]')
+ .attr('aria-expanded', true)
+
+ if (transition) {
+ element[0].offsetWidth // reflow for transition
+ element.addClass('in')
+ } else {
+ element.removeClass('fade')
+ }
+
+ if (element.parent('.dropdown-menu').length) {
+ element
+ .closest('li.dropdown')
+ .addClass('active')
+ .end()
+ .find('[data-toggle="tab"]')
+ .attr('aria-expanded', true)
+ }
+
+ callback && callback()
+ }
+
+ $active.length && transition ?
+ $active
+ .one('bsTransitionEnd', next)
+ .emulateTransitionEnd(Tab.TRANSITION_DURATION) :
+ next()
+
+ $active.removeClass('in')
+ }
+
+
+ // TAB PLUGIN DEFINITION
+ // =====================
+
+ function Plugin(option) {
+ return this.each(function () {
+ var $this = $(this)
+ var data = $this.data('bs.tab')
+
+ if (!data) $this.data('bs.tab', (data = new Tab(this)))
+ if (typeof option == 'string') data[option]()
+ })
+ }
+
+ var old = $.fn.tab
+
+ $.fn.tab = Plugin
+ $.fn.tab.Constructor = Tab
+
+
+ // TAB NO CONFLICT
+ // ===============
+
+ $.fn.tab.noConflict = function () {
+ $.fn.tab = old
+ return this
+ }
+
+
+ // TAB DATA-API
+ // ============
+
+ var clickHandler = function (e) {
+ e.preventDefault()
+ Plugin.call($(this), 'show')
+ }
+
+ $(document)
+ .on('click.bs.tab.data-api', '[data-toggle="tab"]', clickHandler)
+ .on('click.bs.tab.data-api', '[data-toggle="pill"]', clickHandler)
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: affix.js v3.3.4
+ * http://getbootstrap.com/javascript/#affix
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+ 'use strict';
+
+ // AFFIX CLASS DEFINITION
+ // ======================
+
+ var Affix = function (element, options) {
+ this.options = $.extend({}, Affix.DEFAULTS, options)
+
+ this.$target = $(this.options.target)
+ .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this))
+ .on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this))
+
+ this.$element = $(element)
+ this.affixed = null
+ this.unpin = null
+ this.pinnedOffset = null
+
+ this.checkPosition()
+ }
+
+ Affix.VERSION = '3.3.4'
+
+ Affix.RESET = 'affix affix-top affix-bottom'
+
+ Affix.DEFAULTS = {
+ offset: 0,
+ target: window
+ }
+
+ Affix.prototype.getState = function (scrollHeight, height, offsetTop, offsetBottom) {
+ var scrollTop = this.$target.scrollTop()
+ var position = this.$element.offset()
+ var targetHeight = this.$target.height()
+
+ if (offsetTop != null && this.affixed == 'top') return scrollTop < offsetTop ? 'top' : false
+
+ if (this.affixed == 'bottom') {
+ if (offsetTop != null) return (scrollTop + this.unpin <= position.top) ? false : 'bottom'
+ return (scrollTop + targetHeight <= scrollHeight - offsetBottom) ? false : 'bottom'
+ }
+
+ var initializing = this.affixed == null
+ var colliderTop = initializing ? scrollTop : position.top
+ var colliderHeight = initializing ? targetHeight : height
+
+ if (offsetTop != null && scrollTop <= offsetTop) return 'top'
+ if (offsetBottom != null && (colliderTop + colliderHeight >= scrollHeight - offsetBottom)) return 'bottom'
+
+ return false
+ }
+
+ Affix.prototype.getPinnedOffset = function () {
+ if (this.pinnedOffset) return this.pinnedOffset
+ this.$element.removeClass(Affix.RESET).addClass('affix')
+ var scrollTop = this.$target.scrollTop()
+ var position = this.$element.offset()
+ return (this.pinnedOffset = position.top - scrollTop)
+ }
+
+ Affix.prototype.checkPositionWithEventLoop = function () {
+ setTimeout($.proxy(this.checkPosition, this), 1)
+ }
+
+ Affix.prototype.checkPosition = function () {
+ if (!this.$element.is(':visible')) return
+
+ var height = this.$element.height()
+ var offset = this.options.offset
+ var offsetTop = offset.top
+ var offsetBottom = offset.bottom
+ var scrollHeight = $(document.body).height()
+
+ if (typeof offset != 'object') offsetBottom = offsetTop = offset
+ if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element)
+ if (typeof offsetBottom == 'function') offsetBottom = offset.bottom(this.$element)
+
+ var affix = this.getState(scrollHeight, height, offsetTop, offsetBottom)
+
+ if (this.affixed != affix) {
+ if (this.unpin != null) this.$element.css('top', '')
+
+ var affixType = 'affix' + (affix ? '-' + affix : '')
+ var e = $.Event(affixType + '.bs.affix')
+
+ this.$element.trigger(e)
+
+ if (e.isDefaultPrevented()) return
+
+ this.affixed = affix
+ this.unpin = affix == 'bottom' ? this.getPinnedOffset() : null
+
+ this.$element
+ .removeClass(Affix.RESET)
+ .addClass(affixType)
+ .trigger(affixType.replace('affix', 'affixed') + '.bs.affix')
+ }
+
+ if (affix == 'bottom') {
+ this.$element.offset({
+ top: scrollHeight - height - offsetBottom
+ })
+ }
+ }
+
+
+ // AFFIX PLUGIN DEFINITION
+ // =======================
+
+ function Plugin(option) {
+ return this.each(function () {
+ var $this = $(this)
+ var data = $this.data('bs.affix')
+ var options = typeof option == 'object' && option
+
+ if (!data) $this.data('bs.affix', (data = new Affix(this, options)))
+ if (typeof option == 'string') data[option]()
+ })
+ }
+
+ var old = $.fn.affix
+
+ $.fn.affix = Plugin
+ $.fn.affix.Constructor = Affix
+
+
+ // AFFIX NO CONFLICT
+ // =================
+
+ $.fn.affix.noConflict = function () {
+ $.fn.affix = old
+ return this
+ }
+
+
+ // AFFIX DATA-API
+ // ==============
+
+ $(window).on('load', function () {
+ $('[data-spy="affix"]').each(function () {
+ var $spy = $(this)
+ var data = $spy.data()
+
+ data.offset = data.offset || {}
+
+ if (data.offsetBottom != null) data.offset.bottom = data.offsetBottom
+ if (data.offsetTop != null) data.offset.top = data.offsetTop
+
+ Plugin.call($spy, data)
+ })
+ })
+
+}(jQuery);
diff --git a/app/comp-fe/js/circular-json.js b/app/comp-fe/js/circular-json.js
new file mode 100644
index 0000000..5d59c75
--- /dev/null
+++ b/app/comp-fe/js/circular-json.js
@@ -0,0 +1,2 @@
+/*! (C) WebReflection Mit Style License */
+var CircularJSON=function(JSON,RegExp){var specialChar="~",safeSpecialChar="\\x"+("0"+specialChar.charCodeAt(0).toString(16)).slice(-2),escapedSafeSpecialChar="\\"+safeSpecialChar,specialCharRG=new RegExp(safeSpecialChar,"g"),safeSpecialCharRG=new RegExp(escapedSafeSpecialChar,"g"),safeStartWithSpecialCharRG=new RegExp("(?:^|([^\\\\]))"+escapedSafeSpecialChar),indexOf=[].indexOf||function(v){for(var i=this.length;i--&&this[i]!==v;);return i},$String=String;function generateReplacer(value,replacer,resolve){var path=[],all=[value],seen=[value],mapp=[resolve?specialChar:"[Circular]"],last=value,lvl=1,i;return function(key,value){if(replacer)value=replacer.call(this,key,value);if(key!==""){if(last!==this){i=lvl-indexOf.call(all,this)-1;lvl-=i;all.splice(lvl,all.length);path.splice(lvl-1,path.length);last=this}if(typeof value==="object"&&value){lvl=all.push(last=value);i=indexOf.call(seen,value);if(i<0){i=seen.push(value)-1;if(resolve){path.push((""+key).replace(specialCharRG,safeSpecialChar));mapp[i]=specialChar+path.join(specialChar)}else{mapp[i]=mapp[0]}}else{value=mapp[i]}}else{if(typeof value==="string"&&resolve){value=value.replace(safeSpecialChar,escapedSafeSpecialChar).replace(specialChar,safeSpecialChar)}}}return value}}function retrieveFromPath(current,keys){for(var i=0,length=keys.length;i<length;current=current[keys[i++].replace(safeSpecialCharRG,specialChar)]);return current}function generateReviver(reviver){return function(key,value){var isString=typeof value==="string";if(isString&&value.charAt(0)===specialChar){return new $String(value.slice(1))}if(key==="")value=regenerate(value,value,{});if(isString)value=value.replace(safeStartWithSpecialCharRG,"$1"+specialChar).replace(escapedSafeSpecialChar,safeSpecialChar);return reviver?reviver.call(this,key,value):value}}function regenerateArray(root,current,retrieve){for(var i=0,length=current.length;i<length;i++){current[i]=regenerate(root,current[i],retrieve)}return current}function regenerateObject(root,current,retrieve){for(var key in current){if(current.hasOwnProperty(key)){current[key]=regenerate(root,current[key],retrieve)}}return current}function regenerate(root,current,retrieve){return current instanceof Array?regenerateArray(root,current,retrieve):current instanceof $String?current.length?retrieve.hasOwnProperty(current)?retrieve[current]:retrieve[current]=retrieveFromPath(root,current.split(specialChar)):root:current instanceof Object?regenerateObject(root,current,retrieve):current}function stringifyRecursion(value,replacer,space,doNotResolve){return JSON.stringify(value,generateReplacer(value,replacer,!doNotResolve),space)}function parseRecursion(text,reviver){return JSON.parse(text,generateReviver(reviver))}return{stringify:stringifyRecursion,parse:parseRecursion}}(JSON,RegExp); \ No newline at end of file
diff --git a/app/comp-fe/js/d3.js b/app/comp-fe/js/d3.js
new file mode 100644
index 0000000..31e0698
--- /dev/null
+++ b/app/comp-fe/js/d3.js
@@ -0,0 +1,16673 @@
+// https://d3js.org Version 4.8.0. Copyright 2017 Mike Bostock.
+(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
+ typeof define === 'function' && define.amd ? define(['exports'], factory) :
+ (factory((global.d3 = global.d3 || {})));
+}(this, (function (exports) { 'use strict';
+
+var version = "4.8.0";
+
+var ascending = function(a, b) {
+ return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;
+};
+
+var bisector = function(compare) {
+ if (compare.length === 1) compare = ascendingComparator(compare);
+ return {
+ left: function(a, x, lo, hi) {
+ if (lo == null) lo = 0;
+ if (hi == null) hi = a.length;
+ while (lo < hi) {
+ var mid = lo + hi >>> 1;
+ if (compare(a[mid], x) < 0) lo = mid + 1;
+ else hi = mid;
+ }
+ return lo;
+ },
+ right: function(a, x, lo, hi) {
+ if (lo == null) lo = 0;
+ if (hi == null) hi = a.length;
+ while (lo < hi) {
+ var mid = lo + hi >>> 1;
+ if (compare(a[mid], x) > 0) hi = mid;
+ else lo = mid + 1;
+ }
+ return lo;
+ }
+ };
+};
+
+function ascendingComparator(f) {
+ return function(d, x) {
+ return ascending(f(d), x);
+ };
+}
+
+var ascendingBisect = bisector(ascending);
+var bisectRight = ascendingBisect.right;
+var bisectLeft = ascendingBisect.left;
+
+var pairs = function(array, f) {
+ if (f == null) f = pair;
+ var i = 0, n = array.length - 1, p = array[0], pairs = new Array(n < 0 ? 0 : n);
+ while (i < n) pairs[i] = f(p, p = array[++i]);
+ return pairs;
+};
+
+function pair(a, b) {
+ return [a, b];
+}
+
+var cross = function(values0, values1, reduce) {
+ var n0 = values0.length,
+ n1 = values1.length,
+ values = new Array(n0 * n1),
+ i0,
+ i1,
+ i,
+ value0;
+
+ if (reduce == null) reduce = pair;
+
+ for (i0 = i = 0; i0 < n0; ++i0) {
+ for (value0 = values0[i0], i1 = 0; i1 < n1; ++i1, ++i) {
+ values[i] = reduce(value0, values1[i1]);
+ }
+ }
+
+ return values;
+};
+
+var descending = function(a, b) {
+ return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;
+};
+
+var number = function(x) {
+ return x === null ? NaN : +x;
+};
+
+var variance = function(values, valueof) {
+ var n = values.length,
+ m = 0,
+ i = -1,
+ mean = 0,
+ value,
+ delta,
+ sum = 0;
+
+ if (valueof == null) {
+ while (++i < n) {
+ if (!isNaN(value = number(values[i]))) {
+ delta = value - mean;
+ mean += delta / ++m;
+ sum += delta * (value - mean);
+ }
+ }
+ }
+
+ else {
+ while (++i < n) {
+ if (!isNaN(value = number(valueof(values[i], i, values)))) {
+ delta = value - mean;
+ mean += delta / ++m;
+ sum += delta * (value - mean);
+ }
+ }
+ }
+
+ if (m > 1) return sum / (m - 1);
+};
+
+var deviation = function(array, f) {
+ var v = variance(array, f);
+ return v ? Math.sqrt(v) : v;
+};
+
+var extent = function(values, valueof) {
+ var n = values.length,
+ i = -1,
+ value,
+ min,
+ max;
+
+ if (valueof == null) {
+ while (++i < n) { // Find the first comparable value.
+ if ((value = values[i]) != null && value >= value) {
+ min = max = value;
+ while (++i < n) { // Compare the remaining values.
+ if ((value = values[i]) != null) {
+ if (min > value) min = value;
+ if (max < value) max = value;
+ }
+ }
+ }
+ }
+ }
+
+ else {
+ while (++i < n) { // Find the first comparable value.
+ if ((value = valueof(values[i], i, values)) != null && value >= value) {
+ min = max = value;
+ while (++i < n) { // Compare the remaining values.
+ if ((value = valueof(values[i], i, values)) != null) {
+ if (min > value) min = value;
+ if (max < value) max = value;
+ }
+ }
+ }
+ }
+ }
+
+ return [min, max];
+};
+
+var array = Array.prototype;
+
+var slice = array.slice;
+var map = array.map;
+
+var constant = function(x) {
+ return function() {
+ return x;
+ };
+};
+
+var identity = function(x) {
+ return x;
+};
+
+var sequence = function(start, stop, step) {
+ start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step;
+
+ var i = -1,
+ n = Math.max(0, Math.ceil((stop - start) / step)) | 0,
+ range = new Array(n);
+
+ while (++i < n) {
+ range[i] = start + i * step;
+ }
+
+ return range;
+};
+
+var e10 = Math.sqrt(50);
+var e5 = Math.sqrt(10);
+var e2 = Math.sqrt(2);
+
+var ticks = function(start, stop, count) {
+ var reverse = stop < start,
+ i = -1,
+ n,
+ ticks,
+ step;
+
+ if (reverse) n = start, start = stop, stop = n;
+
+ if ((step = tickIncrement(start, stop, count)) === 0 || !isFinite(step)) return [];
+
+ if (step > 0) {
+ start = Math.ceil(start / step);
+ stop = Math.floor(stop / step);
+ ticks = new Array(n = Math.ceil(stop - start + 1));
+ while (++i < n) ticks[i] = (start + i) * step;
+ } else {
+ start = Math.floor(start * step);
+ stop = Math.ceil(stop * step);
+ ticks = new Array(n = Math.ceil(start - stop + 1));
+ while (++i < n) ticks[i] = (start - i) / step;
+ }
+
+ if (reverse) ticks.reverse();
+
+ return ticks;
+};
+
+function tickIncrement(start, stop, count) {
+ var step = (stop - start) / Math.max(0, count),
+ power = Math.floor(Math.log(step) / Math.LN10),
+ error = step / Math.pow(10, power);
+ return power >= 0
+ ? (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1) * Math.pow(10, power)
+ : -Math.pow(10, -power) / (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1);
+}
+
+function tickStep(start, stop, count) {
+ var step0 = Math.abs(stop - start) / Math.max(0, count),
+ step1 = Math.pow(10, Math.floor(Math.log(step0) / Math.LN10)),
+ error = step0 / step1;
+ if (error >= e10) step1 *= 10;
+ else if (error >= e5) step1 *= 5;
+ else if (error >= e2) step1 *= 2;
+ return stop < start ? -step1 : step1;
+}
+
+var sturges = function(values) {
+ return Math.ceil(Math.log(values.length) / Math.LN2) + 1;
+};
+
+var histogram = function() {
+ var value = identity,
+ domain = extent,
+ threshold = sturges;
+
+ function histogram(data) {
+ var i,
+ n = data.length,
+ x,
+ values = new Array(n);
+
+ for (i = 0; i < n; ++i) {
+ values[i] = value(data[i], i, data);
+ }
+
+ var xz = domain(values),
+ x0 = xz[0],
+ x1 = xz[1],
+ tz = threshold(values, x0, x1);
+
+ // Convert number of thresholds into uniform thresholds.
+ if (!Array.isArray(tz)) {
+ tz = tickStep(x0, x1, tz);
+ tz = sequence(Math.ceil(x0 / tz) * tz, Math.floor(x1 / tz) * tz, tz); // exclusive
+ }
+
+ // Remove any thresholds outside the domain.
+ var m = tz.length;
+ while (tz[0] <= x0) tz.shift(), --m;
+ while (tz[m - 1] > x1) tz.pop(), --m;
+
+ var bins = new Array(m + 1),
+ bin;
+
+ // Initialize bins.
+ for (i = 0; i <= m; ++i) {
+ bin = bins[i] = [];
+ bin.x0 = i > 0 ? tz[i - 1] : x0;
+ bin.x1 = i < m ? tz[i] : x1;
+ }
+
+ // Assign data to bins by value, ignoring any outside the domain.
+ for (i = 0; i < n; ++i) {
+ x = values[i];
+ if (x0 <= x && x <= x1) {
+ bins[bisectRight(tz, x, 0, m)].push(data[i]);
+ }
+ }
+
+ return bins;
+ }
+
+ histogram.value = function(_) {
+ return arguments.length ? (value = typeof _ === "function" ? _ : constant(_), histogram) : value;
+ };
+
+ histogram.domain = function(_) {
+ return arguments.length ? (domain = typeof _ === "function" ? _ : constant([_[0], _[1]]), histogram) : domain;
+ };
+
+ histogram.thresholds = function(_) {
+ return arguments.length ? (threshold = typeof _ === "function" ? _ : Array.isArray(_) ? constant(slice.call(_)) : constant(_), histogram) : threshold;
+ };
+
+ return histogram;
+};
+
+var threshold = function(values, p, valueof) {
+ if (valueof == null) valueof = number;
+ if (!(n = values.length)) return;
+ if ((p = +p) <= 0 || n < 2) return +valueof(values[0], 0, values);
+ if (p >= 1) return +valueof(values[n - 1], n - 1, values);
+ var n,
+ i = (n - 1) * p,
+ i0 = Math.floor(i),
+ value0 = +valueof(values[i0], i0, values),
+ value1 = +valueof(values[i0 + 1], i0 + 1, values);
+ return value0 + (value1 - value0) * (i - i0);
+};
+
+var freedmanDiaconis = function(values, min, max) {
+ values = map.call(values, number).sort(ascending);
+ return Math.ceil((max - min) / (2 * (threshold(values, 0.75) - threshold(values, 0.25)) * Math.pow(values.length, -1 / 3)));
+};
+
+var scott = function(values, min, max) {
+ return Math.ceil((max - min) / (3.5 * deviation(values) * Math.pow(values.length, -1 / 3)));
+};
+
+var max = function(values, valueof) {
+ var n = values.length,
+ i = -1,
+ value,
+ max;
+
+ if (valueof == null) {
+ while (++i < n) { // Find the first comparable value.
+ if ((value = values[i]) != null && value >= value) {
+ max = value;
+ while (++i < n) { // Compare the remaining values.
+ if ((value = values[i]) != null && value > max) {
+ max = value;
+ }
+ }
+ }
+ }
+ }
+
+ else {
+ while (++i < n) { // Find the first comparable value.
+ if ((value = valueof(values[i], i, values)) != null && value >= value) {
+ max = value;
+ while (++i < n) { // Compare the remaining values.
+ if ((value = valueof(values[i], i, values)) != null && value > max) {
+ max = value;
+ }
+ }
+ }
+ }
+ }
+
+ return max;
+};
+
+var mean = function(values, valueof) {
+ var n = values.length,
+ m = n,
+ i = -1,
+ value,
+ sum = 0;
+
+ if (valueof == null) {
+ while (++i < n) {
+ if (!isNaN(value = number(values[i]))) sum += value;
+ else --m;
+ }
+ }
+
+ else {
+ while (++i < n) {
+ if (!isNaN(value = number(valueof(values[i], i, values)))) sum += value;
+ else --m;
+ }
+ }
+
+ if (m) return sum / m;
+};
+
+var median = function(values, valueof) {
+ var n = values.length,
+ i = -1,
+ value,
+ numbers = [];
+
+ if (valueof == null) {
+ while (++i < n) {
+ if (!isNaN(value = number(values[i]))) {
+ numbers.push(value);
+ }
+ }
+ }
+
+ else {
+ while (++i < n) {
+ if (!isNaN(value = number(valueof(values[i], i, values)))) {
+ numbers.push(value);
+ }
+ }
+ }
+
+ return threshold(numbers.sort(ascending), 0.5);
+};
+
+var merge = function(arrays) {
+ var n = arrays.length,
+ m,
+ i = -1,
+ j = 0,
+ merged,
+ array;
+
+ while (++i < n) j += arrays[i].length;
+ merged = new Array(j);
+
+ while (--n >= 0) {
+ array = arrays[n];
+ m = array.length;
+ while (--m >= 0) {
+ merged[--j] = array[m];
+ }
+ }
+
+ return merged;
+};
+
+var min = function(values, valueof) {
+ var n = values.length,
+ i = -1,
+ value,
+ min;
+
+ if (valueof == null) {
+ while (++i < n) { // Find the first comparable value.
+ if ((value = values[i]) != null && value >= value) {
+ min = value;
+ while (++i < n) { // Compare the remaining values.
+ if ((value = values[i]) != null && min > value) {
+ min = value;
+ }
+ }
+ }
+ }
+ }
+
+ else {
+ while (++i < n) { // Find the first comparable value.
+ if ((value = valueof(values[i], i, values)) != null && value >= value) {
+ min = value;
+ while (++i < n) { // Compare the remaining values.
+ if ((value = valueof(values[i], i, values)) != null && min > value) {
+ min = value;
+ }
+ }
+ }
+ }
+ }
+
+ return min;
+};
+
+var permute = function(array, indexes) {
+ var i = indexes.length, permutes = new Array(i);
+ while (i--) permutes[i] = array[indexes[i]];
+ return permutes;
+};
+
+var scan = function(values, compare) {
+ if (!(n = values.length)) return;
+ var n,
+ i = 0,
+ j = 0,
+ xi,
+ xj = values[j];
+
+ if (compare == null) compare = ascending;
+
+ while (++i < n) {
+ if (compare(xi = values[i], xj) < 0 || compare(xj, xj) !== 0) {
+ xj = xi, j = i;
+ }
+ }
+
+ if (compare(xj, xj) === 0) return j;
+};
+
+var shuffle = function(array, i0, i1) {
+ var m = (i1 == null ? array.length : i1) - (i0 = i0 == null ? 0 : +i0),
+ t,
+ i;
+
+ while (m) {
+ i = Math.random() * m-- | 0;
+ t = array[m + i0];
+ array[m + i0] = array[i + i0];
+ array[i + i0] = t;
+ }
+
+ return array;
+};
+
+var sum = function(values, valueof) {
+ var n = values.length,
+ i = -1,
+ value,
+ sum = 0;
+
+ if (valueof == null) {
+ while (++i < n) {
+ if (value = +values[i]) sum += value; // Note: zero and null are equivalent.
+ }
+ }
+
+ else {
+ while (++i < n) {
+ if (value = +valueof(values[i], i, values)) sum += value;
+ }
+ }
+
+ return sum;
+};
+
+var transpose = function(matrix) {
+ if (!(n = matrix.length)) return [];
+ for (var i = -1, m = min(matrix, length), transpose = new Array(m); ++i < m;) {
+ for (var j = -1, n, row = transpose[i] = new Array(n); ++j < n;) {
+ row[j] = matrix[j][i];
+ }
+ }
+ return transpose;
+};
+
+function length(d) {
+ return d.length;
+}
+
+var zip = function() {
+ return transpose(arguments);
+};
+
+var slice$1 = Array.prototype.slice;
+
+var identity$1 = function(x) {
+ return x;
+};
+
+var top = 1;
+var right = 2;
+var bottom = 3;
+var left = 4;
+var epsilon = 1e-6;
+
+function translateX(x) {
+ return "translate(" + x + ",0)";
+}
+
+function translateY(y) {
+ return "translate(0," + y + ")";
+}
+
+function center(scale) {
+ var offset = scale.bandwidth() / 2;
+ if (scale.round()) offset = Math.round(offset);
+ return function(d) {
+ return scale(d) + offset;
+ };
+}
+
+function entering() {
+ return !this.__axis;
+}
+
+function axis(orient, scale) {
+ var tickArguments = [],
+ tickValues = null,
+ tickFormat = null,
+ tickSizeInner = 6,
+ tickSizeOuter = 6,
+ tickPadding = 3,
+ k = orient === top || orient === left ? -1 : 1,
+ x, y = orient === left || orient === right ? (x = "x", "y") : (x = "y", "x"),
+ transform = orient === top || orient === bottom ? translateX : translateY;
+
+ function axis(context) {
+ var values = tickValues == null ? (scale.ticks ? scale.ticks.apply(scale, tickArguments) : scale.domain()) : tickValues,
+ format = tickFormat == null ? (scale.tickFormat ? scale.tickFormat.apply(scale, tickArguments) : identity$1) : tickFormat,
+ spacing = Math.max(tickSizeInner, 0) + tickPadding,
+ range = scale.range(),
+ range0 = range[0] + 0.5,
+ range1 = range[range.length - 1] + 0.5,
+ position = (scale.bandwidth ? center : identity$1)(scale.copy()),
+ selection = context.selection ? context.selection() : context,
+ path = selection.selectAll(".domain").data([null]),
+ tick = selection.selectAll(".tick").data(values, scale).order(),
+ tickExit = tick.exit(),
+ tickEnter = tick.enter().append("g").attr("class", "tick"),
+ line = tick.select("line"),
+ text = tick.select("text");
+
+ path = path.merge(path.enter().insert("path", ".tick")
+ .attr("class", "domain")
+ .attr("stroke", "#000"));
+
+ tick = tick.merge(tickEnter);
+
+ line = line.merge(tickEnter.append("line")
+ .attr("stroke", "#000")
+ .attr(x + "2", k * tickSizeInner)
+ .attr(y + "1", 0.5)
+ .attr(y + "2", 0.5));
+
+ text = text.merge(tickEnter.append("text")
+ .attr("fill", "#000")
+ .attr(x, k * spacing)
+ .attr(y, 0.5)
+ .attr("dy", orient === top ? "0em" : orient === bottom ? "0.71em" : "0.32em"));
+
+ if (context !== selection) {
+ path = path.transition(context);
+ tick = tick.transition(context);
+ line = line.transition(context);
+ text = text.transition(context);
+
+ tickExit = tickExit.transition(context)
+ .attr("opacity", epsilon)
+ .attr("transform", function(d) { return isFinite(d = position(d)) ? transform(d) : this.getAttribute("transform"); });
+
+ tickEnter
+ .attr("opacity", epsilon)
+ .attr("transform", function(d) { var p = this.parentNode.__axis; return transform(p && isFinite(p = p(d)) ? p : position(d)); });
+ }
+
+ tickExit.remove();
+
+ path
+ .attr("d", orient === left || orient == right
+ ? "M" + k * tickSizeOuter + "," + range0 + "H0.5V" + range1 + "H" + k * tickSizeOuter
+ : "M" + range0 + "," + k * tickSizeOuter + "V0.5H" + range1 + "V" + k * tickSizeOuter);
+
+ tick
+ .attr("opacity", 1)
+ .attr("transform", function(d) { return transform(position(d)); });
+
+ line
+ .attr(x + "2", k * tickSizeInner);
+
+ text
+ .attr(x, k * spacing)
+ .text(format);
+
+ selection.filter(entering)
+ .attr("fill", "none")
+ .attr("font-size", 10)
+ .attr("font-family", "sans-serif")
+ .attr("text-anchor", orient === right ? "start" : orient === left ? "end" : "middle");
+
+ selection
+ .each(function() { this.__axis = position; });
+ }
+
+ axis.scale = function(_) {
+ return arguments.length ? (scale = _, axis) : scale;
+ };
+
+ axis.ticks = function() {
+ return tickArguments = slice$1.call(arguments), axis;
+ };
+
+ axis.tickArguments = function(_) {
+ return arguments.length ? (tickArguments = _ == null ? [] : slice$1.call(_), axis) : tickArguments.slice();
+ };
+
+ axis.tickValues = function(_) {
+ return arguments.length ? (tickValues = _ == null ? null : slice$1.call(_), axis) : tickValues && tickValues.slice();
+ };
+
+ axis.tickFormat = function(_) {
+ return arguments.length ? (tickFormat = _, axis) : tickFormat;
+ };
+
+ axis.tickSize = function(_) {
+ return arguments.length ? (tickSizeInner = tickSizeOuter = +_, axis) : tickSizeInner;
+ };
+
+ axis.tickSizeInner = function(_) {
+ return arguments.length ? (tickSizeInner = +_, axis) : tickSizeInner;
+ };
+
+ axis.tickSizeOuter = function(_) {
+ return arguments.length ? (tickSizeOuter = +_, axis) : tickSizeOuter;
+ };
+
+ axis.tickPadding = function(_) {
+ return arguments.length ? (tickPadding = +_, axis) : tickPadding;
+ };
+
+ return axis;
+}
+
+function axisTop(scale) {
+ return axis(top, scale);
+}
+
+function axisRight(scale) {
+ return axis(right, scale);
+}
+
+function axisBottom(scale) {
+ return axis(bottom, scale);
+}
+
+function axisLeft(scale) {
+ return axis(left, scale);
+}
+
+var noop = {value: function() {}};
+
+function dispatch() {
+ for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) {
+ if (!(t = arguments[i] + "") || (t in _)) throw new Error("illegal type: " + t);
+ _[t] = [];
+ }
+ return new Dispatch(_);
+}
+
+function Dispatch(_) {
+ this._ = _;
+}
+
+function parseTypenames(typenames, types) {
+ return typenames.trim().split(/^|\s+/).map(function(t) {
+ var name = "", i = t.indexOf(".");
+ if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);
+ if (t && !types.hasOwnProperty(t)) throw new Error("unknown type: " + t);
+ return {type: t, name: name};
+ });
+}
+
+Dispatch.prototype = dispatch.prototype = {
+ constructor: Dispatch,
+ on: function(typename, callback) {
+ var _ = this._,
+ T = parseTypenames(typename + "", _),
+ t,
+ i = -1,
+ n = T.length;
+
+ // If no callback was specified, return the callback of the given type and name.
+ if (arguments.length < 2) {
+ while (++i < n) if ((t = (typename = T[i]).type) && (t = get(_[t], typename.name))) return t;
+ return;
+ }
+
+ // If a type was specified, set the callback for the given type and name.
+ // Otherwise, if a null callback was specified, remove callbacks of the given name.
+ if (callback != null && typeof callback !== "function") throw new Error("invalid callback: " + callback);
+ while (++i < n) {
+ if (t = (typename = T[i]).type) _[t] = set(_[t], typename.name, callback);
+ else if (callback == null) for (t in _) _[t] = set(_[t], typename.name, null);
+ }
+
+ return this;
+ },
+ copy: function() {
+ var copy = {}, _ = this._;
+ for (var t in _) copy[t] = _[t].slice();
+ return new Dispatch(copy);
+ },
+ call: function(type, that) {
+ if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) args[i] = arguments[i + 2];
+ if (!this._.hasOwnProperty(type)) throw new Error("unknown type: " + type);
+ for (t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);
+ },
+ apply: function(type, that, args) {
+ if (!this._.hasOwnProperty(type)) throw new Error("unknown type: " + type);
+ for (var t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);
+ }
+};
+
+function get(type, name) {
+ for (var i = 0, n = type.length, c; i < n; ++i) {
+ if ((c = type[i]).name === name) {
+ return c.value;
+ }
+ }
+}
+
+function set(type, name, callback) {
+ for (var i = 0, n = type.length; i < n; ++i) {
+ if (type[i].name === name) {
+ type[i] = noop, type = type.slice(0, i).concat(type.slice(i + 1));
+ break;
+ }
+ }
+ if (callback != null) type.push({name: name, value: callback});
+ return type;
+}
+
+var xhtml = "http://www.w3.org/1999/xhtml";
+
+var namespaces = {
+ svg: "http://www.w3.org/2000/svg",
+ xhtml: xhtml,
+ xlink: "http://www.w3.org/1999/xlink",
+ xml: "http://www.w3.org/XML/1998/namespace",
+ xmlns: "http://www.w3.org/2000/xmlns/"
+};
+
+var namespace = function(name) {
+ var prefix = name += "", i = prefix.indexOf(":");
+ if (i >= 0 && (prefix = name.slice(0, i)) !== "xmlns") name = name.slice(i + 1);
+ return namespaces.hasOwnProperty(prefix) ? {space: namespaces[prefix], local: name} : name;
+};
+
+function creatorInherit(name) {
+ return function() {
+ var document = this.ownerDocument,
+ uri = this.namespaceURI;
+ return uri === xhtml && document.documentElement.namespaceURI === xhtml
+ ? document.createElement(name)
+ : document.createElementNS(uri, name);
+ };
+}
+
+function creatorFixed(fullname) {
+ return function() {
+ return this.ownerDocument.createElementNS(fullname.space, fullname.local);
+ };
+}
+
+var creator = function(name) {
+ var fullname = namespace(name);
+ return (fullname.local
+ ? creatorFixed
+ : creatorInherit)(fullname);
+};
+
+var nextId = 0;
+
+function local$1() {
+ return new Local;
+}
+
+function Local() {
+ this._ = "@" + (++nextId).toString(36);
+}
+
+Local.prototype = local$1.prototype = {
+ constructor: Local,
+ get: function(node) {
+ var id = this._;
+ while (!(id in node)) if (!(node = node.parentNode)) return;
+ return node[id];
+ },
+ set: function(node, value) {
+ return node[this._] = value;
+ },
+ remove: function(node) {
+ return this._ in node && delete node[this._];
+ },
+ toString: function() {
+ return this._;
+ }
+};
+
+var matcher = function(selector) {
+ return function() {
+ return this.matches(selector);
+ };
+};
+
+if (typeof document !== "undefined") {
+ var element = document.documentElement;
+ if (!element.matches) {
+ var vendorMatches = element.webkitMatchesSelector
+ || element.msMatchesSelector
+ || element.mozMatchesSelector
+ || element.oMatchesSelector;
+ matcher = function(selector) {
+ return function() {
+ return vendorMatches.call(this, selector);
+ };
+ };
+ }
+}
+
+var matcher$1 = matcher;
+
+var filterEvents = {};
+
+exports.event = null;
+
+if (typeof document !== "undefined") {
+ var element$1 = document.documentElement;
+ if (!("onmouseenter" in element$1)) {
+ filterEvents = {mouseenter: "mouseover", mouseleave: "mouseout"};
+ }
+}
+
+function filterContextListener(listener, index, group) {
+ listener = contextListener(listener, index, group);
+ return function(event) {
+ var related = event.relatedTarget;
+ if (!related || (related !== this && !(related.compareDocumentPosition(this) & 8))) {
+ listener.call(this, event);
+ }
+ };
+}
+
+function contextListener(listener, index, group) {
+ return function(event1) {
+ var event0 = exports.event; // Events can be reentrant (e.g., focus).
+ exports.event = event1;
+ try {
+ listener.call(this, this.__data__, index, group);
+ } finally {
+ exports.event = event0;
+ }
+ };
+}
+
+function parseTypenames$1(typenames) {
+ return typenames.trim().split(/^|\s+/).map(function(t) {
+ var name = "", i = t.indexOf(".");
+ if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);
+ return {type: t, name: name};
+ });
+}
+
+function onRemove(typename) {
+ return function() {
+ var on = this.__on;
+ if (!on) return;
+ for (var j = 0, i = -1, m = on.length, o; j < m; ++j) {
+ if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) {
+ this.removeEventListener(o.type, o.listener, o.capture);
+ } else {
+ on[++i] = o;
+ }
+ }
+ if (++i) on.length = i;
+ else delete this.__on;
+ };
+}
+
+function onAdd(typename, value, capture) {
+ var wrap = filterEvents.hasOwnProperty(typename.type) ? filterContextListener : contextListener;
+ return function(d, i, group) {
+ var on = this.__on, o, listener = wrap(value, i, group);
+ if (on) for (var j = 0, m = on.length; j < m; ++j) {
+ if ((o = on[j]).type === typename.type && o.name === typename.name) {
+ this.removeEventListener(o.type, o.listener, o.capture);
+ this.addEventListener(o.type, o.listener = listener, o.capture = capture);
+ o.value = value;
+ return;
+ }
+ }
+ this.addEventListener(typename.type, listener, capture);
+ o = {type: typename.type, name: typename.name, value: value, listener: listener, capture: capture};
+ if (!on) this.__on = [o];
+ else on.push(o);
+ };
+}
+
+var selection_on = function(typename, value, capture) {
+ var typenames = parseTypenames$1(typename + ""), i, n = typenames.length, t;
+
+ if (arguments.length < 2) {
+ var on = this.node().__on;
+ if (on) for (var j = 0, m = on.length, o; j < m; ++j) {
+ for (i = 0, o = on[j]; i < n; ++i) {
+ if ((t = typenames[i]).type === o.type && t.name === o.name) {
+ return o.value;
+ }
+ }
+ }
+ return;
+ }
+
+ on = value ? onAdd : onRemove;
+ if (capture == null) capture = false;
+ for (i = 0; i < n; ++i) this.each(on(typenames[i], value, capture));
+ return this;
+};
+
+function customEvent(event1, listener, that, args) {
+ var event0 = exports.event;
+ event1.sourceEvent = exports.event;
+ exports.event = event1;
+ try {
+ return listener.apply(that, args);
+ } finally {
+ exports.event = event0;
+ }
+}
+
+var sourceEvent = function() {
+ var current = exports.event, source;
+ while (source = current.sourceEvent) current = source;
+ return current;
+};
+
+var point = function(node, event) {
+ var svg = node.ownerSVGElement || node;
+
+ if (svg.createSVGPoint) {
+ var point = svg.createSVGPoint();
+ point.x = event.clientX, point.y = event.clientY;
+ point = point.matrixTransform(node.getScreenCTM().inverse());
+ return [point.x, point.y];
+ }
+
+ var rect = node.getBoundingClientRect();
+ return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop];
+};
+
+var mouse = function(node) {
+ var event = sourceEvent();
+ if (event.changedTouches) event = event.changedTouches[0];
+ return point(node, event);
+};
+
+function none() {}
+
+var selector = function(selector) {
+ return selector == null ? none : function() {
+ return this.querySelector(selector);
+ };
+};
+
+var selection_select = function(select) {
+ if (typeof select !== "function") select = selector(select);
+
+ for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {
+ for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {
+ if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {
+ if ("__data__" in node) subnode.__data__ = node.__data__;
+ subgroup[i] = subnode;
+ }
+ }
+ }
+
+ return new Selection(subgroups, this._parents);
+};
+
+function empty$1() {
+ return [];
+}
+
+var selectorAll = function(selector) {
+ return selector == null ? empty$1 : function() {
+ return this.querySelectorAll(selector);
+ };
+};
+
+var selection_selectAll = function(select) {
+ if (typeof select !== "function") select = selectorAll(select);
+
+ for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {
+ for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {
+ if (node = group[i]) {
+ subgroups.push(select.call(node, node.__data__, i, group));
+ parents.push(node);
+ }
+ }
+ }
+
+ return new Selection(subgroups, parents);
+};
+
+var selection_filter = function(match) {
+ if (typeof match !== "function") match = matcher$1(match);
+
+ for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {
+ for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {
+ if ((node = group[i]) && match.call(node, node.__data__, i, group)) {
+ subgroup.push(node);
+ }
+ }
+ }
+
+ return new Selection(subgroups, this._parents);
+};
+
+var sparse = function(update) {
+ return new Array(update.length);
+};
+
+var selection_enter = function() {
+ return new Selection(this._enter || this._groups.map(sparse), this._parents);
+};
+
+function EnterNode(parent, datum) {
+ this.ownerDocument = parent.ownerDocument;
+ this.namespaceURI = parent.namespaceURI;
+ this._next = null;
+ this._parent = parent;
+ this.__data__ = datum;
+}
+
+EnterNode.prototype = {
+ constructor: EnterNode,
+ appendChild: function(child) { return this._parent.insertBefore(child, this._next); },
+ insertBefore: function(child, next) { return this._parent.insertBefore(child, next); },
+ querySelector: function(selector) { return this._parent.querySelector(selector); },
+ querySelectorAll: function(selector) { return this._parent.querySelectorAll(selector); }
+};
+
+var constant$1 = function(x) {
+ return function() {
+ return x;
+ };
+};
+
+var keyPrefix = "$"; // Protect against keys like “__proto__”.
+
+function bindIndex(parent, group, enter, update, exit, data) {
+ var i = 0,
+ node,
+ groupLength = group.length,
+ dataLength = data.length;
+
+ // Put any non-null nodes that fit into update.
+ // Put any null nodes into enter.
+ // Put any remaining data into enter.
+ for (; i < dataLength; ++i) {
+ if (node = group[i]) {
+ node.__data__ = data[i];
+ update[i] = node;
+ } else {
+ enter[i] = new EnterNode(parent, data[i]);
+ }
+ }
+
+ // Put any non-null nodes that don’t fit into exit.
+ for (; i < groupLength; ++i) {
+ if (node = group[i]) {
+ exit[i] = node;
+ }
+ }
+}
+
+function bindKey(parent, group, enter, update, exit, data, key) {
+ var i,
+ node,
+ nodeByKeyValue = {},
+ groupLength = group.length,
+ dataLength = data.length,
+ keyValues = new Array(groupLength),
+ keyValue;
+
+ // Compute the key for each node.
+ // If multiple nodes have the same key, the duplicates are added to exit.
+ for (i = 0; i < groupLength; ++i) {
+ if (node = group[i]) {
+ keyValues[i] = keyValue = keyPrefix + key.call(node, node.__data__, i, group);
+ if (keyValue in nodeByKeyValue) {
+ exit[i] = node;
+ } else {
+ nodeByKeyValue[keyValue] = node;
+ }
+ }
+ }
+
+ // Compute the key for each datum.
+ // If there a node associated with this key, join and add it to update.
+ // If there is not (or the key is a duplicate), add it to enter.
+ for (i = 0; i < dataLength; ++i) {
+ keyValue = keyPrefix + key.call(parent, data[i], i, data);
+ if (node = nodeByKeyValue[keyValue]) {
+ update[i] = node;
+ node.__data__ = data[i];
+ nodeByKeyValue[keyValue] = null;
+ } else {
+ enter[i] = new EnterNode(parent, data[i]);
+ }
+ }
+
+ // Add any remaining nodes that were not bound to data to exit.
+ for (i = 0; i < groupLength; ++i) {
+ if ((node = group[i]) && (nodeByKeyValue[keyValues[i]] === node)) {
+ exit[i] = node;
+ }
+ }
+}
+
+var selection_data = function(value, key) {
+ if (!value) {
+ data = new Array(this.size()), j = -1;
+ this.each(function(d) { data[++j] = d; });
+ return data;
+ }
+
+ var bind = key ? bindKey : bindIndex,
+ parents = this._parents,
+ groups = this._groups;
+
+ if (typeof value !== "function") value = constant$1(value);
+
+ for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) {
+ var parent = parents[j],
+ group = groups[j],
+ groupLength = group.length,
+ data = value.call(parent, parent && parent.__data__, j, parents),
+ dataLength = data.length,
+ enterGroup = enter[j] = new Array(dataLength),
+ updateGroup = update[j] = new Array(dataLength),
+ exitGroup = exit[j] = new Array(groupLength);
+
+ bind(parent, group, enterGroup, updateGroup, exitGroup, data, key);
+
+ // Now connect the enter nodes to their following update node, such that
+ // appendChild can insert the materialized enter node before this node,
+ // rather than at the end of the parent node.
+ for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) {
+ if (previous = enterGroup[i0]) {
+ if (i0 >= i1) i1 = i0 + 1;
+ while (!(next = updateGroup[i1]) && ++i1 < dataLength);
+ previous._next = next || null;
+ }
+ }
+ }
+
+ update = new Selection(update, parents);
+ update._enter = enter;
+ update._exit = exit;
+ return update;
+};
+
+var selection_exit = function() {
+ return new Selection(this._exit || this._groups.map(sparse), this._parents);
+};
+
+var selection_merge = function(selection) {
+
+ for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {
+ for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {
+ if (node = group0[i] || group1[i]) {
+ merge[i] = node;
+ }
+ }
+ }
+
+ for (; j < m0; ++j) {
+ merges[j] = groups0[j];
+ }
+
+ return new Selection(merges, this._parents);
+};
+
+var selection_order = function() {
+
+ for (var groups = this._groups, j = -1, m = groups.length; ++j < m;) {
+ for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0;) {
+ if (node = group[i]) {
+ if (next && next !== node.nextSibling) next.parentNode.insertBefore(node, next);
+ next = node;
+ }
+ }
+ }
+
+ return this;
+};
+
+var selection_sort = function(compare) {
+ if (!compare) compare = ascending$1;
+
+ function compareNode(a, b) {
+ return a && b ? compare(a.__data__, b.__data__) : !a - !b;
+ }
+
+ for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) {
+ for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) {
+ if (node = group[i]) {
+ sortgroup[i] = node;
+ }
+ }
+ sortgroup.sort(compareNode);
+ }
+
+ return new Selection(sortgroups, this._parents).order();
+};
+
+function ascending$1(a, b) {
+ return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;
+}
+
+var selection_call = function() {
+ var callback = arguments[0];
+ arguments[0] = this;
+ callback.apply(null, arguments);
+ return this;
+};
+
+var selection_nodes = function() {
+ var nodes = new Array(this.size()), i = -1;
+ this.each(function() { nodes[++i] = this; });
+ return nodes;
+};
+
+var selection_node = function() {
+
+ for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {
+ for (var group = groups[j], i = 0, n = group.length; i < n; ++i) {
+ var node = group[i];
+ if (node) return node;
+ }
+ }
+
+ return null;
+};
+
+var selection_size = function() {
+ var size = 0;
+ this.each(function() { ++size; });
+ return size;
+};
+
+var selection_empty = function() {
+ return !this.node();
+};
+
+var selection_each = function(callback) {
+
+ for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {
+ for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {
+ if (node = group[i]) callback.call(node, node.__data__, i, group);
+ }
+ }
+
+ return this;
+};
+
+function attrRemove(name) {
+ return function() {
+ this.removeAttribute(name);
+ };
+}
+
+function attrRemoveNS(fullname) {
+ return function() {
+ this.removeAttributeNS(fullname.space, fullname.local);
+ };
+}
+
+function attrConstant(name, value) {
+ return function() {
+ this.setAttribute(name, value);
+ };
+}
+
+function attrConstantNS(fullname, value) {
+ return function() {
+ this.setAttributeNS(fullname.space, fullname.local, value);
+ };
+}
+
+function attrFunction(name, value) {
+ return function() {
+ var v = value.apply(this, arguments);
+ if (v == null) this.removeAttribute(name);
+ else this.setAttribute(name, v);
+ };
+}
+
+function attrFunctionNS(fullname, value) {
+ return function() {
+ var v = value.apply(this, arguments);
+ if (v == null) this.removeAttributeNS(fullname.space, fullname.local);
+ else this.setAttributeNS(fullname.space, fullname.local, v);
+ };
+}
+
+var selection_attr = function(name, value) {
+ var fullname = namespace(name);
+
+ if (arguments.length < 2) {
+ var node = this.node();
+ return fullname.local
+ ? node.getAttributeNS(fullname.space, fullname.local)
+ : node.getAttribute(fullname);
+ }
+
+ return this.each((value == null
+ ? (fullname.local ? attrRemoveNS : attrRemove) : (typeof value === "function"
+ ? (fullname.local ? attrFunctionNS : attrFunction)
+ : (fullname.local ? attrConstantNS : attrConstant)))(fullname, value));
+};
+
+var window = function(node) {
+ return (node.ownerDocument && node.ownerDocument.defaultView) // node is a Node
+ || (node.document && node) // node is a Window
+ || node.defaultView; // node is a Document
+};
+
+function styleRemove(name) {
+ return function() {
+ this.style.removeProperty(name);
+ };
+}
+
+function styleConstant(name, value, priority) {
+ return function() {
+ this.style.setProperty(name, value, priority);
+ };
+}
+
+function styleFunction(name, value, priority) {
+ return function() {
+ var v = value.apply(this, arguments);
+ if (v == null) this.style.removeProperty(name);
+ else this.style.setProperty(name, v, priority);
+ };
+}
+
+var selection_style = function(name, value, priority) {
+ var node;
+ return arguments.length > 1
+ ? this.each((value == null
+ ? styleRemove : typeof value === "function"
+ ? styleFunction
+ : styleConstant)(name, value, priority == null ? "" : priority))
+ : window(node = this.node())
+ .getComputedStyle(node, null)
+ .getPropertyValue(name);
+};
+
+function propertyRemove(name) {
+ return function() {
+ delete this[name];
+ };
+}
+
+function propertyConstant(name, value) {
+ return function() {
+ this[name] = value;
+ };
+}
+
+function propertyFunction(name, value) {
+ return function() {
+ var v = value.apply(this, arguments);
+ if (v == null) delete this[name];
+ else this[name] = v;
+ };
+}
+
+var selection_property = function(name, value) {
+ return arguments.length > 1
+ ? this.each((value == null
+ ? propertyRemove : typeof value === "function"
+ ? propertyFunction
+ : propertyConstant)(name, value))
+ : this.node()[name];
+};
+
+function classArray(string) {
+ return string.trim().split(/^|\s+/);
+}
+
+function classList(node) {
+ return node.classList || new ClassList(node);
+}
+
+function ClassList(node) {
+ this._node = node;
+ this._names = classArray(node.getAttribute("class") || "");
+}
+
+ClassList.prototype = {
+ add: function(name) {
+ var i = this._names.indexOf(name);
+ if (i < 0) {
+ this._names.push(name);
+ this._node.setAttribute("class", this._names.join(" "));
+ }
+ },
+ remove: function(name) {
+ var i = this._names.indexOf(name);
+ if (i >= 0) {
+ this._names.splice(i, 1);
+ this._node.setAttribute("class", this._names.join(" "));
+ }
+ },
+ contains: function(name) {
+ return this._names.indexOf(name) >= 0;
+ }
+};
+
+function classedAdd(node, names) {
+ var list = classList(node), i = -1, n = names.length;
+ while (++i < n) list.add(names[i]);
+}
+
+function classedRemove(node, names) {
+ var list = classList(node), i = -1, n = names.length;
+ while (++i < n) list.remove(names[i]);
+}
+
+function classedTrue(names) {
+ return function() {
+ classedAdd(this, names);
+ };
+}
+
+function classedFalse(names) {
+ return function() {
+ classedRemove(this, names);
+ };
+}
+
+function classedFunction(names, value) {
+ return function() {
+ (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names);
+ };
+}
+
+var selection_classed = function(name, value) {
+ var names = classArray(name + "");
+
+ if (arguments.length < 2) {
+ var list = classList(this.node()), i = -1, n = names.length;
+ while (++i < n) if (!list.contains(names[i])) return false;
+ return true;
+ }
+
+ return this.each((typeof value === "function"
+ ? classedFunction : value
+ ? classedTrue
+ : classedFalse)(names, value));
+};
+
+function textRemove() {
+ this.textContent = "";
+}
+
+function textConstant(value) {
+ return function() {
+ this.textContent = value;
+ };
+}
+
+function textFunction(value) {
+ return function() {
+ var v = value.apply(this, arguments);
+ this.textContent = v == null ? "" : v;
+ };
+}
+
+var selection_text = function(value) {
+ return arguments.length
+ ? this.each(value == null
+ ? textRemove : (typeof value === "function"
+ ? textFunction
+ : textConstant)(value))
+ : this.node().textContent;
+};
+
+function htmlRemove() {
+ this.innerHTML = "";
+}
+
+function htmlConstant(value) {
+ return function() {
+ this.innerHTML = value;
+ };
+}
+
+function htmlFunction(value) {
+ return function() {
+ var v = value.apply(this, arguments);
+ this.innerHTML = v == null ? "" : v;
+ };
+}
+
+var selection_html = function(value) {
+ return arguments.length
+ ? this.each(value == null
+ ? htmlRemove : (typeof value === "function"
+ ? htmlFunction
+ : htmlConstant)(value))
+ : this.node().innerHTML;
+};
+
+function raise() {
+ if (this.nextSibling) this.parentNode.appendChild(this);
+}
+
+var selection_raise = function() {
+ return this.each(raise);
+};
+
+function lower() {
+ if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild);
+}
+
+var selection_lower = function() {
+ return this.each(lower);
+};
+
+var selection_append = function(name) {
+ var create = typeof name === "function" ? name : creator(name);
+ return this.select(function() {
+ return this.appendChild(create.apply(this, arguments));
+ });
+};
+
+function constantNull() {
+ return null;
+}
+
+var selection_insert = function(name, before) {
+ var create = typeof name === "function" ? name : creator(name),
+ select = before == null ? constantNull : typeof before === "function" ? before : selector(before);
+ return this.select(function() {
+ return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null);
+ });
+};
+
+function remove() {
+ var parent = this.parentNode;
+ if (parent) parent.removeChild(this);
+}
+
+var selection_remove = function() {
+ return this.each(remove);
+};
+
+var selection_datum = function(value) {
+ return arguments.length
+ ? this.property("__data__", value)
+ : this.node().__data__;
+};
+
+function dispatchEvent(node, type, params) {
+ var window$$1 = window(node),
+ event = window$$1.CustomEvent;
+
+ if (event) {
+ event = new event(type, params);
+ } else {
+ event = window$$1.document.createEvent("Event");
+ if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail;
+ else event.initEvent(type, false, false);
+ }
+
+ node.dispatchEvent(event);
+}
+
+function dispatchConstant(type, params) {
+ return function() {
+ return dispatchEvent(this, type, params);
+ };
+}
+
+function dispatchFunction(type, params) {
+ return function() {
+ return dispatchEvent(this, type, params.apply(this, arguments));
+ };
+}
+
+var selection_dispatch = function(type, params) {
+ return this.each((typeof params === "function"
+ ? dispatchFunction
+ : dispatchConstant)(type, params));
+};
+
+var root = [null];
+
+function Selection(groups, parents) {
+ this._groups = groups;
+ this._parents = parents;
+}
+
+function selection() {
+ return new Selection([[document.documentElement]], root);
+}
+
+Selection.prototype = selection.prototype = {
+ constructor: Selection,
+ select: selection_select,
+ selectAll: selection_selectAll,
+ filter: selection_filter,
+ data: selection_data,
+ enter: selection_enter,
+ exit: selection_exit,
+ merge: selection_merge,
+ order: selection_order,
+ sort: selection_sort,
+ call: selection_call,
+ nodes: selection_nodes,
+ node: selection_node,
+ size: selection_size,
+ empty: selection_empty,
+ each: selection_each,
+ attr: selection_attr,
+ style: selection_style,
+ property: selection_property,
+ classed: selection_classed,
+ text: selection_text,
+ html: selection_html,
+ raise: selection_raise,
+ lower: selection_lower,
+ append: selection_append,
+ insert: selection_insert,
+ remove: selection_remove,
+ datum: selection_datum,
+ on: selection_on,
+ dispatch: selection_dispatch
+};
+
+var select = function(selector) {
+ return typeof selector === "string"
+ ? new Selection([[document.querySelector(selector)]], [document.documentElement])
+ : new Selection([[selector]], root);
+};
+
+var selectAll = function(selector) {
+ return typeof selector === "string"
+ ? new Selection([document.querySelectorAll(selector)], [document.documentElement])
+ : new Selection([selector == null ? [] : selector], root);
+};
+
+var touch = function(node, touches, identifier) {
+ if (arguments.length < 3) identifier = touches, touches = sourceEvent().changedTouches;
+
+ for (var i = 0, n = touches ? touches.length : 0, touch; i < n; ++i) {
+ if ((touch = touches[i]).identifier === identifier) {
+ return point(node, touch);
+ }
+ }
+
+ return null;
+};
+
+var touches = function(node, touches) {
+ if (touches == null) touches = sourceEvent().touches;
+
+ for (var i = 0, n = touches ? touches.length : 0, points = new Array(n); i < n; ++i) {
+ points[i] = point(node, touches[i]);
+ }
+
+ return points;
+};
+
+function nopropagation() {
+ exports.event.stopImmediatePropagation();
+}
+
+var noevent = function() {
+ exports.event.preventDefault();
+ exports.event.stopImmediatePropagation();
+};
+
+var dragDisable = function(view) {
+ var root = view.document.documentElement,
+ selection$$1 = select(view).on("dragstart.drag", noevent, true);
+ if ("onselectstart" in root) {
+ selection$$1.on("selectstart.drag", noevent, true);
+ } else {
+ root.__noselect = root.style.MozUserSelect;
+ root.style.MozUserSelect = "none";
+ }
+};
+
+function yesdrag(view, noclick) {
+ var root = view.document.documentElement,
+ selection$$1 = select(view).on("dragstart.drag", null);
+ if (noclick) {
+ selection$$1.on("click.drag", noevent, true);
+ setTimeout(function() { selection$$1.on("click.drag", null); }, 0);
+ }
+ if ("onselectstart" in root) {
+ selection$$1.on("selectstart.drag", null);
+ } else {
+ root.style.MozUserSelect = root.__noselect;
+ delete root.__noselect;
+ }
+}
+
+var constant$2 = function(x) {
+ return function() {
+ return x;
+ };
+};
+
+function DragEvent(target, type, subject, id, active, x, y, dx, dy, dispatch) {
+ this.target = target;
+ this.type = type;
+ this.subject = subject;
+ this.identifier = id;
+ this.active = active;
+ this.x = x;
+ this.y = y;
+ this.dx = dx;
+ this.dy = dy;
+ this._ = dispatch;
+}
+
+DragEvent.prototype.on = function() {
+ var value = this._.on.apply(this._, arguments);
+ return value === this._ ? this : value;
+};
+
+// Ignore right-click, since that should open the context menu.
+function defaultFilter$1() {
+ return !exports.event.button;
+}
+
+function defaultContainer() {
+ return this.parentNode;
+}
+
+function defaultSubject(d) {
+ return d == null ? {x: exports.event.x, y: exports.event.y} : d;
+}
+
+var drag = function() {
+ var filter = defaultFilter$1,
+ container = defaultContainer,
+ subject = defaultSubject,
+ gestures = {},
+ listeners = dispatch("start", "drag", "end"),
+ active = 0,
+ mousemoving,
+ touchending;
+
+ function drag(selection$$1) {
+ selection$$1
+ .on("mousedown.drag", mousedowned)
+ .on("touchstart.drag", touchstarted)
+ .on("touchmove.drag", touchmoved)
+ .on("touchend.drag touchcancel.drag", touchended)
+ .style("-webkit-tap-highlight-color", "rgba(0,0,0,0)");
+ }
+
+ function mousedowned() {
+ if (touchending || !filter.apply(this, arguments)) return;
+ var gesture = beforestart("mouse", container.apply(this, arguments), mouse, this, arguments);
+ if (!gesture) return;
+ select(exports.event.view).on("mousemove.drag", mousemoved, true).on("mouseup.drag", mouseupped, true);
+ dragDisable(exports.event.view);
+ nopropagation();
+ mousemoving = false;
+ gesture("start");
+ }
+
+ function mousemoved() {
+ noevent();
+ mousemoving = true;
+ gestures.mouse("drag");
+ }
+
+ function mouseupped() {
+ select(exports.event.view).on("mousemove.drag mouseup.drag", null);
+ yesdrag(exports.event.view, mousemoving);
+ noevent();
+ gestures.mouse("end");
+ }
+
+ function touchstarted() {
+ if (!filter.apply(this, arguments)) return;
+ var touches$$1 = exports.event.changedTouches,
+ c = container.apply(this, arguments),
+ n = touches$$1.length, i, gesture;
+
+ for (i = 0; i < n; ++i) {
+ if (gesture = beforestart(touches$$1[i].identifier, c, touch, this, arguments)) {
+ nopropagation();
+ gesture("start");
+ }
+ }
+ }
+
+ function touchmoved() {
+ var touches$$1 = exports.event.changedTouches,
+ n = touches$$1.length, i, gesture;
+
+ for (i = 0; i < n; ++i) {
+ if (gesture = gestures[touches$$1[i].identifier]) {
+ noevent();
+ gesture("drag");
+ }
+ }
+ }
+
+ function touchended() {
+ var touches$$1 = exports.event.changedTouches,
+ n = touches$$1.length, i, gesture;
+
+ if (touchending) clearTimeout(touchending);
+ touchending = setTimeout(function() { touchending = null; }, 500); // Ghost clicks are delayed!
+ for (i = 0; i < n; ++i) {
+ if (gesture = gestures[touches$$1[i].identifier]) {
+ nopropagation();
+ gesture("end");
+ }
+ }
+ }
+
+ function beforestart(id, container, point, that, args) {
+ var p = point(container, id), s, dx, dy,
+ sublisteners = listeners.copy();
+
+ if (!customEvent(new DragEvent(drag, "beforestart", s, id, active, p[0], p[1], 0, 0, sublisteners), function() {
+ if ((exports.event.subject = s = subject.apply(that, args)) == null) return false;
+ dx = s.x - p[0] || 0;
+ dy = s.y - p[1] || 0;
+ return true;
+ })) return;
+
+ return function gesture(type) {
+ var p0 = p, n;
+ switch (type) {
+ case "start": gestures[id] = gesture, n = active++; break;
+ case "end": delete gestures[id], --active; // nobreak
+ case "drag": p = point(container, id), n = active; break;
+ }
+ customEvent(new DragEvent(drag, type, s, id, n, p[0] + dx, p[1] + dy, p[0] - p0[0], p[1] - p0[1], sublisteners), sublisteners.apply, sublisteners, [type, that, args]);
+ };
+ }
+
+ drag.filter = function(_) {
+ return arguments.length ? (filter = typeof _ === "function" ? _ : constant$2(!!_), drag) : filter;
+ };
+
+ drag.container = function(_) {
+ return arguments.length ? (container = typeof _ === "function" ? _ : constant$2(_), drag) : container;
+ };
+
+ drag.subject = function(_) {
+ return arguments.length ? (subject = typeof _ === "function" ? _ : constant$2(_), drag) : subject;
+ };
+
+ drag.on = function() {
+ var value = listeners.on.apply(listeners, arguments);
+ return value === listeners ? drag : value;
+ };
+
+ return drag;
+};
+
+var define = function(constructor, factory, prototype) {
+ constructor.prototype = factory.prototype = prototype;
+ prototype.constructor = constructor;
+};
+
+function extend(parent, definition) {
+ var prototype = Object.create(parent.prototype);
+ for (var key in definition) prototype[key] = definition[key];
+ return prototype;
+}
+
+function Color() {}
+
+var darker = 0.7;
+var brighter = 1 / darker;
+
+var reI = "\\s*([+-]?\\d+)\\s*";
+var reN = "\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*";
+var reP = "\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*";
+var reHex3 = /^#([0-9a-f]{3})$/;
+var reHex6 = /^#([0-9a-f]{6})$/;
+var reRgbInteger = new RegExp("^rgb\\(" + [reI, reI, reI] + "\\)$");
+var reRgbPercent = new RegExp("^rgb\\(" + [reP, reP, reP] + "\\)$");
+var reRgbaInteger = new RegExp("^rgba\\(" + [reI, reI, reI, reN] + "\\)$");
+var reRgbaPercent = new RegExp("^rgba\\(" + [reP, reP, reP, reN] + "\\)$");
+var reHslPercent = new RegExp("^hsl\\(" + [reN, reP, reP] + "\\)$");
+var reHslaPercent = new RegExp("^hsla\\(" + [reN, reP, reP, reN] + "\\)$");
+
+var named = {
+ aliceblue: 0xf0f8ff,
+ antiquewhite: 0xfaebd7,
+ aqua: 0x00ffff,
+ aquamarine: 0x7fffd4,
+ azure: 0xf0ffff,
+ beige: 0xf5f5dc,
+ bisque: 0xffe4c4,
+ black: 0x000000,
+ blanchedalmond: 0xffebcd,
+ blue: 0x0000ff,
+ blueviolet: 0x8a2be2,
+ brown: 0xa52a2a,
+ burlywood: 0xdeb887,
+ cadetblue: 0x5f9ea0,
+ chartreuse: 0x7fff00,
+ chocolate: 0xd2691e,
+ coral: 0xff7f50,
+ cornflowerblue: 0x6495ed,
+ cornsilk: 0xfff8dc,
+ crimson: 0xdc143c,
+ cyan: 0x00ffff,
+ darkblue: 0x00008b,
+ darkcyan: 0x008b8b,
+ darkgoldenrod: 0xb8860b,
+ darkgray: 0xa9a9a9,
+ darkgreen: 0x006400,
+ darkgrey: 0xa9a9a9,
+ darkkhaki: 0xbdb76b,
+ darkmagenta: 0x8b008b,
+ darkolivegreen: 0x556b2f,
+ darkorange: 0xff8c00,
+ darkorchid: 0x9932cc,
+ darkred: 0x8b0000,
+ darksalmon: 0xe9967a,
+ darkseagreen: 0x8fbc8f,
+ darkslateblue: 0x483d8b,
+ darkslategray: 0x2f4f4f,
+ darkslategrey: 0x2f4f4f,
+ darkturquoise: 0x00ced1,
+ darkviolet: 0x9400d3,
+ deeppink: 0xff1493,
+ deepskyblue: 0x00bfff,
+ dimgray: 0x696969,
+ dimgrey: 0x696969,
+ dodgerblue: 0x1e90ff,
+ firebrick: 0xb22222,
+ floralwhite: 0xfffaf0,
+ forestgreen: 0x228b22,
+ fuchsia: 0xff00ff,
+ gainsboro: 0xdcdcdc,
+ ghostwhite: 0xf8f8ff,
+ gold: 0xffd700,
+ goldenrod: 0xdaa520,
+ gray: 0x808080,
+ green: 0x008000,
+ greenyellow: 0xadff2f,
+ grey: 0x808080,
+ honeydew: 0xf0fff0,
+ hotpink: 0xff69b4,
+ indianred: 0xcd5c5c,
+ indigo: 0x4b0082,
+ ivory: 0xfffff0,
+ khaki: 0xf0e68c,
+ lavender: 0xe6e6fa,
+ lavenderblush: 0xfff0f5,
+ lawngreen: 0x7cfc00,
+ lemonchiffon: 0xfffacd,
+ lightblue: 0xadd8e6,
+ lightcoral: 0xf08080,
+ lightcyan: 0xe0ffff,
+ lightgoldenrodyellow: 0xfafad2,
+ lightgray: 0xd3d3d3,
+ lightgreen: 0x90ee90,
+ lightgrey: 0xd3d3d3,
+ lightpink: 0xffb6c1,
+ lightsalmon: 0xffa07a,
+ lightseagreen: 0x20b2aa,
+ lightskyblue: 0x87cefa,
+ lightslategray: 0x778899,
+ lightslategrey: 0x778899,
+ lightsteelblue: 0xb0c4de,
+ lightyellow: 0xffffe0,
+ lime: 0x00ff00,
+ limegreen: 0x32cd32,
+ linen: 0xfaf0e6,
+ magenta: 0xff00ff,
+ maroon: 0x800000,
+ mediumaquamarine: 0x66cdaa,
+ mediumblue: 0x0000cd,
+ mediumorchid: 0xba55d3,
+ mediumpurple: 0x9370db,
+ mediumseagreen: 0x3cb371,
+ mediumslateblue: 0x7b68ee,
+ mediumspringgreen: 0x00fa9a,
+ mediumturquoise: 0x48d1cc,
+ mediumvioletred: 0xc71585,
+ midnightblue: 0x191970,
+ mintcream: 0xf5fffa,
+ mistyrose: 0xffe4e1,
+ moccasin: 0xffe4b5,
+ navajowhite: 0xffdead,
+ navy: 0x000080,
+ oldlace: 0xfdf5e6,
+ olive: 0x808000,
+ olivedrab: 0x6b8e23,
+ orange: 0xffa500,
+ orangered: 0xff4500,
+ orchid: 0xda70d6,
+ palegoldenrod: 0xeee8aa,
+ palegreen: 0x98fb98,
+ paleturquoise: 0xafeeee,
+ palevioletred: 0xdb7093,
+ papayawhip: 0xffefd5,
+ peachpuff: 0xffdab9,
+ peru: 0xcd853f,
+ pink: 0xffc0cb,
+ plum: 0xdda0dd,
+ powderblue: 0xb0e0e6,
+ purple: 0x800080,
+ rebeccapurple: 0x663399,
+ red: 0xff0000,
+ rosybrown: 0xbc8f8f,
+ royalblue: 0x4169e1,
+ saddlebrown: 0x8b4513,
+ salmon: 0xfa8072,
+ sandybrown: 0xf4a460,
+ seagreen: 0x2e8b57,
+ seashell: 0xfff5ee,
+ sienna: 0xa0522d,
+ silver: 0xc0c0c0,
+ skyblue: 0x87ceeb,
+ slateblue: 0x6a5acd,
+ slategray: 0x708090,
+ slategrey: 0x708090,
+ snow: 0xfffafa,
+ springgreen: 0x00ff7f,
+ steelblue: 0x4682b4,
+ tan: 0xd2b48c,
+ teal: 0x008080,
+ thistle: 0xd8bfd8,
+ tomato: 0xff6347,
+ turquoise: 0x40e0d0,
+ violet: 0xee82ee,
+ wheat: 0xf5deb3,
+ white: 0xffffff,
+ whitesmoke: 0xf5f5f5,
+ yellow: 0xffff00,
+ yellowgreen: 0x9acd32
+};
+
+define(Color, color, {
+ displayable: function() {
+ return this.rgb().displayable();
+ },
+ toString: function() {
+ return this.rgb() + "";
+ }
+});
+
+function color(format) {
+ var m;
+ format = (format + "").trim().toLowerCase();
+ return (m = reHex3.exec(format)) ? (m = parseInt(m[1], 16), new Rgb((m >> 8 & 0xf) | (m >> 4 & 0x0f0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1)) // #f00
+ : (m = reHex6.exec(format)) ? rgbn(parseInt(m[1], 16)) // #ff0000
+ : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)
+ : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)
+ : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)
+ : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)
+ : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)
+ : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)
+ : named.hasOwnProperty(format) ? rgbn(named[format])
+ : format === "transparent" ? new Rgb(NaN, NaN, NaN, 0)
+ : null;
+}
+
+function rgbn(n) {
+ return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);
+}
+
+function rgba(r, g, b, a) {
+ if (a <= 0) r = g = b = NaN;
+ return new Rgb(r, g, b, a);
+}
+
+function rgbConvert(o) {
+ if (!(o instanceof Color)) o = color(o);
+ if (!o) return new Rgb;
+ o = o.rgb();
+ return new Rgb(o.r, o.g, o.b, o.opacity);
+}
+
+function rgb(r, g, b, opacity) {
+ return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);
+}
+
+function Rgb(r, g, b, opacity) {
+ this.r = +r;
+ this.g = +g;
+ this.b = +b;
+ this.opacity = +opacity;
+}
+
+define(Rgb, rgb, extend(Color, {
+ brighter: function(k) {
+ k = k == null ? brighter : Math.pow(brighter, k);
+ return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);
+ },
+ darker: function(k) {
+ k = k == null ? darker : Math.pow(darker, k);
+ return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);
+ },
+ rgb: function() {
+ return this;
+ },
+ displayable: function() {
+ return (0 <= this.r && this.r <= 255)
+ && (0 <= this.g && this.g <= 255)
+ && (0 <= this.b && this.b <= 255)
+ && (0 <= this.opacity && this.opacity <= 1);
+ },
+ toString: function() {
+ var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));
+ return (a === 1 ? "rgb(" : "rgba(")
+ + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + ", "
+ + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + ", "
+ + Math.max(0, Math.min(255, Math.round(this.b) || 0))
+ + (a === 1 ? ")" : ", " + a + ")");
+ }
+}));
+
+function hsla(h, s, l, a) {
+ if (a <= 0) h = s = l = NaN;
+ else if (l <= 0 || l >= 1) h = s = NaN;
+ else if (s <= 0) h = NaN;
+ return new Hsl(h, s, l, a);
+}
+
+function hslConvert(o) {
+ if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);
+ if (!(o instanceof Color)) o = color(o);
+ if (!o) return new Hsl;
+ if (o instanceof Hsl) return o;
+ o = o.rgb();
+ var r = o.r / 255,
+ g = o.g / 255,
+ b = o.b / 255,
+ min = Math.min(r, g, b),
+ max = Math.max(r, g, b),
+ h = NaN,
+ s = max - min,
+ l = (max + min) / 2;
+ if (s) {
+ if (r === max) h = (g - b) / s + (g < b) * 6;
+ else if (g === max) h = (b - r) / s + 2;
+ else h = (r - g) / s + 4;
+ s /= l < 0.5 ? max + min : 2 - max - min;
+ h *= 60;
+ } else {
+ s = l > 0 && l < 1 ? 0 : h;
+ }
+ return new Hsl(h, s, l, o.opacity);
+}
+
+function hsl(h, s, l, opacity) {
+ return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);
+}
+
+function Hsl(h, s, l, opacity) {
+ this.h = +h;
+ this.s = +s;
+ this.l = +l;
+ this.opacity = +opacity;
+}
+
+define(Hsl, hsl, extend(Color, {
+ brighter: function(k) {
+ k = k == null ? brighter : Math.pow(brighter, k);
+ return new Hsl(this.h, this.s, this.l * k, this.opacity);
+ },
+ darker: function(k) {
+ k = k == null ? darker : Math.pow(darker, k);
+ return new Hsl(this.h, this.s, this.l * k, this.opacity);
+ },
+ rgb: function() {
+ var h = this.h % 360 + (this.h < 0) * 360,
+ s = isNaN(h) || isNaN(this.s) ? 0 : this.s,
+ l = this.l,
+ m2 = l + (l < 0.5 ? l : 1 - l) * s,
+ m1 = 2 * l - m2;
+ return new Rgb(
+ hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),
+ hsl2rgb(h, m1, m2),
+ hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),
+ this.opacity
+ );
+ },
+ displayable: function() {
+ return (0 <= this.s && this.s <= 1 || isNaN(this.s))
+ && (0 <= this.l && this.l <= 1)
+ && (0 <= this.opacity && this.opacity <= 1);
+ }
+}));
+
+/* From FvD 13.37, CSS Color Module Level 3 */
+function hsl2rgb(h, m1, m2) {
+ return (h < 60 ? m1 + (m2 - m1) * h / 60
+ : h < 180 ? m2
+ : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60
+ : m1) * 255;
+}
+
+var deg2rad = Math.PI / 180;
+var rad2deg = 180 / Math.PI;
+
+var Kn = 18;
+var Xn = 0.950470;
+var Yn = 1;
+var Zn = 1.088830;
+var t0 = 4 / 29;
+var t1 = 6 / 29;
+var t2 = 3 * t1 * t1;
+var t3 = t1 * t1 * t1;
+
+function labConvert(o) {
+ if (o instanceof Lab) return new Lab(o.l, o.a, o.b, o.opacity);
+ if (o instanceof Hcl) {
+ var h = o.h * deg2rad;
+ return new Lab(o.l, Math.cos(h) * o.c, Math.sin(h) * o.c, o.opacity);
+ }
+ if (!(o instanceof Rgb)) o = rgbConvert(o);
+ var b = rgb2xyz(o.r),
+ a = rgb2xyz(o.g),
+ l = rgb2xyz(o.b),
+ x = xyz2lab((0.4124564 * b + 0.3575761 * a + 0.1804375 * l) / Xn),
+ y = xyz2lab((0.2126729 * b + 0.7151522 * a + 0.0721750 * l) / Yn),
+ z = xyz2lab((0.0193339 * b + 0.1191920 * a + 0.9503041 * l) / Zn);
+ return new Lab(116 * y - 16, 500 * (x - y), 200 * (y - z), o.opacity);
+}
+
+function lab(l, a, b, opacity) {
+ return arguments.length === 1 ? labConvert(l) : new Lab(l, a, b, opacity == null ? 1 : opacity);
+}
+
+function Lab(l, a, b, opacity) {
+ this.l = +l;
+ this.a = +a;
+ this.b = +b;
+ this.opacity = +opacity;
+}
+
+define(Lab, lab, extend(Color, {
+ brighter: function(k) {
+ return new Lab(this.l + Kn * (k == null ? 1 : k), this.a, this.b, this.opacity);
+ },
+ darker: function(k) {
+ return new Lab(this.l - Kn * (k == null ? 1 : k), this.a, this.b, this.opacity);
+ },
+ rgb: function() {
+ var y = (this.l + 16) / 116,
+ x = isNaN(this.a) ? y : y + this.a / 500,
+ z = isNaN(this.b) ? y : y - this.b / 200;
+ y = Yn * lab2xyz(y);
+ x = Xn * lab2xyz(x);
+ z = Zn * lab2xyz(z);
+ return new Rgb(
+ xyz2rgb( 3.2404542 * x - 1.5371385 * y - 0.4985314 * z), // D65 -> sRGB
+ xyz2rgb(-0.9692660 * x + 1.8760108 * y + 0.0415560 * z),
+ xyz2rgb( 0.0556434 * x - 0.2040259 * y + 1.0572252 * z),
+ this.opacity
+ );
+ }
+}));
+
+function xyz2lab(t) {
+ return t > t3 ? Math.pow(t, 1 / 3) : t / t2 + t0;
+}
+
+function lab2xyz(t) {
+ return t > t1 ? t * t * t : t2 * (t - t0);
+}
+
+function xyz2rgb(x) {
+ return 255 * (x <= 0.0031308 ? 12.92 * x : 1.055 * Math.pow(x, 1 / 2.4) - 0.055);
+}
+
+function rgb2xyz(x) {
+ return (x /= 255) <= 0.04045 ? x / 12.92 : Math.pow((x + 0.055) / 1.055, 2.4);
+}
+
+function hclConvert(o) {
+ if (o instanceof Hcl) return new Hcl(o.h, o.c, o.l, o.opacity);
+ if (!(o instanceof Lab)) o = labConvert(o);
+ var h = Math.atan2(o.b, o.a) * rad2deg;
+ return new Hcl(h < 0 ? h + 360 : h, Math.sqrt(o.a * o.a + o.b * o.b), o.l, o.opacity);
+}
+
+function hcl(h, c, l, opacity) {
+ return arguments.length === 1 ? hclConvert(h) : new Hcl(h, c, l, opacity == null ? 1 : opacity);
+}
+
+function Hcl(h, c, l, opacity) {
+ this.h = +h;
+ this.c = +c;
+ this.l = +l;
+ this.opacity = +opacity;
+}
+
+define(Hcl, hcl, extend(Color, {
+ brighter: function(k) {
+ return new Hcl(this.h, this.c, this.l + Kn * (k == null ? 1 : k), this.opacity);
+ },
+ darker: function(k) {
+ return new Hcl(this.h, this.c, this.l - Kn * (k == null ? 1 : k), this.opacity);
+ },
+ rgb: function() {
+ return labConvert(this).rgb();
+ }
+}));
+
+var A = -0.14861;
+var B = +1.78277;
+var C = -0.29227;
+var D = -0.90649;
+var E = +1.97294;
+var ED = E * D;
+var EB = E * B;
+var BC_DA = B * C - D * A;
+
+function cubehelixConvert(o) {
+ if (o instanceof Cubehelix) return new Cubehelix(o.h, o.s, o.l, o.opacity);
+ if (!(o instanceof Rgb)) o = rgbConvert(o);
+ var r = o.r / 255,
+ g = o.g / 255,
+ b = o.b / 255,
+ l = (BC_DA * b + ED * r - EB * g) / (BC_DA + ED - EB),
+ bl = b - l,
+ k = (E * (g - l) - C * bl) / D,
+ s = Math.sqrt(k * k + bl * bl) / (E * l * (1 - l)), // NaN if l=0 or l=1
+ h = s ? Math.atan2(k, bl) * rad2deg - 120 : NaN;
+ return new Cubehelix(h < 0 ? h + 360 : h, s, l, o.opacity);
+}
+
+function cubehelix(h, s, l, opacity) {
+ return arguments.length === 1 ? cubehelixConvert(h) : new Cubehelix(h, s, l, opacity == null ? 1 : opacity);
+}
+
+function Cubehelix(h, s, l, opacity) {
+ this.h = +h;
+ this.s = +s;
+ this.l = +l;
+ this.opacity = +opacity;
+}
+
+define(Cubehelix, cubehelix, extend(Color, {
+ brighter: function(k) {
+ k = k == null ? brighter : Math.pow(brighter, k);
+ return new Cubehelix(this.h, this.s, this.l * k, this.opacity);
+ },
+ darker: function(k) {
+ k = k == null ? darker : Math.pow(darker, k);
+ return new Cubehelix(this.h, this.s, this.l * k, this.opacity);
+ },
+ rgb: function() {
+ var h = isNaN(this.h) ? 0 : (this.h + 120) * deg2rad,
+ l = +this.l,
+ a = isNaN(this.s) ? 0 : this.s * l * (1 - l),
+ cosh = Math.cos(h),
+ sinh = Math.sin(h);
+ return new Rgb(
+ 255 * (l + a * (A * cosh + B * sinh)),
+ 255 * (l + a * (C * cosh + D * sinh)),
+ 255 * (l + a * (E * cosh)),
+ this.opacity
+ );
+ }
+}));
+
+function basis(t1, v0, v1, v2, v3) {
+ var t2 = t1 * t1, t3 = t2 * t1;
+ return ((1 - 3 * t1 + 3 * t2 - t3) * v0
+ + (4 - 6 * t2 + 3 * t3) * v1
+ + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2
+ + t3 * v3) / 6;
+}
+
+var basis$1 = function(values) {
+ var n = values.length - 1;
+ return function(t) {
+ var i = t <= 0 ? (t = 0) : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n),
+ v1 = values[i],
+ v2 = values[i + 1],
+ v0 = i > 0 ? values[i - 1] : 2 * v1 - v2,
+ v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1;
+ return basis((t - i / n) * n, v0, v1, v2, v3);
+ };
+};
+
+var basisClosed = function(values) {
+ var n = values.length;
+ return function(t) {
+ var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n),
+ v0 = values[(i + n - 1) % n],
+ v1 = values[i % n],
+ v2 = values[(i + 1) % n],
+ v3 = values[(i + 2) % n];
+ return basis((t - i / n) * n, v0, v1, v2, v3);
+ };
+};
+
+var constant$3 = function(x) {
+ return function() {
+ return x;
+ };
+};
+
+function linear(a, d) {
+ return function(t) {
+ return a + t * d;
+ };
+}
+
+function exponential(a, b, y) {
+ return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {
+ return Math.pow(a + t * b, y);
+ };
+}
+
+function hue(a, b) {
+ var d = b - a;
+ return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant$3(isNaN(a) ? b : a);
+}
+
+function gamma(y) {
+ return (y = +y) === 1 ? nogamma : function(a, b) {
+ return b - a ? exponential(a, b, y) : constant$3(isNaN(a) ? b : a);
+ };
+}
+
+function nogamma(a, b) {
+ var d = b - a;
+ return d ? linear(a, d) : constant$3(isNaN(a) ? b : a);
+}
+
+var interpolateRgb = ((function rgbGamma(y) {
+ var color$$1 = gamma(y);
+
+ function rgb$$1(start, end) {
+ var r = color$$1((start = rgb(start)).r, (end = rgb(end)).r),
+ g = color$$1(start.g, end.g),
+ b = color$$1(start.b, end.b),
+ opacity = nogamma(start.opacity, end.opacity);
+ return function(t) {
+ start.r = r(t);
+ start.g = g(t);
+ start.b = b(t);
+ start.opacity = opacity(t);
+ return start + "";
+ };
+ }
+
+ rgb$$1.gamma = rgbGamma;
+
+ return rgb$$1;
+}))(1);
+
+function rgbSpline(spline) {
+ return function(colors) {
+ var n = colors.length,
+ r = new Array(n),
+ g = new Array(n),
+ b = new Array(n),
+ i, color$$1;
+ for (i = 0; i < n; ++i) {
+ color$$1 = rgb(colors[i]);
+ r[i] = color$$1.r || 0;
+ g[i] = color$$1.g || 0;
+ b[i] = color$$1.b || 0;
+ }
+ r = spline(r);
+ g = spline(g);
+ b = spline(b);
+ color$$1.opacity = 1;
+ return function(t) {
+ color$$1.r = r(t);
+ color$$1.g = g(t);
+ color$$1.b = b(t);
+ return color$$1 + "";
+ };
+ };
+}
+
+var rgbBasis = rgbSpline(basis$1);
+var rgbBasisClosed = rgbSpline(basisClosed);
+
+var array$1 = function(a, b) {
+ var nb = b ? b.length : 0,
+ na = a ? Math.min(nb, a.length) : 0,
+ x = new Array(nb),
+ c = new Array(nb),
+ i;
+
+ for (i = 0; i < na; ++i) x[i] = interpolateValue(a[i], b[i]);
+ for (; i < nb; ++i) c[i] = b[i];
+
+ return function(t) {
+ for (i = 0; i < na; ++i) c[i] = x[i](t);
+ return c;
+ };
+};
+
+var date = function(a, b) {
+ var d = new Date;
+ return a = +a, b -= a, function(t) {
+ return d.setTime(a + b * t), d;
+ };
+};
+
+var reinterpolate = function(a, b) {
+ return a = +a, b -= a, function(t) {
+ return a + b * t;
+ };
+};
+
+var object = function(a, b) {
+ var i = {},
+ c = {},
+ k;
+
+ if (a === null || typeof a !== "object") a = {};
+ if (b === null || typeof b !== "object") b = {};
+
+ for (k in b) {
+ if (k in a) {
+ i[k] = interpolateValue(a[k], b[k]);
+ } else {
+ c[k] = b[k];
+ }
+ }
+
+ return function(t) {
+ for (k in i) c[k] = i[k](t);
+ return c;
+ };
+};
+
+var reA = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g;
+var reB = new RegExp(reA.source, "g");
+
+function zero(b) {
+ return function() {
+ return b;
+ };
+}
+
+function one(b) {
+ return function(t) {
+ return b(t) + "";
+ };
+}
+
+var interpolateString = function(a, b) {
+ var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b
+ am, // current match in a
+ bm, // current match in b
+ bs, // string preceding current number in b, if any
+ i = -1, // index in s
+ s = [], // string constants and placeholders
+ q = []; // number interpolators
+
+ // Coerce inputs to strings.
+ a = a + "", b = b + "";
+
+ // Interpolate pairs of numbers in a & b.
+ while ((am = reA.exec(a))
+ && (bm = reB.exec(b))) {
+ if ((bs = bm.index) > bi) { // a string precedes the next number in b
+ bs = b.slice(bi, bs);
+ if (s[i]) s[i] += bs; // coalesce with previous string
+ else s[++i] = bs;
+ }
+ if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match
+ if (s[i]) s[i] += bm; // coalesce with previous string
+ else s[++i] = bm;
+ } else { // interpolate non-matching numbers
+ s[++i] = null;
+ q.push({i: i, x: reinterpolate(am, bm)});
+ }
+ bi = reB.lastIndex;
+ }
+
+ // Add remains of b.
+ if (bi < b.length) {
+ bs = b.slice(bi);
+ if (s[i]) s[i] += bs; // coalesce with previous string
+ else s[++i] = bs;
+ }
+
+ // Special optimization for only a single match.
+ // Otherwise, interpolate each of the numbers and rejoin the string.
+ return s.length < 2 ? (q[0]
+ ? one(q[0].x)
+ : zero(b))
+ : (b = q.length, function(t) {
+ for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);
+ return s.join("");
+ });
+};
+
+var interpolateValue = function(a, b) {
+ var t = typeof b, c;
+ return b == null || t === "boolean" ? constant$3(b)
+ : (t === "number" ? reinterpolate
+ : t === "string" ? ((c = color(b)) ? (b = c, interpolateRgb) : interpolateString)
+ : b instanceof color ? interpolateRgb
+ : b instanceof Date ? date
+ : Array.isArray(b) ? array$1
+ : isNaN(b) ? object
+ : reinterpolate)(a, b);
+};
+
+var interpolateRound = function(a, b) {
+ return a = +a, b -= a, function(t) {
+ return Math.round(a + b * t);
+ };
+};
+
+var degrees = 180 / Math.PI;
+
+var identity$2 = {
+ translateX: 0,
+ translateY: 0,
+ rotate: 0,
+ skewX: 0,
+ scaleX: 1,
+ scaleY: 1
+};
+
+var decompose = function(a, b, c, d, e, f) {
+ var scaleX, scaleY, skewX;
+ if (scaleX = Math.sqrt(a * a + b * b)) a /= scaleX, b /= scaleX;
+ if (skewX = a * c + b * d) c -= a * skewX, d -= b * skewX;
+ if (scaleY = Math.sqrt(c * c + d * d)) c /= scaleY, d /= scaleY, skewX /= scaleY;
+ if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX;
+ return {
+ translateX: e,
+ translateY: f,
+ rotate: Math.atan2(b, a) * degrees,
+ skewX: Math.atan(skewX) * degrees,
+ scaleX: scaleX,
+ scaleY: scaleY
+ };
+};
+
+var cssNode;
+var cssRoot;
+var cssView;
+var svgNode;
+
+function parseCss(value) {
+ if (value === "none") return identity$2;
+ if (!cssNode) cssNode = document.createElement("DIV"), cssRoot = document.documentElement, cssView = document.defaultView;
+ cssNode.style.transform = value;
+ value = cssView.getComputedStyle(cssRoot.appendChild(cssNode), null).getPropertyValue("transform");
+ cssRoot.removeChild(cssNode);
+ value = value.slice(7, -1).split(",");
+ return decompose(+value[0], +value[1], +value[2], +value[3], +value[4], +value[5]);
+}
+
+function parseSvg(value) {
+ if (value == null) return identity$2;
+ if (!svgNode) svgNode = document.createElementNS("http://www.w3.org/2000/svg", "g");
+ svgNode.setAttribute("transform", value);
+ if (!(value = svgNode.transform.baseVal.consolidate())) return identity$2;
+ value = value.matrix;
+ return decompose(value.a, value.b, value.c, value.d, value.e, value.f);
+}
+
+function interpolateTransform(parse, pxComma, pxParen, degParen) {
+
+ function pop(s) {
+ return s.length ? s.pop() + " " : "";
+ }
+
+ function translate(xa, ya, xb, yb, s, q) {
+ if (xa !== xb || ya !== yb) {
+ var i = s.push("translate(", null, pxComma, null, pxParen);
+ q.push({i: i - 4, x: reinterpolate(xa, xb)}, {i: i - 2, x: reinterpolate(ya, yb)});
+ } else if (xb || yb) {
+ s.push("translate(" + xb + pxComma + yb + pxParen);
+ }
+ }
+
+ function rotate(a, b, s, q) {
+ if (a !== b) {
+ if (a - b > 180) b += 360; else if (b - a > 180) a += 360; // shortest path
+ q.push({i: s.push(pop(s) + "rotate(", null, degParen) - 2, x: reinterpolate(a, b)});
+ } else if (b) {
+ s.push(pop(s) + "rotate(" + b + degParen);
+ }
+ }
+
+ function skewX(a, b, s, q) {
+ if (a !== b) {
+ q.push({i: s.push(pop(s) + "skewX(", null, degParen) - 2, x: reinterpolate(a, b)});
+ } else if (b) {
+ s.push(pop(s) + "skewX(" + b + degParen);
+ }
+ }
+
+ function scale(xa, ya, xb, yb, s, q) {
+ if (xa !== xb || ya !== yb) {
+ var i = s.push(pop(s) + "scale(", null, ",", null, ")");
+ q.push({i: i - 4, x: reinterpolate(xa, xb)}, {i: i - 2, x: reinterpolate(ya, yb)});
+ } else if (xb !== 1 || yb !== 1) {
+ s.push(pop(s) + "scale(" + xb + "," + yb + ")");
+ }
+ }
+
+ return function(a, b) {
+ var s = [], // string constants and placeholders
+ q = []; // number interpolators
+ a = parse(a), b = parse(b);
+ translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q);
+ rotate(a.rotate, b.rotate, s, q);
+ skewX(a.skewX, b.skewX, s, q);
+ scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q);
+ a = b = null; // gc
+ return function(t) {
+ var i = -1, n = q.length, o;
+ while (++i < n) s[(o = q[i]).i] = o.x(t);
+ return s.join("");
+ };
+ };
+}
+
+var interpolateTransformCss = interpolateTransform(parseCss, "px, ", "px)", "deg)");
+var interpolateTransformSvg = interpolateTransform(parseSvg, ", ", ")", ")");
+
+var rho = Math.SQRT2;
+var rho2 = 2;
+var rho4 = 4;
+var epsilon2 = 1e-12;
+
+function cosh(x) {
+ return ((x = Math.exp(x)) + 1 / x) / 2;
+}
+
+function sinh(x) {
+ return ((x = Math.exp(x)) - 1 / x) / 2;
+}
+
+function tanh(x) {
+ return ((x = Math.exp(2 * x)) - 1) / (x + 1);
+}
+
+// p0 = [ux0, uy0, w0]
+// p1 = [ux1, uy1, w1]
+var interpolateZoom = function(p0, p1) {
+ var ux0 = p0[0], uy0 = p0[1], w0 = p0[2],
+ ux1 = p1[0], uy1 = p1[1], w1 = p1[2],
+ dx = ux1 - ux0,
+ dy = uy1 - uy0,
+ d2 = dx * dx + dy * dy,
+ i,
+ S;
+
+ // Special case for u0 ≅ u1.
+ if (d2 < epsilon2) {
+ S = Math.log(w1 / w0) / rho;
+ i = function(t) {
+ return [
+ ux0 + t * dx,
+ uy0 + t * dy,
+ w0 * Math.exp(rho * t * S)
+ ];
+ };
+ }
+
+ // General case.
+ else {
+ var d1 = Math.sqrt(d2),
+ b0 = (w1 * w1 - w0 * w0 + rho4 * d2) / (2 * w0 * rho2 * d1),
+ b1 = (w1 * w1 - w0 * w0 - rho4 * d2) / (2 * w1 * rho2 * d1),
+ r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0),
+ r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1);
+ S = (r1 - r0) / rho;
+ i = function(t) {
+ var s = t * S,
+ coshr0 = cosh(r0),
+ u = w0 / (rho2 * d1) * (coshr0 * tanh(rho * s + r0) - sinh(r0));
+ return [
+ ux0 + u * dx,
+ uy0 + u * dy,
+ w0 * coshr0 / cosh(rho * s + r0)
+ ];
+ };
+ }
+
+ i.duration = S * 1000;
+
+ return i;
+};
+
+function hsl$1(hue$$1) {
+ return function(start, end) {
+ var h = hue$$1((start = hsl(start)).h, (end = hsl(end)).h),
+ s = nogamma(start.s, end.s),
+ l = nogamma(start.l, end.l),
+ opacity = nogamma(start.opacity, end.opacity);
+ return function(t) {
+ start.h = h(t);
+ start.s = s(t);
+ start.l = l(t);
+ start.opacity = opacity(t);
+ return start + "";
+ };
+ }
+}
+
+var hsl$2 = hsl$1(hue);
+var hslLong = hsl$1(nogamma);
+
+function lab$1(start, end) {
+ var l = nogamma((start = lab(start)).l, (end = lab(end)).l),
+ a = nogamma(start.a, end.a),
+ b = nogamma(start.b, end.b),
+ opacity = nogamma(start.opacity, end.opacity);
+ return function(t) {
+ start.l = l(t);
+ start.a = a(t);
+ start.b = b(t);
+ start.opacity = opacity(t);
+ return start + "";
+ };
+}
+
+function hcl$1(hue$$1) {
+ return function(start, end) {
+ var h = hue$$1((start = hcl(start)).h, (end = hcl(end)).h),
+ c = nogamma(start.c, end.c),
+ l = nogamma(start.l, end.l),
+ opacity = nogamma(start.opacity, end.opacity);
+ return function(t) {
+ start.h = h(t);
+ start.c = c(t);
+ start.l = l(t);
+ start.opacity = opacity(t);
+ return start + "";
+ };
+ }
+}
+
+var hcl$2 = hcl$1(hue);
+var hclLong = hcl$1(nogamma);
+
+function cubehelix$1(hue$$1) {
+ return (function cubehelixGamma(y) {
+ y = +y;
+
+ function cubehelix$$1(start, end) {
+ var h = hue$$1((start = cubehelix(start)).h, (end = cubehelix(end)).h),
+ s = nogamma(start.s, end.s),
+ l = nogamma(start.l, end.l),
+ opacity = nogamma(start.opacity, end.opacity);
+ return function(t) {
+ start.h = h(t);
+ start.s = s(t);
+ start.l = l(Math.pow(t, y));
+ start.opacity = opacity(t);
+ return start + "";
+ };
+ }
+
+ cubehelix$$1.gamma = cubehelixGamma;
+
+ return cubehelix$$1;
+ })(1);
+}
+
+var cubehelix$2 = cubehelix$1(hue);
+var cubehelixLong = cubehelix$1(nogamma);
+
+var quantize = function(interpolator, n) {
+ var samples = new Array(n);
+ for (var i = 0; i < n; ++i) samples[i] = interpolator(i / (n - 1));
+ return samples;
+};
+
+var frame = 0;
+var timeout = 0;
+var interval = 0;
+var pokeDelay = 1000;
+var taskHead;
+var taskTail;
+var clockLast = 0;
+var clockNow = 0;
+var clockSkew = 0;
+var clock = typeof performance === "object" && performance.now ? performance : Date;
+var setFrame = typeof requestAnimationFrame === "function" ? requestAnimationFrame : function(f) { setTimeout(f, 17); };
+
+function now() {
+ return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew);
+}
+
+function clearNow() {
+ clockNow = 0;
+}
+
+function Timer() {
+ this._call =
+ this._time =
+ this._next = null;
+}
+
+Timer.prototype = timer.prototype = {
+ constructor: Timer,
+ restart: function(callback, delay, time) {
+ if (typeof callback !== "function") throw new TypeError("callback is not a function");
+ time = (time == null ? now() : +time) + (delay == null ? 0 : +delay);
+ if (!this._next && taskTail !== this) {
+ if (taskTail) taskTail._next = this;
+ else taskHead = this;
+ taskTail = this;
+ }
+ this._call = callback;
+ this._time = time;
+ sleep();
+ },
+ stop: function() {
+ if (this._call) {
+ this._call = null;
+ this._time = Infinity;
+ sleep();
+ }
+ }
+};
+
+function timer(callback, delay, time) {
+ var t = new Timer;
+ t.restart(callback, delay, time);
+ return t;
+}
+
+function timerFlush() {
+ now(); // Get the current time, if not already set.
+ ++frame; // Pretend we’ve set an alarm, if we haven’t already.
+ var t = taskHead, e;
+ while (t) {
+ if ((e = clockNow - t._time) >= 0) t._call.call(null, e);
+ t = t._next;
+ }
+ --frame;
+}
+
+function wake() {
+ clockNow = (clockLast = clock.now()) + clockSkew;
+ frame = timeout = 0;
+ try {
+ timerFlush();
+ } finally {
+ frame = 0;
+ nap();
+ clockNow = 0;
+ }
+}
+
+function poke() {
+ var now = clock.now(), delay = now - clockLast;
+ if (delay > pokeDelay) clockSkew -= delay, clockLast = now;
+}
+
+function nap() {
+ var t0, t1 = taskHead, t2, time = Infinity;
+ while (t1) {
+ if (t1._call) {
+ if (time > t1._time) time = t1._time;
+ t0 = t1, t1 = t1._next;
+ } else {
+ t2 = t1._next, t1._next = null;
+ t1 = t0 ? t0._next = t2 : taskHead = t2;
+ }
+ }
+ taskTail = t0;
+ sleep(time);
+}
+
+function sleep(time) {
+ if (frame) return; // Soonest alarm already set, or will be.
+ if (timeout) timeout = clearTimeout(timeout);
+ var delay = time - clockNow;
+ if (delay > 24) {
+ if (time < Infinity) timeout = setTimeout(wake, delay);
+ if (interval) interval = clearInterval(interval);
+ } else {
+ if (!interval) clockLast = clockNow, interval = setInterval(poke, pokeDelay);
+ frame = 1, setFrame(wake);
+ }
+}
+
+var timeout$1 = function(callback, delay, time) {
+ var t = new Timer;
+ delay = delay == null ? 0 : +delay;
+ t.restart(function(elapsed) {
+ t.stop();
+ callback(elapsed + delay);
+ }, delay, time);
+ return t;
+};
+
+var interval$1 = function(callback, delay, time) {
+ var t = new Timer, total = delay;
+ if (delay == null) return t.restart(callback, delay, time), t;
+ delay = +delay, time = time == null ? now() : +time;
+ t.restart(function tick(elapsed) {
+ elapsed += total;
+ t.restart(tick, total += delay, time);
+ callback(elapsed);
+ }, delay, time);
+ return t;
+};
+
+var emptyOn = dispatch("start", "end", "interrupt");
+var emptyTween = [];
+
+var CREATED = 0;
+var SCHEDULED = 1;
+var STARTING = 2;
+var STARTED = 3;
+var RUNNING = 4;
+var ENDING = 5;
+var ENDED = 6;
+
+var schedule = function(node, name, id, index, group, timing) {
+ var schedules = node.__transition;
+ if (!schedules) node.__transition = {};
+ else if (id in schedules) return;
+ create(node, id, {
+ name: name,
+ index: index, // For context during callback.
+ group: group, // For context during callback.
+ on: emptyOn,
+ tween: emptyTween,
+ time: timing.time,
+ delay: timing.delay,
+ duration: timing.duration,
+ ease: timing.ease,
+ timer: null,
+ state: CREATED
+ });
+};
+
+function init(node, id) {
+ var schedule = node.__transition;
+ if (!schedule || !(schedule = schedule[id]) || schedule.state > CREATED) throw new Error("too late");
+ return schedule;
+}
+
+function set$1(node, id) {
+ var schedule = node.__transition;
+ if (!schedule || !(schedule = schedule[id]) || schedule.state > STARTING) throw new Error("too late");
+ return schedule;
+}
+
+function get$1(node, id) {
+ var schedule = node.__transition;
+ if (!schedule || !(schedule = schedule[id])) throw new Error("too late");
+ return schedule;
+}
+
+function create(node, id, self) {
+ var schedules = node.__transition,
+ tween;
+
+ // Initialize the self timer when the transition is created.
+ // Note the actual delay is not known until the first callback!
+ schedules[id] = self;
+ self.timer = timer(schedule, 0, self.time);
+
+ function schedule(elapsed) {
+ self.state = SCHEDULED;
+ self.timer.restart(start, self.delay, self.time);
+
+ // If the elapsed delay is less than our first sleep, start immediately.
+ if (self.delay <= elapsed) start(elapsed - self.delay);
+ }
+
+ function start(elapsed) {
+ var i, j, n, o;
+
+ // If the state is not SCHEDULED, then we previously errored on start.
+ if (self.state !== SCHEDULED) return stop();
+
+ for (i in schedules) {
+ o = schedules[i];
+ if (o.name !== self.name) continue;
+
+ // While this element already has a starting transition during this frame,
+ // defer starting an interrupting transition until that transition has a
+ // chance to tick (and possibly end); see d3/d3-transition#54!
+ if (o.state === STARTED) return timeout$1(start);
+
+ // Interrupt the active transition, if any.
+ // Dispatch the interrupt event.
+ if (o.state === RUNNING) {
+ o.state = ENDED;
+ o.timer.stop();
+ o.on.call("interrupt", node, node.__data__, o.index, o.group);
+ delete schedules[i];
+ }
+
+ // Cancel any pre-empted transitions. No interrupt event is dispatched
+ // because the cancelled transitions never started. Note that this also
+ // removes this transition from the pending list!
+ else if (+i < id) {
+ o.state = ENDED;
+ o.timer.stop();
+ delete schedules[i];
+ }
+ }
+
+ // Defer the first tick to end of the current frame; see d3/d3#1576.
+ // Note the transition may be canceled after start and before the first tick!
+ // Note this must be scheduled before the start event; see d3/d3-transition#16!
+ // Assuming this is successful, subsequent callbacks go straight to tick.
+ timeout$1(function() {
+ if (self.state === STARTED) {
+ self.state = RUNNING;
+ self.timer.restart(tick, self.delay, self.time);
+ tick(elapsed);
+ }
+ });
+
+ // Dispatch the start event.
+ // Note this must be done before the tween are initialized.
+ self.state = STARTING;
+ self.on.call("start", node, node.__data__, self.index, self.group);
+ if (self.state !== STARTING) return; // interrupted
+ self.state = STARTED;
+
+ // Initialize the tween, deleting null tween.
+ tween = new Array(n = self.tween.length);
+ for (i = 0, j = -1; i < n; ++i) {
+ if (o = self.tween[i].value.call(node, node.__data__, self.index, self.group)) {
+ tween[++j] = o;
+ }
+ }
+ tween.length = j + 1;
+ }
+
+ function tick(elapsed) {
+ var t = elapsed < self.duration ? self.ease.call(null, elapsed / self.duration) : (self.timer.restart(stop), self.state = ENDING, 1),
+ i = -1,
+ n = tween.length;
+
+ while (++i < n) {
+ tween[i].call(null, t);
+ }
+
+ // Dispatch the end event.
+ if (self.state === ENDING) {
+ self.on.call("end", node, node.__data__, self.index, self.group);
+ stop();
+ }
+ }
+
+ function stop() {
+ self.state = ENDED;
+ self.timer.stop();
+ delete schedules[id];
+ for (var i in schedules) return; // eslint-disable-line no-unused-vars
+ delete node.__transition;
+ }
+}
+
+var interrupt = function(node, name) {
+ var schedules = node.__transition,
+ schedule,
+ active,
+ empty = true,
+ i;
+
+ if (!schedules) return;
+
+ name = name == null ? null : name + "";
+
+ for (i in schedules) {
+ if ((schedule = schedules[i]).name !== name) { empty = false; continue; }
+ active = schedule.state > STARTING && schedule.state < ENDING;
+ schedule.state = ENDED;
+ schedule.timer.stop();
+ if (active) schedule.on.call("interrupt", node, node.__data__, schedule.index, schedule.group);
+ delete schedules[i];
+ }
+
+ if (empty) delete node.__transition;
+};
+
+var selection_interrupt = function(name) {
+ return this.each(function() {
+ interrupt(this, name);
+ });
+};
+
+function tweenRemove(id, name) {
+ var tween0, tween1;
+ return function() {
+ var schedule = set$1(this, id),
+ tween = schedule.tween;
+
+ // If this node shared tween with the previous node,
+ // just assign the updated shared tween and we’re done!
+ // Otherwise, copy-on-write.
+ if (tween !== tween0) {
+ tween1 = tween0 = tween;
+ for (var i = 0, n = tween1.length; i < n; ++i) {
+ if (tween1[i].name === name) {
+ tween1 = tween1.slice();
+ tween1.splice(i, 1);
+ break;
+ }
+ }
+ }
+
+ schedule.tween = tween1;
+ };
+}
+
+function tweenFunction(id, name, value) {
+ var tween0, tween1;
+ if (typeof value !== "function") throw new Error;
+ return function() {
+ var schedule = set$1(this, id),
+ tween = schedule.tween;
+
+ // If this node shared tween with the previous node,
+ // just assign the updated shared tween and we’re done!
+ // Otherwise, copy-on-write.
+ if (tween !== tween0) {
+ tween1 = (tween0 = tween).slice();
+ for (var t = {name: name, value: value}, i = 0, n = tween1.length; i < n; ++i) {
+ if (tween1[i].name === name) {
+ tween1[i] = t;
+ break;
+ }
+ }
+ if (i === n) tween1.push(t);
+ }
+
+ schedule.tween = tween1;
+ };
+}
+
+var transition_tween = function(name, value) {
+ var id = this._id;
+
+ name += "";
+
+ if (arguments.length < 2) {
+ var tween = get$1(this.node(), id).tween;
+ for (var i = 0, n = tween.length, t; i < n; ++i) {
+ if ((t = tween[i]).name === name) {
+ return t.value;
+ }
+ }
+ return null;
+ }
+
+ return this.each((value == null ? tweenRemove : tweenFunction)(id, name, value));
+};
+
+function tweenValue(transition, name, value) {
+ var id = transition._id;
+
+ transition.each(function() {
+ var schedule = set$1(this, id);
+ (schedule.value || (schedule.value = {}))[name] = value.apply(this, arguments);
+ });
+
+ return function(node) {
+ return get$1(node, id).value[name];
+ };
+}
+
+var interpolate$$1 = function(a, b) {
+ var c;
+ return (typeof b === "number" ? reinterpolate
+ : b instanceof color ? interpolateRgb
+ : (c = color(b)) ? (b = c, interpolateRgb)
+ : interpolateString)(a, b);
+};
+
+function attrRemove$1(name) {
+ return function() {
+ this.removeAttribute(name);
+ };
+}
+
+function attrRemoveNS$1(fullname) {
+ return function() {
+ this.removeAttributeNS(fullname.space, fullname.local);
+ };
+}
+
+function attrConstant$1(name, interpolate$$1, value1) {
+ var value00,
+ interpolate0;
+ return function() {
+ var value0 = this.getAttribute(name);
+ return value0 === value1 ? null
+ : value0 === value00 ? interpolate0
+ : interpolate0 = interpolate$$1(value00 = value0, value1);
+ };
+}
+
+function attrConstantNS$1(fullname, interpolate$$1, value1) {
+ var value00,
+ interpolate0;
+ return function() {
+ var value0 = this.getAttributeNS(fullname.space, fullname.local);
+ return value0 === value1 ? null
+ : value0 === value00 ? interpolate0
+ : interpolate0 = interpolate$$1(value00 = value0, value1);
+ };
+}
+
+function attrFunction$1(name, interpolate$$1, value) {
+ var value00,
+ value10,
+ interpolate0;
+ return function() {
+ var value0, value1 = value(this);
+ if (value1 == null) return void this.removeAttribute(name);
+ value0 = this.getAttribute(name);
+ return value0 === value1 ? null
+ : value0 === value00 && value1 === value10 ? interpolate0
+ : interpolate0 = interpolate$$1(value00 = value0, value10 = value1);
+ };
+}
+
+function attrFunctionNS$1(fullname, interpolate$$1, value) {
+ var value00,
+ value10,
+ interpolate0;
+ return function() {
+ var value0, value1 = value(this);
+ if (value1 == null) return void this.removeAttributeNS(fullname.space, fullname.local);
+ value0 = this.getAttributeNS(fullname.space, fullname.local);
+ return value0 === value1 ? null
+ : value0 === value00 && value1 === value10 ? interpolate0
+ : interpolate0 = interpolate$$1(value00 = value0, value10 = value1);
+ };
+}
+
+var transition_attr = function(name, value) {
+ var fullname = namespace(name), i = fullname === "transform" ? interpolateTransformSvg : interpolate$$1;
+ return this.attrTween(name, typeof value === "function"
+ ? (fullname.local ? attrFunctionNS$1 : attrFunction$1)(fullname, i, tweenValue(this, "attr." + name, value))
+ : value == null ? (fullname.local ? attrRemoveNS$1 : attrRemove$1)(fullname)
+ : (fullname.local ? attrConstantNS$1 : attrConstant$1)(fullname, i, value + ""));
+};
+
+function attrTweenNS(fullname, value) {
+ function tween() {
+ var node = this, i = value.apply(node, arguments);
+ return i && function(t) {
+ node.setAttributeNS(fullname.space, fullname.local, i(t));
+ };
+ }
+ tween._value = value;
+ return tween;
+}
+
+function attrTween(name, value) {
+ function tween() {
+ var node = this, i = value.apply(node, arguments);
+ return i && function(t) {
+ node.setAttribute(name, i(t));
+ };
+ }
+ tween._value = value;
+ return tween;
+}
+
+var transition_attrTween = function(name, value) {
+ var key = "attr." + name;
+ if (arguments.length < 2) return (key = this.tween(key)) && key._value;
+ if (value == null) return this.tween(key, null);
+ if (typeof value !== "function") throw new Error;
+ var fullname = namespace(name);
+ return this.tween(key, (fullname.local ? attrTweenNS : attrTween)(fullname, value));
+};
+
+function delayFunction(id, value) {
+ return function() {
+ init(this, id).delay = +value.apply(this, arguments);
+ };
+}
+
+function delayConstant(id, value) {
+ return value = +value, function() {
+ init(this, id).delay = value;
+ };
+}
+
+var transition_delay = function(value) {
+ var id = this._id;
+
+ return arguments.length
+ ? this.each((typeof value === "function"
+ ? delayFunction
+ : delayConstant)(id, value))
+ : get$1(this.node(), id).delay;
+};
+
+function durationFunction(id, value) {
+ return function() {
+ set$1(this, id).duration = +value.apply(this, arguments);
+ };
+}
+
+function durationConstant(id, value) {
+ return value = +value, function() {
+ set$1(this, id).duration = value;
+ };
+}
+
+var transition_duration = function(value) {
+ var id = this._id;
+
+ return arguments.length
+ ? this.each((typeof value === "function"
+ ? durationFunction
+ : durationConstant)(id, value))
+ : get$1(this.node(), id).duration;
+};
+
+function easeConstant(id, value) {
+ if (typeof value !== "function") throw new Error;
+ return function() {
+ set$1(this, id).ease = value;
+ };
+}
+
+var transition_ease = function(value) {
+ var id = this._id;
+
+ return arguments.length
+ ? this.each(easeConstant(id, value))
+ : get$1(this.node(), id).ease;
+};
+
+var transition_filter = function(match) {
+ if (typeof match !== "function") match = matcher$1(match);
+
+ for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {
+ for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {
+ if ((node = group[i]) && match.call(node, node.__data__, i, group)) {
+ subgroup.push(node);
+ }
+ }
+ }
+
+ return new Transition(subgroups, this._parents, this._name, this._id);
+};
+
+var transition_merge = function(transition) {
+ if (transition._id !== this._id) throw new Error;
+
+ for (var groups0 = this._groups, groups1 = transition._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {
+ for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {
+ if (node = group0[i] || group1[i]) {
+ merge[i] = node;
+ }
+ }
+ }
+
+ for (; j < m0; ++j) {
+ merges[j] = groups0[j];
+ }
+
+ return new Transition(merges, this._parents, this._name, this._id);
+};
+
+function start(name) {
+ return (name + "").trim().split(/^|\s+/).every(function(t) {
+ var i = t.indexOf(".");
+ if (i >= 0) t = t.slice(0, i);
+ return !t || t === "start";
+ });
+}
+
+function onFunction(id, name, listener) {
+ var on0, on1, sit = start(name) ? init : set$1;
+ return function() {
+ var schedule = sit(this, id),
+ on = schedule.on;
+
+ // If this node shared a dispatch with the previous node,
+ // just assign the updated shared dispatch and we’re done!
+ // Otherwise, copy-on-write.
+ if (on !== on0) (on1 = (on0 = on).copy()).on(name, listener);
+
+ schedule.on = on1;
+ };
+}
+
+var transition_on = function(name, listener) {
+ var id = this._id;
+
+ return arguments.length < 2
+ ? get$1(this.node(), id).on.on(name)
+ : this.each(onFunction(id, name, listener));
+};
+
+function removeFunction(id) {
+ return function() {
+ var parent = this.parentNode;
+ for (var i in this.__transition) if (+i !== id) return;
+ if (parent) parent.removeChild(this);
+ };
+}
+
+var transition_remove = function() {
+ return this.on("end.remove", removeFunction(this._id));
+};
+
+var transition_select = function(select$$1) {
+ var name = this._name,
+ id = this._id;
+
+ if (typeof select$$1 !== "function") select$$1 = selector(select$$1);
+
+ for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {
+ for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {
+ if ((node = group[i]) && (subnode = select$$1.call(node, node.__data__, i, group))) {
+ if ("__data__" in node) subnode.__data__ = node.__data__;
+ subgroup[i] = subnode;
+ schedule(subgroup[i], name, id, i, subgroup, get$1(node, id));
+ }
+ }
+ }
+
+ return new Transition(subgroups, this._parents, name, id);
+};
+
+var transition_selectAll = function(select$$1) {
+ var name = this._name,
+ id = this._id;
+
+ if (typeof select$$1 !== "function") select$$1 = selectorAll(select$$1);
+
+ for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {
+ for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {
+ if (node = group[i]) {
+ for (var children = select$$1.call(node, node.__data__, i, group), child, inherit = get$1(node, id), k = 0, l = children.length; k < l; ++k) {
+ if (child = children[k]) {
+ schedule(child, name, id, k, children, inherit);
+ }
+ }
+ subgroups.push(children);
+ parents.push(node);
+ }
+ }
+ }
+
+ return new Transition(subgroups, parents, name, id);
+};
+
+var Selection$1 = selection.prototype.constructor;
+
+var transition_selection = function() {
+ return new Selection$1(this._groups, this._parents);
+};
+
+function styleRemove$1(name, interpolate$$2) {
+ var value00,
+ value10,
+ interpolate0;
+ return function() {
+ var style = window(this).getComputedStyle(this, null),
+ value0 = style.getPropertyValue(name),
+ value1 = (this.style.removeProperty(name), style.getPropertyValue(name));
+ return value0 === value1 ? null
+ : value0 === value00 && value1 === value10 ? interpolate0
+ : interpolate0 = interpolate$$2(value00 = value0, value10 = value1);
+ };
+}
+
+function styleRemoveEnd(name) {
+ return function() {
+ this.style.removeProperty(name);
+ };
+}
+
+function styleConstant$1(name, interpolate$$2, value1) {
+ var value00,
+ interpolate0;
+ return function() {
+ var value0 = window(this).getComputedStyle(this, null).getPropertyValue(name);
+ return value0 === value1 ? null
+ : value0 === value00 ? interpolate0
+ : interpolate0 = interpolate$$2(value00 = value0, value1);
+ };
+}
+
+function styleFunction$1(name, interpolate$$2, value) {
+ var value00,
+ value10,
+ interpolate0;
+ return function() {
+ var style = window(this).getComputedStyle(this, null),
+ value0 = style.getPropertyValue(name),
+ value1 = value(this);
+ if (value1 == null) value1 = (this.style.removeProperty(name), style.getPropertyValue(name));
+ return value0 === value1 ? null
+ : value0 === value00 && value1 === value10 ? interpolate0
+ : interpolate0 = interpolate$$2(value00 = value0, value10 = value1);
+ };
+}
+
+var transition_style = function(name, value, priority) {
+ var i = (name += "") === "transform" ? interpolateTransformCss : interpolate$$1;
+ return value == null ? this
+ .styleTween(name, styleRemove$1(name, i))
+ .on("end.style." + name, styleRemoveEnd(name))
+ : this.styleTween(name, typeof value === "function"
+ ? styleFunction$1(name, i, tweenValue(this, "style." + name, value))
+ : styleConstant$1(name, i, value + ""), priority);
+};
+
+function styleTween(name, value, priority) {
+ function tween() {
+ var node = this, i = value.apply(node, arguments);
+ return i && function(t) {
+ node.style.setProperty(name, i(t), priority);
+ };
+ }
+ tween._value = value;
+ return tween;
+}
+
+var transition_styleTween = function(name, value, priority) {
+ var key = "style." + (name += "");
+ if (arguments.length < 2) return (key = this.tween(key)) && key._value;
+ if (value == null) return this.tween(key, null);
+ if (typeof value !== "function") throw new Error;
+ return this.tween(key, styleTween(name, value, priority == null ? "" : priority));
+};
+
+function textConstant$1(value) {
+ return function() {
+ this.textContent = value;
+ };
+}
+
+function textFunction$1(value) {
+ return function() {
+ var value1 = value(this);
+ this.textContent = value1 == null ? "" : value1;
+ };
+}
+
+var transition_text = function(value) {
+ return this.tween("text", typeof value === "function"
+ ? textFunction$1(tweenValue(this, "text", value))
+ : textConstant$1(value == null ? "" : value + ""));
+};
+
+var transition_transition = function() {
+ var name = this._name,
+ id0 = this._id,
+ id1 = newId();
+
+ for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {
+ for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {
+ if (node = group[i]) {
+ var inherit = get$1(node, id0);
+ schedule(node, name, id1, i, group, {
+ time: inherit.time + inherit.delay + inherit.duration,
+ delay: 0,
+ duration: inherit.duration,
+ ease: inherit.ease
+ });
+ }
+ }
+ }
+
+ return new Transition(groups, this._parents, name, id1);
+};
+
+var id = 0;
+
+function Transition(groups, parents, name, id) {
+ this._groups = groups;
+ this._parents = parents;
+ this._name = name;
+ this._id = id;
+}
+
+function transition(name) {
+ return selection().transition(name);
+}
+
+function newId() {
+ return ++id;
+}
+
+var selection_prototype = selection.prototype;
+
+Transition.prototype = transition.prototype = {
+ constructor: Transition,
+ select: transition_select,
+ selectAll: transition_selectAll,
+ filter: transition_filter,
+ merge: transition_merge,
+ selection: transition_selection,
+ transition: transition_transition,
+ call: selection_prototype.call,
+ nodes: selection_prototype.nodes,
+ node: selection_prototype.node,
+ size: selection_prototype.size,
+ empty: selection_prototype.empty,
+ each: selection_prototype.each,
+ on: transition_on,
+ attr: transition_attr,
+ attrTween: transition_attrTween,
+ style: transition_style,
+ styleTween: transition_styleTween,
+ text: transition_text,
+ remove: transition_remove,
+ tween: transition_tween,
+ delay: transition_delay,
+ duration: transition_duration,
+ ease: transition_ease
+};
+
+function linear$1(t) {
+ return +t;
+}
+
+function quadIn(t) {
+ return t * t;
+}
+
+function quadOut(t) {
+ return t * (2 - t);
+}
+
+function quadInOut(t) {
+ return ((t *= 2) <= 1 ? t * t : --t * (2 - t) + 1) / 2;
+}
+
+function cubicIn(t) {
+ return t * t * t;
+}
+
+function cubicOut(t) {
+ return --t * t * t + 1;
+}
+
+function cubicInOut(t) {
+ return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2;
+}
+
+var exponent = 3;
+
+var polyIn = (function custom(e) {
+ e = +e;
+
+ function polyIn(t) {
+ return Math.pow(t, e);
+ }
+
+ polyIn.exponent = custom;
+
+ return polyIn;
+})(exponent);
+
+var polyOut = (function custom(e) {
+ e = +e;
+
+ function polyOut(t) {
+ return 1 - Math.pow(1 - t, e);
+ }
+
+ polyOut.exponent = custom;
+
+ return polyOut;
+})(exponent);
+
+var polyInOut = (function custom(e) {
+ e = +e;
+
+ function polyInOut(t) {
+ return ((t *= 2) <= 1 ? Math.pow(t, e) : 2 - Math.pow(2 - t, e)) / 2;
+ }
+
+ polyInOut.exponent = custom;
+
+ return polyInOut;
+})(exponent);
+
+var pi = Math.PI;
+var halfPi = pi / 2;
+
+function sinIn(t) {
+ return 1 - Math.cos(t * halfPi);
+}
+
+function sinOut(t) {
+ return Math.sin(t * halfPi);
+}
+
+function sinInOut(t) {
+ return (1 - Math.cos(pi * t)) / 2;
+}
+
+function expIn(t) {
+ return Math.pow(2, 10 * t - 10);
+}
+
+function expOut(t) {
+ return 1 - Math.pow(2, -10 * t);
+}
+
+function expInOut(t) {
+ return ((t *= 2) <= 1 ? Math.pow(2, 10 * t - 10) : 2 - Math.pow(2, 10 - 10 * t)) / 2;
+}
+
+function circleIn(t) {
+ return 1 - Math.sqrt(1 - t * t);
+}
+
+function circleOut(t) {
+ return Math.sqrt(1 - --t * t);
+}
+
+function circleInOut(t) {
+ return ((t *= 2) <= 1 ? 1 - Math.sqrt(1 - t * t) : Math.sqrt(1 - (t -= 2) * t) + 1) / 2;
+}
+
+var b1 = 4 / 11;
+var b2 = 6 / 11;
+var b3 = 8 / 11;
+var b4 = 3 / 4;
+var b5 = 9 / 11;
+var b6 = 10 / 11;
+var b7 = 15 / 16;
+var b8 = 21 / 22;
+var b9 = 63 / 64;
+var b0 = 1 / b1 / b1;
+
+function bounceIn(t) {
+ return 1 - bounceOut(1 - t);
+}
+
+function bounceOut(t) {
+ return (t = +t) < b1 ? b0 * t * t : t < b3 ? b0 * (t -= b2) * t + b4 : t < b6 ? b0 * (t -= b5) * t + b7 : b0 * (t -= b8) * t + b9;
+}
+
+function bounceInOut(t) {
+ return ((t *= 2) <= 1 ? 1 - bounceOut(1 - t) : bounceOut(t - 1) + 1) / 2;
+}
+
+var overshoot = 1.70158;
+
+var backIn = (function custom(s) {
+ s = +s;
+
+ function backIn(t) {
+ return t * t * ((s + 1) * t - s);
+ }
+
+ backIn.overshoot = custom;
+
+ return backIn;
+})(overshoot);
+
+var backOut = (function custom(s) {
+ s = +s;
+
+ function backOut(t) {
+ return --t * t * ((s + 1) * t + s) + 1;
+ }
+
+ backOut.overshoot = custom;
+
+ return backOut;
+})(overshoot);
+
+var backInOut = (function custom(s) {
+ s = +s;
+
+ function backInOut(t) {
+ return ((t *= 2) < 1 ? t * t * ((s + 1) * t - s) : (t -= 2) * t * ((s + 1) * t + s) + 2) / 2;
+ }
+
+ backInOut.overshoot = custom;
+
+ return backInOut;
+})(overshoot);
+
+var tau = 2 * Math.PI;
+var amplitude = 1;
+var period = 0.3;
+
+var elasticIn = (function custom(a, p) {
+ var s = Math.asin(1 / (a = Math.max(1, a))) * (p /= tau);
+
+ function elasticIn(t) {
+ return a * Math.pow(2, 10 * --t) * Math.sin((s - t) / p);
+ }
+
+ elasticIn.amplitude = function(a) { return custom(a, p * tau); };
+ elasticIn.period = function(p) { return custom(a, p); };
+
+ return elasticIn;
+})(amplitude, period);
+
+var elasticOut = (function custom(a, p) {
+ var s = Math.asin(1 / (a = Math.max(1, a))) * (p /= tau);
+
+ function elasticOut(t) {
+ return 1 - a * Math.pow(2, -10 * (t = +t)) * Math.sin((t + s) / p);
+ }
+
+ elasticOut.amplitude = function(a) { return custom(a, p * tau); };
+ elasticOut.period = function(p) { return custom(a, p); };
+
+ return elasticOut;
+})(amplitude, period);
+
+var elasticInOut = (function custom(a, p) {
+ var s = Math.asin(1 / (a = Math.max(1, a))) * (p /= tau);
+
+ function elasticInOut(t) {
+ return ((t = t * 2 - 1) < 0
+ ? a * Math.pow(2, 10 * t) * Math.sin((s - t) / p)
+ : 2 - a * Math.pow(2, -10 * t) * Math.sin((s + t) / p)) / 2;
+ }
+
+ elasticInOut.amplitude = function(a) { return custom(a, p * tau); };
+ elasticInOut.period = function(p) { return custom(a, p); };
+
+ return elasticInOut;
+})(amplitude, period);
+
+var defaultTiming = {
+ time: null, // Set on use.
+ delay: 0,
+ duration: 250,
+ ease: cubicInOut
+};
+
+function inherit(node, id) {
+ var timing;
+ while (!(timing = node.__transition) || !(timing = timing[id])) {
+ if (!(node = node.parentNode)) {
+ return defaultTiming.time = now(), defaultTiming;
+ }
+ }
+ return timing;
+}
+
+var selection_transition = function(name) {
+ var id,
+ timing;
+
+ if (name instanceof Transition) {
+ id = name._id, name = name._name;
+ } else {
+ id = newId(), (timing = defaultTiming).time = now(), name = name == null ? null : name + "";
+ }
+
+ for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {
+ for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {
+ if (node = group[i]) {
+ schedule(node, name, id, i, group, timing || inherit(node, id));
+ }
+ }
+ }
+
+ return new Transition(groups, this._parents, name, id);
+};
+
+selection.prototype.interrupt = selection_interrupt;
+selection.prototype.transition = selection_transition;
+
+var root$1 = [null];
+
+var active = function(node, name) {
+ var schedules = node.__transition,
+ schedule,
+ i;
+
+ if (schedules) {
+ name = name == null ? null : name + "";
+ for (i in schedules) {
+ if ((schedule = schedules[i]).state > SCHEDULED && schedule.name === name) {
+ return new Transition([[node]], root$1, name, +i);
+ }
+ }
+ }
+
+ return null;
+};
+
+var constant$4 = function(x) {
+ return function() {
+ return x;
+ };
+};
+
+var BrushEvent = function(target, type, selection) {
+ this.target = target;
+ this.type = type;
+ this.selection = selection;
+};
+
+function nopropagation$1() {
+ exports.event.stopImmediatePropagation();
+}
+
+var noevent$1 = function() {
+ exports.event.preventDefault();
+ exports.event.stopImmediatePropagation();
+};
+
+var MODE_DRAG = {name: "drag"};
+var MODE_SPACE = {name: "space"};
+var MODE_HANDLE = {name: "handle"};
+var MODE_CENTER = {name: "center"};
+
+var X = {
+ name: "x",
+ handles: ["e", "w"].map(type),
+ input: function(x, e) { return x && [[x[0], e[0][1]], [x[1], e[1][1]]]; },
+ output: function(xy) { return xy && [xy[0][0], xy[1][0]]; }
+};
+
+var Y = {
+ name: "y",
+ handles: ["n", "s"].map(type),
+ input: function(y, e) { return y && [[e[0][0], y[0]], [e[1][0], y[1]]]; },
+ output: function(xy) { return xy && [xy[0][1], xy[1][1]]; }
+};
+
+var XY = {
+ name: "xy",
+ handles: ["n", "e", "s", "w", "nw", "ne", "se", "sw"].map(type),
+ input: function(xy) { return xy; },
+ output: function(xy) { return xy; }
+};
+
+var cursors = {
+ overlay: "crosshair",
+ selection: "move",
+ n: "ns-resize",
+ e: "ew-resize",
+ s: "ns-resize",
+ w: "ew-resize",
+ nw: "nwse-resize",
+ ne: "nesw-resize",
+ se: "nwse-resize",
+ sw: "nesw-resize"
+};
+
+var flipX = {
+ e: "w",
+ w: "e",
+ nw: "ne",
+ ne: "nw",
+ se: "sw",
+ sw: "se"
+};
+
+var flipY = {
+ n: "s",
+ s: "n",
+ nw: "sw",
+ ne: "se",
+ se: "ne",
+ sw: "nw"
+};
+
+var signsX = {
+ overlay: +1,
+ selection: +1,
+ n: null,
+ e: +1,
+ s: null,
+ w: -1,
+ nw: -1,
+ ne: +1,
+ se: +1,
+ sw: -1
+};
+
+var signsY = {
+ overlay: +1,
+ selection: +1,
+ n: -1,
+ e: null,
+ s: +1,
+ w: null,
+ nw: -1,
+ ne: -1,
+ se: +1,
+ sw: +1
+};
+
+function type(t) {
+ return {type: t};
+}
+
+// Ignore right-click, since that should open the context menu.
+function defaultFilter() {
+ return !exports.event.button;
+}
+
+function defaultExtent() {
+ var svg = this.ownerSVGElement || this;
+ return [[0, 0], [svg.width.baseVal.value, svg.height.baseVal.value]];
+}
+
+// Like d3.local, but with the name “__brush” rather than auto-generated.
+function local$$1(node) {
+ while (!node.__brush) if (!(node = node.parentNode)) return;
+ return node.__brush;
+}
+
+function empty(extent) {
+ return extent[0][0] === extent[1][0]
+ || extent[0][1] === extent[1][1];
+}
+
+function brushSelection(node) {
+ var state = node.__brush;
+ return state ? state.dim.output(state.selection) : null;
+}
+
+function brushX() {
+ return brush$1(X);
+}
+
+function brushY() {
+ return brush$1(Y);
+}
+
+var brush = function() {
+ return brush$1(XY);
+};
+
+function brush$1(dim) {
+ var extent = defaultExtent,
+ filter = defaultFilter,
+ listeners = dispatch(brush, "start", "brush", "end"),
+ handleSize = 6,
+ touchending;
+
+ function brush(group) {
+ var overlay = group
+ .property("__brush", initialize)
+ .selectAll(".overlay")
+ .data([type("overlay")]);
+
+ overlay.enter().append("rect")
+ .attr("class", "overlay")
+ .attr("pointer-events", "all")
+ .attr("cursor", cursors.overlay)
+ .merge(overlay)
+ .each(function() {
+ var extent = local$$1(this).extent;
+ select(this)
+ .attr("x", extent[0][0])
+ .attr("y", extent[0][1])
+ .attr("width", extent[1][0] - extent[0][0])
+ .attr("height", extent[1][1] - extent[0][1]);
+ });
+
+ group.selectAll(".selection")
+ .data([type("selection")])
+ .enter().append("rect")
+ .attr("class", "selection")
+ .attr("cursor", cursors.selection)
+ .attr("fill", "#777")
+ .attr("fill-opacity", 0.3)
+ .attr("stroke", "#fff")
+ .attr("shape-rendering", "crispEdges");
+
+ var handle = group.selectAll(".handle")
+ .data(dim.handles, function(d) { return d.type; });
+
+ handle.exit().remove();
+
+ handle.enter().append("rect")
+ .attr("class", function(d) { return "handle handle--" + d.type; })
+ .attr("cursor", function(d) { return cursors[d.type]; });
+
+ group
+ .each(redraw)
+ .attr("fill", "none")
+ .attr("pointer-events", "all")
+ .style("-webkit-tap-highlight-color", "rgba(0,0,0,0)")
+ .on("mousedown.brush touchstart.brush", started);
+ }
+
+ brush.move = function(group, selection$$1) {
+ if (group.selection) {
+ group
+ .on("start.brush", function() { emitter(this, arguments).beforestart().start(); })
+ .on("interrupt.brush end.brush", function() { emitter(this, arguments).end(); })
+ .tween("brush", function() {
+ var that = this,
+ state = that.__brush,
+ emit = emitter(that, arguments),
+ selection0 = state.selection,
+ selection1 = dim.input(typeof selection$$1 === "function" ? selection$$1.apply(this, arguments) : selection$$1, state.extent),
+ i = interpolateValue(selection0, selection1);
+
+ function tween(t) {
+ state.selection = t === 1 && empty(selection1) ? null : i(t);
+ redraw.call(that);
+ emit.brush();
+ }
+
+ return selection0 && selection1 ? tween : tween(1);
+ });
+ } else {
+ group
+ .each(function() {
+ var that = this,
+ args = arguments,
+ state = that.__brush,
+ selection1 = dim.input(typeof selection$$1 === "function" ? selection$$1.apply(that, args) : selection$$1, state.extent),
+ emit = emitter(that, args).beforestart();
+
+ interrupt(that);
+ state.selection = selection1 == null || empty(selection1) ? null : selection1;
+ redraw.call(that);
+ emit.start().brush().end();
+ });
+ }
+ };
+
+ function redraw() {
+ var group = select(this),
+ selection$$1 = local$$1(this).selection;
+
+ if (selection$$1) {
+ group.selectAll(".selection")
+ .style("display", null)
+ .attr("x", selection$$1[0][0])
+ .attr("y", selection$$1[0][1])
+ .attr("width", selection$$1[1][0] - selection$$1[0][0])
+ .attr("height", selection$$1[1][1] - selection$$1[0][1]);
+
+ group.selectAll(".handle")
+ .style("display", null)
+ .attr("x", function(d) { return d.type[d.type.length - 1] === "e" ? selection$$1[1][0] - handleSize / 2 : selection$$1[0][0] - handleSize / 2; })
+ .attr("y", function(d) { return d.type[0] === "s" ? selection$$1[1][1] - handleSize / 2 : selection$$1[0][1] - handleSize / 2; })
+ .attr("width", function(d) { return d.type === "n" || d.type === "s" ? selection$$1[1][0] - selection$$1[0][0] + handleSize : handleSize; })
+ .attr("height", function(d) { return d.type === "e" || d.type === "w" ? selection$$1[1][1] - selection$$1[0][1] + handleSize : handleSize; });
+ }
+
+ else {
+ group.selectAll(".selection,.handle")
+ .style("display", "none")
+ .attr("x", null)
+ .attr("y", null)
+ .attr("width", null)
+ .attr("height", null);
+ }
+ }
+
+ function emitter(that, args) {
+ return that.__brush.emitter || new Emitter(that, args);
+ }
+
+ function Emitter(that, args) {
+ this.that = that;
+ this.args = args;
+ this.state = that.__brush;
+ this.active = 0;
+ }
+
+ Emitter.prototype = {
+ beforestart: function() {
+ if (++this.active === 1) this.state.emitter = this, this.starting = true;
+ return this;
+ },
+ start: function() {
+ if (this.starting) this.starting = false, this.emit("start");
+ return this;
+ },
+ brush: function() {
+ this.emit("brush");
+ return this;
+ },
+ end: function() {
+ if (--this.active === 0) delete this.state.emitter, this.emit("end");
+ return this;
+ },
+ emit: function(type) {
+ customEvent(new BrushEvent(brush, type, dim.output(this.state.selection)), listeners.apply, listeners, [type, this.that, this.args]);
+ }
+ };
+
+ function started() {
+ if (exports.event.touches) { if (exports.event.changedTouches.length < exports.event.touches.length) return noevent$1(); }
+ else if (touchending) return;
+ if (!filter.apply(this, arguments)) return;
+
+ var that = this,
+ type = exports.event.target.__data__.type,
+ mode = (exports.event.metaKey ? type = "overlay" : type) === "selection" ? MODE_DRAG : (exports.event.altKey ? MODE_CENTER : MODE_HANDLE),
+ signX = dim === Y ? null : signsX[type],
+ signY = dim === X ? null : signsY[type],
+ state = local$$1(that),
+ extent = state.extent,
+ selection$$1 = state.selection,
+ W = extent[0][0], w0, w1,
+ N = extent[0][1], n0, n1,
+ E = extent[1][0], e0, e1,
+ S = extent[1][1], s0, s1,
+ dx,
+ dy,
+ moving,
+ shifting = signX && signY && exports.event.shiftKey,
+ lockX,
+ lockY,
+ point0 = mouse(that),
+ point = point0,
+ emit = emitter(that, arguments).beforestart();
+
+ if (type === "overlay") {
+ state.selection = selection$$1 = [
+ [w0 = dim === Y ? W : point0[0], n0 = dim === X ? N : point0[1]],
+ [e0 = dim === Y ? E : w0, s0 = dim === X ? S : n0]
+ ];
+ } else {
+ w0 = selection$$1[0][0];
+ n0 = selection$$1[0][1];
+ e0 = selection$$1[1][0];
+ s0 = selection$$1[1][1];
+ }
+
+ w1 = w0;
+ n1 = n0;
+ e1 = e0;
+ s1 = s0;
+
+ var group = select(that)
+ .attr("pointer-events", "none");
+
+ var overlay = group.selectAll(".overlay")
+ .attr("cursor", cursors[type]);
+
+ if (exports.event.touches) {
+ group
+ .on("touchmove.brush", moved, true)
+ .on("touchend.brush touchcancel.brush", ended, true);
+ } else {
+ var view = select(exports.event.view)
+ .on("keydown.brush", keydowned, true)
+ .on("keyup.brush", keyupped, true)
+ .on("mousemove.brush", moved, true)
+ .on("mouseup.brush", ended, true);
+
+ dragDisable(exports.event.view);
+ }
+
+ nopropagation$1();
+ interrupt(that);
+ redraw.call(that);
+ emit.start();
+
+ function moved() {
+ var point1 = mouse(that);
+ if (shifting && !lockX && !lockY) {
+ if (Math.abs(point1[0] - point[0]) > Math.abs(point1[1] - point[1])) lockY = true;
+ else lockX = true;
+ }
+ point = point1;
+ moving = true;
+ noevent$1();
+ move();
+ }
+
+ function move() {
+ var t;
+
+ dx = point[0] - point0[0];
+ dy = point[1] - point0[1];
+
+ switch (mode) {
+ case MODE_SPACE:
+ case MODE_DRAG: {
+ if (signX) dx = Math.max(W - w0, Math.min(E - e0, dx)), w1 = w0 + dx, e1 = e0 + dx;
+ if (signY) dy = Math.max(N - n0, Math.min(S - s0, dy)), n1 = n0 + dy, s1 = s0 + dy;
+ break;
+ }
+ case MODE_HANDLE: {
+ if (signX < 0) dx = Math.max(W - w0, Math.min(E - w0, dx)), w1 = w0 + dx, e1 = e0;
+ else if (signX > 0) dx = Math.max(W - e0, Math.min(E - e0, dx)), w1 = w0, e1 = e0 + dx;
+ if (signY < 0) dy = Math.max(N - n0, Math.min(S - n0, dy)), n1 = n0 + dy, s1 = s0;
+ else if (signY > 0) dy = Math.max(N - s0, Math.min(S - s0, dy)), n1 = n0, s1 = s0 + dy;
+ break;
+ }
+ case MODE_CENTER: {
+ if (signX) w1 = Math.max(W, Math.min(E, w0 - dx * signX)), e1 = Math.max(W, Math.min(E, e0 + dx * signX));
+ if (signY) n1 = Math.max(N, Math.min(S, n0 - dy * signY)), s1 = Math.max(N, Math.min(S, s0 + dy * signY));
+ break;
+ }
+ }
+
+ if (e1 < w1) {
+ signX *= -1;
+ t = w0, w0 = e0, e0 = t;
+ t = w1, w1 = e1, e1 = t;
+ if (type in flipX) overlay.attr("cursor", cursors[type = flipX[type]]);
+ }
+
+ if (s1 < n1) {
+ signY *= -1;
+ t = n0, n0 = s0, s0 = t;
+ t = n1, n1 = s1, s1 = t;
+ if (type in flipY) overlay.attr("cursor", cursors[type = flipY[type]]);
+ }
+
+ if (state.selection) selection$$1 = state.selection; // May be set by brush.move!
+ if (lockX) w1 = selection$$1[0][0], e1 = selection$$1[1][0];
+ if (lockY) n1 = selection$$1[0][1], s1 = selection$$1[1][1];
+
+ if (selection$$1[0][0] !== w1
+ || selection$$1[0][1] !== n1
+ || selection$$1[1][0] !== e1
+ || selection$$1[1][1] !== s1) {
+ state.selection = [[w1, n1], [e1, s1]];
+ redraw.call(that);
+ emit.brush();
+ }
+ }
+
+ function ended() {
+ nopropagation$1();
+ if (exports.event.touches) {
+ if (exports.event.touches.length) return;
+ if (touchending) clearTimeout(touchending);
+ touchending = setTimeout(function() { touchending = null; }, 500); // Ghost clicks are delayed!
+ group.on("touchmove.brush touchend.brush touchcancel.brush", null);
+ } else {
+ yesdrag(exports.event.view, moving);
+ view.on("keydown.brush keyup.brush mousemove.brush mouseup.brush", null);
+ }
+ group.attr("pointer-events", "all");
+ overlay.attr("cursor", cursors.overlay);
+ if (state.selection) selection$$1 = state.selection; // May be set by brush.move (on start)!
+ if (empty(selection$$1)) state.selection = null, redraw.call(that);
+ emit.end();
+ }
+
+ function keydowned() {
+ switch (exports.event.keyCode) {
+ case 16: { // SHIFT
+ shifting = signX && signY;
+ break;
+ }
+ case 18: { // ALT
+ if (mode === MODE_HANDLE) {
+ if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX;
+ if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY;
+ mode = MODE_CENTER;
+ move();
+ }
+ break;
+ }
+ case 32: { // SPACE; takes priority over ALT
+ if (mode === MODE_HANDLE || mode === MODE_CENTER) {
+ if (signX < 0) e0 = e1 - dx; else if (signX > 0) w0 = w1 - dx;
+ if (signY < 0) s0 = s1 - dy; else if (signY > 0) n0 = n1 - dy;
+ mode = MODE_SPACE;
+ overlay.attr("cursor", cursors.selection);
+ move();
+ }
+ break;
+ }
+ default: return;
+ }
+ noevent$1();
+ }
+
+ function keyupped() {
+ switch (exports.event.keyCode) {
+ case 16: { // SHIFT
+ if (shifting) {
+ lockX = lockY = shifting = false;
+ move();
+ }
+ break;
+ }
+ case 18: { // ALT
+ if (mode === MODE_CENTER) {
+ if (signX < 0) e0 = e1; else if (signX > 0) w0 = w1;
+ if (signY < 0) s0 = s1; else if (signY > 0) n0 = n1;
+ mode = MODE_HANDLE;
+ move();
+ }
+ break;
+ }
+ case 32: { // SPACE
+ if (mode === MODE_SPACE) {
+ if (exports.event.altKey) {
+ if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX;
+ if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY;
+ mode = MODE_CENTER;
+ } else {
+ if (signX < 0) e0 = e1; else if (signX > 0) w0 = w1;
+ if (signY < 0) s0 = s1; else if (signY > 0) n0 = n1;
+ mode = MODE_HANDLE;
+ }
+ overlay.attr("cursor", cursors[type]);
+ move();
+ }
+ break;
+ }
+ default: return;
+ }
+ noevent$1();
+ }
+ }
+
+ function initialize() {
+ var state = this.__brush || {selection: null};
+ state.extent = extent.apply(this, arguments);
+ state.dim = dim;
+ return state;
+ }
+
+ brush.extent = function(_) {
+ return arguments.length ? (extent = typeof _ === "function" ? _ : constant$4([[+_[0][0], +_[0][1]], [+_[1][0], +_[1][1]]]), brush) : extent;
+ };
+
+ brush.filter = function(_) {
+ return arguments.length ? (filter = typeof _ === "function" ? _ : constant$4(!!_), brush) : filter;
+ };
+
+ brush.handleSize = function(_) {
+ return arguments.length ? (handleSize = +_, brush) : handleSize;
+ };
+
+ brush.on = function() {
+ var value = listeners.on.apply(listeners, arguments);
+ return value === listeners ? brush : value;
+ };
+
+ return brush;
+}
+
+var cos = Math.cos;
+var sin = Math.sin;
+var pi$1 = Math.PI;
+var halfPi$1 = pi$1 / 2;
+var tau$1 = pi$1 * 2;
+var max$1 = Math.max;
+
+function compareValue(compare) {
+ return function(a, b) {
+ return compare(
+ a.source.value + a.target.value,
+ b.source.value + b.target.value
+ );
+ };
+}
+
+var chord = function() {
+ var padAngle = 0,
+ sortGroups = null,
+ sortSubgroups = null,
+ sortChords = null;
+
+ function chord(matrix) {
+ var n = matrix.length,
+ groupSums = [],
+ groupIndex = sequence(n),
+ subgroupIndex = [],
+ chords = [],
+ groups = chords.groups = new Array(n),
+ subgroups = new Array(n * n),
+ k,
+ x,
+ x0,
+ dx,
+ i,
+ j;
+
+ // Compute the sum.
+ k = 0, i = -1; while (++i < n) {
+ x = 0, j = -1; while (++j < n) {
+ x += matrix[i][j];
+ }
+ groupSums.push(x);
+ subgroupIndex.push(sequence(n));
+ k += x;
+ }
+
+ // Sort groups…
+ if (sortGroups) groupIndex.sort(function(a, b) {
+ return sortGroups(groupSums[a], groupSums[b]);
+ });
+
+ // Sort subgroups…
+ if (sortSubgroups) subgroupIndex.forEach(function(d, i) {
+ d.sort(function(a, b) {
+ return sortSubgroups(matrix[i][a], matrix[i][b]);
+ });
+ });
+
+ // Convert the sum to scaling factor for [0, 2pi].
+ // TODO Allow start and end angle to be specified?
+ // TODO Allow padding to be specified as percentage?
+ k = max$1(0, tau$1 - padAngle * n) / k;
+ dx = k ? padAngle : tau$1 / n;
+
+ // Compute the start and end angle for each group and subgroup.
+ // Note: Opera has a bug reordering object literal properties!
+ x = 0, i = -1; while (++i < n) {
+ x0 = x, j = -1; while (++j < n) {
+ var di = groupIndex[i],
+ dj = subgroupIndex[di][j],
+ v = matrix[di][dj],
+ a0 = x,
+ a1 = x += v * k;
+ subgroups[dj * n + di] = {
+ index: di,
+ subindex: dj,
+ startAngle: a0,
+ endAngle: a1,
+ value: v
+ };
+ }
+ groups[di] = {
+ index: di,
+ startAngle: x0,
+ endAngle: x,
+ value: groupSums[di]
+ };
+ x += dx;
+ }
+
+ // Generate chords for each (non-empty) subgroup-subgroup link.
+ i = -1; while (++i < n) {
+ j = i - 1; while (++j < n) {
+ var source = subgroups[j * n + i],
+ target = subgroups[i * n + j];
+ if (source.value || target.value) {
+ chords.push(source.value < target.value
+ ? {source: target, target: source}
+ : {source: source, target: target});
+ }
+ }
+ }
+
+ return sortChords ? chords.sort(sortChords) : chords;
+ }
+
+ chord.padAngle = function(_) {
+ return arguments.length ? (padAngle = max$1(0, _), chord) : padAngle;
+ };
+
+ chord.sortGroups = function(_) {
+ return arguments.length ? (sortGroups = _, chord) : sortGroups;
+ };
+
+ chord.sortSubgroups = function(_) {
+ return arguments.length ? (sortSubgroups = _, chord) : sortSubgroups;
+ };
+
+ chord.sortChords = function(_) {
+ return arguments.length ? (_ == null ? sortChords = null : (sortChords = compareValue(_))._ = _, chord) : sortChords && sortChords._;
+ };
+
+ return chord;
+};
+
+var slice$2 = Array.prototype.slice;
+
+var constant$5 = function(x) {
+ return function() {
+ return x;
+ };
+};
+
+var pi$2 = Math.PI;
+var tau$2 = 2 * pi$2;
+var epsilon$1 = 1e-6;
+var tauEpsilon = tau$2 - epsilon$1;
+
+function Path() {
+ this._x0 = this._y0 = // start of current subpath
+ this._x1 = this._y1 = null; // end of current subpath
+ this._ = "";
+}
+
+function path() {
+ return new Path;
+}
+
+Path.prototype = path.prototype = {
+ constructor: Path,
+ moveTo: function(x, y) {
+ this._ += "M" + (this._x0 = this._x1 = +x) + "," + (this._y0 = this._y1 = +y);
+ },
+ closePath: function() {
+ if (this._x1 !== null) {
+ this._x1 = this._x0, this._y1 = this._y0;
+ this._ += "Z";
+ }
+ },
+ lineTo: function(x, y) {
+ this._ += "L" + (this._x1 = +x) + "," + (this._y1 = +y);
+ },
+ quadraticCurveTo: function(x1, y1, x, y) {
+ this._ += "Q" + (+x1) + "," + (+y1) + "," + (this._x1 = +x) + "," + (this._y1 = +y);
+ },
+ bezierCurveTo: function(x1, y1, x2, y2, x, y) {
+ this._ += "C" + (+x1) + "," + (+y1) + "," + (+x2) + "," + (+y2) + "," + (this._x1 = +x) + "," + (this._y1 = +y);
+ },
+ arcTo: function(x1, y1, x2, y2, r) {
+ x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r;
+ var x0 = this._x1,
+ y0 = this._y1,
+ x21 = x2 - x1,
+ y21 = y2 - y1,
+ x01 = x0 - x1,
+ y01 = y0 - y1,
+ l01_2 = x01 * x01 + y01 * y01;
+
+ // Is the radius negative? Error.
+ if (r < 0) throw new Error("negative radius: " + r);
+
+ // Is this path empty? Move to (x1,y1).
+ if (this._x1 === null) {
+ this._ += "M" + (this._x1 = x1) + "," + (this._y1 = y1);
+ }
+
+ // Or, is (x1,y1) coincident with (x0,y0)? Do nothing.
+ else if (!(l01_2 > epsilon$1)) {}
+
+ // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear?
+ // Equivalently, is (x1,y1) coincident with (x2,y2)?
+ // Or, is the radius zero? Line to (x1,y1).
+ else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon$1) || !r) {
+ this._ += "L" + (this._x1 = x1) + "," + (this._y1 = y1);
+ }
+
+ // Otherwise, draw an arc!
+ else {
+ var x20 = x2 - x0,
+ y20 = y2 - y0,
+ l21_2 = x21 * x21 + y21 * y21,
+ l20_2 = x20 * x20 + y20 * y20,
+ l21 = Math.sqrt(l21_2),
+ l01 = Math.sqrt(l01_2),
+ l = r * Math.tan((pi$2 - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2),
+ t01 = l / l01,
+ t21 = l / l21;
+
+ // If the start tangent is not coincident with (x0,y0), line to.
+ if (Math.abs(t01 - 1) > epsilon$1) {
+ this._ += "L" + (x1 + t01 * x01) + "," + (y1 + t01 * y01);
+ }
+
+ this._ += "A" + r + "," + r + ",0,0," + (+(y01 * x20 > x01 * y20)) + "," + (this._x1 = x1 + t21 * x21) + "," + (this._y1 = y1 + t21 * y21);
+ }
+ },
+ arc: function(x, y, r, a0, a1, ccw) {
+ x = +x, y = +y, r = +r;
+ var dx = r * Math.cos(a0),
+ dy = r * Math.sin(a0),
+ x0 = x + dx,
+ y0 = y + dy,
+ cw = 1 ^ ccw,
+ da = ccw ? a0 - a1 : a1 - a0;
+
+ // Is the radius negative? Error.
+ if (r < 0) throw new Error("negative radius: " + r);
+
+ // Is this path empty? Move to (x0,y0).
+ if (this._x1 === null) {
+ this._ += "M" + x0 + "," + y0;
+ }
+
+ // Or, is (x0,y0) not coincident with the previous point? Line to (x0,y0).
+ else if (Math.abs(this._x1 - x0) > epsilon$1 || Math.abs(this._y1 - y0) > epsilon$1) {
+ this._ += "L" + x0 + "," + y0;
+ }
+
+ // Is this arc empty? We’re done.
+ if (!r) return;
+
+ // Does the angle go the wrong way? Flip the direction.
+ if (da < 0) da = da % tau$2 + tau$2;
+
+ // Is this a complete circle? Draw two arcs to complete the circle.
+ if (da > tauEpsilon) {
+ this._ += "A" + r + "," + r + ",0,1," + cw + "," + (x - dx) + "," + (y - dy) + "A" + r + "," + r + ",0,1," + cw + "," + (this._x1 = x0) + "," + (this._y1 = y0);
+ }
+
+ // Is this arc non-empty? Draw an arc!
+ else if (da > epsilon$1) {
+ this._ += "A" + r + "," + r + ",0," + (+(da >= pi$2)) + "," + cw + "," + (this._x1 = x + r * Math.cos(a1)) + "," + (this._y1 = y + r * Math.sin(a1));
+ }
+ },
+ rect: function(x, y, w, h) {
+ this._ += "M" + (this._x0 = this._x1 = +x) + "," + (this._y0 = this._y1 = +y) + "h" + (+w) + "v" + (+h) + "h" + (-w) + "Z";
+ },
+ toString: function() {
+ return this._;
+ }
+};
+
+function defaultSource(d) {
+ return d.source;
+}
+
+function defaultTarget(d) {
+ return d.target;
+}
+
+function defaultRadius(d) {
+ return d.radius;
+}
+
+function defaultStartAngle(d) {
+ return d.startAngle;
+}
+
+function defaultEndAngle(d) {
+ return d.endAngle;
+}
+
+var ribbon = function() {
+ var source = defaultSource,
+ target = defaultTarget,
+ radius = defaultRadius,
+ startAngle = defaultStartAngle,
+ endAngle = defaultEndAngle,
+ context = null;
+
+ function ribbon() {
+ var buffer,
+ argv = slice$2.call(arguments),
+ s = source.apply(this, argv),
+ t = target.apply(this, argv),
+ sr = +radius.apply(this, (argv[0] = s, argv)),
+ sa0 = startAngle.apply(this, argv) - halfPi$1,
+ sa1 = endAngle.apply(this, argv) - halfPi$1,
+ sx0 = sr * cos(sa0),
+ sy0 = sr * sin(sa0),
+ tr = +radius.apply(this, (argv[0] = t, argv)),
+ ta0 = startAngle.apply(this, argv) - halfPi$1,
+ ta1 = endAngle.apply(this, argv) - halfPi$1;
+
+ if (!context) context = buffer = path();
+
+ context.moveTo(sx0, sy0);
+ context.arc(0, 0, sr, sa0, sa1);
+ if (sa0 !== ta0 || sa1 !== ta1) { // TODO sr !== tr?
+ context.quadraticCurveTo(0, 0, tr * cos(ta0), tr * sin(ta0));
+ context.arc(0, 0, tr, ta0, ta1);
+ }
+ context.quadraticCurveTo(0, 0, sx0, sy0);
+ context.closePath();
+
+ if (buffer) return context = null, buffer + "" || null;
+ }
+
+ ribbon.radius = function(_) {
+ return arguments.length ? (radius = typeof _ === "function" ? _ : constant$5(+_), ribbon) : radius;
+ };
+
+ ribbon.startAngle = function(_) {
+ return arguments.length ? (startAngle = typeof _ === "function" ? _ : constant$5(+_), ribbon) : startAngle;
+ };
+
+ ribbon.endAngle = function(_) {
+ return arguments.length ? (endAngle = typeof _ === "function" ? _ : constant$5(+_), ribbon) : endAngle;
+ };
+
+ ribbon.source = function(_) {
+ return arguments.length ? (source = _, ribbon) : source;
+ };
+
+ ribbon.target = function(_) {
+ return arguments.length ? (target = _, ribbon) : target;
+ };
+
+ ribbon.context = function(_) {
+ return arguments.length ? ((context = _ == null ? null : _), ribbon) : context;
+ };
+
+ return ribbon;
+};
+
+var prefix = "$";
+
+function Map() {}
+
+Map.prototype = map$1.prototype = {
+ constructor: Map,
+ has: function(key) {
+ return (prefix + key) in this;
+ },
+ get: function(key) {
+ return this[prefix + key];
+ },
+ set: function(key, value) {
+ this[prefix + key] = value;
+ return this;
+ },
+ remove: function(key) {
+ var property = prefix + key;
+ return property in this && delete this[property];
+ },
+ clear: function() {
+ for (var property in this) if (property[0] === prefix) delete this[property];
+ },
+ keys: function() {
+ var keys = [];
+ for (var property in this) if (property[0] === prefix) keys.push(property.slice(1));
+ return keys;
+ },
+ values: function() {
+ var values = [];
+ for (var property in this) if (property[0] === prefix) values.push(this[property]);
+ return values;
+ },
+ entries: function() {
+ var entries = [];
+ for (var property in this) if (property[0] === prefix) entries.push({key: property.slice(1), value: this[property]});
+ return entries;
+ },
+ size: function() {
+ var size = 0;
+ for (var property in this) if (property[0] === prefix) ++size;
+ return size;
+ },
+ empty: function() {
+ for (var property in this) if (property[0] === prefix) return false;
+ return true;
+ },
+ each: function(f) {
+ for (var property in this) if (property[0] === prefix) f(this[property], property.slice(1), this);
+ }
+};
+
+function map$1(object, f) {
+ var map = new Map;
+
+ // Copy constructor.
+ if (object instanceof Map) object.each(function(value, key) { map.set(key, value); });
+
+ // Index array by numeric index or specified key function.
+ else if (Array.isArray(object)) {
+ var i = -1,
+ n = object.length,
+ o;
+
+ if (f == null) while (++i < n) map.set(i, object[i]);
+ else while (++i < n) map.set(f(o = object[i], i, object), o);
+ }
+
+ // Convert object to map.
+ else if (object) for (var key in object) map.set(key, object[key]);
+
+ return map;
+}
+
+var nest = function() {
+ var keys = [],
+ sortKeys = [],
+ sortValues,
+ rollup,
+ nest;
+
+ function apply(array, depth, createResult, setResult) {
+ if (depth >= keys.length) return rollup != null
+ ? rollup(array) : (sortValues != null
+ ? array.sort(sortValues)
+ : array);
+
+ var i = -1,
+ n = array.length,
+ key = keys[depth++],
+ keyValue,
+ value,
+ valuesByKey = map$1(),
+ values,
+ result = createResult();
+
+ while (++i < n) {
+ if (values = valuesByKey.get(keyValue = key(value = array[i]) + "")) {
+ values.push(value);
+ } else {
+ valuesByKey.set(keyValue, [value]);
+ }
+ }
+
+ valuesByKey.each(function(values, key) {
+ setResult(result, key, apply(values, depth, createResult, setResult));
+ });
+
+ return result;
+ }
+
+ function entries(map, depth) {
+ if (++depth > keys.length) return map;
+ var array, sortKey = sortKeys[depth - 1];
+ if (rollup != null && depth >= keys.length) array = map.entries();
+ else array = [], map.each(function(v, k) { array.push({key: k, values: entries(v, depth)}); });
+ return sortKey != null ? array.sort(function(a, b) { return sortKey(a.key, b.key); }) : array;
+ }
+
+ return nest = {
+ object: function(array) { return apply(array, 0, createObject, setObject); },
+ map: function(array) { return apply(array, 0, createMap, setMap); },
+ entries: function(array) { return entries(apply(array, 0, createMap, setMap), 0); },
+ key: function(d) { keys.push(d); return nest; },
+ sortKeys: function(order) { sortKeys[keys.length - 1] = order; return nest; },
+ sortValues: function(order) { sortValues = order; return nest; },
+ rollup: function(f) { rollup = f; return nest; }
+ };
+};
+
+function createObject() {
+ return {};
+}
+
+function setObject(object, key, value) {
+ object[key] = value;
+}
+
+function createMap() {
+ return map$1();
+}
+
+function setMap(map, key, value) {
+ map.set(key, value);
+}
+
+function Set() {}
+
+var proto = map$1.prototype;
+
+Set.prototype = set$2.prototype = {
+ constructor: Set,
+ has: proto.has,
+ add: function(value) {
+ value += "";
+ this[prefix + value] = value;
+ return this;
+ },
+ remove: proto.remove,
+ clear: proto.clear,
+ values: proto.keys,
+ size: proto.size,
+ empty: proto.empty,
+ each: proto.each
+};
+
+function set$2(object, f) {
+ var set = new Set;
+
+ // Copy constructor.
+ if (object instanceof Set) object.each(function(value) { set.add(value); });
+
+ // Otherwise, assume it’s an array.
+ else if (object) {
+ var i = -1, n = object.length;
+ if (f == null) while (++i < n) set.add(object[i]);
+ else while (++i < n) set.add(f(object[i], i, object));
+ }
+
+ return set;
+}
+
+var keys = function(map) {
+ var keys = [];
+ for (var key in map) keys.push(key);
+ return keys;
+};
+
+var values = function(map) {
+ var values = [];
+ for (var key in map) values.push(map[key]);
+ return values;
+};
+
+var entries = function(map) {
+ var entries = [];
+ for (var key in map) entries.push({key: key, value: map[key]});
+ return entries;
+};
+
+function objectConverter(columns) {
+ return new Function("d", "return {" + columns.map(function(name, i) {
+ return JSON.stringify(name) + ": d[" + i + "]";
+ }).join(",") + "}");
+}
+
+function customConverter(columns, f) {
+ var object = objectConverter(columns);
+ return function(row, i) {
+ return f(object(row), i, columns);
+ };
+}
+
+// Compute unique columns in order of discovery.
+function inferColumns(rows) {
+ var columnSet = Object.create(null),
+ columns = [];
+
+ rows.forEach(function(row) {
+ for (var column in row) {
+ if (!(column in columnSet)) {
+ columns.push(columnSet[column] = column);
+ }
+ }
+ });
+
+ return columns;
+}
+
+var dsv = function(delimiter) {
+ var reFormat = new RegExp("[\"" + delimiter + "\n\r]"),
+ delimiterCode = delimiter.charCodeAt(0);
+
+ function parse(text, f) {
+ var convert, columns, rows = parseRows(text, function(row, i) {
+ if (convert) return convert(row, i - 1);
+ columns = row, convert = f ? customConverter(row, f) : objectConverter(row);
+ });
+ rows.columns = columns;
+ return rows;
+ }
+
+ function parseRows(text, f) {
+ var EOL = {}, // sentinel value for end-of-line
+ EOF = {}, // sentinel value for end-of-file
+ rows = [], // output rows
+ N = text.length,
+ I = 0, // current character index
+ n = 0, // the current line number
+ t, // the current token
+ eol; // is the current token followed by EOL?
+
+ function token() {
+ if (I >= N) return EOF; // special case: end of file
+ if (eol) return eol = false, EOL; // special case: end of line
+
+ // special case: quotes
+ var j = I, c;
+ if (text.charCodeAt(j) === 34) {
+ var i = j;
+ while (i++ < N) {
+ if (text.charCodeAt(i) === 34) {
+ if (text.charCodeAt(i + 1) !== 34) break;
+ ++i;
+ }
+ }
+ I = i + 2;
+ c = text.charCodeAt(i + 1);
+ if (c === 13) {
+ eol = true;
+ if (text.charCodeAt(i + 2) === 10) ++I;
+ } else if (c === 10) {
+ eol = true;
+ }
+ return text.slice(j + 1, i).replace(/""/g, "\"");
+ }
+
+ // common case: find next delimiter or newline
+ while (I < N) {
+ var k = 1;
+ c = text.charCodeAt(I++);
+ if (c === 10) eol = true; // \n
+ else if (c === 13) { eol = true; if (text.charCodeAt(I) === 10) ++I, ++k; } // \r|\r\n
+ else if (c !== delimiterCode) continue;
+ return text.slice(j, I - k);
+ }
+
+ // special case: last token before EOF
+ return text.slice(j);
+ }
+
+ while ((t = token()) !== EOF) {
+ var a = [];
+ while (t !== EOL && t !== EOF) {
+ a.push(t);
+ t = token();
+ }
+ if (f && (a = f(a, n++)) == null) continue;
+ rows.push(a);
+ }
+
+ return rows;
+ }
+
+ function format(rows, columns) {
+ if (columns == null) columns = inferColumns(rows);
+ return [columns.map(formatValue).join(delimiter)].concat(rows.map(function(row) {
+ return columns.map(function(column) {
+ return formatValue(row[column]);
+ }).join(delimiter);
+ })).join("\n");
+ }
+
+ function formatRows(rows) {
+ return rows.map(formatRow).join("\n");
+ }
+
+ function formatRow(row) {
+ return row.map(formatValue).join(delimiter);
+ }
+
+ function formatValue(text) {
+ return text == null ? ""
+ : reFormat.test(text += "") ? "\"" + text.replace(/\"/g, "\"\"") + "\""
+ : text;
+ }
+
+ return {
+ parse: parse,
+ parseRows: parseRows,
+ format: format,
+ formatRows: formatRows
+ };
+};
+
+var csv = dsv(",");
+
+var csvParse = csv.parse;
+var csvParseRows = csv.parseRows;
+var csvFormat = csv.format;
+var csvFormatRows = csv.formatRows;
+
+var tsv = dsv("\t");
+
+var tsvParse = tsv.parse;
+var tsvParseRows = tsv.parseRows;
+var tsvFormat = tsv.format;
+var tsvFormatRows = tsv.formatRows;
+
+var center$1 = function(x, y) {
+ var nodes;
+
+ if (x == null) x = 0;
+ if (y == null) y = 0;
+
+ function force() {
+ var i,
+ n = nodes.length,
+ node,
+ sx = 0,
+ sy = 0;
+
+ for (i = 0; i < n; ++i) {
+ node = nodes[i], sx += node.x, sy += node.y;
+ }
+
+ for (sx = sx / n - x, sy = sy / n - y, i = 0; i < n; ++i) {
+ node = nodes[i], node.x -= sx, node.y -= sy;
+ }
+ }
+
+ force.initialize = function(_) {
+ nodes = _;
+ };
+
+ force.x = function(_) {
+ return arguments.length ? (x = +_, force) : x;
+ };
+
+ force.y = function(_) {
+ return arguments.length ? (y = +_, force) : y;
+ };
+
+ return force;
+};
+
+var constant$6 = function(x) {
+ return function() {
+ return x;
+ };
+};
+
+var jiggle = function() {
+ return (Math.random() - 0.5) * 1e-6;
+};
+
+var tree_add = function(d) {
+ var x = +this._x.call(null, d),
+ y = +this._y.call(null, d);
+ return add(this.cover(x, y), x, y, d);
+};
+
+function add(tree, x, y, d) {
+ if (isNaN(x) || isNaN(y)) return tree; // ignore invalid points
+
+ var parent,
+ node = tree._root,
+ leaf = {data: d},
+ x0 = tree._x0,
+ y0 = tree._y0,
+ x1 = tree._x1,
+ y1 = tree._y1,
+ xm,
+ ym,
+ xp,
+ yp,
+ right,
+ bottom,
+ i,
+ j;
+
+ // If the tree is empty, initialize the root as a leaf.
+ if (!node) return tree._root = leaf, tree;
+
+ // Find the existing leaf for the new point, or add it.
+ while (node.length) {
+ if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;
+ if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;
+ if (parent = node, !(node = node[i = bottom << 1 | right])) return parent[i] = leaf, tree;
+ }
+
+ // Is the new point is exactly coincident with the existing point?
+ xp = +tree._x.call(null, node.data);
+ yp = +tree._y.call(null, node.data);
+ if (x === xp && y === yp) return leaf.next = node, parent ? parent[i] = leaf : tree._root = leaf, tree;
+
+ // Otherwise, split the leaf node until the old and new point are separated.
+ do {
+ parent = parent ? parent[i] = new Array(4) : tree._root = new Array(4);
+ if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;
+ if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;
+ } while ((i = bottom << 1 | right) === (j = (yp >= ym) << 1 | (xp >= xm)));
+ return parent[j] = node, parent[i] = leaf, tree;
+}
+
+function addAll(data) {
+ var d, i, n = data.length,
+ x,
+ y,
+ xz = new Array(n),
+ yz = new Array(n),
+ x0 = Infinity,
+ y0 = Infinity,
+ x1 = -Infinity,
+ y1 = -Infinity;
+
+ // Compute the points and their extent.
+ for (i = 0; i < n; ++i) {
+ if (isNaN(x = +this._x.call(null, d = data[i])) || isNaN(y = +this._y.call(null, d))) continue;
+ xz[i] = x;
+ yz[i] = y;
+ if (x < x0) x0 = x;
+ if (x > x1) x1 = x;
+ if (y < y0) y0 = y;
+ if (y > y1) y1 = y;
+ }
+
+ // If there were no (valid) points, inherit the existing extent.
+ if (x1 < x0) x0 = this._x0, x1 = this._x1;
+ if (y1 < y0) y0 = this._y0, y1 = this._y1;
+
+ // Expand the tree to cover the new points.
+ this.cover(x0, y0).cover(x1, y1);
+
+ // Add the new points.
+ for (i = 0; i < n; ++i) {
+ add(this, xz[i], yz[i], data[i]);
+ }
+
+ return this;
+}
+
+var tree_cover = function(x, y) {
+ if (isNaN(x = +x) || isNaN(y = +y)) return this; // ignore invalid points
+
+ var x0 = this._x0,
+ y0 = this._y0,
+ x1 = this._x1,
+ y1 = this._y1;
+
+ // If the quadtree has no extent, initialize them.
+ // Integer extent are necessary so that if we later double the extent,
+ // the existing quadrant boundaries don’t change due to floating point error!
+ if (isNaN(x0)) {
+ x1 = (x0 = Math.floor(x)) + 1;
+ y1 = (y0 = Math.floor(y)) + 1;
+ }
+
+ // Otherwise, double repeatedly to cover.
+ else if (x0 > x || x > x1 || y0 > y || y > y1) {
+ var z = x1 - x0,
+ node = this._root,
+ parent,
+ i;
+
+ switch (i = (y < (y0 + y1) / 2) << 1 | (x < (x0 + x1) / 2)) {
+ case 0: {
+ do parent = new Array(4), parent[i] = node, node = parent;
+ while (z *= 2, x1 = x0 + z, y1 = y0 + z, x > x1 || y > y1);
+ break;
+ }
+ case 1: {
+ do parent = new Array(4), parent[i] = node, node = parent;
+ while (z *= 2, x0 = x1 - z, y1 = y0 + z, x0 > x || y > y1);
+ break;
+ }
+ case 2: {
+ do parent = new Array(4), parent[i] = node, node = parent;
+ while (z *= 2, x1 = x0 + z, y0 = y1 - z, x > x1 || y0 > y);
+ break;
+ }
+ case 3: {
+ do parent = new Array(4), parent[i] = node, node = parent;
+ while (z *= 2, x0 = x1 - z, y0 = y1 - z, x0 > x || y0 > y);
+ break;
+ }
+ }
+
+ if (this._root && this._root.length) this._root = node;
+ }
+
+ // If the quadtree covers the point already, just return.
+ else return this;
+
+ this._x0 = x0;
+ this._y0 = y0;
+ this._x1 = x1;
+ this._y1 = y1;
+ return this;
+};
+
+var tree_data = function() {
+ var data = [];
+ this.visit(function(node) {
+ if (!node.length) do data.push(node.data); while (node = node.next)
+ });
+ return data;
+};
+
+var tree_extent = function(_) {
+ return arguments.length
+ ? this.cover(+_[0][0], +_[0][1]).cover(+_[1][0], +_[1][1])
+ : isNaN(this._x0) ? undefined : [[this._x0, this._y0], [this._x1, this._y1]];
+};
+
+var Quad = function(node, x0, y0, x1, y1) {
+ this.node = node;
+ this.x0 = x0;
+ this.y0 = y0;
+ this.x1 = x1;
+ this.y1 = y1;
+};
+
+var tree_find = function(x, y, radius) {
+ var data,
+ x0 = this._x0,
+ y0 = this._y0,
+ x1,
+ y1,
+ x2,
+ y2,
+ x3 = this._x1,
+ y3 = this._y1,
+ quads = [],
+ node = this._root,
+ q,
+ i;
+
+ if (node) quads.push(new Quad(node, x0, y0, x3, y3));
+ if (radius == null) radius = Infinity;
+ else {
+ x0 = x - radius, y0 = y - radius;
+ x3 = x + radius, y3 = y + radius;
+ radius *= radius;
+ }
+
+ while (q = quads.pop()) {
+
+ // Stop searching if this quadrant can’t contain a closer node.
+ if (!(node = q.node)
+ || (x1 = q.x0) > x3
+ || (y1 = q.y0) > y3
+ || (x2 = q.x1) < x0
+ || (y2 = q.y1) < y0) continue;
+
+ // Bisect the current quadrant.
+ if (node.length) {
+ var xm = (x1 + x2) / 2,
+ ym = (y1 + y2) / 2;
+
+ quads.push(
+ new Quad(node[3], xm, ym, x2, y2),
+ new Quad(node[2], x1, ym, xm, y2),
+ new Quad(node[1], xm, y1, x2, ym),
+ new Quad(node[0], x1, y1, xm, ym)
+ );
+
+ // Visit the closest quadrant first.
+ if (i = (y >= ym) << 1 | (x >= xm)) {
+ q = quads[quads.length - 1];
+ quads[quads.length - 1] = quads[quads.length - 1 - i];
+ quads[quads.length - 1 - i] = q;
+ }
+ }
+
+ // Visit this point. (Visiting coincident points isn’t necessary!)
+ else {
+ var dx = x - +this._x.call(null, node.data),
+ dy = y - +this._y.call(null, node.data),
+ d2 = dx * dx + dy * dy;
+ if (d2 < radius) {
+ var d = Math.sqrt(radius = d2);
+ x0 = x - d, y0 = y - d;
+ x3 = x + d, y3 = y + d;
+ data = node.data;
+ }
+ }
+ }
+
+ return data;
+};
+
+var tree_remove = function(d) {
+ if (isNaN(x = +this._x.call(null, d)) || isNaN(y = +this._y.call(null, d))) return this; // ignore invalid points
+
+ var parent,
+ node = this._root,
+ retainer,
+ previous,
+ next,
+ x0 = this._x0,
+ y0 = this._y0,
+ x1 = this._x1,
+ y1 = this._y1,
+ x,
+ y,
+ xm,
+ ym,
+ right,
+ bottom,
+ i,
+ j;
+
+ // If the tree is empty, initialize the root as a leaf.
+ if (!node) return this;
+
+ // Find the leaf node for the point.
+ // While descending, also retain the deepest parent with a non-removed sibling.
+ if (node.length) while (true) {
+ if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;
+ if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;
+ if (!(parent = node, node = node[i = bottom << 1 | right])) return this;
+ if (!node.length) break;
+ if (parent[(i + 1) & 3] || parent[(i + 2) & 3] || parent[(i + 3) & 3]) retainer = parent, j = i;
+ }
+
+ // Find the point to remove.
+ while (node.data !== d) if (!(previous = node, node = node.next)) return this;
+ if (next = node.next) delete node.next;
+
+ // If there are multiple coincident points, remove just the point.
+ if (previous) return (next ? previous.next = next : delete previous.next), this;
+
+ // If this is the root point, remove it.
+ if (!parent) return this._root = next, this;
+
+ // Remove this leaf.
+ next ? parent[i] = next : delete parent[i];
+
+ // If the parent now contains exactly one leaf, collapse superfluous parents.
+ if ((node = parent[0] || parent[1] || parent[2] || parent[3])
+ && node === (parent[3] || parent[2] || parent[1] || parent[0])
+ && !node.length) {
+ if (retainer) retainer[j] = node;
+ else this._root = node;
+ }
+
+ return this;
+};
+
+function removeAll(data) {
+ for (var i = 0, n = data.length; i < n; ++i) this.remove(data[i]);
+ return this;
+}
+
+var tree_root = function() {
+ return this._root;
+};
+
+var tree_size = function() {
+ var size = 0;
+ this.visit(function(node) {
+ if (!node.length) do ++size; while (node = node.next)
+ });
+ return size;
+};
+
+var tree_visit = function(callback) {
+ var quads = [], q, node = this._root, child, x0, y0, x1, y1;
+ if (node) quads.push(new Quad(node, this._x0, this._y0, this._x1, this._y1));
+ while (q = quads.pop()) {
+ if (!callback(node = q.node, x0 = q.x0, y0 = q.y0, x1 = q.x1, y1 = q.y1) && node.length) {
+ var xm = (x0 + x1) / 2, ym = (y0 + y1) / 2;
+ if (child = node[3]) quads.push(new Quad(child, xm, ym, x1, y1));
+ if (child = node[2]) quads.push(new Quad(child, x0, ym, xm, y1));
+ if (child = node[1]) quads.push(new Quad(child, xm, y0, x1, ym));
+ if (child = node[0]) quads.push(new Quad(child, x0, y0, xm, ym));
+ }
+ }
+ return this;
+};
+
+var tree_visitAfter = function(callback) {
+ var quads = [], next = [], q;
+ if (this._root) quads.push(new Quad(this._root, this._x0, this._y0, this._x1, this._y1));
+ while (q = quads.pop()) {
+ var node = q.node;
+ if (node.length) {
+ var child, x0 = q.x0, y0 = q.y0, x1 = q.x1, y1 = q.y1, xm = (x0 + x1) / 2, ym = (y0 + y1) / 2;
+ if (child = node[0]) quads.push(new Quad(child, x0, y0, xm, ym));
+ if (child = node[1]) quads.push(new Quad(child, xm, y0, x1, ym));
+ if (child = node[2]) quads.push(new Quad(child, x0, ym, xm, y1));
+ if (child = node[3]) quads.push(new Quad(child, xm, ym, x1, y1));
+ }
+ next.push(q);
+ }
+ while (q = next.pop()) {
+ callback(q.node, q.x0, q.y0, q.x1, q.y1);
+ }
+ return this;
+};
+
+function defaultX(d) {
+ return d[0];
+}
+
+var tree_x = function(_) {
+ return arguments.length ? (this._x = _, this) : this._x;
+};
+
+function defaultY(d) {
+ return d[1];
+}
+
+var tree_y = function(_) {
+ return arguments.length ? (this._y = _, this) : this._y;
+};
+
+function quadtree(nodes, x, y) {
+ var tree = new Quadtree(x == null ? defaultX : x, y == null ? defaultY : y, NaN, NaN, NaN, NaN);
+ return nodes == null ? tree : tree.addAll(nodes);
+}
+
+function Quadtree(x, y, x0, y0, x1, y1) {
+ this._x = x;
+ this._y = y;
+ this._x0 = x0;
+ this._y0 = y0;
+ this._x1 = x1;
+ this._y1 = y1;
+ this._root = undefined;
+}
+
+function leaf_copy(leaf) {
+ var copy = {data: leaf.data}, next = copy;
+ while (leaf = leaf.next) next = next.next = {data: leaf.data};
+ return copy;
+}
+
+var treeProto = quadtree.prototype = Quadtree.prototype;
+
+treeProto.copy = function() {
+ var copy = new Quadtree(this._x, this._y, this._x0, this._y0, this._x1, this._y1),
+ node = this._root,
+ nodes,
+ child;
+
+ if (!node) return copy;
+
+ if (!node.length) return copy._root = leaf_copy(node), copy;
+
+ nodes = [{source: node, target: copy._root = new Array(4)}];
+ while (node = nodes.pop()) {
+ for (var i = 0; i < 4; ++i) {
+ if (child = node.source[i]) {
+ if (child.length) nodes.push({source: child, target: node.target[i] = new Array(4)});
+ else node.target[i] = leaf_copy(child);
+ }
+ }
+ }
+
+ return copy;
+};
+
+treeProto.add = tree_add;
+treeProto.addAll = addAll;
+treeProto.cover = tree_cover;
+treeProto.data = tree_data;
+treeProto.extent = tree_extent;
+treeProto.find = tree_find;
+treeProto.remove = tree_remove;
+treeProto.removeAll = removeAll;
+treeProto.root = tree_root;
+treeProto.size = tree_size;
+treeProto.visit = tree_visit;
+treeProto.visitAfter = tree_visitAfter;
+treeProto.x = tree_x;
+treeProto.y = tree_y;
+
+function x(d) {
+ return d.x + d.vx;
+}
+
+function y(d) {
+ return d.y + d.vy;
+}
+
+var collide = function(radius) {
+ var nodes,
+ radii,
+ strength = 1,
+ iterations = 1;
+
+ if (typeof radius !== "function") radius = constant$6(radius == null ? 1 : +radius);
+
+ function force() {
+ var i, n = nodes.length,
+ tree,
+ node,
+ xi,
+ yi,
+ ri,
+ ri2;
+
+ for (var k = 0; k < iterations; ++k) {
+ tree = quadtree(nodes, x, y).visitAfter(prepare);
+ for (i = 0; i < n; ++i) {
+ node = nodes[i];
+ ri = radii[node.index], ri2 = ri * ri;
+ xi = node.x + node.vx;
+ yi = node.y + node.vy;
+ tree.visit(apply);
+ }
+ }
+
+ function apply(quad, x0, y0, x1, y1) {
+ var data = quad.data, rj = quad.r, r = ri + rj;
+ if (data) {
+ if (data.index > node.index) {
+ var x = xi - data.x - data.vx,
+ y = yi - data.y - data.vy,
+ l = x * x + y * y;
+ if (l < r * r) {
+ if (x === 0) x = jiggle(), l += x * x;
+ if (y === 0) y = jiggle(), l += y * y;
+ l = (r - (l = Math.sqrt(l))) / l * strength;
+ node.vx += (x *= l) * (r = (rj *= rj) / (ri2 + rj));
+ node.vy += (y *= l) * r;
+ data.vx -= x * (r = 1 - r);
+ data.vy -= y * r;
+ }
+ }
+ return;
+ }
+ return x0 > xi + r || x1 < xi - r || y0 > yi + r || y1 < yi - r;
+ }
+ }
+
+ function prepare(quad) {
+ if (quad.data) return quad.r = radii[quad.data.index];
+ for (var i = quad.r = 0; i < 4; ++i) {
+ if (quad[i] && quad[i].r > quad.r) {
+ quad.r = quad[i].r;
+ }
+ }
+ }
+
+ function initialize() {
+ if (!nodes) return;
+ var i, n = nodes.length, node;
+ radii = new Array(n);
+ for (i = 0; i < n; ++i) node = nodes[i], radii[node.index] = +radius(node, i, nodes);
+ }
+
+ force.initialize = function(_) {
+ nodes = _;
+ initialize();
+ };
+
+ force.iterations = function(_) {
+ return arguments.length ? (iterations = +_, force) : iterations;
+ };
+
+ force.strength = function(_) {
+ return arguments.length ? (strength = +_, force) : strength;
+ };
+
+ force.radius = function(_) {
+ return arguments.length ? (radius = typeof _ === "function" ? _ : constant$6(+_), initialize(), force) : radius;
+ };
+
+ return force;
+};
+
+function index(d) {
+ return d.index;
+}
+
+function find(nodeById, nodeId) {
+ var node = nodeById.get(nodeId);
+ if (!node) throw new Error("missing: " + nodeId);
+ return node;
+}
+
+var link = function(links) {
+ var id = index,
+ strength = defaultStrength,
+ strengths,
+ distance = constant$6(30),
+ distances,
+ nodes,
+ count,
+ bias,
+ iterations = 1;
+
+ if (links == null) links = [];
+
+ function defaultStrength(link) {
+ return 1 / Math.min(count[link.source.index], count[link.target.index]);
+ }
+
+ function force(alpha) {
+ for (var k = 0, n = links.length; k < iterations; ++k) {
+ for (var i = 0, link, source, target, x, y, l, b; i < n; ++i) {
+ link = links[i], source = link.source, target = link.target;
+ x = target.x + target.vx - source.x - source.vx || jiggle();
+ y = target.y + target.vy - source.y - source.vy || jiggle();
+ l = Math.sqrt(x * x + y * y);
+ l = (l - distances[i]) / l * alpha * strengths[i];
+ x *= l, y *= l;
+ target.vx -= x * (b = bias[i]);
+ target.vy -= y * b;
+ source.vx += x * (b = 1 - b);
+ source.vy += y * b;
+ }
+ }
+ }
+
+ function initialize() {
+ if (!nodes) return;
+
+ var i,
+ n = nodes.length,
+ m = links.length,
+ nodeById = map$1(nodes, id),
+ link;
+
+ for (i = 0, count = new Array(n); i < m; ++i) {
+ link = links[i], link.index = i;
+ if (typeof link.source !== "object") link.source = find(nodeById, link.source);
+ if (typeof link.target !== "object") link.target = find(nodeById, link.target);
+ count[link.source.index] = (count[link.source.index] || 0) + 1;
+ count[link.target.index] = (count[link.target.index] || 0) + 1;
+ }
+
+ for (i = 0, bias = new Array(m); i < m; ++i) {
+ link = links[i], bias[i] = count[link.source.index] / (count[link.source.index] + count[link.target.index]);
+ }
+
+ strengths = new Array(m), initializeStrength();
+ distances = new Array(m), initializeDistance();
+ }
+
+ function initializeStrength() {
+ if (!nodes) return;
+
+ for (var i = 0, n = links.length; i < n; ++i) {
+ strengths[i] = +strength(links[i], i, links);
+ }
+ }
+
+ function initializeDistance() {
+ if (!nodes) return;
+
+ for (var i = 0, n = links.length; i < n; ++i) {
+ distances[i] = +distance(links[i], i, links);
+ }
+ }
+
+ force.initialize = function(_) {
+ nodes = _;
+ initialize();
+ };
+
+ force.links = function(_) {
+ return arguments.length ? (links = _, initialize(), force) : links;
+ };
+
+ force.id = function(_) {
+ return arguments.length ? (id = _, force) : id;
+ };
+
+ force.iterations = function(_) {
+ return arguments.length ? (iterations = +_, force) : iterations;
+ };
+
+ force.strength = function(_) {
+ return arguments.length ? (strength = typeof _ === "function" ? _ : constant$6(+_), initializeStrength(), force) : strength;
+ };
+
+ force.distance = function(_) {
+ return arguments.length ? (distance = typeof _ === "function" ? _ : constant$6(+_), initializeDistance(), force) : distance;
+ };
+
+ return force;
+};
+
+function x$1(d) {
+ return d.x;
+}
+
+function y$1(d) {
+ return d.y;
+}
+
+var initialRadius = 10;
+var initialAngle = Math.PI * (3 - Math.sqrt(5));
+
+var simulation = function(nodes) {
+ var simulation,
+ alpha = 1,
+ alphaMin = 0.001,
+ alphaDecay = 1 - Math.pow(alphaMin, 1 / 300),
+ alphaTarget = 0,
+ velocityDecay = 0.6,
+ forces = map$1(),
+ stepper = timer(step),
+ event = dispatch("tick", "end");
+
+ if (nodes == null) nodes = [];
+
+ function step() {
+ tick();
+ event.call("tick", simulation);
+ if (alpha < alphaMin) {
+ stepper.stop();
+ event.call("end", simulation);
+ }
+ }
+
+ function tick() {
+ var i, n = nodes.length, node;
+
+ alpha += (alphaTarget - alpha) * alphaDecay;
+
+ forces.each(function(force) {
+ force(alpha);
+ });
+
+ for (i = 0; i < n; ++i) {
+ node = nodes[i];
+ if (node.fx == null) node.x += node.vx *= velocityDecay;
+ else node.x = node.fx, node.vx = 0;
+ if (node.fy == null) node.y += node.vy *= velocityDecay;
+ else node.y = node.fy, node.vy = 0;
+ }
+ }
+
+ function initializeNodes() {
+ for (var i = 0, n = nodes.length, node; i < n; ++i) {
+ node = nodes[i], node.index = i;
+ if (isNaN(node.x) || isNaN(node.y)) {
+ var radius = initialRadius * Math.sqrt(i), angle = i * initialAngle;
+ node.x = radius * Math.cos(angle);
+ node.y = radius * Math.sin(angle);
+ }
+ if (isNaN(node.vx) || isNaN(node.vy)) {
+ node.vx = node.vy = 0;
+ }
+ }
+ }
+
+ function initializeForce(force) {
+ if (force.initialize) force.initialize(nodes);
+ return force;
+ }
+
+ initializeNodes();
+
+ return simulation = {
+ tick: tick,
+
+ restart: function() {
+ return stepper.restart(step), simulation;
+ },
+
+ stop: function() {
+ return stepper.stop(), simulation;
+ },
+
+ nodes: function(_) {
+ return arguments.length ? (nodes = _, initializeNodes(), forces.each(initializeForce), simulation) : nodes;
+ },
+
+ alpha: function(_) {
+ return arguments.length ? (alpha = +_, simulation) : alpha;
+ },
+
+ alphaMin: function(_) {
+ return arguments.length ? (alphaMin = +_, simulation) : alphaMin;
+ },
+
+ alphaDecay: function(_) {
+ return arguments.length ? (alphaDecay = +_, simulation) : +alphaDecay;
+ },
+
+ alphaTarget: function(_) {
+ return arguments.length ? (alphaTarget = +_, simulation) : alphaTarget;
+ },
+
+ velocityDecay: function(_) {
+ return arguments.length ? (velocityDecay = 1 - _, simulation) : 1 - velocityDecay;
+ },
+
+ force: function(name, _) {
+ return arguments.length > 1 ? ((_ == null ? forces.remove(name) : forces.set(name, initializeForce(_))), simulation) : forces.get(name);
+ },
+
+ find: function(x, y, radius) {
+ var i = 0,
+ n = nodes.length,
+ dx,
+ dy,
+ d2,
+ node,
+ closest;
+
+ if (radius == null) radius = Infinity;
+ else radius *= radius;
+
+ for (i = 0; i < n; ++i) {
+ node = nodes[i];
+ dx = x - node.x;
+ dy = y - node.y;
+ d2 = dx * dx + dy * dy;
+ if (d2 < radius) closest = node, radius = d2;
+ }
+
+ return closest;
+ },
+
+ on: function(name, _) {
+ return arguments.length > 1 ? (event.on(name, _), simulation) : event.on(name);
+ }
+ };
+};
+
+var manyBody = function() {
+ var nodes,
+ node,
+ alpha,
+ strength = constant$6(-30),
+ strengths,
+ distanceMin2 = 1,
+ distanceMax2 = Infinity,
+ theta2 = 0.81;
+
+ function force(_) {
+ var i, n = nodes.length, tree = quadtree(nodes, x$1, y$1).visitAfter(accumulate);
+ for (alpha = _, i = 0; i < n; ++i) node = nodes[i], tree.visit(apply);
+ }
+
+ function initialize() {
+ if (!nodes) return;
+ var i, n = nodes.length, node;
+ strengths = new Array(n);
+ for (i = 0; i < n; ++i) node = nodes[i], strengths[node.index] = +strength(node, i, nodes);
+ }
+
+ function accumulate(quad) {
+ var strength = 0, q, c, x$$1, y$$1, i;
+
+ // For internal nodes, accumulate forces from child quadrants.
+ if (quad.length) {
+ for (x$$1 = y$$1 = i = 0; i < 4; ++i) {
+ if ((q = quad[i]) && (c = q.value)) {
+ strength += c, x$$1 += c * q.x, y$$1 += c * q.y;
+ }
+ }
+ quad.x = x$$1 / strength;
+ quad.y = y$$1 / strength;
+ }
+
+ // For leaf nodes, accumulate forces from coincident quadrants.
+ else {
+ q = quad;
+ q.x = q.data.x;
+ q.y = q.data.y;
+ do strength += strengths[q.data.index];
+ while (q = q.next);
+ }
+
+ quad.value = strength;
+ }
+
+ function apply(quad, x1, _, x2) {
+ if (!quad.value) return true;
+
+ var x$$1 = quad.x - node.x,
+ y$$1 = quad.y - node.y,
+ w = x2 - x1,
+ l = x$$1 * x$$1 + y$$1 * y$$1;
+
+ // Apply the Barnes-Hut approximation if possible.
+ // Limit forces for very close nodes; randomize direction if coincident.
+ if (w * w / theta2 < l) {
+ if (l < distanceMax2) {
+ if (x$$1 === 0) x$$1 = jiggle(), l += x$$1 * x$$1;
+ if (y$$1 === 0) y$$1 = jiggle(), l += y$$1 * y$$1;
+ if (l < distanceMin2) l = Math.sqrt(distanceMin2 * l);
+ node.vx += x$$1 * quad.value * alpha / l;
+ node.vy += y$$1 * quad.value * alpha / l;
+ }
+ return true;
+ }
+
+ // Otherwise, process points directly.
+ else if (quad.length || l >= distanceMax2) return;
+
+ // Limit forces for very close nodes; randomize direction if coincident.
+ if (quad.data !== node || quad.next) {
+ if (x$$1 === 0) x$$1 = jiggle(), l += x$$1 * x$$1;
+ if (y$$1 === 0) y$$1 = jiggle(), l += y$$1 * y$$1;
+ if (l < distanceMin2) l = Math.sqrt(distanceMin2 * l);
+ }
+
+ do if (quad.data !== node) {
+ w = strengths[quad.data.index] * alpha / l;
+ node.vx += x$$1 * w;
+ node.vy += y$$1 * w;
+ } while (quad = quad.next);
+ }
+
+ force.initialize = function(_) {
+ nodes = _;
+ initialize();
+ };
+
+ force.strength = function(_) {
+ return arguments.length ? (strength = typeof _ === "function" ? _ : constant$6(+_), initialize(), force) : strength;
+ };
+
+ force.distanceMin = function(_) {
+ return arguments.length ? (distanceMin2 = _ * _, force) : Math.sqrt(distanceMin2);
+ };
+
+ force.distanceMax = function(_) {
+ return arguments.length ? (distanceMax2 = _ * _, force) : Math.sqrt(distanceMax2);
+ };
+
+ force.theta = function(_) {
+ return arguments.length ? (theta2 = _ * _, force) : Math.sqrt(theta2);
+ };
+
+ return force;
+};
+
+var x$2 = function(x) {
+ var strength = constant$6(0.1),
+ nodes,
+ strengths,
+ xz;
+
+ if (typeof x !== "function") x = constant$6(x == null ? 0 : +x);
+
+ function force(alpha) {
+ for (var i = 0, n = nodes.length, node; i < n; ++i) {
+ node = nodes[i], node.vx += (xz[i] - node.x) * strengths[i] * alpha;
+ }
+ }
+
+ function initialize() {
+ if (!nodes) return;
+ var i, n = nodes.length;
+ strengths = new Array(n);
+ xz = new Array(n);
+ for (i = 0; i < n; ++i) {
+ strengths[i] = isNaN(xz[i] = +x(nodes[i], i, nodes)) ? 0 : +strength(nodes[i], i, nodes);
+ }
+ }
+
+ force.initialize = function(_) {
+ nodes = _;
+ initialize();
+ };
+
+ force.strength = function(_) {
+ return arguments.length ? (strength = typeof _ === "function" ? _ : constant$6(+_), initialize(), force) : strength;
+ };
+
+ force.x = function(_) {
+ return arguments.length ? (x = typeof _ === "function" ? _ : constant$6(+_), initialize(), force) : x;
+ };
+
+ return force;
+};
+
+var y$2 = function(y) {
+ var strength = constant$6(0.1),
+ nodes,
+ strengths,
+ yz;
+
+ if (typeof y !== "function") y = constant$6(y == null ? 0 : +y);
+
+ function force(alpha) {
+ for (var i = 0, n = nodes.length, node; i < n; ++i) {
+ node = nodes[i], node.vy += (yz[i] - node.y) * strengths[i] * alpha;
+ }
+ }
+
+ function initialize() {
+ if (!nodes) return;
+ var i, n = nodes.length;
+ strengths = new Array(n);
+ yz = new Array(n);
+ for (i = 0; i < n; ++i) {
+ strengths[i] = isNaN(yz[i] = +y(nodes[i], i, nodes)) ? 0 : +strength(nodes[i], i, nodes);
+ }
+ }
+
+ force.initialize = function(_) {
+ nodes = _;
+ initialize();
+ };
+
+ force.strength = function(_) {
+ return arguments.length ? (strength = typeof _ === "function" ? _ : constant$6(+_), initialize(), force) : strength;
+ };
+
+ force.y = function(_) {
+ return arguments.length ? (y = typeof _ === "function" ? _ : constant$6(+_), initialize(), force) : y;
+ };
+
+ return force;
+};
+
+// Computes the decimal coefficient and exponent of the specified number x with
+// significant digits p, where x is positive and p is in [1, 21] or undefined.
+// For example, formatDecimal(1.23) returns ["123", 0].
+var formatDecimal = function(x, p) {
+ if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf("e")) < 0) return null; // NaN, ±Infinity
+ var i, coefficient = x.slice(0, i);
+
+ // The string returned by toExponential either has the form \d\.\d+e[-+]\d+
+ // (e.g., 1.2e+3) or the form \de[-+]\d+ (e.g., 1e+3).
+ return [
+ coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,
+ +x.slice(i + 1)
+ ];
+};
+
+var exponent$1 = function(x) {
+ return x = formatDecimal(Math.abs(x)), x ? x[1] : NaN;
+};
+
+var formatGroup = function(grouping, thousands) {
+ return function(value, width) {
+ var i = value.length,
+ t = [],
+ j = 0,
+ g = grouping[0],
+ length = 0;
+
+ while (i > 0 && g > 0) {
+ if (length + g + 1 > width) g = Math.max(1, width - length);
+ t.push(value.substring(i -= g, i + g));
+ if ((length += g + 1) > width) break;
+ g = grouping[j = (j + 1) % grouping.length];
+ }
+
+ return t.reverse().join(thousands);
+ };
+};
+
+var formatNumerals = function(numerals) {
+ return function(value) {
+ return value.replace(/[0-9]/g, function(i) {
+ return numerals[+i];
+ });
+ };
+};
+
+var formatDefault = function(x, p) {
+ x = x.toPrecision(p);
+
+ out: for (var n = x.length, i = 1, i0 = -1, i1; i < n; ++i) {
+ switch (x[i]) {
+ case ".": i0 = i1 = i; break;
+ case "0": if (i0 === 0) i0 = i; i1 = i; break;
+ case "e": break out;
+ default: if (i0 > 0) i0 = 0; break;
+ }
+ }
+
+ return i0 > 0 ? x.slice(0, i0) + x.slice(i1 + 1) : x;
+};
+
+var prefixExponent;
+
+var formatPrefixAuto = function(x, p) {
+ var d = formatDecimal(x, p);
+ if (!d) return x + "";
+ var coefficient = d[0],
+ exponent = d[1],
+ i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,
+ n = coefficient.length;
+ return i === n ? coefficient
+ : i > n ? coefficient + new Array(i - n + 1).join("0")
+ : i > 0 ? coefficient.slice(0, i) + "." + coefficient.slice(i)
+ : "0." + new Array(1 - i).join("0") + formatDecimal(x, Math.max(0, p + i - 1))[0]; // less than 1y!
+};
+
+var formatRounded = function(x, p) {
+ var d = formatDecimal(x, p);
+ if (!d) return x + "";
+ var coefficient = d[0],
+ exponent = d[1];
+ return exponent < 0 ? "0." + new Array(-exponent).join("0") + coefficient
+ : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + "." + coefficient.slice(exponent + 1)
+ : coefficient + new Array(exponent - coefficient.length + 2).join("0");
+};
+
+var formatTypes = {
+ "": formatDefault,
+ "%": function(x, p) { return (x * 100).toFixed(p); },
+ "b": function(x) { return Math.round(x).toString(2); },
+ "c": function(x) { return x + ""; },
+ "d": function(x) { return Math.round(x).toString(10); },
+ "e": function(x, p) { return x.toExponential(p); },
+ "f": function(x, p) { return x.toFixed(p); },
+ "g": function(x, p) { return x.toPrecision(p); },
+ "o": function(x) { return Math.round(x).toString(8); },
+ "p": function(x, p) { return formatRounded(x * 100, p); },
+ "r": formatRounded,
+ "s": formatPrefixAuto,
+ "X": function(x) { return Math.round(x).toString(16).toUpperCase(); },
+ "x": function(x) { return Math.round(x).toString(16); }
+};
+
+// [[fill]align][sign][symbol][0][width][,][.precision][type]
+var re = /^(?:(.)?([<>=^]))?([+\-\( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?([a-z%])?$/i;
+
+function formatSpecifier(specifier) {
+ return new FormatSpecifier(specifier);
+}
+
+formatSpecifier.prototype = FormatSpecifier.prototype; // instanceof
+
+function FormatSpecifier(specifier) {
+ if (!(match = re.exec(specifier))) throw new Error("invalid format: " + specifier);
+
+ var match,
+ fill = match[1] || " ",
+ align = match[2] || ">",
+ sign = match[3] || "-",
+ symbol = match[4] || "",
+ zero = !!match[5],
+ width = match[6] && +match[6],
+ comma = !!match[7],
+ precision = match[8] && +match[8].slice(1),
+ type = match[9] || "";
+
+ // The "n" type is an alias for ",g".
+ if (type === "n") comma = true, type = "g";
+
+ // Map invalid types to the default format.
+ else if (!formatTypes[type]) type = "";
+
+ // If zero fill is specified, padding goes after sign and before digits.
+ if (zero || (fill === "0" && align === "=")) zero = true, fill = "0", align = "=";
+
+ this.fill = fill;
+ this.align = align;
+ this.sign = sign;
+ this.symbol = symbol;
+ this.zero = zero;
+ this.width = width;
+ this.comma = comma;
+ this.precision = precision;
+ this.type = type;
+}
+
+FormatSpecifier.prototype.toString = function() {
+ return this.fill
+ + this.align
+ + this.sign
+ + this.symbol
+ + (this.zero ? "0" : "")
+ + (this.width == null ? "" : Math.max(1, this.width | 0))
+ + (this.comma ? "," : "")
+ + (this.precision == null ? "" : "." + Math.max(0, this.precision | 0))
+ + this.type;
+};
+
+var identity$3 = function(x) {
+ return x;
+};
+
+var prefixes = ["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];
+
+var formatLocale = function(locale) {
+ var group = locale.grouping && locale.thousands ? formatGroup(locale.grouping, locale.thousands) : identity$3,
+ currency = locale.currency,
+ decimal = locale.decimal,
+ numerals = locale.numerals ? formatNumerals(locale.numerals) : identity$3,
+ percent = locale.percent || "%";
+
+ function newFormat(specifier) {
+ specifier = formatSpecifier(specifier);
+
+ var fill = specifier.fill,
+ align = specifier.align,
+ sign = specifier.sign,
+ symbol = specifier.symbol,
+ zero = specifier.zero,
+ width = specifier.width,
+ comma = specifier.comma,
+ precision = specifier.precision,
+ type = specifier.type;
+
+ // Compute the prefix and suffix.
+ // For SI-prefix, the suffix is lazily computed.
+ var prefix = symbol === "$" ? currency[0] : symbol === "#" && /[boxX]/.test(type) ? "0" + type.toLowerCase() : "",
+ suffix = symbol === "$" ? currency[1] : /[%p]/.test(type) ? percent : "";
+
+ // What format function should we use?
+ // Is this an integer type?
+ // Can this type generate exponential notation?
+ var formatType = formatTypes[type],
+ maybeSuffix = !type || /[defgprs%]/.test(type);
+
+ // Set the default precision if not specified,
+ // or clamp the specified precision to the supported range.
+ // For significant precision, it must be in [1, 21].
+ // For fixed precision, it must be in [0, 20].
+ precision = precision == null ? (type ? 6 : 12)
+ : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision))
+ : Math.max(0, Math.min(20, precision));
+
+ function format(value) {
+ var valuePrefix = prefix,
+ valueSuffix = suffix,
+ i, n, c;
+
+ if (type === "c") {
+ valueSuffix = formatType(value) + valueSuffix;
+ value = "";
+ } else {
+ value = +value;
+
+ // Perform the initial formatting.
+ var valueNegative = value < 0;
+ value = formatType(Math.abs(value), precision);
+
+ // If a negative value rounds to zero during formatting, treat as positive.
+ if (valueNegative && +value === 0) valueNegative = false;
+
+ // Compute the prefix and suffix.
+ valuePrefix = (valueNegative ? (sign === "(" ? sign : "-") : sign === "-" || sign === "(" ? "" : sign) + valuePrefix;
+ valueSuffix = valueSuffix + (type === "s" ? prefixes[8 + prefixExponent / 3] : "") + (valueNegative && sign === "(" ? ")" : "");
+
+ // Break the formatted value into the integer “value” part that can be
+ // grouped, and fractional or exponential “suffix” part that is not.
+ if (maybeSuffix) {
+ i = -1, n = value.length;
+ while (++i < n) {
+ if (c = value.charCodeAt(i), 48 > c || c > 57) {
+ valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;
+ value = value.slice(0, i);
+ break;
+ }
+ }
+ }
+ }
+
+ // If the fill character is not "0", grouping is applied before padding.
+ if (comma && !zero) value = group(value, Infinity);
+
+ // Compute the padding.
+ var length = valuePrefix.length + value.length + valueSuffix.length,
+ padding = length < width ? new Array(width - length + 1).join(fill) : "";
+
+ // If the fill character is "0", grouping is applied after padding.
+ if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = "";
+
+ // Reconstruct the final output based on the desired alignment.
+ switch (align) {
+ case "<": value = valuePrefix + value + valueSuffix + padding; break;
+ case "=": value = valuePrefix + padding + value + valueSuffix; break;
+ case "^": value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); break;
+ default: value = padding + valuePrefix + value + valueSuffix; break;
+ }
+
+ return numerals(value);
+ }
+
+ format.toString = function() {
+ return specifier + "";
+ };
+
+ return format;
+ }
+
+ function formatPrefix(specifier, value) {
+ var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = "f", specifier)),
+ e = Math.max(-8, Math.min(8, Math.floor(exponent$1(value) / 3))) * 3,
+ k = Math.pow(10, -e),
+ prefix = prefixes[8 + e / 3];
+ return function(value) {
+ return f(k * value) + prefix;
+ };
+ }
+
+ return {
+ format: newFormat,
+ formatPrefix: formatPrefix
+ };
+};
+
+var locale$1;
+
+
+
+defaultLocale({
+ decimal: ".",
+ thousands: ",",
+ grouping: [3],
+ currency: ["$", ""]
+});
+
+function defaultLocale(definition) {
+ locale$1 = formatLocale(definition);
+ exports.format = locale$1.format;
+ exports.formatPrefix = locale$1.formatPrefix;
+ return locale$1;
+}
+
+var precisionFixed = function(step) {
+ return Math.max(0, -exponent$1(Math.abs(step)));
+};
+
+var precisionPrefix = function(step, value) {
+ return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent$1(value) / 3))) * 3 - exponent$1(Math.abs(step)));
+};
+
+var precisionRound = function(step, max) {
+ step = Math.abs(step), max = Math.abs(max) - step;
+ return Math.max(0, exponent$1(max) - exponent$1(step)) + 1;
+};
+
+// Adds floating point numbers with twice the normal precision.
+// Reference: J. R. Shewchuk, Adaptive Precision Floating-Point Arithmetic and
+// Fast Robust Geometric Predicates, Discrete & Computational Geometry 18(3)
+// 305–363 (1997).
+// Code adapted from GeographicLib by Charles F. F. Karney,
+// http://geographiclib.sourceforge.net/
+
+var adder = function() {
+ return new Adder;
+};
+
+function Adder() {
+ this.reset();
+}
+
+Adder.prototype = {
+ constructor: Adder,
+ reset: function() {
+ this.s = // rounded value
+ this.t = 0; // exact error
+ },
+ add: function(y) {
+ add$1(temp, y, this.t);
+ add$1(this, temp.s, this.s);
+ if (this.s) this.t += temp.t;
+ else this.s = temp.t;
+ },
+ valueOf: function() {
+ return this.s;
+ }
+};
+
+var temp = new Adder;
+
+function add$1(adder, a, b) {
+ var x = adder.s = a + b,
+ bv = x - a,
+ av = x - bv;
+ adder.t = (a - av) + (b - bv);
+}
+
+var epsilon$2 = 1e-6;
+var epsilon2$1 = 1e-12;
+var pi$3 = Math.PI;
+var halfPi$2 = pi$3 / 2;
+var quarterPi = pi$3 / 4;
+var tau$3 = pi$3 * 2;
+
+var degrees$1 = 180 / pi$3;
+var radians = pi$3 / 180;
+
+var abs = Math.abs;
+var atan = Math.atan;
+var atan2 = Math.atan2;
+var cos$1 = Math.cos;
+var ceil = Math.ceil;
+var exp = Math.exp;
+
+var log = Math.log;
+var pow = Math.pow;
+var sin$1 = Math.sin;
+var sign = Math.sign || function(x) { return x > 0 ? 1 : x < 0 ? -1 : 0; };
+var sqrt = Math.sqrt;
+var tan = Math.tan;
+
+function acos(x) {
+ return x > 1 ? 0 : x < -1 ? pi$3 : Math.acos(x);
+}
+
+function asin(x) {
+ return x > 1 ? halfPi$2 : x < -1 ? -halfPi$2 : Math.asin(x);
+}
+
+function haversin(x) {
+ return (x = sin$1(x / 2)) * x;
+}
+
+function noop$1() {}
+
+function streamGeometry(geometry, stream) {
+ if (geometry && streamGeometryType.hasOwnProperty(geometry.type)) {
+ streamGeometryType[geometry.type](geometry, stream);
+ }
+}
+
+var streamObjectType = {
+ Feature: function(object, stream) {
+ streamGeometry(object.geometry, stream);
+ },
+ FeatureCollection: function(object, stream) {
+ var features = object.features, i = -1, n = features.length;
+ while (++i < n) streamGeometry(features[i].geometry, stream);
+ }
+};
+
+var streamGeometryType = {
+ Sphere: function(object, stream) {
+ stream.sphere();
+ },
+ Point: function(object, stream) {
+ object = object.coordinates;
+ stream.point(object[0], object[1], object[2]);
+ },
+ MultiPoint: function(object, stream) {
+ var coordinates = object.coordinates, i = -1, n = coordinates.length;
+ while (++i < n) object = coordinates[i], stream.point(object[0], object[1], object[2]);
+ },
+ LineString: function(object, stream) {
+ streamLine(object.coordinates, stream, 0);
+ },
+ MultiLineString: function(object, stream) {
+ var coordinates = object.coordinates, i = -1, n = coordinates.length;
+ while (++i < n) streamLine(coordinates[i], stream, 0);
+ },
+ Polygon: function(object, stream) {
+ streamPolygon(object.coordinates, stream);
+ },
+ MultiPolygon: function(object, stream) {
+ var coordinates = object.coordinates, i = -1, n = coordinates.length;
+ while (++i < n) streamPolygon(coordinates[i], stream);
+ },
+ GeometryCollection: function(object, stream) {
+ var geometries = object.geometries, i = -1, n = geometries.length;
+ while (++i < n) streamGeometry(geometries[i], stream);
+ }
+};
+
+function streamLine(coordinates, stream, closed) {
+ var i = -1, n = coordinates.length - closed, coordinate;
+ stream.lineStart();
+ while (++i < n) coordinate = coordinates[i], stream.point(coordinate[0], coordinate[1], coordinate[2]);
+ stream.lineEnd();
+}
+
+function streamPolygon(coordinates, stream) {
+ var i = -1, n = coordinates.length;
+ stream.polygonStart();
+ while (++i < n) streamLine(coordinates[i], stream, 1);
+ stream.polygonEnd();
+}
+
+var geoStream = function(object, stream) {
+ if (object && streamObjectType.hasOwnProperty(object.type)) {
+ streamObjectType[object.type](object, stream);
+ } else {
+ streamGeometry(object, stream);
+ }
+};
+
+var areaRingSum = adder();
+
+var areaSum = adder();
+var lambda00;
+var phi00;
+var lambda0;
+var cosPhi0;
+var sinPhi0;
+
+var areaStream = {
+ point: noop$1,
+ lineStart: noop$1,
+ lineEnd: noop$1,
+ polygonStart: function() {
+ areaRingSum.reset();
+ areaStream.lineStart = areaRingStart;
+ areaStream.lineEnd = areaRingEnd;
+ },
+ polygonEnd: function() {
+ var areaRing = +areaRingSum;
+ areaSum.add(areaRing < 0 ? tau$3 + areaRing : areaRing);
+ this.lineStart = this.lineEnd = this.point = noop$1;
+ },
+ sphere: function() {
+ areaSum.add(tau$3);
+ }
+};
+
+function areaRingStart() {
+ areaStream.point = areaPointFirst;
+}
+
+function areaRingEnd() {
+ areaPoint(lambda00, phi00);
+}
+
+function areaPointFirst(lambda, phi) {
+ areaStream.point = areaPoint;
+ lambda00 = lambda, phi00 = phi;
+ lambda *= radians, phi *= radians;
+ lambda0 = lambda, cosPhi0 = cos$1(phi = phi / 2 + quarterPi), sinPhi0 = sin$1(phi);
+}
+
+function areaPoint(lambda, phi) {
+ lambda *= radians, phi *= radians;
+ phi = phi / 2 + quarterPi; // half the angular distance from south pole
+
+ // Spherical excess E for a spherical triangle with vertices: south pole,
+ // previous point, current point. Uses a formula derived from Cagnoli’s
+ // theorem. See Todhunter, Spherical Trig. (1871), Sec. 103, Eq. (2).
+ var dLambda = lambda - lambda0,
+ sdLambda = dLambda >= 0 ? 1 : -1,
+ adLambda = sdLambda * dLambda,
+ cosPhi = cos$1(phi),
+ sinPhi = sin$1(phi),
+ k = sinPhi0 * sinPhi,
+ u = cosPhi0 * cosPhi + k * cos$1(adLambda),
+ v = k * sdLambda * sin$1(adLambda);
+ areaRingSum.add(atan2(v, u));
+
+ // Advance the previous points.
+ lambda0 = lambda, cosPhi0 = cosPhi, sinPhi0 = sinPhi;
+}
+
+var area = function(object) {
+ areaSum.reset();
+ geoStream(object, areaStream);
+ return areaSum * 2;
+};
+
+function spherical(cartesian) {
+ return [atan2(cartesian[1], cartesian[0]), asin(cartesian[2])];
+}
+
+function cartesian(spherical) {
+ var lambda = spherical[0], phi = spherical[1], cosPhi = cos$1(phi);
+ return [cosPhi * cos$1(lambda), cosPhi * sin$1(lambda), sin$1(phi)];
+}
+
+function cartesianDot(a, b) {
+ return a[0] * b[0] + a[1] * b[1] + a[2] * b[2];
+}
+
+function cartesianCross(a, b) {
+ return [a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0]];
+}
+
+// TODO return a
+function cartesianAddInPlace(a, b) {
+ a[0] += b[0], a[1] += b[1], a[2] += b[2];
+}
+
+function cartesianScale(vector, k) {
+ return [vector[0] * k, vector[1] * k, vector[2] * k];
+}
+
+// TODO return d
+function cartesianNormalizeInPlace(d) {
+ var l = sqrt(d[0] * d[0] + d[1] * d[1] + d[2] * d[2]);
+ d[0] /= l, d[1] /= l, d[2] /= l;
+}
+
+var lambda0$1;
+var phi0;
+var lambda1;
+var phi1;
+var lambda2;
+var lambda00$1;
+var phi00$1;
+var p0;
+var deltaSum = adder();
+var ranges;
+var range;
+
+var boundsStream = {
+ point: boundsPoint,
+ lineStart: boundsLineStart,
+ lineEnd: boundsLineEnd,
+ polygonStart: function() {
+ boundsStream.point = boundsRingPoint;
+ boundsStream.lineStart = boundsRingStart;
+ boundsStream.lineEnd = boundsRingEnd;
+ deltaSum.reset();
+ areaStream.polygonStart();
+ },
+ polygonEnd: function() {
+ areaStream.polygonEnd();
+ boundsStream.point = boundsPoint;
+ boundsStream.lineStart = boundsLineStart;
+ boundsStream.lineEnd = boundsLineEnd;
+ if (areaRingSum < 0) lambda0$1 = -(lambda1 = 180), phi0 = -(phi1 = 90);
+ else if (deltaSum > epsilon$2) phi1 = 90;
+ else if (deltaSum < -epsilon$2) phi0 = -90;
+ range[0] = lambda0$1, range[1] = lambda1;
+ }
+};
+
+function boundsPoint(lambda, phi) {
+ ranges.push(range = [lambda0$1 = lambda, lambda1 = lambda]);
+ if (phi < phi0) phi0 = phi;
+ if (phi > phi1) phi1 = phi;
+}
+
+function linePoint(lambda, phi) {
+ var p = cartesian([lambda * radians, phi * radians]);
+ if (p0) {
+ var normal = cartesianCross(p0, p),
+ equatorial = [normal[1], -normal[0], 0],
+ inflection = cartesianCross(equatorial, normal);
+ cartesianNormalizeInPlace(inflection);
+ inflection = spherical(inflection);
+ var delta = lambda - lambda2,
+ sign$$1 = delta > 0 ? 1 : -1,
+ lambdai = inflection[0] * degrees$1 * sign$$1,
+ phii,
+ antimeridian = abs(delta) > 180;
+ if (antimeridian ^ (sign$$1 * lambda2 < lambdai && lambdai < sign$$1 * lambda)) {
+ phii = inflection[1] * degrees$1;
+ if (phii > phi1) phi1 = phii;
+ } else if (lambdai = (lambdai + 360) % 360 - 180, antimeridian ^ (sign$$1 * lambda2 < lambdai && lambdai < sign$$1 * lambda)) {
+ phii = -inflection[1] * degrees$1;
+ if (phii < phi0) phi0 = phii;
+ } else {
+ if (phi < phi0) phi0 = phi;
+ if (phi > phi1) phi1 = phi;
+ }
+ if (antimeridian) {
+ if (lambda < lambda2) {
+ if (angle(lambda0$1, lambda) > angle(lambda0$1, lambda1)) lambda1 = lambda;
+ } else {
+ if (angle(lambda, lambda1) > angle(lambda0$1, lambda1)) lambda0$1 = lambda;
+ }
+ } else {
+ if (lambda1 >= lambda0$1) {
+ if (lambda < lambda0$1) lambda0$1 = lambda;
+ if (lambda > lambda1) lambda1 = lambda;
+ } else {
+ if (lambda > lambda2) {
+ if (angle(lambda0$1, lambda) > angle(lambda0$1, lambda1)) lambda1 = lambda;
+ } else {
+ if (angle(lambda, lambda1) > angle(lambda0$1, lambda1)) lambda0$1 = lambda;
+ }
+ }
+ }
+ } else {
+ ranges.push(range = [lambda0$1 = lambda, lambda1 = lambda]);
+ }
+ if (phi < phi0) phi0 = phi;
+ if (phi > phi1) phi1 = phi;
+ p0 = p, lambda2 = lambda;
+}
+
+function boundsLineStart() {
+ boundsStream.point = linePoint;
+}
+
+function boundsLineEnd() {
+ range[0] = lambda0$1, range[1] = lambda1;
+ boundsStream.point = boundsPoint;
+ p0 = null;
+}
+
+function boundsRingPoint(lambda, phi) {
+ if (p0) {
+ var delta = lambda - lambda2;
+ deltaSum.add(abs(delta) > 180 ? delta + (delta > 0 ? 360 : -360) : delta);
+ } else {
+ lambda00$1 = lambda, phi00$1 = phi;
+ }
+ areaStream.point(lambda, phi);
+ linePoint(lambda, phi);
+}
+
+function boundsRingStart() {
+ areaStream.lineStart();
+}
+
+function boundsRingEnd() {
+ boundsRingPoint(lambda00$1, phi00$1);
+ areaStream.lineEnd();
+ if (abs(deltaSum) > epsilon$2) lambda0$1 = -(lambda1 = 180);
+ range[0] = lambda0$1, range[1] = lambda1;
+ p0 = null;
+}
+
+// Finds the left-right distance between two longitudes.
+// This is almost the same as (lambda1 - lambda0 + 360°) % 360°, except that we want
+// the distance between ±180° to be 360°.
+function angle(lambda0, lambda1) {
+ return (lambda1 -= lambda0) < 0 ? lambda1 + 360 : lambda1;
+}
+
+function rangeCompare(a, b) {
+ return a[0] - b[0];
+}
+
+function rangeContains(range, x) {
+ return range[0] <= range[1] ? range[0] <= x && x <= range[1] : x < range[0] || range[1] < x;
+}
+
+var bounds = function(feature) {
+ var i, n, a, b, merged, deltaMax, delta;
+
+ phi1 = lambda1 = -(lambda0$1 = phi0 = Infinity);
+ ranges = [];
+ geoStream(feature, boundsStream);
+
+ // First, sort ranges by their minimum longitudes.
+ if (n = ranges.length) {
+ ranges.sort(rangeCompare);
+
+ // Then, merge any ranges that overlap.
+ for (i = 1, a = ranges[0], merged = [a]; i < n; ++i) {
+ b = ranges[i];
+ if (rangeContains(a, b[0]) || rangeContains(a, b[1])) {
+ if (angle(a[0], b[1]) > angle(a[0], a[1])) a[1] = b[1];
+ if (angle(b[0], a[1]) > angle(a[0], a[1])) a[0] = b[0];
+ } else {
+ merged.push(a = b);
+ }
+ }
+
+ // Finally, find the largest gap between the merged ranges.
+ // The final bounding box will be the inverse of this gap.
+ for (deltaMax = -Infinity, n = merged.length - 1, i = 0, a = merged[n]; i <= n; a = b, ++i) {
+ b = merged[i];
+ if ((delta = angle(a[1], b[0])) > deltaMax) deltaMax = delta, lambda0$1 = b[0], lambda1 = a[1];
+ }
+ }
+
+ ranges = range = null;
+
+ return lambda0$1 === Infinity || phi0 === Infinity
+ ? [[NaN, NaN], [NaN, NaN]]
+ : [[lambda0$1, phi0], [lambda1, phi1]];
+};
+
+var W0;
+var W1;
+var X0;
+var Y0;
+var Z0;
+var X1;
+var Y1;
+var Z1;
+var X2;
+var Y2;
+var Z2;
+var lambda00$2;
+var phi00$2;
+var x0;
+var y0;
+var z0; // previous point
+
+var centroidStream = {
+ sphere: noop$1,
+ point: centroidPoint,
+ lineStart: centroidLineStart,
+ lineEnd: centroidLineEnd,
+ polygonStart: function() {
+ centroidStream.lineStart = centroidRingStart;
+ centroidStream.lineEnd = centroidRingEnd;
+ },
+ polygonEnd: function() {
+ centroidStream.lineStart = centroidLineStart;
+ centroidStream.lineEnd = centroidLineEnd;
+ }
+};
+
+// Arithmetic mean of Cartesian vectors.
+function centroidPoint(lambda, phi) {
+ lambda *= radians, phi *= radians;
+ var cosPhi = cos$1(phi);
+ centroidPointCartesian(cosPhi * cos$1(lambda), cosPhi * sin$1(lambda), sin$1(phi));
+}
+
+function centroidPointCartesian(x, y, z) {
+ ++W0;
+ X0 += (x - X0) / W0;
+ Y0 += (y - Y0) / W0;
+ Z0 += (z - Z0) / W0;
+}
+
+function centroidLineStart() {
+ centroidStream.point = centroidLinePointFirst;
+}
+
+function centroidLinePointFirst(lambda, phi) {
+ lambda *= radians, phi *= radians;
+ var cosPhi = cos$1(phi);
+ x0 = cosPhi * cos$1(lambda);
+ y0 = cosPhi * sin$1(lambda);
+ z0 = sin$1(phi);
+ centroidStream.point = centroidLinePoint;
+ centroidPointCartesian(x0, y0, z0);
+}
+
+function centroidLinePoint(lambda, phi) {
+ lambda *= radians, phi *= radians;
+ var cosPhi = cos$1(phi),
+ x = cosPhi * cos$1(lambda),
+ y = cosPhi * sin$1(lambda),
+ z = sin$1(phi),
+ w = atan2(sqrt((w = y0 * z - z0 * y) * w + (w = z0 * x - x0 * z) * w + (w = x0 * y - y0 * x) * w), x0 * x + y0 * y + z0 * z);
+ W1 += w;
+ X1 += w * (x0 + (x0 = x));
+ Y1 += w * (y0 + (y0 = y));
+ Z1 += w * (z0 + (z0 = z));
+ centroidPointCartesian(x0, y0, z0);
+}
+
+function centroidLineEnd() {
+ centroidStream.point = centroidPoint;
+}
+
+// See J. E. Brock, The Inertia Tensor for a Spherical Triangle,
+// J. Applied Mechanics 42, 239 (1975).
+function centroidRingStart() {
+ centroidStream.point = centroidRingPointFirst;
+}
+
+function centroidRingEnd() {
+ centroidRingPoint(lambda00$2, phi00$2);
+ centroidStream.point = centroidPoint;
+}
+
+function centroidRingPointFirst(lambda, phi) {
+ lambda00$2 = lambda, phi00$2 = phi;
+ lambda *= radians, phi *= radians;
+ centroidStream.point = centroidRingPoint;
+ var cosPhi = cos$1(phi);
+ x0 = cosPhi * cos$1(lambda);
+ y0 = cosPhi * sin$1(lambda);
+ z0 = sin$1(phi);
+ centroidPointCartesian(x0, y0, z0);
+}
+
+function centroidRingPoint(lambda, phi) {
+ lambda *= radians, phi *= radians;
+ var cosPhi = cos$1(phi),
+ x = cosPhi * cos$1(lambda),
+ y = cosPhi * sin$1(lambda),
+ z = sin$1(phi),
+ cx = y0 * z - z0 * y,
+ cy = z0 * x - x0 * z,
+ cz = x0 * y - y0 * x,
+ m = sqrt(cx * cx + cy * cy + cz * cz),
+ w = asin(m), // line weight = angle
+ v = m && -w / m; // area weight multiplier
+ X2 += v * cx;
+ Y2 += v * cy;
+ Z2 += v * cz;
+ W1 += w;
+ X1 += w * (x0 + (x0 = x));
+ Y1 += w * (y0 + (y0 = y));
+ Z1 += w * (z0 + (z0 = z));
+ centroidPointCartesian(x0, y0, z0);
+}
+
+var centroid = function(object) {
+ W0 = W1 =
+ X0 = Y0 = Z0 =
+ X1 = Y1 = Z1 =
+ X2 = Y2 = Z2 = 0;
+ geoStream(object, centroidStream);
+
+ var x = X2,
+ y = Y2,
+ z = Z2,
+ m = x * x + y * y + z * z;
+
+ // If the area-weighted ccentroid is undefined, fall back to length-weighted ccentroid.
+ if (m < epsilon2$1) {
+ x = X1, y = Y1, z = Z1;
+ // If the feature has zero length, fall back to arithmetic mean of point vectors.
+ if (W1 < epsilon$2) x = X0, y = Y0, z = Z0;
+ m = x * x + y * y + z * z;
+ // If the feature still has an undefined ccentroid, then return.
+ if (m < epsilon2$1) return [NaN, NaN];
+ }
+
+ return [atan2(y, x) * degrees$1, asin(z / sqrt(m)) * degrees$1];
+};
+
+var constant$7 = function(x) {
+ return function() {
+ return x;
+ };
+};
+
+var compose = function(a, b) {
+
+ function compose(x, y) {
+ return x = a(x, y), b(x[0], x[1]);
+ }
+
+ if (a.invert && b.invert) compose.invert = function(x, y) {
+ return x = b.invert(x, y), x && a.invert(x[0], x[1]);
+ };
+
+ return compose;
+};
+
+function rotationIdentity(lambda, phi) {
+ return [lambda > pi$3 ? lambda - tau$3 : lambda < -pi$3 ? lambda + tau$3 : lambda, phi];
+}
+
+rotationIdentity.invert = rotationIdentity;
+
+function rotateRadians(deltaLambda, deltaPhi, deltaGamma) {
+ return (deltaLambda %= tau$3) ? (deltaPhi || deltaGamma ? compose(rotationLambda(deltaLambda), rotationPhiGamma(deltaPhi, deltaGamma))
+ : rotationLambda(deltaLambda))
+ : (deltaPhi || deltaGamma ? rotationPhiGamma(deltaPhi, deltaGamma)
+ : rotationIdentity);
+}
+
+function forwardRotationLambda(deltaLambda) {
+ return function(lambda, phi) {
+ return lambda += deltaLambda, [lambda > pi$3 ? lambda - tau$3 : lambda < -pi$3 ? lambda + tau$3 : lambda, phi];
+ };
+}
+
+function rotationLambda(deltaLambda) {
+ var rotation = forwardRotationLambda(deltaLambda);
+ rotation.invert = forwardRotationLambda(-deltaLambda);
+ return rotation;
+}
+
+function rotationPhiGamma(deltaPhi, deltaGamma) {
+ var cosDeltaPhi = cos$1(deltaPhi),
+ sinDeltaPhi = sin$1(deltaPhi),
+ cosDeltaGamma = cos$1(deltaGamma),
+ sinDeltaGamma = sin$1(deltaGamma);
+
+ function rotation(lambda, phi) {
+ var cosPhi = cos$1(phi),
+ x = cos$1(lambda) * cosPhi,
+ y = sin$1(lambda) * cosPhi,
+ z = sin$1(phi),
+ k = z * cosDeltaPhi + x * sinDeltaPhi;
+ return [
+ atan2(y * cosDeltaGamma - k * sinDeltaGamma, x * cosDeltaPhi - z * sinDeltaPhi),
+ asin(k * cosDeltaGamma + y * sinDeltaGamma)
+ ];
+ }
+
+ rotation.invert = function(lambda, phi) {
+ var cosPhi = cos$1(phi),
+ x = cos$1(lambda) * cosPhi,
+ y = sin$1(lambda) * cosPhi,
+ z = sin$1(phi),
+ k = z * cosDeltaGamma - y * sinDeltaGamma;
+ return [
+ atan2(y * cosDeltaGamma + z * sinDeltaGamma, x * cosDeltaPhi + k * sinDeltaPhi),
+ asin(k * cosDeltaPhi - x * sinDeltaPhi)
+ ];
+ };
+
+ return rotation;
+}
+
+var rotation = function(rotate) {
+ rotate = rotateRadians(rotate[0] * radians, rotate[1] * radians, rotate.length > 2 ? rotate[2] * radians : 0);
+
+ function forward(coordinates) {
+ coordinates = rotate(coordinates[0] * radians, coordinates[1] * radians);
+ return coordinates[0] *= degrees$1, coordinates[1] *= degrees$1, coordinates;
+ }
+
+ forward.invert = function(coordinates) {
+ coordinates = rotate.invert(coordinates[0] * radians, coordinates[1] * radians);
+ return coordinates[0] *= degrees$1, coordinates[1] *= degrees$1, coordinates;
+ };
+
+ return forward;
+};
+
+// Generates a circle centered at [0°, 0°], with a given radius and precision.
+function circleStream(stream, radius, delta, direction, t0, t1) {
+ if (!delta) return;
+ var cosRadius = cos$1(radius),
+ sinRadius = sin$1(radius),
+ step = direction * delta;
+ if (t0 == null) {
+ t0 = radius + direction * tau$3;
+ t1 = radius - step / 2;
+ } else {
+ t0 = circleRadius(cosRadius, t0);
+ t1 = circleRadius(cosRadius, t1);
+ if (direction > 0 ? t0 < t1 : t0 > t1) t0 += direction * tau$3;
+ }
+ for (var point, t = t0; direction > 0 ? t > t1 : t < t1; t -= step) {
+ point = spherical([cosRadius, -sinRadius * cos$1(t), -sinRadius * sin$1(t)]);
+ stream.point(point[0], point[1]);
+ }
+}
+
+// Returns the signed angle of a cartesian point relative to [cosRadius, 0, 0].
+function circleRadius(cosRadius, point) {
+ point = cartesian(point), point[0] -= cosRadius;
+ cartesianNormalizeInPlace(point);
+ var radius = acos(-point[1]);
+ return ((-point[2] < 0 ? -radius : radius) + tau$3 - epsilon$2) % tau$3;
+}
+
+var circle = function() {
+ var center = constant$7([0, 0]),
+ radius = constant$7(90),
+ precision = constant$7(6),
+ ring,
+ rotate,
+ stream = {point: point};
+
+ function point(x, y) {
+ ring.push(x = rotate(x, y));
+ x[0] *= degrees$1, x[1] *= degrees$1;
+ }
+
+ function circle() {
+ var c = center.apply(this, arguments),
+ r = radius.apply(this, arguments) * radians,
+ p = precision.apply(this, arguments) * radians;
+ ring = [];
+ rotate = rotateRadians(-c[0] * radians, -c[1] * radians, 0).invert;
+ circleStream(stream, r, p, 1);
+ c = {type: "Polygon", coordinates: [ring]};
+ ring = rotate = null;
+ return c;
+ }
+
+ circle.center = function(_) {
+ return arguments.length ? (center = typeof _ === "function" ? _ : constant$7([+_[0], +_[1]]), circle) : center;
+ };
+
+ circle.radius = function(_) {
+ return arguments.length ? (radius = typeof _ === "function" ? _ : constant$7(+_), circle) : radius;
+ };
+
+ circle.precision = function(_) {
+ return arguments.length ? (precision = typeof _ === "function" ? _ : constant$7(+_), circle) : precision;
+ };
+
+ return circle;
+};
+
+var clipBuffer = function() {
+ var lines = [],
+ line;
+ return {
+ point: function(x, y) {
+ line.push([x, y]);
+ },
+ lineStart: function() {
+ lines.push(line = []);
+ },
+ lineEnd: noop$1,
+ rejoin: function() {
+ if (lines.length > 1) lines.push(lines.pop().concat(lines.shift()));
+ },
+ result: function() {
+ var result = lines;
+ lines = [];
+ line = null;
+ return result;
+ }
+ };
+};
+
+var clipLine = function(a, b, x0, y0, x1, y1) {
+ var ax = a[0],
+ ay = a[1],
+ bx = b[0],
+ by = b[1],
+ t0 = 0,
+ t1 = 1,
+ dx = bx - ax,
+ dy = by - ay,
+ r;
+
+ r = x0 - ax;
+ if (!dx && r > 0) return;
+ r /= dx;
+ if (dx < 0) {
+ if (r < t0) return;
+ if (r < t1) t1 = r;
+ } else if (dx > 0) {
+ if (r > t1) return;
+ if (r > t0) t0 = r;
+ }
+
+ r = x1 - ax;
+ if (!dx && r < 0) return;
+ r /= dx;
+ if (dx < 0) {
+ if (r > t1) return;
+ if (r > t0) t0 = r;
+ } else if (dx > 0) {
+ if (r < t0) return;
+ if (r < t1) t1 = r;
+ }
+
+ r = y0 - ay;
+ if (!dy && r > 0) return;
+ r /= dy;
+ if (dy < 0) {
+ if (r < t0) return;
+ if (r < t1) t1 = r;
+ } else if (dy > 0) {
+ if (r > t1) return;
+ if (r > t0) t0 = r;
+ }
+
+ r = y1 - ay;
+ if (!dy && r < 0) return;
+ r /= dy;
+ if (dy < 0) {
+ if (r > t1) return;
+ if (r > t0) t0 = r;
+ } else if (dy > 0) {
+ if (r < t0) return;
+ if (r < t1) t1 = r;
+ }
+
+ if (t0 > 0) a[0] = ax + t0 * dx, a[1] = ay + t0 * dy;
+ if (t1 < 1) b[0] = ax + t1 * dx, b[1] = ay + t1 * dy;
+ return true;
+};
+
+var pointEqual = function(a, b) {
+ return abs(a[0] - b[0]) < epsilon$2 && abs(a[1] - b[1]) < epsilon$2;
+};
+
+function Intersection(point, points, other, entry) {
+ this.x = point;
+ this.z = points;
+ this.o = other; // another intersection
+ this.e = entry; // is an entry?
+ this.v = false; // visited
+ this.n = this.p = null; // next & previous
+}
+
+// A generalized polygon clipping algorithm: given a polygon that has been cut
+// into its visible line segments, and rejoins the segments by interpolating
+// along the clip edge.
+var clipPolygon = function(segments, compareIntersection, startInside, interpolate, stream) {
+ var subject = [],
+ clip = [],
+ i,
+ n;
+
+ segments.forEach(function(segment) {
+ if ((n = segment.length - 1) <= 0) return;
+ var n, p0 = segment[0], p1 = segment[n], x;
+
+ // If the first and last points of a segment are coincident, then treat as a
+ // closed ring. TODO if all rings are closed, then the winding order of the
+ // exterior ring should be checked.
+ if (pointEqual(p0, p1)) {
+ stream.lineStart();
+ for (i = 0; i < n; ++i) stream.point((p0 = segment[i])[0], p0[1]);
+ stream.lineEnd();
+ return;
+ }
+
+ subject.push(x = new Intersection(p0, segment, null, true));
+ clip.push(x.o = new Intersection(p0, null, x, false));
+ subject.push(x = new Intersection(p1, segment, null, false));
+ clip.push(x.o = new Intersection(p1, null, x, true));
+ });
+
+ if (!subject.length) return;
+
+ clip.sort(compareIntersection);
+ link$1(subject);
+ link$1(clip);
+
+ for (i = 0, n = clip.length; i < n; ++i) {
+ clip[i].e = startInside = !startInside;
+ }
+
+ var start = subject[0],
+ points,
+ point;
+
+ while (1) {
+ // Find first unvisited intersection.
+ var current = start,
+ isSubject = true;
+ while (current.v) if ((current = current.n) === start) return;
+ points = current.z;
+ stream.lineStart();
+ do {
+ current.v = current.o.v = true;
+ if (current.e) {
+ if (isSubject) {
+ for (i = 0, n = points.length; i < n; ++i) stream.point((point = points[i])[0], point[1]);
+ } else {
+ interpolate(current.x, current.n.x, 1, stream);
+ }
+ current = current.n;
+ } else {
+ if (isSubject) {
+ points = current.p.z;
+ for (i = points.length - 1; i >= 0; --i) stream.point((point = points[i])[0], point[1]);
+ } else {
+ interpolate(current.x, current.p.x, -1, stream);
+ }
+ current = current.p;
+ }
+ current = current.o;
+ points = current.z;
+ isSubject = !isSubject;
+ } while (!current.v);
+ stream.lineEnd();
+ }
+};
+
+function link$1(array) {
+ if (!(n = array.length)) return;
+ var n,
+ i = 0,
+ a = array[0],
+ b;
+ while (++i < n) {
+ a.n = b = array[i];
+ b.p = a;
+ a = b;
+ }
+ a.n = b = array[0];
+ b.p = a;
+}
+
+var clipMax = 1e9;
+var clipMin = -clipMax;
+
+// TODO Use d3-polygon’s polygonContains here for the ring check?
+// TODO Eliminate duplicate buffering in clipBuffer and polygon.push?
+
+function clipExtent(x0, y0, x1, y1) {
+
+ function visible(x, y) {
+ return x0 <= x && x <= x1 && y0 <= y && y <= y1;
+ }
+
+ function interpolate(from, to, direction, stream) {
+ var a = 0, a1 = 0;
+ if (from == null
+ || (a = corner(from, direction)) !== (a1 = corner(to, direction))
+ || comparePoint(from, to) < 0 ^ direction > 0) {
+ do stream.point(a === 0 || a === 3 ? x0 : x1, a > 1 ? y1 : y0);
+ while ((a = (a + direction + 4) % 4) !== a1);
+ } else {
+ stream.point(to[0], to[1]);
+ }
+ }
+
+ function corner(p, direction) {
+ return abs(p[0] - x0) < epsilon$2 ? direction > 0 ? 0 : 3
+ : abs(p[0] - x1) < epsilon$2 ? direction > 0 ? 2 : 1
+ : abs(p[1] - y0) < epsilon$2 ? direction > 0 ? 1 : 0
+ : direction > 0 ? 3 : 2; // abs(p[1] - y1) < epsilon
+ }
+
+ function compareIntersection(a, b) {
+ return comparePoint(a.x, b.x);
+ }
+
+ function comparePoint(a, b) {
+ var ca = corner(a, 1),
+ cb = corner(b, 1);
+ return ca !== cb ? ca - cb
+ : ca === 0 ? b[1] - a[1]
+ : ca === 1 ? a[0] - b[0]
+ : ca === 2 ? a[1] - b[1]
+ : b[0] - a[0];
+ }
+
+ return function(stream) {
+ var activeStream = stream,
+ bufferStream = clipBuffer(),
+ segments,
+ polygon,
+ ring,
+ x__, y__, v__, // first point
+ x_, y_, v_, // previous point
+ first,
+ clean;
+
+ var clipStream = {
+ point: point,
+ lineStart: lineStart,
+ lineEnd: lineEnd,
+ polygonStart: polygonStart,
+ polygonEnd: polygonEnd
+ };
+
+ function point(x, y) {
+ if (visible(x, y)) activeStream.point(x, y);
+ }
+
+ function polygonInside() {
+ var winding = 0;
+
+ for (var i = 0, n = polygon.length; i < n; ++i) {
+ for (var ring = polygon[i], j = 1, m = ring.length, point = ring[0], a0, a1, b0 = point[0], b1 = point[1]; j < m; ++j) {
+ a0 = b0, a1 = b1, point = ring[j], b0 = point[0], b1 = point[1];
+ if (a1 <= y1) { if (b1 > y1 && (b0 - a0) * (y1 - a1) > (b1 - a1) * (x0 - a0)) ++winding; }
+ else { if (b1 <= y1 && (b0 - a0) * (y1 - a1) < (b1 - a1) * (x0 - a0)) --winding; }
+ }
+ }
+
+ return winding;
+ }
+
+ // Buffer geometry within a polygon and then clip it en masse.
+ function polygonStart() {
+ activeStream = bufferStream, segments = [], polygon = [], clean = true;
+ }
+
+ function polygonEnd() {
+ var startInside = polygonInside(),
+ cleanInside = clean && startInside,
+ visible = (segments = merge(segments)).length;
+ if (cleanInside || visible) {
+ stream.polygonStart();
+ if (cleanInside) {
+ stream.lineStart();
+ interpolate(null, null, 1, stream);
+ stream.lineEnd();
+ }
+ if (visible) {
+ clipPolygon(segments, compareIntersection, startInside, interpolate, stream);
+ }
+ stream.polygonEnd();
+ }
+ activeStream = stream, segments = polygon = ring = null;
+ }
+
+ function lineStart() {
+ clipStream.point = linePoint;
+ if (polygon) polygon.push(ring = []);
+ first = true;
+ v_ = false;
+ x_ = y_ = NaN;
+ }
+
+ // TODO rather than special-case polygons, simply handle them separately.
+ // Ideally, coincident intersection points should be jittered to avoid
+ // clipping issues.
+ function lineEnd() {
+ if (segments) {
+ linePoint(x__, y__);
+ if (v__ && v_) bufferStream.rejoin();
+ segments.push(bufferStream.result());
+ }
+ clipStream.point = point;
+ if (v_) activeStream.lineEnd();
+ }
+
+ function linePoint(x, y) {
+ var v = visible(x, y);
+ if (polygon) ring.push([x, y]);
+ if (first) {
+ x__ = x, y__ = y, v__ = v;
+ first = false;
+ if (v) {
+ activeStream.lineStart();
+ activeStream.point(x, y);
+ }
+ } else {
+ if (v && v_) activeStream.point(x, y);
+ else {
+ var a = [x_ = Math.max(clipMin, Math.min(clipMax, x_)), y_ = Math.max(clipMin, Math.min(clipMax, y_))],
+ b = [x = Math.max(clipMin, Math.min(clipMax, x)), y = Math.max(clipMin, Math.min(clipMax, y))];
+ if (clipLine(a, b, x0, y0, x1, y1)) {
+ if (!v_) {
+ activeStream.lineStart();
+ activeStream.point(a[0], a[1]);
+ }
+ activeStream.point(b[0], b[1]);
+ if (!v) activeStream.lineEnd();
+ clean = false;
+ } else if (v) {
+ activeStream.lineStart();
+ activeStream.point(x, y);
+ clean = false;
+ }
+ }
+ }
+ x_ = x, y_ = y, v_ = v;
+ }
+
+ return clipStream;
+ };
+}
+
+var extent$1 = function() {
+ var x0 = 0,
+ y0 = 0,
+ x1 = 960,
+ y1 = 500,
+ cache,
+ cacheStream,
+ clip;
+
+ return clip = {
+ stream: function(stream) {
+ return cache && cacheStream === stream ? cache : cache = clipExtent(x0, y0, x1, y1)(cacheStream = stream);
+ },
+ extent: function(_) {
+ return arguments.length ? (x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1], cache = cacheStream = null, clip) : [[x0, y0], [x1, y1]];
+ }
+ };
+};
+
+var sum$1 = adder();
+
+var polygonContains = function(polygon, point) {
+ var lambda = point[0],
+ phi = point[1],
+ normal = [sin$1(lambda), -cos$1(lambda), 0],
+ angle = 0,
+ winding = 0;
+
+ sum$1.reset();
+
+ for (var i = 0, n = polygon.length; i < n; ++i) {
+ if (!(m = (ring = polygon[i]).length)) continue;
+ var ring,
+ m,
+ point0 = ring[m - 1],
+ lambda0 = point0[0],
+ phi0 = point0[1] / 2 + quarterPi,
+ sinPhi0 = sin$1(phi0),
+ cosPhi0 = cos$1(phi0);
+
+ for (var j = 0; j < m; ++j, lambda0 = lambda1, sinPhi0 = sinPhi1, cosPhi0 = cosPhi1, point0 = point1) {
+ var point1 = ring[j],
+ lambda1 = point1[0],
+ phi1 = point1[1] / 2 + quarterPi,
+ sinPhi1 = sin$1(phi1),
+ cosPhi1 = cos$1(phi1),
+ delta = lambda1 - lambda0,
+ sign$$1 = delta >= 0 ? 1 : -1,
+ absDelta = sign$$1 * delta,
+ antimeridian = absDelta > pi$3,
+ k = sinPhi0 * sinPhi1;
+
+ sum$1.add(atan2(k * sign$$1 * sin$1(absDelta), cosPhi0 * cosPhi1 + k * cos$1(absDelta)));
+ angle += antimeridian ? delta + sign$$1 * tau$3 : delta;
+
+ // Are the longitudes either side of the point’s meridian (lambda),
+ // and are the latitudes smaller than the parallel (phi)?
+ if (antimeridian ^ lambda0 >= lambda ^ lambda1 >= lambda) {
+ var arc = cartesianCross(cartesian(point0), cartesian(point1));
+ cartesianNormalizeInPlace(arc);
+ var intersection = cartesianCross(normal, arc);
+ cartesianNormalizeInPlace(intersection);
+ var phiArc = (antimeridian ^ delta >= 0 ? -1 : 1) * asin(intersection[2]);
+ if (phi > phiArc || phi === phiArc && (arc[0] || arc[1])) {
+ winding += antimeridian ^ delta >= 0 ? 1 : -1;
+ }
+ }
+ }
+ }
+
+ // First, determine whether the South pole is inside or outside:
+ //
+ // It is inside if:
+ // * the polygon winds around it in a clockwise direction.
+ // * the polygon does not (cumulatively) wind around it, but has a negative
+ // (counter-clockwise) area.
+ //
+ // Second, count the (signed) number of times a segment crosses a lambda
+ // from the point to the South pole. If it is zero, then the point is the
+ // same side as the South pole.
+
+ return (angle < -epsilon$2 || angle < epsilon$2 && sum$1 < -epsilon$2) ^ (winding & 1);
+};
+
+var lengthSum = adder();
+var lambda0$2;
+var sinPhi0$1;
+var cosPhi0$1;
+
+var lengthStream = {
+ sphere: noop$1,
+ point: noop$1,
+ lineStart: lengthLineStart,
+ lineEnd: noop$1,
+ polygonStart: noop$1,
+ polygonEnd: noop$1
+};
+
+function lengthLineStart() {
+ lengthStream.point = lengthPointFirst;
+ lengthStream.lineEnd = lengthLineEnd;
+}
+
+function lengthLineEnd() {
+ lengthStream.point = lengthStream.lineEnd = noop$1;
+}
+
+function lengthPointFirst(lambda, phi) {
+ lambda *= radians, phi *= radians;
+ lambda0$2 = lambda, sinPhi0$1 = sin$1(phi), cosPhi0$1 = cos$1(phi);
+ lengthStream.point = lengthPoint;
+}
+
+function lengthPoint(lambda, phi) {
+ lambda *= radians, phi *= radians;
+ var sinPhi = sin$1(phi),
+ cosPhi = cos$1(phi),
+ delta = abs(lambda - lambda0$2),
+ cosDelta = cos$1(delta),
+ sinDelta = sin$1(delta),
+ x = cosPhi * sinDelta,
+ y = cosPhi0$1 * sinPhi - sinPhi0$1 * cosPhi * cosDelta,
+ z = sinPhi0$1 * sinPhi + cosPhi0$1 * cosPhi * cosDelta;
+ lengthSum.add(atan2(sqrt(x * x + y * y), z));
+ lambda0$2 = lambda, sinPhi0$1 = sinPhi, cosPhi0$1 = cosPhi;
+}
+
+var length$1 = function(object) {
+ lengthSum.reset();
+ geoStream(object, lengthStream);
+ return +lengthSum;
+};
+
+var coordinates = [null, null];
+var object$1 = {type: "LineString", coordinates: coordinates};
+
+var distance = function(a, b) {
+ coordinates[0] = a;
+ coordinates[1] = b;
+ return length$1(object$1);
+};
+
+var containsObjectType = {
+ Feature: function(object, point) {
+ return containsGeometry(object.geometry, point);
+ },
+ FeatureCollection: function(object, point) {
+ var features = object.features, i = -1, n = features.length;
+ while (++i < n) if (containsGeometry(features[i].geometry, point)) return true;
+ return false;
+ }
+};
+
+var containsGeometryType = {
+ Sphere: function() {
+ return true;
+ },
+ Point: function(object, point) {
+ return containsPoint(object.coordinates, point);
+ },
+ MultiPoint: function(object, point) {
+ var coordinates = object.coordinates, i = -1, n = coordinates.length;
+ while (++i < n) if (containsPoint(coordinates[i], point)) return true;
+ return false;
+ },
+ LineString: function(object, point) {
+ return containsLine(object.coordinates, point);
+ },
+ MultiLineString: function(object, point) {
+ var coordinates = object.coordinates, i = -1, n = coordinates.length;
+ while (++i < n) if (containsLine(coordinates[i], point)) return true;
+ return false;
+ },
+ Polygon: function(object, point) {
+ return containsPolygon(object.coordinates, point);
+ },
+ MultiPolygon: function(object, point) {
+ var coordinates = object.coordinates, i = -1, n = coordinates.length;
+ while (++i < n) if (containsPolygon(coordinates[i], point)) return true;
+ return false;
+ },
+ GeometryCollection: function(object, point) {
+ var geometries = object.geometries, i = -1, n = geometries.length;
+ while (++i < n) if (containsGeometry(geometries[i], point)) return true;
+ return false;
+ }
+};
+
+function containsGeometry(geometry, point) {
+ return geometry && containsGeometryType.hasOwnProperty(geometry.type)
+ ? containsGeometryType[geometry.type](geometry, point)
+ : false;
+}
+
+function containsPoint(coordinates, point) {
+ return distance(coordinates, point) === 0;
+}
+
+function containsLine(coordinates, point) {
+ var ab = distance(coordinates[0], coordinates[1]),
+ ao = distance(coordinates[0], point),
+ ob = distance(point, coordinates[1]);
+ return ao + ob <= ab + epsilon$2;
+}
+
+function containsPolygon(coordinates, point) {
+ return !!polygonContains(coordinates.map(ringRadians), pointRadians(point));
+}
+
+function ringRadians(ring) {
+ return ring = ring.map(pointRadians), ring.pop(), ring;
+}
+
+function pointRadians(point) {
+ return [point[0] * radians, point[1] * radians];
+}
+
+var contains = function(object, point) {
+ return (object && containsObjectType.hasOwnProperty(object.type)
+ ? containsObjectType[object.type]
+ : containsGeometry)(object, point);
+};
+
+function graticuleX(y0, y1, dy) {
+ var y = sequence(y0, y1 - epsilon$2, dy).concat(y1);
+ return function(x) { return y.map(function(y) { return [x, y]; }); };
+}
+
+function graticuleY(x0, x1, dx) {
+ var x = sequence(x0, x1 - epsilon$2, dx).concat(x1);
+ return function(y) { return x.map(function(x) { return [x, y]; }); };
+}
+
+function graticule() {
+ var x1, x0, X1, X0,
+ y1, y0, Y1, Y0,
+ dx = 10, dy = dx, DX = 90, DY = 360,
+ x, y, X, Y,
+ precision = 2.5;
+
+ function graticule() {
+ return {type: "MultiLineString", coordinates: lines()};
+ }
+
+ function lines() {
+ return sequence(ceil(X0 / DX) * DX, X1, DX).map(X)
+ .concat(sequence(ceil(Y0 / DY) * DY, Y1, DY).map(Y))
+ .concat(sequence(ceil(x0 / dx) * dx, x1, dx).filter(function(x) { return abs(x % DX) > epsilon$2; }).map(x))
+ .concat(sequence(ceil(y0 / dy) * dy, y1, dy).filter(function(y) { return abs(y % DY) > epsilon$2; }).map(y));
+ }
+
+ graticule.lines = function() {
+ return lines().map(function(coordinates) { return {type: "LineString", coordinates: coordinates}; });
+ };
+
+ graticule.outline = function() {
+ return {
+ type: "Polygon",
+ coordinates: [
+ X(X0).concat(
+ Y(Y1).slice(1),
+ X(X1).reverse().slice(1),
+ Y(Y0).reverse().slice(1))
+ ]
+ };
+ };
+
+ graticule.extent = function(_) {
+ if (!arguments.length) return graticule.extentMinor();
+ return graticule.extentMajor(_).extentMinor(_);
+ };
+
+ graticule.extentMajor = function(_) {
+ if (!arguments.length) return [[X0, Y0], [X1, Y1]];
+ X0 = +_[0][0], X1 = +_[1][0];
+ Y0 = +_[0][1], Y1 = +_[1][1];
+ if (X0 > X1) _ = X0, X0 = X1, X1 = _;
+ if (Y0 > Y1) _ = Y0, Y0 = Y1, Y1 = _;
+ return graticule.precision(precision);
+ };
+
+ graticule.extentMinor = function(_) {
+ if (!arguments.length) return [[x0, y0], [x1, y1]];
+ x0 = +_[0][0], x1 = +_[1][0];
+ y0 = +_[0][1], y1 = +_[1][1];
+ if (x0 > x1) _ = x0, x0 = x1, x1 = _;
+ if (y0 > y1) _ = y0, y0 = y1, y1 = _;
+ return graticule.precision(precision);
+ };
+
+ graticule.step = function(_) {
+ if (!arguments.length) return graticule.stepMinor();
+ return graticule.stepMajor(_).stepMinor(_);
+ };
+
+ graticule.stepMajor = function(_) {
+ if (!arguments.length) return [DX, DY];
+ DX = +_[0], DY = +_[1];
+ return graticule;
+ };
+
+ graticule.stepMinor = function(_) {
+ if (!arguments.length) return [dx, dy];
+ dx = +_[0], dy = +_[1];
+ return graticule;
+ };
+
+ graticule.precision = function(_) {
+ if (!arguments.length) return precision;
+ precision = +_;
+ x = graticuleX(y0, y1, 90);
+ y = graticuleY(x0, x1, precision);
+ X = graticuleX(Y0, Y1, 90);
+ Y = graticuleY(X0, X1, precision);
+ return graticule;
+ };
+
+ return graticule
+ .extentMajor([[-180, -90 + epsilon$2], [180, 90 - epsilon$2]])
+ .extentMinor([[-180, -80 - epsilon$2], [180, 80 + epsilon$2]]);
+}
+
+function graticule10() {
+ return graticule()();
+}
+
+var interpolate$1 = function(a, b) {
+ var x0 = a[0] * radians,
+ y0 = a[1] * radians,
+ x1 = b[0] * radians,
+ y1 = b[1] * radians,
+ cy0 = cos$1(y0),
+ sy0 = sin$1(y0),
+ cy1 = cos$1(y1),
+ sy1 = sin$1(y1),
+ kx0 = cy0 * cos$1(x0),
+ ky0 = cy0 * sin$1(x0),
+ kx1 = cy1 * cos$1(x1),
+ ky1 = cy1 * sin$1(x1),
+ d = 2 * asin(sqrt(haversin(y1 - y0) + cy0 * cy1 * haversin(x1 - x0))),
+ k = sin$1(d);
+
+ var interpolate = d ? function(t) {
+ var B = sin$1(t *= d) / k,
+ A = sin$1(d - t) / k,
+ x = A * kx0 + B * kx1,
+ y = A * ky0 + B * ky1,
+ z = A * sy0 + B * sy1;
+ return [
+ atan2(y, x) * degrees$1,
+ atan2(z, sqrt(x * x + y * y)) * degrees$1
+ ];
+ } : function() {
+ return [x0 * degrees$1, y0 * degrees$1];
+ };
+
+ interpolate.distance = d;
+
+ return interpolate;
+};
+
+var identity$4 = function(x) {
+ return x;
+};
+
+var areaSum$1 = adder();
+var areaRingSum$1 = adder();
+var x00;
+var y00;
+var x0$1;
+var y0$1;
+
+var areaStream$1 = {
+ point: noop$1,
+ lineStart: noop$1,
+ lineEnd: noop$1,
+ polygonStart: function() {
+ areaStream$1.lineStart = areaRingStart$1;
+ areaStream$1.lineEnd = areaRingEnd$1;
+ },
+ polygonEnd: function() {
+ areaStream$1.lineStart = areaStream$1.lineEnd = areaStream$1.point = noop$1;
+ areaSum$1.add(abs(areaRingSum$1));
+ areaRingSum$1.reset();
+ },
+ result: function() {
+ var area = areaSum$1 / 2;
+ areaSum$1.reset();
+ return area;
+ }
+};
+
+function areaRingStart$1() {
+ areaStream$1.point = areaPointFirst$1;
+}
+
+function areaPointFirst$1(x, y) {
+ areaStream$1.point = areaPoint$1;
+ x00 = x0$1 = x, y00 = y0$1 = y;
+}
+
+function areaPoint$1(x, y) {
+ areaRingSum$1.add(y0$1 * x - x0$1 * y);
+ x0$1 = x, y0$1 = y;
+}
+
+function areaRingEnd$1() {
+ areaPoint$1(x00, y00);
+}
+
+var x0$2 = Infinity;
+var y0$2 = x0$2;
+var x1 = -x0$2;
+var y1 = x1;
+
+var boundsStream$1 = {
+ point: boundsPoint$1,
+ lineStart: noop$1,
+ lineEnd: noop$1,
+ polygonStart: noop$1,
+ polygonEnd: noop$1,
+ result: function() {
+ var bounds = [[x0$2, y0$2], [x1, y1]];
+ x1 = y1 = -(y0$2 = x0$2 = Infinity);
+ return bounds;
+ }
+};
+
+function boundsPoint$1(x, y) {
+ if (x < x0$2) x0$2 = x;
+ if (x > x1) x1 = x;
+ if (y < y0$2) y0$2 = y;
+ if (y > y1) y1 = y;
+}
+
+// TODO Enforce positive area for exterior, negative area for interior?
+
+var X0$1 = 0;
+var Y0$1 = 0;
+var Z0$1 = 0;
+var X1$1 = 0;
+var Y1$1 = 0;
+var Z1$1 = 0;
+var X2$1 = 0;
+var Y2$1 = 0;
+var Z2$1 = 0;
+var x00$1;
+var y00$1;
+var x0$3;
+var y0$3;
+
+var centroidStream$1 = {
+ point: centroidPoint$1,
+ lineStart: centroidLineStart$1,
+ lineEnd: centroidLineEnd$1,
+ polygonStart: function() {
+ centroidStream$1.lineStart = centroidRingStart$1;
+ centroidStream$1.lineEnd = centroidRingEnd$1;
+ },
+ polygonEnd: function() {
+ centroidStream$1.point = centroidPoint$1;
+ centroidStream$1.lineStart = centroidLineStart$1;
+ centroidStream$1.lineEnd = centroidLineEnd$1;
+ },
+ result: function() {
+ var centroid = Z2$1 ? [X2$1 / Z2$1, Y2$1 / Z2$1]
+ : Z1$1 ? [X1$1 / Z1$1, Y1$1 / Z1$1]
+ : Z0$1 ? [X0$1 / Z0$1, Y0$1 / Z0$1]
+ : [NaN, NaN];
+ X0$1 = Y0$1 = Z0$1 =
+ X1$1 = Y1$1 = Z1$1 =
+ X2$1 = Y2$1 = Z2$1 = 0;
+ return centroid;
+ }
+};
+
+function centroidPoint$1(x, y) {
+ X0$1 += x;
+ Y0$1 += y;
+ ++Z0$1;
+}
+
+function centroidLineStart$1() {
+ centroidStream$1.point = centroidPointFirstLine;
+}
+
+function centroidPointFirstLine(x, y) {
+ centroidStream$1.point = centroidPointLine;
+ centroidPoint$1(x0$3 = x, y0$3 = y);
+}
+
+function centroidPointLine(x, y) {
+ var dx = x - x0$3, dy = y - y0$3, z = sqrt(dx * dx + dy * dy);
+ X1$1 += z * (x0$3 + x) / 2;
+ Y1$1 += z * (y0$3 + y) / 2;
+ Z1$1 += z;
+ centroidPoint$1(x0$3 = x, y0$3 = y);
+}
+
+function centroidLineEnd$1() {
+ centroidStream$1.point = centroidPoint$1;
+}
+
+function centroidRingStart$1() {
+ centroidStream$1.point = centroidPointFirstRing;
+}
+
+function centroidRingEnd$1() {
+ centroidPointRing(x00$1, y00$1);
+}
+
+function centroidPointFirstRing(x, y) {
+ centroidStream$1.point = centroidPointRing;
+ centroidPoint$1(x00$1 = x0$3 = x, y00$1 = y0$3 = y);
+}
+
+function centroidPointRing(x, y) {
+ var dx = x - x0$3,
+ dy = y - y0$3,
+ z = sqrt(dx * dx + dy * dy);
+
+ X1$1 += z * (x0$3 + x) / 2;
+ Y1$1 += z * (y0$3 + y) / 2;
+ Z1$1 += z;
+
+ z = y0$3 * x - x0$3 * y;
+ X2$1 += z * (x0$3 + x);
+ Y2$1 += z * (y0$3 + y);
+ Z2$1 += z * 3;
+ centroidPoint$1(x0$3 = x, y0$3 = y);
+}
+
+function PathContext(context) {
+ this._context = context;
+}
+
+PathContext.prototype = {
+ _radius: 4.5,
+ pointRadius: function(_) {
+ return this._radius = _, this;
+ },
+ polygonStart: function() {
+ this._line = 0;
+ },
+ polygonEnd: function() {
+ this._line = NaN;
+ },
+ lineStart: function() {
+ this._point = 0;
+ },
+ lineEnd: function() {
+ if (this._line === 0) this._context.closePath();
+ this._point = NaN;
+ },
+ point: function(x, y) {
+ switch (this._point) {
+ case 0: {
+ this._context.moveTo(x, y);
+ this._point = 1;
+ break;
+ }
+ case 1: {
+ this._context.lineTo(x, y);
+ break;
+ }
+ default: {
+ this._context.moveTo(x + this._radius, y);
+ this._context.arc(x, y, this._radius, 0, tau$3);
+ break;
+ }
+ }
+ },
+ result: noop$1
+};
+
+var lengthSum$1 = adder();
+var lengthRing;
+var x00$2;
+var y00$2;
+var x0$4;
+var y0$4;
+
+var lengthStream$1 = {
+ point: noop$1,
+ lineStart: function() {
+ lengthStream$1.point = lengthPointFirst$1;
+ },
+ lineEnd: function() {
+ if (lengthRing) lengthPoint$1(x00$2, y00$2);
+ lengthStream$1.point = noop$1;
+ },
+ polygonStart: function() {
+ lengthRing = true;
+ },
+ polygonEnd: function() {
+ lengthRing = null;
+ },
+ result: function() {
+ var length = +lengthSum$1;
+ lengthSum$1.reset();
+ return length;
+ }
+};
+
+function lengthPointFirst$1(x, y) {
+ lengthStream$1.point = lengthPoint$1;
+ x00$2 = x0$4 = x, y00$2 = y0$4 = y;
+}
+
+function lengthPoint$1(x, y) {
+ x0$4 -= x, y0$4 -= y;
+ lengthSum$1.add(sqrt(x0$4 * x0$4 + y0$4 * y0$4));
+ x0$4 = x, y0$4 = y;
+}
+
+function PathString() {
+ this._string = [];
+}
+
+PathString.prototype = {
+ _circle: circle$1(4.5),
+ pointRadius: function(_) {
+ return this._circle = circle$1(_), this;
+ },
+ polygonStart: function() {
+ this._line = 0;
+ },
+ polygonEnd: function() {
+ this._line = NaN;
+ },
+ lineStart: function() {
+ this._point = 0;
+ },
+ lineEnd: function() {
+ if (this._line === 0) this._string.push("Z");
+ this._point = NaN;
+ },
+ point: function(x, y) {
+ switch (this._point) {
+ case 0: {
+ this._string.push("M", x, ",", y);
+ this._point = 1;
+ break;
+ }
+ case 1: {
+ this._string.push("L", x, ",", y);
+ break;
+ }
+ default: {
+ this._string.push("M", x, ",", y, this._circle);
+ break;
+ }
+ }
+ },
+ result: function() {
+ if (this._string.length) {
+ var result = this._string.join("");
+ this._string = [];
+ return result;
+ }
+ }
+};
+
+function circle$1(radius) {
+ return "m0," + radius
+ + "a" + radius + "," + radius + " 0 1,1 0," + -2 * radius
+ + "a" + radius + "," + radius + " 0 1,1 0," + 2 * radius
+ + "z";
+}
+
+var index$1 = function(projection, context) {
+ var pointRadius = 4.5,
+ projectionStream,
+ contextStream;
+
+ function path(object) {
+ if (object) {
+ if (typeof pointRadius === "function") contextStream.pointRadius(+pointRadius.apply(this, arguments));
+ geoStream(object, projectionStream(contextStream));
+ }
+ return contextStream.result();
+ }
+
+ path.area = function(object) {
+ geoStream(object, projectionStream(areaStream$1));
+ return areaStream$1.result();
+ };
+
+ path.measure = function(object) {
+ geoStream(object, projectionStream(lengthStream$1));
+ return lengthStream$1.result();
+ };
+
+ path.bounds = function(object) {
+ geoStream(object, projectionStream(boundsStream$1));
+ return boundsStream$1.result();
+ };
+
+ path.centroid = function(object) {
+ geoStream(object, projectionStream(centroidStream$1));
+ return centroidStream$1.result();
+ };
+
+ path.projection = function(_) {
+ return arguments.length ? (projectionStream = _ == null ? (projection = null, identity$4) : (projection = _).stream, path) : projection;
+ };
+
+ path.context = function(_) {
+ if (!arguments.length) return context;
+ contextStream = _ == null ? (context = null, new PathString) : new PathContext(context = _);
+ if (typeof pointRadius !== "function") contextStream.pointRadius(pointRadius);
+ return path;
+ };
+
+ path.pointRadius = function(_) {
+ if (!arguments.length) return pointRadius;
+ pointRadius = typeof _ === "function" ? _ : (contextStream.pointRadius(+_), +_);
+ return path;
+ };
+
+ return path.projection(projection).context(context);
+};
+
+var clip = function(pointVisible, clipLine, interpolate, start) {
+ return function(rotate, sink) {
+ var line = clipLine(sink),
+ rotatedStart = rotate.invert(start[0], start[1]),
+ ringBuffer = clipBuffer(),
+ ringSink = clipLine(ringBuffer),
+ polygonStarted = false,
+ polygon,
+ segments,
+ ring;
+
+ var clip = {
+ point: point,
+ lineStart: lineStart,
+ lineEnd: lineEnd,
+ polygonStart: function() {
+ clip.point = pointRing;
+ clip.lineStart = ringStart;
+ clip.lineEnd = ringEnd;
+ segments = [];
+ polygon = [];
+ },
+ polygonEnd: function() {
+ clip.point = point;
+ clip.lineStart = lineStart;
+ clip.lineEnd = lineEnd;
+ segments = merge(segments);
+ var startInside = polygonContains(polygon, rotatedStart);
+ if (segments.length) {
+ if (!polygonStarted) sink.polygonStart(), polygonStarted = true;
+ clipPolygon(segments, compareIntersection, startInside, interpolate, sink);
+ } else if (startInside) {
+ if (!polygonStarted) sink.polygonStart(), polygonStarted = true;
+ sink.lineStart();
+ interpolate(null, null, 1, sink);
+ sink.lineEnd();
+ }
+ if (polygonStarted) sink.polygonEnd(), polygonStarted = false;
+ segments = polygon = null;
+ },
+ sphere: function() {
+ sink.polygonStart();
+ sink.lineStart();
+ interpolate(null, null, 1, sink);
+ sink.lineEnd();
+ sink.polygonEnd();
+ }
+ };
+
+ function point(lambda, phi) {
+ var point = rotate(lambda, phi);
+ if (pointVisible(lambda = point[0], phi = point[1])) sink.point(lambda, phi);
+ }
+
+ function pointLine(lambda, phi) {
+ var point = rotate(lambda, phi);
+ line.point(point[0], point[1]);
+ }
+
+ function lineStart() {
+ clip.point = pointLine;
+ line.lineStart();
+ }
+
+ function lineEnd() {
+ clip.point = point;
+ line.lineEnd();
+ }
+
+ function pointRing(lambda, phi) {
+ ring.push([lambda, phi]);
+ var point = rotate(lambda, phi);
+ ringSink.point(point[0], point[1]);
+ }
+
+ function ringStart() {
+ ringSink.lineStart();
+ ring = [];
+ }
+
+ function ringEnd() {
+ pointRing(ring[0][0], ring[0][1]);
+ ringSink.lineEnd();
+
+ var clean = ringSink.clean(),
+ ringSegments = ringBuffer.result(),
+ i, n = ringSegments.length, m,
+ segment,
+ point;
+
+ ring.pop();
+ polygon.push(ring);
+ ring = null;
+
+ if (!n) return;
+
+ // No intersections.
+ if (clean & 1) {
+ segment = ringSegments[0];
+ if ((m = segment.length - 1) > 0) {
+ if (!polygonStarted) sink.polygonStart(), polygonStarted = true;
+ sink.lineStart();
+ for (i = 0; i < m; ++i) sink.point((point = segment[i])[0], point[1]);
+ sink.lineEnd();
+ }
+ return;
+ }
+
+ // Rejoin connected segments.
+ // TODO reuse ringBuffer.rejoin()?
+ if (n > 1 && clean & 2) ringSegments.push(ringSegments.pop().concat(ringSegments.shift()));
+
+ segments.push(ringSegments.filter(validSegment));
+ }
+
+ return clip;
+ };
+};
+
+function validSegment(segment) {
+ return segment.length > 1;
+}
+
+// Intersections are sorted along the clip edge. For both antimeridian cutting
+// and circle clipping, the same comparison is used.
+function compareIntersection(a, b) {
+ return ((a = a.x)[0] < 0 ? a[1] - halfPi$2 - epsilon$2 : halfPi$2 - a[1])
+ - ((b = b.x)[0] < 0 ? b[1] - halfPi$2 - epsilon$2 : halfPi$2 - b[1]);
+}
+
+var clipAntimeridian = clip(
+ function() { return true; },
+ clipAntimeridianLine,
+ clipAntimeridianInterpolate,
+ [-pi$3, -halfPi$2]
+);
+
+// Takes a line and cuts into visible segments. Return values: 0 - there were
+// intersections or the line was empty; 1 - no intersections; 2 - there were
+// intersections, and the first and last segments should be rejoined.
+function clipAntimeridianLine(stream) {
+ var lambda0 = NaN,
+ phi0 = NaN,
+ sign0 = NaN,
+ clean; // no intersections
+
+ return {
+ lineStart: function() {
+ stream.lineStart();
+ clean = 1;
+ },
+ point: function(lambda1, phi1) {
+ var sign1 = lambda1 > 0 ? pi$3 : -pi$3,
+ delta = abs(lambda1 - lambda0);
+ if (abs(delta - pi$3) < epsilon$2) { // line crosses a pole
+ stream.point(lambda0, phi0 = (phi0 + phi1) / 2 > 0 ? halfPi$2 : -halfPi$2);
+ stream.point(sign0, phi0);
+ stream.lineEnd();
+ stream.lineStart();
+ stream.point(sign1, phi0);
+ stream.point(lambda1, phi0);
+ clean = 0;
+ } else if (sign0 !== sign1 && delta >= pi$3) { // line crosses antimeridian
+ if (abs(lambda0 - sign0) < epsilon$2) lambda0 -= sign0 * epsilon$2; // handle degeneracies
+ if (abs(lambda1 - sign1) < epsilon$2) lambda1 -= sign1 * epsilon$2;
+ phi0 = clipAntimeridianIntersect(lambda0, phi0, lambda1, phi1);
+ stream.point(sign0, phi0);
+ stream.lineEnd();
+ stream.lineStart();
+ stream.point(sign1, phi0);
+ clean = 0;
+ }
+ stream.point(lambda0 = lambda1, phi0 = phi1);
+ sign0 = sign1;
+ },
+ lineEnd: function() {
+ stream.lineEnd();
+ lambda0 = phi0 = NaN;
+ },
+ clean: function() {
+ return 2 - clean; // if intersections, rejoin first and last segments
+ }
+ };
+}
+
+function clipAntimeridianIntersect(lambda0, phi0, lambda1, phi1) {
+ var cosPhi0,
+ cosPhi1,
+ sinLambda0Lambda1 = sin$1(lambda0 - lambda1);
+ return abs(sinLambda0Lambda1) > epsilon$2
+ ? atan((sin$1(phi0) * (cosPhi1 = cos$1(phi1)) * sin$1(lambda1)
+ - sin$1(phi1) * (cosPhi0 = cos$1(phi0)) * sin$1(lambda0))
+ / (cosPhi0 * cosPhi1 * sinLambda0Lambda1))
+ : (phi0 + phi1) / 2;
+}
+
+function clipAntimeridianInterpolate(from, to, direction, stream) {
+ var phi;
+ if (from == null) {
+ phi = direction * halfPi$2;
+ stream.point(-pi$3, phi);
+ stream.point(0, phi);
+ stream.point(pi$3, phi);
+ stream.point(pi$3, 0);
+ stream.point(pi$3, -phi);
+ stream.point(0, -phi);
+ stream.point(-pi$3, -phi);
+ stream.point(-pi$3, 0);
+ stream.point(-pi$3, phi);
+ } else if (abs(from[0] - to[0]) > epsilon$2) {
+ var lambda = from[0] < to[0] ? pi$3 : -pi$3;
+ phi = direction * lambda / 2;
+ stream.point(-lambda, phi);
+ stream.point(0, phi);
+ stream.point(lambda, phi);
+ } else {
+ stream.point(to[0], to[1]);
+ }
+}
+
+var clipCircle = function(radius, delta) {
+ var cr = cos$1(radius),
+ smallRadius = cr > 0,
+ notHemisphere = abs(cr) > epsilon$2; // TODO optimise for this common case
+
+ function interpolate(from, to, direction, stream) {
+ circleStream(stream, radius, delta, direction, from, to);
+ }
+
+ function visible(lambda, phi) {
+ return cos$1(lambda) * cos$1(phi) > cr;
+ }
+
+ // Takes a line and cuts into visible segments. Return values used for polygon
+ // clipping: 0 - there were intersections or the line was empty; 1 - no
+ // intersections 2 - there were intersections, and the first and last segments
+ // should be rejoined.
+ function clipLine(stream) {
+ var point0, // previous point
+ c0, // code for previous point
+ v0, // visibility of previous point
+ v00, // visibility of first point
+ clean; // no intersections
+ return {
+ lineStart: function() {
+ v00 = v0 = false;
+ clean = 1;
+ },
+ point: function(lambda, phi) {
+ var point1 = [lambda, phi],
+ point2,
+ v = visible(lambda, phi),
+ c = smallRadius
+ ? v ? 0 : code(lambda, phi)
+ : v ? code(lambda + (lambda < 0 ? pi$3 : -pi$3), phi) : 0;
+ if (!point0 && (v00 = v0 = v)) stream.lineStart();
+ // Handle degeneracies.
+ // TODO ignore if not clipping polygons.
+ if (v !== v0) {
+ point2 = intersect(point0, point1);
+ if (pointEqual(point0, point2) || pointEqual(point1, point2)) {
+ point1[0] += epsilon$2;
+ point1[1] += epsilon$2;
+ v = visible(point1[0], point1[1]);
+ }
+ }
+ if (v !== v0) {
+ clean = 0;
+ if (v) {
+ // outside going in
+ stream.lineStart();
+ point2 = intersect(point1, point0);
+ stream.point(point2[0], point2[1]);
+ } else {
+ // inside going out
+ point2 = intersect(point0, point1);
+ stream.point(point2[0], point2[1]);
+ stream.lineEnd();
+ }
+ point0 = point2;
+ } else if (notHemisphere && point0 && smallRadius ^ v) {
+ var t;
+ // If the codes for two points are different, or are both zero,
+ // and there this segment intersects with the small circle.
+ if (!(c & c0) && (t = intersect(point1, point0, true))) {
+ clean = 0;
+ if (smallRadius) {
+ stream.lineStart();
+ stream.point(t[0][0], t[0][1]);
+ stream.point(t[1][0], t[1][1]);
+ stream.lineEnd();
+ } else {
+ stream.point(t[1][0], t[1][1]);
+ stream.lineEnd();
+ stream.lineStart();
+ stream.point(t[0][0], t[0][1]);
+ }
+ }
+ }
+ if (v && (!point0 || !pointEqual(point0, point1))) {
+ stream.point(point1[0], point1[1]);
+ }
+ point0 = point1, v0 = v, c0 = c;
+ },
+ lineEnd: function() {
+ if (v0) stream.lineEnd();
+ point0 = null;
+ },
+ // Rejoin first and last segments if there were intersections and the first
+ // and last points were visible.
+ clean: function() {
+ return clean | ((v00 && v0) << 1);
+ }
+ };
+ }
+
+ // Intersects the great circle between a and b with the clip circle.
+ function intersect(a, b, two) {
+ var pa = cartesian(a),
+ pb = cartesian(b);
+
+ // We have two planes, n1.p = d1 and n2.p = d2.
+ // Find intersection line p(t) = c1 n1 + c2 n2 + t (n1 ⨯ n2).
+ var n1 = [1, 0, 0], // normal
+ n2 = cartesianCross(pa, pb),
+ n2n2 = cartesianDot(n2, n2),
+ n1n2 = n2[0], // cartesianDot(n1, n2),
+ determinant = n2n2 - n1n2 * n1n2;
+
+ // Two polar points.
+ if (!determinant) return !two && a;
+
+ var c1 = cr * n2n2 / determinant,
+ c2 = -cr * n1n2 / determinant,
+ n1xn2 = cartesianCross(n1, n2),
+ A = cartesianScale(n1, c1),
+ B = cartesianScale(n2, c2);
+ cartesianAddInPlace(A, B);
+
+ // Solve |p(t)|^2 = 1.
+ var u = n1xn2,
+ w = cartesianDot(A, u),
+ uu = cartesianDot(u, u),
+ t2 = w * w - uu * (cartesianDot(A, A) - 1);
+
+ if (t2 < 0) return;
+
+ var t = sqrt(t2),
+ q = cartesianScale(u, (-w - t) / uu);
+ cartesianAddInPlace(q, A);
+ q = spherical(q);
+
+ if (!two) return q;
+
+ // Two intersection points.
+ var lambda0 = a[0],
+ lambda1 = b[0],
+ phi0 = a[1],
+ phi1 = b[1],
+ z;
+
+ if (lambda1 < lambda0) z = lambda0, lambda0 = lambda1, lambda1 = z;
+
+ var delta = lambda1 - lambda0,
+ polar = abs(delta - pi$3) < epsilon$2,
+ meridian = polar || delta < epsilon$2;
+
+ if (!polar && phi1 < phi0) z = phi0, phi0 = phi1, phi1 = z;
+
+ // Check that the first point is between a and b.
+ if (meridian
+ ? polar
+ ? phi0 + phi1 > 0 ^ q[1] < (abs(q[0] - lambda0) < epsilon$2 ? phi0 : phi1)
+ : phi0 <= q[1] && q[1] <= phi1
+ : delta > pi$3 ^ (lambda0 <= q[0] && q[0] <= lambda1)) {
+ var q1 = cartesianScale(u, (-w + t) / uu);
+ cartesianAddInPlace(q1, A);
+ return [q, spherical(q1)];
+ }
+ }
+
+ // Generates a 4-bit vector representing the location of a point relative to
+ // the small circle's bounding box.
+ function code(lambda, phi) {
+ var r = smallRadius ? radius : pi$3 - radius,
+ code = 0;
+ if (lambda < -r) code |= 1; // left
+ else if (lambda > r) code |= 2; // right
+ if (phi < -r) code |= 4; // below
+ else if (phi > r) code |= 8; // above
+ return code;
+ }
+
+ return clip(visible, clipLine, interpolate, smallRadius ? [0, -radius] : [-pi$3, radius - pi$3]);
+};
+
+var transform = function(methods) {
+ return {
+ stream: transformer(methods)
+ };
+};
+
+function transformer(methods) {
+ return function(stream) {
+ var s = new TransformStream;
+ for (var key in methods) s[key] = methods[key];
+ s.stream = stream;
+ return s;
+ };
+}
+
+function TransformStream() {}
+
+TransformStream.prototype = {
+ constructor: TransformStream,
+ point: function(x, y) { this.stream.point(x, y); },
+ sphere: function() { this.stream.sphere(); },
+ lineStart: function() { this.stream.lineStart(); },
+ lineEnd: function() { this.stream.lineEnd(); },
+ polygonStart: function() { this.stream.polygonStart(); },
+ polygonEnd: function() { this.stream.polygonEnd(); }
+};
+
+function fitExtent(projection, extent, object) {
+ var w = extent[1][0] - extent[0][0],
+ h = extent[1][1] - extent[0][1],
+ clip = projection.clipExtent && projection.clipExtent();
+
+ projection
+ .scale(150)
+ .translate([0, 0]);
+
+ if (clip != null) projection.clipExtent(null);
+
+ geoStream(object, projection.stream(boundsStream$1));
+
+ var b = boundsStream$1.result(),
+ k = Math.min(w / (b[1][0] - b[0][0]), h / (b[1][1] - b[0][1])),
+ x = +extent[0][0] + (w - k * (b[1][0] + b[0][0])) / 2,
+ y = +extent[0][1] + (h - k * (b[1][1] + b[0][1])) / 2;
+
+ if (clip != null) projection.clipExtent(clip);
+
+ return projection
+ .scale(k * 150)
+ .translate([x, y]);
+}
+
+function fitSize(projection, size, object) {
+ return fitExtent(projection, [[0, 0], size], object);
+}
+
+var maxDepth = 16;
+var cosMinDistance = cos$1(30 * radians); // cos(minimum angular distance)
+
+var resample = function(project, delta2) {
+ return +delta2 ? resample$1(project, delta2) : resampleNone(project);
+};
+
+function resampleNone(project) {
+ return transformer({
+ point: function(x, y) {
+ x = project(x, y);
+ this.stream.point(x[0], x[1]);
+ }
+ });
+}
+
+function resample$1(project, delta2) {
+
+ function resampleLineTo(x0, y0, lambda0, a0, b0, c0, x1, y1, lambda1, a1, b1, c1, depth, stream) {
+ var dx = x1 - x0,
+ dy = y1 - y0,
+ d2 = dx * dx + dy * dy;
+ if (d2 > 4 * delta2 && depth--) {
+ var a = a0 + a1,
+ b = b0 + b1,
+ c = c0 + c1,
+ m = sqrt(a * a + b * b + c * c),
+ phi2 = asin(c /= m),
+ lambda2 = abs(abs(c) - 1) < epsilon$2 || abs(lambda0 - lambda1) < epsilon$2 ? (lambda0 + lambda1) / 2 : atan2(b, a),
+ p = project(lambda2, phi2),
+ x2 = p[0],
+ y2 = p[1],
+ dx2 = x2 - x0,
+ dy2 = y2 - y0,
+ dz = dy * dx2 - dx * dy2;
+ if (dz * dz / d2 > delta2 // perpendicular projected distance
+ || abs((dx * dx2 + dy * dy2) / d2 - 0.5) > 0.3 // midpoint close to an end
+ || a0 * a1 + b0 * b1 + c0 * c1 < cosMinDistance) { // angular distance
+ resampleLineTo(x0, y0, lambda0, a0, b0, c0, x2, y2, lambda2, a /= m, b /= m, c, depth, stream);
+ stream.point(x2, y2);
+ resampleLineTo(x2, y2, lambda2, a, b, c, x1, y1, lambda1, a1, b1, c1, depth, stream);
+ }
+ }
+ }
+ return function(stream) {
+ var lambda00, x00, y00, a00, b00, c00, // first point
+ lambda0, x0, y0, a0, b0, c0; // previous point
+
+ var resampleStream = {
+ point: point,
+ lineStart: lineStart,
+ lineEnd: lineEnd,
+ polygonStart: function() { stream.polygonStart(); resampleStream.lineStart = ringStart; },
+ polygonEnd: function() { stream.polygonEnd(); resampleStream.lineStart = lineStart; }
+ };
+
+ function point(x, y) {
+ x = project(x, y);
+ stream.point(x[0], x[1]);
+ }
+
+ function lineStart() {
+ x0 = NaN;
+ resampleStream.point = linePoint;
+ stream.lineStart();
+ }
+
+ function linePoint(lambda, phi) {
+ var c = cartesian([lambda, phi]), p = project(lambda, phi);
+ resampleLineTo(x0, y0, lambda0, a0, b0, c0, x0 = p[0], y0 = p[1], lambda0 = lambda, a0 = c[0], b0 = c[1], c0 = c[2], maxDepth, stream);
+ stream.point(x0, y0);
+ }
+
+ function lineEnd() {
+ resampleStream.point = point;
+ stream.lineEnd();
+ }
+
+ function ringStart() {
+ lineStart();
+ resampleStream.point = ringPoint;
+ resampleStream.lineEnd = ringEnd;
+ }
+
+ function ringPoint(lambda, phi) {
+ linePoint(lambda00 = lambda, phi), x00 = x0, y00 = y0, a00 = a0, b00 = b0, c00 = c0;
+ resampleStream.point = linePoint;
+ }
+
+ function ringEnd() {
+ resampleLineTo(x0, y0, lambda0, a0, b0, c0, x00, y00, lambda00, a00, b00, c00, maxDepth, stream);
+ resampleStream.lineEnd = lineEnd;
+ lineEnd();
+ }
+
+ return resampleStream;
+ };
+}
+
+var transformRadians = transformer({
+ point: function(x, y) {
+ this.stream.point(x * radians, y * radians);
+ }
+});
+
+function projection(project) {
+ return projectionMutator(function() { return project; })();
+}
+
+function projectionMutator(projectAt) {
+ var project,
+ k = 150, // scale
+ x = 480, y = 250, // translate
+ dx, dy, lambda = 0, phi = 0, // center
+ deltaLambda = 0, deltaPhi = 0, deltaGamma = 0, rotate, projectRotate, // rotate
+ theta = null, preclip = clipAntimeridian, // clip angle
+ x0 = null, y0, x1, y1, postclip = identity$4, // clip extent
+ delta2 = 0.5, projectResample = resample(projectTransform, delta2), // precision
+ cache,
+ cacheStream;
+
+ function projection(point) {
+ point = projectRotate(point[0] * radians, point[1] * radians);
+ return [point[0] * k + dx, dy - point[1] * k];
+ }
+
+ function invert(point) {
+ point = projectRotate.invert((point[0] - dx) / k, (dy - point[1]) / k);
+ return point && [point[0] * degrees$1, point[1] * degrees$1];
+ }
+
+ function projectTransform(x, y) {
+ return x = project(x, y), [x[0] * k + dx, dy - x[1] * k];
+ }
+
+ projection.stream = function(stream) {
+ return cache && cacheStream === stream ? cache : cache = transformRadians(preclip(rotate, projectResample(postclip(cacheStream = stream))));
+ };
+
+ projection.clipAngle = function(_) {
+ return arguments.length ? (preclip = +_ ? clipCircle(theta = _ * radians, 6 * radians) : (theta = null, clipAntimeridian), reset()) : theta * degrees$1;
+ };
+
+ projection.clipExtent = function(_) {
+ return arguments.length ? (postclip = _ == null ? (x0 = y0 = x1 = y1 = null, identity$4) : clipExtent(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]), reset()) : x0 == null ? null : [[x0, y0], [x1, y1]];
+ };
+
+ projection.scale = function(_) {
+ return arguments.length ? (k = +_, recenter()) : k;
+ };
+
+ projection.translate = function(_) {
+ return arguments.length ? (x = +_[0], y = +_[1], recenter()) : [x, y];
+ };
+
+ projection.center = function(_) {
+ return arguments.length ? (lambda = _[0] % 360 * radians, phi = _[1] % 360 * radians, recenter()) : [lambda * degrees$1, phi * degrees$1];
+ };
+
+ projection.rotate = function(_) {
+ return arguments.length ? (deltaLambda = _[0] % 360 * radians, deltaPhi = _[1] % 360 * radians, deltaGamma = _.length > 2 ? _[2] % 360 * radians : 0, recenter()) : [deltaLambda * degrees$1, deltaPhi * degrees$1, deltaGamma * degrees$1];
+ };
+
+ projection.precision = function(_) {
+ return arguments.length ? (projectResample = resample(projectTransform, delta2 = _ * _), reset()) : sqrt(delta2);
+ };
+
+ projection.fitExtent = function(extent, object) {
+ return fitExtent(projection, extent, object);
+ };
+
+ projection.fitSize = function(size, object) {
+ return fitSize(projection, size, object);
+ };
+
+ function recenter() {
+ projectRotate = compose(rotate = rotateRadians(deltaLambda, deltaPhi, deltaGamma), project);
+ var center = project(lambda, phi);
+ dx = x - center[0] * k;
+ dy = y + center[1] * k;
+ return reset();
+ }
+
+ function reset() {
+ cache = cacheStream = null;
+ return projection;
+ }
+
+ return function() {
+ project = projectAt.apply(this, arguments);
+ projection.invert = project.invert && invert;
+ return recenter();
+ };
+}
+
+function conicProjection(projectAt) {
+ var phi0 = 0,
+ phi1 = pi$3 / 3,
+ m = projectionMutator(projectAt),
+ p = m(phi0, phi1);
+
+ p.parallels = function(_) {
+ return arguments.length ? m(phi0 = _[0] * radians, phi1 = _[1] * radians) : [phi0 * degrees$1, phi1 * degrees$1];
+ };
+
+ return p;
+}
+
+function cylindricalEqualAreaRaw(phi0) {
+ var cosPhi0 = cos$1(phi0);
+
+ function forward(lambda, phi) {
+ return [lambda * cosPhi0, sin$1(phi) / cosPhi0];
+ }
+
+ forward.invert = function(x, y) {
+ return [x / cosPhi0, asin(y * cosPhi0)];
+ };
+
+ return forward;
+}
+
+function conicEqualAreaRaw(y0, y1) {
+ var sy0 = sin$1(y0), n = (sy0 + sin$1(y1)) / 2;
+
+ // Are the parallels symmetrical around the Equator?
+ if (abs(n) < epsilon$2) return cylindricalEqualAreaRaw(y0);
+
+ var c = 1 + sy0 * (2 * n - sy0), r0 = sqrt(c) / n;
+
+ function project(x, y) {
+ var r = sqrt(c - 2 * n * sin$1(y)) / n;
+ return [r * sin$1(x *= n), r0 - r * cos$1(x)];
+ }
+
+ project.invert = function(x, y) {
+ var r0y = r0 - y;
+ return [atan2(x, abs(r0y)) / n * sign(r0y), asin((c - (x * x + r0y * r0y) * n * n) / (2 * n))];
+ };
+
+ return project;
+}
+
+var conicEqualArea = function() {
+ return conicProjection(conicEqualAreaRaw)
+ .scale(155.424)
+ .center([0, 33.6442]);
+};
+
+var albers = function() {
+ return conicEqualArea()
+ .parallels([29.5, 45.5])
+ .scale(1070)
+ .translate([480, 250])
+ .rotate([96, 0])
+ .center([-0.6, 38.7]);
+};
+
+// The projections must have mutually exclusive clip regions on the sphere,
+// as this will avoid emitting interleaving lines and polygons.
+function multiplex(streams) {
+ var n = streams.length;
+ return {
+ point: function(x, y) { var i = -1; while (++i < n) streams[i].point(x, y); },
+ sphere: function() { var i = -1; while (++i < n) streams[i].sphere(); },
+ lineStart: function() { var i = -1; while (++i < n) streams[i].lineStart(); },
+ lineEnd: function() { var i = -1; while (++i < n) streams[i].lineEnd(); },
+ polygonStart: function() { var i = -1; while (++i < n) streams[i].polygonStart(); },
+ polygonEnd: function() { var i = -1; while (++i < n) streams[i].polygonEnd(); }
+ };
+}
+
+// A composite projection for the United States, configured by default for
+// 960×500. The projection also works quite well at 960×600 if you change the
+// scale to 1285 and adjust the translate accordingly. The set of standard
+// parallels for each region comes from USGS, which is published here:
+// http://egsc.usgs.gov/isb/pubs/MapProjections/projections.html#albers
+var albersUsa = function() {
+ var cache,
+ cacheStream,
+ lower48 = albers(), lower48Point,
+ alaska = conicEqualArea().rotate([154, 0]).center([-2, 58.5]).parallels([55, 65]), alaskaPoint, // EPSG:3338
+ hawaii = conicEqualArea().rotate([157, 0]).center([-3, 19.9]).parallels([8, 18]), hawaiiPoint, // ESRI:102007
+ point, pointStream = {point: function(x, y) { point = [x, y]; }};
+
+ function albersUsa(coordinates) {
+ var x = coordinates[0], y = coordinates[1];
+ return point = null,
+ (lower48Point.point(x, y), point)
+ || (alaskaPoint.point(x, y), point)
+ || (hawaiiPoint.point(x, y), point);
+ }
+
+ albersUsa.invert = function(coordinates) {
+ var k = lower48.scale(),
+ t = lower48.translate(),
+ x = (coordinates[0] - t[0]) / k,
+ y = (coordinates[1] - t[1]) / k;
+ return (y >= 0.120 && y < 0.234 && x >= -0.425 && x < -0.214 ? alaska
+ : y >= 0.166 && y < 0.234 && x >= -0.214 && x < -0.115 ? hawaii
+ : lower48).invert(coordinates);
+ };
+
+ albersUsa.stream = function(stream) {
+ return cache && cacheStream === stream ? cache : cache = multiplex([lower48.stream(cacheStream = stream), alaska.stream(stream), hawaii.stream(stream)]);
+ };
+
+ albersUsa.precision = function(_) {
+ if (!arguments.length) return lower48.precision();
+ lower48.precision(_), alaska.precision(_), hawaii.precision(_);
+ return reset();
+ };
+
+ albersUsa.scale = function(_) {
+ if (!arguments.length) return lower48.scale();
+ lower48.scale(_), alaska.scale(_ * 0.35), hawaii.scale(_);
+ return albersUsa.translate(lower48.translate());
+ };
+
+ albersUsa.translate = function(_) {
+ if (!arguments.length) return lower48.translate();
+ var k = lower48.scale(), x = +_[0], y = +_[1];
+
+ lower48Point = lower48
+ .translate(_)
+ .clipExtent([[x - 0.455 * k, y - 0.238 * k], [x + 0.455 * k, y + 0.238 * k]])
+ .stream(pointStream);
+
+ alaskaPoint = alaska
+ .translate([x - 0.307 * k, y + 0.201 * k])
+ .clipExtent([[x - 0.425 * k + epsilon$2, y + 0.120 * k + epsilon$2], [x - 0.214 * k - epsilon$2, y + 0.234 * k - epsilon$2]])
+ .stream(pointStream);
+
+ hawaiiPoint = hawaii
+ .translate([x - 0.205 * k, y + 0.212 * k])
+ .clipExtent([[x - 0.214 * k + epsilon$2, y + 0.166 * k + epsilon$2], [x - 0.115 * k - epsilon$2, y + 0.234 * k - epsilon$2]])
+ .stream(pointStream);
+
+ return reset();
+ };
+
+ albersUsa.fitExtent = function(extent, object) {
+ return fitExtent(albersUsa, extent, object);
+ };
+
+ albersUsa.fitSize = function(size, object) {
+ return fitSize(albersUsa, size, object);
+ };
+
+ function reset() {
+ cache = cacheStream = null;
+ return albersUsa;
+ }
+
+ return albersUsa.scale(1070);
+};
+
+function azimuthalRaw(scale) {
+ return function(x, y) {
+ var cx = cos$1(x),
+ cy = cos$1(y),
+ k = scale(cx * cy);
+ return [
+ k * cy * sin$1(x),
+ k * sin$1(y)
+ ];
+ }
+}
+
+function azimuthalInvert(angle) {
+ return function(x, y) {
+ var z = sqrt(x * x + y * y),
+ c = angle(z),
+ sc = sin$1(c),
+ cc = cos$1(c);
+ return [
+ atan2(x * sc, z * cc),
+ asin(z && y * sc / z)
+ ];
+ }
+}
+
+var azimuthalEqualAreaRaw = azimuthalRaw(function(cxcy) {
+ return sqrt(2 / (1 + cxcy));
+});
+
+azimuthalEqualAreaRaw.invert = azimuthalInvert(function(z) {
+ return 2 * asin(z / 2);
+});
+
+var azimuthalEqualArea = function() {
+ return projection(azimuthalEqualAreaRaw)
+ .scale(124.75)
+ .clipAngle(180 - 1e-3);
+};
+
+var azimuthalEquidistantRaw = azimuthalRaw(function(c) {
+ return (c = acos(c)) && c / sin$1(c);
+});
+
+azimuthalEquidistantRaw.invert = azimuthalInvert(function(z) {
+ return z;
+});
+
+var azimuthalEquidistant = function() {
+ return projection(azimuthalEquidistantRaw)
+ .scale(79.4188)
+ .clipAngle(180 - 1e-3);
+};
+
+function mercatorRaw(lambda, phi) {
+ return [lambda, log(tan((halfPi$2 + phi) / 2))];
+}
+
+mercatorRaw.invert = function(x, y) {
+ return [x, 2 * atan(exp(y)) - halfPi$2];
+};
+
+var mercator = function() {
+ return mercatorProjection(mercatorRaw)
+ .scale(961 / tau$3);
+};
+
+function mercatorProjection(project) {
+ var m = projection(project),
+ center = m.center,
+ scale = m.scale,
+ translate = m.translate,
+ clipExtent = m.clipExtent,
+ x0 = null, y0, x1, y1; // clip extent
+
+ m.scale = function(_) {
+ return arguments.length ? (scale(_), reclip()) : scale();
+ };
+
+ m.translate = function(_) {
+ return arguments.length ? (translate(_), reclip()) : translate();
+ };
+
+ m.center = function(_) {
+ return arguments.length ? (center(_), reclip()) : center();
+ };
+
+ m.clipExtent = function(_) {
+ return arguments.length ? ((_ == null ? x0 = y0 = x1 = y1 = null : (x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1])), reclip()) : x0 == null ? null : [[x0, y0], [x1, y1]];
+ };
+
+ function reclip() {
+ var k = pi$3 * scale(),
+ t = m(rotation(m.rotate()).invert([0, 0]));
+ return clipExtent(x0 == null
+ ? [[t[0] - k, t[1] - k], [t[0] + k, t[1] + k]] : project === mercatorRaw
+ ? [[Math.max(t[0] - k, x0), y0], [Math.min(t[0] + k, x1), y1]]
+ : [[x0, Math.max(t[1] - k, y0)], [x1, Math.min(t[1] + k, y1)]]);
+ }
+
+ return reclip();
+}
+
+function tany(y) {
+ return tan((halfPi$2 + y) / 2);
+}
+
+function conicConformalRaw(y0, y1) {
+ var cy0 = cos$1(y0),
+ n = y0 === y1 ? sin$1(y0) : log(cy0 / cos$1(y1)) / log(tany(y1) / tany(y0)),
+ f = cy0 * pow(tany(y0), n) / n;
+
+ if (!n) return mercatorRaw;
+
+ function project(x, y) {
+ if (f > 0) { if (y < -halfPi$2 + epsilon$2) y = -halfPi$2 + epsilon$2; }
+ else { if (y > halfPi$2 - epsilon$2) y = halfPi$2 - epsilon$2; }
+ var r = f / pow(tany(y), n);
+ return [r * sin$1(n * x), f - r * cos$1(n * x)];
+ }
+
+ project.invert = function(x, y) {
+ var fy = f - y, r = sign(n) * sqrt(x * x + fy * fy);
+ return [atan2(x, abs(fy)) / n * sign(fy), 2 * atan(pow(f / r, 1 / n)) - halfPi$2];
+ };
+
+ return project;
+}
+
+var conicConformal = function() {
+ return conicProjection(conicConformalRaw)
+ .scale(109.5)
+ .parallels([30, 30]);
+};
+
+function equirectangularRaw(lambda, phi) {
+ return [lambda, phi];
+}
+
+equirectangularRaw.invert = equirectangularRaw;
+
+var equirectangular = function() {
+ return projection(equirectangularRaw)
+ .scale(152.63);
+};
+
+function conicEquidistantRaw(y0, y1) {
+ var cy0 = cos$1(y0),
+ n = y0 === y1 ? sin$1(y0) : (cy0 - cos$1(y1)) / (y1 - y0),
+ g = cy0 / n + y0;
+
+ if (abs(n) < epsilon$2) return equirectangularRaw;
+
+ function project(x, y) {
+ var gy = g - y, nx = n * x;
+ return [gy * sin$1(nx), g - gy * cos$1(nx)];
+ }
+
+ project.invert = function(x, y) {
+ var gy = g - y;
+ return [atan2(x, abs(gy)) / n * sign(gy), g - sign(n) * sqrt(x * x + gy * gy)];
+ };
+
+ return project;
+}
+
+var conicEquidistant = function() {
+ return conicProjection(conicEquidistantRaw)
+ .scale(131.154)
+ .center([0, 13.9389]);
+};
+
+function gnomonicRaw(x, y) {
+ var cy = cos$1(y), k = cos$1(x) * cy;
+ return [cy * sin$1(x) / k, sin$1(y) / k];
+}
+
+gnomonicRaw.invert = azimuthalInvert(atan);
+
+var gnomonic = function() {
+ return projection(gnomonicRaw)
+ .scale(144.049)
+ .clipAngle(60);
+};
+
+function scaleTranslate(kx, ky, tx, ty) {
+ return kx === 1 && ky === 1 && tx === 0 && ty === 0 ? identity$4 : transformer({
+ point: function(x, y) {
+ this.stream.point(x * kx + tx, y * ky + ty);
+ }
+ });
+}
+
+var identity$5 = function() {
+ var k = 1, tx = 0, ty = 0, sx = 1, sy = 1, transform = identity$4, // scale, translate and reflect
+ x0 = null, y0, x1, y1, clip = identity$4, // clip extent
+ cache,
+ cacheStream,
+ projection;
+
+ function reset() {
+ cache = cacheStream = null;
+ return projection;
+ }
+
+ return projection = {
+ stream: function(stream) {
+ return cache && cacheStream === stream ? cache : cache = transform(clip(cacheStream = stream));
+ },
+ clipExtent: function(_) {
+ return arguments.length ? (clip = _ == null ? (x0 = y0 = x1 = y1 = null, identity$4) : clipExtent(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]), reset()) : x0 == null ? null : [[x0, y0], [x1, y1]];
+ },
+ scale: function(_) {
+ return arguments.length ? (transform = scaleTranslate((k = +_) * sx, k * sy, tx, ty), reset()) : k;
+ },
+ translate: function(_) {
+ return arguments.length ? (transform = scaleTranslate(k * sx, k * sy, tx = +_[0], ty = +_[1]), reset()) : [tx, ty];
+ },
+ reflectX: function(_) {
+ return arguments.length ? (transform = scaleTranslate(k * (sx = _ ? -1 : 1), k * sy, tx, ty), reset()) : sx < 0;
+ },
+ reflectY: function(_) {
+ return arguments.length ? (transform = scaleTranslate(k * sx, k * (sy = _ ? -1 : 1), tx, ty), reset()) : sy < 0;
+ },
+ fitExtent: function(extent, object) {
+ return fitExtent(projection, extent, object);
+ },
+ fitSize: function(size, object) {
+ return fitSize(projection, size, object);
+ }
+ };
+};
+
+function orthographicRaw(x, y) {
+ return [cos$1(y) * sin$1(x), sin$1(y)];
+}
+
+orthographicRaw.invert = azimuthalInvert(asin);
+
+var orthographic = function() {
+ return projection(orthographicRaw)
+ .scale(249.5)
+ .clipAngle(90 + epsilon$2);
+};
+
+function stereographicRaw(x, y) {
+ var cy = cos$1(y), k = 1 + cos$1(x) * cy;
+ return [cy * sin$1(x) / k, sin$1(y) / k];
+}
+
+stereographicRaw.invert = azimuthalInvert(function(z) {
+ return 2 * atan(z);
+});
+
+var stereographic = function() {
+ return projection(stereographicRaw)
+ .scale(250)
+ .clipAngle(142);
+};
+
+function transverseMercatorRaw(lambda, phi) {
+ return [log(tan((halfPi$2 + phi) / 2)), -lambda];
+}
+
+transverseMercatorRaw.invert = function(x, y) {
+ return [-y, 2 * atan(exp(x)) - halfPi$2];
+};
+
+var transverseMercator = function() {
+ var m = mercatorProjection(transverseMercatorRaw),
+ center = m.center,
+ rotate = m.rotate;
+
+ m.center = function(_) {
+ return arguments.length ? center([-_[1], _[0]]) : (_ = center(), [_[1], -_[0]]);
+ };
+
+ m.rotate = function(_) {
+ return arguments.length ? rotate([_[0], _[1], _.length > 2 ? _[2] + 90 : 90]) : (_ = rotate(), [_[0], _[1], _[2] - 90]);
+ };
+
+ return rotate([0, 0, 90])
+ .scale(159.155);
+};
+
+function defaultSeparation(a, b) {
+ return a.parent === b.parent ? 1 : 2;
+}
+
+function meanX(children) {
+ return children.reduce(meanXReduce, 0) / children.length;
+}
+
+function meanXReduce(x, c) {
+ return x + c.x;
+}
+
+function maxY(children) {
+ return 1 + children.reduce(maxYReduce, 0);
+}
+
+function maxYReduce(y, c) {
+ return Math.max(y, c.y);
+}
+
+function leafLeft(node) {
+ var children;
+ while (children = node.children) node = children[0];
+ return node;
+}
+
+function leafRight(node) {
+ var children;
+ while (children = node.children) node = children[children.length - 1];
+ return node;
+}
+
+var cluster = function() {
+ var separation = defaultSeparation,
+ dx = 1,
+ dy = 1,
+ nodeSize = false;
+
+ function cluster(root) {
+ var previousNode,
+ x = 0;
+
+ // First walk, computing the initial x & y values.
+ root.eachAfter(function(node) {
+ var children = node.children;
+ if (children) {
+ node.x = meanX(children);
+ node.y = maxY(children);
+ } else {
+ node.x = previousNode ? x += separation(node, previousNode) : 0;
+ node.y = 0;
+ previousNode = node;
+ }
+ });
+
+ var left = leafLeft(root),
+ right = leafRight(root),
+ x0 = left.x - separation(left, right) / 2,
+ x1 = right.x + separation(right, left) / 2;
+
+ // Second walk, normalizing x & y to the desired size.
+ return root.eachAfter(nodeSize ? function(node) {
+ node.x = (node.x - root.x) * dx;
+ node.y = (root.y - node.y) * dy;
+ } : function(node) {
+ node.x = (node.x - x0) / (x1 - x0) * dx;
+ node.y = (1 - (root.y ? node.y / root.y : 1)) * dy;
+ });
+ }
+
+ cluster.separation = function(x) {
+ return arguments.length ? (separation = x, cluster) : separation;
+ };
+
+ cluster.size = function(x) {
+ return arguments.length ? (nodeSize = false, dx = +x[0], dy = +x[1], cluster) : (nodeSize ? null : [dx, dy]);
+ };
+
+ cluster.nodeSize = function(x) {
+ return arguments.length ? (nodeSize = true, dx = +x[0], dy = +x[1], cluster) : (nodeSize ? [dx, dy] : null);
+ };
+
+ return cluster;
+};
+
+function count(node) {
+ var sum = 0,
+ children = node.children,
+ i = children && children.length;
+ if (!i) sum = 1;
+ else while (--i >= 0) sum += children[i].value;
+ node.value = sum;
+}
+
+var node_count = function() {
+ return this.eachAfter(count);
+};
+
+var node_each = function(callback) {
+ var node = this, current, next = [node], children, i, n;
+ do {
+ current = next.reverse(), next = [];
+ while (node = current.pop()) {
+ callback(node), children = node.children;
+ if (children) for (i = 0, n = children.length; i < n; ++i) {
+ next.push(children[i]);
+ }
+ }
+ } while (next.length);
+ return this;
+};
+
+var node_eachBefore = function(callback) {
+ var node = this, nodes = [node], children, i;
+ while (node = nodes.pop()) {
+ callback(node), children = node.children;
+ if (children) for (i = children.length - 1; i >= 0; --i) {
+ nodes.push(children[i]);
+ }
+ }
+ return this;
+};
+
+var node_eachAfter = function(callback) {
+ var node = this, nodes = [node], next = [], children, i, n;
+ while (node = nodes.pop()) {
+ next.push(node), children = node.children;
+ if (children) for (i = 0, n = children.length; i < n; ++i) {
+ nodes.push(children[i]);
+ }
+ }
+ while (node = next.pop()) {
+ callback(node);
+ }
+ return this;
+};
+
+var node_sum = function(value) {
+ return this.eachAfter(function(node) {
+ var sum = +value(node.data) || 0,
+ children = node.children,
+ i = children && children.length;
+ while (--i >= 0) sum += children[i].value;
+ node.value = sum;
+ });
+};
+
+var node_sort = function(compare) {
+ return this.eachBefore(function(node) {
+ if (node.children) {
+ node.children.sort(compare);
+ }
+ });
+};
+
+var node_path = function(end) {
+ var start = this,
+ ancestor = leastCommonAncestor(start, end),
+ nodes = [start];
+ while (start !== ancestor) {
+ start = start.parent;
+ nodes.push(start);
+ }
+ var k = nodes.length;
+ while (end !== ancestor) {
+ nodes.splice(k, 0, end);
+ end = end.parent;
+ }
+ return nodes;
+};
+
+function leastCommonAncestor(a, b) {
+ if (a === b) return a;
+ var aNodes = a.ancestors(),
+ bNodes = b.ancestors(),
+ c = null;
+ a = aNodes.pop();
+ b = bNodes.pop();
+ while (a === b) {
+ c = a;
+ a = aNodes.pop();
+ b = bNodes.pop();
+ }
+ return c;
+}
+
+var node_ancestors = function() {
+ var node = this, nodes = [node];
+ while (node = node.parent) {
+ nodes.push(node);
+ }
+ return nodes;
+};
+
+var node_descendants = function() {
+ var nodes = [];
+ this.each(function(node) {
+ nodes.push(node);
+ });
+ return nodes;
+};
+
+var node_leaves = function() {
+ var leaves = [];
+ this.eachBefore(function(node) {
+ if (!node.children) {
+ leaves.push(node);
+ }
+ });
+ return leaves;
+};
+
+var node_links = function() {
+ var root = this, links = [];
+ root.each(function(node) {
+ if (node !== root) { // Don’t include the root’s parent, if any.
+ links.push({source: node.parent, target: node});
+ }
+ });
+ return links;
+};
+
+function hierarchy(data, children) {
+ var root = new Node(data),
+ valued = +data.value && (root.value = data.value),
+ node,
+ nodes = [root],
+ child,
+ childs,
+ i,
+ n;
+
+ if (children == null) children = defaultChildren;
+
+ while (node = nodes.pop()) {
+ if (valued) node.value = +node.data.value;
+ if ((childs = children(node.data)) && (n = childs.length)) {
+ node.children = new Array(n);
+ for (i = n - 1; i >= 0; --i) {
+ nodes.push(child = node.children[i] = new Node(childs[i]));
+ child.parent = node;
+ child.depth = node.depth + 1;
+ }
+ }
+ }
+
+ return root.eachBefore(computeHeight);
+}
+
+function node_copy() {
+ return hierarchy(this).eachBefore(copyData);
+}
+
+function defaultChildren(d) {
+ return d.children;
+}
+
+function copyData(node) {
+ node.data = node.data.data;
+}
+
+function computeHeight(node) {
+ var height = 0;
+ do node.height = height;
+ while ((node = node.parent) && (node.height < ++height));
+}
+
+function Node(data) {
+ this.data = data;
+ this.depth =
+ this.height = 0;
+ this.parent = null;
+}
+
+Node.prototype = hierarchy.prototype = {
+ constructor: Node,
+ count: node_count,
+ each: node_each,
+ eachAfter: node_eachAfter,
+ eachBefore: node_eachBefore,
+ sum: node_sum,
+ sort: node_sort,
+ path: node_path,
+ ancestors: node_ancestors,
+ descendants: node_descendants,
+ leaves: node_leaves,
+ links: node_links,
+ copy: node_copy
+};
+
+function Node$2(value) {
+ this._ = value;
+ this.next = null;
+}
+
+var shuffle$1 = function(array) {
+ var i,
+ n = (array = array.slice()).length,
+ head = null,
+ node = head;
+
+ while (n) {
+ var next = new Node$2(array[n - 1]);
+ if (node) node = node.next = next;
+ else node = head = next;
+ array[i] = array[--n];
+ }
+
+ return {
+ head: head,
+ tail: node
+ };
+};
+
+var enclose = function(circles) {
+ return encloseN(shuffle$1(circles), []);
+};
+
+function encloses(a, b) {
+ var dx = b.x - a.x,
+ dy = b.y - a.y,
+ dr = a.r - b.r;
+ return dr * dr + 1e-6 > dx * dx + dy * dy;
+}
+
+// Returns the smallest circle that contains circles L and intersects circles B.
+function encloseN(L, B) {
+ var circle,
+ l0 = null,
+ l1 = L.head,
+ l2,
+ p1;
+
+ switch (B.length) {
+ case 1: circle = enclose1(B[0]); break;
+ case 2: circle = enclose2(B[0], B[1]); break;
+ case 3: circle = enclose3(B[0], B[1], B[2]); break;
+ }
+
+ while (l1) {
+ p1 = l1._, l2 = l1.next;
+ if (!circle || !encloses(circle, p1)) {
+
+ // Temporarily truncate L before l1.
+ if (l0) L.tail = l0, l0.next = null;
+ else L.head = L.tail = null;
+
+ B.push(p1);
+ circle = encloseN(L, B); // Note: reorders L!
+ B.pop();
+
+ // Move l1 to the front of L and reconnect the truncated list L.
+ if (L.head) l1.next = L.head, L.head = l1;
+ else l1.next = null, L.head = L.tail = l1;
+ l0 = L.tail, l0.next = l2;
+
+ } else {
+ l0 = l1;
+ }
+ l1 = l2;
+ }
+
+ L.tail = l0;
+ return circle;
+}
+
+function enclose1(a) {
+ return {
+ x: a.x,
+ y: a.y,
+ r: a.r
+ };
+}
+
+function enclose2(a, b) {
+ var x1 = a.x, y1 = a.y, r1 = a.r,
+ x2 = b.x, y2 = b.y, r2 = b.r,
+ x21 = x2 - x1, y21 = y2 - y1, r21 = r2 - r1,
+ l = Math.sqrt(x21 * x21 + y21 * y21);
+ return {
+ x: (x1 + x2 + x21 / l * r21) / 2,
+ y: (y1 + y2 + y21 / l * r21) / 2,
+ r: (l + r1 + r2) / 2
+ };
+}
+
+function enclose3(a, b, c) {
+ var x1 = a.x, y1 = a.y, r1 = a.r,
+ x2 = b.x, y2 = b.y, r2 = b.r,
+ x3 = c.x, y3 = c.y, r3 = c.r,
+ a2 = 2 * (x1 - x2),
+ b2 = 2 * (y1 - y2),
+ c2 = 2 * (r2 - r1),
+ d2 = x1 * x1 + y1 * y1 - r1 * r1 - x2 * x2 - y2 * y2 + r2 * r2,
+ a3 = 2 * (x1 - x3),
+ b3 = 2 * (y1 - y3),
+ c3 = 2 * (r3 - r1),
+ d3 = x1 * x1 + y1 * y1 - r1 * r1 - x3 * x3 - y3 * y3 + r3 * r3,
+ ab = a3 * b2 - a2 * b3,
+ xa = (b2 * d3 - b3 * d2) / ab - x1,
+ xb = (b3 * c2 - b2 * c3) / ab,
+ ya = (a3 * d2 - a2 * d3) / ab - y1,
+ yb = (a2 * c3 - a3 * c2) / ab,
+ A = xb * xb + yb * yb - 1,
+ B = 2 * (xa * xb + ya * yb + r1),
+ C = xa * xa + ya * ya - r1 * r1,
+ r = (-B - Math.sqrt(B * B - 4 * A * C)) / (2 * A);
+ return {
+ x: xa + xb * r + x1,
+ y: ya + yb * r + y1,
+ r: r
+ };
+}
+
+function place(a, b, c) {
+ var ax = a.x,
+ ay = a.y,
+ da = b.r + c.r,
+ db = a.r + c.r,
+ dx = b.x - ax,
+ dy = b.y - ay,
+ dc = dx * dx + dy * dy;
+ if (dc) {
+ var x = 0.5 + ((db *= db) - (da *= da)) / (2 * dc),
+ y = Math.sqrt(Math.max(0, 2 * da * (db + dc) - (db -= dc) * db - da * da)) / (2 * dc);
+ c.x = ax + x * dx + y * dy;
+ c.y = ay + x * dy - y * dx;
+ } else {
+ c.x = ax + db;
+ c.y = ay;
+ }
+}
+
+function intersects(a, b) {
+ var dx = b.x - a.x,
+ dy = b.y - a.y,
+ dr = a.r + b.r;
+ return dr * dr - 1e-6 > dx * dx + dy * dy;
+}
+
+function distance2(node, x, y) {
+ var a = node._,
+ b = node.next._,
+ ab = a.r + b.r,
+ dx = (a.x * b.r + b.x * a.r) / ab - x,
+ dy = (a.y * b.r + b.y * a.r) / ab - y;
+ return dx * dx + dy * dy;
+}
+
+function Node$1(circle) {
+ this._ = circle;
+ this.next = null;
+ this.previous = null;
+}
+
+function packEnclose(circles) {
+ if (!(n = circles.length)) return 0;
+
+ var a, b, c, n;
+
+ // Place the first circle.
+ a = circles[0], a.x = 0, a.y = 0;
+ if (!(n > 1)) return a.r;
+
+ // Place the second circle.
+ b = circles[1], a.x = -b.r, b.x = a.r, b.y = 0;
+ if (!(n > 2)) return a.r + b.r;
+
+ // Place the third circle.
+ place(b, a, c = circles[2]);
+
+ // Initialize the weighted centroid.
+ var aa = a.r * a.r,
+ ba = b.r * b.r,
+ ca = c.r * c.r,
+ oa = aa + ba + ca,
+ ox = aa * a.x + ba * b.x + ca * c.x,
+ oy = aa * a.y + ba * b.y + ca * c.y,
+ cx, cy, i, j, k, sj, sk;
+
+ // Initialize the front-chain using the first three circles a, b and c.
+ a = new Node$1(a), b = new Node$1(b), c = new Node$1(c);
+ a.next = c.previous = b;
+ b.next = a.previous = c;
+ c.next = b.previous = a;
+
+ // Attempt to place each remaining circle…
+ pack: for (i = 3; i < n; ++i) {
+ place(a._, b._, c = circles[i]), c = new Node$1(c);
+
+ // Find the closest intersecting circle on the front-chain, if any.
+ // “Closeness” is determined by linear distance along the front-chain.
+ // “Ahead” or “behind” is likewise determined by linear distance.
+ j = b.next, k = a.previous, sj = b._.r, sk = a._.r;
+ do {
+ if (sj <= sk) {
+ if (intersects(j._, c._)) {
+ b = j, a.next = b, b.previous = a, --i;
+ continue pack;
+ }
+ sj += j._.r, j = j.next;
+ } else {
+ if (intersects(k._, c._)) {
+ a = k, a.next = b, b.previous = a, --i;
+ continue pack;
+ }
+ sk += k._.r, k = k.previous;
+ }
+ } while (j !== k.next);
+
+ // Success! Insert the new circle c between a and b.
+ c.previous = a, c.next = b, a.next = b.previous = b = c;
+
+ // Update the weighted centroid.
+ oa += ca = c._.r * c._.r;
+ ox += ca * c._.x;
+ oy += ca * c._.y;
+
+ // Compute the new closest circle pair to the centroid.
+ aa = distance2(a, cx = ox / oa, cy = oy / oa);
+ while ((c = c.next) !== b) {
+ if ((ca = distance2(c, cx, cy)) < aa) {
+ a = c, aa = ca;
+ }
+ }
+ b = a.next;
+ }
+
+ // Compute the enclosing circle of the front chain.
+ a = [b._], c = b; while ((c = c.next) !== b) a.push(c._); c = enclose(a);
+
+ // Translate the circles to put the enclosing circle around the origin.
+ for (i = 0; i < n; ++i) a = circles[i], a.x -= c.x, a.y -= c.y;
+
+ return c.r;
+}
+
+var siblings = function(circles) {
+ packEnclose(circles);
+ return circles;
+};
+
+function optional(f) {
+ return f == null ? null : required(f);
+}
+
+function required(f) {
+ if (typeof f !== "function") throw new Error;
+ return f;
+}
+
+function constantZero() {
+ return 0;
+}
+
+var constant$8 = function(x) {
+ return function() {
+ return x;
+ };
+};
+
+function defaultRadius$1(d) {
+ return Math.sqrt(d.value);
+}
+
+var index$2 = function() {
+ var radius = null,
+ dx = 1,
+ dy = 1,
+ padding = constantZero;
+
+ function pack(root) {
+ root.x = dx / 2, root.y = dy / 2;
+ if (radius) {
+ root.eachBefore(radiusLeaf(radius))
+ .eachAfter(packChildren(padding, 0.5))
+ .eachBefore(translateChild(1));
+ } else {
+ root.eachBefore(radiusLeaf(defaultRadius$1))
+ .eachAfter(packChildren(constantZero, 1))
+ .eachAfter(packChildren(padding, root.r / Math.min(dx, dy)))
+ .eachBefore(translateChild(Math.min(dx, dy) / (2 * root.r)));
+ }
+ return root;
+ }
+
+ pack.radius = function(x) {
+ return arguments.length ? (radius = optional(x), pack) : radius;
+ };
+
+ pack.size = function(x) {
+ return arguments.length ? (dx = +x[0], dy = +x[1], pack) : [dx, dy];
+ };
+
+ pack.padding = function(x) {
+ return arguments.length ? (padding = typeof x === "function" ? x : constant$8(+x), pack) : padding;
+ };
+
+ return pack;
+};
+
+function radiusLeaf(radius) {
+ return function(node) {
+ if (!node.children) {
+ node.r = Math.max(0, +radius(node) || 0);
+ }
+ };
+}
+
+function packChildren(padding, k) {
+ return function(node) {
+ if (children = node.children) {
+ var children,
+ i,
+ n = children.length,
+ r = padding(node) * k || 0,
+ e;
+
+ if (r) for (i = 0; i < n; ++i) children[i].r += r;
+ e = packEnclose(children);
+ if (r) for (i = 0; i < n; ++i) children[i].r -= r;
+ node.r = e + r;
+ }
+ };
+}
+
+function translateChild(k) {
+ return function(node) {
+ var parent = node.parent;
+ node.r *= k;
+ if (parent) {
+ node.x = parent.x + k * node.x;
+ node.y = parent.y + k * node.y;
+ }
+ };
+}
+
+var roundNode = function(node) {
+ node.x0 = Math.round(node.x0);
+ node.y0 = Math.round(node.y0);
+ node.x1 = Math.round(node.x1);
+ node.y1 = Math.round(node.y1);
+};
+
+var treemapDice = function(parent, x0, y0, x1, y1) {
+ var nodes = parent.children,
+ node,
+ i = -1,
+ n = nodes.length,
+ k = parent.value && (x1 - x0) / parent.value;
+
+ while (++i < n) {
+ node = nodes[i], node.y0 = y0, node.y1 = y1;
+ node.x0 = x0, node.x1 = x0 += node.value * k;
+ }
+};
+
+var partition = function() {
+ var dx = 1,
+ dy = 1,
+ padding = 0,
+ round = false;
+
+ function partition(root) {
+ var n = root.height + 1;
+ root.x0 =
+ root.y0 = padding;
+ root.x1 = dx;
+ root.y1 = dy / n;
+ root.eachBefore(positionNode(dy, n));
+ if (round) root.eachBefore(roundNode);
+ return root;
+ }
+
+ function positionNode(dy, n) {
+ return function(node) {
+ if (node.children) {
+ treemapDice(node, node.x0, dy * (node.depth + 1) / n, node.x1, dy * (node.depth + 2) / n);
+ }
+ var x0 = node.x0,
+ y0 = node.y0,
+ x1 = node.x1 - padding,
+ y1 = node.y1 - padding;
+ if (x1 < x0) x0 = x1 = (x0 + x1) / 2;
+ if (y1 < y0) y0 = y1 = (y0 + y1) / 2;
+ node.x0 = x0;
+ node.y0 = y0;
+ node.x1 = x1;
+ node.y1 = y1;
+ };
+ }
+
+ partition.round = function(x) {
+ return arguments.length ? (round = !!x, partition) : round;
+ };
+
+ partition.size = function(x) {
+ return arguments.length ? (dx = +x[0], dy = +x[1], partition) : [dx, dy];
+ };
+
+ partition.padding = function(x) {
+ return arguments.length ? (padding = +x, partition) : padding;
+ };
+
+ return partition;
+};
+
+var keyPrefix$1 = "$";
+var preroot = {depth: -1};
+var ambiguous = {};
+
+function defaultId(d) {
+ return d.id;
+}
+
+function defaultParentId(d) {
+ return d.parentId;
+}
+
+var stratify = function() {
+ var id = defaultId,
+ parentId = defaultParentId;
+
+ function stratify(data) {
+ var d,
+ i,
+ n = data.length,
+ root,
+ parent,
+ node,
+ nodes = new Array(n),
+ nodeId,
+ nodeKey,
+ nodeByKey = {};
+
+ for (i = 0; i < n; ++i) {
+ d = data[i], node = nodes[i] = new Node(d);
+ if ((nodeId = id(d, i, data)) != null && (nodeId += "")) {
+ nodeKey = keyPrefix$1 + (node.id = nodeId);
+ nodeByKey[nodeKey] = nodeKey in nodeByKey ? ambiguous : node;
+ }
+ }
+
+ for (i = 0; i < n; ++i) {
+ node = nodes[i], nodeId = parentId(data[i], i, data);
+ if (nodeId == null || !(nodeId += "")) {
+ if (root) throw new Error("multiple roots");
+ root = node;
+ } else {
+ parent = nodeByKey[keyPrefix$1 + nodeId];
+ if (!parent) throw new Error("missing: " + nodeId);
+ if (parent === ambiguous) throw new Error("ambiguous: " + nodeId);
+ if (parent.children) parent.children.push(node);
+ else parent.children = [node];
+ node.parent = parent;
+ }
+ }
+
+ if (!root) throw new Error("no root");
+ root.parent = preroot;
+ root.eachBefore(function(node) { node.depth = node.parent.depth + 1; --n; }).eachBefore(computeHeight);
+ root.parent = null;
+ if (n > 0) throw new Error("cycle");
+
+ return root;
+ }
+
+ stratify.id = function(x) {
+ return arguments.length ? (id = required(x), stratify) : id;
+ };
+
+ stratify.parentId = function(x) {
+ return arguments.length ? (parentId = required(x), stratify) : parentId;
+ };
+
+ return stratify;
+};
+
+function defaultSeparation$1(a, b) {
+ return a.parent === b.parent ? 1 : 2;
+}
+
+// function radialSeparation(a, b) {
+// return (a.parent === b.parent ? 1 : 2) / a.depth;
+// }
+
+// This function is used to traverse the left contour of a subtree (or
+// subforest). It returns the successor of v on this contour. This successor is
+// either given by the leftmost child of v or by the thread of v. The function
+// returns null if and only if v is on the highest level of its subtree.
+function nextLeft(v) {
+ var children = v.children;
+ return children ? children[0] : v.t;
+}
+
+// This function works analogously to nextLeft.
+function nextRight(v) {
+ var children = v.children;
+ return children ? children[children.length - 1] : v.t;
+}
+
+// Shifts the current subtree rooted at w+. This is done by increasing
+// prelim(w+) and mod(w+) by shift.
+function moveSubtree(wm, wp, shift) {
+ var change = shift / (wp.i - wm.i);
+ wp.c -= change;
+ wp.s += shift;
+ wm.c += change;
+ wp.z += shift;
+ wp.m += shift;
+}
+
+// All other shifts, applied to the smaller subtrees between w- and w+, are
+// performed by this function. To prepare the shifts, we have to adjust
+// change(w+), shift(w+), and change(w-).
+function executeShifts(v) {
+ var shift = 0,
+ change = 0,
+ children = v.children,
+ i = children.length,
+ w;
+ while (--i >= 0) {
+ w = children[i];
+ w.z += shift;
+ w.m += shift;
+ shift += w.s + (change += w.c);
+ }
+}
+
+// If vi-’s ancestor is a sibling of v, returns vi-’s ancestor. Otherwise,
+// returns the specified (default) ancestor.
+function nextAncestor(vim, v, ancestor) {
+ return vim.a.parent === v.parent ? vim.a : ancestor;
+}
+
+function TreeNode(node, i) {
+ this._ = node;
+ this.parent = null;
+ this.children = null;
+ this.A = null; // default ancestor
+ this.a = this; // ancestor
+ this.z = 0; // prelim
+ this.m = 0; // mod
+ this.c = 0; // change
+ this.s = 0; // shift
+ this.t = null; // thread
+ this.i = i; // number
+}
+
+TreeNode.prototype = Object.create(Node.prototype);
+
+function treeRoot(root) {
+ var tree = new TreeNode(root, 0),
+ node,
+ nodes = [tree],
+ child,
+ children,
+ i,
+ n;
+
+ while (node = nodes.pop()) {
+ if (children = node._.children) {
+ node.children = new Array(n = children.length);
+ for (i = n - 1; i >= 0; --i) {
+ nodes.push(child = node.children[i] = new TreeNode(children[i], i));
+ child.parent = node;
+ }
+ }
+ }
+
+ (tree.parent = new TreeNode(null, 0)).children = [tree];
+ return tree;
+}
+
+// Node-link tree diagram using the Reingold-Tilford "tidy" algorithm
+var tree = function() {
+ var separation = defaultSeparation$1,
+ dx = 1,
+ dy = 1,
+ nodeSize = null;
+
+ function tree(root) {
+ var t = treeRoot(root);
+
+ // Compute the layout using Buchheim et al.’s algorithm.
+ t.eachAfter(firstWalk), t.parent.m = -t.z;
+ t.eachBefore(secondWalk);
+
+ // If a fixed node size is specified, scale x and y.
+ if (nodeSize) root.eachBefore(sizeNode);
+
+ // If a fixed tree size is specified, scale x and y based on the extent.
+ // Compute the left-most, right-most, and depth-most nodes for extents.
+ else {
+ var left = root,
+ right = root,
+ bottom = root;
+ root.eachBefore(function(node) {
+ if (node.x < left.x) left = node;
+ if (node.x > right.x) right = node;
+ if (node.depth > bottom.depth) bottom = node;
+ });
+ var s = left === right ? 1 : separation(left, right) / 2,
+ tx = s - left.x,
+ kx = dx / (right.x + s + tx),
+ ky = dy / (bottom.depth || 1);
+ root.eachBefore(function(node) {
+ node.x = (node.x + tx) * kx;
+ node.y = node.depth * ky;
+ });
+ }
+
+ return root;
+ }
+
+ // Computes a preliminary x-coordinate for v. Before that, FIRST WALK is
+ // applied recursively to the children of v, as well as the function
+ // APPORTION. After spacing out the children by calling EXECUTE SHIFTS, the
+ // node v is placed to the midpoint of its outermost children.
+ function firstWalk(v) {
+ var children = v.children,
+ siblings = v.parent.children,
+ w = v.i ? siblings[v.i - 1] : null;
+ if (children) {
+ executeShifts(v);
+ var midpoint = (children[0].z + children[children.length - 1].z) / 2;
+ if (w) {
+ v.z = w.z + separation(v._, w._);
+ v.m = v.z - midpoint;
+ } else {
+ v.z = midpoint;
+ }
+ } else if (w) {
+ v.z = w.z + separation(v._, w._);
+ }
+ v.parent.A = apportion(v, w, v.parent.A || siblings[0]);
+ }
+
+ // Computes all real x-coordinates by summing up the modifiers recursively.
+ function secondWalk(v) {
+ v._.x = v.z + v.parent.m;
+ v.m += v.parent.m;
+ }
+
+ // The core of the algorithm. Here, a new subtree is combined with the
+ // previous subtrees. Threads are used to traverse the inside and outside
+ // contours of the left and right subtree up to the highest common level. The
+ // vertices used for the traversals are vi+, vi-, vo-, and vo+, where the
+ // superscript o means outside and i means inside, the subscript - means left
+ // subtree and + means right subtree. For summing up the modifiers along the
+ // contour, we use respective variables si+, si-, so-, and so+. Whenever two
+ // nodes of the inside contours conflict, we compute the left one of the
+ // greatest uncommon ancestors using the function ANCESTOR and call MOVE
+ // SUBTREE to shift the subtree and prepare the shifts of smaller subtrees.
+ // Finally, we add a new thread (if necessary).
+ function apportion(v, w, ancestor) {
+ if (w) {
+ var vip = v,
+ vop = v,
+ vim = w,
+ vom = vip.parent.children[0],
+ sip = vip.m,
+ sop = vop.m,
+ sim = vim.m,
+ som = vom.m,
+ shift;
+ while (vim = nextRight(vim), vip = nextLeft(vip), vim && vip) {
+ vom = nextLeft(vom);
+ vop = nextRight(vop);
+ vop.a = v;
+ shift = vim.z + sim - vip.z - sip + separation(vim._, vip._);
+ if (shift > 0) {
+ moveSubtree(nextAncestor(vim, v, ancestor), v, shift);
+ sip += shift;
+ sop += shift;
+ }
+ sim += vim.m;
+ sip += vip.m;
+ som += vom.m;
+ sop += vop.m;
+ }
+ if (vim && !nextRight(vop)) {
+ vop.t = vim;
+ vop.m += sim - sop;
+ }
+ if (vip && !nextLeft(vom)) {
+ vom.t = vip;
+ vom.m += sip - som;
+ ancestor = v;
+ }
+ }
+ return ancestor;
+ }
+
+ function sizeNode(node) {
+ node.x *= dx;
+ node.y = node.depth * dy;
+ }
+
+ tree.separation = function(x) {
+ return arguments.length ? (separation = x, tree) : separation;
+ };
+
+ tree.size = function(x) {
+ return arguments.length ? (nodeSize = false, dx = +x[0], dy = +x[1], tree) : (nodeSize ? null : [dx, dy]);
+ };
+
+ tree.nodeSize = function(x) {
+ return arguments.length ? (nodeSize = true, dx = +x[0], dy = +x[1], tree) : (nodeSize ? [dx, dy] : null);
+ };
+
+ return tree;
+};
+
+var treemapSlice = function(parent, x0, y0, x1, y1) {
+ var nodes = parent.children,
+ node,
+ i = -1,
+ n = nodes.length,
+ k = parent.value && (y1 - y0) / parent.value;
+
+ while (++i < n) {
+ node = nodes[i], node.x0 = x0, node.x1 = x1;
+ node.y0 = y0, node.y1 = y0 += node.value * k;
+ }
+};
+
+var phi = (1 + Math.sqrt(5)) / 2;
+
+function squarifyRatio(ratio, parent, x0, y0, x1, y1) {
+ var rows = [],
+ nodes = parent.children,
+ row,
+ nodeValue,
+ i0 = 0,
+ i1 = 0,
+ n = nodes.length,
+ dx, dy,
+ value = parent.value,
+ sumValue,
+ minValue,
+ maxValue,
+ newRatio,
+ minRatio,
+ alpha,
+ beta;
+
+ while (i0 < n) {
+ dx = x1 - x0, dy = y1 - y0;
+
+ // Find the next non-empty node.
+ do sumValue = nodes[i1++].value; while (!sumValue && i1 < n);
+ minValue = maxValue = sumValue;
+ alpha = Math.max(dy / dx, dx / dy) / (value * ratio);
+ beta = sumValue * sumValue * alpha;
+ minRatio = Math.max(maxValue / beta, beta / minValue);
+
+ // Keep adding nodes while the aspect ratio maintains or improves.
+ for (; i1 < n; ++i1) {
+ sumValue += nodeValue = nodes[i1].value;
+ if (nodeValue < minValue) minValue = nodeValue;
+ if (nodeValue > maxValue) maxValue = nodeValue;
+ beta = sumValue * sumValue * alpha;
+ newRatio = Math.max(maxValue / beta, beta / minValue);
+ if (newRatio > minRatio) { sumValue -= nodeValue; break; }
+ minRatio = newRatio;
+ }
+
+ // Position and record the row orientation.
+ rows.push(row = {value: sumValue, dice: dx < dy, children: nodes.slice(i0, i1)});
+ if (row.dice) treemapDice(row, x0, y0, x1, value ? y0 += dy * sumValue / value : y1);
+ else treemapSlice(row, x0, y0, value ? x0 += dx * sumValue / value : x1, y1);
+ value -= sumValue, i0 = i1;
+ }
+
+ return rows;
+}
+
+var squarify = ((function custom(ratio) {
+
+ function squarify(parent, x0, y0, x1, y1) {
+ squarifyRatio(ratio, parent, x0, y0, x1, y1);
+ }
+
+ squarify.ratio = function(x) {
+ return custom((x = +x) > 1 ? x : 1);
+ };
+
+ return squarify;
+}))(phi);
+
+var index$3 = function() {
+ var tile = squarify,
+ round = false,
+ dx = 1,
+ dy = 1,
+ paddingStack = [0],
+ paddingInner = constantZero,
+ paddingTop = constantZero,
+ paddingRight = constantZero,
+ paddingBottom = constantZero,
+ paddingLeft = constantZero;
+
+ function treemap(root) {
+ root.x0 =
+ root.y0 = 0;
+ root.x1 = dx;
+ root.y1 = dy;
+ root.eachBefore(positionNode);
+ paddingStack = [0];
+ if (round) root.eachBefore(roundNode);
+ return root;
+ }
+
+ function positionNode(node) {
+ var p = paddingStack[node.depth],
+ x0 = node.x0 + p,
+ y0 = node.y0 + p,
+ x1 = node.x1 - p,
+ y1 = node.y1 - p;
+ if (x1 < x0) x0 = x1 = (x0 + x1) / 2;
+ if (y1 < y0) y0 = y1 = (y0 + y1) / 2;
+ node.x0 = x0;
+ node.y0 = y0;
+ node.x1 = x1;
+ node.y1 = y1;
+ if (node.children) {
+ p = paddingStack[node.depth + 1] = paddingInner(node) / 2;
+ x0 += paddingLeft(node) - p;
+ y0 += paddingTop(node) - p;
+ x1 -= paddingRight(node) - p;
+ y1 -= paddingBottom(node) - p;
+ if (x1 < x0) x0 = x1 = (x0 + x1) / 2;
+ if (y1 < y0) y0 = y1 = (y0 + y1) / 2;
+ tile(node, x0, y0, x1, y1);
+ }
+ }
+
+ treemap.round = function(x) {
+ return arguments.length ? (round = !!x, treemap) : round;
+ };
+
+ treemap.size = function(x) {
+ return arguments.length ? (dx = +x[0], dy = +x[1], treemap) : [dx, dy];
+ };
+
+ treemap.tile = function(x) {
+ return arguments.length ? (tile = required(x), treemap) : tile;
+ };
+
+ treemap.padding = function(x) {
+ return arguments.length ? treemap.paddingInner(x).paddingOuter(x) : treemap.paddingInner();
+ };
+
+ treemap.paddingInner = function(x) {
+ return arguments.length ? (paddingInner = typeof x === "function" ? x : constant$8(+x), treemap) : paddingInner;
+ };
+
+ treemap.paddingOuter = function(x) {
+ return arguments.length ? treemap.paddingTop(x).paddingRight(x).paddingBottom(x).paddingLeft(x) : treemap.paddingTop();
+ };
+
+ treemap.paddingTop = function(x) {
+ return arguments.length ? (paddingTop = typeof x === "function" ? x : constant$8(+x), treemap) : paddingTop;
+ };
+
+ treemap.paddingRight = function(x) {
+ return arguments.length ? (paddingRight = typeof x === "function" ? x : constant$8(+x), treemap) : paddingRight;
+ };
+
+ treemap.paddingBottom = function(x) {
+ return arguments.length ? (paddingBottom = typeof x === "function" ? x : constant$8(+x), treemap) : paddingBottom;
+ };
+
+ treemap.paddingLeft = function(x) {
+ return arguments.length ? (paddingLeft = typeof x === "function" ? x : constant$8(+x), treemap) : paddingLeft;
+ };
+
+ return treemap;
+};
+
+var binary = function(parent, x0, y0, x1, y1) {
+ var nodes = parent.children,
+ i, n = nodes.length,
+ sum, sums = new Array(n + 1);
+
+ for (sums[0] = sum = i = 0; i < n; ++i) {
+ sums[i + 1] = sum += nodes[i].value;
+ }
+
+ partition(0, n, parent.value, x0, y0, x1, y1);
+
+ function partition(i, j, value, x0, y0, x1, y1) {
+ if (i >= j - 1) {
+ var node = nodes[i];
+ node.x0 = x0, node.y0 = y0;
+ node.x1 = x1, node.y1 = y1;
+ return;
+ }
+
+ var valueOffset = sums[i],
+ valueTarget = (value / 2) + valueOffset,
+ k = i + 1,
+ hi = j - 1;
+
+ while (k < hi) {
+ var mid = k + hi >>> 1;
+ if (sums[mid] < valueTarget) k = mid + 1;
+ else hi = mid;
+ }
+
+ if ((valueTarget - sums[k - 1]) < (sums[k] - valueTarget) && i + 1 < k) --k;
+
+ var valueLeft = sums[k] - valueOffset,
+ valueRight = value - valueLeft;
+
+ if ((x1 - x0) > (y1 - y0)) {
+ var xk = (x0 * valueRight + x1 * valueLeft) / value;
+ partition(i, k, valueLeft, x0, y0, xk, y1);
+ partition(k, j, valueRight, xk, y0, x1, y1);
+ } else {
+ var yk = (y0 * valueRight + y1 * valueLeft) / value;
+ partition(i, k, valueLeft, x0, y0, x1, yk);
+ partition(k, j, valueRight, x0, yk, x1, y1);
+ }
+ }
+};
+
+var sliceDice = function(parent, x0, y0, x1, y1) {
+ (parent.depth & 1 ? treemapSlice : treemapDice)(parent, x0, y0, x1, y1);
+};
+
+var resquarify = ((function custom(ratio) {
+
+ function resquarify(parent, x0, y0, x1, y1) {
+ if ((rows = parent._squarify) && (rows.ratio === ratio)) {
+ var rows,
+ row,
+ nodes,
+ i,
+ j = -1,
+ n,
+ m = rows.length,
+ value = parent.value;
+
+ while (++j < m) {
+ row = rows[j], nodes = row.children;
+ for (i = row.value = 0, n = nodes.length; i < n; ++i) row.value += nodes[i].value;
+ if (row.dice) treemapDice(row, x0, y0, x1, y0 += (y1 - y0) * row.value / value);
+ else treemapSlice(row, x0, y0, x0 += (x1 - x0) * row.value / value, y1);
+ value -= row.value;
+ }
+ } else {
+ parent._squarify = rows = squarifyRatio(ratio, parent, x0, y0, x1, y1);
+ rows.ratio = ratio;
+ }
+ }
+
+ resquarify.ratio = function(x) {
+ return custom((x = +x) > 1 ? x : 1);
+ };
+
+ return resquarify;
+}))(phi);
+
+var area$1 = function(polygon) {
+ var i = -1,
+ n = polygon.length,
+ a,
+ b = polygon[n - 1],
+ area = 0;
+
+ while (++i < n) {
+ a = b;
+ b = polygon[i];
+ area += a[1] * b[0] - a[0] * b[1];
+ }
+
+ return area / 2;
+};
+
+var centroid$1 = function(polygon) {
+ var i = -1,
+ n = polygon.length,
+ x = 0,
+ y = 0,
+ a,
+ b = polygon[n - 1],
+ c,
+ k = 0;
+
+ while (++i < n) {
+ a = b;
+ b = polygon[i];
+ k += c = a[0] * b[1] - b[0] * a[1];
+ x += (a[0] + b[0]) * c;
+ y += (a[1] + b[1]) * c;
+ }
+
+ return k *= 3, [x / k, y / k];
+};
+
+// Returns the 2D cross product of AB and AC vectors, i.e., the z-component of
+// the 3D cross product in a quadrant I Cartesian coordinate system (+x is
+// right, +y is up). Returns a positive value if ABC is counter-clockwise,
+// negative if clockwise, and zero if the points are collinear.
+var cross$1 = function(a, b, c) {
+ return (b[0] - a[0]) * (c[1] - a[1]) - (b[1] - a[1]) * (c[0] - a[0]);
+};
+
+function lexicographicOrder(a, b) {
+ return a[0] - b[0] || a[1] - b[1];
+}
+
+// Computes the upper convex hull per the monotone chain algorithm.
+// Assumes points.length >= 3, is sorted by x, unique in y.
+// Returns an array of indices into points in left-to-right order.
+function computeUpperHullIndexes(points) {
+ var n = points.length,
+ indexes = [0, 1],
+ size = 2;
+
+ for (var i = 2; i < n; ++i) {
+ while (size > 1 && cross$1(points[indexes[size - 2]], points[indexes[size - 1]], points[i]) <= 0) --size;
+ indexes[size++] = i;
+ }
+
+ return indexes.slice(0, size); // remove popped points
+}
+
+var hull = function(points) {
+ if ((n = points.length) < 3) return null;
+
+ var i,
+ n,
+ sortedPoints = new Array(n),
+ flippedPoints = new Array(n);
+
+ for (i = 0; i < n; ++i) sortedPoints[i] = [+points[i][0], +points[i][1], i];
+ sortedPoints.sort(lexicographicOrder);
+ for (i = 0; i < n; ++i) flippedPoints[i] = [sortedPoints[i][0], -sortedPoints[i][1]];
+
+ var upperIndexes = computeUpperHullIndexes(sortedPoints),
+ lowerIndexes = computeUpperHullIndexes(flippedPoints);
+
+ // Construct the hull polygon, removing possible duplicate endpoints.
+ var skipLeft = lowerIndexes[0] === upperIndexes[0],
+ skipRight = lowerIndexes[lowerIndexes.length - 1] === upperIndexes[upperIndexes.length - 1],
+ hull = [];
+
+ // Add upper hull in right-to-l order.
+ // Then add lower hull in left-to-right order.
+ for (i = upperIndexes.length - 1; i >= 0; --i) hull.push(points[sortedPoints[upperIndexes[i]][2]]);
+ for (i = +skipLeft; i < lowerIndexes.length - skipRight; ++i) hull.push(points[sortedPoints[lowerIndexes[i]][2]]);
+
+ return hull;
+};
+
+var contains$1 = function(polygon, point) {
+ var n = polygon.length,
+ p = polygon[n - 1],
+ x = point[0], y = point[1],
+ x0 = p[0], y0 = p[1],
+ x1, y1,
+ inside = false;
+
+ for (var i = 0; i < n; ++i) {
+ p = polygon[i], x1 = p[0], y1 = p[1];
+ if (((y1 > y) !== (y0 > y)) && (x < (x0 - x1) * (y - y1) / (y0 - y1) + x1)) inside = !inside;
+ x0 = x1, y0 = y1;
+ }
+
+ return inside;
+};
+
+var length$2 = function(polygon) {
+ var i = -1,
+ n = polygon.length,
+ b = polygon[n - 1],
+ xa,
+ ya,
+ xb = b[0],
+ yb = b[1],
+ perimeter = 0;
+
+ while (++i < n) {
+ xa = xb;
+ ya = yb;
+ b = polygon[i];
+ xb = b[0];
+ yb = b[1];
+ xa -= xb;
+ ya -= yb;
+ perimeter += Math.sqrt(xa * xa + ya * ya);
+ }
+
+ return perimeter;
+};
+
+var slice$3 = [].slice;
+
+var noabort = {};
+
+function Queue(size) {
+ if (!(size >= 1)) throw new Error;
+ this._size = size;
+ this._call =
+ this._error = null;
+ this._tasks = [];
+ this._data = [];
+ this._waiting =
+ this._active =
+ this._ended =
+ this._start = 0; // inside a synchronous task callback?
+}
+
+Queue.prototype = queue.prototype = {
+ constructor: Queue,
+ defer: function(callback) {
+ if (typeof callback !== "function" || this._call) throw new Error;
+ if (this._error != null) return this;
+ var t = slice$3.call(arguments, 1);
+ t.push(callback);
+ ++this._waiting, this._tasks.push(t);
+ poke$1(this);
+ return this;
+ },
+ abort: function() {
+ if (this._error == null) abort(this, new Error("abort"));
+ return this;
+ },
+ await: function(callback) {
+ if (typeof callback !== "function" || this._call) throw new Error;
+ this._call = function(error, results) { callback.apply(null, [error].concat(results)); };
+ maybeNotify(this);
+ return this;
+ },
+ awaitAll: function(callback) {
+ if (typeof callback !== "function" || this._call) throw new Error;
+ this._call = callback;
+ maybeNotify(this);
+ return this;
+ }
+};
+
+function poke$1(q) {
+ if (!q._start) {
+ try { start$1(q); } // let the current task complete
+ catch (e) {
+ if (q._tasks[q._ended + q._active - 1]) abort(q, e); // task errored synchronously
+ else if (!q._data) throw e; // await callback errored synchronously
+ }
+ }
+}
+
+function start$1(q) {
+ while (q._start = q._waiting && q._active < q._size) {
+ var i = q._ended + q._active,
+ t = q._tasks[i],
+ j = t.length - 1,
+ c = t[j];
+ t[j] = end(q, i);
+ --q._waiting, ++q._active;
+ t = c.apply(null, t);
+ if (!q._tasks[i]) continue; // task finished synchronously
+ q._tasks[i] = t || noabort;
+ }
+}
+
+function end(q, i) {
+ return function(e, r) {
+ if (!q._tasks[i]) return; // ignore multiple callbacks
+ --q._active, ++q._ended;
+ q._tasks[i] = null;
+ if (q._error != null) return; // ignore secondary errors
+ if (e != null) {
+ abort(q, e);
+ } else {
+ q._data[i] = r;
+ if (q._waiting) poke$1(q);
+ else maybeNotify(q);
+ }
+ };
+}
+
+function abort(q, e) {
+ var i = q._tasks.length, t;
+ q._error = e; // ignore active callbacks
+ q._data = undefined; // allow gc
+ q._waiting = NaN; // prevent starting
+
+ while (--i >= 0) {
+ if (t = q._tasks[i]) {
+ q._tasks[i] = null;
+ if (t.abort) {
+ try { t.abort(); }
+ catch (e) { /* ignore */ }
+ }
+ }
+ }
+
+ q._active = NaN; // allow notification
+ maybeNotify(q);
+}
+
+function maybeNotify(q) {
+ if (!q._active && q._call) {
+ var d = q._data;
+ q._data = undefined; // allow gc
+ q._call(q._error, d);
+ }
+}
+
+function queue(concurrency) {
+ return new Queue(arguments.length ? +concurrency : Infinity);
+}
+
+var uniform = function(min, max) {
+ min = min == null ? 0 : +min;
+ max = max == null ? 1 : +max;
+ if (arguments.length === 1) max = min, min = 0;
+ else max -= min;
+ return function() {
+ return Math.random() * max + min;
+ };
+};
+
+var normal = function(mu, sigma) {
+ var x, r;
+ mu = mu == null ? 0 : +mu;
+ sigma = sigma == null ? 1 : +sigma;
+ return function() {
+ var y;
+
+ // If available, use the second previously-generated uniform random.
+ if (x != null) y = x, x = null;
+
+ // Otherwise, generate a new x and y.
+ else do {
+ x = Math.random() * 2 - 1;
+ y = Math.random() * 2 - 1;
+ r = x * x + y * y;
+ } while (!r || r > 1);
+
+ return mu + sigma * y * Math.sqrt(-2 * Math.log(r) / r);
+ };
+};
+
+var logNormal = function() {
+ var randomNormal = normal.apply(this, arguments);
+ return function() {
+ return Math.exp(randomNormal());
+ };
+};
+
+var irwinHall = function(n) {
+ return function() {
+ for (var sum = 0, i = 0; i < n; ++i) sum += Math.random();
+ return sum;
+ };
+};
+
+var bates = function(n) {
+ var randomIrwinHall = irwinHall(n);
+ return function() {
+ return randomIrwinHall() / n;
+ };
+};
+
+var exponential$1 = function(lambda) {
+ return function() {
+ return -Math.log(1 - Math.random()) / lambda;
+ };
+};
+
+var request = function(url, callback) {
+ var request,
+ event = dispatch("beforesend", "progress", "load", "error"),
+ mimeType,
+ headers = map$1(),
+ xhr = new XMLHttpRequest,
+ user = null,
+ password = null,
+ response,
+ responseType,
+ timeout = 0;
+
+ // If IE does not support CORS, use XDomainRequest.
+ if (typeof XDomainRequest !== "undefined"
+ && !("withCredentials" in xhr)
+ && /^(http(s)?:)?\/\//.test(url)) xhr = new XDomainRequest;
+
+ "onload" in xhr
+ ? xhr.onload = xhr.onerror = xhr.ontimeout = respond
+ : xhr.onreadystatechange = function(o) { xhr.readyState > 3 && respond(o); };
+
+ function respond(o) {
+ var status = xhr.status, result;
+ if (!status && hasResponse(xhr)
+ || status >= 200 && status < 300
+ || status === 304) {
+ if (response) {
+ try {
+ result = response.call(request, xhr);
+ } catch (e) {
+ event.call("error", request, e);
+ return;
+ }
+ } else {
+ result = xhr;
+ }
+ event.call("load", request, result);
+ } else {
+ event.call("error", request, o);
+ }
+ }
+
+ xhr.onprogress = function(e) {
+ event.call("progress", request, e);
+ };
+
+ request = {
+ header: function(name, value) {
+ name = (name + "").toLowerCase();
+ if (arguments.length < 2) return headers.get(name);
+ if (value == null) headers.remove(name);
+ else headers.set(name, value + "");
+ return request;
+ },
+
+ // If mimeType is non-null and no Accept header is set, a default is used.
+ mimeType: function(value) {
+ if (!arguments.length) return mimeType;
+ mimeType = value == null ? null : value + "";
+ return request;
+ },
+
+ // Specifies what type the response value should take;
+ // for instance, arraybuffer, blob, document, or text.
+ responseType: function(value) {
+ if (!arguments.length) return responseType;
+ responseType = value;
+ return request;
+ },
+
+ timeout: function(value) {
+ if (!arguments.length) return timeout;
+ timeout = +value;
+ return request;
+ },
+
+ user: function(value) {
+ return arguments.length < 1 ? user : (user = value == null ? null : value + "", request);
+ },
+
+ password: function(value) {
+ return arguments.length < 1 ? password : (password = value == null ? null : value + "", request);
+ },
+
+ // Specify how to convert the response content to a specific type;
+ // changes the callback value on "load" events.
+ response: function(value) {
+ response = value;
+ return request;
+ },
+
+ // Alias for send("GET", …).
+ get: function(data, callback) {
+ return request.send("GET", data, callback);
+ },
+
+ // Alias for send("POST", …).
+ post: function(data, callback) {
+ return request.send("POST", data, callback);
+ },
+
+ // If callback is non-null, it will be used for error and load events.
+ send: function(method, data, callback) {
+ xhr.open(method, url, true, user, password);
+ if (mimeType != null && !headers.has("accept")) headers.set("accept", mimeType + ",*/*");
+ if (xhr.setRequestHeader) headers.each(function(value, name) { xhr.setRequestHeader(name, value); });
+ if (mimeType != null && xhr.overrideMimeType) xhr.overrideMimeType(mimeType);
+ if (responseType != null) xhr.responseType = responseType;
+ if (timeout > 0) xhr.timeout = timeout;
+ if (callback == null && typeof data === "function") callback = data, data = null;
+ if (callback != null && callback.length === 1) callback = fixCallback(callback);
+ if (callback != null) request.on("error", callback).on("load", function(xhr) { callback(null, xhr); });
+ event.call("beforesend", request, xhr);
+ xhr.send(data == null ? null : data);
+ return request;
+ },
+
+ abort: function() {
+ xhr.abort();
+ return request;
+ },
+
+ on: function() {
+ var value = event.on.apply(event, arguments);
+ return value === event ? request : value;
+ }
+ };
+
+ if (callback != null) {
+ if (typeof callback !== "function") throw new Error("invalid callback: " + callback);
+ return request.get(callback);
+ }
+
+ return request;
+};
+
+function fixCallback(callback) {
+ return function(error, xhr) {
+ callback(error == null ? xhr : null);
+ };
+}
+
+function hasResponse(xhr) {
+ var type = xhr.responseType;
+ return type && type !== "text"
+ ? xhr.response // null on error
+ : xhr.responseText; // "" on error
+}
+
+var type$1 = function(defaultMimeType, response) {
+ return function(url, callback) {
+ var r = request(url).mimeType(defaultMimeType).response(response);
+ if (callback != null) {
+ if (typeof callback !== "function") throw new Error("invalid callback: " + callback);
+ return r.get(callback);
+ }
+ return r;
+ };
+};
+
+var html = type$1("text/html", function(xhr) {
+ return document.createRange().createContextualFragment(xhr.responseText);
+});
+
+var json = type$1("application/json", function(xhr) {
+ return JSON.parse(xhr.responseText);
+});
+
+var text = type$1("text/plain", function(xhr) {
+ return xhr.responseText;
+});
+
+var xml = type$1("application/xml", function(xhr) {
+ var xml = xhr.responseXML;
+ if (!xml) throw new Error("parse error");
+ return xml;
+});
+
+var dsv$1 = function(defaultMimeType, parse) {
+ return function(url, row, callback) {
+ if (arguments.length < 3) callback = row, row = null;
+ var r = request(url).mimeType(defaultMimeType);
+ r.row = function(_) { return arguments.length ? r.response(responseOf(parse, row = _)) : row; };
+ r.row(row);
+ return callback ? r.get(callback) : r;
+ };
+};
+
+function responseOf(parse, row) {
+ return function(request$$1) {
+ return parse(request$$1.responseText, row);
+ };
+}
+
+var csv$1 = dsv$1("text/csv", csvParse);
+
+var tsv$1 = dsv$1("text/tab-separated-values", tsvParse);
+
+var array$2 = Array.prototype;
+
+var map$3 = array$2.map;
+var slice$4 = array$2.slice;
+
+var implicit = {name: "implicit"};
+
+function ordinal(range) {
+ var index = map$1(),
+ domain = [],
+ unknown = implicit;
+
+ range = range == null ? [] : slice$4.call(range);
+
+ function scale(d) {
+ var key = d + "", i = index.get(key);
+ if (!i) {
+ if (unknown !== implicit) return unknown;
+ index.set(key, i = domain.push(d));
+ }
+ return range[(i - 1) % range.length];
+ }
+
+ scale.domain = function(_) {
+ if (!arguments.length) return domain.slice();
+ domain = [], index = map$1();
+ var i = -1, n = _.length, d, key;
+ while (++i < n) if (!index.has(key = (d = _[i]) + "")) index.set(key, domain.push(d));
+ return scale;
+ };
+
+ scale.range = function(_) {
+ return arguments.length ? (range = slice$4.call(_), scale) : range.slice();
+ };
+
+ scale.unknown = function(_) {
+ return arguments.length ? (unknown = _, scale) : unknown;
+ };
+
+ scale.copy = function() {
+ return ordinal()
+ .domain(domain)
+ .range(range)
+ .unknown(unknown);
+ };
+
+ return scale;
+}
+
+function band() {
+ var scale = ordinal().unknown(undefined),
+ domain = scale.domain,
+ ordinalRange = scale.range,
+ range$$1 = [0, 1],
+ step,
+ bandwidth,
+ round = false,
+ paddingInner = 0,
+ paddingOuter = 0,
+ align = 0.5;
+
+ delete scale.unknown;
+
+ function rescale() {
+ var n = domain().length,
+ reverse = range$$1[1] < range$$1[0],
+ start = range$$1[reverse - 0],
+ stop = range$$1[1 - reverse];
+ step = (stop - start) / Math.max(1, n - paddingInner + paddingOuter * 2);
+ if (round) step = Math.floor(step);
+ start += (stop - start - step * (n - paddingInner)) * align;
+ bandwidth = step * (1 - paddingInner);
+ if (round) start = Math.round(start), bandwidth = Math.round(bandwidth);
+ var values = sequence(n).map(function(i) { return start + step * i; });
+ return ordinalRange(reverse ? values.reverse() : values);
+ }
+
+ scale.domain = function(_) {
+ return arguments.length ? (domain(_), rescale()) : domain();
+ };
+
+ scale.range = function(_) {
+ return arguments.length ? (range$$1 = [+_[0], +_[1]], rescale()) : range$$1.slice();
+ };
+
+ scale.rangeRound = function(_) {
+ return range$$1 = [+_[0], +_[1]], round = true, rescale();
+ };
+
+ scale.bandwidth = function() {
+ return bandwidth;
+ };
+
+ scale.step = function() {
+ return step;
+ };
+
+ scale.round = function(_) {
+ return arguments.length ? (round = !!_, rescale()) : round;
+ };
+
+ scale.padding = function(_) {
+ return arguments.length ? (paddingInner = paddingOuter = Math.max(0, Math.min(1, _)), rescale()) : paddingInner;
+ };
+
+ scale.paddingInner = function(_) {
+ return arguments.length ? (paddingInner = Math.max(0, Math.min(1, _)), rescale()) : paddingInner;
+ };
+
+ scale.paddingOuter = function(_) {
+ return arguments.length ? (paddingOuter = Math.max(0, Math.min(1, _)), rescale()) : paddingOuter;
+ };
+
+ scale.align = function(_) {
+ return arguments.length ? (align = Math.max(0, Math.min(1, _)), rescale()) : align;
+ };
+
+ scale.copy = function() {
+ return band()
+ .domain(domain())
+ .range(range$$1)
+ .round(round)
+ .paddingInner(paddingInner)
+ .paddingOuter(paddingOuter)
+ .align(align);
+ };
+
+ return rescale();
+}
+
+function pointish(scale) {
+ var copy = scale.copy;
+
+ scale.padding = scale.paddingOuter;
+ delete scale.paddingInner;
+ delete scale.paddingOuter;
+
+ scale.copy = function() {
+ return pointish(copy());
+ };
+
+ return scale;
+}
+
+function point$1() {
+ return pointish(band().paddingInner(1));
+}
+
+var constant$9 = function(x) {
+ return function() {
+ return x;
+ };
+};
+
+var number$1 = function(x) {
+ return +x;
+};
+
+var unit = [0, 1];
+
+function deinterpolateLinear(a, b) {
+ return (b -= (a = +a))
+ ? function(x) { return (x - a) / b; }
+ : constant$9(b);
+}
+
+function deinterpolateClamp(deinterpolate) {
+ return function(a, b) {
+ var d = deinterpolate(a = +a, b = +b);
+ return function(x) { return x <= a ? 0 : x >= b ? 1 : d(x); };
+ };
+}
+
+function reinterpolateClamp(reinterpolate) {
+ return function(a, b) {
+ var r = reinterpolate(a = +a, b = +b);
+ return function(t) { return t <= 0 ? a : t >= 1 ? b : r(t); };
+ };
+}
+
+function bimap(domain, range$$1, deinterpolate, reinterpolate) {
+ var d0 = domain[0], d1 = domain[1], r0 = range$$1[0], r1 = range$$1[1];
+ if (d1 < d0) d0 = deinterpolate(d1, d0), r0 = reinterpolate(r1, r0);
+ else d0 = deinterpolate(d0, d1), r0 = reinterpolate(r0, r1);
+ return function(x) { return r0(d0(x)); };
+}
+
+function polymap(domain, range$$1, deinterpolate, reinterpolate) {
+ var j = Math.min(domain.length, range$$1.length) - 1,
+ d = new Array(j),
+ r = new Array(j),
+ i = -1;
+
+ // Reverse descending domains.
+ if (domain[j] < domain[0]) {
+ domain = domain.slice().reverse();
+ range$$1 = range$$1.slice().reverse();
+ }
+
+ while (++i < j) {
+ d[i] = deinterpolate(domain[i], domain[i + 1]);
+ r[i] = reinterpolate(range$$1[i], range$$1[i + 1]);
+ }
+
+ return function(x) {
+ var i = bisectRight(domain, x, 1, j) - 1;
+ return r[i](d[i](x));
+ };
+}
+
+function copy(source, target) {
+ return target
+ .domain(source.domain())
+ .range(source.range())
+ .interpolate(source.interpolate())
+ .clamp(source.clamp());
+}
+
+// deinterpolate(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].
+// reinterpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding domain value x in [a,b].
+function continuous(deinterpolate, reinterpolate) {
+ var domain = unit,
+ range$$1 = unit,
+ interpolate$$1 = interpolateValue,
+ clamp = false,
+ piecewise,
+ output,
+ input;
+
+ function rescale() {
+ piecewise = Math.min(domain.length, range$$1.length) > 2 ? polymap : bimap;
+ output = input = null;
+ return scale;
+ }
+
+ function scale(x) {
+ return (output || (output = piecewise(domain, range$$1, clamp ? deinterpolateClamp(deinterpolate) : deinterpolate, interpolate$$1)))(+x);
+ }
+
+ scale.invert = function(y) {
+ return (input || (input = piecewise(range$$1, domain, deinterpolateLinear, clamp ? reinterpolateClamp(reinterpolate) : reinterpolate)))(+y);
+ };
+
+ scale.domain = function(_) {
+ return arguments.length ? (domain = map$3.call(_, number$1), rescale()) : domain.slice();
+ };
+
+ scale.range = function(_) {
+ return arguments.length ? (range$$1 = slice$4.call(_), rescale()) : range$$1.slice();
+ };
+
+ scale.rangeRound = function(_) {
+ return range$$1 = slice$4.call(_), interpolate$$1 = interpolateRound, rescale();
+ };
+
+ scale.clamp = function(_) {
+ return arguments.length ? (clamp = !!_, rescale()) : clamp;
+ };
+
+ scale.interpolate = function(_) {
+ return arguments.length ? (interpolate$$1 = _, rescale()) : interpolate$$1;
+ };
+
+ return rescale();
+}
+
+var tickFormat = function(domain, count, specifier) {
+ var start = domain[0],
+ stop = domain[domain.length - 1],
+ step = tickStep(start, stop, count == null ? 10 : count),
+ precision;
+ specifier = formatSpecifier(specifier == null ? ",f" : specifier);
+ switch (specifier.type) {
+ case "s": {
+ var value = Math.max(Math.abs(start), Math.abs(stop));
+ if (specifier.precision == null && !isNaN(precision = precisionPrefix(step, value))) specifier.precision = precision;
+ return exports.formatPrefix(specifier, value);
+ }
+ case "":
+ case "e":
+ case "g":
+ case "p":
+ case "r": {
+ if (specifier.precision == null && !isNaN(precision = precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === "e");
+ break;
+ }
+ case "f":
+ case "%": {
+ if (specifier.precision == null && !isNaN(precision = precisionFixed(step))) specifier.precision = precision - (specifier.type === "%") * 2;
+ break;
+ }
+ }
+ return exports.format(specifier);
+};
+
+function linearish(scale) {
+ var domain = scale.domain;
+
+ scale.ticks = function(count) {
+ var d = domain();
+ return ticks(d[0], d[d.length - 1], count == null ? 10 : count);
+ };
+
+ scale.tickFormat = function(count, specifier) {
+ return tickFormat(domain(), count, specifier);
+ };
+
+ scale.nice = function(count) {
+ var d = domain(),
+ i = d.length - 1,
+ n = count == null ? 10 : count,
+ start = d[0],
+ stop = d[i],
+ step = tickStep(start, stop, n);
+
+ if (step) {
+ step = tickStep(Math.floor(start / step) * step, Math.ceil(stop / step) * step, n);
+ d[0] = Math.floor(start / step) * step;
+ d[i] = Math.ceil(stop / step) * step;
+ domain(d);
+ }
+
+ return scale;
+ };
+
+ return scale;
+}
+
+function linear$2() {
+ var scale = continuous(deinterpolateLinear, reinterpolate);
+
+ scale.copy = function() {
+ return copy(scale, linear$2());
+ };
+
+ return linearish(scale);
+}
+
+function identity$6() {
+ var domain = [0, 1];
+
+ function scale(x) {
+ return +x;
+ }
+
+ scale.invert = scale;
+
+ scale.domain = scale.range = function(_) {
+ return arguments.length ? (domain = map$3.call(_, number$1), scale) : domain.slice();
+ };
+
+ scale.copy = function() {
+ return identity$6().domain(domain);
+ };
+
+ return linearish(scale);
+}
+
+var nice = function(domain, interval) {
+ domain = domain.slice();
+
+ var i0 = 0,
+ i1 = domain.length - 1,
+ x0 = domain[i0],
+ x1 = domain[i1],
+ t;
+
+ if (x1 < x0) {
+ t = i0, i0 = i1, i1 = t;
+ t = x0, x0 = x1, x1 = t;
+ }
+
+ domain[i0] = interval.floor(x0);
+ domain[i1] = interval.ceil(x1);
+ return domain;
+};
+
+function deinterpolate(a, b) {
+ return (b = Math.log(b / a))
+ ? function(x) { return Math.log(x / a) / b; }
+ : constant$9(b);
+}
+
+function reinterpolate$1(a, b) {
+ return a < 0
+ ? function(t) { return -Math.pow(-b, t) * Math.pow(-a, 1 - t); }
+ : function(t) { return Math.pow(b, t) * Math.pow(a, 1 - t); };
+}
+
+function pow10(x) {
+ return isFinite(x) ? +("1e" + x) : x < 0 ? 0 : x;
+}
+
+function powp(base) {
+ return base === 10 ? pow10
+ : base === Math.E ? Math.exp
+ : function(x) { return Math.pow(base, x); };
+}
+
+function logp(base) {
+ return base === Math.E ? Math.log
+ : base === 10 && Math.log10
+ || base === 2 && Math.log2
+ || (base = Math.log(base), function(x) { return Math.log(x) / base; });
+}
+
+function reflect(f) {
+ return function(x) {
+ return -f(-x);
+ };
+}
+
+function log$1() {
+ var scale = continuous(deinterpolate, reinterpolate$1).domain([1, 10]),
+ domain = scale.domain,
+ base = 10,
+ logs = logp(10),
+ pows = powp(10);
+
+ function rescale() {
+ logs = logp(base), pows = powp(base);
+ if (domain()[0] < 0) logs = reflect(logs), pows = reflect(pows);
+ return scale;
+ }
+
+ scale.base = function(_) {
+ return arguments.length ? (base = +_, rescale()) : base;
+ };
+
+ scale.domain = function(_) {
+ return arguments.length ? (domain(_), rescale()) : domain();
+ };
+
+ scale.ticks = function(count) {
+ var d = domain(),
+ u = d[0],
+ v = d[d.length - 1],
+ r;
+
+ if (r = v < u) i = u, u = v, v = i;
+
+ var i = logs(u),
+ j = logs(v),
+ p,
+ k,
+ t,
+ n = count == null ? 10 : +count,
+ z = [];
+
+ if (!(base % 1) && j - i < n) {
+ i = Math.round(i) - 1, j = Math.round(j) + 1;
+ if (u > 0) for (; i < j; ++i) {
+ for (k = 1, p = pows(i); k < base; ++k) {
+ t = p * k;
+ if (t < u) continue;
+ if (t > v) break;
+ z.push(t);
+ }
+ } else for (; i < j; ++i) {
+ for (k = base - 1, p = pows(i); k >= 1; --k) {
+ t = p * k;
+ if (t < u) continue;
+ if (t > v) break;
+ z.push(t);
+ }
+ }
+ } else {
+ z = ticks(i, j, Math.min(j - i, n)).map(pows);
+ }
+
+ return r ? z.reverse() : z;
+ };
+
+ scale.tickFormat = function(count, specifier) {
+ if (specifier == null) specifier = base === 10 ? ".0e" : ",";
+ if (typeof specifier !== "function") specifier = exports.format(specifier);
+ if (count === Infinity) return specifier;
+ if (count == null) count = 10;
+ var k = Math.max(1, base * count / scale.ticks().length); // TODO fast estimate?
+ return function(d) {
+ var i = d / pows(Math.round(logs(d)));
+ if (i * base < base - 0.5) i *= base;
+ return i <= k ? specifier(d) : "";
+ };
+ };
+
+ scale.nice = function() {
+ return domain(nice(domain(), {
+ floor: function(x) { return pows(Math.floor(logs(x))); },
+ ceil: function(x) { return pows(Math.ceil(logs(x))); }
+ }));
+ };
+
+ scale.copy = function() {
+ return copy(scale, log$1().base(base));
+ };
+
+ return scale;
+}
+
+function raise$1(x, exponent) {
+ return x < 0 ? -Math.pow(-x, exponent) : Math.pow(x, exponent);
+}
+
+function pow$1() {
+ var exponent = 1,
+ scale = continuous(deinterpolate, reinterpolate),
+ domain = scale.domain;
+
+ function deinterpolate(a, b) {
+ return (b = raise$1(b, exponent) - (a = raise$1(a, exponent)))
+ ? function(x) { return (raise$1(x, exponent) - a) / b; }
+ : constant$9(b);
+ }
+
+ function reinterpolate(a, b) {
+ b = raise$1(b, exponent) - (a = raise$1(a, exponent));
+ return function(t) { return raise$1(a + b * t, 1 / exponent); };
+ }
+
+ scale.exponent = function(_) {
+ return arguments.length ? (exponent = +_, domain(domain())) : exponent;
+ };
+
+ scale.copy = function() {
+ return copy(scale, pow$1().exponent(exponent));
+ };
+
+ return linearish(scale);
+}
+
+function sqrt$1() {
+ return pow$1().exponent(0.5);
+}
+
+function quantile$$1() {
+ var domain = [],
+ range$$1 = [],
+ thresholds = [];
+
+ function rescale() {
+ var i = 0, n = Math.max(1, range$$1.length);
+ thresholds = new Array(n - 1);
+ while (++i < n) thresholds[i - 1] = threshold(domain, i / n);
+ return scale;
+ }
+
+ function scale(x) {
+ if (!isNaN(x = +x)) return range$$1[bisectRight(thresholds, x)];
+ }
+
+ scale.invertExtent = function(y) {
+ var i = range$$1.indexOf(y);
+ return i < 0 ? [NaN, NaN] : [
+ i > 0 ? thresholds[i - 1] : domain[0],
+ i < thresholds.length ? thresholds[i] : domain[domain.length - 1]
+ ];
+ };
+
+ scale.domain = function(_) {
+ if (!arguments.length) return domain.slice();
+ domain = [];
+ for (var i = 0, n = _.length, d; i < n; ++i) if (d = _[i], d != null && !isNaN(d = +d)) domain.push(d);
+ domain.sort(ascending);
+ return rescale();
+ };
+
+ scale.range = function(_) {
+ return arguments.length ? (range$$1 = slice$4.call(_), rescale()) : range$$1.slice();
+ };
+
+ scale.quantiles = function() {
+ return thresholds.slice();
+ };
+
+ scale.copy = function() {
+ return quantile$$1()
+ .domain(domain)
+ .range(range$$1);
+ };
+
+ return scale;
+}
+
+function quantize$1() {
+ var x0 = 0,
+ x1 = 1,
+ n = 1,
+ domain = [0.5],
+ range$$1 = [0, 1];
+
+ function scale(x) {
+ if (x <= x) return range$$1[bisectRight(domain, x, 0, n)];
+ }
+
+ function rescale() {
+ var i = -1;
+ domain = new Array(n);
+ while (++i < n) domain[i] = ((i + 1) * x1 - (i - n) * x0) / (n + 1);
+ return scale;
+ }
+
+ scale.domain = function(_) {
+ return arguments.length ? (x0 = +_[0], x1 = +_[1], rescale()) : [x0, x1];
+ };
+
+ scale.range = function(_) {
+ return arguments.length ? (n = (range$$1 = slice$4.call(_)).length - 1, rescale()) : range$$1.slice();
+ };
+
+ scale.invertExtent = function(y) {
+ var i = range$$1.indexOf(y);
+ return i < 0 ? [NaN, NaN]
+ : i < 1 ? [x0, domain[0]]
+ : i >= n ? [domain[n - 1], x1]
+ : [domain[i - 1], domain[i]];
+ };
+
+ scale.copy = function() {
+ return quantize$1()
+ .domain([x0, x1])
+ .range(range$$1);
+ };
+
+ return linearish(scale);
+}
+
+function threshold$1() {
+ var domain = [0.5],
+ range$$1 = [0, 1],
+ n = 1;
+
+ function scale(x) {
+ if (x <= x) return range$$1[bisectRight(domain, x, 0, n)];
+ }
+
+ scale.domain = function(_) {
+ return arguments.length ? (domain = slice$4.call(_), n = Math.min(domain.length, range$$1.length - 1), scale) : domain.slice();
+ };
+
+ scale.range = function(_) {
+ return arguments.length ? (range$$1 = slice$4.call(_), n = Math.min(domain.length, range$$1.length - 1), scale) : range$$1.slice();
+ };
+
+ scale.invertExtent = function(y) {
+ var i = range$$1.indexOf(y);
+ return [domain[i - 1], domain[i]];
+ };
+
+ scale.copy = function() {
+ return threshold$1()
+ .domain(domain)
+ .range(range$$1);
+ };
+
+ return scale;
+}
+
+var t0$1 = new Date;
+var t1$1 = new Date;
+
+function newInterval(floori, offseti, count, field) {
+
+ function interval(date) {
+ return floori(date = new Date(+date)), date;
+ }
+
+ interval.floor = interval;
+
+ interval.ceil = function(date) {
+ return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;
+ };
+
+ interval.round = function(date) {
+ var d0 = interval(date),
+ d1 = interval.ceil(date);
+ return date - d0 < d1 - date ? d0 : d1;
+ };
+
+ interval.offset = function(date, step) {
+ return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;
+ };
+
+ interval.range = function(start, stop, step) {
+ var range = [];
+ start = interval.ceil(start);
+ step = step == null ? 1 : Math.floor(step);
+ if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date
+ do range.push(new Date(+start)); while (offseti(start, step), floori(start), start < stop)
+ return range;
+ };
+
+ interval.filter = function(test) {
+ return newInterval(function(date) {
+ if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);
+ }, function(date, step) {
+ if (date >= date) while (--step >= 0) while (offseti(date, 1), !test(date)) {} // eslint-disable-line no-empty
+ });
+ };
+
+ if (count) {
+ interval.count = function(start, end) {
+ t0$1.setTime(+start), t1$1.setTime(+end);
+ floori(t0$1), floori(t1$1);
+ return Math.floor(count(t0$1, t1$1));
+ };
+
+ interval.every = function(step) {
+ step = Math.floor(step);
+ return !isFinite(step) || !(step > 0) ? null
+ : !(step > 1) ? interval
+ : interval.filter(field
+ ? function(d) { return field(d) % step === 0; }
+ : function(d) { return interval.count(0, d) % step === 0; });
+ };
+ }
+
+ return interval;
+}
+
+var millisecond = newInterval(function() {
+ // noop
+}, function(date, step) {
+ date.setTime(+date + step);
+}, function(start, end) {
+ return end - start;
+});
+
+// An optimized implementation for this simple case.
+millisecond.every = function(k) {
+ k = Math.floor(k);
+ if (!isFinite(k) || !(k > 0)) return null;
+ if (!(k > 1)) return millisecond;
+ return newInterval(function(date) {
+ date.setTime(Math.floor(date / k) * k);
+ }, function(date, step) {
+ date.setTime(+date + step * k);
+ }, function(start, end) {
+ return (end - start) / k;
+ });
+};
+
+var milliseconds = millisecond.range;
+
+var durationSecond$1 = 1e3;
+var durationMinute$1 = 6e4;
+var durationHour$1 = 36e5;
+var durationDay$1 = 864e5;
+var durationWeek$1 = 6048e5;
+
+var second = newInterval(function(date) {
+ date.setTime(Math.floor(date / durationSecond$1) * durationSecond$1);
+}, function(date, step) {
+ date.setTime(+date + step * durationSecond$1);
+}, function(start, end) {
+ return (end - start) / durationSecond$1;
+}, function(date) {
+ return date.getUTCSeconds();
+});
+
+var seconds = second.range;
+
+var minute = newInterval(function(date) {
+ date.setTime(Math.floor(date / durationMinute$1) * durationMinute$1);
+}, function(date, step) {
+ date.setTime(+date + step * durationMinute$1);
+}, function(start, end) {
+ return (end - start) / durationMinute$1;
+}, function(date) {
+ return date.getMinutes();
+});
+
+var minutes = minute.range;
+
+var hour = newInterval(function(date) {
+ var offset = date.getTimezoneOffset() * durationMinute$1 % durationHour$1;
+ if (offset < 0) offset += durationHour$1;
+ date.setTime(Math.floor((+date - offset) / durationHour$1) * durationHour$1 + offset);
+}, function(date, step) {
+ date.setTime(+date + step * durationHour$1);
+}, function(start, end) {
+ return (end - start) / durationHour$1;
+}, function(date) {
+ return date.getHours();
+});
+
+var hours = hour.range;
+
+var day = newInterval(function(date) {
+ date.setHours(0, 0, 0, 0);
+}, function(date, step) {
+ date.setDate(date.getDate() + step);
+}, function(start, end) {
+ return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute$1) / durationDay$1;
+}, function(date) {
+ return date.getDate() - 1;
+});
+
+var days = day.range;
+
+function weekday(i) {
+ return newInterval(function(date) {
+ date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);
+ date.setHours(0, 0, 0, 0);
+ }, function(date, step) {
+ date.setDate(date.getDate() + step * 7);
+ }, function(start, end) {
+ return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute$1) / durationWeek$1;
+ });
+}
+
+var sunday = weekday(0);
+var monday = weekday(1);
+var tuesday = weekday(2);
+var wednesday = weekday(3);
+var thursday = weekday(4);
+var friday = weekday(5);
+var saturday = weekday(6);
+
+var sundays = sunday.range;
+var mondays = monday.range;
+var tuesdays = tuesday.range;
+var wednesdays = wednesday.range;
+var thursdays = thursday.range;
+var fridays = friday.range;
+var saturdays = saturday.range;
+
+var month = newInterval(function(date) {
+ date.setDate(1);
+ date.setHours(0, 0, 0, 0);
+}, function(date, step) {
+ date.setMonth(date.getMonth() + step);
+}, function(start, end) {
+ return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12;
+}, function(date) {
+ return date.getMonth();
+});
+
+var months = month.range;
+
+var year = newInterval(function(date) {
+ date.setMonth(0, 1);
+ date.setHours(0, 0, 0, 0);
+}, function(date, step) {
+ date.setFullYear(date.getFullYear() + step);
+}, function(start, end) {
+ return end.getFullYear() - start.getFullYear();
+}, function(date) {
+ return date.getFullYear();
+});
+
+// An optimized implementation for this simple case.
+year.every = function(k) {
+ return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : newInterval(function(date) {
+ date.setFullYear(Math.floor(date.getFullYear() / k) * k);
+ date.setMonth(0, 1);
+ date.setHours(0, 0, 0, 0);
+ }, function(date, step) {
+ date.setFullYear(date.getFullYear() + step * k);
+ });
+};
+
+var years = year.range;
+
+var utcMinute = newInterval(function(date) {
+ date.setUTCSeconds(0, 0);
+}, function(date, step) {
+ date.setTime(+date + step * durationMinute$1);
+}, function(start, end) {
+ return (end - start) / durationMinute$1;
+}, function(date) {
+ return date.getUTCMinutes();
+});
+
+var utcMinutes = utcMinute.range;
+
+var utcHour = newInterval(function(date) {
+ date.setUTCMinutes(0, 0, 0);
+}, function(date, step) {
+ date.setTime(+date + step * durationHour$1);
+}, function(start, end) {
+ return (end - start) / durationHour$1;
+}, function(date) {
+ return date.getUTCHours();
+});
+
+var utcHours = utcHour.range;
+
+var utcDay = newInterval(function(date) {
+ date.setUTCHours(0, 0, 0, 0);
+}, function(date, step) {
+ date.setUTCDate(date.getUTCDate() + step);
+}, function(start, end) {
+ return (end - start) / durationDay$1;
+}, function(date) {
+ return date.getUTCDate() - 1;
+});
+
+var utcDays = utcDay.range;
+
+function utcWeekday(i) {
+ return newInterval(function(date) {
+ date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);
+ date.setUTCHours(0, 0, 0, 0);
+ }, function(date, step) {
+ date.setUTCDate(date.getUTCDate() + step * 7);
+ }, function(start, end) {
+ return (end - start) / durationWeek$1;
+ });
+}
+
+var utcSunday = utcWeekday(0);
+var utcMonday = utcWeekday(1);
+var utcTuesday = utcWeekday(2);
+var utcWednesday = utcWeekday(3);
+var utcThursday = utcWeekday(4);
+var utcFriday = utcWeekday(5);
+var utcSaturday = utcWeekday(6);
+
+var utcSundays = utcSunday.range;
+var utcMondays = utcMonday.range;
+var utcTuesdays = utcTuesday.range;
+var utcWednesdays = utcWednesday.range;
+var utcThursdays = utcThursday.range;
+var utcFridays = utcFriday.range;
+var utcSaturdays = utcSaturday.range;
+
+var utcMonth = newInterval(function(date) {
+ date.setUTCDate(1);
+ date.setUTCHours(0, 0, 0, 0);
+}, function(date, step) {
+ date.setUTCMonth(date.getUTCMonth() + step);
+}, function(start, end) {
+ return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12;
+}, function(date) {
+ return date.getUTCMonth();
+});
+
+var utcMonths = utcMonth.range;
+
+var utcYear = newInterval(function(date) {
+ date.setUTCMonth(0, 1);
+ date.setUTCHours(0, 0, 0, 0);
+}, function(date, step) {
+ date.setUTCFullYear(date.getUTCFullYear() + step);
+}, function(start, end) {
+ return end.getUTCFullYear() - start.getUTCFullYear();
+}, function(date) {
+ return date.getUTCFullYear();
+});
+
+// An optimized implementation for this simple case.
+utcYear.every = function(k) {
+ return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : newInterval(function(date) {
+ date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k);
+ date.setUTCMonth(0, 1);
+ date.setUTCHours(0, 0, 0, 0);
+ }, function(date, step) {
+ date.setUTCFullYear(date.getUTCFullYear() + step * k);
+ });
+};
+
+var utcYears = utcYear.range;
+
+function localDate(d) {
+ if (0 <= d.y && d.y < 100) {
+ var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);
+ date.setFullYear(d.y);
+ return date;
+ }
+ return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L);
+}
+
+function utcDate(d) {
+ if (0 <= d.y && d.y < 100) {
+ var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L));
+ date.setUTCFullYear(d.y);
+ return date;
+ }
+ return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L));
+}
+
+function newYear(y) {
+ return {y: y, m: 0, d: 1, H: 0, M: 0, S: 0, L: 0};
+}
+
+function formatLocale$1(locale) {
+ var locale_dateTime = locale.dateTime,
+ locale_date = locale.date,
+ locale_time = locale.time,
+ locale_periods = locale.periods,
+ locale_weekdays = locale.days,
+ locale_shortWeekdays = locale.shortDays,
+ locale_months = locale.months,
+ locale_shortMonths = locale.shortMonths;
+
+ var periodRe = formatRe(locale_periods),
+ periodLookup = formatLookup(locale_periods),
+ weekdayRe = formatRe(locale_weekdays),
+ weekdayLookup = formatLookup(locale_weekdays),
+ shortWeekdayRe = formatRe(locale_shortWeekdays),
+ shortWeekdayLookup = formatLookup(locale_shortWeekdays),
+ monthRe = formatRe(locale_months),
+ monthLookup = formatLookup(locale_months),
+ shortMonthRe = formatRe(locale_shortMonths),
+ shortMonthLookup = formatLookup(locale_shortMonths);
+
+ var formats = {
+ "a": formatShortWeekday,
+ "A": formatWeekday,
+ "b": formatShortMonth,
+ "B": formatMonth,
+ "c": null,
+ "d": formatDayOfMonth,
+ "e": formatDayOfMonth,
+ "H": formatHour24,
+ "I": formatHour12,
+ "j": formatDayOfYear,
+ "L": formatMilliseconds,
+ "m": formatMonthNumber,
+ "M": formatMinutes,
+ "p": formatPeriod,
+ "S": formatSeconds,
+ "U": formatWeekNumberSunday,
+ "w": formatWeekdayNumber,
+ "W": formatWeekNumberMonday,
+ "x": null,
+ "X": null,
+ "y": formatYear,
+ "Y": formatFullYear,
+ "Z": formatZone,
+ "%": formatLiteralPercent
+ };
+
+ var utcFormats = {
+ "a": formatUTCShortWeekday,
+ "A": formatUTCWeekday,
+ "b": formatUTCShortMonth,
+ "B": formatUTCMonth,
+ "c": null,
+ "d": formatUTCDayOfMonth,
+ "e": formatUTCDayOfMonth,
+ "H": formatUTCHour24,
+ "I": formatUTCHour12,
+ "j": formatUTCDayOfYear,
+ "L": formatUTCMilliseconds,
+ "m": formatUTCMonthNumber,
+ "M": formatUTCMinutes,
+ "p": formatUTCPeriod,
+ "S": formatUTCSeconds,
+ "U": formatUTCWeekNumberSunday,
+ "w": formatUTCWeekdayNumber,
+ "W": formatUTCWeekNumberMonday,
+ "x": null,
+ "X": null,
+ "y": formatUTCYear,
+ "Y": formatUTCFullYear,
+ "Z": formatUTCZone,
+ "%": formatLiteralPercent
+ };
+
+ var parses = {
+ "a": parseShortWeekday,
+ "A": parseWeekday,
+ "b": parseShortMonth,
+ "B": parseMonth,
+ "c": parseLocaleDateTime,
+ "d": parseDayOfMonth,
+ "e": parseDayOfMonth,
+ "H": parseHour24,
+ "I": parseHour24,
+ "j": parseDayOfYear,
+ "L": parseMilliseconds,
+ "m": parseMonthNumber,
+ "M": parseMinutes,
+ "p": parsePeriod,
+ "S": parseSeconds,
+ "U": parseWeekNumberSunday,
+ "w": parseWeekdayNumber,
+ "W": parseWeekNumberMonday,
+ "x": parseLocaleDate,
+ "X": parseLocaleTime,
+ "y": parseYear,
+ "Y": parseFullYear,
+ "Z": parseZone,
+ "%": parseLiteralPercent
+ };
+
+ // These recursive directive definitions must be deferred.
+ formats.x = newFormat(locale_date, formats);
+ formats.X = newFormat(locale_time, formats);
+ formats.c = newFormat(locale_dateTime, formats);
+ utcFormats.x = newFormat(locale_date, utcFormats);
+ utcFormats.X = newFormat(locale_time, utcFormats);
+ utcFormats.c = newFormat(locale_dateTime, utcFormats);
+
+ function newFormat(specifier, formats) {
+ return function(date) {
+ var string = [],
+ i = -1,
+ j = 0,
+ n = specifier.length,
+ c,
+ pad,
+ format;
+
+ if (!(date instanceof Date)) date = new Date(+date);
+
+ while (++i < n) {
+ if (specifier.charCodeAt(i) === 37) {
+ string.push(specifier.slice(j, i));
+ if ((pad = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i);
+ else pad = c === "e" ? " " : "0";
+ if (format = formats[c]) c = format(date, pad);
+ string.push(c);
+ j = i + 1;
+ }
+ }
+
+ string.push(specifier.slice(j, i));
+ return string.join("");
+ };
+ }
+
+ function newParse(specifier, newDate) {
+ return function(string) {
+ var d = newYear(1900),
+ i = parseSpecifier(d, specifier, string += "", 0);
+ if (i != string.length) return null;
+
+ // The am-pm flag is 0 for AM, and 1 for PM.
+ if ("p" in d) d.H = d.H % 12 + d.p * 12;
+
+ // Convert day-of-week and week-of-year to day-of-year.
+ if ("W" in d || "U" in d) {
+ if (!("w" in d)) d.w = "W" in d ? 1 : 0;
+ var day$$1 = "Z" in d ? utcDate(newYear(d.y)).getUTCDay() : newDate(newYear(d.y)).getDay();
+ d.m = 0;
+ d.d = "W" in d ? (d.w + 6) % 7 + d.W * 7 - (day$$1 + 5) % 7 : d.w + d.U * 7 - (day$$1 + 6) % 7;
+ }
+
+ // If a time zone is specified, all fields are interpreted as UTC and then
+ // offset according to the specified time zone.
+ if ("Z" in d) {
+ d.H += d.Z / 100 | 0;
+ d.M += d.Z % 100;
+ return utcDate(d);
+ }
+
+ // Otherwise, all fields are in local time.
+ return newDate(d);
+ };
+ }
+
+ function parseSpecifier(d, specifier, string, j) {
+ var i = 0,
+ n = specifier.length,
+ m = string.length,
+ c,
+ parse;
+
+ while (i < n) {
+ if (j >= m) return -1;
+ c = specifier.charCodeAt(i++);
+ if (c === 37) {
+ c = specifier.charAt(i++);
+ parse = parses[c in pads ? specifier.charAt(i++) : c];
+ if (!parse || ((j = parse(d, string, j)) < 0)) return -1;
+ } else if (c != string.charCodeAt(j++)) {
+ return -1;
+ }
+ }
+
+ return j;
+ }
+
+ function parsePeriod(d, string, i) {
+ var n = periodRe.exec(string.slice(i));
+ return n ? (d.p = periodLookup[n[0].toLowerCase()], i + n[0].length) : -1;
+ }
+
+ function parseShortWeekday(d, string, i) {
+ var n = shortWeekdayRe.exec(string.slice(i));
+ return n ? (d.w = shortWeekdayLookup[n[0].toLowerCase()], i + n[0].length) : -1;
+ }
+
+ function parseWeekday(d, string, i) {
+ var n = weekdayRe.exec(string.slice(i));
+ return n ? (d.w = weekdayLookup[n[0].toLowerCase()], i + n[0].length) : -1;
+ }
+
+ function parseShortMonth(d, string, i) {
+ var n = shortMonthRe.exec(string.slice(i));
+ return n ? (d.m = shortMonthLookup[n[0].toLowerCase()], i + n[0].length) : -1;
+ }
+
+ function parseMonth(d, string, i) {
+ var n = monthRe.exec(string.slice(i));
+ return n ? (d.m = monthLookup[n[0].toLowerCase()], i + n[0].length) : -1;
+ }
+
+ function parseLocaleDateTime(d, string, i) {
+ return parseSpecifier(d, locale_dateTime, string, i);
+ }
+
+ function parseLocaleDate(d, string, i) {
+ return parseSpecifier(d, locale_date, string, i);
+ }
+
+ function parseLocaleTime(d, string, i) {
+ return parseSpecifier(d, locale_time, string, i);
+ }
+
+ function formatShortWeekday(d) {
+ return locale_shortWeekdays[d.getDay()];
+ }
+
+ function formatWeekday(d) {
+ return locale_weekdays[d.getDay()];
+ }
+
+ function formatShortMonth(d) {
+ return locale_shortMonths[d.getMonth()];
+ }
+
+ function formatMonth(d) {
+ return locale_months[d.getMonth()];
+ }
+
+ function formatPeriod(d) {
+ return locale_periods[+(d.getHours() >= 12)];
+ }
+
+ function formatUTCShortWeekday(d) {
+ return locale_shortWeekdays[d.getUTCDay()];
+ }
+
+ function formatUTCWeekday(d) {
+ return locale_weekdays[d.getUTCDay()];
+ }
+
+ function formatUTCShortMonth(d) {
+ return locale_shortMonths[d.getUTCMonth()];
+ }
+
+ function formatUTCMonth(d) {
+ return locale_months[d.getUTCMonth()];
+ }
+
+ function formatUTCPeriod(d) {
+ return locale_periods[+(d.getUTCHours() >= 12)];
+ }
+
+ return {
+ format: function(specifier) {
+ var f = newFormat(specifier += "", formats);
+ f.toString = function() { return specifier; };
+ return f;
+ },
+ parse: function(specifier) {
+ var p = newParse(specifier += "", localDate);
+ p.toString = function() { return specifier; };
+ return p;
+ },
+ utcFormat: function(specifier) {
+ var f = newFormat(specifier += "", utcFormats);
+ f.toString = function() { return specifier; };
+ return f;
+ },
+ utcParse: function(specifier) {
+ var p = newParse(specifier, utcDate);
+ p.toString = function() { return specifier; };
+ return p;
+ }
+ };
+}
+
+var pads = {"-": "", "_": " ", "0": "0"};
+var numberRe = /^\s*\d+/;
+var percentRe = /^%/;
+var requoteRe = /[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g;
+
+function pad(value, fill, width) {
+ var sign = value < 0 ? "-" : "",
+ string = (sign ? -value : value) + "",
+ length = string.length;
+ return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);
+}
+
+function requote(s) {
+ return s.replace(requoteRe, "\\$&");
+}
+
+function formatRe(names) {
+ return new RegExp("^(?:" + names.map(requote).join("|") + ")", "i");
+}
+
+function formatLookup(names) {
+ var map = {}, i = -1, n = names.length;
+ while (++i < n) map[names[i].toLowerCase()] = i;
+ return map;
+}
+
+function parseWeekdayNumber(d, string, i) {
+ var n = numberRe.exec(string.slice(i, i + 1));
+ return n ? (d.w = +n[0], i + n[0].length) : -1;
+}
+
+function parseWeekNumberSunday(d, string, i) {
+ var n = numberRe.exec(string.slice(i));
+ return n ? (d.U = +n[0], i + n[0].length) : -1;
+}
+
+function parseWeekNumberMonday(d, string, i) {
+ var n = numberRe.exec(string.slice(i));
+ return n ? (d.W = +n[0], i + n[0].length) : -1;
+}
+
+function parseFullYear(d, string, i) {
+ var n = numberRe.exec(string.slice(i, i + 4));
+ return n ? (d.y = +n[0], i + n[0].length) : -1;
+}
+
+function parseYear(d, string, i) {
+ var n = numberRe.exec(string.slice(i, i + 2));
+ return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1;
+}
+
+function parseZone(d, string, i) {
+ var n = /^(Z)|([+-]\d\d)(?:\:?(\d\d))?/.exec(string.slice(i, i + 6));
+ return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || "00")), i + n[0].length) : -1;
+}
+
+function parseMonthNumber(d, string, i) {
+ var n = numberRe.exec(string.slice(i, i + 2));
+ return n ? (d.m = n[0] - 1, i + n[0].length) : -1;
+}
+
+function parseDayOfMonth(d, string, i) {
+ var n = numberRe.exec(string.slice(i, i + 2));
+ return n ? (d.d = +n[0], i + n[0].length) : -1;
+}
+
+function parseDayOfYear(d, string, i) {
+ var n = numberRe.exec(string.slice(i, i + 3));
+ return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1;
+}
+
+function parseHour24(d, string, i) {
+ var n = numberRe.exec(string.slice(i, i + 2));
+ return n ? (d.H = +n[0], i + n[0].length) : -1;
+}
+
+function parseMinutes(d, string, i) {
+ var n = numberRe.exec(string.slice(i, i + 2));
+ return n ? (d.M = +n[0], i + n[0].length) : -1;
+}
+
+function parseSeconds(d, string, i) {
+ var n = numberRe.exec(string.slice(i, i + 2));
+ return n ? (d.S = +n[0], i + n[0].length) : -1;
+}
+
+function parseMilliseconds(d, string, i) {
+ var n = numberRe.exec(string.slice(i, i + 3));
+ return n ? (d.L = +n[0], i + n[0].length) : -1;
+}
+
+function parseLiteralPercent(d, string, i) {
+ var n = percentRe.exec(string.slice(i, i + 1));
+ return n ? i + n[0].length : -1;
+}
+
+function formatDayOfMonth(d, p) {
+ return pad(d.getDate(), p, 2);
+}
+
+function formatHour24(d, p) {
+ return pad(d.getHours(), p, 2);
+}
+
+function formatHour12(d, p) {
+ return pad(d.getHours() % 12 || 12, p, 2);
+}
+
+function formatDayOfYear(d, p) {
+ return pad(1 + day.count(year(d), d), p, 3);
+}
+
+function formatMilliseconds(d, p) {
+ return pad(d.getMilliseconds(), p, 3);
+}
+
+function formatMonthNumber(d, p) {
+ return pad(d.getMonth() + 1, p, 2);
+}
+
+function formatMinutes(d, p) {
+ return pad(d.getMinutes(), p, 2);
+}
+
+function formatSeconds(d, p) {
+ return pad(d.getSeconds(), p, 2);
+}
+
+function formatWeekNumberSunday(d, p) {
+ return pad(sunday.count(year(d), d), p, 2);
+}
+
+function formatWeekdayNumber(d) {
+ return d.getDay();
+}
+
+function formatWeekNumberMonday(d, p) {
+ return pad(monday.count(year(d), d), p, 2);
+}
+
+function formatYear(d, p) {
+ return pad(d.getFullYear() % 100, p, 2);
+}
+
+function formatFullYear(d, p) {
+ return pad(d.getFullYear() % 10000, p, 4);
+}
+
+function formatZone(d) {
+ var z = d.getTimezoneOffset();
+ return (z > 0 ? "-" : (z *= -1, "+"))
+ + pad(z / 60 | 0, "0", 2)
+ + pad(z % 60, "0", 2);
+}
+
+function formatUTCDayOfMonth(d, p) {
+ return pad(d.getUTCDate(), p, 2);
+}
+
+function formatUTCHour24(d, p) {
+ return pad(d.getUTCHours(), p, 2);
+}
+
+function formatUTCHour12(d, p) {
+ return pad(d.getUTCHours() % 12 || 12, p, 2);
+}
+
+function formatUTCDayOfYear(d, p) {
+ return pad(1 + utcDay.count(utcYear(d), d), p, 3);
+}
+
+function formatUTCMilliseconds(d, p) {
+ return pad(d.getUTCMilliseconds(), p, 3);
+}
+
+function formatUTCMonthNumber(d, p) {
+ return pad(d.getUTCMonth() + 1, p, 2);
+}
+
+function formatUTCMinutes(d, p) {
+ return pad(d.getUTCMinutes(), p, 2);
+}
+
+function formatUTCSeconds(d, p) {
+ return pad(d.getUTCSeconds(), p, 2);
+}
+
+function formatUTCWeekNumberSunday(d, p) {
+ return pad(utcSunday.count(utcYear(d), d), p, 2);
+}
+
+function formatUTCWeekdayNumber(d) {
+ return d.getUTCDay();
+}
+
+function formatUTCWeekNumberMonday(d, p) {
+ return pad(utcMonday.count(utcYear(d), d), p, 2);
+}
+
+function formatUTCYear(d, p) {
+ return pad(d.getUTCFullYear() % 100, p, 2);
+}
+
+function formatUTCFullYear(d, p) {
+ return pad(d.getUTCFullYear() % 10000, p, 4);
+}
+
+function formatUTCZone() {
+ return "+0000";
+}
+
+function formatLiteralPercent() {
+ return "%";
+}
+
+var locale$2;
+
+
+
+
+
+defaultLocale$1({
+ dateTime: "%x, %X",
+ date: "%-m/%-d/%Y",
+ time: "%-I:%M:%S %p",
+ periods: ["AM", "PM"],
+ days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
+ shortDays: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
+ months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
+ shortMonths: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
+});
+
+function defaultLocale$1(definition) {
+ locale$2 = formatLocale$1(definition);
+ exports.timeFormat = locale$2.format;
+ exports.timeParse = locale$2.parse;
+ exports.utcFormat = locale$2.utcFormat;
+ exports.utcParse = locale$2.utcParse;
+ return locale$2;
+}
+
+var isoSpecifier = "%Y-%m-%dT%H:%M:%S.%LZ";
+
+function formatIsoNative(date) {
+ return date.toISOString();
+}
+
+var formatIso = Date.prototype.toISOString
+ ? formatIsoNative
+ : exports.utcFormat(isoSpecifier);
+
+function parseIsoNative(string) {
+ var date = new Date(string);
+ return isNaN(date) ? null : date;
+}
+
+var parseIso = +new Date("2000-01-01T00:00:00.000Z")
+ ? parseIsoNative
+ : exports.utcParse(isoSpecifier);
+
+var durationSecond = 1000;
+var durationMinute = durationSecond * 60;
+var durationHour = durationMinute * 60;
+var durationDay = durationHour * 24;
+var durationWeek = durationDay * 7;
+var durationMonth = durationDay * 30;
+var durationYear = durationDay * 365;
+
+function date$1(t) {
+ return new Date(t);
+}
+
+function number$2(t) {
+ return t instanceof Date ? +t : +new Date(+t);
+}
+
+function calendar(year$$1, month$$1, week, day$$1, hour$$1, minute$$1, second$$1, millisecond$$1, format) {
+ var scale = continuous(deinterpolateLinear, reinterpolate),
+ invert = scale.invert,
+ domain = scale.domain;
+
+ var formatMillisecond = format(".%L"),
+ formatSecond = format(":%S"),
+ formatMinute = format("%I:%M"),
+ formatHour = format("%I %p"),
+ formatDay = format("%a %d"),
+ formatWeek = format("%b %d"),
+ formatMonth = format("%B"),
+ formatYear = format("%Y");
+
+ var tickIntervals = [
+ [second$$1, 1, durationSecond],
+ [second$$1, 5, 5 * durationSecond],
+ [second$$1, 15, 15 * durationSecond],
+ [second$$1, 30, 30 * durationSecond],
+ [minute$$1, 1, durationMinute],
+ [minute$$1, 5, 5 * durationMinute],
+ [minute$$1, 15, 15 * durationMinute],
+ [minute$$1, 30, 30 * durationMinute],
+ [ hour$$1, 1, durationHour ],
+ [ hour$$1, 3, 3 * durationHour ],
+ [ hour$$1, 6, 6 * durationHour ],
+ [ hour$$1, 12, 12 * durationHour ],
+ [ day$$1, 1, durationDay ],
+ [ day$$1, 2, 2 * durationDay ],
+ [ week, 1, durationWeek ],
+ [ month$$1, 1, durationMonth ],
+ [ month$$1, 3, 3 * durationMonth ],
+ [ year$$1, 1, durationYear ]
+ ];
+
+ function tickFormat(date) {
+ return (second$$1(date) < date ? formatMillisecond
+ : minute$$1(date) < date ? formatSecond
+ : hour$$1(date) < date ? formatMinute
+ : day$$1(date) < date ? formatHour
+ : month$$1(date) < date ? (week(date) < date ? formatDay : formatWeek)
+ : year$$1(date) < date ? formatMonth
+ : formatYear)(date);
+ }
+
+ function tickInterval(interval, start, stop, step) {
+ if (interval == null) interval = 10;
+
+ // If a desired tick count is specified, pick a reasonable tick interval
+ // based on the extent of the domain and a rough estimate of tick size.
+ // Otherwise, assume interval is already a time interval and use it.
+ if (typeof interval === "number") {
+ var target = Math.abs(stop - start) / interval,
+ i = bisector(function(i) { return i[2]; }).right(tickIntervals, target);
+ if (i === tickIntervals.length) {
+ step = tickStep(start / durationYear, stop / durationYear, interval);
+ interval = year$$1;
+ } else if (i) {
+ i = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i];
+ step = i[1];
+ interval = i[0];
+ } else {
+ step = tickStep(start, stop, interval);
+ interval = millisecond$$1;
+ }
+ }
+
+ return step == null ? interval : interval.every(step);
+ }
+
+ scale.invert = function(y) {
+ return new Date(invert(y));
+ };
+
+ scale.domain = function(_) {
+ return arguments.length ? domain(map$3.call(_, number$2)) : domain().map(date$1);
+ };
+
+ scale.ticks = function(interval, step) {
+ var d = domain(),
+ t0 = d[0],
+ t1 = d[d.length - 1],
+ r = t1 < t0,
+ t;
+ if (r) t = t0, t0 = t1, t1 = t;
+ t = tickInterval(interval, t0, t1, step);
+ t = t ? t.range(t0, t1 + 1) : []; // inclusive stop
+ return r ? t.reverse() : t;
+ };
+
+ scale.tickFormat = function(count, specifier) {
+ return specifier == null ? tickFormat : format(specifier);
+ };
+
+ scale.nice = function(interval, step) {
+ var d = domain();
+ return (interval = tickInterval(interval, d[0], d[d.length - 1], step))
+ ? domain(nice(d, interval))
+ : scale;
+ };
+
+ scale.copy = function() {
+ return copy(scale, calendar(year$$1, month$$1, week, day$$1, hour$$1, minute$$1, second$$1, millisecond$$1, format));
+ };
+
+ return scale;
+}
+
+var time = function() {
+ return calendar(year, month, sunday, day, hour, minute, second, millisecond, exports.timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]);
+};
+
+var utcTime = function() {
+ return calendar(utcYear, utcMonth, utcSunday, utcDay, utcHour, utcMinute, second, millisecond, exports.utcFormat).domain([Date.UTC(2000, 0, 1), Date.UTC(2000, 0, 2)]);
+};
+
+var colors = function(s) {
+ return s.match(/.{6}/g).map(function(x) {
+ return "#" + x;
+ });
+};
+
+var category10 = colors("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf");
+
+var category20b = colors("393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6");
+
+var category20c = colors("3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9");
+
+var category20 = colors("1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5");
+
+var cubehelix$3 = cubehelixLong(cubehelix(300, 0.5, 0.0), cubehelix(-240, 0.5, 1.0));
+
+var warm = cubehelixLong(cubehelix(-100, 0.75, 0.35), cubehelix(80, 1.50, 0.8));
+
+var cool = cubehelixLong(cubehelix(260, 0.75, 0.35), cubehelix(80, 1.50, 0.8));
+
+var rainbow = cubehelix();
+
+var rainbow$1 = function(t) {
+ if (t < 0 || t > 1) t -= Math.floor(t);
+ var ts = Math.abs(t - 0.5);
+ rainbow.h = 360 * t - 100;
+ rainbow.s = 1.5 - 1.5 * ts;
+ rainbow.l = 0.8 - 0.9 * ts;
+ return rainbow + "";
+};
+
+function ramp(range) {
+ var n = range.length;
+ return function(t) {
+ return range[Math.max(0, Math.min(n - 1, Math.floor(t * n)))];
+ };
+}
+
+var viridis = ramp(colors("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725"));
+
+var magma = ramp(colors("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf"));
+
+var inferno = ramp(colors("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4"));
+
+var plasma = ramp(colors("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));
+
+function sequential(interpolator) {
+ var x0 = 0,
+ x1 = 1,
+ clamp = false;
+
+ function scale(x) {
+ var t = (x - x0) / (x1 - x0);
+ return interpolator(clamp ? Math.max(0, Math.min(1, t)) : t);
+ }
+
+ scale.domain = function(_) {
+ return arguments.length ? (x0 = +_[0], x1 = +_[1], scale) : [x0, x1];
+ };
+
+ scale.clamp = function(_) {
+ return arguments.length ? (clamp = !!_, scale) : clamp;
+ };
+
+ scale.interpolator = function(_) {
+ return arguments.length ? (interpolator = _, scale) : interpolator;
+ };
+
+ scale.copy = function() {
+ return sequential(interpolator).domain([x0, x1]).clamp(clamp);
+ };
+
+ return linearish(scale);
+}
+
+var constant$10 = function(x) {
+ return function constant() {
+ return x;
+ };
+};
+
+var abs$1 = Math.abs;
+var atan2$1 = Math.atan2;
+var cos$2 = Math.cos;
+var max$2 = Math.max;
+var min$1 = Math.min;
+var sin$2 = Math.sin;
+var sqrt$2 = Math.sqrt;
+
+var epsilon$3 = 1e-12;
+var pi$4 = Math.PI;
+var halfPi$3 = pi$4 / 2;
+var tau$4 = 2 * pi$4;
+
+function acos$1(x) {
+ return x > 1 ? 0 : x < -1 ? pi$4 : Math.acos(x);
+}
+
+function asin$1(x) {
+ return x >= 1 ? halfPi$3 : x <= -1 ? -halfPi$3 : Math.asin(x);
+}
+
+function arcInnerRadius(d) {
+ return d.innerRadius;
+}
+
+function arcOuterRadius(d) {
+ return d.outerRadius;
+}
+
+function arcStartAngle(d) {
+ return d.startAngle;
+}
+
+function arcEndAngle(d) {
+ return d.endAngle;
+}
+
+function arcPadAngle(d) {
+ return d && d.padAngle; // Note: optional!
+}
+
+function intersect(x0, y0, x1, y1, x2, y2, x3, y3) {
+ var x10 = x1 - x0, y10 = y1 - y0,
+ x32 = x3 - x2, y32 = y3 - y2,
+ t = (x32 * (y0 - y2) - y32 * (x0 - x2)) / (y32 * x10 - x32 * y10);
+ return [x0 + t * x10, y0 + t * y10];
+}
+
+// Compute perpendicular offset line of length rc.
+// http://mathworld.wolfram.com/Circle-LineIntersection.html
+function cornerTangents(x0, y0, x1, y1, r1, rc, cw) {
+ var x01 = x0 - x1,
+ y01 = y0 - y1,
+ lo = (cw ? rc : -rc) / sqrt$2(x01 * x01 + y01 * y01),
+ ox = lo * y01,
+ oy = -lo * x01,
+ x11 = x0 + ox,
+ y11 = y0 + oy,
+ x10 = x1 + ox,
+ y10 = y1 + oy,
+ x00 = (x11 + x10) / 2,
+ y00 = (y11 + y10) / 2,
+ dx = x10 - x11,
+ dy = y10 - y11,
+ d2 = dx * dx + dy * dy,
+ r = r1 - rc,
+ D = x11 * y10 - x10 * y11,
+ d = (dy < 0 ? -1 : 1) * sqrt$2(max$2(0, r * r * d2 - D * D)),
+ cx0 = (D * dy - dx * d) / d2,
+ cy0 = (-D * dx - dy * d) / d2,
+ cx1 = (D * dy + dx * d) / d2,
+ cy1 = (-D * dx + dy * d) / d2,
+ dx0 = cx0 - x00,
+ dy0 = cy0 - y00,
+ dx1 = cx1 - x00,
+ dy1 = cy1 - y00;
+
+ // Pick the closer of the two intersection points.
+ // TODO Is there a faster way to determine which intersection to use?
+ if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) cx0 = cx1, cy0 = cy1;
+
+ return {
+ cx: cx0,
+ cy: cy0,
+ x01: -ox,
+ y01: -oy,
+ x11: cx0 * (r1 / r - 1),
+ y11: cy0 * (r1 / r - 1)
+ };
+}
+
+var arc = function() {
+ var innerRadius = arcInnerRadius,
+ outerRadius = arcOuterRadius,
+ cornerRadius = constant$10(0),
+ padRadius = null,
+ startAngle = arcStartAngle,
+ endAngle = arcEndAngle,
+ padAngle = arcPadAngle,
+ context = null;
+
+ function arc() {
+ var buffer,
+ r,
+ r0 = +innerRadius.apply(this, arguments),
+ r1 = +outerRadius.apply(this, arguments),
+ a0 = startAngle.apply(this, arguments) - halfPi$3,
+ a1 = endAngle.apply(this, arguments) - halfPi$3,
+ da = abs$1(a1 - a0),
+ cw = a1 > a0;
+
+ if (!context) context = buffer = path();
+
+ // Ensure that the outer radius is always larger than the inner radius.
+ if (r1 < r0) r = r1, r1 = r0, r0 = r;
+
+ // Is it a point?
+ if (!(r1 > epsilon$3)) context.moveTo(0, 0);
+
+ // Or is it a circle or annulus?
+ else if (da > tau$4 - epsilon$3) {
+ context.moveTo(r1 * cos$2(a0), r1 * sin$2(a0));
+ context.arc(0, 0, r1, a0, a1, !cw);
+ if (r0 > epsilon$3) {
+ context.moveTo(r0 * cos$2(a1), r0 * sin$2(a1));
+ context.arc(0, 0, r0, a1, a0, cw);
+ }
+ }
+
+ // Or is it a circular or annular sector?
+ else {
+ var a01 = a0,
+ a11 = a1,
+ a00 = a0,
+ a10 = a1,
+ da0 = da,
+ da1 = da,
+ ap = padAngle.apply(this, arguments) / 2,
+ rp = (ap > epsilon$3) && (padRadius ? +padRadius.apply(this, arguments) : sqrt$2(r0 * r0 + r1 * r1)),
+ rc = min$1(abs$1(r1 - r0) / 2, +cornerRadius.apply(this, arguments)),
+ rc0 = rc,
+ rc1 = rc,
+ t0,
+ t1;
+
+ // Apply padding? Note that since r1 ≥ r0, da1 ≥ da0.
+ if (rp > epsilon$3) {
+ var p0 = asin$1(rp / r0 * sin$2(ap)),
+ p1 = asin$1(rp / r1 * sin$2(ap));
+ if ((da0 -= p0 * 2) > epsilon$3) p0 *= (cw ? 1 : -1), a00 += p0, a10 -= p0;
+ else da0 = 0, a00 = a10 = (a0 + a1) / 2;
+ if ((da1 -= p1 * 2) > epsilon$3) p1 *= (cw ? 1 : -1), a01 += p1, a11 -= p1;
+ else da1 = 0, a01 = a11 = (a0 + a1) / 2;
+ }
+
+ var x01 = r1 * cos$2(a01),
+ y01 = r1 * sin$2(a01),
+ x10 = r0 * cos$2(a10),
+ y10 = r0 * sin$2(a10);
+
+ // Apply rounded corners?
+ if (rc > epsilon$3) {
+ var x11 = r1 * cos$2(a11),
+ y11 = r1 * sin$2(a11),
+ x00 = r0 * cos$2(a00),
+ y00 = r0 * sin$2(a00);
+
+ // Restrict the corner radius according to the sector angle.
+ if (da < pi$4) {
+ var oc = da0 > epsilon$3 ? intersect(x01, y01, x00, y00, x11, y11, x10, y10) : [x10, y10],
+ ax = x01 - oc[0],
+ ay = y01 - oc[1],
+ bx = x11 - oc[0],
+ by = y11 - oc[1],
+ kc = 1 / sin$2(acos$1((ax * bx + ay * by) / (sqrt$2(ax * ax + ay * ay) * sqrt$2(bx * bx + by * by))) / 2),
+ lc = sqrt$2(oc[0] * oc[0] + oc[1] * oc[1]);
+ rc0 = min$1(rc, (r0 - lc) / (kc - 1));
+ rc1 = min$1(rc, (r1 - lc) / (kc + 1));
+ }
+ }
+
+ // Is the sector collapsed to a line?
+ if (!(da1 > epsilon$3)) context.moveTo(x01, y01);
+
+ // Does the sector’s outer ring have rounded corners?
+ else if (rc1 > epsilon$3) {
+ t0 = cornerTangents(x00, y00, x01, y01, r1, rc1, cw);
+ t1 = cornerTangents(x11, y11, x10, y10, r1, rc1, cw);
+
+ context.moveTo(t0.cx + t0.x01, t0.cy + t0.y01);
+
+ // Have the corners merged?
+ if (rc1 < rc) context.arc(t0.cx, t0.cy, rc1, atan2$1(t0.y01, t0.x01), atan2$1(t1.y01, t1.x01), !cw);
+
+ // Otherwise, draw the two corners and the ring.
+ else {
+ context.arc(t0.cx, t0.cy, rc1, atan2$1(t0.y01, t0.x01), atan2$1(t0.y11, t0.x11), !cw);
+ context.arc(0, 0, r1, atan2$1(t0.cy + t0.y11, t0.cx + t0.x11), atan2$1(t1.cy + t1.y11, t1.cx + t1.x11), !cw);
+ context.arc(t1.cx, t1.cy, rc1, atan2$1(t1.y11, t1.x11), atan2$1(t1.y01, t1.x01), !cw);
+ }
+ }
+
+ // Or is the outer ring just a circular arc?
+ else context.moveTo(x01, y01), context.arc(0, 0, r1, a01, a11, !cw);
+
+ // Is there no inner ring, and it’s a circular sector?
+ // Or perhaps it’s an annular sector collapsed due to padding?
+ if (!(r0 > epsilon$3) || !(da0 > epsilon$3)) context.lineTo(x10, y10);
+
+ // Does the sector’s inner ring (or point) have rounded corners?
+ else if (rc0 > epsilon$3) {
+ t0 = cornerTangents(x10, y10, x11, y11, r0, -rc0, cw);
+ t1 = cornerTangents(x01, y01, x00, y00, r0, -rc0, cw);
+
+ context.lineTo(t0.cx + t0.x01, t0.cy + t0.y01);
+
+ // Have the corners merged?
+ if (rc0 < rc) context.arc(t0.cx, t0.cy, rc0, atan2$1(t0.y01, t0.x01), atan2$1(t1.y01, t1.x01), !cw);
+
+ // Otherwise, draw the two corners and the ring.
+ else {
+ context.arc(t0.cx, t0.cy, rc0, atan2$1(t0.y01, t0.x01), atan2$1(t0.y11, t0.x11), !cw);
+ context.arc(0, 0, r0, atan2$1(t0.cy + t0.y11, t0.cx + t0.x11), atan2$1(t1.cy + t1.y11, t1.cx + t1.x11), cw);
+ context.arc(t1.cx, t1.cy, rc0, atan2$1(t1.y11, t1.x11), atan2$1(t1.y01, t1.x01), !cw);
+ }
+ }
+
+ // Or is the inner ring just a circular arc?
+ else context.arc(0, 0, r0, a10, a00, cw);
+ }
+
+ context.closePath();
+
+ if (buffer) return context = null, buffer + "" || null;
+ }
+
+ arc.centroid = function() {
+ var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2,
+ a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - pi$4 / 2;
+ return [cos$2(a) * r, sin$2(a) * r];
+ };
+
+ arc.innerRadius = function(_) {
+ return arguments.length ? (innerRadius = typeof _ === "function" ? _ : constant$10(+_), arc) : innerRadius;
+ };
+
+ arc.outerRadius = function(_) {
+ return arguments.length ? (outerRadius = typeof _ === "function" ? _ : constant$10(+_), arc) : outerRadius;
+ };
+
+ arc.cornerRadius = function(_) {
+ return arguments.length ? (cornerRadius = typeof _ === "function" ? _ : constant$10(+_), arc) : cornerRadius;
+ };
+
+ arc.padRadius = function(_) {
+ return arguments.length ? (padRadius = _ == null ? null : typeof _ === "function" ? _ : constant$10(+_), arc) : padRadius;
+ };
+
+ arc.startAngle = function(_) {
+ return arguments.length ? (startAngle = typeof _ === "function" ? _ : constant$10(+_), arc) : startAngle;
+ };
+
+ arc.endAngle = function(_) {
+ return arguments.length ? (endAngle = typeof _ === "function" ? _ : constant$10(+_), arc) : endAngle;
+ };
+
+ arc.padAngle = function(_) {
+ return arguments.length ? (padAngle = typeof _ === "function" ? _ : constant$10(+_), arc) : padAngle;
+ };
+
+ arc.context = function(_) {
+ return arguments.length ? ((context = _ == null ? null : _), arc) : context;
+ };
+
+ return arc;
+};
+
+function Linear(context) {
+ this._context = context;
+}
+
+Linear.prototype = {
+ areaStart: function() {
+ this._line = 0;
+ },
+ areaEnd: function() {
+ this._line = NaN;
+ },
+ lineStart: function() {
+ this._point = 0;
+ },
+ lineEnd: function() {
+ if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();
+ this._line = 1 - this._line;
+ },
+ point: function(x, y) {
+ x = +x, y = +y;
+ switch (this._point) {
+ case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;
+ case 1: this._point = 2; // proceed
+ default: this._context.lineTo(x, y); break;
+ }
+ }
+};
+
+var curveLinear = function(context) {
+ return new Linear(context);
+};
+
+function x$3(p) {
+ return p[0];
+}
+
+function y$3(p) {
+ return p[1];
+}
+
+var line = function() {
+ var x$$1 = x$3,
+ y$$1 = y$3,
+ defined = constant$10(true),
+ context = null,
+ curve = curveLinear,
+ output = null;
+
+ function line(data) {
+ var i,
+ n = data.length,
+ d,
+ defined0 = false,
+ buffer;
+
+ if (context == null) output = curve(buffer = path());
+
+ for (i = 0; i <= n; ++i) {
+ if (!(i < n && defined(d = data[i], i, data)) === defined0) {
+ if (defined0 = !defined0) output.lineStart();
+ else output.lineEnd();
+ }
+ if (defined0) output.point(+x$$1(d, i, data), +y$$1(d, i, data));
+ }
+
+ if (buffer) return output = null, buffer + "" || null;
+ }
+
+ line.x = function(_) {
+ return arguments.length ? (x$$1 = typeof _ === "function" ? _ : constant$10(+_), line) : x$$1;
+ };
+
+ line.y = function(_) {
+ return arguments.length ? (y$$1 = typeof _ === "function" ? _ : constant$10(+_), line) : y$$1;
+ };
+
+ line.defined = function(_) {
+ return arguments.length ? (defined = typeof _ === "function" ? _ : constant$10(!!_), line) : defined;
+ };
+
+ line.curve = function(_) {
+ return arguments.length ? (curve = _, context != null && (output = curve(context)), line) : curve;
+ };
+
+ line.context = function(_) {
+ return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), line) : context;
+ };
+
+ return line;
+};
+
+var area$2 = function() {
+ var x0 = x$3,
+ x1 = null,
+ y0 = constant$10(0),
+ y1 = y$3,
+ defined = constant$10(true),
+ context = null,
+ curve = curveLinear,
+ output = null;
+
+ function area(data) {
+ var i,
+ j,
+ k,
+ n = data.length,
+ d,
+ defined0 = false,
+ buffer,
+ x0z = new Array(n),
+ y0z = new Array(n);
+
+ if (context == null) output = curve(buffer = path());
+
+ for (i = 0; i <= n; ++i) {
+ if (!(i < n && defined(d = data[i], i, data)) === defined0) {
+ if (defined0 = !defined0) {
+ j = i;
+ output.areaStart();
+ output.lineStart();
+ } else {
+ output.lineEnd();
+ output.lineStart();
+ for (k = i - 1; k >= j; --k) {
+ output.point(x0z[k], y0z[k]);
+ }
+ output.lineEnd();
+ output.areaEnd();
+ }
+ }
+ if (defined0) {
+ x0z[i] = +x0(d, i, data), y0z[i] = +y0(d, i, data);
+ output.point(x1 ? +x1(d, i, data) : x0z[i], y1 ? +y1(d, i, data) : y0z[i]);
+ }
+ }
+
+ if (buffer) return output = null, buffer + "" || null;
+ }
+
+ function arealine() {
+ return line().defined(defined).curve(curve).context(context);
+ }
+
+ area.x = function(_) {
+ return arguments.length ? (x0 = typeof _ === "function" ? _ : constant$10(+_), x1 = null, area) : x0;
+ };
+
+ area.x0 = function(_) {
+ return arguments.length ? (x0 = typeof _ === "function" ? _ : constant$10(+_), area) : x0;
+ };
+
+ area.x1 = function(_) {
+ return arguments.length ? (x1 = _ == null ? null : typeof _ === "function" ? _ : constant$10(+_), area) : x1;
+ };
+
+ area.y = function(_) {
+ return arguments.length ? (y0 = typeof _ === "function" ? _ : constant$10(+_), y1 = null, area) : y0;
+ };
+
+ area.y0 = function(_) {
+ return arguments.length ? (y0 = typeof _ === "function" ? _ : constant$10(+_), area) : y0;
+ };
+
+ area.y1 = function(_) {
+ return arguments.length ? (y1 = _ == null ? null : typeof _ === "function" ? _ : constant$10(+_), area) : y1;
+ };
+
+ area.lineX0 =
+ area.lineY0 = function() {
+ return arealine().x(x0).y(y0);
+ };
+
+ area.lineY1 = function() {
+ return arealine().x(x0).y(y1);
+ };
+
+ area.lineX1 = function() {
+ return arealine().x(x1).y(y0);
+ };
+
+ area.defined = function(_) {
+ return arguments.length ? (defined = typeof _ === "function" ? _ : constant$10(!!_), area) : defined;
+ };
+
+ area.curve = function(_) {
+ return arguments.length ? (curve = _, context != null && (output = curve(context)), area) : curve;
+ };
+
+ area.context = function(_) {
+ return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), area) : context;
+ };
+
+ return area;
+};
+
+var descending$1 = function(a, b) {
+ return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;
+};
+
+var identity$7 = function(d) {
+ return d;
+};
+
+var pie = function() {
+ var value = identity$7,
+ sortValues = descending$1,
+ sort = null,
+ startAngle = constant$10(0),
+ endAngle = constant$10(tau$4),
+ padAngle = constant$10(0);
+
+ function pie(data) {
+ var i,
+ n = data.length,
+ j,
+ k,
+ sum = 0,
+ index = new Array(n),
+ arcs = new Array(n),
+ a0 = +startAngle.apply(this, arguments),
+ da = Math.min(tau$4, Math.max(-tau$4, endAngle.apply(this, arguments) - a0)),
+ a1,
+ p = Math.min(Math.abs(da) / n, padAngle.apply(this, arguments)),
+ pa = p * (da < 0 ? -1 : 1),
+ v;
+
+ for (i = 0; i < n; ++i) {
+ if ((v = arcs[index[i] = i] = +value(data[i], i, data)) > 0) {
+ sum += v;
+ }
+ }
+
+ // Optionally sort the arcs by previously-computed values or by data.
+ if (sortValues != null) index.sort(function(i, j) { return sortValues(arcs[i], arcs[j]); });
+ else if (sort != null) index.sort(function(i, j) { return sort(data[i], data[j]); });
+
+ // Compute the arcs! They are stored in the original data's order.
+ for (i = 0, k = sum ? (da - n * pa) / sum : 0; i < n; ++i, a0 = a1) {
+ j = index[i], v = arcs[j], a1 = a0 + (v > 0 ? v * k : 0) + pa, arcs[j] = {
+ data: data[j],
+ index: i,
+ value: v,
+ startAngle: a0,
+ endAngle: a1,
+ padAngle: p
+ };
+ }
+
+ return arcs;
+ }
+
+ pie.value = function(_) {
+ return arguments.length ? (value = typeof _ === "function" ? _ : constant$10(+_), pie) : value;
+ };
+
+ pie.sortValues = function(_) {
+ return arguments.length ? (sortValues = _, sort = null, pie) : sortValues;
+ };
+
+ pie.sort = function(_) {
+ return arguments.length ? (sort = _, sortValues = null, pie) : sort;
+ };
+
+ pie.startAngle = function(_) {
+ return arguments.length ? (startAngle = typeof _ === "function" ? _ : constant$10(+_), pie) : startAngle;
+ };
+
+ pie.endAngle = function(_) {
+ return arguments.length ? (endAngle = typeof _ === "function" ? _ : constant$10(+_), pie) : endAngle;
+ };
+
+ pie.padAngle = function(_) {
+ return arguments.length ? (padAngle = typeof _ === "function" ? _ : constant$10(+_), pie) : padAngle;
+ };
+
+ return pie;
+};
+
+var curveRadialLinear = curveRadial(curveLinear);
+
+function Radial(curve) {
+ this._curve = curve;
+}
+
+Radial.prototype = {
+ areaStart: function() {
+ this._curve.areaStart();
+ },
+ areaEnd: function() {
+ this._curve.areaEnd();
+ },
+ lineStart: function() {
+ this._curve.lineStart();
+ },
+ lineEnd: function() {
+ this._curve.lineEnd();
+ },
+ point: function(a, r) {
+ this._curve.point(r * Math.sin(a), r * -Math.cos(a));
+ }
+};
+
+function curveRadial(curve) {
+
+ function radial(context) {
+ return new Radial(curve(context));
+ }
+
+ radial._curve = curve;
+
+ return radial;
+}
+
+function radialLine(l) {
+ var c = l.curve;
+
+ l.angle = l.x, delete l.x;
+ l.radius = l.y, delete l.y;
+
+ l.curve = function(_) {
+ return arguments.length ? c(curveRadial(_)) : c()._curve;
+ };
+
+ return l;
+}
+
+var radialLine$1 = function() {
+ return radialLine(line().curve(curveRadialLinear));
+};
+
+var radialArea = function() {
+ var a = area$2().curve(curveRadialLinear),
+ c = a.curve,
+ x0 = a.lineX0,
+ x1 = a.lineX1,
+ y0 = a.lineY0,
+ y1 = a.lineY1;
+
+ a.angle = a.x, delete a.x;
+ a.startAngle = a.x0, delete a.x0;
+ a.endAngle = a.x1, delete a.x1;
+ a.radius = a.y, delete a.y;
+ a.innerRadius = a.y0, delete a.y0;
+ a.outerRadius = a.y1, delete a.y1;
+ a.lineStartAngle = function() { return radialLine(x0()); }, delete a.lineX0;
+ a.lineEndAngle = function() { return radialLine(x1()); }, delete a.lineX1;
+ a.lineInnerRadius = function() { return radialLine(y0()); }, delete a.lineY0;
+ a.lineOuterRadius = function() { return radialLine(y1()); }, delete a.lineY1;
+
+ a.curve = function(_) {
+ return arguments.length ? c(curveRadial(_)) : c()._curve;
+ };
+
+ return a;
+};
+
+var circle$2 = {
+ draw: function(context, size) {
+ var r = Math.sqrt(size / pi$4);
+ context.moveTo(r, 0);
+ context.arc(0, 0, r, 0, tau$4);
+ }
+};
+
+var cross$2 = {
+ draw: function(context, size) {
+ var r = Math.sqrt(size / 5) / 2;
+ context.moveTo(-3 * r, -r);
+ context.lineTo(-r, -r);
+ context.lineTo(-r, -3 * r);
+ context.lineTo(r, -3 * r);
+ context.lineTo(r, -r);
+ context.lineTo(3 * r, -r);
+ context.lineTo(3 * r, r);
+ context.lineTo(r, r);
+ context.lineTo(r, 3 * r);
+ context.lineTo(-r, 3 * r);
+ context.lineTo(-r, r);
+ context.lineTo(-3 * r, r);
+ context.closePath();
+ }
+};
+
+var tan30 = Math.sqrt(1 / 3);
+var tan30_2 = tan30 * 2;
+
+var diamond = {
+ draw: function(context, size) {
+ var y = Math.sqrt(size / tan30_2),
+ x = y * tan30;
+ context.moveTo(0, -y);
+ context.lineTo(x, 0);
+ context.lineTo(0, y);
+ context.lineTo(-x, 0);
+ context.closePath();
+ }
+};
+
+var ka = 0.89081309152928522810;
+var kr = Math.sin(pi$4 / 10) / Math.sin(7 * pi$4 / 10);
+var kx = Math.sin(tau$4 / 10) * kr;
+var ky = -Math.cos(tau$4 / 10) * kr;
+
+var star = {
+ draw: function(context, size) {
+ var r = Math.sqrt(size * ka),
+ x = kx * r,
+ y = ky * r;
+ context.moveTo(0, -r);
+ context.lineTo(x, y);
+ for (var i = 1; i < 5; ++i) {
+ var a = tau$4 * i / 5,
+ c = Math.cos(a),
+ s = Math.sin(a);
+ context.lineTo(s * r, -c * r);
+ context.lineTo(c * x - s * y, s * x + c * y);
+ }
+ context.closePath();
+ }
+};
+
+var square = {
+ draw: function(context, size) {
+ var w = Math.sqrt(size),
+ x = -w / 2;
+ context.rect(x, x, w, w);
+ }
+};
+
+var sqrt3 = Math.sqrt(3);
+
+var triangle = {
+ draw: function(context, size) {
+ var y = -Math.sqrt(size / (sqrt3 * 3));
+ context.moveTo(0, y * 2);
+ context.lineTo(-sqrt3 * y, -y);
+ context.lineTo(sqrt3 * y, -y);
+ context.closePath();
+ }
+};
+
+var c = -0.5;
+var s = Math.sqrt(3) / 2;
+var k = 1 / Math.sqrt(12);
+var a = (k / 2 + 1) * 3;
+
+var wye = {
+ draw: function(context, size) {
+ var r = Math.sqrt(size / a),
+ x0 = r / 2,
+ y0 = r * k,
+ x1 = x0,
+ y1 = r * k + r,
+ x2 = -x1,
+ y2 = y1;
+ context.moveTo(x0, y0);
+ context.lineTo(x1, y1);
+ context.lineTo(x2, y2);
+ context.lineTo(c * x0 - s * y0, s * x0 + c * y0);
+ context.lineTo(c * x1 - s * y1, s * x1 + c * y1);
+ context.lineTo(c * x2 - s * y2, s * x2 + c * y2);
+ context.lineTo(c * x0 + s * y0, c * y0 - s * x0);
+ context.lineTo(c * x1 + s * y1, c * y1 - s * x1);
+ context.lineTo(c * x2 + s * y2, c * y2 - s * x2);
+ context.closePath();
+ }
+};
+
+var symbols = [
+ circle$2,
+ cross$2,
+ diamond,
+ square,
+ star,
+ triangle,
+ wye
+];
+
+var symbol = function() {
+ var type = constant$10(circle$2),
+ size = constant$10(64),
+ context = null;
+
+ function symbol() {
+ var buffer;
+ if (!context) context = buffer = path();
+ type.apply(this, arguments).draw(context, +size.apply(this, arguments));
+ if (buffer) return context = null, buffer + "" || null;
+ }
+
+ symbol.type = function(_) {
+ return arguments.length ? (type = typeof _ === "function" ? _ : constant$10(_), symbol) : type;
+ };
+
+ symbol.size = function(_) {
+ return arguments.length ? (size = typeof _ === "function" ? _ : constant$10(+_), symbol) : size;
+ };
+
+ symbol.context = function(_) {
+ return arguments.length ? (context = _ == null ? null : _, symbol) : context;
+ };
+
+ return symbol;
+};
+
+var noop$2 = function() {};
+
+function point$2(that, x, y) {
+ that._context.bezierCurveTo(
+ (2 * that._x0 + that._x1) / 3,
+ (2 * that._y0 + that._y1) / 3,
+ (that._x0 + 2 * that._x1) / 3,
+ (that._y0 + 2 * that._y1) / 3,
+ (that._x0 + 4 * that._x1 + x) / 6,
+ (that._y0 + 4 * that._y1 + y) / 6
+ );
+}
+
+function Basis(context) {
+ this._context = context;
+}
+
+Basis.prototype = {
+ areaStart: function() {
+ this._line = 0;
+ },
+ areaEnd: function() {
+ this._line = NaN;
+ },
+ lineStart: function() {
+ this._x0 = this._x1 =
+ this._y0 = this._y1 = NaN;
+ this._point = 0;
+ },
+ lineEnd: function() {
+ switch (this._point) {
+ case 3: point$2(this, this._x1, this._y1); // proceed
+ case 2: this._context.lineTo(this._x1, this._y1); break;
+ }
+ if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();
+ this._line = 1 - this._line;
+ },
+ point: function(x, y) {
+ x = +x, y = +y;
+ switch (this._point) {
+ case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;
+ case 1: this._point = 2; break;
+ case 2: this._point = 3; this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6); // proceed
+ default: point$2(this, x, y); break;
+ }
+ this._x0 = this._x1, this._x1 = x;
+ this._y0 = this._y1, this._y1 = y;
+ }
+};
+
+var basis$2 = function(context) {
+ return new Basis(context);
+};
+
+function BasisClosed(context) {
+ this._context = context;
+}
+
+BasisClosed.prototype = {
+ areaStart: noop$2,
+ areaEnd: noop$2,
+ lineStart: function() {
+ this._x0 = this._x1 = this._x2 = this._x3 = this._x4 =
+ this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = NaN;
+ this._point = 0;
+ },
+ lineEnd: function() {
+ switch (this._point) {
+ case 1: {
+ this._context.moveTo(this._x2, this._y2);
+ this._context.closePath();
+ break;
+ }
+ case 2: {
+ this._context.moveTo((this._x2 + 2 * this._x3) / 3, (this._y2 + 2 * this._y3) / 3);
+ this._context.lineTo((this._x3 + 2 * this._x2) / 3, (this._y3 + 2 * this._y2) / 3);
+ this._context.closePath();
+ break;
+ }
+ case 3: {
+ this.point(this._x2, this._y2);
+ this.point(this._x3, this._y3);
+ this.point(this._x4, this._y4);
+ break;
+ }
+ }
+ },
+ point: function(x, y) {
+ x = +x, y = +y;
+ switch (this._point) {
+ case 0: this._point = 1; this._x2 = x, this._y2 = y; break;
+ case 1: this._point = 2; this._x3 = x, this._y3 = y; break;
+ case 2: this._point = 3; this._x4 = x, this._y4 = y; this._context.moveTo((this._x0 + 4 * this._x1 + x) / 6, (this._y0 + 4 * this._y1 + y) / 6); break;
+ default: point$2(this, x, y); break;
+ }
+ this._x0 = this._x1, this._x1 = x;
+ this._y0 = this._y1, this._y1 = y;
+ }
+};
+
+var basisClosed$1 = function(context) {
+ return new BasisClosed(context);
+};
+
+function BasisOpen(context) {
+ this._context = context;
+}
+
+BasisOpen.prototype = {
+ areaStart: function() {
+ this._line = 0;
+ },
+ areaEnd: function() {
+ this._line = NaN;
+ },
+ lineStart: function() {
+ this._x0 = this._x1 =
+ this._y0 = this._y1 = NaN;
+ this._point = 0;
+ },
+ lineEnd: function() {
+ if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();
+ this._line = 1 - this._line;
+ },
+ point: function(x, y) {
+ x = +x, y = +y;
+ switch (this._point) {
+ case 0: this._point = 1; break;
+ case 1: this._point = 2; break;
+ case 2: this._point = 3; var x0 = (this._x0 + 4 * this._x1 + x) / 6, y0 = (this._y0 + 4 * this._y1 + y) / 6; this._line ? this._context.lineTo(x0, y0) : this._context.moveTo(x0, y0); break;
+ case 3: this._point = 4; // proceed
+ default: point$2(this, x, y); break;
+ }
+ this._x0 = this._x1, this._x1 = x;
+ this._y0 = this._y1, this._y1 = y;
+ }
+};
+
+var basisOpen = function(context) {
+ return new BasisOpen(context);
+};
+
+function Bundle(context, beta) {
+ this._basis = new Basis(context);
+ this._beta = beta;
+}
+
+Bundle.prototype = {
+ lineStart: function() {
+ this._x = [];
+ this._y = [];
+ this._basis.lineStart();
+ },
+ lineEnd: function() {
+ var x = this._x,
+ y = this._y,
+ j = x.length - 1;
+
+ if (j > 0) {
+ var x0 = x[0],
+ y0 = y[0],
+ dx = x[j] - x0,
+ dy = y[j] - y0,
+ i = -1,
+ t;
+
+ while (++i <= j) {
+ t = i / j;
+ this._basis.point(
+ this._beta * x[i] + (1 - this._beta) * (x0 + t * dx),
+ this._beta * y[i] + (1 - this._beta) * (y0 + t * dy)
+ );
+ }
+ }
+
+ this._x = this._y = null;
+ this._basis.lineEnd();
+ },
+ point: function(x, y) {
+ this._x.push(+x);
+ this._y.push(+y);
+ }
+};
+
+var bundle = ((function custom(beta) {
+
+ function bundle(context) {
+ return beta === 1 ? new Basis(context) : new Bundle(context, beta);
+ }
+
+ bundle.beta = function(beta) {
+ return custom(+beta);
+ };
+
+ return bundle;
+}))(0.85);
+
+function point$3(that, x, y) {
+ that._context.bezierCurveTo(
+ that._x1 + that._k * (that._x2 - that._x0),
+ that._y1 + that._k * (that._y2 - that._y0),
+ that._x2 + that._k * (that._x1 - x),
+ that._y2 + that._k * (that._y1 - y),
+ that._x2,
+ that._y2
+ );
+}
+
+function Cardinal(context, tension) {
+ this._context = context;
+ this._k = (1 - tension) / 6;
+}
+
+Cardinal.prototype = {
+ areaStart: function() {
+ this._line = 0;
+ },
+ areaEnd: function() {
+ this._line = NaN;
+ },
+ lineStart: function() {
+ this._x0 = this._x1 = this._x2 =
+ this._y0 = this._y1 = this._y2 = NaN;
+ this._point = 0;
+ },
+ lineEnd: function() {
+ switch (this._point) {
+ case 2: this._context.lineTo(this._x2, this._y2); break;
+ case 3: point$3(this, this._x1, this._y1); break;
+ }
+ if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();
+ this._line = 1 - this._line;
+ },
+ point: function(x, y) {
+ x = +x, y = +y;
+ switch (this._point) {
+ case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;
+ case 1: this._point = 2; this._x1 = x, this._y1 = y; break;
+ case 2: this._point = 3; // proceed
+ default: point$3(this, x, y); break;
+ }
+ this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;
+ this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;
+ }
+};
+
+var cardinal = ((function custom(tension) {
+
+ function cardinal(context) {
+ return new Cardinal(context, tension);
+ }
+
+ cardinal.tension = function(tension) {
+ return custom(+tension);
+ };
+
+ return cardinal;
+}))(0);
+
+function CardinalClosed(context, tension) {
+ this._context = context;
+ this._k = (1 - tension) / 6;
+}
+
+CardinalClosed.prototype = {
+ areaStart: noop$2,
+ areaEnd: noop$2,
+ lineStart: function() {
+ this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 =
+ this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN;
+ this._point = 0;
+ },
+ lineEnd: function() {
+ switch (this._point) {
+ case 1: {
+ this._context.moveTo(this._x3, this._y3);
+ this._context.closePath();
+ break;
+ }
+ case 2: {
+ this._context.lineTo(this._x3, this._y3);
+ this._context.closePath();
+ break;
+ }
+ case 3: {
+ this.point(this._x3, this._y3);
+ this.point(this._x4, this._y4);
+ this.point(this._x5, this._y5);
+ break;
+ }
+ }
+ },
+ point: function(x, y) {
+ x = +x, y = +y;
+ switch (this._point) {
+ case 0: this._point = 1; this._x3 = x, this._y3 = y; break;
+ case 1: this._point = 2; this._context.moveTo(this._x4 = x, this._y4 = y); break;
+ case 2: this._point = 3; this._x5 = x, this._y5 = y; break;
+ default: point$3(this, x, y); break;
+ }
+ this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;
+ this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;
+ }
+};
+
+var cardinalClosed = ((function custom(tension) {
+
+ function cardinal(context) {
+ return new CardinalClosed(context, tension);
+ }
+
+ cardinal.tension = function(tension) {
+ return custom(+tension);
+ };
+
+ return cardinal;
+}))(0);
+
+function CardinalOpen(context, tension) {
+ this._context = context;
+ this._k = (1 - tension) / 6;
+}
+
+CardinalOpen.prototype = {
+ areaStart: function() {
+ this._line = 0;
+ },
+ areaEnd: function() {
+ this._line = NaN;
+ },
+ lineStart: function() {
+ this._x0 = this._x1 = this._x2 =
+ this._y0 = this._y1 = this._y2 = NaN;
+ this._point = 0;
+ },
+ lineEnd: function() {
+ if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();
+ this._line = 1 - this._line;
+ },
+ point: function(x, y) {
+ x = +x, y = +y;
+ switch (this._point) {
+ case 0: this._point = 1; break;
+ case 1: this._point = 2; break;
+ case 2: this._point = 3; this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break;
+ case 3: this._point = 4; // proceed
+ default: point$3(this, x, y); break;
+ }
+ this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;
+ this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;
+ }
+};
+
+var cardinalOpen = ((function custom(tension) {
+
+ function cardinal(context) {
+ return new CardinalOpen(context, tension);
+ }
+
+ cardinal.tension = function(tension) {
+ return custom(+tension);
+ };
+
+ return cardinal;
+}))(0);
+
+function point$4(that, x, y) {
+ var x1 = that._x1,
+ y1 = that._y1,
+ x2 = that._x2,
+ y2 = that._y2;
+
+ if (that._l01_a > epsilon$3) {
+ var a = 2 * that._l01_2a + 3 * that._l01_a * that._l12_a + that._l12_2a,
+ n = 3 * that._l01_a * (that._l01_a + that._l12_a);
+ x1 = (x1 * a - that._x0 * that._l12_2a + that._x2 * that._l01_2a) / n;
+ y1 = (y1 * a - that._y0 * that._l12_2a + that._y2 * that._l01_2a) / n;
+ }
+
+ if (that._l23_a > epsilon$3) {
+ var b = 2 * that._l23_2a + 3 * that._l23_a * that._l12_a + that._l12_2a,
+ m = 3 * that._l23_a * (that._l23_a + that._l12_a);
+ x2 = (x2 * b + that._x1 * that._l23_2a - x * that._l12_2a) / m;
+ y2 = (y2 * b + that._y1 * that._l23_2a - y * that._l12_2a) / m;
+ }
+
+ that._context.bezierCurveTo(x1, y1, x2, y2, that._x2, that._y2);
+}
+
+function CatmullRom(context, alpha) {
+ this._context = context;
+ this._alpha = alpha;
+}
+
+CatmullRom.prototype = {
+ areaStart: function() {
+ this._line = 0;
+ },
+ areaEnd: function() {
+ this._line = NaN;
+ },
+ lineStart: function() {
+ this._x0 = this._x1 = this._x2 =
+ this._y0 = this._y1 = this._y2 = NaN;
+ this._l01_a = this._l12_a = this._l23_a =
+ this._l01_2a = this._l12_2a = this._l23_2a =
+ this._point = 0;
+ },
+ lineEnd: function() {
+ switch (this._point) {
+ case 2: this._context.lineTo(this._x2, this._y2); break;
+ case 3: this.point(this._x2, this._y2); break;
+ }
+ if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();
+ this._line = 1 - this._line;
+ },
+ point: function(x, y) {
+ x = +x, y = +y;
+
+ if (this._point) {
+ var x23 = this._x2 - x,
+ y23 = this._y2 - y;
+ this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));
+ }
+
+ switch (this._point) {
+ case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;
+ case 1: this._point = 2; break;
+ case 2: this._point = 3; // proceed
+ default: point$4(this, x, y); break;
+ }
+
+ this._l01_a = this._l12_a, this._l12_a = this._l23_a;
+ this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;
+ this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;
+ this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;
+ }
+};
+
+var catmullRom = ((function custom(alpha) {
+
+ function catmullRom(context) {
+ return alpha ? new CatmullRom(context, alpha) : new Cardinal(context, 0);
+ }
+
+ catmullRom.alpha = function(alpha) {
+ return custom(+alpha);
+ };
+
+ return catmullRom;
+}))(0.5);
+
+function CatmullRomClosed(context, alpha) {
+ this._context = context;
+ this._alpha = alpha;
+}
+
+CatmullRomClosed.prototype = {
+ areaStart: noop$2,
+ areaEnd: noop$2,
+ lineStart: function() {
+ this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 =
+ this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN;
+ this._l01_a = this._l12_a = this._l23_a =
+ this._l01_2a = this._l12_2a = this._l23_2a =
+ this._point = 0;
+ },
+ lineEnd: function() {
+ switch (this._point) {
+ case 1: {
+ this._context.moveTo(this._x3, this._y3);
+ this._context.closePath();
+ break;
+ }
+ case 2: {
+ this._context.lineTo(this._x3, this._y3);
+ this._context.closePath();
+ break;
+ }
+ case 3: {
+ this.point(this._x3, this._y3);
+ this.point(this._x4, this._y4);
+ this.point(this._x5, this._y5);
+ break;
+ }
+ }
+ },
+ point: function(x, y) {
+ x = +x, y = +y;
+
+ if (this._point) {
+ var x23 = this._x2 - x,
+ y23 = this._y2 - y;
+ this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));
+ }
+
+ switch (this._point) {
+ case 0: this._point = 1; this._x3 = x, this._y3 = y; break;
+ case 1: this._point = 2; this._context.moveTo(this._x4 = x, this._y4 = y); break;
+ case 2: this._point = 3; this._x5 = x, this._y5 = y; break;
+ default: point$4(this, x, y); break;
+ }
+
+ this._l01_a = this._l12_a, this._l12_a = this._l23_a;
+ this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;
+ this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;
+ this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;
+ }
+};
+
+var catmullRomClosed = ((function custom(alpha) {
+
+ function catmullRom(context) {
+ return alpha ? new CatmullRomClosed(context, alpha) : new CardinalClosed(context, 0);
+ }
+
+ catmullRom.alpha = function(alpha) {
+ return custom(+alpha);
+ };
+
+ return catmullRom;
+}))(0.5);
+
+function CatmullRomOpen(context, alpha) {
+ this._context = context;
+ this._alpha = alpha;
+}
+
+CatmullRomOpen.prototype = {
+ areaStart: function() {
+ this._line = 0;
+ },
+ areaEnd: function() {
+ this._line = NaN;
+ },
+ lineStart: function() {
+ this._x0 = this._x1 = this._x2 =
+ this._y0 = this._y1 = this._y2 = NaN;
+ this._l01_a = this._l12_a = this._l23_a =
+ this._l01_2a = this._l12_2a = this._l23_2a =
+ this._point = 0;
+ },
+ lineEnd: function() {
+ if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();
+ this._line = 1 - this._line;
+ },
+ point: function(x, y) {
+ x = +x, y = +y;
+
+ if (this._point) {
+ var x23 = this._x2 - x,
+ y23 = this._y2 - y;
+ this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));
+ }
+
+ switch (this._point) {
+ case 0: this._point = 1; break;
+ case 1: this._point = 2; break;
+ case 2: this._point = 3; this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break;
+ case 3: this._point = 4; // proceed
+ default: point$4(this, x, y); break;
+ }
+
+ this._l01_a = this._l12_a, this._l12_a = this._l23_a;
+ this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;
+ this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;
+ this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;
+ }
+};
+
+var catmullRomOpen = ((function custom(alpha) {
+
+ function catmullRom(context) {
+ return alpha ? new CatmullRomOpen(context, alpha) : new CardinalOpen(context, 0);
+ }
+
+ catmullRom.alpha = function(alpha) {
+ return custom(+alpha);
+ };
+
+ return catmullRom;
+}))(0.5);
+
+function LinearClosed(context) {
+ this._context = context;
+}
+
+LinearClosed.prototype = {
+ areaStart: noop$2,
+ areaEnd: noop$2,
+ lineStart: function() {
+ this._point = 0;
+ },
+ lineEnd: function() {
+ if (this._point) this._context.closePath();
+ },
+ point: function(x, y) {
+ x = +x, y = +y;
+ if (this._point) this._context.lineTo(x, y);
+ else this._point = 1, this._context.moveTo(x, y);
+ }
+};
+
+var linearClosed = function(context) {
+ return new LinearClosed(context);
+};
+
+function sign$1(x) {
+ return x < 0 ? -1 : 1;
+}
+
+// Calculate the slopes of the tangents (Hermite-type interpolation) based on
+// the following paper: Steffen, M. 1990. A Simple Method for Monotonic
+// Interpolation in One Dimension. Astronomy and Astrophysics, Vol. 239, NO.
+// NOV(II), P. 443, 1990.
+function slope3(that, x2, y2) {
+ var h0 = that._x1 - that._x0,
+ h1 = x2 - that._x1,
+ s0 = (that._y1 - that._y0) / (h0 || h1 < 0 && -0),
+ s1 = (y2 - that._y1) / (h1 || h0 < 0 && -0),
+ p = (s0 * h1 + s1 * h0) / (h0 + h1);
+ return (sign$1(s0) + sign$1(s1)) * Math.min(Math.abs(s0), Math.abs(s1), 0.5 * Math.abs(p)) || 0;
+}
+
+// Calculate a one-sided slope.
+function slope2(that, t) {
+ var h = that._x1 - that._x0;
+ return h ? (3 * (that._y1 - that._y0) / h - t) / 2 : t;
+}
+
+// According to https://en.wikipedia.org/wiki/Cubic_Hermite_spline#Representations
+// "you can express cubic Hermite interpolation in terms of cubic Bézier curves
+// with respect to the four values p0, p0 + m0 / 3, p1 - m1 / 3, p1".
+function point$5(that, t0, t1) {
+ var x0 = that._x0,
+ y0 = that._y0,
+ x1 = that._x1,
+ y1 = that._y1,
+ dx = (x1 - x0) / 3;
+ that._context.bezierCurveTo(x0 + dx, y0 + dx * t0, x1 - dx, y1 - dx * t1, x1, y1);
+}
+
+function MonotoneX(context) {
+ this._context = context;
+}
+
+MonotoneX.prototype = {
+ areaStart: function() {
+ this._line = 0;
+ },
+ areaEnd: function() {
+ this._line = NaN;
+ },
+ lineStart: function() {
+ this._x0 = this._x1 =
+ this._y0 = this._y1 =
+ this._t0 = NaN;
+ this._point = 0;
+ },
+ lineEnd: function() {
+ switch (this._point) {
+ case 2: this._context.lineTo(this._x1, this._y1); break;
+ case 3: point$5(this, this._t0, slope2(this, this._t0)); break;
+ }
+ if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();
+ this._line = 1 - this._line;
+ },
+ point: function(x, y) {
+ var t1 = NaN;
+
+ x = +x, y = +y;
+ if (x === this._x1 && y === this._y1) return; // Ignore coincident points.
+ switch (this._point) {
+ case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;
+ case 1: this._point = 2; break;
+ case 2: this._point = 3; point$5(this, slope2(this, t1 = slope3(this, x, y)), t1); break;
+ default: point$5(this, this._t0, t1 = slope3(this, x, y)); break;
+ }
+
+ this._x0 = this._x1, this._x1 = x;
+ this._y0 = this._y1, this._y1 = y;
+ this._t0 = t1;
+ }
+};
+
+function MonotoneY(context) {
+ this._context = new ReflectContext(context);
+}
+
+(MonotoneY.prototype = Object.create(MonotoneX.prototype)).point = function(x, y) {
+ MonotoneX.prototype.point.call(this, y, x);
+};
+
+function ReflectContext(context) {
+ this._context = context;
+}
+
+ReflectContext.prototype = {
+ moveTo: function(x, y) { this._context.moveTo(y, x); },
+ closePath: function() { this._context.closePath(); },
+ lineTo: function(x, y) { this._context.lineTo(y, x); },
+ bezierCurveTo: function(x1, y1, x2, y2, x, y) { this._context.bezierCurveTo(y1, x1, y2, x2, y, x); }
+};
+
+function monotoneX(context) {
+ return new MonotoneX(context);
+}
+
+function monotoneY(context) {
+ return new MonotoneY(context);
+}
+
+function Natural(context) {
+ this._context = context;
+}
+
+Natural.prototype = {
+ areaStart: function() {
+ this._line = 0;
+ },
+ areaEnd: function() {
+ this._line = NaN;
+ },
+ lineStart: function() {
+ this._x = [];
+ this._y = [];
+ },
+ lineEnd: function() {
+ var x = this._x,
+ y = this._y,
+ n = x.length;
+
+ if (n) {
+ this._line ? this._context.lineTo(x[0], y[0]) : this._context.moveTo(x[0], y[0]);
+ if (n === 2) {
+ this._context.lineTo(x[1], y[1]);
+ } else {
+ var px = controlPoints(x),
+ py = controlPoints(y);
+ for (var i0 = 0, i1 = 1; i1 < n; ++i0, ++i1) {
+ this._context.bezierCurveTo(px[0][i0], py[0][i0], px[1][i0], py[1][i0], x[i1], y[i1]);
+ }
+ }
+ }
+
+ if (this._line || (this._line !== 0 && n === 1)) this._context.closePath();
+ this._line = 1 - this._line;
+ this._x = this._y = null;
+ },
+ point: function(x, y) {
+ this._x.push(+x);
+ this._y.push(+y);
+ }
+};
+
+// See https://www.particleincell.com/2012/bezier-splines/ for derivation.
+function controlPoints(x) {
+ var i,
+ n = x.length - 1,
+ m,
+ a = new Array(n),
+ b = new Array(n),
+ r = new Array(n);
+ a[0] = 0, b[0] = 2, r[0] = x[0] + 2 * x[1];
+ for (i = 1; i < n - 1; ++i) a[i] = 1, b[i] = 4, r[i] = 4 * x[i] + 2 * x[i + 1];
+ a[n - 1] = 2, b[n - 1] = 7, r[n - 1] = 8 * x[n - 1] + x[n];
+ for (i = 1; i < n; ++i) m = a[i] / b[i - 1], b[i] -= m, r[i] -= m * r[i - 1];
+ a[n - 1] = r[n - 1] / b[n - 1];
+ for (i = n - 2; i >= 0; --i) a[i] = (r[i] - a[i + 1]) / b[i];
+ b[n - 1] = (x[n] + a[n - 1]) / 2;
+ for (i = 0; i < n - 1; ++i) b[i] = 2 * x[i + 1] - a[i + 1];
+ return [a, b];
+}
+
+var natural = function(context) {
+ return new Natural(context);
+};
+
+function Step(context, t) {
+ this._context = context;
+ this._t = t;
+}
+
+Step.prototype = {
+ areaStart: function() {
+ this._line = 0;
+ },
+ areaEnd: function() {
+ this._line = NaN;
+ },
+ lineStart: function() {
+ this._x = this._y = NaN;
+ this._point = 0;
+ },
+ lineEnd: function() {
+ if (0 < this._t && this._t < 1 && this._point === 2) this._context.lineTo(this._x, this._y);
+ if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();
+ if (this._line >= 0) this._t = 1 - this._t, this._line = 1 - this._line;
+ },
+ point: function(x, y) {
+ x = +x, y = +y;
+ switch (this._point) {
+ case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;
+ case 1: this._point = 2; // proceed
+ default: {
+ if (this._t <= 0) {
+ this._context.lineTo(this._x, y);
+ this._context.lineTo(x, y);
+ } else {
+ var x1 = this._x * (1 - this._t) + x * this._t;
+ this._context.lineTo(x1, this._y);
+ this._context.lineTo(x1, y);
+ }
+ break;
+ }
+ }
+ this._x = x, this._y = y;
+ }
+};
+
+var step = function(context) {
+ return new Step(context, 0.5);
+};
+
+function stepBefore(context) {
+ return new Step(context, 0);
+}
+
+function stepAfter(context) {
+ return new Step(context, 1);
+}
+
+var slice$5 = Array.prototype.slice;
+
+var none$1 = function(series, order) {
+ if (!((n = series.length) > 1)) return;
+ for (var i = 1, s0, s1 = series[order[0]], n, m = s1.length; i < n; ++i) {
+ s0 = s1, s1 = series[order[i]];
+ for (var j = 0; j < m; ++j) {
+ s1[j][1] += s1[j][0] = isNaN(s0[j][1]) ? s0[j][0] : s0[j][1];
+ }
+ }
+};
+
+var none$2 = function(series) {
+ var n = series.length, o = new Array(n);
+ while (--n >= 0) o[n] = n;
+ return o;
+};
+
+function stackValue(d, key) {
+ return d[key];
+}
+
+var stack = function() {
+ var keys = constant$10([]),
+ order = none$2,
+ offset = none$1,
+ value = stackValue;
+
+ function stack(data) {
+ var kz = keys.apply(this, arguments),
+ i,
+ m = data.length,
+ n = kz.length,
+ sz = new Array(n),
+ oz;
+
+ for (i = 0; i < n; ++i) {
+ for (var ki = kz[i], si = sz[i] = new Array(m), j = 0, sij; j < m; ++j) {
+ si[j] = sij = [0, +value(data[j], ki, j, data)];
+ sij.data = data[j];
+ }
+ si.key = ki;
+ }
+
+ for (i = 0, oz = order(sz); i < n; ++i) {
+ sz[oz[i]].index = i;
+ }
+
+ offset(sz, oz);
+ return sz;
+ }
+
+ stack.keys = function(_) {
+ return arguments.length ? (keys = typeof _ === "function" ? _ : constant$10(slice$5.call(_)), stack) : keys;
+ };
+
+ stack.value = function(_) {
+ return arguments.length ? (value = typeof _ === "function" ? _ : constant$10(+_), stack) : value;
+ };
+
+ stack.order = function(_) {
+ return arguments.length ? (order = _ == null ? none$2 : typeof _ === "function" ? _ : constant$10(slice$5.call(_)), stack) : order;
+ };
+
+ stack.offset = function(_) {
+ return arguments.length ? (offset = _ == null ? none$1 : _, stack) : offset;
+ };
+
+ return stack;
+};
+
+var expand = function(series, order) {
+ if (!((n = series.length) > 0)) return;
+ for (var i, n, j = 0, m = series[0].length, y; j < m; ++j) {
+ for (y = i = 0; i < n; ++i) y += series[i][j][1] || 0;
+ if (y) for (i = 0; i < n; ++i) series[i][j][1] /= y;
+ }
+ none$1(series, order);
+};
+
+var silhouette = function(series, order) {
+ if (!((n = series.length) > 0)) return;
+ for (var j = 0, s0 = series[order[0]], n, m = s0.length; j < m; ++j) {
+ for (var i = 0, y = 0; i < n; ++i) y += series[i][j][1] || 0;
+ s0[j][1] += s0[j][0] = -y / 2;
+ }
+ none$1(series, order);
+};
+
+var wiggle = function(series, order) {
+ if (!((n = series.length) > 0) || !((m = (s0 = series[order[0]]).length) > 0)) return;
+ for (var y = 0, j = 1, s0, m, n; j < m; ++j) {
+ for (var i = 0, s1 = 0, s2 = 0; i < n; ++i) {
+ var si = series[order[i]],
+ sij0 = si[j][1] || 0,
+ sij1 = si[j - 1][1] || 0,
+ s3 = (sij0 - sij1) / 2;
+ for (var k = 0; k < i; ++k) {
+ var sk = series[order[k]],
+ skj0 = sk[j][1] || 0,
+ skj1 = sk[j - 1][1] || 0;
+ s3 += skj0 - skj1;
+ }
+ s1 += sij0, s2 += s3 * sij0;
+ }
+ s0[j - 1][1] += s0[j - 1][0] = y;
+ if (s1) y -= s2 / s1;
+ }
+ s0[j - 1][1] += s0[j - 1][0] = y;
+ none$1(series, order);
+};
+
+var ascending$2 = function(series) {
+ var sums = series.map(sum$2);
+ return none$2(series).sort(function(a, b) { return sums[a] - sums[b]; });
+};
+
+function sum$2(series) {
+ var s = 0, i = -1, n = series.length, v;
+ while (++i < n) if (v = +series[i][1]) s += v;
+ return s;
+}
+
+var descending$2 = function(series) {
+ return ascending$2(series).reverse();
+};
+
+var insideOut = function(series) {
+ var n = series.length,
+ i,
+ j,
+ sums = series.map(sum$2),
+ order = none$2(series).sort(function(a, b) { return sums[b] - sums[a]; }),
+ top = 0,
+ bottom = 0,
+ tops = [],
+ bottoms = [];
+
+ for (i = 0; i < n; ++i) {
+ j = order[i];
+ if (top < bottom) {
+ top += sums[j];
+ tops.push(j);
+ } else {
+ bottom += sums[j];
+ bottoms.push(j);
+ }
+ }
+
+ return bottoms.reverse().concat(tops);
+};
+
+var reverse = function(series) {
+ return none$2(series).reverse();
+};
+
+var constant$11 = function(x) {
+ return function() {
+ return x;
+ };
+};
+
+function x$4(d) {
+ return d[0];
+}
+
+function y$4(d) {
+ return d[1];
+}
+
+function RedBlackTree() {
+ this._ = null; // root node
+}
+
+function RedBlackNode(node) {
+ node.U = // parent node
+ node.C = // color - true for red, false for black
+ node.L = // left node
+ node.R = // right node
+ node.P = // previous node
+ node.N = null; // next node
+}
+
+RedBlackTree.prototype = {
+ constructor: RedBlackTree,
+
+ insert: function(after, node) {
+ var parent, grandpa, uncle;
+
+ if (after) {
+ node.P = after;
+ node.N = after.N;
+ if (after.N) after.N.P = node;
+ after.N = node;
+ if (after.R) {
+ after = after.R;
+ while (after.L) after = after.L;
+ after.L = node;
+ } else {
+ after.R = node;
+ }
+ parent = after;
+ } else if (this._) {
+ after = RedBlackFirst(this._);
+ node.P = null;
+ node.N = after;
+ after.P = after.L = node;
+ parent = after;
+ } else {
+ node.P = node.N = null;
+ this._ = node;
+ parent = null;
+ }
+ node.L = node.R = null;
+ node.U = parent;
+ node.C = true;
+
+ after = node;
+ while (parent && parent.C) {
+ grandpa = parent.U;
+ if (parent === grandpa.L) {
+ uncle = grandpa.R;
+ if (uncle && uncle.C) {
+ parent.C = uncle.C = false;
+ grandpa.C = true;
+ after = grandpa;
+ } else {
+ if (after === parent.R) {
+ RedBlackRotateLeft(this, parent);
+ after = parent;
+ parent = after.U;
+ }
+ parent.C = false;
+ grandpa.C = true;
+ RedBlackRotateRight(this, grandpa);
+ }
+ } else {
+ uncle = grandpa.L;
+ if (uncle && uncle.C) {
+ parent.C = uncle.C = false;
+ grandpa.C = true;
+ after = grandpa;
+ } else {
+ if (after === parent.L) {
+ RedBlackRotateRight(this, parent);
+ after = parent;
+ parent = after.U;
+ }
+ parent.C = false;
+ grandpa.C = true;
+ RedBlackRotateLeft(this, grandpa);
+ }
+ }
+ parent = after.U;
+ }
+ this._.C = false;
+ },
+
+ remove: function(node) {
+ if (node.N) node.N.P = node.P;
+ if (node.P) node.P.N = node.N;
+ node.N = node.P = null;
+
+ var parent = node.U,
+ sibling,
+ left = node.L,
+ right = node.R,
+ next,
+ red;
+
+ if (!left) next = right;
+ else if (!right) next = left;
+ else next = RedBlackFirst(right);
+
+ if (parent) {
+ if (parent.L === node) parent.L = next;
+ else parent.R = next;
+ } else {
+ this._ = next;
+ }
+
+ if (left && right) {
+ red = next.C;
+ next.C = node.C;
+ next.L = left;
+ left.U = next;
+ if (next !== right) {
+ parent = next.U;
+ next.U = node.U;
+ node = next.R;
+ parent.L = node;
+ next.R = right;
+ right.U = next;
+ } else {
+ next.U = parent;
+ parent = next;
+ node = next.R;
+ }
+ } else {
+ red = node.C;
+ node = next;
+ }
+
+ if (node) node.U = parent;
+ if (red) return;
+ if (node && node.C) { node.C = false; return; }
+
+ do {
+ if (node === this._) break;
+ if (node === parent.L) {
+ sibling = parent.R;
+ if (sibling.C) {
+ sibling.C = false;
+ parent.C = true;
+ RedBlackRotateLeft(this, parent);
+ sibling = parent.R;
+ }
+ if ((sibling.L && sibling.L.C)
+ || (sibling.R && sibling.R.C)) {
+ if (!sibling.R || !sibling.R.C) {
+ sibling.L.C = false;
+ sibling.C = true;
+ RedBlackRotateRight(this, sibling);
+ sibling = parent.R;
+ }
+ sibling.C = parent.C;
+ parent.C = sibling.R.C = false;
+ RedBlackRotateLeft(this, parent);
+ node = this._;
+ break;
+ }
+ } else {
+ sibling = parent.L;
+ if (sibling.C) {
+ sibling.C = false;
+ parent.C = true;
+ RedBlackRotateRight(this, parent);
+ sibling = parent.L;
+ }
+ if ((sibling.L && sibling.L.C)
+ || (sibling.R && sibling.R.C)) {
+ if (!sibling.L || !sibling.L.C) {
+ sibling.R.C = false;
+ sibling.C = true;
+ RedBlackRotateLeft(this, sibling);
+ sibling = parent.L;
+ }
+ sibling.C = parent.C;
+ parent.C = sibling.L.C = false;
+ RedBlackRotateRight(this, parent);
+ node = this._;
+ break;
+ }
+ }
+ sibling.C = true;
+ node = parent;
+ parent = parent.U;
+ } while (!node.C);
+
+ if (node) node.C = false;
+ }
+};
+
+function RedBlackRotateLeft(tree, node) {
+ var p = node,
+ q = node.R,
+ parent = p.U;
+
+ if (parent) {
+ if (parent.L === p) parent.L = q;
+ else parent.R = q;
+ } else {
+ tree._ = q;
+ }
+
+ q.U = parent;
+ p.U = q;
+ p.R = q.L;
+ if (p.R) p.R.U = p;
+ q.L = p;
+}
+
+function RedBlackRotateRight(tree, node) {
+ var p = node,
+ q = node.L,
+ parent = p.U;
+
+ if (parent) {
+ if (parent.L === p) parent.L = q;
+ else parent.R = q;
+ } else {
+ tree._ = q;
+ }
+
+ q.U = parent;
+ p.U = q;
+ p.L = q.R;
+ if (p.L) p.L.U = p;
+ q.R = p;
+}
+
+function RedBlackFirst(node) {
+ while (node.L) node = node.L;
+ return node;
+}
+
+function createEdge(left, right, v0, v1) {
+ var edge = [null, null],
+ index = edges.push(edge) - 1;
+ edge.left = left;
+ edge.right = right;
+ if (v0) setEdgeEnd(edge, left, right, v0);
+ if (v1) setEdgeEnd(edge, right, left, v1);
+ cells[left.index].halfedges.push(index);
+ cells[right.index].halfedges.push(index);
+ return edge;
+}
+
+function createBorderEdge(left, v0, v1) {
+ var edge = [v0, v1];
+ edge.left = left;
+ return edge;
+}
+
+function setEdgeEnd(edge, left, right, vertex) {
+ if (!edge[0] && !edge[1]) {
+ edge[0] = vertex;
+ edge.left = left;
+ edge.right = right;
+ } else if (edge.left === right) {
+ edge[1] = vertex;
+ } else {
+ edge[0] = vertex;
+ }
+}
+
+// Liang–Barsky line clipping.
+function clipEdge(edge, x0, y0, x1, y1) {
+ var a = edge[0],
+ b = edge[1],
+ ax = a[0],
+ ay = a[1],
+ bx = b[0],
+ by = b[1],
+ t0 = 0,
+ t1 = 1,
+ dx = bx - ax,
+ dy = by - ay,
+ r;
+
+ r = x0 - ax;
+ if (!dx && r > 0) return;
+ r /= dx;
+ if (dx < 0) {
+ if (r < t0) return;
+ if (r < t1) t1 = r;
+ } else if (dx > 0) {
+ if (r > t1) return;
+ if (r > t0) t0 = r;
+ }
+
+ r = x1 - ax;
+ if (!dx && r < 0) return;
+ r /= dx;
+ if (dx < 0) {
+ if (r > t1) return;
+ if (r > t0) t0 = r;
+ } else if (dx > 0) {
+ if (r < t0) return;
+ if (r < t1) t1 = r;
+ }
+
+ r = y0 - ay;
+ if (!dy && r > 0) return;
+ r /= dy;
+ if (dy < 0) {
+ if (r < t0) return;
+ if (r < t1) t1 = r;
+ } else if (dy > 0) {
+ if (r > t1) return;
+ if (r > t0) t0 = r;
+ }
+
+ r = y1 - ay;
+ if (!dy && r < 0) return;
+ r /= dy;
+ if (dy < 0) {
+ if (r > t1) return;
+ if (r > t0) t0 = r;
+ } else if (dy > 0) {
+ if (r < t0) return;
+ if (r < t1) t1 = r;
+ }
+
+ if (!(t0 > 0) && !(t1 < 1)) return true; // TODO Better check?
+
+ if (t0 > 0) edge[0] = [ax + t0 * dx, ay + t0 * dy];
+ if (t1 < 1) edge[1] = [ax + t1 * dx, ay + t1 * dy];
+ return true;
+}
+
+function connectEdge(edge, x0, y0, x1, y1) {
+ var v1 = edge[1];
+ if (v1) return true;
+
+ var v0 = edge[0],
+ left = edge.left,
+ right = edge.right,
+ lx = left[0],
+ ly = left[1],
+ rx = right[0],
+ ry = right[1],
+ fx = (lx + rx) / 2,
+ fy = (ly + ry) / 2,
+ fm,
+ fb;
+
+ if (ry === ly) {
+ if (fx < x0 || fx >= x1) return;
+ if (lx > rx) {
+ if (!v0) v0 = [fx, y0];
+ else if (v0[1] >= y1) return;
+ v1 = [fx, y1];
+ } else {
+ if (!v0) v0 = [fx, y1];
+ else if (v0[1] < y0) return;
+ v1 = [fx, y0];
+ }
+ } else {
+ fm = (lx - rx) / (ry - ly);
+ fb = fy - fm * fx;
+ if (fm < -1 || fm > 1) {
+ if (lx > rx) {
+ if (!v0) v0 = [(y0 - fb) / fm, y0];
+ else if (v0[1] >= y1) return;
+ v1 = [(y1 - fb) / fm, y1];
+ } else {
+ if (!v0) v0 = [(y1 - fb) / fm, y1];
+ else if (v0[1] < y0) return;
+ v1 = [(y0 - fb) / fm, y0];
+ }
+ } else {
+ if (ly < ry) {
+ if (!v0) v0 = [x0, fm * x0 + fb];
+ else if (v0[0] >= x1) return;
+ v1 = [x1, fm * x1 + fb];
+ } else {
+ if (!v0) v0 = [x1, fm * x1 + fb];
+ else if (v0[0] < x0) return;
+ v1 = [x0, fm * x0 + fb];
+ }
+ }
+ }
+
+ edge[0] = v0;
+ edge[1] = v1;
+ return true;
+}
+
+function clipEdges(x0, y0, x1, y1) {
+ var i = edges.length,
+ edge;
+
+ while (i--) {
+ if (!connectEdge(edge = edges[i], x0, y0, x1, y1)
+ || !clipEdge(edge, x0, y0, x1, y1)
+ || !(Math.abs(edge[0][0] - edge[1][0]) > epsilon$4
+ || Math.abs(edge[0][1] - edge[1][1]) > epsilon$4)) {
+ delete edges[i];
+ }
+ }
+}
+
+function createCell(site) {
+ return cells[site.index] = {
+ site: site,
+ halfedges: []
+ };
+}
+
+function cellHalfedgeAngle(cell, edge) {
+ var site = cell.site,
+ va = edge.left,
+ vb = edge.right;
+ if (site === vb) vb = va, va = site;
+ if (vb) return Math.atan2(vb[1] - va[1], vb[0] - va[0]);
+ if (site === va) va = edge[1], vb = edge[0];
+ else va = edge[0], vb = edge[1];
+ return Math.atan2(va[0] - vb[0], vb[1] - va[1]);
+}
+
+function cellHalfedgeStart(cell, edge) {
+ return edge[+(edge.left !== cell.site)];
+}
+
+function cellHalfedgeEnd(cell, edge) {
+ return edge[+(edge.left === cell.site)];
+}
+
+function sortCellHalfedges() {
+ for (var i = 0, n = cells.length, cell, halfedges, j, m; i < n; ++i) {
+ if ((cell = cells[i]) && (m = (halfedges = cell.halfedges).length)) {
+ var index = new Array(m),
+ array = new Array(m);
+ for (j = 0; j < m; ++j) index[j] = j, array[j] = cellHalfedgeAngle(cell, edges[halfedges[j]]);
+ index.sort(function(i, j) { return array[j] - array[i]; });
+ for (j = 0; j < m; ++j) array[j] = halfedges[index[j]];
+ for (j = 0; j < m; ++j) halfedges[j] = array[j];
+ }
+ }
+}
+
+function clipCells(x0, y0, x1, y1) {
+ var nCells = cells.length,
+ iCell,
+ cell,
+ site,
+ iHalfedge,
+ halfedges,
+ nHalfedges,
+ start,
+ startX,
+ startY,
+ end,
+ endX,
+ endY,
+ cover = true;
+
+ for (iCell = 0; iCell < nCells; ++iCell) {
+ if (cell = cells[iCell]) {
+ site = cell.site;
+ halfedges = cell.halfedges;
+ iHalfedge = halfedges.length;
+
+ // Remove any dangling clipped edges.
+ while (iHalfedge--) {
+ if (!edges[halfedges[iHalfedge]]) {
+ halfedges.splice(iHalfedge, 1);
+ }
+ }
+
+ // Insert any border edges as necessary.
+ iHalfedge = 0, nHalfedges = halfedges.length;
+ while (iHalfedge < nHalfedges) {
+ end = cellHalfedgeEnd(cell, edges[halfedges[iHalfedge]]), endX = end[0], endY = end[1];
+ start = cellHalfedgeStart(cell, edges[halfedges[++iHalfedge % nHalfedges]]), startX = start[0], startY = start[1];
+ if (Math.abs(endX - startX) > epsilon$4 || Math.abs(endY - startY) > epsilon$4) {
+ halfedges.splice(iHalfedge, 0, edges.push(createBorderEdge(site, end,
+ Math.abs(endX - x0) < epsilon$4 && y1 - endY > epsilon$4 ? [x0, Math.abs(startX - x0) < epsilon$4 ? startY : y1]
+ : Math.abs(endY - y1) < epsilon$4 && x1 - endX > epsilon$4 ? [Math.abs(startY - y1) < epsilon$4 ? startX : x1, y1]
+ : Math.abs(endX - x1) < epsilon$4 && endY - y0 > epsilon$4 ? [x1, Math.abs(startX - x1) < epsilon$4 ? startY : y0]
+ : Math.abs(endY - y0) < epsilon$4 && endX - x0 > epsilon$4 ? [Math.abs(startY - y0) < epsilon$4 ? startX : x0, y0]
+ : null)) - 1);
+ ++nHalfedges;
+ }
+ }
+
+ if (nHalfedges) cover = false;
+ }
+ }
+
+ // If there weren’t any edges, have the closest site cover the extent.
+ // It doesn’t matter which corner of the extent we measure!
+ if (cover) {
+ var dx, dy, d2, dc = Infinity;
+
+ for (iCell = 0, cover = null; iCell < nCells; ++iCell) {
+ if (cell = cells[iCell]) {
+ site = cell.site;
+ dx = site[0] - x0;
+ dy = site[1] - y0;
+ d2 = dx * dx + dy * dy;
+ if (d2 < dc) dc = d2, cover = cell;
+ }
+ }
+
+ if (cover) {
+ var v00 = [x0, y0], v01 = [x0, y1], v11 = [x1, y1], v10 = [x1, y0];
+ cover.halfedges.push(
+ edges.push(createBorderEdge(site = cover.site, v00, v01)) - 1,
+ edges.push(createBorderEdge(site, v01, v11)) - 1,
+ edges.push(createBorderEdge(site, v11, v10)) - 1,
+ edges.push(createBorderEdge(site, v10, v00)) - 1
+ );
+ }
+ }
+
+ // Lastly delete any cells with no edges; these were entirely clipped.
+ for (iCell = 0; iCell < nCells; ++iCell) {
+ if (cell = cells[iCell]) {
+ if (!cell.halfedges.length) {
+ delete cells[iCell];
+ }
+ }
+ }
+}
+
+var circlePool = [];
+
+var firstCircle;
+
+function Circle() {
+ RedBlackNode(this);
+ this.x =
+ this.y =
+ this.arc =
+ this.site =
+ this.cy = null;
+}
+
+function attachCircle(arc) {
+ var lArc = arc.P,
+ rArc = arc.N;
+
+ if (!lArc || !rArc) return;
+
+ var lSite = lArc.site,
+ cSite = arc.site,
+ rSite = rArc.site;
+
+ if (lSite === rSite) return;
+
+ var bx = cSite[0],
+ by = cSite[1],
+ ax = lSite[0] - bx,
+ ay = lSite[1] - by,
+ cx = rSite[0] - bx,
+ cy = rSite[1] - by;
+
+ var d = 2 * (ax * cy - ay * cx);
+ if (d >= -epsilon2$2) return;
+
+ var ha = ax * ax + ay * ay,
+ hc = cx * cx + cy * cy,
+ x = (cy * ha - ay * hc) / d,
+ y = (ax * hc - cx * ha) / d;
+
+ var circle = circlePool.pop() || new Circle;
+ circle.arc = arc;
+ circle.site = cSite;
+ circle.x = x + bx;
+ circle.y = (circle.cy = y + by) + Math.sqrt(x * x + y * y); // y bottom
+
+ arc.circle = circle;
+
+ var before = null,
+ node = circles._;
+
+ while (node) {
+ if (circle.y < node.y || (circle.y === node.y && circle.x <= node.x)) {
+ if (node.L) node = node.L;
+ else { before = node.P; break; }
+ } else {
+ if (node.R) node = node.R;
+ else { before = node; break; }
+ }
+ }
+
+ circles.insert(before, circle);
+ if (!before) firstCircle = circle;
+}
+
+function detachCircle(arc) {
+ var circle = arc.circle;
+ if (circle) {
+ if (!circle.P) firstCircle = circle.N;
+ circles.remove(circle);
+ circlePool.push(circle);
+ RedBlackNode(circle);
+ arc.circle = null;
+ }
+}
+
+var beachPool = [];
+
+function Beach() {
+ RedBlackNode(this);
+ this.edge =
+ this.site =
+ this.circle = null;
+}
+
+function createBeach(site) {
+ var beach = beachPool.pop() || new Beach;
+ beach.site = site;
+ return beach;
+}
+
+function detachBeach(beach) {
+ detachCircle(beach);
+ beaches.remove(beach);
+ beachPool.push(beach);
+ RedBlackNode(beach);
+}
+
+function removeBeach(beach) {
+ var circle = beach.circle,
+ x = circle.x,
+ y = circle.cy,
+ vertex = [x, y],
+ previous = beach.P,
+ next = beach.N,
+ disappearing = [beach];
+
+ detachBeach(beach);
+
+ var lArc = previous;
+ while (lArc.circle
+ && Math.abs(x - lArc.circle.x) < epsilon$4
+ && Math.abs(y - lArc.circle.cy) < epsilon$4) {
+ previous = lArc.P;
+ disappearing.unshift(lArc);
+ detachBeach(lArc);
+ lArc = previous;
+ }
+
+ disappearing.unshift(lArc);
+ detachCircle(lArc);
+
+ var rArc = next;
+ while (rArc.circle
+ && Math.abs(x - rArc.circle.x) < epsilon$4
+ && Math.abs(y - rArc.circle.cy) < epsilon$4) {
+ next = rArc.N;
+ disappearing.push(rArc);
+ detachBeach(rArc);
+ rArc = next;
+ }
+
+ disappearing.push(rArc);
+ detachCircle(rArc);
+
+ var nArcs = disappearing.length,
+ iArc;
+ for (iArc = 1; iArc < nArcs; ++iArc) {
+ rArc = disappearing[iArc];
+ lArc = disappearing[iArc - 1];
+ setEdgeEnd(rArc.edge, lArc.site, rArc.site, vertex);
+ }
+
+ lArc = disappearing[0];
+ rArc = disappearing[nArcs - 1];
+ rArc.edge = createEdge(lArc.site, rArc.site, null, vertex);
+
+ attachCircle(lArc);
+ attachCircle(rArc);
+}
+
+function addBeach(site) {
+ var x = site[0],
+ directrix = site[1],
+ lArc,
+ rArc,
+ dxl,
+ dxr,
+ node = beaches._;
+
+ while (node) {
+ dxl = leftBreakPoint(node, directrix) - x;
+ if (dxl > epsilon$4) node = node.L; else {
+ dxr = x - rightBreakPoint(node, directrix);
+ if (dxr > epsilon$4) {
+ if (!node.R) {
+ lArc = node;
+ break;
+ }
+ node = node.R;
+ } else {
+ if (dxl > -epsilon$4) {
+ lArc = node.P;
+ rArc = node;
+ } else if (dxr > -epsilon$4) {
+ lArc = node;
+ rArc = node.N;
+ } else {
+ lArc = rArc = node;
+ }
+ break;
+ }
+ }
+ }
+
+ createCell(site);
+ var newArc = createBeach(site);
+ beaches.insert(lArc, newArc);
+
+ if (!lArc && !rArc) return;
+
+ if (lArc === rArc) {
+ detachCircle(lArc);
+ rArc = createBeach(lArc.site);
+ beaches.insert(newArc, rArc);
+ newArc.edge = rArc.edge = createEdge(lArc.site, newArc.site);
+ attachCircle(lArc);
+ attachCircle(rArc);
+ return;
+ }
+
+ if (!rArc) { // && lArc
+ newArc.edge = createEdge(lArc.site, newArc.site);
+ return;
+ }
+
+ // else lArc !== rArc
+ detachCircle(lArc);
+ detachCircle(rArc);
+
+ var lSite = lArc.site,
+ ax = lSite[0],
+ ay = lSite[1],
+ bx = site[0] - ax,
+ by = site[1] - ay,
+ rSite = rArc.site,
+ cx = rSite[0] - ax,
+ cy = rSite[1] - ay,
+ d = 2 * (bx * cy - by * cx),
+ hb = bx * bx + by * by,
+ hc = cx * cx + cy * cy,
+ vertex = [(cy * hb - by * hc) / d + ax, (bx * hc - cx * hb) / d + ay];
+
+ setEdgeEnd(rArc.edge, lSite, rSite, vertex);
+ newArc.edge = createEdge(lSite, site, null, vertex);
+ rArc.edge = createEdge(site, rSite, null, vertex);
+ attachCircle(lArc);
+ attachCircle(rArc);
+}
+
+function leftBreakPoint(arc, directrix) {
+ var site = arc.site,
+ rfocx = site[0],
+ rfocy = site[1],
+ pby2 = rfocy - directrix;
+
+ if (!pby2) return rfocx;
+
+ var lArc = arc.P;
+ if (!lArc) return -Infinity;
+
+ site = lArc.site;
+ var lfocx = site[0],
+ lfocy = site[1],
+ plby2 = lfocy - directrix;
+
+ if (!plby2) return lfocx;
+
+ var hl = lfocx - rfocx,
+ aby2 = 1 / pby2 - 1 / plby2,
+ b = hl / plby2;
+
+ if (aby2) return (-b + Math.sqrt(b * b - 2 * aby2 * (hl * hl / (-2 * plby2) - lfocy + plby2 / 2 + rfocy - pby2 / 2))) / aby2 + rfocx;
+
+ return (rfocx + lfocx) / 2;
+}
+
+function rightBreakPoint(arc, directrix) {
+ var rArc = arc.N;
+ if (rArc) return leftBreakPoint(rArc, directrix);
+ var site = arc.site;
+ return site[1] === directrix ? site[0] : Infinity;
+}
+
+var epsilon$4 = 1e-6;
+var epsilon2$2 = 1e-12;
+var beaches;
+var cells;
+var circles;
+var edges;
+
+function triangleArea(a, b, c) {
+ return (a[0] - c[0]) * (b[1] - a[1]) - (a[0] - b[0]) * (c[1] - a[1]);
+}
+
+function lexicographic(a, b) {
+ return b[1] - a[1]
+ || b[0] - a[0];
+}
+
+function Diagram(sites, extent) {
+ var site = sites.sort(lexicographic).pop(),
+ x,
+ y,
+ circle;
+
+ edges = [];
+ cells = new Array(sites.length);
+ beaches = new RedBlackTree;
+ circles = new RedBlackTree;
+
+ while (true) {
+ circle = firstCircle;
+ if (site && (!circle || site[1] < circle.y || (site[1] === circle.y && site[0] < circle.x))) {
+ if (site[0] !== x || site[1] !== y) {
+ addBeach(site);
+ x = site[0], y = site[1];
+ }
+ site = sites.pop();
+ } else if (circle) {
+ removeBeach(circle.arc);
+ } else {
+ break;
+ }
+ }
+
+ sortCellHalfedges();
+
+ if (extent) {
+ var x0 = +extent[0][0],
+ y0 = +extent[0][1],
+ x1 = +extent[1][0],
+ y1 = +extent[1][1];
+ clipEdges(x0, y0, x1, y1);
+ clipCells(x0, y0, x1, y1);
+ }
+
+ this.edges = edges;
+ this.cells = cells;
+
+ beaches =
+ circles =
+ edges =
+ cells = null;
+}
+
+Diagram.prototype = {
+ constructor: Diagram,
+
+ polygons: function() {
+ var edges = this.edges;
+
+ return this.cells.map(function(cell) {
+ var polygon = cell.halfedges.map(function(i) { return cellHalfedgeStart(cell, edges[i]); });
+ polygon.data = cell.site.data;
+ return polygon;
+ });
+ },
+
+ triangles: function() {
+ var triangles = [],
+ edges = this.edges;
+
+ this.cells.forEach(function(cell, i) {
+ if (!(m = (halfedges = cell.halfedges).length)) return;
+ var site = cell.site,
+ halfedges,
+ j = -1,
+ m,
+ s0,
+ e1 = edges[halfedges[m - 1]],
+ s1 = e1.left === site ? e1.right : e1.left;
+
+ while (++j < m) {
+ s0 = s1;
+ e1 = edges[halfedges[j]];
+ s1 = e1.left === site ? e1.right : e1.left;
+ if (s0 && s1 && i < s0.index && i < s1.index && triangleArea(site, s0, s1) < 0) {
+ triangles.push([site.data, s0.data, s1.data]);
+ }
+ }
+ });
+
+ return triangles;
+ },
+
+ links: function() {
+ return this.edges.filter(function(edge) {
+ return edge.right;
+ }).map(function(edge) {
+ return {
+ source: edge.left.data,
+ target: edge.right.data
+ };
+ });
+ },
+
+ find: function(x, y, radius) {
+ var that = this, i0, i1 = that._found || 0, n = that.cells.length, cell;
+
+ // Use the previously-found cell, or start with an arbitrary one.
+ while (!(cell = that.cells[i1])) if (++i1 >= n) return null;
+ var dx = x - cell.site[0], dy = y - cell.site[1], d2 = dx * dx + dy * dy;
+
+ // Traverse the half-edges to find a closer cell, if any.
+ do {
+ cell = that.cells[i0 = i1], i1 = null;
+ cell.halfedges.forEach(function(e) {
+ var edge = that.edges[e], v = edge.left;
+ if ((v === cell.site || !v) && !(v = edge.right)) return;
+ var vx = x - v[0], vy = y - v[1], v2 = vx * vx + vy * vy;
+ if (v2 < d2) d2 = v2, i1 = v.index;
+ });
+ } while (i1 !== null);
+
+ that._found = i0;
+
+ return radius == null || d2 <= radius * radius ? cell.site : null;
+ }
+};
+
+var voronoi = function() {
+ var x$$1 = x$4,
+ y$$1 = y$4,
+ extent = null;
+
+ function voronoi(data) {
+ return new Diagram(data.map(function(d, i) {
+ var s = [Math.round(x$$1(d, i, data) / epsilon$4) * epsilon$4, Math.round(y$$1(d, i, data) / epsilon$4) * epsilon$4];
+ s.index = i;
+ s.data = d;
+ return s;
+ }), extent);
+ }
+
+ voronoi.polygons = function(data) {
+ return voronoi(data).polygons();
+ };
+
+ voronoi.links = function(data) {
+ return voronoi(data).links();
+ };
+
+ voronoi.triangles = function(data) {
+ return voronoi(data).triangles();
+ };
+
+ voronoi.x = function(_) {
+ return arguments.length ? (x$$1 = typeof _ === "function" ? _ : constant$11(+_), voronoi) : x$$1;
+ };
+
+ voronoi.y = function(_) {
+ return arguments.length ? (y$$1 = typeof _ === "function" ? _ : constant$11(+_), voronoi) : y$$1;
+ };
+
+ voronoi.extent = function(_) {
+ return arguments.length ? (extent = _ == null ? null : [[+_[0][0], +_[0][1]], [+_[1][0], +_[1][1]]], voronoi) : extent && [[extent[0][0], extent[0][1]], [extent[1][0], extent[1][1]]];
+ };
+
+ voronoi.size = function(_) {
+ return arguments.length ? (extent = _ == null ? null : [[0, 0], [+_[0], +_[1]]], voronoi) : extent && [extent[1][0] - extent[0][0], extent[1][1] - extent[0][1]];
+ };
+
+ return voronoi;
+};
+
+var constant$12 = function(x) {
+ return function() {
+ return x;
+ };
+};
+
+function ZoomEvent(target, type, transform) {
+ this.target = target;
+ this.type = type;
+ this.transform = transform;
+}
+
+function Transform(k, x, y) {
+ this.k = k;
+ this.x = x;
+ this.y = y;
+}
+
+Transform.prototype = {
+ constructor: Transform,
+ scale: function(k) {
+ return k === 1 ? this : new Transform(this.k * k, this.x, this.y);
+ },
+ translate: function(x, y) {
+ return x === 0 & y === 0 ? this : new Transform(this.k, this.x + this.k * x, this.y + this.k * y);
+ },
+ apply: function(point) {
+ return [point[0] * this.k + this.x, point[1] * this.k + this.y];
+ },
+ applyX: function(x) {
+ return x * this.k + this.x;
+ },
+ applyY: function(y) {
+ return y * this.k + this.y;
+ },
+ invert: function(location) {
+ return [(location[0] - this.x) / this.k, (location[1] - this.y) / this.k];
+ },
+ invertX: function(x) {
+ return (x - this.x) / this.k;
+ },
+ invertY: function(y) {
+ return (y - this.y) / this.k;
+ },
+ rescaleX: function(x) {
+ return x.copy().domain(x.range().map(this.invertX, this).map(x.invert, x));
+ },
+ rescaleY: function(y) {
+ return y.copy().domain(y.range().map(this.invertY, this).map(y.invert, y));
+ },
+ toString: function() {
+ return "translate(" + this.x + "," + this.y + ") scale(" + this.k + ")";
+ }
+};
+
+var identity$8 = new Transform(1, 0, 0);
+
+transform$1.prototype = Transform.prototype;
+
+function transform$1(node) {
+ return node.__zoom || identity$8;
+}
+
+function nopropagation$2() {
+ exports.event.stopImmediatePropagation();
+}
+
+var noevent$2 = function() {
+ exports.event.preventDefault();
+ exports.event.stopImmediatePropagation();
+};
+
+// Ignore right-click, since that should open the context menu.
+function defaultFilter$2() {
+ return !exports.event.button;
+}
+
+function defaultExtent$1() {
+ var e = this, w, h;
+ if (e instanceof SVGElement) {
+ e = e.ownerSVGElement || e;
+ w = e.width.baseVal.value;
+ h = e.height.baseVal.value;
+ } else {
+ w = e.clientWidth;
+ h = e.clientHeight;
+ }
+ return [[0, 0], [w, h]];
+}
+
+function defaultTransform() {
+ return this.__zoom || identity$8;
+}
+
+var zoom = function() {
+ var filter = defaultFilter$2,
+ extent = defaultExtent$1,
+ k0 = 0,
+ k1 = Infinity,
+ x0 = -k1,
+ x1 = k1,
+ y0 = x0,
+ y1 = x1,
+ duration = 250,
+ interpolate$$1 = interpolateZoom,
+ gestures = [],
+ listeners = dispatch("start", "zoom", "end"),
+ touchstarting,
+ touchending,
+ touchDelay = 500,
+ wheelDelay = 150;
+
+ function zoom(selection$$1) {
+ selection$$1
+ .on("wheel.zoom", wheeled)
+ .on("mousedown.zoom", mousedowned)
+ .on("dblclick.zoom", dblclicked)
+ .on("touchstart.zoom", touchstarted)
+ .on("touchmove.zoom", touchmoved)
+ .on("touchend.zoom touchcancel.zoom", touchended)
+ .style("-webkit-tap-highlight-color", "rgba(0,0,0,0)")
+ .property("__zoom", defaultTransform);
+ }
+
+ zoom.transform = function(collection, transform) {
+ var selection$$1 = collection.selection ? collection.selection() : collection;
+ selection$$1.property("__zoom", defaultTransform);
+ if (collection !== selection$$1) {
+ schedule(collection, transform);
+ } else {
+ selection$$1.interrupt().each(function() {
+ gesture(this, arguments)
+ .start()
+ .zoom(null, typeof transform === "function" ? transform.apply(this, arguments) : transform)
+ .end();
+ });
+ }
+ };
+
+ zoom.scaleBy = function(selection$$1, k) {
+ zoom.scaleTo(selection$$1, function() {
+ var k0 = this.__zoom.k,
+ k1 = typeof k === "function" ? k.apply(this, arguments) : k;
+ return k0 * k1;
+ });
+ };
+
+ zoom.scaleTo = function(selection$$1, k) {
+ zoom.transform(selection$$1, function() {
+ var e = extent.apply(this, arguments),
+ t0 = this.__zoom,
+ p0 = centroid(e),
+ p1 = t0.invert(p0),
+ k1 = typeof k === "function" ? k.apply(this, arguments) : k;
+ return constrain(translate(scale(t0, k1), p0, p1), e);
+ });
+ };
+
+ zoom.translateBy = function(selection$$1, x, y) {
+ zoom.transform(selection$$1, function() {
+ return constrain(this.__zoom.translate(
+ typeof x === "function" ? x.apply(this, arguments) : x,
+ typeof y === "function" ? y.apply(this, arguments) : y
+ ), extent.apply(this, arguments));
+ });
+ };
+
+ function scale(transform, k) {
+ k = Math.max(k0, Math.min(k1, k));
+ return k === transform.k ? transform : new Transform(k, transform.x, transform.y);
+ }
+
+ function translate(transform, p0, p1) {
+ var x = p0[0] - p1[0] * transform.k, y = p0[1] - p1[1] * transform.k;
+ return x === transform.x && y === transform.y ? transform : new Transform(transform.k, x, y);
+ }
+
+ function constrain(transform, extent) {
+ var dx0 = transform.invertX(extent[0][0]) - x0,
+ dx1 = transform.invertX(extent[1][0]) - x1,
+ dy0 = transform.invertY(extent[0][1]) - y0,
+ dy1 = transform.invertY(extent[1][1]) - y1;
+ return transform.translate(
+ dx1 > dx0 ? (dx0 + dx1) / 2 : Math.min(0, dx0) || Math.max(0, dx1),
+ dy1 > dy0 ? (dy0 + dy1) / 2 : Math.min(0, dy0) || Math.max(0, dy1)
+ );
+ }
+
+ function centroid(extent) {
+ return [(+extent[0][0] + +extent[1][0]) / 2, (+extent[0][1] + +extent[1][1]) / 2];
+ }
+
+ function schedule(transition$$1, transform, center) {
+ transition$$1
+ .on("start.zoom", function() { gesture(this, arguments).start(); })
+ .on("interrupt.zoom end.zoom", function() { gesture(this, arguments).end(); })
+ .tween("zoom", function() {
+ var that = this,
+ args = arguments,
+ g = gesture(that, args),
+ e = extent.apply(that, args),
+ p = center || centroid(e),
+ w = Math.max(e[1][0] - e[0][0], e[1][1] - e[0][1]),
+ a = that.__zoom,
+ b = typeof transform === "function" ? transform.apply(that, args) : transform,
+ i = interpolate$$1(a.invert(p).concat(w / a.k), b.invert(p).concat(w / b.k));
+ return function(t) {
+ if (t === 1) t = b; // Avoid rounding error on end.
+ else { var l = i(t), k = w / l[2]; t = new Transform(k, p[0] - l[0] * k, p[1] - l[1] * k); }
+ g.zoom(null, t);
+ };
+ });
+ }
+
+ function gesture(that, args) {
+ for (var i = 0, n = gestures.length, g; i < n; ++i) {
+ if ((g = gestures[i]).that === that) {
+ return g;
+ }
+ }
+ return new Gesture(that, args);
+ }
+
+ function Gesture(that, args) {
+ this.that = that;
+ this.args = args;
+ this.index = -1;
+ this.active = 0;
+ this.extent = extent.apply(that, args);
+ }
+
+ Gesture.prototype = {
+ start: function() {
+ if (++this.active === 1) {
+ this.index = gestures.push(this) - 1;
+ this.emit("start");
+ }
+ return this;
+ },
+ zoom: function(key, transform) {
+ if (this.mouse && key !== "mouse") this.mouse[1] = transform.invert(this.mouse[0]);
+ if (this.touch0 && key !== "touch") this.touch0[1] = transform.invert(this.touch0[0]);
+ if (this.touch1 && key !== "touch") this.touch1[1] = transform.invert(this.touch1[0]);
+ this.that.__zoom = transform;
+ this.emit("zoom");
+ return this;
+ },
+ end: function() {
+ if (--this.active === 0) {
+ gestures.splice(this.index, 1);
+ this.index = -1;
+ this.emit("end");
+ }
+ return this;
+ },
+ emit: function(type) {
+ customEvent(new ZoomEvent(zoom, type, this.that.__zoom), listeners.apply, listeners, [type, this.that, this.args]);
+ }
+ };
+
+ function wheeled() {
+ if (!filter.apply(this, arguments)) return;
+ var g = gesture(this, arguments),
+ t = this.__zoom,
+ k = Math.max(k0, Math.min(k1, t.k * Math.pow(2, -exports.event.deltaY * (exports.event.deltaMode ? 120 : 1) / 500))),
+ p = mouse(this);
+
+ // If the mouse is in the same location as before, reuse it.
+ // If there were recent wheel events, reset the wheel idle timeout.
+ if (g.wheel) {
+ if (g.mouse[0][0] !== p[0] || g.mouse[0][1] !== p[1]) {
+ g.mouse[1] = t.invert(g.mouse[0] = p);
+ }
+ clearTimeout(g.wheel);
+ }
+
+ // If this wheel event won’t trigger a transform change, ignore it.
+ else if (t.k === k) return;
+
+ // Otherwise, capture the mouse point and location at the start.
+ else {
+ g.mouse = [p, t.invert(p)];
+ interrupt(this);
+ g.start();
+ }
+
+ noevent$2();
+ g.wheel = setTimeout(wheelidled, wheelDelay);
+ g.zoom("mouse", constrain(translate(scale(t, k), g.mouse[0], g.mouse[1]), g.extent));
+
+ function wheelidled() {
+ g.wheel = null;
+ g.end();
+ }
+ }
+
+ function mousedowned() {
+ if (touchending || !filter.apply(this, arguments)) return;
+ var g = gesture(this, arguments),
+ v = select(exports.event.view).on("mousemove.zoom", mousemoved, true).on("mouseup.zoom", mouseupped, true),
+ p = mouse(this);
+
+ dragDisable(exports.event.view);
+ nopropagation$2();
+ g.mouse = [p, this.__zoom.invert(p)];
+ interrupt(this);
+ g.start();
+
+ function mousemoved() {
+ noevent$2();
+ g.moved = true;
+ g.zoom("mouse", constrain(translate(g.that.__zoom, g.mouse[0] = mouse(g.that), g.mouse[1]), g.extent));
+ }
+
+ function mouseupped() {
+ v.on("mousemove.zoom mouseup.zoom", null);
+ yesdrag(exports.event.view, g.moved);
+ noevent$2();
+ g.end();
+ }
+ }
+
+ function dblclicked() {
+ if (!filter.apply(this, arguments)) return;
+ var t0 = this.__zoom,
+ p0 = mouse(this),
+ p1 = t0.invert(p0),
+ k1 = t0.k * (exports.event.shiftKey ? 0.5 : 2),
+ t1 = constrain(translate(scale(t0, k1), p0, p1), extent.apply(this, arguments));
+
+ noevent$2();
+ if (duration > 0) select(this).transition().duration(duration).call(schedule, t1, p0);
+ else select(this).call(zoom.transform, t1);
+ }
+
+ function touchstarted() {
+ if (!filter.apply(this, arguments)) return;
+ var g = gesture(this, arguments),
+ touches$$1 = exports.event.changedTouches,
+ started,
+ n = touches$$1.length, i, t, p;
+
+ nopropagation$2();
+ for (i = 0; i < n; ++i) {
+ t = touches$$1[i], p = touch(this, touches$$1, t.identifier);
+ p = [p, this.__zoom.invert(p), t.identifier];
+ if (!g.touch0) g.touch0 = p, started = true;
+ else if (!g.touch1) g.touch1 = p;
+ }
+
+ // If this is a dbltap, reroute to the (optional) dblclick.zoom handler.
+ if (touchstarting) {
+ touchstarting = clearTimeout(touchstarting);
+ if (!g.touch1) {
+ g.end();
+ p = select(this).on("dblclick.zoom");
+ if (p) p.apply(this, arguments);
+ return;
+ }
+ }
+
+ if (started) {
+ touchstarting = setTimeout(function() { touchstarting = null; }, touchDelay);
+ interrupt(this);
+ g.start();
+ }
+ }
+
+ function touchmoved() {
+ var g = gesture(this, arguments),
+ touches$$1 = exports.event.changedTouches,
+ n = touches$$1.length, i, t, p, l;
+
+ noevent$2();
+ if (touchstarting) touchstarting = clearTimeout(touchstarting);
+ for (i = 0; i < n; ++i) {
+ t = touches$$1[i], p = touch(this, touches$$1, t.identifier);
+ if (g.touch0 && g.touch0[2] === t.identifier) g.touch0[0] = p;
+ else if (g.touch1 && g.touch1[2] === t.identifier) g.touch1[0] = p;
+ }
+ t = g.that.__zoom;
+ if (g.touch1) {
+ var p0 = g.touch0[0], l0 = g.touch0[1],
+ p1 = g.touch1[0], l1 = g.touch1[1],
+ dp = (dp = p1[0] - p0[0]) * dp + (dp = p1[1] - p0[1]) * dp,
+ dl = (dl = l1[0] - l0[0]) * dl + (dl = l1[1] - l0[1]) * dl;
+ t = scale(t, Math.sqrt(dp / dl));
+ p = [(p0[0] + p1[0]) / 2, (p0[1] + p1[1]) / 2];
+ l = [(l0[0] + l1[0]) / 2, (l0[1] + l1[1]) / 2];
+ }
+ else if (g.touch0) p = g.touch0[0], l = g.touch0[1];
+ else return;
+ g.zoom("touch", constrain(translate(t, p, l), g.extent));
+ }
+
+ function touchended() {
+ var g = gesture(this, arguments),
+ touches$$1 = exports.event.changedTouches,
+ n = touches$$1.length, i, t;
+
+ nopropagation$2();
+ if (touchending) clearTimeout(touchending);
+ touchending = setTimeout(function() { touchending = null; }, touchDelay);
+ for (i = 0; i < n; ++i) {
+ t = touches$$1[i];
+ if (g.touch0 && g.touch0[2] === t.identifier) delete g.touch0;
+ else if (g.touch1 && g.touch1[2] === t.identifier) delete g.touch1;
+ }
+ if (g.touch1 && !g.touch0) g.touch0 = g.touch1, delete g.touch1;
+ if (g.touch0) g.touch0[1] = this.__zoom.invert(g.touch0[0]);
+ else g.end();
+ }
+
+ zoom.filter = function(_) {
+ return arguments.length ? (filter = typeof _ === "function" ? _ : constant$12(!!_), zoom) : filter;
+ };
+
+ zoom.extent = function(_) {
+ return arguments.length ? (extent = typeof _ === "function" ? _ : constant$12([[+_[0][0], +_[0][1]], [+_[1][0], +_[1][1]]]), zoom) : extent;
+ };
+
+ zoom.scaleExtent = function(_) {
+ return arguments.length ? (k0 = +_[0], k1 = +_[1], zoom) : [k0, k1];
+ };
+
+ zoom.translateExtent = function(_) {
+ return arguments.length ? (x0 = +_[0][0], x1 = +_[1][0], y0 = +_[0][1], y1 = +_[1][1], zoom) : [[x0, y0], [x1, y1]];
+ };
+
+ zoom.duration = function(_) {
+ return arguments.length ? (duration = +_, zoom) : duration;
+ };
+
+ zoom.interpolate = function(_) {
+ return arguments.length ? (interpolate$$1 = _, zoom) : interpolate$$1;
+ };
+
+ zoom.on = function() {
+ var value = listeners.on.apply(listeners, arguments);
+ return value === listeners ? zoom : value;
+ };
+
+ return zoom;
+};
+
+exports.version = version;
+exports.bisect = bisectRight;
+exports.bisectRight = bisectRight;
+exports.bisectLeft = bisectLeft;
+exports.ascending = ascending;
+exports.bisector = bisector;
+exports.cross = cross;
+exports.descending = descending;
+exports.deviation = deviation;
+exports.extent = extent;
+exports.histogram = histogram;
+exports.thresholdFreedmanDiaconis = freedmanDiaconis;
+exports.thresholdScott = scott;
+exports.thresholdSturges = sturges;
+exports.max = max;
+exports.mean = mean;
+exports.median = median;
+exports.merge = merge;
+exports.min = min;
+exports.pairs = pairs;
+exports.permute = permute;
+exports.quantile = threshold;
+exports.range = sequence;
+exports.scan = scan;
+exports.shuffle = shuffle;
+exports.sum = sum;
+exports.ticks = ticks;
+exports.tickIncrement = tickIncrement;
+exports.tickStep = tickStep;
+exports.transpose = transpose;
+exports.variance = variance;
+exports.zip = zip;
+exports.axisTop = axisTop;
+exports.axisRight = axisRight;
+exports.axisBottom = axisBottom;
+exports.axisLeft = axisLeft;
+exports.brush = brush;
+exports.brushX = brushX;
+exports.brushY = brushY;
+exports.brushSelection = brushSelection;
+exports.chord = chord;
+exports.ribbon = ribbon;
+exports.nest = nest;
+exports.set = set$2;
+exports.map = map$1;
+exports.keys = keys;
+exports.values = values;
+exports.entries = entries;
+exports.color = color;
+exports.rgb = rgb;
+exports.hsl = hsl;
+exports.lab = lab;
+exports.hcl = hcl;
+exports.cubehelix = cubehelix;
+exports.dispatch = dispatch;
+exports.drag = drag;
+exports.dragDisable = dragDisable;
+exports.dragEnable = yesdrag;
+exports.dsvFormat = dsv;
+exports.csvParse = csvParse;
+exports.csvParseRows = csvParseRows;
+exports.csvFormat = csvFormat;
+exports.csvFormatRows = csvFormatRows;
+exports.tsvParse = tsvParse;
+exports.tsvParseRows = tsvParseRows;
+exports.tsvFormat = tsvFormat;
+exports.tsvFormatRows = tsvFormatRows;
+exports.easeLinear = linear$1;
+exports.easeQuad = quadInOut;
+exports.easeQuadIn = quadIn;
+exports.easeQuadOut = quadOut;
+exports.easeQuadInOut = quadInOut;
+exports.easeCubic = cubicInOut;
+exports.easeCubicIn = cubicIn;
+exports.easeCubicOut = cubicOut;
+exports.easeCubicInOut = cubicInOut;
+exports.easePoly = polyInOut;
+exports.easePolyIn = polyIn;
+exports.easePolyOut = polyOut;
+exports.easePolyInOut = polyInOut;
+exports.easeSin = sinInOut;
+exports.easeSinIn = sinIn;
+exports.easeSinOut = sinOut;
+exports.easeSinInOut = sinInOut;
+exports.easeExp = expInOut;
+exports.easeExpIn = expIn;
+exports.easeExpOut = expOut;
+exports.easeExpInOut = expInOut;
+exports.easeCircle = circleInOut;
+exports.easeCircleIn = circleIn;
+exports.easeCircleOut = circleOut;
+exports.easeCircleInOut = circleInOut;
+exports.easeBounce = bounceOut;
+exports.easeBounceIn = bounceIn;
+exports.easeBounceOut = bounceOut;
+exports.easeBounceInOut = bounceInOut;
+exports.easeBack = backInOut;
+exports.easeBackIn = backIn;
+exports.easeBackOut = backOut;
+exports.easeBackInOut = backInOut;
+exports.easeElastic = elasticOut;
+exports.easeElasticIn = elasticIn;
+exports.easeElasticOut = elasticOut;
+exports.easeElasticInOut = elasticInOut;
+exports.forceCenter = center$1;
+exports.forceCollide = collide;
+exports.forceLink = link;
+exports.forceManyBody = manyBody;
+exports.forceSimulation = simulation;
+exports.forceX = x$2;
+exports.forceY = y$2;
+exports.formatDefaultLocale = defaultLocale;
+exports.formatLocale = formatLocale;
+exports.formatSpecifier = formatSpecifier;
+exports.precisionFixed = precisionFixed;
+exports.precisionPrefix = precisionPrefix;
+exports.precisionRound = precisionRound;
+exports.geoArea = area;
+exports.geoBounds = bounds;
+exports.geoCentroid = centroid;
+exports.geoCircle = circle;
+exports.geoClipExtent = extent$1;
+exports.geoContains = contains;
+exports.geoDistance = distance;
+exports.geoGraticule = graticule;
+exports.geoGraticule10 = graticule10;
+exports.geoInterpolate = interpolate$1;
+exports.geoLength = length$1;
+exports.geoPath = index$1;
+exports.geoAlbers = albers;
+exports.geoAlbersUsa = albersUsa;
+exports.geoAzimuthalEqualArea = azimuthalEqualArea;
+exports.geoAzimuthalEqualAreaRaw = azimuthalEqualAreaRaw;
+exports.geoAzimuthalEquidistant = azimuthalEquidistant;
+exports.geoAzimuthalEquidistantRaw = azimuthalEquidistantRaw;
+exports.geoConicConformal = conicConformal;
+exports.geoConicConformalRaw = conicConformalRaw;
+exports.geoConicEqualArea = conicEqualArea;
+exports.geoConicEqualAreaRaw = conicEqualAreaRaw;
+exports.geoConicEquidistant = conicEquidistant;
+exports.geoConicEquidistantRaw = conicEquidistantRaw;
+exports.geoEquirectangular = equirectangular;
+exports.geoEquirectangularRaw = equirectangularRaw;
+exports.geoGnomonic = gnomonic;
+exports.geoGnomonicRaw = gnomonicRaw;
+exports.geoIdentity = identity$5;
+exports.geoProjection = projection;
+exports.geoProjectionMutator = projectionMutator;
+exports.geoMercator = mercator;
+exports.geoMercatorRaw = mercatorRaw;
+exports.geoOrthographic = orthographic;
+exports.geoOrthographicRaw = orthographicRaw;
+exports.geoStereographic = stereographic;
+exports.geoStereographicRaw = stereographicRaw;
+exports.geoTransverseMercator = transverseMercator;
+exports.geoTransverseMercatorRaw = transverseMercatorRaw;
+exports.geoRotation = rotation;
+exports.geoStream = geoStream;
+exports.geoTransform = transform;
+exports.cluster = cluster;
+exports.hierarchy = hierarchy;
+exports.pack = index$2;
+exports.packSiblings = siblings;
+exports.packEnclose = enclose;
+exports.partition = partition;
+exports.stratify = stratify;
+exports.tree = tree;
+exports.treemap = index$3;
+exports.treemapBinary = binary;
+exports.treemapDice = treemapDice;
+exports.treemapSlice = treemapSlice;
+exports.treemapSliceDice = sliceDice;
+exports.treemapSquarify = squarify;
+exports.treemapResquarify = resquarify;
+exports.interpolate = interpolateValue;
+exports.interpolateArray = array$1;
+exports.interpolateBasis = basis$1;
+exports.interpolateBasisClosed = basisClosed;
+exports.interpolateDate = date;
+exports.interpolateNumber = reinterpolate;
+exports.interpolateObject = object;
+exports.interpolateRound = interpolateRound;
+exports.interpolateString = interpolateString;
+exports.interpolateTransformCss = interpolateTransformCss;
+exports.interpolateTransformSvg = interpolateTransformSvg;
+exports.interpolateZoom = interpolateZoom;
+exports.interpolateRgb = interpolateRgb;
+exports.interpolateRgbBasis = rgbBasis;
+exports.interpolateRgbBasisClosed = rgbBasisClosed;
+exports.interpolateHsl = hsl$2;
+exports.interpolateHslLong = hslLong;
+exports.interpolateLab = lab$1;
+exports.interpolateHcl = hcl$2;
+exports.interpolateHclLong = hclLong;
+exports.interpolateCubehelix = cubehelix$2;
+exports.interpolateCubehelixLong = cubehelixLong;
+exports.quantize = quantize;
+exports.path = path;
+exports.polygonArea = area$1;
+exports.polygonCentroid = centroid$1;
+exports.polygonHull = hull;
+exports.polygonContains = contains$1;
+exports.polygonLength = length$2;
+exports.quadtree = quadtree;
+exports.queue = queue;
+exports.randomUniform = uniform;
+exports.randomNormal = normal;
+exports.randomLogNormal = logNormal;
+exports.randomBates = bates;
+exports.randomIrwinHall = irwinHall;
+exports.randomExponential = exponential$1;
+exports.request = request;
+exports.html = html;
+exports.json = json;
+exports.text = text;
+exports.xml = xml;
+exports.csv = csv$1;
+exports.tsv = tsv$1;
+exports.scaleBand = band;
+exports.scalePoint = point$1;
+exports.scaleIdentity = identity$6;
+exports.scaleLinear = linear$2;
+exports.scaleLog = log$1;
+exports.scaleOrdinal = ordinal;
+exports.scaleImplicit = implicit;
+exports.scalePow = pow$1;
+exports.scaleSqrt = sqrt$1;
+exports.scaleQuantile = quantile$$1;
+exports.scaleQuantize = quantize$1;
+exports.scaleThreshold = threshold$1;
+exports.scaleTime = time;
+exports.scaleUtc = utcTime;
+exports.schemeCategory10 = category10;
+exports.schemeCategory20b = category20b;
+exports.schemeCategory20c = category20c;
+exports.schemeCategory20 = category20;
+exports.interpolateCubehelixDefault = cubehelix$3;
+exports.interpolateRainbow = rainbow$1;
+exports.interpolateWarm = warm;
+exports.interpolateCool = cool;
+exports.interpolateViridis = viridis;
+exports.interpolateMagma = magma;
+exports.interpolateInferno = inferno;
+exports.interpolatePlasma = plasma;
+exports.scaleSequential = sequential;
+exports.creator = creator;
+exports.local = local$1;
+exports.matcher = matcher$1;
+exports.mouse = mouse;
+exports.namespace = namespace;
+exports.namespaces = namespaces;
+exports.select = select;
+exports.selectAll = selectAll;
+exports.selection = selection;
+exports.selector = selector;
+exports.selectorAll = selectorAll;
+exports.touch = touch;
+exports.touches = touches;
+exports.window = window;
+exports.customEvent = customEvent;
+exports.arc = arc;
+exports.area = area$2;
+exports.line = line;
+exports.pie = pie;
+exports.radialArea = radialArea;
+exports.radialLine = radialLine$1;
+exports.symbol = symbol;
+exports.symbols = symbols;
+exports.symbolCircle = circle$2;
+exports.symbolCross = cross$2;
+exports.symbolDiamond = diamond;
+exports.symbolSquare = square;
+exports.symbolStar = star;
+exports.symbolTriangle = triangle;
+exports.symbolWye = wye;
+exports.curveBasisClosed = basisClosed$1;
+exports.curveBasisOpen = basisOpen;
+exports.curveBasis = basis$2;
+exports.curveBundle = bundle;
+exports.curveCardinalClosed = cardinalClosed;
+exports.curveCardinalOpen = cardinalOpen;
+exports.curveCardinal = cardinal;
+exports.curveCatmullRomClosed = catmullRomClosed;
+exports.curveCatmullRomOpen = catmullRomOpen;
+exports.curveCatmullRom = catmullRom;
+exports.curveLinearClosed = linearClosed;
+exports.curveLinear = curveLinear;
+exports.curveMonotoneX = monotoneX;
+exports.curveMonotoneY = monotoneY;
+exports.curveNatural = natural;
+exports.curveStep = step;
+exports.curveStepAfter = stepAfter;
+exports.curveStepBefore = stepBefore;
+exports.stack = stack;
+exports.stackOffsetExpand = expand;
+exports.stackOffsetNone = none$1;
+exports.stackOffsetSilhouette = silhouette;
+exports.stackOffsetWiggle = wiggle;
+exports.stackOrderAscending = ascending$2;
+exports.stackOrderDescending = descending$2;
+exports.stackOrderInsideOut = insideOut;
+exports.stackOrderNone = none$2;
+exports.stackOrderReverse = reverse;
+exports.timeInterval = newInterval;
+exports.timeMillisecond = millisecond;
+exports.timeMilliseconds = milliseconds;
+exports.utcMillisecond = millisecond;
+exports.utcMilliseconds = milliseconds;
+exports.timeSecond = second;
+exports.timeSeconds = seconds;
+exports.utcSecond = second;
+exports.utcSeconds = seconds;
+exports.timeMinute = minute;
+exports.timeMinutes = minutes;
+exports.timeHour = hour;
+exports.timeHours = hours;
+exports.timeDay = day;
+exports.timeDays = days;
+exports.timeWeek = sunday;
+exports.timeWeeks = sundays;
+exports.timeSunday = sunday;
+exports.timeSundays = sundays;
+exports.timeMonday = monday;
+exports.timeMondays = mondays;
+exports.timeTuesday = tuesday;
+exports.timeTuesdays = tuesdays;
+exports.timeWednesday = wednesday;
+exports.timeWednesdays = wednesdays;
+exports.timeThursday = thursday;
+exports.timeThursdays = thursdays;
+exports.timeFriday = friday;
+exports.timeFridays = fridays;
+exports.timeSaturday = saturday;
+exports.timeSaturdays = saturdays;
+exports.timeMonth = month;
+exports.timeMonths = months;
+exports.timeYear = year;
+exports.timeYears = years;
+exports.utcMinute = utcMinute;
+exports.utcMinutes = utcMinutes;
+exports.utcHour = utcHour;
+exports.utcHours = utcHours;
+exports.utcDay = utcDay;
+exports.utcDays = utcDays;
+exports.utcWeek = utcSunday;
+exports.utcWeeks = utcSundays;
+exports.utcSunday = utcSunday;
+exports.utcSundays = utcSundays;
+exports.utcMonday = utcMonday;
+exports.utcMondays = utcMondays;
+exports.utcTuesday = utcTuesday;
+exports.utcTuesdays = utcTuesdays;
+exports.utcWednesday = utcWednesday;
+exports.utcWednesdays = utcWednesdays;
+exports.utcThursday = utcThursday;
+exports.utcThursdays = utcThursdays;
+exports.utcFriday = utcFriday;
+exports.utcFridays = utcFridays;
+exports.utcSaturday = utcSaturday;
+exports.utcSaturdays = utcSaturdays;
+exports.utcMonth = utcMonth;
+exports.utcMonths = utcMonths;
+exports.utcYear = utcYear;
+exports.utcYears = utcYears;
+exports.timeFormatDefaultLocale = defaultLocale$1;
+exports.timeFormatLocale = formatLocale$1;
+exports.isoFormat = formatIso;
+exports.isoParse = parseIso;
+exports.now = now;
+exports.timer = timer;
+exports.timerFlush = timerFlush;
+exports.timeout = timeout$1;
+exports.interval = interval$1;
+exports.transition = transition;
+exports.active = active;
+exports.interrupt = interrupt;
+exports.voronoi = voronoi;
+exports.zoom = zoom;
+exports.zoomTransform = transform$1;
+exports.zoomIdentity = identity$8;
+
+Object.defineProperty(exports, '__esModule', { value: true });
+
+})));
diff --git a/app/comp-fe/js/d3.min.js b/app/comp-fe/js/d3.min.js
new file mode 100644
index 0000000..cb537e0
--- /dev/null
+++ b/app/comp-fe/js/d3.min.js
@@ -0,0 +1,5 @@
+!function(){function n(n,t){return t>n?-1:n>t?1:n>=t?0:0/0}function t(n){return null!=n&&!isNaN(n)}function e(n){return{left:function(t,e,r,u){for(arguments.length<3&&(r=0),arguments.length<4&&(u=t.length);u>r;){var i=r+u>>>1;n(t[i],e)<0?r=i+1:u=i}return r},right:function(t,e,r,u){for(arguments.length<3&&(r=0),arguments.length<4&&(u=t.length);u>r;){var i=r+u>>>1;n(t[i],e)>0?u=i:r=i+1}return r}}}function r(n){return n.length}function u(n){for(var t=1;n*t%1;)t*=10;return t}function i(n,t){try{for(var e in t)Object.defineProperty(n.prototype,e,{value:t[e],enumerable:!1})}catch(r){n.prototype=t}}function o(){}function a(n){return ia+n in this}function c(n){return n=ia+n,n in this&&delete this[n]}function s(){var n=[];return this.forEach(function(t){n.push(t)}),n}function l(){var n=0;for(var t in this)t.charCodeAt(0)===oa&&++n;return n}function f(){for(var n in this)if(n.charCodeAt(0)===oa)return!1;return!0}function h(){}function g(n,t,e){return function(){var r=e.apply(t,arguments);return r===t?n:r}}function p(n,t){if(t in n)return t;t=t.charAt(0).toUpperCase()+t.substring(1);for(var e=0,r=aa.length;r>e;++e){var u=aa[e]+t;if(u in n)return u}}function v(){}function d(){}function m(n){function t(){for(var t,r=e,u=-1,i=r.length;++u<i;)(t=r[u].on)&&t.apply(this,arguments);return n}var e=[],r=new o;return t.on=function(t,u){var i,o=r.get(t);return arguments.length<2?o&&o.on:(o&&(o.on=null,e=e.slice(0,i=e.indexOf(o)).concat(e.slice(i+1)),r.remove(t)),u&&e.push(r.set(t,{on:u})),n)},t}function y(){Zo.event.preventDefault()}function x(){for(var n,t=Zo.event;n=t.sourceEvent;)t=n;return t}function M(n){for(var t=new d,e=0,r=arguments.length;++e<r;)t[arguments[e]]=m(t);return t.of=function(e,r){return function(u){try{var i=u.sourceEvent=Zo.event;u.target=n,Zo.event=u,t[u.type].apply(e,r)}finally{Zo.event=i}}},t}function _(n){return sa(n,pa),n}function b(n){return"function"==typeof n?n:function(){return la(n,this)}}function w(n){return"function"==typeof n?n:function(){return fa(n,this)}}function S(n,t){function e(){this.removeAttribute(n)}function r(){this.removeAttributeNS(n.space,n.local)}function u(){this.setAttribute(n,t)}function i(){this.setAttributeNS(n.space,n.local,t)}function o(){var e=t.apply(this,arguments);null==e?this.removeAttribute(n):this.setAttribute(n,e)}function a(){var e=t.apply(this,arguments);null==e?this.removeAttributeNS(n.space,n.local):this.setAttributeNS(n.space,n.local,e)}return n=Zo.ns.qualify(n),null==t?n.local?r:e:"function"==typeof t?n.local?a:o:n.local?i:u}function k(n){return n.trim().replace(/\s+/g," ")}function E(n){return new RegExp("(?:^|\\s+)"+Zo.requote(n)+"(?:\\s+|$)","g")}function A(n){return(n+"").trim().split(/^|\s+/)}function C(n,t){function e(){for(var e=-1;++e<u;)n[e](this,t)}function r(){for(var e=-1,r=t.apply(this,arguments);++e<u;)n[e](this,r)}n=A(n).map(N);var u=n.length;return"function"==typeof t?r:e}function N(n){var t=E(n);return function(e,r){if(u=e.classList)return r?u.add(n):u.remove(n);var u=e.getAttribute("class")||"";r?(t.lastIndex=0,t.test(u)||e.setAttribute("class",k(u+" "+n))):e.setAttribute("class",k(u.replace(t," ")))}}function z(n,t,e){function r(){this.style.removeProperty(n)}function u(){this.style.setProperty(n,t,e)}function i(){var r=t.apply(this,arguments);null==r?this.style.removeProperty(n):this.style.setProperty(n,r,e)}return null==t?r:"function"==typeof t?i:u}function L(n,t){function e(){delete this[n]}function r(){this[n]=t}function u(){var e=t.apply(this,arguments);null==e?delete this[n]:this[n]=e}return null==t?e:"function"==typeof t?u:r}function T(n){return"function"==typeof n?n:(n=Zo.ns.qualify(n)).local?function(){return this.ownerDocument.createElementNS(n.space,n.local)}:function(){return this.ownerDocument.createElementNS(this.namespaceURI,n)}}function q(n){return{__data__:n}}function R(n){return function(){return ga(this,n)}}function D(t){return arguments.length||(t=n),function(n,e){return n&&e?t(n.__data__,e.__data__):!n-!e}}function P(n,t){for(var e=0,r=n.length;r>e;e++)for(var u,i=n[e],o=0,a=i.length;a>o;o++)(u=i[o])&&t(u,o,e);return n}function U(n){return sa(n,da),n}function j(n){var t,e;return function(r,u,i){var o,a=n[i].update,c=a.length;for(i!=e&&(e=i,t=0),u>=t&&(t=u+1);!(o=a[t])&&++t<c;);return o}}function H(){var n=this.__transition__;n&&++n.active}function F(n,t,e){function r(){var t=this[o];t&&(this.removeEventListener(n,t,t.$),delete this[o])}function u(){var u=c(t,Xo(arguments));r.call(this),this.addEventListener(n,this[o]=u,u.$=e),u._=t}function i(){var t,e=new RegExp("^__on([^.]+)"+Zo.requote(n)+"$");for(var r in this)if(t=r.match(e)){var u=this[r];this.removeEventListener(t[1],u,u.$),delete this[r]}}var o="__on"+n,a=n.indexOf("."),c=O;a>0&&(n=n.substring(0,a));var s=ya.get(n);return s&&(n=s,c=Y),a?t?u:r:t?v:i}function O(n,t){return function(e){var r=Zo.event;Zo.event=e,t[0]=this.__data__;try{n.apply(this,t)}finally{Zo.event=r}}}function Y(n,t){var e=O(n,t);return function(n){var t=this,r=n.relatedTarget;r&&(r===t||8&r.compareDocumentPosition(t))||e.call(t,n)}}function I(){var n=".dragsuppress-"+ ++Ma,t="click"+n,e=Zo.select(Wo).on("touchmove"+n,y).on("dragstart"+n,y).on("selectstart"+n,y);if(xa){var r=Bo.style,u=r[xa];r[xa]="none"}return function(i){function o(){e.on(t,null)}e.on(n,null),xa&&(r[xa]=u),i&&(e.on(t,function(){y(),o()},!0),setTimeout(o,0))}}function Z(n,t){t.changedTouches&&(t=t.changedTouches[0]);var e=n.ownerSVGElement||n;if(e.createSVGPoint){var r=e.createSVGPoint();if(0>_a&&(Wo.scrollX||Wo.scrollY)){e=Zo.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var u=e[0][0].getScreenCTM();_a=!(u.f||u.e),e.remove()}return _a?(r.x=t.pageX,r.y=t.pageY):(r.x=t.clientX,r.y=t.clientY),r=r.matrixTransform(n.getScreenCTM().inverse()),[r.x,r.y]}var i=n.getBoundingClientRect();return[t.clientX-i.left-n.clientLeft,t.clientY-i.top-n.clientTop]}function V(){return Zo.event.changedTouches[0].identifier}function X(){return Zo.event.target}function $(){return Wo}function B(n){return n>0?1:0>n?-1:0}function W(n,t,e){return(t[0]-n[0])*(e[1]-n[1])-(t[1]-n[1])*(e[0]-n[0])}function J(n){return n>1?0:-1>n?ba:Math.acos(n)}function G(n){return n>1?Sa:-1>n?-Sa:Math.asin(n)}function K(n){return((n=Math.exp(n))-1/n)/2}function Q(n){return((n=Math.exp(n))+1/n)/2}function nt(n){return((n=Math.exp(2*n))-1)/(n+1)}function tt(n){return(n=Math.sin(n/2))*n}function et(){}function rt(n,t,e){return this instanceof rt?(this.h=+n,this.s=+t,void(this.l=+e)):arguments.length<2?n instanceof rt?new rt(n.h,n.s,n.l):mt(""+n,yt,rt):new rt(n,t,e)}function ut(n,t,e){function r(n){return n>360?n-=360:0>n&&(n+=360),60>n?i+(o-i)*n/60:180>n?o:240>n?i+(o-i)*(240-n)/60:i}function u(n){return Math.round(255*r(n))}var i,o;return n=isNaN(n)?0:(n%=360)<0?n+360:n,t=isNaN(t)?0:0>t?0:t>1?1:t,e=0>e?0:e>1?1:e,o=.5>=e?e*(1+t):e+t-e*t,i=2*e-o,new gt(u(n+120),u(n),u(n-120))}function it(n,t,e){return this instanceof it?(this.h=+n,this.c=+t,void(this.l=+e)):arguments.length<2?n instanceof it?new it(n.h,n.c,n.l):n instanceof at?st(n.l,n.a,n.b):st((n=xt((n=Zo.rgb(n)).r,n.g,n.b)).l,n.a,n.b):new it(n,t,e)}function ot(n,t,e){return isNaN(n)&&(n=0),isNaN(t)&&(t=0),new at(e,Math.cos(n*=Aa)*t,Math.sin(n)*t)}function at(n,t,e){return this instanceof at?(this.l=+n,this.a=+t,void(this.b=+e)):arguments.length<2?n instanceof at?new at(n.l,n.a,n.b):n instanceof it?ot(n.l,n.c,n.h):xt((n=gt(n)).r,n.g,n.b):new at(n,t,e)}function ct(n,t,e){var r=(n+16)/116,u=r+t/500,i=r-e/200;return u=lt(u)*ja,r=lt(r)*Ha,i=lt(i)*Fa,new gt(ht(3.2404542*u-1.5371385*r-.4985314*i),ht(-.969266*u+1.8760108*r+.041556*i),ht(.0556434*u-.2040259*r+1.0572252*i))}function st(n,t,e){return n>0?new it(Math.atan2(e,t)*Ca,Math.sqrt(t*t+e*e),n):new it(0/0,0/0,n)}function lt(n){return n>.206893034?n*n*n:(n-4/29)/7.787037}function ft(n){return n>.008856?Math.pow(n,1/3):7.787037*n+4/29}function ht(n){return Math.round(255*(.00304>=n?12.92*n:1.055*Math.pow(n,1/2.4)-.055))}function gt(n,t,e){return this instanceof gt?(this.r=~~n,this.g=~~t,void(this.b=~~e)):arguments.length<2?n instanceof gt?new gt(n.r,n.g,n.b):mt(""+n,gt,ut):new gt(n,t,e)}function pt(n){return new gt(n>>16,255&n>>8,255&n)}function vt(n){return pt(n)+""}function dt(n){return 16>n?"0"+Math.max(0,n).toString(16):Math.min(255,n).toString(16)}function mt(n,t,e){var r,u,i,o=0,a=0,c=0;if(r=/([a-z]+)\((.*)\)/i.exec(n))switch(u=r[2].split(","),r[1]){case"hsl":return e(parseFloat(u[0]),parseFloat(u[1])/100,parseFloat(u[2])/100);case"rgb":return t(_t(u[0]),_t(u[1]),_t(u[2]))}return(i=Ia.get(n))?t(i.r,i.g,i.b):(null==n||"#"!==n.charAt(0)||isNaN(i=parseInt(n.substring(1),16))||(4===n.length?(o=(3840&i)>>4,o=o>>4|o,a=240&i,a=a>>4|a,c=15&i,c=c<<4|c):7===n.length&&(o=(16711680&i)>>16,a=(65280&i)>>8,c=255&i)),t(o,a,c))}function yt(n,t,e){var r,u,i=Math.min(n/=255,t/=255,e/=255),o=Math.max(n,t,e),a=o-i,c=(o+i)/2;return a?(u=.5>c?a/(o+i):a/(2-o-i),r=n==o?(t-e)/a+(e>t?6:0):t==o?(e-n)/a+2:(n-t)/a+4,r*=60):(r=0/0,u=c>0&&1>c?0:r),new rt(r,u,c)}function xt(n,t,e){n=Mt(n),t=Mt(t),e=Mt(e);var r=ft((.4124564*n+.3575761*t+.1804375*e)/ja),u=ft((.2126729*n+.7151522*t+.072175*e)/Ha),i=ft((.0193339*n+.119192*t+.9503041*e)/Fa);return at(116*u-16,500*(r-u),200*(u-i))}function Mt(n){return(n/=255)<=.04045?n/12.92:Math.pow((n+.055)/1.055,2.4)}function _t(n){var t=parseFloat(n);return"%"===n.charAt(n.length-1)?Math.round(2.55*t):t}function bt(n){return"function"==typeof n?n:function(){return n}}function wt(n){return n}function St(n){return function(t,e,r){return 2===arguments.length&&"function"==typeof e&&(r=e,e=null),kt(t,e,n,r)}}function kt(n,t,e,r){function u(){var n,t=c.status;if(!t&&c.responseText||t>=200&&300>t||304===t){try{n=e.call(i,c)}catch(r){return o.error.call(i,r),void 0}o.load.call(i,n)}else o.error.call(i,c)}var i={},o=Zo.dispatch("beforesend","progress","load","error"),a={},c=new XMLHttpRequest,s=null;return!Wo.XDomainRequest||"withCredentials"in c||!/^(http(s)?:)?\/\//.test(n)||(c=new XDomainRequest),"onload"in c?c.onload=c.onerror=u:c.onreadystatechange=function(){c.readyState>3&&u()},c.onprogress=function(n){var t=Zo.event;Zo.event=n;try{o.progress.call(i,c)}finally{Zo.event=t}},i.header=function(n,t){return n=(n+"").toLowerCase(),arguments.length<2?a[n]:(null==t?delete a[n]:a[n]=t+"",i)},i.mimeType=function(n){return arguments.length?(t=null==n?null:n+"",i):t},i.responseType=function(n){return arguments.length?(s=n,i):s},i.response=function(n){return e=n,i},["get","post"].forEach(function(n){i[n]=function(){return i.send.apply(i,[n].concat(Xo(arguments)))}}),i.send=function(e,r,u){if(2===arguments.length&&"function"==typeof r&&(u=r,r=null),c.open(e,n,!0),null==t||"accept"in a||(a.accept=t+",*/*"),c.setRequestHeader)for(var l in a)c.setRequestHeader(l,a[l]);return null!=t&&c.overrideMimeType&&c.overrideMimeType(t),null!=s&&(c.responseType=s),null!=u&&i.on("error",u).on("load",function(n){u(null,n)}),o.beforesend.call(i,c),c.send(null==r?null:r),i},i.abort=function(){return c.abort(),i},Zo.rebind(i,o,"on"),null==r?i:i.get(Et(r))}function Et(n){return 1===n.length?function(t,e){n(null==t?e:null)}:n}function At(){var n=Ct(),t=Nt()-n;t>24?(isFinite(t)&&(clearTimeout($a),$a=setTimeout(At,t)),Xa=0):(Xa=1,Wa(At))}function Ct(){var n=Date.now();for(Ba=Za;Ba;)n>=Ba.t&&(Ba.f=Ba.c(n-Ba.t)),Ba=Ba.n;return n}function Nt(){for(var n,t=Za,e=1/0;t;)t.f?t=n?n.n=t.n:Za=t.n:(t.t<e&&(e=t.t),t=(n=t).n);return Va=n,e}function zt(n,t){return t-(n?Math.ceil(Math.log(n)/Math.LN10):1)}function Lt(n,t){var e=Math.pow(10,3*ua(8-t));return{scale:t>8?function(n){return n/e}:function(n){return n*e},symbol:n}}function Tt(n){var t=n.decimal,e=n.thousands,r=n.grouping,u=n.currency,i=r?function(n){for(var t=n.length,u=[],i=0,o=r[0];t>0&&o>0;)u.push(n.substring(t-=o,t+o)),o=r[i=(i+1)%r.length];return u.reverse().join(e)}:wt;return function(n){var e=Ga.exec(n),r=e[1]||" ",o=e[2]||">",a=e[3]||"",c=e[4]||"",s=e[5],l=+e[6],f=e[7],h=e[8],g=e[9],p=1,v="",d="",m=!1;switch(h&&(h=+h.substring(1)),(s||"0"===r&&"="===o)&&(s=r="0",o="=",f&&(l-=Math.floor((l-1)/4))),g){case"n":f=!0,g="g";break;case"%":p=100,d="%",g="f";break;case"p":p=100,d="%",g="r";break;case"b":case"o":case"x":case"X":"#"===c&&(v="0"+g.toLowerCase());case"c":case"d":m=!0,h=0;break;case"s":p=-1,g="r"}"$"===c&&(v=u[0],d=u[1]),"r"!=g||h||(g="g"),null!=h&&("g"==g?h=Math.max(1,Math.min(21,h)):("e"==g||"f"==g)&&(h=Math.max(0,Math.min(20,h)))),g=Ka.get(g)||qt;var y=s&&f;return function(n){var e=d;if(m&&n%1)return"";var u=0>n||0===n&&0>1/n?(n=-n,"-"):a;if(0>p){var c=Zo.formatPrefix(n,h);n=c.scale(n),e=c.symbol+d}else n*=p;n=g(n,h);var x=n.lastIndexOf("."),M=0>x?n:n.substring(0,x),_=0>x?"":t+n.substring(x+1);!s&&f&&(M=i(M));var b=v.length+M.length+_.length+(y?0:u.length),w=l>b?new Array(b=l-b+1).join(r):"";return y&&(M=i(w+M)),u+=v,n=M+_,("<"===o?u+n+w:">"===o?w+u+n:"^"===o?w.substring(0,b>>=1)+u+n+w.substring(b):u+(y?n:w+n))+e}}}function qt(n){return n+""}function Rt(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function Dt(n,t,e){function r(t){var e=n(t),r=i(e,1);return r-t>t-e?e:r}function u(e){return t(e=n(new nc(e-1)),1),e}function i(n,e){return t(n=new nc(+n),e),n}function o(n,r,i){var o=u(n),a=[];if(i>1)for(;r>o;)e(o)%i||a.push(new Date(+o)),t(o,1);else for(;r>o;)a.push(new Date(+o)),t(o,1);return a}function a(n,t,e){try{nc=Rt;var r=new Rt;return r._=n,o(r,t,e)}finally{nc=Date}}n.floor=n,n.round=r,n.ceil=u,n.offset=i,n.range=o;var c=n.utc=Pt(n);return c.floor=c,c.round=Pt(r),c.ceil=Pt(u),c.offset=Pt(i),c.range=a,n}function Pt(n){return function(t,e){try{nc=Rt;var r=new Rt;return r._=t,n(r,e)._}finally{nc=Date}}}function Ut(n){function t(n){function t(t){for(var e,u,i,o=[],a=-1,c=0;++a<r;)37===n.charCodeAt(a)&&(o.push(n.substring(c,a)),null!=(u=ec[e=n.charAt(++a)])&&(e=n.charAt(++a)),(i=C[e])&&(e=i(t,null==u?"e"===e?" ":"0":u)),o.push(e),c=a+1);return o.push(n.substring(c,a)),o.join("")}var r=n.length;return t.parse=function(t){var r={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null},u=e(r,n,t,0);if(u!=t.length)return null;"p"in r&&(r.H=r.H%12+12*r.p);var i=null!=r.Z&&nc!==Rt,o=new(i?Rt:nc);return"j"in r?o.setFullYear(r.y,0,r.j):"w"in r&&("W"in r||"U"in r)?(o.setFullYear(r.y,0,1),o.setFullYear(r.y,0,"W"in r?(r.w+6)%7+7*r.W-(o.getDay()+5)%7:r.w+7*r.U-(o.getDay()+6)%7)):o.setFullYear(r.y,r.m,r.d),o.setHours(r.H+Math.floor(r.Z/100),r.M+r.Z%100,r.S,r.L),i?o._:o},t.toString=function(){return n},t}function e(n,t,e,r){for(var u,i,o,a=0,c=t.length,s=e.length;c>a;){if(r>=s)return-1;if(u=t.charCodeAt(a++),37===u){if(o=t.charAt(a++),i=N[o in ec?t.charAt(a++):o],!i||(r=i(n,e,r))<0)return-1}else if(u!=e.charCodeAt(r++))return-1}return r}function r(n,t,e){b.lastIndex=0;var r=b.exec(t.substring(e));return r?(n.w=w.get(r[0].toLowerCase()),e+r[0].length):-1}function u(n,t,e){M.lastIndex=0;var r=M.exec(t.substring(e));return r?(n.w=_.get(r[0].toLowerCase()),e+r[0].length):-1}function i(n,t,e){E.lastIndex=0;var r=E.exec(t.substring(e));return r?(n.m=A.get(r[0].toLowerCase()),e+r[0].length):-1}function o(n,t,e){S.lastIndex=0;var r=S.exec(t.substring(e));return r?(n.m=k.get(r[0].toLowerCase()),e+r[0].length):-1}function a(n,t,r){return e(n,C.c.toString(),t,r)}function c(n,t,r){return e(n,C.x.toString(),t,r)}function s(n,t,r){return e(n,C.X.toString(),t,r)}function l(n,t,e){var r=x.get(t.substring(e,e+=2).toLowerCase());return null==r?-1:(n.p=r,e)}var f=n.dateTime,h=n.date,g=n.time,p=n.periods,v=n.days,d=n.shortDays,m=n.months,y=n.shortMonths;t.utc=function(n){function e(n){try{nc=Rt;var t=new nc;return t._=n,r(t)}finally{nc=Date}}var r=t(n);return e.parse=function(n){try{nc=Rt;var t=r.parse(n);return t&&t._}finally{nc=Date}},e.toString=r.toString,e},t.multi=t.utc.multi=re;var x=Zo.map(),M=Ht(v),_=Ft(v),b=Ht(d),w=Ft(d),S=Ht(m),k=Ft(m),E=Ht(y),A=Ft(y);p.forEach(function(n,t){x.set(n.toLowerCase(),t)});var C={a:function(n){return d[n.getDay()]},A:function(n){return v[n.getDay()]},b:function(n){return y[n.getMonth()]},B:function(n){return m[n.getMonth()]},c:t(f),d:function(n,t){return jt(n.getDate(),t,2)},e:function(n,t){return jt(n.getDate(),t,2)},H:function(n,t){return jt(n.getHours(),t,2)},I:function(n,t){return jt(n.getHours()%12||12,t,2)},j:function(n,t){return jt(1+Qa.dayOfYear(n),t,3)},L:function(n,t){return jt(n.getMilliseconds(),t,3)},m:function(n,t){return jt(n.getMonth()+1,t,2)},M:function(n,t){return jt(n.getMinutes(),t,2)},p:function(n){return p[+(n.getHours()>=12)]},S:function(n,t){return jt(n.getSeconds(),t,2)},U:function(n,t){return jt(Qa.sundayOfYear(n),t,2)},w:function(n){return n.getDay()},W:function(n,t){return jt(Qa.mondayOfYear(n),t,2)},x:t(h),X:t(g),y:function(n,t){return jt(n.getFullYear()%100,t,2)},Y:function(n,t){return jt(n.getFullYear()%1e4,t,4)},Z:te,"%":function(){return"%"}},N={a:r,A:u,b:i,B:o,c:a,d:Wt,e:Wt,H:Gt,I:Gt,j:Jt,L:ne,m:Bt,M:Kt,p:l,S:Qt,U:Yt,w:Ot,W:It,x:c,X:s,y:Vt,Y:Zt,Z:Xt,"%":ee};return t}function jt(n,t,e){var r=0>n?"-":"",u=(r?-n:n)+"",i=u.length;return r+(e>i?new Array(e-i+1).join(t)+u:u)}function Ht(n){return new RegExp("^(?:"+n.map(Zo.requote).join("|")+")","i")}function Ft(n){for(var t=new o,e=-1,r=n.length;++e<r;)t.set(n[e].toLowerCase(),e);return t}function Ot(n,t,e){rc.lastIndex=0;var r=rc.exec(t.substring(e,e+1));return r?(n.w=+r[0],e+r[0].length):-1}function Yt(n,t,e){rc.lastIndex=0;var r=rc.exec(t.substring(e));return r?(n.U=+r[0],e+r[0].length):-1}function It(n,t,e){rc.lastIndex=0;var r=rc.exec(t.substring(e));return r?(n.W=+r[0],e+r[0].length):-1}function Zt(n,t,e){rc.lastIndex=0;var r=rc.exec(t.substring(e,e+4));return r?(n.y=+r[0],e+r[0].length):-1}function Vt(n,t,e){rc.lastIndex=0;var r=rc.exec(t.substring(e,e+2));return r?(n.y=$t(+r[0]),e+r[0].length):-1}function Xt(n,t,e){return/^[+-]\d{4}$/.test(t=t.substring(e,e+5))?(n.Z=-t,e+5):-1}function $t(n){return n+(n>68?1900:2e3)}function Bt(n,t,e){rc.lastIndex=0;var r=rc.exec(t.substring(e,e+2));return r?(n.m=r[0]-1,e+r[0].length):-1}function Wt(n,t,e){rc.lastIndex=0;var r=rc.exec(t.substring(e,e+2));return r?(n.d=+r[0],e+r[0].length):-1}function Jt(n,t,e){rc.lastIndex=0;var r=rc.exec(t.substring(e,e+3));return r?(n.j=+r[0],e+r[0].length):-1}function Gt(n,t,e){rc.lastIndex=0;var r=rc.exec(t.substring(e,e+2));return r?(n.H=+r[0],e+r[0].length):-1}function Kt(n,t,e){rc.lastIndex=0;var r=rc.exec(t.substring(e,e+2));return r?(n.M=+r[0],e+r[0].length):-1}function Qt(n,t,e){rc.lastIndex=0;var r=rc.exec(t.substring(e,e+2));return r?(n.S=+r[0],e+r[0].length):-1}function ne(n,t,e){rc.lastIndex=0;var r=rc.exec(t.substring(e,e+3));return r?(n.L=+r[0],e+r[0].length):-1}function te(n){var t=n.getTimezoneOffset(),e=t>0?"-":"+",r=~~(ua(t)/60),u=ua(t)%60;return e+jt(r,"0",2)+jt(u,"0",2)}function ee(n,t,e){uc.lastIndex=0;var r=uc.exec(t.substring(e,e+1));return r?e+r[0].length:-1}function re(n){for(var t=n.length,e=-1;++e<t;)n[e][0]=this(n[e][0]);return function(t){for(var e=0,r=n[e];!r[1](t);)r=n[++e];return r[0](t)}}function ue(){}function ie(n,t,e){var r=e.s=n+t,u=r-n,i=r-u;e.t=n-i+(t-u)}function oe(n,t){n&&cc.hasOwnProperty(n.type)&&cc[n.type](n,t)}function ae(n,t,e){var r,u=-1,i=n.length-e;for(t.lineStart();++u<i;)r=n[u],t.point(r[0],r[1],r[2]);t.lineEnd()}function ce(n,t){var e=-1,r=n.length;for(t.polygonStart();++e<r;)ae(n[e],t,1);t.polygonEnd()}function se(){function n(n,t){n*=Aa,t=t*Aa/2+ba/4;var e=n-r,o=e>=0?1:-1,a=o*e,c=Math.cos(t),s=Math.sin(t),l=i*s,f=u*c+l*Math.cos(a),h=l*o*Math.sin(a);lc.add(Math.atan2(h,f)),r=n,u=c,i=s}var t,e,r,u,i;fc.point=function(o,a){fc.point=n,r=(t=o)*Aa,u=Math.cos(a=(e=a)*Aa/2+ba/4),i=Math.sin(a)},fc.lineEnd=function(){n(t,e)}}function le(n){var t=n[0],e=n[1],r=Math.cos(e);return[r*Math.cos(t),r*Math.sin(t),Math.sin(e)]}function fe(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]}function he(n,t){return[n[1]*t[2]-n[2]*t[1],n[2]*t[0]-n[0]*t[2],n[0]*t[1]-n[1]*t[0]]}function ge(n,t){n[0]+=t[0],n[1]+=t[1],n[2]+=t[2]}function pe(n,t){return[n[0]*t,n[1]*t,n[2]*t]}function ve(n){var t=Math.sqrt(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]);n[0]/=t,n[1]/=t,n[2]/=t}function de(n){return[Math.atan2(n[1],n[0]),G(n[2])]}function me(n,t){return ua(n[0]-t[0])<ka&&ua(n[1]-t[1])<ka}function ye(n,t){n*=Aa;var e=Math.cos(t*=Aa);xe(e*Math.cos(n),e*Math.sin(n),Math.sin(t))}function xe(n,t,e){++hc,pc+=(n-pc)/hc,vc+=(t-vc)/hc,dc+=(e-dc)/hc}function Me(){function n(n,u){n*=Aa;var i=Math.cos(u*=Aa),o=i*Math.cos(n),a=i*Math.sin(n),c=Math.sin(u),s=Math.atan2(Math.sqrt((s=e*c-r*a)*s+(s=r*o-t*c)*s+(s=t*a-e*o)*s),t*o+e*a+r*c);gc+=s,mc+=s*(t+(t=o)),yc+=s*(e+(e=a)),xc+=s*(r+(r=c)),xe(t,e,r)}var t,e,r;wc.point=function(u,i){u*=Aa;var o=Math.cos(i*=Aa);t=o*Math.cos(u),e=o*Math.sin(u),r=Math.sin(i),wc.point=n,xe(t,e,r)}}function _e(){wc.point=ye}function be(){function n(n,t){n*=Aa;var e=Math.cos(t*=Aa),o=e*Math.cos(n),a=e*Math.sin(n),c=Math.sin(t),s=u*c-i*a,l=i*o-r*c,f=r*a-u*o,h=Math.sqrt(s*s+l*l+f*f),g=r*o+u*a+i*c,p=h&&-J(g)/h,v=Math.atan2(h,g);Mc+=p*s,_c+=p*l,bc+=p*f,gc+=v,mc+=v*(r+(r=o)),yc+=v*(u+(u=a)),xc+=v*(i+(i=c)),xe(r,u,i)}var t,e,r,u,i;wc.point=function(o,a){t=o,e=a,wc.point=n,o*=Aa;var c=Math.cos(a*=Aa);r=c*Math.cos(o),u=c*Math.sin(o),i=Math.sin(a),xe(r,u,i)},wc.lineEnd=function(){n(t,e),wc.lineEnd=_e,wc.point=ye}}function we(){return!0}function Se(n,t,e,r,u){var i=[],o=[];if(n.forEach(function(n){if(!((t=n.length-1)<=0)){var t,e=n[0],r=n[t];if(me(e,r)){u.lineStart();for(var a=0;t>a;++a)u.point((e=n[a])[0],e[1]);return u.lineEnd(),void 0}var c=new Ee(e,n,null,!0),s=new Ee(e,null,c,!1);c.o=s,i.push(c),o.push(s),c=new Ee(r,n,null,!1),s=new Ee(r,null,c,!0),c.o=s,i.push(c),o.push(s)}}),o.sort(t),ke(i),ke(o),i.length){for(var a=0,c=e,s=o.length;s>a;++a)o[a].e=c=!c;for(var l,f,h=i[0];;){for(var g=h,p=!0;g.v;)if((g=g.n)===h)return;l=g.z,u.lineStart();do{if(g.v=g.o.v=!0,g.e){if(p)for(var a=0,s=l.length;s>a;++a)u.point((f=l[a])[0],f[1]);else r(g.x,g.n.x,1,u);g=g.n}else{if(p){l=g.p.z;for(var a=l.length-1;a>=0;--a)u.point((f=l[a])[0],f[1])}else r(g.x,g.p.x,-1,u);g=g.p}g=g.o,l=g.z,p=!p}while(!g.v);u.lineEnd()}}}function ke(n){if(t=n.length){for(var t,e,r=0,u=n[0];++r<t;)u.n=e=n[r],e.p=u,u=e;u.n=e=n[0],e.p=u}}function Ee(n,t,e,r){this.x=n,this.z=t,this.o=e,this.e=r,this.v=!1,this.n=this.p=null}function Ae(n,t,e,r){return function(u,i){function o(t,e){var r=u(t,e);n(t=r[0],e=r[1])&&i.point(t,e)}function a(n,t){var e=u(n,t);d.point(e[0],e[1])}function c(){y.point=a,d.lineStart()}function s(){y.point=o,d.lineEnd()}function l(n,t){v.push([n,t]);var e=u(n,t);M.point(e[0],e[1])}function f(){M.lineStart(),v=[]}function h(){l(v[0][0],v[0][1]),M.lineEnd();var n,t=M.clean(),e=x.buffer(),r=e.length;if(v.pop(),p.push(v),v=null,r)if(1&t){n=e[0];var u,r=n.length-1,o=-1;if(r>0){for(_||(i.polygonStart(),_=!0),i.lineStart();++o<r;)i.point((u=n[o])[0],u[1]);i.lineEnd()}}else r>1&&2&t&&e.push(e.pop().concat(e.shift())),g.push(e.filter(Ce))}var g,p,v,d=t(i),m=u.invert(r[0],r[1]),y={point:o,lineStart:c,lineEnd:s,polygonStart:function(){y.point=l,y.lineStart=f,y.lineEnd=h,g=[],p=[]},polygonEnd:function(){y.point=o,y.lineStart=c,y.lineEnd=s,g=Zo.merge(g);var n=Le(m,p);g.length?(_||(i.polygonStart(),_=!0),Se(g,ze,n,e,i)):n&&(_||(i.polygonStart(),_=!0),i.lineStart(),e(null,null,1,i),i.lineEnd()),_&&(i.polygonEnd(),_=!1),g=p=null},sphere:function(){i.polygonStart(),i.lineStart(),e(null,null,1,i),i.lineEnd(),i.polygonEnd()}},x=Ne(),M=t(x),_=!1;return y}}function Ce(n){return n.length>1}function Ne(){var n,t=[];return{lineStart:function(){t.push(n=[])},point:function(t,e){n.push([t,e])},lineEnd:v,buffer:function(){var e=t;return t=[],n=null,e},rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))}}}function ze(n,t){return((n=n.x)[0]<0?n[1]-Sa-ka:Sa-n[1])-((t=t.x)[0]<0?t[1]-Sa-ka:Sa-t[1])}function Le(n,t){var e=n[0],r=n[1],u=[Math.sin(e),-Math.cos(e),0],i=0,o=0;lc.reset();for(var a=0,c=t.length;c>a;++a){var s=t[a],l=s.length;if(l)for(var f=s[0],h=f[0],g=f[1]/2+ba/4,p=Math.sin(g),v=Math.cos(g),d=1;;){d===l&&(d=0),n=s[d];var m=n[0],y=n[1]/2+ba/4,x=Math.sin(y),M=Math.cos(y),_=m-h,b=_>=0?1:-1,w=b*_,S=w>ba,k=p*x;if(lc.add(Math.atan2(k*b*Math.sin(w),v*M+k*Math.cos(w))),i+=S?_+b*wa:_,S^h>=e^m>=e){var E=he(le(f),le(n));ve(E);var A=he(u,E);ve(A);var C=(S^_>=0?-1:1)*G(A[2]);(r>C||r===C&&(E[0]||E[1]))&&(o+=S^_>=0?1:-1)}if(!d++)break;h=m,p=x,v=M,f=n}}return(-ka>i||ka>i&&0>lc)^1&o}function Te(n){var t,e=0/0,r=0/0,u=0/0;return{lineStart:function(){n.lineStart(),t=1},point:function(i,o){var a=i>0?ba:-ba,c=ua(i-e);ua(c-ba)<ka?(n.point(e,r=(r+o)/2>0?Sa:-Sa),n.point(u,r),n.lineEnd(),n.lineStart(),n.point(a,r),n.point(i,r),t=0):u!==a&&c>=ba&&(ua(e-u)<ka&&(e-=u*ka),ua(i-a)<ka&&(i-=a*ka),r=qe(e,r,i,o),n.point(u,r),n.lineEnd(),n.lineStart(),n.point(a,r),t=0),n.point(e=i,r=o),u=a},lineEnd:function(){n.lineEnd(),e=r=0/0},clean:function(){return 2-t}}}function qe(n,t,e,r){var u,i,o=Math.sin(n-e);return ua(o)>ka?Math.atan((Math.sin(t)*(i=Math.cos(r))*Math.sin(e)-Math.sin(r)*(u=Math.cos(t))*Math.sin(n))/(u*i*o)):(t+r)/2}function Re(n,t,e,r){var u;if(null==n)u=e*Sa,r.point(-ba,u),r.point(0,u),r.point(ba,u),r.point(ba,0),r.point(ba,-u),r.point(0,-u),r.point(-ba,-u),r.point(-ba,0),r.point(-ba,u);else if(ua(n[0]-t[0])>ka){var i=n[0]<t[0]?ba:-ba;u=e*i/2,r.point(-i,u),r.point(0,u),r.point(i,u)}else r.point(t[0],t[1])}function De(n){function t(n,t){return Math.cos(n)*Math.cos(t)>i}function e(n){var e,i,c,s,l;return{lineStart:function(){s=c=!1,l=1},point:function(f,h){var g,p=[f,h],v=t(f,h),d=o?v?0:u(f,h):v?u(f+(0>f?ba:-ba),h):0;if(!e&&(s=c=v)&&n.lineStart(),v!==c&&(g=r(e,p),(me(e,g)||me(p,g))&&(p[0]+=ka,p[1]+=ka,v=t(p[0],p[1]))),v!==c)l=0,v?(n.lineStart(),g=r(p,e),n.point(g[0],g[1])):(g=r(e,p),n.point(g[0],g[1]),n.lineEnd()),e=g;else if(a&&e&&o^v){var m;d&i||!(m=r(p,e,!0))||(l=0,o?(n.lineStart(),n.point(m[0][0],m[0][1]),n.point(m[1][0],m[1][1]),n.lineEnd()):(n.point(m[1][0],m[1][1]),n.lineEnd(),n.lineStart(),n.point(m[0][0],m[0][1])))}!v||e&&me(e,p)||n.point(p[0],p[1]),e=p,c=v,i=d},lineEnd:function(){c&&n.lineEnd(),e=null},clean:function(){return l|(s&&c)<<1}}}function r(n,t,e){var r=le(n),u=le(t),o=[1,0,0],a=he(r,u),c=fe(a,a),s=a[0],l=c-s*s;if(!l)return!e&&n;var f=i*c/l,h=-i*s/l,g=he(o,a),p=pe(o,f),v=pe(a,h);ge(p,v);var d=g,m=fe(p,d),y=fe(d,d),x=m*m-y*(fe(p,p)-1);if(!(0>x)){var M=Math.sqrt(x),_=pe(d,(-m-M)/y);if(ge(_,p),_=de(_),!e)return _;var b,w=n[0],S=t[0],k=n[1],E=t[1];w>S&&(b=w,w=S,S=b);var A=S-w,C=ua(A-ba)<ka,N=C||ka>A;if(!C&&k>E&&(b=k,k=E,E=b),N?C?k+E>0^_[1]<(ua(_[0]-w)<ka?k:E):k<=_[1]&&_[1]<=E:A>ba^(w<=_[0]&&_[0]<=S)){var z=pe(d,(-m+M)/y);return ge(z,p),[_,de(z)]}}}function u(t,e){var r=o?n:ba-n,u=0;return-r>t?u|=1:t>r&&(u|=2),-r>e?u|=4:e>r&&(u|=8),u}var i=Math.cos(n),o=i>0,a=ua(i)>ka,c=sr(n,6*Aa);return Ae(t,e,c,o?[0,-n]:[-ba,n-ba])}function Pe(n,t,e,r){return function(u){var i,o=u.a,a=u.b,c=o.x,s=o.y,l=a.x,f=a.y,h=0,g=1,p=l-c,v=f-s;if(i=n-c,p||!(i>0)){if(i/=p,0>p){if(h>i)return;g>i&&(g=i)}else if(p>0){if(i>g)return;i>h&&(h=i)}if(i=e-c,p||!(0>i)){if(i/=p,0>p){if(i>g)return;i>h&&(h=i)}else if(p>0){if(h>i)return;g>i&&(g=i)}if(i=t-s,v||!(i>0)){if(i/=v,0>v){if(h>i)return;g>i&&(g=i)}else if(v>0){if(i>g)return;i>h&&(h=i)}if(i=r-s,v||!(0>i)){if(i/=v,0>v){if(i>g)return;i>h&&(h=i)}else if(v>0){if(h>i)return;g>i&&(g=i)}return h>0&&(u.a={x:c+h*p,y:s+h*v}),1>g&&(u.b={x:c+g*p,y:s+g*v}),u}}}}}}function Ue(n,t,e,r){function u(r,u){return ua(r[0]-n)<ka?u>0?0:3:ua(r[0]-e)<ka?u>0?2:1:ua(r[1]-t)<ka?u>0?1:0:u>0?3:2}function i(n,t){return o(n.x,t.x)}function o(n,t){var e=u(n,1),r=u(t,1);return e!==r?e-r:0===e?t[1]-n[1]:1===e?n[0]-t[0]:2===e?n[1]-t[1]:t[0]-n[0]}return function(a){function c(n){for(var t=0,e=d.length,r=n[1],u=0;e>u;++u)for(var i,o=1,a=d[u],c=a.length,s=a[0];c>o;++o)i=a[o],s[1]<=r?i[1]>r&&W(s,i,n)>0&&++t:i[1]<=r&&W(s,i,n)<0&&--t,s=i;return 0!==t}function s(i,a,c,s){var l=0,f=0;if(null==i||(l=u(i,c))!==(f=u(a,c))||o(i,a)<0^c>0){do s.point(0===l||3===l?n:e,l>1?r:t);while((l=(l+c+4)%4)!==f)}else s.point(a[0],a[1])}function l(u,i){return u>=n&&e>=u&&i>=t&&r>=i}function f(n,t){l(n,t)&&a.point(n,t)}function h(){N.point=p,d&&d.push(m=[]),S=!0,w=!1,_=b=0/0}function g(){v&&(p(y,x),M&&w&&A.rejoin(),v.push(A.buffer())),N.point=f,w&&a.lineEnd()}function p(n,t){n=Math.max(-kc,Math.min(kc,n)),t=Math.max(-kc,Math.min(kc,t));var e=l(n,t);if(d&&m.push([n,t]),S)y=n,x=t,M=e,S=!1,e&&(a.lineStart(),a.point(n,t));else if(e&&w)a.point(n,t);else{var r={a:{x:_,y:b},b:{x:n,y:t}};C(r)?(w||(a.lineStart(),a.point(r.a.x,r.a.y)),a.point(r.b.x,r.b.y),e||a.lineEnd(),k=!1):e&&(a.lineStart(),a.point(n,t),k=!1)}_=n,b=t,w=e}var v,d,m,y,x,M,_,b,w,S,k,E=a,A=Ne(),C=Pe(n,t,e,r),N={point:f,lineStart:h,lineEnd:g,polygonStart:function(){a=A,v=[],d=[],k=!0},polygonEnd:function(){a=E,v=Zo.merge(v);var t=c([n,r]),e=k&&t,u=v.length;(e||u)&&(a.polygonStart(),e&&(a.lineStart(),s(null,null,1,a),a.lineEnd()),u&&Se(v,i,t,s,a),a.polygonEnd()),v=d=m=null}};return N}}function je(n,t){function e(e,r){return e=n(e,r),t(e[0],e[1])}return n.invert&&t.invert&&(e.invert=function(e,r){return e=t.invert(e,r),e&&n.invert(e[0],e[1])}),e}function He(n){var t=0,e=ba/3,r=tr(n),u=r(t,e);return u.parallels=function(n){return arguments.length?r(t=n[0]*ba/180,e=n[1]*ba/180):[180*(t/ba),180*(e/ba)]},u}function Fe(n,t){function e(n,t){var e=Math.sqrt(i-2*u*Math.sin(t))/u;return[e*Math.sin(n*=u),o-e*Math.cos(n)]}var r=Math.sin(n),u=(r+Math.sin(t))/2,i=1+r*(2*u-r),o=Math.sqrt(i)/u;return e.invert=function(n,t){var e=o-t;return[Math.atan2(n,e)/u,G((i-(n*n+e*e)*u*u)/(2*u))]},e}function Oe(){function n(n,t){Ac+=u*n-r*t,r=n,u=t}var t,e,r,u;Tc.point=function(i,o){Tc.point=n,t=r=i,e=u=o},Tc.lineEnd=function(){n(t,e)}}function Ye(n,t){Cc>n&&(Cc=n),n>zc&&(zc=n),Nc>t&&(Nc=t),t>Lc&&(Lc=t)}function Ie(){function n(n,t){o.push("M",n,",",t,i)}function t(n,t){o.push("M",n,",",t),a.point=e}function e(n,t){o.push("L",n,",",t)}function r(){a.point=n}function u(){o.push("Z")}var i=Ze(4.5),o=[],a={point:n,lineStart:function(){a.point=t},lineEnd:r,polygonStart:function(){a.lineEnd=u},polygonEnd:function(){a.lineEnd=r,a.point=n},pointRadius:function(n){return i=Ze(n),a},result:function(){if(o.length){var n=o.join("");return o=[],n}}};return a}function Ze(n){return"m0,"+n+"a"+n+","+n+" 0 1,1 0,"+-2*n+"a"+n+","+n+" 0 1,1 0,"+2*n+"z"}function Ve(n,t){pc+=n,vc+=t,++dc}function Xe(){function n(n,r){var u=n-t,i=r-e,o=Math.sqrt(u*u+i*i);mc+=o*(t+n)/2,yc+=o*(e+r)/2,xc+=o,Ve(t=n,e=r)}var t,e;Rc.point=function(r,u){Rc.point=n,Ve(t=r,e=u)}}function $e(){Rc.point=Ve}function Be(){function n(n,t){var e=n-r,i=t-u,o=Math.sqrt(e*e+i*i);mc+=o*(r+n)/2,yc+=o*(u+t)/2,xc+=o,o=u*n-r*t,Mc+=o*(r+n),_c+=o*(u+t),bc+=3*o,Ve(r=n,u=t)}var t,e,r,u;Rc.point=function(i,o){Rc.point=n,Ve(t=r=i,e=u=o)},Rc.lineEnd=function(){n(t,e)}}function We(n){function t(t,e){n.moveTo(t,e),n.arc(t,e,o,0,wa)}function e(t,e){n.moveTo(t,e),a.point=r}function r(t,e){n.lineTo(t,e)}function u(){a.point=t}function i(){n.closePath()}var o=4.5,a={point:t,lineStart:function(){a.point=e},lineEnd:u,polygonStart:function(){a.lineEnd=i},polygonEnd:function(){a.lineEnd=u,a.point=t},pointRadius:function(n){return o=n,a},result:v};return a}function Je(n){function t(n){return(a?r:e)(n)}function e(t){return Qe(t,function(e,r){e=n(e,r),t.point(e[0],e[1])})}function r(t){function e(e,r){e=n(e,r),t.point(e[0],e[1])}function r(){x=0/0,S.point=i,t.lineStart()}function i(e,r){var i=le([e,r]),o=n(e,r);u(x,M,y,_,b,w,x=o[0],M=o[1],y=e,_=i[0],b=i[1],w=i[2],a,t),t.point(x,M)}function o(){S.point=e,t.lineEnd()}function c(){r(),S.point=s,S.lineEnd=l}function s(n,t){i(f=n,h=t),g=x,p=M,v=_,d=b,m=w,S.point=i}function l(){u(x,M,y,_,b,w,g,p,f,v,d,m,a,t),S.lineEnd=o,o()}var f,h,g,p,v,d,m,y,x,M,_,b,w,S={point:e,lineStart:r,lineEnd:o,polygonStart:function(){t.polygonStart(),S.lineStart=c},polygonEnd:function(){t.polygonEnd(),S.lineStart=r}};return S}function u(t,e,r,a,c,s,l,f,h,g,p,v,d,m){var y=l-t,x=f-e,M=y*y+x*x;if(M>4*i&&d--){var _=a+g,b=c+p,w=s+v,S=Math.sqrt(_*_+b*b+w*w),k=Math.asin(w/=S),E=ua(ua(w)-1)<ka||ua(r-h)<ka?(r+h)/2:Math.atan2(b,_),A=n(E,k),C=A[0],N=A[1],z=C-t,L=N-e,T=x*z-y*L;(T*T/M>i||ua((y*z+x*L)/M-.5)>.3||o>a*g+c*p+s*v)&&(u(t,e,r,a,c,s,C,N,E,_/=S,b/=S,w,d,m),m.point(C,N),u(C,N,E,_,b,w,l,f,h,g,p,v,d,m))}}var i=.5,o=Math.cos(30*Aa),a=16;
+return t.precision=function(n){return arguments.length?(a=(i=n*n)>0&&16,t):Math.sqrt(i)},t}function Ge(n){var t=Je(function(t,e){return n([t*Ca,e*Ca])});return function(n){return er(t(n))}}function Ke(n){this.stream=n}function Qe(n,t){return{point:t,sphere:function(){n.sphere()},lineStart:function(){n.lineStart()},lineEnd:function(){n.lineEnd()},polygonStart:function(){n.polygonStart()},polygonEnd:function(){n.polygonEnd()}}}function nr(n){return tr(function(){return n})()}function tr(n){function t(n){return n=a(n[0]*Aa,n[1]*Aa),[n[0]*h+c,s-n[1]*h]}function e(n){return n=a.invert((n[0]-c)/h,(s-n[1])/h),n&&[n[0]*Ca,n[1]*Ca]}function r(){a=je(o=ir(m,y,x),i);var n=i(v,d);return c=g-n[0]*h,s=p+n[1]*h,u()}function u(){return l&&(l.valid=!1,l=null),t}var i,o,a,c,s,l,f=Je(function(n,t){return n=i(n,t),[n[0]*h+c,s-n[1]*h]}),h=150,g=480,p=250,v=0,d=0,m=0,y=0,x=0,M=Sc,_=wt,b=null,w=null;return t.stream=function(n){return l&&(l.valid=!1),l=er(M(o,f(_(n)))),l.valid=!0,l},t.clipAngle=function(n){return arguments.length?(M=null==n?(b=n,Sc):De((b=+n)*Aa),u()):b},t.clipExtent=function(n){return arguments.length?(w=n,_=n?Ue(n[0][0],n[0][1],n[1][0],n[1][1]):wt,u()):w},t.scale=function(n){return arguments.length?(h=+n,r()):h},t.translate=function(n){return arguments.length?(g=+n[0],p=+n[1],r()):[g,p]},t.center=function(n){return arguments.length?(v=n[0]%360*Aa,d=n[1]%360*Aa,r()):[v*Ca,d*Ca]},t.rotate=function(n){return arguments.length?(m=n[0]%360*Aa,y=n[1]%360*Aa,x=n.length>2?n[2]%360*Aa:0,r()):[m*Ca,y*Ca,x*Ca]},Zo.rebind(t,f,"precision"),function(){return i=n.apply(this,arguments),t.invert=i.invert&&e,r()}}function er(n){return Qe(n,function(t,e){n.point(t*Aa,e*Aa)})}function rr(n,t){return[n,t]}function ur(n,t){return[n>ba?n-wa:-ba>n?n+wa:n,t]}function ir(n,t,e){return n?t||e?je(ar(n),cr(t,e)):ar(n):t||e?cr(t,e):ur}function or(n){return function(t,e){return t+=n,[t>ba?t-wa:-ba>t?t+wa:t,e]}}function ar(n){var t=or(n);return t.invert=or(-n),t}function cr(n,t){function e(n,t){var e=Math.cos(t),a=Math.cos(n)*e,c=Math.sin(n)*e,s=Math.sin(t),l=s*r+a*u;return[Math.atan2(c*i-l*o,a*r-s*u),G(l*i+c*o)]}var r=Math.cos(n),u=Math.sin(n),i=Math.cos(t),o=Math.sin(t);return e.invert=function(n,t){var e=Math.cos(t),a=Math.cos(n)*e,c=Math.sin(n)*e,s=Math.sin(t),l=s*i-c*o;return[Math.atan2(c*i+s*o,a*r+l*u),G(l*r-a*u)]},e}function sr(n,t){var e=Math.cos(n),r=Math.sin(n);return function(u,i,o,a){var c=o*t;null!=u?(u=lr(e,u),i=lr(e,i),(o>0?i>u:u>i)&&(u+=o*wa)):(u=n+o*wa,i=n-.5*c);for(var s,l=u;o>0?l>i:i>l;l-=c)a.point((s=de([e,-r*Math.cos(l),-r*Math.sin(l)]))[0],s[1])}}function lr(n,t){var e=le(t);e[0]-=n,ve(e);var r=J(-e[1]);return((-e[2]<0?-r:r)+2*Math.PI-ka)%(2*Math.PI)}function fr(n,t,e){var r=Zo.range(n,t-ka,e).concat(t);return function(n){return r.map(function(t){return[n,t]})}}function hr(n,t,e){var r=Zo.range(n,t-ka,e).concat(t);return function(n){return r.map(function(t){return[t,n]})}}function gr(n){return n.source}function pr(n){return n.target}function vr(n,t,e,r){var u=Math.cos(t),i=Math.sin(t),o=Math.cos(r),a=Math.sin(r),c=u*Math.cos(n),s=u*Math.sin(n),l=o*Math.cos(e),f=o*Math.sin(e),h=2*Math.asin(Math.sqrt(tt(r-t)+u*o*tt(e-n))),g=1/Math.sin(h),p=h?function(n){var t=Math.sin(n*=h)*g,e=Math.sin(h-n)*g,r=e*c+t*l,u=e*s+t*f,o=e*i+t*a;return[Math.atan2(u,r)*Ca,Math.atan2(o,Math.sqrt(r*r+u*u))*Ca]}:function(){return[n*Ca,t*Ca]};return p.distance=h,p}function dr(){function n(n,u){var i=Math.sin(u*=Aa),o=Math.cos(u),a=ua((n*=Aa)-t),c=Math.cos(a);Dc+=Math.atan2(Math.sqrt((a=o*Math.sin(a))*a+(a=r*i-e*o*c)*a),e*i+r*o*c),t=n,e=i,r=o}var t,e,r;Pc.point=function(u,i){t=u*Aa,e=Math.sin(i*=Aa),r=Math.cos(i),Pc.point=n},Pc.lineEnd=function(){Pc.point=Pc.lineEnd=v}}function mr(n,t){function e(t,e){var r=Math.cos(t),u=Math.cos(e),i=n(r*u);return[i*u*Math.sin(t),i*Math.sin(e)]}return e.invert=function(n,e){var r=Math.sqrt(n*n+e*e),u=t(r),i=Math.sin(u),o=Math.cos(u);return[Math.atan2(n*i,r*o),Math.asin(r&&e*i/r)]},e}function yr(n,t){function e(n,t){o>0?-Sa+ka>t&&(t=-Sa+ka):t>Sa-ka&&(t=Sa-ka);var e=o/Math.pow(u(t),i);return[e*Math.sin(i*n),o-e*Math.cos(i*n)]}var r=Math.cos(n),u=function(n){return Math.tan(ba/4+n/2)},i=n===t?Math.sin(n):Math.log(r/Math.cos(t))/Math.log(u(t)/u(n)),o=r*Math.pow(u(n),i)/i;return i?(e.invert=function(n,t){var e=o-t,r=B(i)*Math.sqrt(n*n+e*e);return[Math.atan2(n,e)/i,2*Math.atan(Math.pow(o/r,1/i))-Sa]},e):Mr}function xr(n,t){function e(n,t){var e=i-t;return[e*Math.sin(u*n),i-e*Math.cos(u*n)]}var r=Math.cos(n),u=n===t?Math.sin(n):(r-Math.cos(t))/(t-n),i=r/u+n;return ua(u)<ka?rr:(e.invert=function(n,t){var e=i-t;return[Math.atan2(n,e)/u,i-B(u)*Math.sqrt(n*n+e*e)]},e)}function Mr(n,t){return[n,Math.log(Math.tan(ba/4+t/2))]}function _r(n){var t,e=nr(n),r=e.scale,u=e.translate,i=e.clipExtent;return e.scale=function(){var n=r.apply(e,arguments);return n===e?t?e.clipExtent(null):e:n},e.translate=function(){var n=u.apply(e,arguments);return n===e?t?e.clipExtent(null):e:n},e.clipExtent=function(n){var o=i.apply(e,arguments);if(o===e){if(t=null==n){var a=ba*r(),c=u();i([[c[0]-a,c[1]-a],[c[0]+a,c[1]+a]])}}else t&&(o=null);return o},e.clipExtent(null)}function br(n,t){return[Math.log(Math.tan(ba/4+t/2)),-n]}function wr(n){return n[0]}function Sr(n){return n[1]}function kr(n){for(var t=n.length,e=[0,1],r=2,u=2;t>u;u++){for(;r>1&&W(n[e[r-2]],n[e[r-1]],n[u])<=0;)--r;e[r++]=u}return e.slice(0,r)}function Er(n,t){return n[0]-t[0]||n[1]-t[1]}function Ar(n,t,e){return(e[0]-t[0])*(n[1]-t[1])<(e[1]-t[1])*(n[0]-t[0])}function Cr(n,t,e,r){var u=n[0],i=e[0],o=t[0]-u,a=r[0]-i,c=n[1],s=e[1],l=t[1]-c,f=r[1]-s,h=(a*(c-s)-f*(u-i))/(f*o-a*l);return[u+h*o,c+h*l]}function Nr(n){var t=n[0],e=n[n.length-1];return!(t[0]-e[0]||t[1]-e[1])}function zr(){Gr(this),this.edge=this.site=this.circle=null}function Lr(n){var t=Bc.pop()||new zr;return t.site=n,t}function Tr(n){Yr(n),Vc.remove(n),Bc.push(n),Gr(n)}function qr(n){var t=n.circle,e=t.x,r=t.cy,u={x:e,y:r},i=n.P,o=n.N,a=[n];Tr(n);for(var c=i;c.circle&&ua(e-c.circle.x)<ka&&ua(r-c.circle.cy)<ka;)i=c.P,a.unshift(c),Tr(c),c=i;a.unshift(c),Yr(c);for(var s=o;s.circle&&ua(e-s.circle.x)<ka&&ua(r-s.circle.cy)<ka;)o=s.N,a.push(s),Tr(s),s=o;a.push(s),Yr(s);var l,f=a.length;for(l=1;f>l;++l)s=a[l],c=a[l-1],Br(s.edge,c.site,s.site,u);c=a[0],s=a[f-1],s.edge=Xr(c.site,s.site,null,u),Or(c),Or(s)}function Rr(n){for(var t,e,r,u,i=n.x,o=n.y,a=Vc._;a;)if(r=Dr(a,o)-i,r>ka)a=a.L;else{if(u=i-Pr(a,o),!(u>ka)){r>-ka?(t=a.P,e=a):u>-ka?(t=a,e=a.N):t=e=a;break}if(!a.R){t=a;break}a=a.R}var c=Lr(n);if(Vc.insert(t,c),t||e){if(t===e)return Yr(t),e=Lr(t.site),Vc.insert(c,e),c.edge=e.edge=Xr(t.site,c.site),Or(t),Or(e),void 0;if(!e)return c.edge=Xr(t.site,c.site),void 0;Yr(t),Yr(e);var s=t.site,l=s.x,f=s.y,h=n.x-l,g=n.y-f,p=e.site,v=p.x-l,d=p.y-f,m=2*(h*d-g*v),y=h*h+g*g,x=v*v+d*d,M={x:(d*y-g*x)/m+l,y:(h*x-v*y)/m+f};Br(e.edge,s,p,M),c.edge=Xr(s,n,null,M),e.edge=Xr(n,p,null,M),Or(t),Or(e)}}function Dr(n,t){var e=n.site,r=e.x,u=e.y,i=u-t;if(!i)return r;var o=n.P;if(!o)return-1/0;e=o.site;var a=e.x,c=e.y,s=c-t;if(!s)return a;var l=a-r,f=1/i-1/s,h=l/s;return f?(-h+Math.sqrt(h*h-2*f*(l*l/(-2*s)-c+s/2+u-i/2)))/f+r:(r+a)/2}function Pr(n,t){var e=n.N;if(e)return Dr(e,t);var r=n.site;return r.y===t?r.x:1/0}function Ur(n){this.site=n,this.edges=[]}function jr(n){for(var t,e,r,u,i,o,a,c,s,l,f=n[0][0],h=n[1][0],g=n[0][1],p=n[1][1],v=Zc,d=v.length;d--;)if(i=v[d],i&&i.prepare())for(a=i.edges,c=a.length,o=0;c>o;)l=a[o].end(),r=l.x,u=l.y,s=a[++o%c].start(),t=s.x,e=s.y,(ua(r-t)>ka||ua(u-e)>ka)&&(a.splice(o,0,new Wr($r(i.site,l,ua(r-f)<ka&&p-u>ka?{x:f,y:ua(t-f)<ka?e:p}:ua(u-p)<ka&&h-r>ka?{x:ua(e-p)<ka?t:h,y:p}:ua(r-h)<ka&&u-g>ka?{x:h,y:ua(t-h)<ka?e:g}:ua(u-g)<ka&&r-f>ka?{x:ua(e-g)<ka?t:f,y:g}:null),i.site,null)),++c)}function Hr(n,t){return t.angle-n.angle}function Fr(){Gr(this),this.x=this.y=this.arc=this.site=this.cy=null}function Or(n){var t=n.P,e=n.N;if(t&&e){var r=t.site,u=n.site,i=e.site;if(r!==i){var o=u.x,a=u.y,c=r.x-o,s=r.y-a,l=i.x-o,f=i.y-a,h=2*(c*f-s*l);if(!(h>=-Ea)){var g=c*c+s*s,p=l*l+f*f,v=(f*g-s*p)/h,d=(c*p-l*g)/h,f=d+a,m=Wc.pop()||new Fr;m.arc=n,m.site=u,m.x=v+o,m.y=f+Math.sqrt(v*v+d*d),m.cy=f,n.circle=m;for(var y=null,x=$c._;x;)if(m.y<x.y||m.y===x.y&&m.x<=x.x){if(!x.L){y=x.P;break}x=x.L}else{if(!x.R){y=x;break}x=x.R}$c.insert(y,m),y||(Xc=m)}}}}function Yr(n){var t=n.circle;t&&(t.P||(Xc=t.N),$c.remove(t),Wc.push(t),Gr(t),n.circle=null)}function Ir(n){for(var t,e=Ic,r=Pe(n[0][0],n[0][1],n[1][0],n[1][1]),u=e.length;u--;)t=e[u],(!Zr(t,n)||!r(t)||ua(t.a.x-t.b.x)<ka&&ua(t.a.y-t.b.y)<ka)&&(t.a=t.b=null,e.splice(u,1))}function Zr(n,t){var e=n.b;if(e)return!0;var r,u,i=n.a,o=t[0][0],a=t[1][0],c=t[0][1],s=t[1][1],l=n.l,f=n.r,h=l.x,g=l.y,p=f.x,v=f.y,d=(h+p)/2,m=(g+v)/2;if(v===g){if(o>d||d>=a)return;if(h>p){if(i){if(i.y>=s)return}else i={x:d,y:c};e={x:d,y:s}}else{if(i){if(i.y<c)return}else i={x:d,y:s};e={x:d,y:c}}}else if(r=(h-p)/(v-g),u=m-r*d,-1>r||r>1)if(h>p){if(i){if(i.y>=s)return}else i={x:(c-u)/r,y:c};e={x:(s-u)/r,y:s}}else{if(i){if(i.y<c)return}else i={x:(s-u)/r,y:s};e={x:(c-u)/r,y:c}}else if(v>g){if(i){if(i.x>=a)return}else i={x:o,y:r*o+u};e={x:a,y:r*a+u}}else{if(i){if(i.x<o)return}else i={x:a,y:r*a+u};e={x:o,y:r*o+u}}return n.a=i,n.b=e,!0}function Vr(n,t){this.l=n,this.r=t,this.a=this.b=null}function Xr(n,t,e,r){var u=new Vr(n,t);return Ic.push(u),e&&Br(u,n,t,e),r&&Br(u,t,n,r),Zc[n.i].edges.push(new Wr(u,n,t)),Zc[t.i].edges.push(new Wr(u,t,n)),u}function $r(n,t,e){var r=new Vr(n,null);return r.a=t,r.b=e,Ic.push(r),r}function Br(n,t,e,r){n.a||n.b?n.l===e?n.b=r:n.a=r:(n.a=r,n.l=t,n.r=e)}function Wr(n,t,e){var r=n.a,u=n.b;this.edge=n,this.site=t,this.angle=e?Math.atan2(e.y-t.y,e.x-t.x):n.l===t?Math.atan2(u.x-r.x,r.y-u.y):Math.atan2(r.x-u.x,u.y-r.y)}function Jr(){this._=null}function Gr(n){n.U=n.C=n.L=n.R=n.P=n.N=null}function Kr(n,t){var e=t,r=t.R,u=e.U;u?u.L===e?u.L=r:u.R=r:n._=r,r.U=u,e.U=r,e.R=r.L,e.R&&(e.R.U=e),r.L=e}function Qr(n,t){var e=t,r=t.L,u=e.U;u?u.L===e?u.L=r:u.R=r:n._=r,r.U=u,e.U=r,e.L=r.R,e.L&&(e.L.U=e),r.R=e}function nu(n){for(;n.L;)n=n.L;return n}function tu(n,t){var e,r,u,i=n.sort(eu).pop();for(Ic=[],Zc=new Array(n.length),Vc=new Jr,$c=new Jr;;)if(u=Xc,i&&(!u||i.y<u.y||i.y===u.y&&i.x<u.x))(i.x!==e||i.y!==r)&&(Zc[i.i]=new Ur(i),Rr(i),e=i.x,r=i.y),i=n.pop();else{if(!u)break;qr(u.arc)}t&&(Ir(t),jr(t));var o={cells:Zc,edges:Ic};return Vc=$c=Ic=Zc=null,o}function eu(n,t){return t.y-n.y||t.x-n.x}function ru(n,t,e){return(n.x-e.x)*(t.y-n.y)-(n.x-t.x)*(e.y-n.y)}function uu(n){return n.x}function iu(n){return n.y}function ou(){return{leaf:!0,nodes:[],point:null,x:null,y:null}}function au(n,t,e,r,u,i){if(!n(t,e,r,u,i)){var o=.5*(e+u),a=.5*(r+i),c=t.nodes;c[0]&&au(n,c[0],e,r,o,a),c[1]&&au(n,c[1],o,r,u,a),c[2]&&au(n,c[2],e,a,o,i),c[3]&&au(n,c[3],o,a,u,i)}}function cu(n,t){n=Zo.rgb(n),t=Zo.rgb(t);var e=n.r,r=n.g,u=n.b,i=t.r-e,o=t.g-r,a=t.b-u;return function(n){return"#"+dt(Math.round(e+i*n))+dt(Math.round(r+o*n))+dt(Math.round(u+a*n))}}function su(n,t){var e,r={},u={};for(e in n)e in t?r[e]=hu(n[e],t[e]):u[e]=n[e];for(e in t)e in n||(u[e]=t[e]);return function(n){for(e in r)u[e]=r[e](n);return u}}function lu(n,t){return t-=n=+n,function(e){return n+t*e}}function fu(n,t){var e,r,u,i=Gc.lastIndex=Kc.lastIndex=0,o=-1,a=[],c=[];for(n+="",t+="";(e=Gc.exec(n))&&(r=Kc.exec(t));)(u=r.index)>i&&(u=t.substring(i,u),a[o]?a[o]+=u:a[++o]=u),(e=e[0])===(r=r[0])?a[o]?a[o]+=r:a[++o]=r:(a[++o]=null,c.push({i:o,x:lu(e,r)})),i=Kc.lastIndex;return i<t.length&&(u=t.substring(i),a[o]?a[o]+=u:a[++o]=u),a.length<2?c[0]?(t=c[0].x,function(n){return t(n)+""}):function(){return t}:(t=c.length,function(n){for(var e,r=0;t>r;++r)a[(e=c[r]).i]=e.x(n);return a.join("")})}function hu(n,t){for(var e,r=Zo.interpolators.length;--r>=0&&!(e=Zo.interpolators[r](n,t)););return e}function gu(n,t){var e,r=[],u=[],i=n.length,o=t.length,a=Math.min(n.length,t.length);for(e=0;a>e;++e)r.push(hu(n[e],t[e]));for(;i>e;++e)u[e]=n[e];for(;o>e;++e)u[e]=t[e];return function(n){for(e=0;a>e;++e)u[e]=r[e](n);return u}}function pu(n){return function(t){return 0>=t?0:t>=1?1:n(t)}}function vu(n){return function(t){return 1-n(1-t)}}function du(n){return function(t){return.5*(.5>t?n(2*t):2-n(2-2*t))}}function mu(n){return n*n}function yu(n){return n*n*n}function xu(n){if(0>=n)return 0;if(n>=1)return 1;var t=n*n,e=t*n;return 4*(.5>n?e:3*(n-t)+e-.75)}function Mu(n){return function(t){return Math.pow(t,n)}}function _u(n){return 1-Math.cos(n*Sa)}function bu(n){return Math.pow(2,10*(n-1))}function wu(n){return 1-Math.sqrt(1-n*n)}function Su(n,t){var e;return arguments.length<2&&(t=.45),arguments.length?e=t/wa*Math.asin(1/n):(n=1,e=t/4),function(r){return 1+n*Math.pow(2,-10*r)*Math.sin((r-e)*wa/t)}}function ku(n){return n||(n=1.70158),function(t){return t*t*((n+1)*t-n)}}function Eu(n){return 1/2.75>n?7.5625*n*n:2/2.75>n?7.5625*(n-=1.5/2.75)*n+.75:2.5/2.75>n?7.5625*(n-=2.25/2.75)*n+.9375:7.5625*(n-=2.625/2.75)*n+.984375}function Au(n,t){n=Zo.hcl(n),t=Zo.hcl(t);var e=n.h,r=n.c,u=n.l,i=t.h-e,o=t.c-r,a=t.l-u;return isNaN(o)&&(o=0,r=isNaN(r)?t.c:r),isNaN(i)?(i=0,e=isNaN(e)?t.h:e):i>180?i-=360:-180>i&&(i+=360),function(n){return ot(e+i*n,r+o*n,u+a*n)+""}}function Cu(n,t){n=Zo.hsl(n),t=Zo.hsl(t);var e=n.h,r=n.s,u=n.l,i=t.h-e,o=t.s-r,a=t.l-u;return isNaN(o)&&(o=0,r=isNaN(r)?t.s:r),isNaN(i)?(i=0,e=isNaN(e)?t.h:e):i>180?i-=360:-180>i&&(i+=360),function(n){return ut(e+i*n,r+o*n,u+a*n)+""}}function Nu(n,t){n=Zo.lab(n),t=Zo.lab(t);var e=n.l,r=n.a,u=n.b,i=t.l-e,o=t.a-r,a=t.b-u;return function(n){return ct(e+i*n,r+o*n,u+a*n)+""}}function zu(n,t){return t-=n,function(e){return Math.round(n+t*e)}}function Lu(n){var t=[n.a,n.b],e=[n.c,n.d],r=qu(t),u=Tu(t,e),i=qu(Ru(e,t,-u))||0;t[0]*e[1]<e[0]*t[1]&&(t[0]*=-1,t[1]*=-1,r*=-1,u*=-1),this.rotate=(r?Math.atan2(t[1],t[0]):Math.atan2(-e[0],e[1]))*Ca,this.translate=[n.e,n.f],this.scale=[r,i],this.skew=i?Math.atan2(u,i)*Ca:0}function Tu(n,t){return n[0]*t[0]+n[1]*t[1]}function qu(n){var t=Math.sqrt(Tu(n,n));return t&&(n[0]/=t,n[1]/=t),t}function Ru(n,t,e){return n[0]+=e*t[0],n[1]+=e*t[1],n}function Du(n,t){var e,r=[],u=[],i=Zo.transform(n),o=Zo.transform(t),a=i.translate,c=o.translate,s=i.rotate,l=o.rotate,f=i.skew,h=o.skew,g=i.scale,p=o.scale;return a[0]!=c[0]||a[1]!=c[1]?(r.push("translate(",null,",",null,")"),u.push({i:1,x:lu(a[0],c[0])},{i:3,x:lu(a[1],c[1])})):c[0]||c[1]?r.push("translate("+c+")"):r.push(""),s!=l?(s-l>180?l+=360:l-s>180&&(s+=360),u.push({i:r.push(r.pop()+"rotate(",null,")")-2,x:lu(s,l)})):l&&r.push(r.pop()+"rotate("+l+")"),f!=h?u.push({i:r.push(r.pop()+"skewX(",null,")")-2,x:lu(f,h)}):h&&r.push(r.pop()+"skewX("+h+")"),g[0]!=p[0]||g[1]!=p[1]?(e=r.push(r.pop()+"scale(",null,",",null,")"),u.push({i:e-4,x:lu(g[0],p[0])},{i:e-2,x:lu(g[1],p[1])})):(1!=p[0]||1!=p[1])&&r.push(r.pop()+"scale("+p+")"),e=u.length,function(n){for(var t,i=-1;++i<e;)r[(t=u[i]).i]=t.x(n);return r.join("")}}function Pu(n,t){return t=t-(n=+n)?1/(t-n):0,function(e){return(e-n)*t}}function Uu(n,t){return t=t-(n=+n)?1/(t-n):0,function(e){return Math.max(0,Math.min(1,(e-n)*t))}}function ju(n){for(var t=n.source,e=n.target,r=Fu(t,e),u=[t];t!==r;)t=t.parent,u.push(t);for(var i=u.length;e!==r;)u.splice(i,0,e),e=e.parent;return u}function Hu(n){for(var t=[],e=n.parent;null!=e;)t.push(n),n=e,e=e.parent;return t.push(n),t}function Fu(n,t){if(n===t)return n;for(var e=Hu(n),r=Hu(t),u=e.pop(),i=r.pop(),o=null;u===i;)o=u,u=e.pop(),i=r.pop();return o}function Ou(n){n.fixed|=2}function Yu(n){n.fixed&=-7}function Iu(n){n.fixed|=4,n.px=n.x,n.py=n.y}function Zu(n){n.fixed&=-5}function Vu(n,t,e){var r=0,u=0;if(n.charge=0,!n.leaf)for(var i,o=n.nodes,a=o.length,c=-1;++c<a;)i=o[c],null!=i&&(Vu(i,t,e),n.charge+=i.charge,r+=i.charge*i.cx,u+=i.charge*i.cy);if(n.point){n.leaf||(n.point.x+=Math.random()-.5,n.point.y+=Math.random()-.5);var s=t*e[n.point.index];n.charge+=n.pointCharge=s,r+=s*n.point.x,u+=s*n.point.y}n.cx=r/n.charge,n.cy=u/n.charge}function Xu(n,t){return Zo.rebind(n,t,"sort","children","value"),n.nodes=n,n.links=Ku,n}function $u(n,t){for(var e=[n];null!=(n=e.pop());)if(t(n),(u=n.children)&&(r=u.length))for(var r,u;--r>=0;)e.push(u[r])}function Bu(n,t){for(var e=[n],r=[];null!=(n=e.pop());)if(r.push(n),(i=n.children)&&(u=i.length))for(var u,i,o=-1;++o<u;)e.push(i[o]);for(;null!=(n=r.pop());)t(n)}function Wu(n){return n.children}function Ju(n){return n.value}function Gu(n,t){return t.value-n.value}function Ku(n){return Zo.merge(n.map(function(n){return(n.children||[]).map(function(t){return{source:n,target:t}})}))}function Qu(n){return n.x}function ni(n){return n.y}function ti(n,t,e){n.y0=t,n.y=e}function ei(n){return Zo.range(n.length)}function ri(n){for(var t=-1,e=n[0].length,r=[];++t<e;)r[t]=0;return r}function ui(n){for(var t,e=1,r=0,u=n[0][1],i=n.length;i>e;++e)(t=n[e][1])>u&&(r=e,u=t);return r}function ii(n){return n.reduce(oi,0)}function oi(n,t){return n+t[1]}function ai(n,t){return ci(n,Math.ceil(Math.log(t.length)/Math.LN2+1))}function ci(n,t){for(var e=-1,r=+n[0],u=(n[1]-r)/t,i=[];++e<=t;)i[e]=u*e+r;return i}function si(n){return[Zo.min(n),Zo.max(n)]}function li(n,t){return n.value-t.value}function fi(n,t){var e=n._pack_next;n._pack_next=t,t._pack_prev=n,t._pack_next=e,e._pack_prev=t}function hi(n,t){n._pack_next=t,t._pack_prev=n}function gi(n,t){var e=t.x-n.x,r=t.y-n.y,u=n.r+t.r;return.999*u*u>e*e+r*r}function pi(n){function t(n){l=Math.min(n.x-n.r,l),f=Math.max(n.x+n.r,f),h=Math.min(n.y-n.r,h),g=Math.max(n.y+n.r,g)}if((e=n.children)&&(s=e.length)){var e,r,u,i,o,a,c,s,l=1/0,f=-1/0,h=1/0,g=-1/0;if(e.forEach(vi),r=e[0],r.x=-r.r,r.y=0,t(r),s>1&&(u=e[1],u.x=u.r,u.y=0,t(u),s>2))for(i=e[2],yi(r,u,i),t(i),fi(r,i),r._pack_prev=i,fi(i,u),u=r._pack_next,o=3;s>o;o++){yi(r,u,i=e[o]);var p=0,v=1,d=1;for(a=u._pack_next;a!==u;a=a._pack_next,v++)if(gi(a,i)){p=1;break}if(1==p)for(c=r._pack_prev;c!==a._pack_prev&&!gi(c,i);c=c._pack_prev,d++);p?(d>v||v==d&&u.r<r.r?hi(r,u=a):hi(r=c,u),o--):(fi(r,i),u=i,t(i))}var m=(l+f)/2,y=(h+g)/2,x=0;for(o=0;s>o;o++)i=e[o],i.x-=m,i.y-=y,x=Math.max(x,i.r+Math.sqrt(i.x*i.x+i.y*i.y));n.r=x,e.forEach(di)}}function vi(n){n._pack_next=n._pack_prev=n}function di(n){delete n._pack_next,delete n._pack_prev}function mi(n,t,e,r){var u=n.children;if(n.x=t+=r*n.x,n.y=e+=r*n.y,n.r*=r,u)for(var i=-1,o=u.length;++i<o;)mi(u[i],t,e,r)}function yi(n,t,e){var r=n.r+e.r,u=t.x-n.x,i=t.y-n.y;if(r&&(u||i)){var o=t.r+e.r,a=u*u+i*i;o*=o,r*=r;var c=.5+(r-o)/(2*a),s=Math.sqrt(Math.max(0,2*o*(r+a)-(r-=a)*r-o*o))/(2*a);e.x=n.x+c*u+s*i,e.y=n.y+c*i-s*u}else e.x=n.x+r,e.y=n.y}function xi(n,t){return n.parent==t.parent?1:2}function Mi(n){var t=n.children;return t.length?t[0]:n.t}function _i(n){var t,e=n.children;return(t=e.length)?e[t-1]:n.t}function bi(n,t,e){var r=e/(t.i-n.i);t.c-=r,t.s+=e,n.c+=r,t.z+=e,t.m+=e}function wi(n){for(var t,e=0,r=0,u=n.children,i=u.length;--i>=0;)t=u[i],t.z+=e,t.m+=e,e+=t.s+(r+=t.c)}function Si(n,t,e){return n.a.parent===t.parent?n.a:e}function ki(n){return 1+Zo.max(n,function(n){return n.y})}function Ei(n){return n.reduce(function(n,t){return n+t.x},0)/n.length}function Ai(n){var t=n.children;return t&&t.length?Ai(t[0]):n}function Ci(n){var t,e=n.children;return e&&(t=e.length)?Ci(e[t-1]):n}function Ni(n){return{x:n.x,y:n.y,dx:n.dx,dy:n.dy}}function zi(n,t){var e=n.x+t[3],r=n.y+t[0],u=n.dx-t[1]-t[3],i=n.dy-t[0]-t[2];return 0>u&&(e+=u/2,u=0),0>i&&(r+=i/2,i=0),{x:e,y:r,dx:u,dy:i}}function Li(n){var t=n[0],e=n[n.length-1];return e>t?[t,e]:[e,t]}function Ti(n){return n.rangeExtent?n.rangeExtent():Li(n.range())}function qi(n,t,e,r){var u=e(n[0],n[1]),i=r(t[0],t[1]);return function(n){return i(u(n))}}function Ri(n,t){var e,r=0,u=n.length-1,i=n[r],o=n[u];return i>o&&(e=r,r=u,u=e,e=i,i=o,o=e),n[r]=t.floor(i),n[u]=t.ceil(o),n}function Di(n){return n?{floor:function(t){return Math.floor(t/n)*n},ceil:function(t){return Math.ceil(t/n)*n}}:ss}function Pi(n,t,e,r){var u=[],i=[],o=0,a=Math.min(n.length,t.length)-1;for(n[a]<n[0]&&(n=n.slice().reverse(),t=t.slice().reverse());++o<=a;)u.push(e(n[o-1],n[o])),i.push(r(t[o-1],t[o]));return function(t){var e=Zo.bisect(n,t,1,a)-1;return i[e](u[e](t))}}function Ui(n,t,e,r){function u(){var u=Math.min(n.length,t.length)>2?Pi:qi,c=r?Uu:Pu;return o=u(n,t,c,e),a=u(t,n,c,hu),i}function i(n){return o(n)}var o,a;return i.invert=function(n){return a(n)},i.domain=function(t){return arguments.length?(n=t.map(Number),u()):n},i.range=function(n){return arguments.length?(t=n,u()):t},i.rangeRound=function(n){return i.range(n).interpolate(zu)},i.clamp=function(n){return arguments.length?(r=n,u()):r},i.interpolate=function(n){return arguments.length?(e=n,u()):e},i.ticks=function(t){return Oi(n,t)},i.tickFormat=function(t,e){return Yi(n,t,e)},i.nice=function(t){return Hi(n,t),u()},i.copy=function(){return Ui(n,t,e,r)},u()}function ji(n,t){return Zo.rebind(n,t,"range","rangeRound","interpolate","clamp")}function Hi(n,t){return Ri(n,Di(Fi(n,t)[2]))}function Fi(n,t){null==t&&(t=10);var e=Li(n),r=e[1]-e[0],u=Math.pow(10,Math.floor(Math.log(r/t)/Math.LN10)),i=t/r*u;return.15>=i?u*=10:.35>=i?u*=5:.75>=i&&(u*=2),e[0]=Math.ceil(e[0]/u)*u,e[1]=Math.floor(e[1]/u)*u+.5*u,e[2]=u,e}function Oi(n,t){return Zo.range.apply(Zo,Fi(n,t))}function Yi(n,t,e){var r=Fi(n,t);if(e){var u=Ga.exec(e);if(u.shift(),"s"===u[8]){var i=Zo.formatPrefix(Math.max(ua(r[0]),ua(r[1])));return u[7]||(u[7]="."+Ii(i.scale(r[2]))),u[8]="f",e=Zo.format(u.join("")),function(n){return e(i.scale(n))+i.symbol}}u[7]||(u[7]="."+Zi(u[8],r)),e=u.join("")}else e=",."+Ii(r[2])+"f";return Zo.format(e)}function Ii(n){return-Math.floor(Math.log(n)/Math.LN10+.01)}function Zi(n,t){var e=Ii(t[2]);return n in ls?Math.abs(e-Ii(Math.max(ua(t[0]),ua(t[1]))))+ +("e"!==n):e-2*("%"===n)}function Vi(n,t,e,r){function u(n){return(e?Math.log(0>n?0:n):-Math.log(n>0?0:-n))/Math.log(t)}function i(n){return e?Math.pow(t,n):-Math.pow(t,-n)}function o(t){return n(u(t))}return o.invert=function(t){return i(n.invert(t))},o.domain=function(t){return arguments.length?(e=t[0]>=0,n.domain((r=t.map(Number)).map(u)),o):r},o.base=function(e){return arguments.length?(t=+e,n.domain(r.map(u)),o):t},o.nice=function(){var t=Ri(r.map(u),e?Math:hs);return n.domain(t),r=t.map(i),o},o.ticks=function(){var n=Li(r),o=[],a=n[0],c=n[1],s=Math.floor(u(a)),l=Math.ceil(u(c)),f=t%1?2:t;if(isFinite(l-s)){if(e){for(;l>s;s++)for(var h=1;f>h;h++)o.push(i(s)*h);o.push(i(s))}else for(o.push(i(s));s++<l;)for(var h=f-1;h>0;h--)o.push(i(s)*h);for(s=0;o[s]<a;s++);for(l=o.length;o[l-1]>c;l--);o=o.slice(s,l)}return o},o.tickFormat=function(n,t){if(!arguments.length)return fs;arguments.length<2?t=fs:"function"!=typeof t&&(t=Zo.format(t));var r,a=Math.max(.1,n/o.ticks().length),c=e?(r=1e-12,Math.ceil):(r=-1e-12,Math.floor);return function(n){return n/i(c(u(n)+r))<=a?t(n):""}},o.copy=function(){return Vi(n.copy(),t,e,r)},ji(o,n)}function Xi(n,t,e){function r(t){return n(u(t))}var u=$i(t),i=$i(1/t);return r.invert=function(t){return i(n.invert(t))},r.domain=function(t){return arguments.length?(n.domain((e=t.map(Number)).map(u)),r):e},r.ticks=function(n){return Oi(e,n)},r.tickFormat=function(n,t){return Yi(e,n,t)},r.nice=function(n){return r.domain(Hi(e,n))},r.exponent=function(o){return arguments.length?(u=$i(t=o),i=$i(1/t),n.domain(e.map(u)),r):t},r.copy=function(){return Xi(n.copy(),t,e)},ji(r,n)}function $i(n){return function(t){return 0>t?-Math.pow(-t,n):Math.pow(t,n)}}function Bi(n,t){function e(e){return i[((u.get(e)||("range"===t.t?u.set(e,n.push(e)):0/0))-1)%i.length]}function r(t,e){return Zo.range(n.length).map(function(n){return t+e*n})}var u,i,a;return e.domain=function(r){if(!arguments.length)return n;n=[],u=new o;for(var i,a=-1,c=r.length;++a<c;)u.has(i=r[a])||u.set(i,n.push(i));return e[t.t].apply(e,t.a)},e.range=function(n){return arguments.length?(i=n,a=0,t={t:"range",a:arguments},e):i},e.rangePoints=function(u,o){arguments.length<2&&(o=0);var c=u[0],s=u[1],l=(s-c)/(Math.max(1,n.length-1)+o);return i=r(n.length<2?(c+s)/2:c+l*o/2,l),a=0,t={t:"rangePoints",a:arguments},e},e.rangeBands=function(u,o,c){arguments.length<2&&(o=0),arguments.length<3&&(c=o);var s=u[1]<u[0],l=u[s-0],f=u[1-s],h=(f-l)/(n.length-o+2*c);return i=r(l+h*c,h),s&&i.reverse(),a=h*(1-o),t={t:"rangeBands",a:arguments},e},e.rangeRoundBands=function(u,o,c){arguments.length<2&&(o=0),arguments.length<3&&(c=o);var s=u[1]<u[0],l=u[s-0],f=u[1-s],h=Math.floor((f-l)/(n.length-o+2*c)),g=f-l-(n.length-o)*h;return i=r(l+Math.round(g/2),h),s&&i.reverse(),a=Math.round(h*(1-o)),t={t:"rangeRoundBands",a:arguments},e},e.rangeBand=function(){return a},e.rangeExtent=function(){return Li(t.a[0])},e.copy=function(){return Bi(n,t)},e.domain(n)}function Wi(e,r){function u(){var n=0,t=r.length;for(o=[];++n<t;)o[n-1]=Zo.quantile(e,n/t);return i}function i(n){return isNaN(n=+n)?void 0:r[Zo.bisect(o,n)]}var o;return i.domain=function(r){return arguments.length?(e=r.filter(t).sort(n),u()):e},i.range=function(n){return arguments.length?(r=n,u()):r},i.quantiles=function(){return o},i.invertExtent=function(n){return n=r.indexOf(n),0>n?[0/0,0/0]:[n>0?o[n-1]:e[0],n<o.length?o[n]:e[e.length-1]]},i.copy=function(){return Wi(e,r)},u()}function Ji(n,t,e){function r(t){return e[Math.max(0,Math.min(o,Math.floor(i*(t-n))))]}function u(){return i=e.length/(t-n),o=e.length-1,r}var i,o;return r.domain=function(e){return arguments.length?(n=+e[0],t=+e[e.length-1],u()):[n,t]},r.range=function(n){return arguments.length?(e=n,u()):e},r.invertExtent=function(t){return t=e.indexOf(t),t=0>t?0/0:t/i+n,[t,t+1/i]},r.copy=function(){return Ji(n,t,e)},u()}function Gi(n,t){function e(e){return e>=e?t[Zo.bisect(n,e)]:void 0}return e.domain=function(t){return arguments.length?(n=t,e):n},e.range=function(n){return arguments.length?(t=n,e):t},e.invertExtent=function(e){return e=t.indexOf(e),[n[e-1],n[e]]},e.copy=function(){return Gi(n,t)},e}function Ki(n){function t(n){return+n}return t.invert=t,t.domain=t.range=function(e){return arguments.length?(n=e.map(t),t):n},t.ticks=function(t){return Oi(n,t)},t.tickFormat=function(t,e){return Yi(n,t,e)},t.copy=function(){return Ki(n)},t}function Qi(n){return n.innerRadius}function no(n){return n.outerRadius}function to(n){return n.startAngle}function eo(n){return n.endAngle}function ro(n){function t(t){function o(){s.push("M",i(n(l),a))}for(var c,s=[],l=[],f=-1,h=t.length,g=bt(e),p=bt(r);++f<h;)u.call(this,c=t[f],f)?l.push([+g.call(this,c,f),+p.call(this,c,f)]):l.length&&(o(),l=[]);return l.length&&o(),s.length?s.join(""):null}var e=wr,r=Sr,u=we,i=uo,o=i.key,a=.7;return t.x=function(n){return arguments.length?(e=n,t):e},t.y=function(n){return arguments.length?(r=n,t):r},t.defined=function(n){return arguments.length?(u=n,t):u},t.interpolate=function(n){return arguments.length?(o="function"==typeof n?i=n:(i=xs.get(n)||uo).key,t):o},t.tension=function(n){return arguments.length?(a=n,t):a},t}function uo(n){return n.join("L")}function io(n){return uo(n)+"Z"}function oo(n){for(var t=0,e=n.length,r=n[0],u=[r[0],",",r[1]];++t<e;)u.push("H",(r[0]+(r=n[t])[0])/2,"V",r[1]);return e>1&&u.push("H",r[0]),u.join("")}function ao(n){for(var t=0,e=n.length,r=n[0],u=[r[0],",",r[1]];++t<e;)u.push("V",(r=n[t])[1],"H",r[0]);return u.join("")}function co(n){for(var t=0,e=n.length,r=n[0],u=[r[0],",",r[1]];++t<e;)u.push("H",(r=n[t])[0],"V",r[1]);return u.join("")}function so(n,t){return n.length<4?uo(n):n[1]+ho(n.slice(1,n.length-1),go(n,t))}function lo(n,t){return n.length<3?uo(n):n[0]+ho((n.push(n[0]),n),go([n[n.length-2]].concat(n,[n[1]]),t))}function fo(n,t){return n.length<3?uo(n):n[0]+ho(n,go(n,t))}function ho(n,t){if(t.length<1||n.length!=t.length&&n.length!=t.length+2)return uo(n);var e=n.length!=t.length,r="",u=n[0],i=n[1],o=t[0],a=o,c=1;if(e&&(r+="Q"+(i[0]-2*o[0]/3)+","+(i[1]-2*o[1]/3)+","+i[0]+","+i[1],u=n[1],c=2),t.length>1){a=t[1],i=n[c],c++,r+="C"+(u[0]+o[0])+","+(u[1]+o[1])+","+(i[0]-a[0])+","+(i[1]-a[1])+","+i[0]+","+i[1];for(var s=2;s<t.length;s++,c++)i=n[c],a=t[s],r+="S"+(i[0]-a[0])+","+(i[1]-a[1])+","+i[0]+","+i[1]}if(e){var l=n[c];r+="Q"+(i[0]+2*a[0]/3)+","+(i[1]+2*a[1]/3)+","+l[0]+","+l[1]}return r}function go(n,t){for(var e,r=[],u=(1-t)/2,i=n[0],o=n[1],a=1,c=n.length;++a<c;)e=i,i=o,o=n[a],r.push([u*(o[0]-e[0]),u*(o[1]-e[1])]);return r}function po(n){if(n.length<3)return uo(n);var t=1,e=n.length,r=n[0],u=r[0],i=r[1],o=[u,u,u,(r=n[1])[0]],a=[i,i,i,r[1]],c=[u,",",i,"L",xo(bs,o),",",xo(bs,a)];for(n.push(n[e-1]);++t<=e;)r=n[t],o.shift(),o.push(r[0]),a.shift(),a.push(r[1]),Mo(c,o,a);return n.pop(),c.push("L",r),c.join("")}function vo(n){if(n.length<4)return uo(n);for(var t,e=[],r=-1,u=n.length,i=[0],o=[0];++r<3;)t=n[r],i.push(t[0]),o.push(t[1]);for(e.push(xo(bs,i)+","+xo(bs,o)),--r;++r<u;)t=n[r],i.shift(),i.push(t[0]),o.shift(),o.push(t[1]),Mo(e,i,o);return e.join("")}function mo(n){for(var t,e,r=-1,u=n.length,i=u+4,o=[],a=[];++r<4;)e=n[r%u],o.push(e[0]),a.push(e[1]);for(t=[xo(bs,o),",",xo(bs,a)],--r;++r<i;)e=n[r%u],o.shift(),o.push(e[0]),a.shift(),a.push(e[1]),Mo(t,o,a);return t.join("")}function yo(n,t){var e=n.length-1;if(e)for(var r,u,i=n[0][0],o=n[0][1],a=n[e][0]-i,c=n[e][1]-o,s=-1;++s<=e;)r=n[s],u=s/e,r[0]=t*r[0]+(1-t)*(i+u*a),r[1]=t*r[1]+(1-t)*(o+u*c);return po(n)}function xo(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]+n[3]*t[3]}function Mo(n,t,e){n.push("C",xo(Ms,t),",",xo(Ms,e),",",xo(_s,t),",",xo(_s,e),",",xo(bs,t),",",xo(bs,e))}function _o(n,t){return(t[1]-n[1])/(t[0]-n[0])}function bo(n){for(var t=0,e=n.length-1,r=[],u=n[0],i=n[1],o=r[0]=_o(u,i);++t<e;)r[t]=(o+(o=_o(u=i,i=n[t+1])))/2;return r[t]=o,r}function wo(n){for(var t,e,r,u,i=[],o=bo(n),a=-1,c=n.length-1;++a<c;)t=_o(n[a],n[a+1]),ua(t)<ka?o[a]=o[a+1]=0:(e=o[a]/t,r=o[a+1]/t,u=e*e+r*r,u>9&&(u=3*t/Math.sqrt(u),o[a]=u*e,o[a+1]=u*r));for(a=-1;++a<=c;)u=(n[Math.min(c,a+1)][0]-n[Math.max(0,a-1)][0])/(6*(1+o[a]*o[a])),i.push([u||0,o[a]*u||0]);return i}function So(n){return n.length<3?uo(n):n[0]+ho(n,wo(n))}function ko(n){for(var t,e,r,u=-1,i=n.length;++u<i;)t=n[u],e=t[0],r=t[1]+ms,t[0]=e*Math.cos(r),t[1]=e*Math.sin(r);return n}function Eo(n){function t(t){function c(){v.push("M",a(n(m),f),l,s(n(d.reverse()),f),"Z")}for(var h,g,p,v=[],d=[],m=[],y=-1,x=t.length,M=bt(e),_=bt(u),b=e===r?function(){return g}:bt(r),w=u===i?function(){return p}:bt(i);++y<x;)o.call(this,h=t[y],y)?(d.push([g=+M.call(this,h,y),p=+_.call(this,h,y)]),m.push([+b.call(this,h,y),+w.call(this,h,y)])):d.length&&(c(),d=[],m=[]);return d.length&&c(),v.length?v.join(""):null}var e=wr,r=wr,u=0,i=Sr,o=we,a=uo,c=a.key,s=a,l="L",f=.7;return t.x=function(n){return arguments.length?(e=r=n,t):r},t.x0=function(n){return arguments.length?(e=n,t):e},t.x1=function(n){return arguments.length?(r=n,t):r},t.y=function(n){return arguments.length?(u=i=n,t):i},t.y0=function(n){return arguments.length?(u=n,t):u},t.y1=function(n){return arguments.length?(i=n,t):i},t.defined=function(n){return arguments.length?(o=n,t):o},t.interpolate=function(n){return arguments.length?(c="function"==typeof n?a=n:(a=xs.get(n)||uo).key,s=a.reverse||a,l=a.closed?"M":"L",t):c},t.tension=function(n){return arguments.length?(f=n,t):f},t}function Ao(n){return n.radius}function Co(n){return[n.x,n.y]}function No(n){return function(){var t=n.apply(this,arguments),e=t[0],r=t[1]+ms;return[e*Math.cos(r),e*Math.sin(r)]}}function zo(){return 64}function Lo(){return"circle"}function To(n){var t=Math.sqrt(n/ba);return"M0,"+t+"A"+t+","+t+" 0 1,1 0,"+-t+"A"+t+","+t+" 0 1,1 0,"+t+"Z"}function qo(n,t){return sa(n,Cs),n.id=t,n}function Ro(n,t,e,r){var u=n.id;return P(n,"function"==typeof e?function(n,i,o){n.__transition__[u].tween.set(t,r(e.call(n,n.__data__,i,o)))}:(e=r(e),function(n){n.__transition__[u].tween.set(t,e)}))}function Do(n){return null==n&&(n=""),function(){this.textContent=n}}function Po(n,t,e,r){var u=n.__transition__||(n.__transition__={active:0,count:0}),i=u[e];if(!i){var a=r.time;i=u[e]={tween:new o,time:a,ease:r.ease,delay:r.delay,duration:r.duration},++u.count,Zo.timer(function(r){function o(r){return u.active>e?s():(u.active=e,i.event&&i.event.start.call(n,l,t),i.tween.forEach(function(e,r){(r=r.call(n,l,t))&&v.push(r)}),Zo.timer(function(){return p.c=c(r||1)?we:c,1},0,a),void 0)}function c(r){if(u.active!==e)return s();for(var o=r/g,a=f(o),c=v.length;c>0;)v[--c].call(n,a);
+return o>=1?(i.event&&i.event.end.call(n,l,t),s()):void 0}function s(){return--u.count?delete u[e]:delete n.__transition__,1}var l=n.__data__,f=i.ease,h=i.delay,g=i.duration,p=Ba,v=[];return p.t=h+a,r>=h?o(r-h):(p.c=o,void 0)},0,a)}}function Uo(n,t){n.attr("transform",function(n){return"translate("+t(n)+",0)"})}function jo(n,t){n.attr("transform",function(n){return"translate(0,"+t(n)+")"})}function Ho(n){return n.toISOString()}function Fo(n,t,e){function r(t){return n(t)}function u(n,e){var r=n[1]-n[0],u=r/e,i=Zo.bisect(Us,u);return i==Us.length?[t.year,Fi(n.map(function(n){return n/31536e6}),e)[2]]:i?t[u/Us[i-1]<Us[i]/u?i-1:i]:[Fs,Fi(n,e)[2]]}return r.invert=function(t){return Oo(n.invert(t))},r.domain=function(t){return arguments.length?(n.domain(t),r):n.domain().map(Oo)},r.nice=function(n,t){function e(e){return!isNaN(e)&&!n.range(e,Oo(+e+1),t).length}var i=r.domain(),o=Li(i),a=null==n?u(o,10):"number"==typeof n&&u(o,n);return a&&(n=a[0],t=a[1]),r.domain(Ri(i,t>1?{floor:function(t){for(;e(t=n.floor(t));)t=Oo(t-1);return t},ceil:function(t){for(;e(t=n.ceil(t));)t=Oo(+t+1);return t}}:n))},r.ticks=function(n,t){var e=Li(r.domain()),i=null==n?u(e,10):"number"==typeof n?u(e,n):!n.range&&[{range:n},t];return i&&(n=i[0],t=i[1]),n.range(e[0],Oo(+e[1]+1),1>t?1:t)},r.tickFormat=function(){return e},r.copy=function(){return Fo(n.copy(),t,e)},ji(r,n)}function Oo(n){return new Date(n)}function Yo(n){return JSON.parse(n.responseText)}function Io(n){var t=$o.createRange();return t.selectNode($o.body),t.createContextualFragment(n.responseText)}var Zo={version:"3.4.11"};Date.now||(Date.now=function(){return+new Date});var Vo=[].slice,Xo=function(n){return Vo.call(n)},$o=document,Bo=$o.documentElement,Wo=window;try{Xo(Bo.childNodes)[0].nodeType}catch(Jo){Xo=function(n){for(var t=n.length,e=new Array(t);t--;)e[t]=n[t];return e}}try{$o.createElement("div").style.setProperty("opacity",0,"")}catch(Go){var Ko=Wo.Element.prototype,Qo=Ko.setAttribute,na=Ko.setAttributeNS,ta=Wo.CSSStyleDeclaration.prototype,ea=ta.setProperty;Ko.setAttribute=function(n,t){Qo.call(this,n,t+"")},Ko.setAttributeNS=function(n,t,e){na.call(this,n,t,e+"")},ta.setProperty=function(n,t,e){ea.call(this,n,t+"",e)}}Zo.ascending=n,Zo.descending=function(n,t){return n>t?-1:t>n?1:t>=n?0:0/0},Zo.min=function(n,t){var e,r,u=-1,i=n.length;if(1===arguments.length){for(;++u<i&&!(null!=(e=n[u])&&e>=e);)e=void 0;for(;++u<i;)null!=(r=n[u])&&e>r&&(e=r)}else{for(;++u<i&&!(null!=(e=t.call(n,n[u],u))&&e>=e);)e=void 0;for(;++u<i;)null!=(r=t.call(n,n[u],u))&&e>r&&(e=r)}return e},Zo.max=function(n,t){var e,r,u=-1,i=n.length;if(1===arguments.length){for(;++u<i&&!(null!=(e=n[u])&&e>=e);)e=void 0;for(;++u<i;)null!=(r=n[u])&&r>e&&(e=r)}else{for(;++u<i&&!(null!=(e=t.call(n,n[u],u))&&e>=e);)e=void 0;for(;++u<i;)null!=(r=t.call(n,n[u],u))&&r>e&&(e=r)}return e},Zo.extent=function(n,t){var e,r,u,i=-1,o=n.length;if(1===arguments.length){for(;++i<o&&!(null!=(e=u=n[i])&&e>=e);)e=u=void 0;for(;++i<o;)null!=(r=n[i])&&(e>r&&(e=r),r>u&&(u=r))}else{for(;++i<o&&!(null!=(e=u=t.call(n,n[i],i))&&e>=e);)e=void 0;for(;++i<o;)null!=(r=t.call(n,n[i],i))&&(e>r&&(e=r),r>u&&(u=r))}return[e,u]},Zo.sum=function(n,t){var e,r=0,u=n.length,i=-1;if(1===arguments.length)for(;++i<u;)isNaN(e=+n[i])||(r+=e);else for(;++i<u;)isNaN(e=+t.call(n,n[i],i))||(r+=e);return r},Zo.mean=function(n,e){var r,u=0,i=n.length,o=-1,a=i;if(1===arguments.length)for(;++o<i;)t(r=n[o])?u+=r:--a;else for(;++o<i;)t(r=e.call(n,n[o],o))?u+=r:--a;return a?u/a:void 0},Zo.quantile=function(n,t){var e=(n.length-1)*t+1,r=Math.floor(e),u=+n[r-1],i=e-r;return i?u+i*(n[r]-u):u},Zo.median=function(e,r){return arguments.length>1&&(e=e.map(r)),e=e.filter(t),e.length?Zo.quantile(e.sort(n),.5):void 0};var ra=e(n);Zo.bisectLeft=ra.left,Zo.bisect=Zo.bisectRight=ra.right,Zo.bisector=function(t){return e(1===t.length?function(e,r){return n(t(e),r)}:t)},Zo.shuffle=function(n){for(var t,e,r=n.length;r;)e=0|Math.random()*r--,t=n[r],n[r]=n[e],n[e]=t;return n},Zo.permute=function(n,t){for(var e=t.length,r=new Array(e);e--;)r[e]=n[t[e]];return r},Zo.pairs=function(n){for(var t,e=0,r=n.length-1,u=n[0],i=new Array(0>r?0:r);r>e;)i[e]=[t=u,u=n[++e]];return i},Zo.zip=function(){if(!(u=arguments.length))return[];for(var n=-1,t=Zo.min(arguments,r),e=new Array(t);++n<t;)for(var u,i=-1,o=e[n]=new Array(u);++i<u;)o[i]=arguments[i][n];return e},Zo.transpose=function(n){return Zo.zip.apply(Zo,n)},Zo.keys=function(n){var t=[];for(var e in n)t.push(e);return t},Zo.values=function(n){var t=[];for(var e in n)t.push(n[e]);return t},Zo.entries=function(n){var t=[];for(var e in n)t.push({key:e,value:n[e]});return t},Zo.merge=function(n){for(var t,e,r,u=n.length,i=-1,o=0;++i<u;)o+=n[i].length;for(e=new Array(o);--u>=0;)for(r=n[u],t=r.length;--t>=0;)e[--o]=r[t];return e};var ua=Math.abs;Zo.range=function(n,t,e){if(arguments.length<3&&(e=1,arguments.length<2&&(t=n,n=0)),1/0===(t-n)/e)throw new Error("infinite range");var r,i=[],o=u(ua(e)),a=-1;if(n*=o,t*=o,e*=o,0>e)for(;(r=n+e*++a)>t;)i.push(r/o);else for(;(r=n+e*++a)<t;)i.push(r/o);return i},Zo.map=function(n){var t=new o;if(n instanceof o)n.forEach(function(n,e){t.set(n,e)});else for(var e in n)t.set(e,n[e]);return t},i(o,{has:a,get:function(n){return this[ia+n]},set:function(n,t){return this[ia+n]=t},remove:c,keys:s,values:function(){var n=[];return this.forEach(function(t,e){n.push(e)}),n},entries:function(){var n=[];return this.forEach(function(t,e){n.push({key:t,value:e})}),n},size:l,empty:f,forEach:function(n){for(var t in this)t.charCodeAt(0)===oa&&n.call(this,t.substring(1),this[t])}});var ia="\x00",oa=ia.charCodeAt(0);Zo.nest=function(){function n(t,a,c){if(c>=i.length)return r?r.call(u,a):e?a.sort(e):a;for(var s,l,f,h,g=-1,p=a.length,v=i[c++],d=new o;++g<p;)(h=d.get(s=v(l=a[g])))?h.push(l):d.set(s,[l]);return t?(l=t(),f=function(e,r){l.set(e,n(t,r,c))}):(l={},f=function(e,r){l[e]=n(t,r,c)}),d.forEach(f),l}function t(n,e){if(e>=i.length)return n;var r=[],u=a[e++];return n.forEach(function(n,u){r.push({key:n,values:t(u,e)})}),u?r.sort(function(n,t){return u(n.key,t.key)}):r}var e,r,u={},i=[],a=[];return u.map=function(t,e){return n(e,t,0)},u.entries=function(e){return t(n(Zo.map,e,0),0)},u.key=function(n){return i.push(n),u},u.sortKeys=function(n){return a[i.length-1]=n,u},u.sortValues=function(n){return e=n,u},u.rollup=function(n){return r=n,u},u},Zo.set=function(n){var t=new h;if(n)for(var e=0,r=n.length;r>e;++e)t.add(n[e]);return t},i(h,{has:a,add:function(n){return this[ia+n]=!0,n},remove:function(n){return n=ia+n,n in this&&delete this[n]},values:s,size:l,empty:f,forEach:function(n){for(var t in this)t.charCodeAt(0)===oa&&n.call(this,t.substring(1))}}),Zo.behavior={},Zo.rebind=function(n,t){for(var e,r=1,u=arguments.length;++r<u;)n[e=arguments[r]]=g(n,t,t[e]);return n};var aa=["webkit","ms","moz","Moz","o","O"];Zo.dispatch=function(){for(var n=new d,t=-1,e=arguments.length;++t<e;)n[arguments[t]]=m(n);return n},d.prototype.on=function(n,t){var e=n.indexOf("."),r="";if(e>=0&&(r=n.substring(e+1),n=n.substring(0,e)),n)return arguments.length<2?this[n].on(r):this[n].on(r,t);if(2===arguments.length){if(null==t)for(n in this)this.hasOwnProperty(n)&&this[n].on(r,null);return this}},Zo.event=null,Zo.requote=function(n){return n.replace(ca,"\\$&")};var ca=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,sa={}.__proto__?function(n,t){n.__proto__=t}:function(n,t){for(var e in t)n[e]=t[e]},la=function(n,t){return t.querySelector(n)},fa=function(n,t){return t.querySelectorAll(n)},ha=Bo.matches||Bo[p(Bo,"matchesSelector")],ga=function(n,t){return ha.call(n,t)};"function"==typeof Sizzle&&(la=function(n,t){return Sizzle(n,t)[0]||null},fa=Sizzle,ga=Sizzle.matchesSelector),Zo.selection=function(){return ma};var pa=Zo.selection.prototype=[];pa.select=function(n){var t,e,r,u,i=[];n=b(n);for(var o=-1,a=this.length;++o<a;){i.push(t=[]),t.parentNode=(r=this[o]).parentNode;for(var c=-1,s=r.length;++c<s;)(u=r[c])?(t.push(e=n.call(u,u.__data__,c,o)),e&&"__data__"in u&&(e.__data__=u.__data__)):t.push(null)}return _(i)},pa.selectAll=function(n){var t,e,r=[];n=w(n);for(var u=-1,i=this.length;++u<i;)for(var o=this[u],a=-1,c=o.length;++a<c;)(e=o[a])&&(r.push(t=Xo(n.call(e,e.__data__,a,u))),t.parentNode=e);return _(r)};var va={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};Zo.ns={prefix:va,qualify:function(n){var t=n.indexOf(":"),e=n;return t>=0&&(e=n.substring(0,t),n=n.substring(t+1)),va.hasOwnProperty(e)?{space:va[e],local:n}:n}},pa.attr=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node();return n=Zo.ns.qualify(n),n.local?e.getAttributeNS(n.space,n.local):e.getAttribute(n)}for(t in n)this.each(S(t,n[t]));return this}return this.each(S(n,t))},pa.classed=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node(),r=(n=A(n)).length,u=-1;if(t=e.classList){for(;++u<r;)if(!t.contains(n[u]))return!1}else for(t=e.getAttribute("class");++u<r;)if(!E(n[u]).test(t))return!1;return!0}for(t in n)this.each(C(t,n[t]));return this}return this.each(C(n,t))},pa.style=function(n,t,e){var r=arguments.length;if(3>r){if("string"!=typeof n){2>r&&(t="");for(e in n)this.each(z(e,n[e],t));return this}if(2>r)return Wo.getComputedStyle(this.node(),null).getPropertyValue(n);e=""}return this.each(z(n,t,e))},pa.property=function(n,t){if(arguments.length<2){if("string"==typeof n)return this.node()[n];for(t in n)this.each(L(t,n[t]));return this}return this.each(L(n,t))},pa.text=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.textContent=null==t?"":t}:null==n?function(){this.textContent=""}:function(){this.textContent=n}):this.node().textContent},pa.html=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.innerHTML=null==t?"":t}:null==n?function(){this.innerHTML=""}:function(){this.innerHTML=n}):this.node().innerHTML},pa.append=function(n){return n=T(n),this.select(function(){return this.appendChild(n.apply(this,arguments))})},pa.insert=function(n,t){return n=T(n),t=b(t),this.select(function(){return this.insertBefore(n.apply(this,arguments),t.apply(this,arguments)||null)})},pa.remove=function(){return this.each(function(){var n=this.parentNode;n&&n.removeChild(this)})},pa.data=function(n,t){function e(n,e){var r,u,i,a=n.length,f=e.length,h=Math.min(a,f),g=new Array(f),p=new Array(f),v=new Array(a);if(t){var d,m=new o,y=new o,x=[];for(r=-1;++r<a;)d=t.call(u=n[r],u.__data__,r),m.has(d)?v[r]=u:m.set(d,u),x.push(d);for(r=-1;++r<f;)d=t.call(e,i=e[r],r),(u=m.get(d))?(g[r]=u,u.__data__=i):y.has(d)||(p[r]=q(i)),y.set(d,i),m.remove(d);for(r=-1;++r<a;)m.has(x[r])&&(v[r]=n[r])}else{for(r=-1;++r<h;)u=n[r],i=e[r],u?(u.__data__=i,g[r]=u):p[r]=q(i);for(;f>r;++r)p[r]=q(e[r]);for(;a>r;++r)v[r]=n[r]}p.update=g,p.parentNode=g.parentNode=v.parentNode=n.parentNode,c.push(p),s.push(g),l.push(v)}var r,u,i=-1,a=this.length;if(!arguments.length){for(n=new Array(a=(r=this[0]).length);++i<a;)(u=r[i])&&(n[i]=u.__data__);return n}var c=U([]),s=_([]),l=_([]);if("function"==typeof n)for(;++i<a;)e(r=this[i],n.call(r,r.parentNode.__data__,i));else for(;++i<a;)e(r=this[i],n);return s.enter=function(){return c},s.exit=function(){return l},s},pa.datum=function(n){return arguments.length?this.property("__data__",n):this.property("__data__")},pa.filter=function(n){var t,e,r,u=[];"function"!=typeof n&&(n=R(n));for(var i=0,o=this.length;o>i;i++){u.push(t=[]),t.parentNode=(e=this[i]).parentNode;for(var a=0,c=e.length;c>a;a++)(r=e[a])&&n.call(r,r.__data__,a,i)&&t.push(r)}return _(u)},pa.order=function(){for(var n=-1,t=this.length;++n<t;)for(var e,r=this[n],u=r.length-1,i=r[u];--u>=0;)(e=r[u])&&(i&&i!==e.nextSibling&&i.parentNode.insertBefore(e,i),i=e);return this},pa.sort=function(n){n=D.apply(this,arguments);for(var t=-1,e=this.length;++t<e;)this[t].sort(n);return this.order()},pa.each=function(n){return P(this,function(t,e,r){n.call(t,t.__data__,e,r)})},pa.call=function(n){var t=Xo(arguments);return n.apply(t[0]=this,t),this},pa.empty=function(){return!this.node()},pa.node=function(){for(var n=0,t=this.length;t>n;n++)for(var e=this[n],r=0,u=e.length;u>r;r++){var i=e[r];if(i)return i}return null},pa.size=function(){var n=0;return this.each(function(){++n}),n};var da=[];Zo.selection.enter=U,Zo.selection.enter.prototype=da,da.append=pa.append,da.empty=pa.empty,da.node=pa.node,da.call=pa.call,da.size=pa.size,da.select=function(n){for(var t,e,r,u,i,o=[],a=-1,c=this.length;++a<c;){r=(u=this[a]).update,o.push(t=[]),t.parentNode=u.parentNode;for(var s=-1,l=u.length;++s<l;)(i=u[s])?(t.push(r[s]=e=n.call(u.parentNode,i.__data__,s,a)),e.__data__=i.__data__):t.push(null)}return _(o)},da.insert=function(n,t){return arguments.length<2&&(t=j(this)),pa.insert.call(this,n,t)},pa.transition=function(){for(var n,t,e=Ss||++Ns,r=[],u=ks||{time:Date.now(),ease:xu,delay:0,duration:250},i=-1,o=this.length;++i<o;){r.push(n=[]);for(var a=this[i],c=-1,s=a.length;++c<s;)(t=a[c])&&Po(t,c,e,u),n.push(t)}return qo(r,e)},pa.interrupt=function(){return this.each(H)},Zo.select=function(n){var t=["string"==typeof n?la(n,$o):n];return t.parentNode=Bo,_([t])},Zo.selectAll=function(n){var t=Xo("string"==typeof n?fa(n,$o):n);return t.parentNode=Bo,_([t])};var ma=Zo.select(Bo);pa.on=function(n,t,e){var r=arguments.length;if(3>r){if("string"!=typeof n){2>r&&(t=!1);for(e in n)this.each(F(e,n[e],t));return this}if(2>r)return(r=this.node()["__on"+n])&&r._;e=!1}return this.each(F(n,t,e))};var ya=Zo.map({mouseenter:"mouseover",mouseleave:"mouseout"});ya.forEach(function(n){"on"+n in $o&&ya.remove(n)});var xa="onselectstart"in $o?null:p(Bo.style,"userSelect"),Ma=0;Zo.mouse=function(n){return Z(n,x())};var _a=/WebKit/.test(Wo.navigator.userAgent)?-1:0;Zo.touches=function(n,t){return arguments.length<2&&(t=x().touches),t?Xo(t).map(function(t){var e=Z(n,t);return e.identifier=t.identifier,e}):[]},Zo.behavior.drag=function(){function n(){this.on("mousedown.drag",u).on("touchstart.drag",i)}function t(n,t,u,i,o){return function(){function a(){var n,e,r=t(h,v);r&&(n=r[0]-x[0],e=r[1]-x[1],p|=n|e,x=r,g({type:"drag",x:r[0]+s[0],y:r[1]+s[1],dx:n,dy:e}))}function c(){t(h,v)&&(m.on(i+d,null).on(o+d,null),y(p&&Zo.event.target===f),g({type:"dragend"}))}var s,l=this,f=Zo.event.target,h=l.parentNode,g=e.of(l,arguments),p=0,v=n(),d=".drag"+(null==v?"":"-"+v),m=Zo.select(u()).on(i+d,a).on(o+d,c),y=I(),x=t(h,v);r?(s=r.apply(l,arguments),s=[s.x-x[0],s.y-x[1]]):s=[0,0],g({type:"dragstart"})}}var e=M(n,"drag","dragstart","dragend"),r=null,u=t(v,Zo.mouse,$,"mousemove","mouseup"),i=t(V,Zo.touch,X,"touchmove","touchend");return n.origin=function(t){return arguments.length?(r=t,n):r},Zo.rebind(n,e,"on")};var ba=Math.PI,wa=2*ba,Sa=ba/2,ka=1e-6,Ea=ka*ka,Aa=ba/180,Ca=180/ba,Na=Math.SQRT2,za=2,La=4;Zo.interpolateZoom=function(n,t){function e(n){var t=n*y;if(m){var e=Q(v),o=i/(za*h)*(e*nt(Na*t+v)-K(v));return[r+o*s,u+o*l,i*e/Q(Na*t+v)]}return[r+n*s,u+n*l,i*Math.exp(Na*t)]}var r=n[0],u=n[1],i=n[2],o=t[0],a=t[1],c=t[2],s=o-r,l=a-u,f=s*s+l*l,h=Math.sqrt(f),g=(c*c-i*i+La*f)/(2*i*za*h),p=(c*c-i*i-La*f)/(2*c*za*h),v=Math.log(Math.sqrt(g*g+1)-g),d=Math.log(Math.sqrt(p*p+1)-p),m=d-v,y=(m||Math.log(c/i))/Na;return e.duration=1e3*y,e},Zo.behavior.zoom=function(){function n(n){n.on(A,s).on(Ra+".zoom",f).on("dblclick.zoom",h).on(z,l)}function t(n){return[(n[0]-S.x)/S.k,(n[1]-S.y)/S.k]}function e(n){return[n[0]*S.k+S.x,n[1]*S.k+S.y]}function r(n){S.k=Math.max(E[0],Math.min(E[1],n))}function u(n,t){t=e(t),S.x+=n[0]-t[0],S.y+=n[1]-t[1]}function i(){_&&_.domain(x.range().map(function(n){return(n-S.x)/S.k}).map(x.invert)),w&&w.domain(b.range().map(function(n){return(n-S.y)/S.k}).map(b.invert))}function o(n){n({type:"zoomstart"})}function a(n){i(),n({type:"zoom",scale:S.k,translate:[S.x,S.y]})}function c(n){n({type:"zoomend"})}function s(){function n(){l=1,u(Zo.mouse(r),h),a(s)}function e(){f.on(C,null).on(N,null),g(l&&Zo.event.target===i),c(s)}var r=this,i=Zo.event.target,s=L.of(r,arguments),l=0,f=Zo.select(Wo).on(C,n).on(N,e),h=t(Zo.mouse(r)),g=I();H.call(r),o(s)}function l(){function n(){var n=Zo.touches(g);return h=S.k,n.forEach(function(n){n.identifier in v&&(v[n.identifier]=t(n))}),n}function e(){var t=Zo.event.target;Zo.select(t).on(M,i).on(_,f),b.push(t);for(var e=Zo.event.changedTouches,o=0,c=e.length;c>o;++o)v[e[o].identifier]=null;var s=n(),l=Date.now();if(1===s.length){if(500>l-m){var h=s[0],g=v[h.identifier];r(2*S.k),u(h,g),y(),a(p)}m=l}else if(s.length>1){var h=s[0],x=s[1],w=h[0]-x[0],k=h[1]-x[1];d=w*w+k*k}}function i(){for(var n,t,e,i,o=Zo.touches(g),c=0,s=o.length;s>c;++c,i=null)if(e=o[c],i=v[e.identifier]){if(t)break;n=e,t=i}if(i){var l=(l=e[0]-n[0])*l+(l=e[1]-n[1])*l,f=d&&Math.sqrt(l/d);n=[(n[0]+e[0])/2,(n[1]+e[1])/2],t=[(t[0]+i[0])/2,(t[1]+i[1])/2],r(f*h)}m=null,u(n,t),a(p)}function f(){if(Zo.event.touches.length){for(var t=Zo.event.changedTouches,e=0,r=t.length;r>e;++e)delete v[t[e].identifier];for(var u in v)return void n()}Zo.selectAll(b).on(x,null),w.on(A,s).on(z,l),k(),c(p)}var h,g=this,p=L.of(g,arguments),v={},d=0,x=".zoom-"+Zo.event.changedTouches[0].identifier,M="touchmove"+x,_="touchend"+x,b=[],w=Zo.select(g).on(A,null).on(z,e),k=I();H.call(g),e(),o(p)}function f(){var n=L.of(this,arguments);d?clearTimeout(d):(g=t(p=v||Zo.mouse(this)),H.call(this),o(n)),d=setTimeout(function(){d=null,c(n)},50),y(),r(Math.pow(2,.002*Ta())*S.k),u(p,g),a(n)}function h(){var n=L.of(this,arguments),e=Zo.mouse(this),i=t(e),s=Math.log(S.k)/Math.LN2;o(n),r(Math.pow(2,Zo.event.shiftKey?Math.ceil(s)-1:Math.floor(s)+1)),u(e,i),a(n),c(n)}var g,p,v,d,m,x,_,b,w,S={x:0,y:0,k:1},k=[960,500],E=qa,A="mousedown.zoom",C="mousemove.zoom",N="mouseup.zoom",z="touchstart.zoom",L=M(n,"zoomstart","zoom","zoomend");return n.event=function(n){n.each(function(){var n=L.of(this,arguments),t=S;Ss?Zo.select(this).transition().each("start.zoom",function(){S=this.__chart__||{x:0,y:0,k:1},o(n)}).tween("zoom:zoom",function(){var e=k[0],r=k[1],u=e/2,i=r/2,o=Zo.interpolateZoom([(u-S.x)/S.k,(i-S.y)/S.k,e/S.k],[(u-t.x)/t.k,(i-t.y)/t.k,e/t.k]);return function(t){var r=o(t),c=e/r[2];this.__chart__=S={x:u-r[0]*c,y:i-r[1]*c,k:c},a(n)}}).each("end.zoom",function(){c(n)}):(this.__chart__=S,o(n),a(n),c(n))})},n.translate=function(t){return arguments.length?(S={x:+t[0],y:+t[1],k:S.k},i(),n):[S.x,S.y]},n.scale=function(t){return arguments.length?(S={x:S.x,y:S.y,k:+t},i(),n):S.k},n.scaleExtent=function(t){return arguments.length?(E=null==t?qa:[+t[0],+t[1]],n):E},n.center=function(t){return arguments.length?(v=t&&[+t[0],+t[1]],n):v},n.size=function(t){return arguments.length?(k=t&&[+t[0],+t[1]],n):k},n.x=function(t){return arguments.length?(_=t,x=t.copy(),S={x:0,y:0,k:1},n):_},n.y=function(t){return arguments.length?(w=t,b=t.copy(),S={x:0,y:0,k:1},n):w},Zo.rebind(n,L,"on")};var Ta,qa=[0,1/0],Ra="onwheel"in $o?(Ta=function(){return-Zo.event.deltaY*(Zo.event.deltaMode?120:1)},"wheel"):"onmousewheel"in $o?(Ta=function(){return Zo.event.wheelDelta},"mousewheel"):(Ta=function(){return-Zo.event.detail},"MozMousePixelScroll");Zo.color=et,et.prototype.toString=function(){return this.rgb()+""},Zo.hsl=rt;var Da=rt.prototype=new et;Da.brighter=function(n){return n=Math.pow(.7,arguments.length?n:1),new rt(this.h,this.s,this.l/n)},Da.darker=function(n){return n=Math.pow(.7,arguments.length?n:1),new rt(this.h,this.s,n*this.l)},Da.rgb=function(){return ut(this.h,this.s,this.l)},Zo.hcl=it;var Pa=it.prototype=new et;Pa.brighter=function(n){return new it(this.h,this.c,Math.min(100,this.l+Ua*(arguments.length?n:1)))},Pa.darker=function(n){return new it(this.h,this.c,Math.max(0,this.l-Ua*(arguments.length?n:1)))},Pa.rgb=function(){return ot(this.h,this.c,this.l).rgb()},Zo.lab=at;var Ua=18,ja=.95047,Ha=1,Fa=1.08883,Oa=at.prototype=new et;Oa.brighter=function(n){return new at(Math.min(100,this.l+Ua*(arguments.length?n:1)),this.a,this.b)},Oa.darker=function(n){return new at(Math.max(0,this.l-Ua*(arguments.length?n:1)),this.a,this.b)},Oa.rgb=function(){return ct(this.l,this.a,this.b)},Zo.rgb=gt;var Ya=gt.prototype=new et;Ya.brighter=function(n){n=Math.pow(.7,arguments.length?n:1);var t=this.r,e=this.g,r=this.b,u=30;return t||e||r?(t&&u>t&&(t=u),e&&u>e&&(e=u),r&&u>r&&(r=u),new gt(Math.min(255,t/n),Math.min(255,e/n),Math.min(255,r/n))):new gt(u,u,u)},Ya.darker=function(n){return n=Math.pow(.7,arguments.length?n:1),new gt(n*this.r,n*this.g,n*this.b)},Ya.hsl=function(){return yt(this.r,this.g,this.b)},Ya.toString=function(){return"#"+dt(this.r)+dt(this.g)+dt(this.b)};var Ia=Zo.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});Ia.forEach(function(n,t){Ia.set(n,pt(t))}),Zo.functor=bt,Zo.xhr=St(wt),Zo.dsv=function(n,t){function e(n,e,i){arguments.length<3&&(i=e,e=null);var o=kt(n,t,null==e?r:u(e),i);return o.row=function(n){return arguments.length?o.response(null==(e=n)?r:u(n)):e},o}function r(n){return e.parse(n.responseText)}function u(n){return function(t){return e.parse(t.responseText,n)}}function i(t){return t.map(o).join(n)}function o(n){return a.test(n)?'"'+n.replace(/\"/g,'""')+'"':n}var a=new RegExp('["'+n+"\n]"),c=n.charCodeAt(0);return e.parse=function(n,t){var r;return e.parseRows(n,function(n,e){if(r)return r(n,e-1);var u=new Function("d","return {"+n.map(function(n,t){return JSON.stringify(n)+": d["+t+"]"}).join(",")+"}");r=t?function(n,e){return t(u(n),e)}:u})},e.parseRows=function(n,t){function e(){if(l>=s)return o;if(u)return u=!1,i;var t=l;if(34===n.charCodeAt(t)){for(var e=t;e++<s;)if(34===n.charCodeAt(e)){if(34!==n.charCodeAt(e+1))break;++e}l=e+2;var r=n.charCodeAt(e+1);return 13===r?(u=!0,10===n.charCodeAt(e+2)&&++l):10===r&&(u=!0),n.substring(t+1,e).replace(/""/g,'"')}for(;s>l;){var r=n.charCodeAt(l++),a=1;if(10===r)u=!0;else if(13===r)u=!0,10===n.charCodeAt(l)&&(++l,++a);else if(r!==c)continue;return n.substring(t,l-a)}return n.substring(t)}for(var r,u,i={},o={},a=[],s=n.length,l=0,f=0;(r=e())!==o;){for(var h=[];r!==i&&r!==o;)h.push(r),r=e();(!t||(h=t(h,f++)))&&a.push(h)}return a},e.format=function(t){if(Array.isArray(t[0]))return e.formatRows(t);var r=new h,u=[];return t.forEach(function(n){for(var t in n)r.has(t)||u.push(r.add(t))}),[u.map(o).join(n)].concat(t.map(function(t){return u.map(function(n){return o(t[n])}).join(n)})).join("\n")},e.formatRows=function(n){return n.map(i).join("\n")},e},Zo.csv=Zo.dsv(",","text/csv"),Zo.tsv=Zo.dsv(" ","text/tab-separated-values"),Zo.touch=function(n,t,e){if(arguments.length<3&&(e=t,t=x().changedTouches),t)for(var r,u=0,i=t.length;i>u;++u)if((r=t[u]).identifier===e)return Z(n,r)};var Za,Va,Xa,$a,Ba,Wa=Wo[p(Wo,"requestAnimationFrame")]||function(n){setTimeout(n,17)};Zo.timer=function(n,t,e){var r=arguments.length;2>r&&(t=0),3>r&&(e=Date.now());var u=e+t,i={c:n,t:u,f:!1,n:null};Va?Va.n=i:Za=i,Va=i,Xa||($a=clearTimeout($a),Xa=1,Wa(At))},Zo.timer.flush=function(){Ct(),Nt()},Zo.round=function(n,t){return t?Math.round(n*(t=Math.pow(10,t)))/t:Math.round(n)};var Ja=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"].map(Lt);Zo.formatPrefix=function(n,t){var e=0;return n&&(0>n&&(n*=-1),t&&(n=Zo.round(n,zt(n,t))),e=1+Math.floor(1e-12+Math.log(n)/Math.LN10),e=Math.max(-24,Math.min(24,3*Math.floor((e-1)/3)))),Ja[8+e/3]};var Ga=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,Ka=Zo.map({b:function(n){return n.toString(2)},c:function(n){return String.fromCharCode(n)},o:function(n){return n.toString(8)},x:function(n){return n.toString(16)},X:function(n){return n.toString(16).toUpperCase()},g:function(n,t){return n.toPrecision(t)},e:function(n,t){return n.toExponential(t)},f:function(n,t){return n.toFixed(t)},r:function(n,t){return(n=Zo.round(n,zt(n,t))).toFixed(Math.max(0,Math.min(20,zt(n*(1+1e-15),t))))}}),Qa=Zo.time={},nc=Date;Rt.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){tc.setUTCDate.apply(this._,arguments)},setDay:function(){tc.setUTCDay.apply(this._,arguments)},setFullYear:function(){tc.setUTCFullYear.apply(this._,arguments)},setHours:function(){tc.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){tc.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){tc.setUTCMinutes.apply(this._,arguments)},setMonth:function(){tc.setUTCMonth.apply(this._,arguments)},setSeconds:function(){tc.setUTCSeconds.apply(this._,arguments)},setTime:function(){tc.setTime.apply(this._,arguments)}};var tc=Date.prototype;Qa.year=Dt(function(n){return n=Qa.day(n),n.setMonth(0,1),n},function(n,t){n.setFullYear(n.getFullYear()+t)},function(n){return n.getFullYear()}),Qa.years=Qa.year.range,Qa.years.utc=Qa.year.utc.range,Qa.day=Dt(function(n){var t=new nc(2e3,0);return t.setFullYear(n.getFullYear(),n.getMonth(),n.getDate()),t},function(n,t){n.setDate(n.getDate()+t)},function(n){return n.getDate()-1}),Qa.days=Qa.day.range,Qa.days.utc=Qa.day.utc.range,Qa.dayOfYear=function(n){var t=Qa.year(n);return Math.floor((n-t-6e4*(n.getTimezoneOffset()-t.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach(function(n,t){t=7-t;var e=Qa[n]=Dt(function(n){return(n=Qa.day(n)).setDate(n.getDate()-(n.getDay()+t)%7),n},function(n,t){n.setDate(n.getDate()+7*Math.floor(t))},function(n){var e=Qa.year(n).getDay();return Math.floor((Qa.dayOfYear(n)+(e+t)%7)/7)-(e!==t)});Qa[n+"s"]=e.range,Qa[n+"s"].utc=e.utc.range,Qa[n+"OfYear"]=function(n){var e=Qa.year(n).getDay();return Math.floor((Qa.dayOfYear(n)+(e+t)%7)/7)}}),Qa.week=Qa.sunday,Qa.weeks=Qa.sunday.range,Qa.weeks.utc=Qa.sunday.utc.range,Qa.weekOfYear=Qa.sundayOfYear;var ec={"-":"",_:" ",0:"0"},rc=/^\s*\d+/,uc=/^%/;Zo.locale=function(n){return{numberFormat:Tt(n),timeFormat:Ut(n)}};var ic=Zo.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});Zo.format=ic.numberFormat,Zo.geo={},ue.prototype={s:0,t:0,add:function(n){ie(n,this.t,oc),ie(oc.s,this.s,this),this.s?this.t+=oc.t:this.s=oc.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var oc=new ue;Zo.geo.stream=function(n,t){n&&ac.hasOwnProperty(n.type)?ac[n.type](n,t):oe(n,t)};var ac={Feature:function(n,t){oe(n.geometry,t)},FeatureCollection:function(n,t){for(var e=n.features,r=-1,u=e.length;++r<u;)oe(e[r].geometry,t)}},cc={Sphere:function(n,t){t.sphere()},Point:function(n,t){n=n.coordinates,t.point(n[0],n[1],n[2])},MultiPoint:function(n,t){for(var e=n.coordinates,r=-1,u=e.length;++r<u;)n=e[r],t.point(n[0],n[1],n[2])},LineString:function(n,t){ae(n.coordinates,t,0)},MultiLineString:function(n,t){for(var e=n.coordinates,r=-1,u=e.length;++r<u;)ae(e[r],t,0)},Polygon:function(n,t){ce(n.coordinates,t)},MultiPolygon:function(n,t){for(var e=n.coordinates,r=-1,u=e.length;++r<u;)ce(e[r],t)},GeometryCollection:function(n,t){for(var e=n.geometries,r=-1,u=e.length;++r<u;)oe(e[r],t)}};Zo.geo.area=function(n){return sc=0,Zo.geo.stream(n,fc),sc};var sc,lc=new ue,fc={sphere:function(){sc+=4*ba},point:v,lineStart:v,lineEnd:v,polygonStart:function(){lc.reset(),fc.lineStart=se},polygonEnd:function(){var n=2*lc;sc+=0>n?4*ba+n:n,fc.lineStart=fc.lineEnd=fc.point=v}};Zo.geo.bounds=function(){function n(n,t){x.push(M=[l=n,h=n]),f>t&&(f=t),t>g&&(g=t)}function t(t,e){var r=le([t*Aa,e*Aa]);if(m){var u=he(m,r),i=[u[1],-u[0],0],o=he(i,u);ve(o),o=de(o);var c=t-p,s=c>0?1:-1,v=o[0]*Ca*s,d=ua(c)>180;if(d^(v>s*p&&s*t>v)){var y=o[1]*Ca;y>g&&(g=y)}else if(v=(v+360)%360-180,d^(v>s*p&&s*t>v)){var y=-o[1]*Ca;f>y&&(f=y)}else f>e&&(f=e),e>g&&(g=e);d?p>t?a(l,t)>a(l,h)&&(h=t):a(t,h)>a(l,h)&&(l=t):h>=l?(l>t&&(l=t),t>h&&(h=t)):t>p?a(l,t)>a(l,h)&&(h=t):a(t,h)>a(l,h)&&(l=t)}else n(t,e);m=r,p=t}function e(){_.point=t}function r(){M[0]=l,M[1]=h,_.point=n,m=null}function u(n,e){if(m){var r=n-p;y+=ua(r)>180?r+(r>0?360:-360):r}else v=n,d=e;fc.point(n,e),t(n,e)}function i(){fc.lineStart()}function o(){u(v,d),fc.lineEnd(),ua(y)>ka&&(l=-(h=180)),M[0]=l,M[1]=h,m=null}function a(n,t){return(t-=n)<0?t+360:t}function c(n,t){return n[0]-t[0]}function s(n,t){return t[0]<=t[1]?t[0]<=n&&n<=t[1]:n<t[0]||t[1]<n}var l,f,h,g,p,v,d,m,y,x,M,_={point:n,lineStart:e,lineEnd:r,polygonStart:function(){_.point=u,_.lineStart=i,_.lineEnd=o,y=0,fc.polygonStart()},polygonEnd:function(){fc.polygonEnd(),_.point=n,_.lineStart=e,_.lineEnd=r,0>lc?(l=-(h=180),f=-(g=90)):y>ka?g=90:-ka>y&&(f=-90),M[0]=l,M[1]=h}};return function(n){g=h=-(l=f=1/0),x=[],Zo.geo.stream(n,_);var t=x.length;if(t){x.sort(c);for(var e,r=1,u=x[0],i=[u];t>r;++r)e=x[r],s(e[0],u)||s(e[1],u)?(a(u[0],e[1])>a(u[0],u[1])&&(u[1]=e[1]),a(e[0],u[1])>a(u[0],u[1])&&(u[0]=e[0])):i.push(u=e);
+for(var o,e,p=-1/0,t=i.length-1,r=0,u=i[t];t>=r;u=e,++r)e=i[r],(o=a(u[1],e[0]))>p&&(p=o,l=e[0],h=u[1])}return x=M=null,1/0===l||1/0===f?[[0/0,0/0],[0/0,0/0]]:[[l,f],[h,g]]}}(),Zo.geo.centroid=function(n){hc=gc=pc=vc=dc=mc=yc=xc=Mc=_c=bc=0,Zo.geo.stream(n,wc);var t=Mc,e=_c,r=bc,u=t*t+e*e+r*r;return Ea>u&&(t=mc,e=yc,r=xc,ka>gc&&(t=pc,e=vc,r=dc),u=t*t+e*e+r*r,Ea>u)?[0/0,0/0]:[Math.atan2(e,t)*Ca,G(r/Math.sqrt(u))*Ca]};var hc,gc,pc,vc,dc,mc,yc,xc,Mc,_c,bc,wc={sphere:v,point:ye,lineStart:Me,lineEnd:_e,polygonStart:function(){wc.lineStart=be},polygonEnd:function(){wc.lineStart=Me}},Sc=Ae(we,Te,Re,[-ba,-ba/2]),kc=1e9;Zo.geo.clipExtent=function(){var n,t,e,r,u,i,o={stream:function(n){return u&&(u.valid=!1),u=i(n),u.valid=!0,u},extent:function(a){return arguments.length?(i=Ue(n=+a[0][0],t=+a[0][1],e=+a[1][0],r=+a[1][1]),u&&(u.valid=!1,u=null),o):[[n,t],[e,r]]}};return o.extent([[0,0],[960,500]])},(Zo.geo.conicEqualArea=function(){return He(Fe)}).raw=Fe,Zo.geo.albers=function(){return Zo.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},Zo.geo.albersUsa=function(){function n(n){var i=n[0],o=n[1];return t=null,e(i,o),t||(r(i,o),t)||u(i,o),t}var t,e,r,u,i=Zo.geo.albers(),o=Zo.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),a=Zo.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),c={point:function(n,e){t=[n,e]}};return n.invert=function(n){var t=i.scale(),e=i.translate(),r=(n[0]-e[0])/t,u=(n[1]-e[1])/t;return(u>=.12&&.234>u&&r>=-.425&&-.214>r?o:u>=.166&&.234>u&&r>=-.214&&-.115>r?a:i).invert(n)},n.stream=function(n){var t=i.stream(n),e=o.stream(n),r=a.stream(n);return{point:function(n,u){t.point(n,u),e.point(n,u),r.point(n,u)},sphere:function(){t.sphere(),e.sphere(),r.sphere()},lineStart:function(){t.lineStart(),e.lineStart(),r.lineStart()},lineEnd:function(){t.lineEnd(),e.lineEnd(),r.lineEnd()},polygonStart:function(){t.polygonStart(),e.polygonStart(),r.polygonStart()},polygonEnd:function(){t.polygonEnd(),e.polygonEnd(),r.polygonEnd()}}},n.precision=function(t){return arguments.length?(i.precision(t),o.precision(t),a.precision(t),n):i.precision()},n.scale=function(t){return arguments.length?(i.scale(t),o.scale(.35*t),a.scale(t),n.translate(i.translate())):i.scale()},n.translate=function(t){if(!arguments.length)return i.translate();var s=i.scale(),l=+t[0],f=+t[1];return e=i.translate(t).clipExtent([[l-.455*s,f-.238*s],[l+.455*s,f+.238*s]]).stream(c).point,r=o.translate([l-.307*s,f+.201*s]).clipExtent([[l-.425*s+ka,f+.12*s+ka],[l-.214*s-ka,f+.234*s-ka]]).stream(c).point,u=a.translate([l-.205*s,f+.212*s]).clipExtent([[l-.214*s+ka,f+.166*s+ka],[l-.115*s-ka,f+.234*s-ka]]).stream(c).point,n},n.scale(1070)};var Ec,Ac,Cc,Nc,zc,Lc,Tc={point:v,lineStart:v,lineEnd:v,polygonStart:function(){Ac=0,Tc.lineStart=Oe},polygonEnd:function(){Tc.lineStart=Tc.lineEnd=Tc.point=v,Ec+=ua(Ac/2)}},qc={point:Ye,lineStart:v,lineEnd:v,polygonStart:v,polygonEnd:v},Rc={point:Ve,lineStart:Xe,lineEnd:$e,polygonStart:function(){Rc.lineStart=Be},polygonEnd:function(){Rc.point=Ve,Rc.lineStart=Xe,Rc.lineEnd=$e}};Zo.geo.path=function(){function n(n){return n&&("function"==typeof a&&i.pointRadius(+a.apply(this,arguments)),o&&o.valid||(o=u(i)),Zo.geo.stream(n,o)),i.result()}function t(){return o=null,n}var e,r,u,i,o,a=4.5;return n.area=function(n){return Ec=0,Zo.geo.stream(n,u(Tc)),Ec},n.centroid=function(n){return pc=vc=dc=mc=yc=xc=Mc=_c=bc=0,Zo.geo.stream(n,u(Rc)),bc?[Mc/bc,_c/bc]:xc?[mc/xc,yc/xc]:dc?[pc/dc,vc/dc]:[0/0,0/0]},n.bounds=function(n){return zc=Lc=-(Cc=Nc=1/0),Zo.geo.stream(n,u(qc)),[[Cc,Nc],[zc,Lc]]},n.projection=function(n){return arguments.length?(u=(e=n)?n.stream||Ge(n):wt,t()):e},n.context=function(n){return arguments.length?(i=null==(r=n)?new Ie:new We(n),"function"!=typeof a&&i.pointRadius(a),t()):r},n.pointRadius=function(t){return arguments.length?(a="function"==typeof t?t:(i.pointRadius(+t),+t),n):a},n.projection(Zo.geo.albersUsa()).context(null)},Zo.geo.transform=function(n){return{stream:function(t){var e=new Ke(t);for(var r in n)e[r]=n[r];return e}}},Ke.prototype={point:function(n,t){this.stream.point(n,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},Zo.geo.projection=nr,Zo.geo.projectionMutator=tr,(Zo.geo.equirectangular=function(){return nr(rr)}).raw=rr.invert=rr,Zo.geo.rotation=function(n){function t(t){return t=n(t[0]*Aa,t[1]*Aa),t[0]*=Ca,t[1]*=Ca,t}return n=ir(n[0]%360*Aa,n[1]*Aa,n.length>2?n[2]*Aa:0),t.invert=function(t){return t=n.invert(t[0]*Aa,t[1]*Aa),t[0]*=Ca,t[1]*=Ca,t},t},ur.invert=rr,Zo.geo.circle=function(){function n(){var n="function"==typeof r?r.apply(this,arguments):r,t=ir(-n[0]*Aa,-n[1]*Aa,0).invert,u=[];return e(null,null,1,{point:function(n,e){u.push(n=t(n,e)),n[0]*=Ca,n[1]*=Ca}}),{type:"Polygon",coordinates:[u]}}var t,e,r=[0,0],u=6;return n.origin=function(t){return arguments.length?(r=t,n):r},n.angle=function(r){return arguments.length?(e=sr((t=+r)*Aa,u*Aa),n):t},n.precision=function(r){return arguments.length?(e=sr(t*Aa,(u=+r)*Aa),n):u},n.angle(90)},Zo.geo.distance=function(n,t){var e,r=(t[0]-n[0])*Aa,u=n[1]*Aa,i=t[1]*Aa,o=Math.sin(r),a=Math.cos(r),c=Math.sin(u),s=Math.cos(u),l=Math.sin(i),f=Math.cos(i);return Math.atan2(Math.sqrt((e=f*o)*e+(e=s*l-c*f*a)*e),c*l+s*f*a)},Zo.geo.graticule=function(){function n(){return{type:"MultiLineString",coordinates:t()}}function t(){return Zo.range(Math.ceil(i/d)*d,u,d).map(h).concat(Zo.range(Math.ceil(s/m)*m,c,m).map(g)).concat(Zo.range(Math.ceil(r/p)*p,e,p).filter(function(n){return ua(n%d)>ka}).map(l)).concat(Zo.range(Math.ceil(a/v)*v,o,v).filter(function(n){return ua(n%m)>ka}).map(f))}var e,r,u,i,o,a,c,s,l,f,h,g,p=10,v=p,d=90,m=360,y=2.5;return n.lines=function(){return t().map(function(n){return{type:"LineString",coordinates:n}})},n.outline=function(){return{type:"Polygon",coordinates:[h(i).concat(g(c).slice(1),h(u).reverse().slice(1),g(s).reverse().slice(1))]}},n.extent=function(t){return arguments.length?n.majorExtent(t).minorExtent(t):n.minorExtent()},n.majorExtent=function(t){return arguments.length?(i=+t[0][0],u=+t[1][0],s=+t[0][1],c=+t[1][1],i>u&&(t=i,i=u,u=t),s>c&&(t=s,s=c,c=t),n.precision(y)):[[i,s],[u,c]]},n.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],a=+t[0][1],o=+t[1][1],r>e&&(t=r,r=e,e=t),a>o&&(t=a,a=o,o=t),n.precision(y)):[[r,a],[e,o]]},n.step=function(t){return arguments.length?n.majorStep(t).minorStep(t):n.minorStep()},n.majorStep=function(t){return arguments.length?(d=+t[0],m=+t[1],n):[d,m]},n.minorStep=function(t){return arguments.length?(p=+t[0],v=+t[1],n):[p,v]},n.precision=function(t){return arguments.length?(y=+t,l=fr(a,o,90),f=hr(r,e,y),h=fr(s,c,90),g=hr(i,u,y),n):y},n.majorExtent([[-180,-90+ka],[180,90-ka]]).minorExtent([[-180,-80-ka],[180,80+ka]])},Zo.geo.greatArc=function(){function n(){return{type:"LineString",coordinates:[t||r.apply(this,arguments),e||u.apply(this,arguments)]}}var t,e,r=gr,u=pr;return n.distance=function(){return Zo.geo.distance(t||r.apply(this,arguments),e||u.apply(this,arguments))},n.source=function(e){return arguments.length?(r=e,t="function"==typeof e?null:e,n):r},n.target=function(t){return arguments.length?(u=t,e="function"==typeof t?null:t,n):u},n.precision=function(){return arguments.length?n:0},n},Zo.geo.interpolate=function(n,t){return vr(n[0]*Aa,n[1]*Aa,t[0]*Aa,t[1]*Aa)},Zo.geo.length=function(n){return Dc=0,Zo.geo.stream(n,Pc),Dc};var Dc,Pc={sphere:v,point:v,lineStart:dr,lineEnd:v,polygonStart:v,polygonEnd:v},Uc=mr(function(n){return Math.sqrt(2/(1+n))},function(n){return 2*Math.asin(n/2)});(Zo.geo.azimuthalEqualArea=function(){return nr(Uc)}).raw=Uc;var jc=mr(function(n){var t=Math.acos(n);return t&&t/Math.sin(t)},wt);(Zo.geo.azimuthalEquidistant=function(){return nr(jc)}).raw=jc,(Zo.geo.conicConformal=function(){return He(yr)}).raw=yr,(Zo.geo.conicEquidistant=function(){return He(xr)}).raw=xr;var Hc=mr(function(n){return 1/n},Math.atan);(Zo.geo.gnomonic=function(){return nr(Hc)}).raw=Hc,Mr.invert=function(n,t){return[n,2*Math.atan(Math.exp(t))-Sa]},(Zo.geo.mercator=function(){return _r(Mr)}).raw=Mr;var Fc=mr(function(){return 1},Math.asin);(Zo.geo.orthographic=function(){return nr(Fc)}).raw=Fc;var Oc=mr(function(n){return 1/(1+n)},function(n){return 2*Math.atan(n)});(Zo.geo.stereographic=function(){return nr(Oc)}).raw=Oc,br.invert=function(n,t){return[-t,2*Math.atan(Math.exp(n))-Sa]},(Zo.geo.transverseMercator=function(){var n=_r(br),t=n.center,e=n.rotate;return n.center=function(n){return n?t([-n[1],n[0]]):(n=t(),[n[1],-n[0]])},n.rotate=function(n){return n?e([n[0],n[1],n.length>2?n[2]+90:90]):(n=e(),[n[0],n[1],n[2]-90])},e([0,0,90])}).raw=br,Zo.geom={},Zo.geom.hull=function(n){function t(n){if(n.length<3)return[];var t,u=bt(e),i=bt(r),o=n.length,a=[],c=[];for(t=0;o>t;t++)a.push([+u.call(this,n[t],t),+i.call(this,n[t],t),t]);for(a.sort(Er),t=0;o>t;t++)c.push([a[t][0],-a[t][1]]);var s=kr(a),l=kr(c),f=l[0]===s[0],h=l[l.length-1]===s[s.length-1],g=[];for(t=s.length-1;t>=0;--t)g.push(n[a[s[t]][2]]);for(t=+f;t<l.length-h;++t)g.push(n[a[l[t]][2]]);return g}var e=wr,r=Sr;return arguments.length?t(n):(t.x=function(n){return arguments.length?(e=n,t):e},t.y=function(n){return arguments.length?(r=n,t):r},t)},Zo.geom.polygon=function(n){return sa(n,Yc),n};var Yc=Zo.geom.polygon.prototype=[];Yc.area=function(){for(var n,t=-1,e=this.length,r=this[e-1],u=0;++t<e;)n=r,r=this[t],u+=n[1]*r[0]-n[0]*r[1];return.5*u},Yc.centroid=function(n){var t,e,r=-1,u=this.length,i=0,o=0,a=this[u-1];for(arguments.length||(n=-1/(6*this.area()));++r<u;)t=a,a=this[r],e=t[0]*a[1]-a[0]*t[1],i+=(t[0]+a[0])*e,o+=(t[1]+a[1])*e;return[i*n,o*n]},Yc.clip=function(n){for(var t,e,r,u,i,o,a=Nr(n),c=-1,s=this.length-Nr(this),l=this[s-1];++c<s;){for(t=n.slice(),n.length=0,u=this[c],i=t[(r=t.length-a)-1],e=-1;++e<r;)o=t[e],Ar(o,l,u)?(Ar(i,l,u)||n.push(Cr(i,o,l,u)),n.push(o)):Ar(i,l,u)&&n.push(Cr(i,o,l,u)),i=o;a&&n.push(n[0]),l=u}return n};var Ic,Zc,Vc,Xc,$c,Bc=[],Wc=[];Ur.prototype.prepare=function(){for(var n,t=this.edges,e=t.length;e--;)n=t[e].edge,n.b&&n.a||t.splice(e,1);return t.sort(Hr),t.length},Wr.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}},Jr.prototype={insert:function(n,t){var e,r,u;if(n){if(t.P=n,t.N=n.N,n.N&&(n.N.P=t),n.N=t,n.R){for(n=n.R;n.L;)n=n.L;n.L=t}else n.R=t;e=n}else this._?(n=nu(this._),t.P=null,t.N=n,n.P=n.L=t,e=n):(t.P=t.N=null,this._=t,e=null);for(t.L=t.R=null,t.U=e,t.C=!0,n=t;e&&e.C;)r=e.U,e===r.L?(u=r.R,u&&u.C?(e.C=u.C=!1,r.C=!0,n=r):(n===e.R&&(Kr(this,e),n=e,e=n.U),e.C=!1,r.C=!0,Qr(this,r))):(u=r.L,u&&u.C?(e.C=u.C=!1,r.C=!0,n=r):(n===e.L&&(Qr(this,e),n=e,e=n.U),e.C=!1,r.C=!0,Kr(this,r))),e=n.U;this._.C=!1},remove:function(n){n.N&&(n.N.P=n.P),n.P&&(n.P.N=n.N),n.N=n.P=null;var t,e,r,u=n.U,i=n.L,o=n.R;if(e=i?o?nu(o):i:o,u?u.L===n?u.L=e:u.R=e:this._=e,i&&o?(r=e.C,e.C=n.C,e.L=i,i.U=e,e!==o?(u=e.U,e.U=n.U,n=e.R,u.L=n,e.R=o,o.U=e):(e.U=u,u=e,n=e.R)):(r=n.C,n=e),n&&(n.U=u),!r){if(n&&n.C)return n.C=!1,void 0;do{if(n===this._)break;if(n===u.L){if(t=u.R,t.C&&(t.C=!1,u.C=!0,Kr(this,u),t=u.R),t.L&&t.L.C||t.R&&t.R.C){t.R&&t.R.C||(t.L.C=!1,t.C=!0,Qr(this,t),t=u.R),t.C=u.C,u.C=t.R.C=!1,Kr(this,u),n=this._;break}}else if(t=u.L,t.C&&(t.C=!1,u.C=!0,Qr(this,u),t=u.L),t.L&&t.L.C||t.R&&t.R.C){t.L&&t.L.C||(t.R.C=!1,t.C=!0,Kr(this,t),t=u.L),t.C=u.C,u.C=t.L.C=!1,Qr(this,u),n=this._;break}t.C=!0,n=u,u=u.U}while(!n.C);n&&(n.C=!1)}}},Zo.geom.voronoi=function(n){function t(n){var t=new Array(n.length),r=a[0][0],u=a[0][1],i=a[1][0],o=a[1][1];return tu(e(n),a).cells.forEach(function(e,a){var c=e.edges,s=e.site,l=t[a]=c.length?c.map(function(n){var t=n.start();return[t.x,t.y]}):s.x>=r&&s.x<=i&&s.y>=u&&s.y<=o?[[r,o],[i,o],[i,u],[r,u]]:[];l.point=n[a]}),t}function e(n){return n.map(function(n,t){return{x:Math.round(i(n,t)/ka)*ka,y:Math.round(o(n,t)/ka)*ka,i:t}})}var r=wr,u=Sr,i=r,o=u,a=Jc;return n?t(n):(t.links=function(n){return tu(e(n)).edges.filter(function(n){return n.l&&n.r}).map(function(t){return{source:n[t.l.i],target:n[t.r.i]}})},t.triangles=function(n){var t=[];return tu(e(n)).cells.forEach(function(e,r){for(var u,i,o=e.site,a=e.edges.sort(Hr),c=-1,s=a.length,l=a[s-1].edge,f=l.l===o?l.r:l.l;++c<s;)u=l,i=f,l=a[c].edge,f=l.l===o?l.r:l.l,r<i.i&&r<f.i&&ru(o,i,f)<0&&t.push([n[r],n[i.i],n[f.i]])}),t},t.x=function(n){return arguments.length?(i=bt(r=n),t):r},t.y=function(n){return arguments.length?(o=bt(u=n),t):u},t.clipExtent=function(n){return arguments.length?(a=null==n?Jc:n,t):a===Jc?null:a},t.size=function(n){return arguments.length?t.clipExtent(n&&[[0,0],n]):a===Jc?null:a&&a[1]},t)};var Jc=[[-1e6,-1e6],[1e6,1e6]];Zo.geom.delaunay=function(n){return Zo.geom.voronoi().triangles(n)},Zo.geom.quadtree=function(n,t,e,r,u){function i(n){function i(n,t,e,r,u,i,o,a){if(!isNaN(e)&&!isNaN(r))if(n.leaf){var c=n.x,l=n.y;if(null!=c)if(ua(c-e)+ua(l-r)<.01)s(n,t,e,r,u,i,o,a);else{var f=n.point;n.x=n.y=n.point=null,s(n,f,c,l,u,i,o,a),s(n,t,e,r,u,i,o,a)}else n.x=e,n.y=r,n.point=t}else s(n,t,e,r,u,i,o,a)}function s(n,t,e,r,u,o,a,c){var s=.5*(u+a),l=.5*(o+c),f=e>=s,h=r>=l,g=(h<<1)+f;n.leaf=!1,n=n.nodes[g]||(n.nodes[g]=ou()),f?u=s:a=s,h?o=l:c=l,i(n,t,e,r,u,o,a,c)}var l,f,h,g,p,v,d,m,y,x=bt(a),M=bt(c);if(null!=t)v=t,d=e,m=r,y=u;else if(m=y=-(v=d=1/0),f=[],h=[],p=n.length,o)for(g=0;p>g;++g)l=n[g],l.x<v&&(v=l.x),l.y<d&&(d=l.y),l.x>m&&(m=l.x),l.y>y&&(y=l.y),f.push(l.x),h.push(l.y);else for(g=0;p>g;++g){var _=+x(l=n[g],g),b=+M(l,g);v>_&&(v=_),d>b&&(d=b),_>m&&(m=_),b>y&&(y=b),f.push(_),h.push(b)}var w=m-v,S=y-d;w>S?y=d+w:m=v+S;var k=ou();if(k.add=function(n){i(k,n,+x(n,++g),+M(n,g),v,d,m,y)},k.visit=function(n){au(n,k,v,d,m,y)},g=-1,null==t){for(;++g<p;)i(k,n[g],f[g],h[g],v,d,m,y);--g}else n.forEach(k.add);return f=h=n=l=null,k}var o,a=wr,c=Sr;return(o=arguments.length)?(a=uu,c=iu,3===o&&(u=e,r=t,e=t=0),i(n)):(i.x=function(n){return arguments.length?(a=n,i):a},i.y=function(n){return arguments.length?(c=n,i):c},i.extent=function(n){return arguments.length?(null==n?t=e=r=u=null:(t=+n[0][0],e=+n[0][1],r=+n[1][0],u=+n[1][1]),i):null==t?null:[[t,e],[r,u]]},i.size=function(n){return arguments.length?(null==n?t=e=r=u=null:(t=e=0,r=+n[0],u=+n[1]),i):null==t?null:[r-t,u-e]},i)},Zo.interpolateRgb=cu,Zo.interpolateObject=su,Zo.interpolateNumber=lu,Zo.interpolateString=fu;var Gc=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Kc=new RegExp(Gc.source,"g");Zo.interpolate=hu,Zo.interpolators=[function(n,t){var e=typeof t;return("string"===e?Ia.has(t)||/^(#|rgb\(|hsl\()/.test(t)?cu:fu:t instanceof et?cu:Array.isArray(t)?gu:"object"===e&&isNaN(t)?su:lu)(n,t)}],Zo.interpolateArray=gu;var Qc=function(){return wt},ns=Zo.map({linear:Qc,poly:Mu,quad:function(){return mu},cubic:function(){return yu},sin:function(){return _u},exp:function(){return bu},circle:function(){return wu},elastic:Su,back:ku,bounce:function(){return Eu}}),ts=Zo.map({"in":wt,out:vu,"in-out":du,"out-in":function(n){return du(vu(n))}});Zo.ease=function(n){var t=n.indexOf("-"),e=t>=0?n.substring(0,t):n,r=t>=0?n.substring(t+1):"in";return e=ns.get(e)||Qc,r=ts.get(r)||wt,pu(r(e.apply(null,Vo.call(arguments,1))))},Zo.interpolateHcl=Au,Zo.interpolateHsl=Cu,Zo.interpolateLab=Nu,Zo.interpolateRound=zu,Zo.transform=function(n){var t=$o.createElementNS(Zo.ns.prefix.svg,"g");return(Zo.transform=function(n){if(null!=n){t.setAttribute("transform",n);var e=t.transform.baseVal.consolidate()}return new Lu(e?e.matrix:es)})(n)},Lu.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var es={a:1,b:0,c:0,d:1,e:0,f:0};Zo.interpolateTransform=Du,Zo.layout={},Zo.layout.bundle=function(){return function(n){for(var t=[],e=-1,r=n.length;++e<r;)t.push(ju(n[e]));return t}},Zo.layout.chord=function(){function n(){var n,s,f,h,g,p={},v=[],d=Zo.range(i),m=[];for(e=[],r=[],n=0,h=-1;++h<i;){for(s=0,g=-1;++g<i;)s+=u[h][g];v.push(s),m.push(Zo.range(i)),n+=s}for(o&&d.sort(function(n,t){return o(v[n],v[t])}),a&&m.forEach(function(n,t){n.sort(function(n,e){return a(u[t][n],u[t][e])})}),n=(wa-l*i)/n,s=0,h=-1;++h<i;){for(f=s,g=-1;++g<i;){var y=d[h],x=m[y][g],M=u[y][x],_=s,b=s+=M*n;p[y+"-"+x]={index:y,subindex:x,startAngle:_,endAngle:b,value:M}}r[y]={index:y,startAngle:f,endAngle:s,value:(s-f)/n},s+=l}for(h=-1;++h<i;)for(g=h-1;++g<i;){var w=p[h+"-"+g],S=p[g+"-"+h];(w.value||S.value)&&e.push(w.value<S.value?{source:S,target:w}:{source:w,target:S})}c&&t()}function t(){e.sort(function(n,t){return c((n.source.value+n.target.value)/2,(t.source.value+t.target.value)/2)})}var e,r,u,i,o,a,c,s={},l=0;return s.matrix=function(n){return arguments.length?(i=(u=n)&&u.length,e=r=null,s):u},s.padding=function(n){return arguments.length?(l=n,e=r=null,s):l},s.sortGroups=function(n){return arguments.length?(o=n,e=r=null,s):o},s.sortSubgroups=function(n){return arguments.length?(a=n,e=null,s):a},s.sortChords=function(n){return arguments.length?(c=n,e&&t(),s):c},s.chords=function(){return e||n(),e},s.groups=function(){return r||n(),r},s},Zo.layout.force=function(){function n(n){return function(t,e,r,u){if(t.point!==n){var i=t.cx-n.x,o=t.cy-n.y,a=u-e,c=i*i+o*o;if(c>a*a/d){if(p>c){var s=t.charge/c;n.px-=i*s,n.py-=o*s}return!0}if(t.point&&c&&p>c){var s=t.pointCharge/c;n.px-=i*s,n.py-=o*s}}return!t.charge}}function t(n){n.px=Zo.event.x,n.py=Zo.event.y,a.resume()}var e,r,u,i,o,a={},c=Zo.dispatch("start","tick","end"),s=[1,1],l=.9,f=rs,h=us,g=-30,p=is,v=.1,d=.64,m=[],y=[];return a.tick=function(){if((r*=.99)<.005)return c.end({type:"end",alpha:r=0}),!0;var t,e,a,f,h,p,d,x,M,_=m.length,b=y.length;for(e=0;b>e;++e)a=y[e],f=a.source,h=a.target,x=h.x-f.x,M=h.y-f.y,(p=x*x+M*M)&&(p=r*i[e]*((p=Math.sqrt(p))-u[e])/p,x*=p,M*=p,h.x-=x*(d=f.weight/(h.weight+f.weight)),h.y-=M*d,f.x+=x*(d=1-d),f.y+=M*d);if((d=r*v)&&(x=s[0]/2,M=s[1]/2,e=-1,d))for(;++e<_;)a=m[e],a.x+=(x-a.x)*d,a.y+=(M-a.y)*d;if(g)for(Vu(t=Zo.geom.quadtree(m),r,o),e=-1;++e<_;)(a=m[e]).fixed||t.visit(n(a));for(e=-1;++e<_;)a=m[e],a.fixed?(a.x=a.px,a.y=a.py):(a.x-=(a.px-(a.px=a.x))*l,a.y-=(a.py-(a.py=a.y))*l);c.tick({type:"tick",alpha:r})},a.nodes=function(n){return arguments.length?(m=n,a):m},a.links=function(n){return arguments.length?(y=n,a):y},a.size=function(n){return arguments.length?(s=n,a):s},a.linkDistance=function(n){return arguments.length?(f="function"==typeof n?n:+n,a):f},a.distance=a.linkDistance,a.linkStrength=function(n){return arguments.length?(h="function"==typeof n?n:+n,a):h},a.friction=function(n){return arguments.length?(l=+n,a):l},a.charge=function(n){return arguments.length?(g="function"==typeof n?n:+n,a):g},a.chargeDistance=function(n){return arguments.length?(p=n*n,a):Math.sqrt(p)},a.gravity=function(n){return arguments.length?(v=+n,a):v},a.theta=function(n){return arguments.length?(d=n*n,a):Math.sqrt(d)},a.alpha=function(n){return arguments.length?(n=+n,r?r=n>0?n:0:n>0&&(c.start({type:"start",alpha:r=n}),Zo.timer(a.tick)),a):r},a.start=function(){function n(n,r){if(!e){for(e=new Array(c),a=0;c>a;++a)e[a]=[];for(a=0;s>a;++a){var u=y[a];e[u.source.index].push(u.target),e[u.target.index].push(u.source)}}for(var i,o=e[t],a=-1,s=o.length;++a<s;)if(!isNaN(i=o[a][n]))return i;return Math.random()*r}var t,e,r,c=m.length,l=y.length,p=s[0],v=s[1];for(t=0;c>t;++t)(r=m[t]).index=t,r.weight=0;for(t=0;l>t;++t)r=y[t],"number"==typeof r.source&&(r.source=m[r.source]),"number"==typeof r.target&&(r.target=m[r.target]),++r.source.weight,++r.target.weight;for(t=0;c>t;++t)r=m[t],isNaN(r.x)&&(r.x=n("x",p)),isNaN(r.y)&&(r.y=n("y",v)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(u=[],"function"==typeof f)for(t=0;l>t;++t)u[t]=+f.call(this,y[t],t);else for(t=0;l>t;++t)u[t]=f;if(i=[],"function"==typeof h)for(t=0;l>t;++t)i[t]=+h.call(this,y[t],t);else for(t=0;l>t;++t)i[t]=h;if(o=[],"function"==typeof g)for(t=0;c>t;++t)o[t]=+g.call(this,m[t],t);else for(t=0;c>t;++t)o[t]=g;return a.resume()},a.resume=function(){return a.alpha(.1)},a.stop=function(){return a.alpha(0)},a.drag=function(){return e||(e=Zo.behavior.drag().origin(wt).on("dragstart.force",Ou).on("drag.force",t).on("dragend.force",Yu)),arguments.length?(this.on("mouseover.force",Iu).on("mouseout.force",Zu).call(e),void 0):e},Zo.rebind(a,c,"on")};var rs=20,us=1,is=1/0;Zo.layout.hierarchy=function(){function n(u){var i,o=[u],a=[];for(u.depth=0;null!=(i=o.pop());)if(a.push(i),(s=e.call(n,i,i.depth))&&(c=s.length)){for(var c,s,l;--c>=0;)o.push(l=s[c]),l.parent=i,l.depth=i.depth+1;r&&(i.value=0),i.children=s}else r&&(i.value=+r.call(n,i,i.depth)||0),delete i.children;return Bu(u,function(n){var e,u;t&&(e=n.children)&&e.sort(t),r&&(u=n.parent)&&(u.value+=n.value)}),a}var t=Gu,e=Wu,r=Ju;return n.sort=function(e){return arguments.length?(t=e,n):t},n.children=function(t){return arguments.length?(e=t,n):e},n.value=function(t){return arguments.length?(r=t,n):r},n.revalue=function(t){return r&&($u(t,function(n){n.children&&(n.value=0)}),Bu(t,function(t){var e;t.children||(t.value=+r.call(n,t,t.depth)||0),(e=t.parent)&&(e.value+=t.value)})),t},n},Zo.layout.partition=function(){function n(t,e,r,u){var i=t.children;if(t.x=e,t.y=t.depth*u,t.dx=r,t.dy=u,i&&(o=i.length)){var o,a,c,s=-1;for(r=t.value?r/t.value:0;++s<o;)n(a=i[s],e,c=a.value*r,u),e+=c}}function t(n){var e=n.children,r=0;if(e&&(u=e.length))for(var u,i=-1;++i<u;)r=Math.max(r,t(e[i]));return 1+r}function e(e,i){var o=r.call(this,e,i);return n(o[0],0,u[0],u[1]/t(o[0])),o}var r=Zo.layout.hierarchy(),u=[1,1];return e.size=function(n){return arguments.length?(u=n,e):u},Xu(e,r)},Zo.layout.pie=function(){function n(i){var o=i.map(function(e,r){return+t.call(n,e,r)}),a=+("function"==typeof r?r.apply(this,arguments):r),c=(("function"==typeof u?u.apply(this,arguments):u)-a)/Zo.sum(o),s=Zo.range(i.length);null!=e&&s.sort(e===os?function(n,t){return o[t]-o[n]}:function(n,t){return e(i[n],i[t])});var l=[];return s.forEach(function(n){var t;l[n]={data:i[n],value:t=o[n],startAngle:a,endAngle:a+=t*c}}),l}var t=Number,e=os,r=0,u=wa;return n.value=function(e){return arguments.length?(t=e,n):t},n.sort=function(t){return arguments.length?(e=t,n):e},n.startAngle=function(t){return arguments.length?(r=t,n):r},n.endAngle=function(t){return arguments.length?(u=t,n):u},n};var os={};Zo.layout.stack=function(){function n(a,c){var s=a.map(function(e,r){return t.call(n,e,r)}),l=s.map(function(t){return t.map(function(t,e){return[i.call(n,t,e),o.call(n,t,e)]})}),f=e.call(n,l,c);s=Zo.permute(s,f),l=Zo.permute(l,f);var h,g,p,v=r.call(n,l,c),d=s.length,m=s[0].length;for(g=0;m>g;++g)for(u.call(n,s[0][g],p=v[g],l[0][g][1]),h=1;d>h;++h)u.call(n,s[h][g],p+=l[h-1][g][1],l[h][g][1]);return a}var t=wt,e=ei,r=ri,u=ti,i=Qu,o=ni;return n.values=function(e){return arguments.length?(t=e,n):t},n.order=function(t){return arguments.length?(e="function"==typeof t?t:as.get(t)||ei,n):e},n.offset=function(t){return arguments.length?(r="function"==typeof t?t:cs.get(t)||ri,n):r},n.x=function(t){return arguments.length?(i=t,n):i},n.y=function(t){return arguments.length?(o=t,n):o},n.out=function(t){return arguments.length?(u=t,n):u},n};var as=Zo.map({"inside-out":function(n){var t,e,r=n.length,u=n.map(ui),i=n.map(ii),o=Zo.range(r).sort(function(n,t){return u[n]-u[t]}),a=0,c=0,s=[],l=[];for(t=0;r>t;++t)e=o[t],c>a?(a+=i[e],s.push(e)):(c+=i[e],l.push(e));return l.reverse().concat(s)},reverse:function(n){return Zo.range(n.length).reverse()},"default":ei}),cs=Zo.map({silhouette:function(n){var t,e,r,u=n.length,i=n[0].length,o=[],a=0,c=[];for(e=0;i>e;++e){for(t=0,r=0;u>t;t++)r+=n[t][e][1];r>a&&(a=r),o.push(r)}for(e=0;i>e;++e)c[e]=(a-o[e])/2;return c},wiggle:function(n){var t,e,r,u,i,o,a,c,s,l=n.length,f=n[0],h=f.length,g=[];for(g[0]=c=s=0,e=1;h>e;++e){for(t=0,u=0;l>t;++t)u+=n[t][e][1];for(t=0,i=0,a=f[e][0]-f[e-1][0];l>t;++t){for(r=0,o=(n[t][e][1]-n[t][e-1][1])/(2*a);t>r;++r)o+=(n[r][e][1]-n[r][e-1][1])/a;i+=o*n[t][e][1]}g[e]=c-=u?i/u*a:0,s>c&&(s=c)}for(e=0;h>e;++e)g[e]-=s;return g},expand:function(n){var t,e,r,u=n.length,i=n[0].length,o=1/u,a=[];for(e=0;i>e;++e){for(t=0,r=0;u>t;t++)r+=n[t][e][1];if(r)for(t=0;u>t;t++)n[t][e][1]/=r;else for(t=0;u>t;t++)n[t][e][1]=o}for(e=0;i>e;++e)a[e]=0;return a},zero:ri});Zo.layout.histogram=function(){function n(n,i){for(var o,a,c=[],s=n.map(e,this),l=r.call(this,s,i),f=u.call(this,l,s,i),i=-1,h=s.length,g=f.length-1,p=t?1:1/h;++i<g;)o=c[i]=[],o.dx=f[i+1]-(o.x=f[i]),o.y=0;if(g>0)for(i=-1;++i<h;)a=s[i],a>=l[0]&&a<=l[1]&&(o=c[Zo.bisect(f,a,1,g)-1],o.y+=p,o.push(n[i]));return c}var t=!0,e=Number,r=si,u=ai;return n.value=function(t){return arguments.length?(e=t,n):e},n.range=function(t){return arguments.length?(r=bt(t),n):r},n.bins=function(t){return arguments.length?(u="number"==typeof t?function(n){return ci(n,t)}:bt(t),n):u},n.frequency=function(e){return arguments.length?(t=!!e,n):t},n},Zo.layout.pack=function(){function n(n,i){var o=e.call(this,n,i),a=o[0],c=u[0],s=u[1],l=null==t?Math.sqrt:"function"==typeof t?t:function(){return t};if(a.x=a.y=0,Bu(a,function(n){n.r=+l(n.value)}),Bu(a,pi),r){var f=r*(t?1:Math.max(2*a.r/c,2*a.r/s))/2;Bu(a,function(n){n.r+=f}),Bu(a,pi),Bu(a,function(n){n.r-=f})}return mi(a,c/2,s/2,t?1:1/Math.max(2*a.r/c,2*a.r/s)),o}var t,e=Zo.layout.hierarchy().sort(li),r=0,u=[1,1];return n.size=function(t){return arguments.length?(u=t,n):u},n.radius=function(e){return arguments.length?(t=null==e||"function"==typeof e?e:+e,n):t},n.padding=function(t){return arguments.length?(r=+t,n):r},Xu(n,e)},Zo.layout.tree=function(){function n(n,u){var l=o.call(this,n,u),f=l[0],h=t(f);if(Bu(h,e),h.parent.m=-h.z,$u(h,r),s)$u(f,i);else{var g=f,p=f,v=f;$u(f,function(n){n.x<g.x&&(g=n),n.x>p.x&&(p=n),n.depth>v.depth&&(v=n)});var d=a(g,p)/2-g.x,m=c[0]/(p.x+a(p,g)/2+d),y=c[1]/(v.depth||1);$u(f,function(n){n.x=(n.x+d)*m,n.y=n.depth*y})}return l}function t(n){for(var t,e={A:null,children:[n]},r=[e];null!=(t=r.pop());)for(var u,i=t.children,o=0,a=i.length;a>o;++o)r.push((i[o]=u={_:i[o],parent:t,children:(u=i[o].children)&&u.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:o}).a=u);return e.children[0]}function e(n){var t=n.children,e=n.parent.children,r=n.i?e[n.i-1]:null;if(t.length){wi(n);var i=(t[0].z+t[t.length-1].z)/2;r?(n.z=r.z+a(n._,r._),n.m=n.z-i):n.z=i}else r&&(n.z=r.z+a(n._,r._));n.parent.A=u(n,r,n.parent.A||e[0])}function r(n){n._.x=n.z+n.parent.m,n.m+=n.parent.m}function u(n,t,e){if(t){for(var r,u=n,i=n,o=t,c=u.parent.children[0],s=u.m,l=i.m,f=o.m,h=c.m;o=_i(o),u=Mi(u),o&&u;)c=Mi(c),i=_i(i),i.a=n,r=o.z+f-u.z-s+a(o._,u._),r>0&&(bi(Si(o,n,e),n,r),s+=r,l+=r),f+=o.m,s+=u.m,h+=c.m,l+=i.m;o&&!_i(i)&&(i.t=o,i.m+=f-l),u&&!Mi(c)&&(c.t=u,c.m+=s-h,e=n)}return e}function i(n){n.x*=c[0],n.y=n.depth*c[1]}var o=Zo.layout.hierarchy().sort(null).value(null),a=xi,c=[1,1],s=null;return n.separation=function(t){return arguments.length?(a=t,n):a},n.size=function(t){return arguments.length?(s=null==(c=t)?i:null,n):s?null:c},n.nodeSize=function(t){return arguments.length?(s=null==(c=t)?null:i,n):s?c:null},Xu(n,o)},Zo.layout.cluster=function(){function n(n,i){var o,a=t.call(this,n,i),c=a[0],s=0;Bu(c,function(n){var t=n.children;t&&t.length?(n.x=Ei(t),n.y=ki(t)):(n.x=o?s+=e(n,o):0,n.y=0,o=n)});var l=Ai(c),f=Ci(c),h=l.x-e(l,f)/2,g=f.x+e(f,l)/2;return Bu(c,u?function(n){n.x=(n.x-c.x)*r[0],n.y=(c.y-n.y)*r[1]}:function(n){n.x=(n.x-h)/(g-h)*r[0],n.y=(1-(c.y?n.y/c.y:1))*r[1]}),a}var t=Zo.layout.hierarchy().sort(null).value(null),e=xi,r=[1,1],u=!1;return n.separation=function(t){return arguments.length?(e=t,n):e},n.size=function(t){return arguments.length?(u=null==(r=t),n):u?null:r},n.nodeSize=function(t){return arguments.length?(u=null!=(r=t),n):u?r:null},Xu(n,t)},Zo.layout.treemap=function(){function n(n,t){for(var e,r,u=-1,i=n.length;++u<i;)r=(e=n[u]).value*(0>t?0:t),e.area=isNaN(r)||0>=r?0:r}function t(e){var i=e.children;if(i&&i.length){var o,a,c,s=f(e),l=[],h=i.slice(),p=1/0,v="slice"===g?s.dx:"dice"===g?s.dy:"slice-dice"===g?1&e.depth?s.dy:s.dx:Math.min(s.dx,s.dy);for(n(h,s.dx*s.dy/e.value),l.area=0;(c=h.length)>0;)l.push(o=h[c-1]),l.area+=o.area,"squarify"!==g||(a=r(l,v))<=p?(h.pop(),p=a):(l.area-=l.pop().area,u(l,v,s,!1),v=Math.min(s.dx,s.dy),l.length=l.area=0,p=1/0);l.length&&(u(l,v,s,!0),l.length=l.area=0),i.forEach(t)}}function e(t){var r=t.children;if(r&&r.length){var i,o=f(t),a=r.slice(),c=[];for(n(a,o.dx*o.dy/t.value),c.area=0;i=a.pop();)c.push(i),c.area+=i.area,null!=i.z&&(u(c,i.z?o.dx:o.dy,o,!a.length),c.length=c.area=0);r.forEach(e)}}function r(n,t){for(var e,r=n.area,u=0,i=1/0,o=-1,a=n.length;++o<a;)(e=n[o].area)&&(i>e&&(i=e),e>u&&(u=e));return r*=r,t*=t,r?Math.max(t*u*p/r,r/(t*i*p)):1/0}function u(n,t,e,r){var u,i=-1,o=n.length,a=e.x,s=e.y,l=t?c(n.area/t):0;if(t==e.dx){for((r||l>e.dy)&&(l=e.dy);++i<o;)u=n[i],u.x=a,u.y=s,u.dy=l,a+=u.dx=Math.min(e.x+e.dx-a,l?c(u.area/l):0);u.z=!0,u.dx+=e.x+e.dx-a,e.y+=l,e.dy-=l}else{for((r||l>e.dx)&&(l=e.dx);++i<o;)u=n[i],u.x=a,u.y=s,u.dx=l,s+=u.dy=Math.min(e.y+e.dy-s,l?c(u.area/l):0);u.z=!1,u.dy+=e.y+e.dy-s,e.x+=l,e.dx-=l}}function i(r){var u=o||a(r),i=u[0];return i.x=0,i.y=0,i.dx=s[0],i.dy=s[1],o&&a.revalue(i),n([i],i.dx*i.dy/i.value),(o?e:t)(i),h&&(o=u),u}var o,a=Zo.layout.hierarchy(),c=Math.round,s=[1,1],l=null,f=Ni,h=!1,g="squarify",p=.5*(1+Math.sqrt(5));return i.size=function(n){return arguments.length?(s=n,i):s},i.padding=function(n){function t(t){var e=n.call(i,t,t.depth);return null==e?Ni(t):zi(t,"number"==typeof e?[e,e,e,e]:e)}function e(t){return zi(t,n)}if(!arguments.length)return l;var r;return f=null==(l=n)?Ni:"function"==(r=typeof n)?t:"number"===r?(n=[n,n,n,n],e):e,i},i.round=function(n){return arguments.length?(c=n?Math.round:Number,i):c!=Number},i.sticky=function(n){return arguments.length?(h=n,o=null,i):h},i.ratio=function(n){return arguments.length?(p=n,i):p},i.mode=function(n){return arguments.length?(g=n+"",i):g},Xu(i,a)},Zo.random={normal:function(n,t){var e=arguments.length;return 2>e&&(t=1),1>e&&(n=0),function(){var e,r,u;do e=2*Math.random()-1,r=2*Math.random()-1,u=e*e+r*r;while(!u||u>1);return n+t*e*Math.sqrt(-2*Math.log(u)/u)}},logNormal:function(){var n=Zo.random.normal.apply(Zo,arguments);return function(){return Math.exp(n())}},bates:function(n){var t=Zo.random.irwinHall(n);return function(){return t()/n}},irwinHall:function(n){return function(){for(var t=0,e=0;n>e;e++)t+=Math.random();return t}}},Zo.scale={};var ss={floor:wt,ceil:wt};Zo.scale.linear=function(){return Ui([0,1],[0,1],hu,!1)};var ls={s:1,g:1,p:1,r:1,e:1};Zo.scale.log=function(){return Vi(Zo.scale.linear().domain([0,1]),10,!0,[1,10])};var fs=Zo.format(".0e"),hs={floor:function(n){return-Math.ceil(-n)},ceil:function(n){return-Math.floor(-n)}};Zo.scale.pow=function(){return Xi(Zo.scale.linear(),1,[0,1])},Zo.scale.sqrt=function(){return Zo.scale.pow().exponent(.5)},Zo.scale.ordinal=function(){return Bi([],{t:"range",a:[[]]})},Zo.scale.category10=function(){return Zo.scale.ordinal().range(gs)},Zo.scale.category20=function(){return Zo.scale.ordinal().range(ps)},Zo.scale.category20b=function(){return Zo.scale.ordinal().range(vs)},Zo.scale.category20c=function(){return Zo.scale.ordinal().range(ds)};var gs=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(vt),ps=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(vt),vs=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(vt),ds=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(vt);Zo.scale.quantile=function(){return Wi([],[])},Zo.scale.quantize=function(){return Ji(0,1,[0,1])},Zo.scale.threshold=function(){return Gi([.5],[0,1])},Zo.scale.identity=function(){return Ki([0,1])},Zo.svg={},Zo.svg.arc=function(){function n(){var n=t.apply(this,arguments),i=e.apply(this,arguments),o=r.apply(this,arguments)+ms,a=u.apply(this,arguments)+ms,c=(o>a&&(c=o,o=a,a=c),a-o),s=ba>c?"0":"1",l=Math.cos(o),f=Math.sin(o),h=Math.cos(a),g=Math.sin(a);
+return c>=ys?n?"M0,"+i+"A"+i+","+i+" 0 1,1 0,"+-i+"A"+i+","+i+" 0 1,1 0,"+i+"M0,"+n+"A"+n+","+n+" 0 1,0 0,"+-n+"A"+n+","+n+" 0 1,0 0,"+n+"Z":"M0,"+i+"A"+i+","+i+" 0 1,1 0,"+-i+"A"+i+","+i+" 0 1,1 0,"+i+"Z":n?"M"+i*l+","+i*f+"A"+i+","+i+" 0 "+s+",1 "+i*h+","+i*g+"L"+n*h+","+n*g+"A"+n+","+n+" 0 "+s+",0 "+n*l+","+n*f+"Z":"M"+i*l+","+i*f+"A"+i+","+i+" 0 "+s+",1 "+i*h+","+i*g+"L0,0"+"Z"}var t=Qi,e=no,r=to,u=eo;return n.innerRadius=function(e){return arguments.length?(t=bt(e),n):t},n.outerRadius=function(t){return arguments.length?(e=bt(t),n):e},n.startAngle=function(t){return arguments.length?(r=bt(t),n):r},n.endAngle=function(t){return arguments.length?(u=bt(t),n):u},n.centroid=function(){var n=(t.apply(this,arguments)+e.apply(this,arguments))/2,i=(r.apply(this,arguments)+u.apply(this,arguments))/2+ms;return[Math.cos(i)*n,Math.sin(i)*n]},n};var ms=-Sa,ys=wa-ka;Zo.svg.line=function(){return ro(wt)};var xs=Zo.map({linear:uo,"linear-closed":io,step:oo,"step-before":ao,"step-after":co,basis:po,"basis-open":vo,"basis-closed":mo,bundle:yo,cardinal:fo,"cardinal-open":so,"cardinal-closed":lo,monotone:So});xs.forEach(function(n,t){t.key=n,t.closed=/-closed$/.test(n)});var Ms=[0,2/3,1/3,0],_s=[0,1/3,2/3,0],bs=[0,1/6,2/3,1/6];Zo.svg.line.radial=function(){var n=ro(ko);return n.radius=n.x,delete n.x,n.angle=n.y,delete n.y,n},ao.reverse=co,co.reverse=ao,Zo.svg.area=function(){return Eo(wt)},Zo.svg.area.radial=function(){var n=Eo(ko);return n.radius=n.x,delete n.x,n.innerRadius=n.x0,delete n.x0,n.outerRadius=n.x1,delete n.x1,n.angle=n.y,delete n.y,n.startAngle=n.y0,delete n.y0,n.endAngle=n.y1,delete n.y1,n},Zo.svg.chord=function(){function n(n,a){var c=t(this,i,n,a),s=t(this,o,n,a);return"M"+c.p0+r(c.r,c.p1,c.a1-c.a0)+(e(c,s)?u(c.r,c.p1,c.r,c.p0):u(c.r,c.p1,s.r,s.p0)+r(s.r,s.p1,s.a1-s.a0)+u(s.r,s.p1,c.r,c.p0))+"Z"}function t(n,t,e,r){var u=t.call(n,e,r),i=a.call(n,u,r),o=c.call(n,u,r)+ms,l=s.call(n,u,r)+ms;return{r:i,a0:o,a1:l,p0:[i*Math.cos(o),i*Math.sin(o)],p1:[i*Math.cos(l),i*Math.sin(l)]}}function e(n,t){return n.a0==t.a0&&n.a1==t.a1}function r(n,t,e){return"A"+n+","+n+" 0 "+ +(e>ba)+",1 "+t}function u(n,t,e,r){return"Q 0,0 "+r}var i=gr,o=pr,a=Ao,c=to,s=eo;return n.radius=function(t){return arguments.length?(a=bt(t),n):a},n.source=function(t){return arguments.length?(i=bt(t),n):i},n.target=function(t){return arguments.length?(o=bt(t),n):o},n.startAngle=function(t){return arguments.length?(c=bt(t),n):c},n.endAngle=function(t){return arguments.length?(s=bt(t),n):s},n},Zo.svg.diagonal=function(){function n(n,u){var i=t.call(this,n,u),o=e.call(this,n,u),a=(i.y+o.y)/2,c=[i,{x:i.x,y:a},{x:o.x,y:a},o];return c=c.map(r),"M"+c[0]+"C"+c[1]+" "+c[2]+" "+c[3]}var t=gr,e=pr,r=Co;return n.source=function(e){return arguments.length?(t=bt(e),n):t},n.target=function(t){return arguments.length?(e=bt(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},Zo.svg.diagonal.radial=function(){var n=Zo.svg.diagonal(),t=Co,e=n.projection;return n.projection=function(n){return arguments.length?e(No(t=n)):t},n},Zo.svg.symbol=function(){function n(n,r){return(ws.get(t.call(this,n,r))||To)(e.call(this,n,r))}var t=Lo,e=zo;return n.type=function(e){return arguments.length?(t=bt(e),n):t},n.size=function(t){return arguments.length?(e=bt(t),n):e},n};var ws=Zo.map({circle:To,cross:function(n){var t=Math.sqrt(n/5)/2;return"M"+-3*t+","+-t+"H"+-t+"V"+-3*t+"H"+t+"V"+-t+"H"+3*t+"V"+t+"H"+t+"V"+3*t+"H"+-t+"V"+t+"H"+-3*t+"Z"},diamond:function(n){var t=Math.sqrt(n/(2*As)),e=t*As;return"M0,"+-t+"L"+e+",0"+" 0,"+t+" "+-e+",0"+"Z"},square:function(n){var t=Math.sqrt(n)/2;return"M"+-t+","+-t+"L"+t+","+-t+" "+t+","+t+" "+-t+","+t+"Z"},"triangle-down":function(n){var t=Math.sqrt(n/Es),e=t*Es/2;return"M0,"+e+"L"+t+","+-e+" "+-t+","+-e+"Z"},"triangle-up":function(n){var t=Math.sqrt(n/Es),e=t*Es/2;return"M0,"+-e+"L"+t+","+e+" "+-t+","+e+"Z"}});Zo.svg.symbolTypes=ws.keys();var Ss,ks,Es=Math.sqrt(3),As=Math.tan(30*Aa),Cs=[],Ns=0;Cs.call=pa.call,Cs.empty=pa.empty,Cs.node=pa.node,Cs.size=pa.size,Zo.transition=function(n){return arguments.length?Ss?n.transition():n:ma.transition()},Zo.transition.prototype=Cs,Cs.select=function(n){var t,e,r,u=this.id,i=[];n=b(n);for(var o=-1,a=this.length;++o<a;){i.push(t=[]);for(var c=this[o],s=-1,l=c.length;++s<l;)(r=c[s])&&(e=n.call(r,r.__data__,s,o))?("__data__"in r&&(e.__data__=r.__data__),Po(e,s,u,r.__transition__[u]),t.push(e)):t.push(null)}return qo(i,u)},Cs.selectAll=function(n){var t,e,r,u,i,o=this.id,a=[];n=w(n);for(var c=-1,s=this.length;++c<s;)for(var l=this[c],f=-1,h=l.length;++f<h;)if(r=l[f]){i=r.__transition__[o],e=n.call(r,r.__data__,f,c),a.push(t=[]);for(var g=-1,p=e.length;++g<p;)(u=e[g])&&Po(u,g,o,i),t.push(u)}return qo(a,o)},Cs.filter=function(n){var t,e,r,u=[];"function"!=typeof n&&(n=R(n));for(var i=0,o=this.length;o>i;i++){u.push(t=[]);for(var e=this[i],a=0,c=e.length;c>a;a++)(r=e[a])&&n.call(r,r.__data__,a,i)&&t.push(r)}return qo(u,this.id)},Cs.tween=function(n,t){var e=this.id;return arguments.length<2?this.node().__transition__[e].tween.get(n):P(this,null==t?function(t){t.__transition__[e].tween.remove(n)}:function(r){r.__transition__[e].tween.set(n,t)})},Cs.attr=function(n,t){function e(){this.removeAttribute(a)}function r(){this.removeAttributeNS(a.space,a.local)}function u(n){return null==n?e:(n+="",function(){var t,e=this.getAttribute(a);return e!==n&&(t=o(e,n),function(n){this.setAttribute(a,t(n))})})}function i(n){return null==n?r:(n+="",function(){var t,e=this.getAttributeNS(a.space,a.local);return e!==n&&(t=o(e,n),function(n){this.setAttributeNS(a.space,a.local,t(n))})})}if(arguments.length<2){for(t in n)this.attr(t,n[t]);return this}var o="transform"==n?Du:hu,a=Zo.ns.qualify(n);return Ro(this,"attr."+n,t,a.local?i:u)},Cs.attrTween=function(n,t){function e(n,e){var r=t.call(this,n,e,this.getAttribute(u));return r&&function(n){this.setAttribute(u,r(n))}}function r(n,e){var r=t.call(this,n,e,this.getAttributeNS(u.space,u.local));return r&&function(n){this.setAttributeNS(u.space,u.local,r(n))}}var u=Zo.ns.qualify(n);return this.tween("attr."+n,u.local?r:e)},Cs.style=function(n,t,e){function r(){this.style.removeProperty(n)}function u(t){return null==t?r:(t+="",function(){var r,u=Wo.getComputedStyle(this,null).getPropertyValue(n);return u!==t&&(r=hu(u,t),function(t){this.style.setProperty(n,r(t),e)})})}var i=arguments.length;if(3>i){if("string"!=typeof n){2>i&&(t="");for(e in n)this.style(e,n[e],t);return this}e=""}return Ro(this,"style."+n,t,u)},Cs.styleTween=function(n,t,e){function r(r,u){var i=t.call(this,r,u,Wo.getComputedStyle(this,null).getPropertyValue(n));return i&&function(t){this.style.setProperty(n,i(t),e)}}return arguments.length<3&&(e=""),this.tween("style."+n,r)},Cs.text=function(n){return Ro(this,"text",n,Do)},Cs.remove=function(){return this.each("end.transition",function(){var n;this.__transition__.count<2&&(n=this.parentNode)&&n.removeChild(this)})},Cs.ease=function(n){var t=this.id;return arguments.length<1?this.node().__transition__[t].ease:("function"!=typeof n&&(n=Zo.ease.apply(Zo,arguments)),P(this,function(e){e.__transition__[t].ease=n}))},Cs.delay=function(n){var t=this.id;return arguments.length<1?this.node().__transition__[t].delay:P(this,"function"==typeof n?function(e,r,u){e.__transition__[t].delay=+n.call(e,e.__data__,r,u)}:(n=+n,function(e){e.__transition__[t].delay=n}))},Cs.duration=function(n){var t=this.id;return arguments.length<1?this.node().__transition__[t].duration:P(this,"function"==typeof n?function(e,r,u){e.__transition__[t].duration=Math.max(1,n.call(e,e.__data__,r,u))}:(n=Math.max(1,n),function(e){e.__transition__[t].duration=n}))},Cs.each=function(n,t){var e=this.id;if(arguments.length<2){var r=ks,u=Ss;Ss=e,P(this,function(t,r,u){ks=t.__transition__[e],n.call(t,t.__data__,r,u)}),ks=r,Ss=u}else P(this,function(r){var u=r.__transition__[e];(u.event||(u.event=Zo.dispatch("start","end"))).on(n,t)});return this},Cs.transition=function(){for(var n,t,e,r,u=this.id,i=++Ns,o=[],a=0,c=this.length;c>a;a++){o.push(n=[]);for(var t=this[a],s=0,l=t.length;l>s;s++)(e=t[s])&&(r=Object.create(e.__transition__[u]),r.delay+=r.duration,Po(e,s,i,r)),n.push(e)}return qo(o,i)},Zo.svg.axis=function(){function n(n){n.each(function(){var n,s=Zo.select(this),l=this.__chart__||e,f=this.__chart__=e.copy(),h=null==c?f.ticks?f.ticks.apply(f,a):f.domain():c,g=null==t?f.tickFormat?f.tickFormat.apply(f,a):wt:t,p=s.selectAll(".tick").data(h,f),v=p.enter().insert("g",".domain").attr("class","tick").style("opacity",ka),d=Zo.transition(p.exit()).style("opacity",ka).remove(),m=Zo.transition(p.order()).style("opacity",1),y=Ti(f),x=s.selectAll(".domain").data([0]),M=(x.enter().append("path").attr("class","domain"),Zo.transition(x));v.append("line"),v.append("text");var _=v.select("line"),b=m.select("line"),w=p.select("text").text(g),S=v.select("text"),k=m.select("text");switch(r){case"bottom":n=Uo,_.attr("y2",u),S.attr("y",Math.max(u,0)+o),b.attr("x2",0).attr("y2",u),k.attr("x",0).attr("y",Math.max(u,0)+o),w.attr("dy",".71em").style("text-anchor","middle"),M.attr("d","M"+y[0]+","+i+"V0H"+y[1]+"V"+i);break;case"top":n=Uo,_.attr("y2",-u),S.attr("y",-(Math.max(u,0)+o)),b.attr("x2",0).attr("y2",-u),k.attr("x",0).attr("y",-(Math.max(u,0)+o)),w.attr("dy","0em").style("text-anchor","middle"),M.attr("d","M"+y[0]+","+-i+"V0H"+y[1]+"V"+-i);break;case"left":n=jo,_.attr("x2",-u),S.attr("x",-(Math.max(u,0)+o)),b.attr("x2",-u).attr("y2",0),k.attr("x",-(Math.max(u,0)+o)).attr("y",0),w.attr("dy",".32em").style("text-anchor","end"),M.attr("d","M"+-i+","+y[0]+"H0V"+y[1]+"H"+-i);break;case"right":n=jo,_.attr("x2",u),S.attr("x",Math.max(u,0)+o),b.attr("x2",u).attr("y2",0),k.attr("x",Math.max(u,0)+o).attr("y",0),w.attr("dy",".32em").style("text-anchor","start"),M.attr("d","M"+i+","+y[0]+"H0V"+y[1]+"H"+i)}if(f.rangeBand){var E=f,A=E.rangeBand()/2;l=f=function(n){return E(n)+A}}else l.rangeBand?l=f:d.call(n,f);v.call(n,l),m.call(n,f)})}var t,e=Zo.scale.linear(),r=zs,u=6,i=6,o=3,a=[10],c=null;return n.scale=function(t){return arguments.length?(e=t,n):e},n.orient=function(t){return arguments.length?(r=t in Ls?t+"":zs,n):r},n.ticks=function(){return arguments.length?(a=arguments,n):a},n.tickValues=function(t){return arguments.length?(c=t,n):c},n.tickFormat=function(e){return arguments.length?(t=e,n):t},n.tickSize=function(t){var e=arguments.length;return e?(u=+t,i=+arguments[e-1],n):u},n.innerTickSize=function(t){return arguments.length?(u=+t,n):u},n.outerTickSize=function(t){return arguments.length?(i=+t,n):i},n.tickPadding=function(t){return arguments.length?(o=+t,n):o},n.tickSubdivide=function(){return arguments.length&&n},n};var zs="bottom",Ls={top:1,right:1,bottom:1,left:1};Zo.svg.brush=function(){function n(i){i.each(function(){var i=Zo.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",u).on("touchstart.brush",u),o=i.selectAll(".background").data([0]);o.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),i.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var a=i.selectAll(".resize").data(p,wt);a.exit().remove(),a.enter().append("g").attr("class",function(n){return"resize "+n}).style("cursor",function(n){return Ts[n]}).append("rect").attr("x",function(n){return/[ew]$/.test(n)?-3:null}).attr("y",function(n){return/^[ns]/.test(n)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),a.style("display",n.empty()?"none":null);var l,f=Zo.transition(i),h=Zo.transition(o);c&&(l=Ti(c),h.attr("x",l[0]).attr("width",l[1]-l[0]),e(f)),s&&(l=Ti(s),h.attr("y",l[0]).attr("height",l[1]-l[0]),r(f)),t(f)})}function t(n){n.selectAll(".resize").attr("transform",function(n){return"translate("+l[+/e$/.test(n)]+","+f[+/^s/.test(n)]+")"})}function e(n){n.select(".extent").attr("x",l[0]),n.selectAll(".extent,.n>rect,.s>rect").attr("width",l[1]-l[0])}function r(n){n.select(".extent").attr("y",f[0]),n.selectAll(".extent,.e>rect,.w>rect").attr("height",f[1]-f[0])}function u(){function u(){32==Zo.event.keyCode&&(C||(x=null,z[0]-=l[1],z[1]-=f[1],C=2),y())}function p(){32==Zo.event.keyCode&&2==C&&(z[0]+=l[1],z[1]+=f[1],C=0,y())}function v(){var n=Zo.mouse(_),u=!1;M&&(n[0]+=M[0],n[1]+=M[1]),C||(Zo.event.altKey?(x||(x=[(l[0]+l[1])/2,(f[0]+f[1])/2]),z[0]=l[+(n[0]<x[0])],z[1]=f[+(n[1]<x[1])]):x=null),E&&d(n,c,0)&&(e(S),u=!0),A&&d(n,s,1)&&(r(S),u=!0),u&&(t(S),w({type:"brush",mode:C?"move":"resize"}))}function d(n,t,e){var r,u,a=Ti(t),c=a[0],s=a[1],p=z[e],v=e?f:l,d=v[1]-v[0];return C&&(c-=p,s-=d+p),r=(e?g:h)?Math.max(c,Math.min(s,n[e])):n[e],C?u=(r+=p)+d:(x&&(p=Math.max(c,Math.min(s,2*x[e]-r))),r>p?(u=r,r=p):u=p),v[0]!=r||v[1]!=u?(e?o=null:i=null,v[0]=r,v[1]=u,!0):void 0}function m(){v(),S.style("pointer-events","all").selectAll(".resize").style("display",n.empty()?"none":null),Zo.select("body").style("cursor",null),L.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),N(),w({type:"brushend"})}var x,M,_=this,b=Zo.select(Zo.event.target),w=a.of(_,arguments),S=Zo.select(_),k=b.datum(),E=!/^(n|s)$/.test(k)&&c,A=!/^(e|w)$/.test(k)&&s,C=b.classed("extent"),N=I(),z=Zo.mouse(_),L=Zo.select(Wo).on("keydown.brush",u).on("keyup.brush",p);if(Zo.event.changedTouches?L.on("touchmove.brush",v).on("touchend.brush",m):L.on("mousemove.brush",v).on("mouseup.brush",m),S.interrupt().selectAll("*").interrupt(),C)z[0]=l[0]-z[0],z[1]=f[0]-z[1];else if(k){var T=+/w$/.test(k),q=+/^n/.test(k);M=[l[1-T]-z[0],f[1-q]-z[1]],z[0]=l[T],z[1]=f[q]}else Zo.event.altKey&&(x=z.slice());S.style("pointer-events","none").selectAll(".resize").style("display",null),Zo.select("body").style("cursor",b.style("cursor")),w({type:"brushstart"}),v()}var i,o,a=M(n,"brushstart","brush","brushend"),c=null,s=null,l=[0,0],f=[0,0],h=!0,g=!0,p=qs[0];return n.event=function(n){n.each(function(){var n=a.of(this,arguments),t={x:l,y:f,i:i,j:o},e=this.__chart__||t;this.__chart__=t,Ss?Zo.select(this).transition().each("start.brush",function(){i=e.i,o=e.j,l=e.x,f=e.y,n({type:"brushstart"})}).tween("brush:brush",function(){var e=gu(l,t.x),r=gu(f,t.y);return i=o=null,function(u){l=t.x=e(u),f=t.y=r(u),n({type:"brush",mode:"resize"})}}).each("end.brush",function(){i=t.i,o=t.j,n({type:"brush",mode:"resize"}),n({type:"brushend"})}):(n({type:"brushstart"}),n({type:"brush",mode:"resize"}),n({type:"brushend"}))})},n.x=function(t){return arguments.length?(c=t,p=qs[!c<<1|!s],n):c},n.y=function(t){return arguments.length?(s=t,p=qs[!c<<1|!s],n):s},n.clamp=function(t){return arguments.length?(c&&s?(h=!!t[0],g=!!t[1]):c?h=!!t:s&&(g=!!t),n):c&&s?[h,g]:c?h:s?g:null},n.extent=function(t){var e,r,u,a,h;return arguments.length?(c&&(e=t[0],r=t[1],s&&(e=e[0],r=r[0]),i=[e,r],c.invert&&(e=c(e),r=c(r)),e>r&&(h=e,e=r,r=h),(e!=l[0]||r!=l[1])&&(l=[e,r])),s&&(u=t[0],a=t[1],c&&(u=u[1],a=a[1]),o=[u,a],s.invert&&(u=s(u),a=s(a)),u>a&&(h=u,u=a,a=h),(u!=f[0]||a!=f[1])&&(f=[u,a])),n):(c&&(i?(e=i[0],r=i[1]):(e=l[0],r=l[1],c.invert&&(e=c.invert(e),r=c.invert(r)),e>r&&(h=e,e=r,r=h))),s&&(o?(u=o[0],a=o[1]):(u=f[0],a=f[1],s.invert&&(u=s.invert(u),a=s.invert(a)),u>a&&(h=u,u=a,a=h))),c&&s?[[e,u],[r,a]]:c?[e,r]:s&&[u,a])},n.clear=function(){return n.empty()||(l=[0,0],f=[0,0],i=o=null),n},n.empty=function(){return!!c&&l[0]==l[1]||!!s&&f[0]==f[1]},Zo.rebind(n,a,"on")};var Ts={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},qs=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],Rs=Qa.format=ic.timeFormat,Ds=Rs.utc,Ps=Ds("%Y-%m-%dT%H:%M:%S.%LZ");Rs.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?Ho:Ps,Ho.parse=function(n){var t=new Date(n);return isNaN(t)?null:t},Ho.toString=Ps.toString,Qa.second=Dt(function(n){return new nc(1e3*Math.floor(n/1e3))},function(n,t){n.setTime(n.getTime()+1e3*Math.floor(t))},function(n){return n.getSeconds()}),Qa.seconds=Qa.second.range,Qa.seconds.utc=Qa.second.utc.range,Qa.minute=Dt(function(n){return new nc(6e4*Math.floor(n/6e4))},function(n,t){n.setTime(n.getTime()+6e4*Math.floor(t))},function(n){return n.getMinutes()}),Qa.minutes=Qa.minute.range,Qa.minutes.utc=Qa.minute.utc.range,Qa.hour=Dt(function(n){var t=n.getTimezoneOffset()/60;return new nc(36e5*(Math.floor(n/36e5-t)+t))},function(n,t){n.setTime(n.getTime()+36e5*Math.floor(t))},function(n){return n.getHours()}),Qa.hours=Qa.hour.range,Qa.hours.utc=Qa.hour.utc.range,Qa.month=Dt(function(n){return n=Qa.day(n),n.setDate(1),n},function(n,t){n.setMonth(n.getMonth()+t)},function(n){return n.getMonth()}),Qa.months=Qa.month.range,Qa.months.utc=Qa.month.utc.range;var Us=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],js=[[Qa.second,1],[Qa.second,5],[Qa.second,15],[Qa.second,30],[Qa.minute,1],[Qa.minute,5],[Qa.minute,15],[Qa.minute,30],[Qa.hour,1],[Qa.hour,3],[Qa.hour,6],[Qa.hour,12],[Qa.day,1],[Qa.day,2],[Qa.week,1],[Qa.month,1],[Qa.month,3],[Qa.year,1]],Hs=Rs.multi([[".%L",function(n){return n.getMilliseconds()}],[":%S",function(n){return n.getSeconds()}],["%I:%M",function(n){return n.getMinutes()}],["%I %p",function(n){return n.getHours()}],["%a %d",function(n){return n.getDay()&&1!=n.getDate()}],["%b %d",function(n){return 1!=n.getDate()}],["%B",function(n){return n.getMonth()}],["%Y",we]]),Fs={range:function(n,t,e){return Zo.range(Math.ceil(n/e)*e,+t,e).map(Oo)},floor:wt,ceil:wt};js.year=Qa.year,Qa.scale=function(){return Fo(Zo.scale.linear(),js,Hs)};var Os=js.map(function(n){return[n[0].utc,n[1]]}),Ys=Ds.multi([[".%L",function(n){return n.getUTCMilliseconds()}],[":%S",function(n){return n.getUTCSeconds()}],["%I:%M",function(n){return n.getUTCMinutes()}],["%I %p",function(n){return n.getUTCHours()}],["%a %d",function(n){return n.getUTCDay()&&1!=n.getUTCDate()}],["%b %d",function(n){return 1!=n.getUTCDate()}],["%B",function(n){return n.getUTCMonth()}],["%Y",we]]);Os.year=Qa.year.utc,Qa.scale.utc=function(){return Fo(Zo.scale.linear(),Os,Ys)},Zo.text=St(function(n){return n.responseText}),Zo.json=function(n,t){return kt(n,"application/json",Yo,t)},Zo.html=function(n,t){return kt(n,"text/html",Io,t)},Zo.xml=St(function(n){return n.responseXML}),"function"==typeof define&&define.amd?define(Zo):"object"==typeof module&&module.exports&&(module.exports=Zo),this.d3=Zo}();
diff --git a/app/comp-fe/js/react.min.js b/app/comp-fe/js/react.min.js
new file mode 100644
index 0000000..64aca4b
--- /dev/null
+++ b/app/comp-fe/js/react.min.js
@@ -0,0 +1,16 @@
+/**
+ * React v0.13.3
+ *
+ * Copyright 2013-2015, Facebook, Inc.
+ * All rights reserved.
+ *
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in the root directory of this source tree. An additional grant
+ * of patent rights can be found in the PATENTS file in the same directory.
+ *
+ */
+!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.React=e()}}(function(){return function e(t,n,r){function o(a,u){if(!n[a]){if(!t[a]){var s="function"==typeof require&&require;if(!u&&s)return s(a,!0);if(i)return i(a,!0);var l=new Error("Cannot find module '"+a+"'");throw l.code="MODULE_NOT_FOUND",l}var c=n[a]={exports:{}};t[a][0].call(c.exports,function(e){var n=t[a][1][e];return o(n?n:e)},c,c.exports,e,t,n,r)}return n[a].exports}for(var i="function"==typeof require&&require,a=0;a<r.length;a++)o(r[a]);return o}({1:[function(e,t,n){"use strict";var r=e(19),o=e(32),i=e(34),a=e(33),u=e(38),s=e(39),l=e(55),c=(e(56),e(40)),p=e(51),d=e(54),f=e(64),h=e(68),m=e(73),v=e(76),g=e(79),y=e(82),C=e(27),E=e(115),b=e(142);d.inject();var _=l.createElement,x=l.createFactory,D=l.cloneElement,M=m.measure("React","render",h.render),N={Children:{map:o.map,forEach:o.forEach,count:o.count,only:b},Component:i,DOM:c,PropTypes:v,initializeTouchEvents:function(e){r.useTouchEvents=e},createClass:a.createClass,createElement:_,cloneElement:D,createFactory:x,createMixin:function(e){return e},constructAndRenderComponent:h.constructAndRenderComponent,constructAndRenderComponentByID:h.constructAndRenderComponentByID,findDOMNode:E,render:M,renderToString:y.renderToString,renderToStaticMarkup:y.renderToStaticMarkup,unmountComponentAtNode:h.unmountComponentAtNode,isValidElement:l.isValidElement,withContext:u.withContext,__spread:C};"undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.inject&&__REACT_DEVTOOLS_GLOBAL_HOOK__.inject({CurrentOwner:s,InstanceHandles:f,Mount:h,Reconciler:g,TextComponent:p});N.version="0.13.3",t.exports=N},{115:115,142:142,19:19,27:27,32:32,33:33,34:34,38:38,39:39,40:40,51:51,54:54,55:55,56:56,64:64,68:68,73:73,76:76,79:79,82:82}],2:[function(e,t,n){"use strict";var r=e(117),o={componentDidMount:function(){this.props.autoFocus&&r(this.getDOMNode())}};t.exports=o},{117:117}],3:[function(e,t,n){"use strict";function r(){var e=window.opera;return"object"==typeof e&&"function"==typeof e.version&&parseInt(e.version(),10)<=12}function o(e){return(e.ctrlKey||e.altKey||e.metaKey)&&!(e.ctrlKey&&e.altKey)}function i(e){switch(e){case T.topCompositionStart:return P.compositionStart;case T.topCompositionEnd:return P.compositionEnd;case T.topCompositionUpdate:return P.compositionUpdate}}function a(e,t){return e===T.topKeyDown&&t.keyCode===b}function u(e,t){switch(e){case T.topKeyUp:return-1!==E.indexOf(t.keyCode);case T.topKeyDown:return t.keyCode!==b;case T.topKeyPress:case T.topMouseDown:case T.topBlur:return!0;default:return!1}}function s(e){var t=e.detail;return"object"==typeof t&&"data"in t?t.data:null}function l(e,t,n,r){var o,l;if(_?o=i(e):w?u(e,r)&&(o=P.compositionEnd):a(e,r)&&(o=P.compositionStart),!o)return null;M&&(w||o!==P.compositionStart?o===P.compositionEnd&&w&&(l=w.getData()):w=v.getPooled(t));var c=g.getPooled(o,n,r);if(l)c.data=l;else{var p=s(r);null!==p&&(c.data=p)}return h.accumulateTwoPhaseDispatches(c),c}function c(e,t){switch(e){case T.topCompositionEnd:return s(t);case T.topKeyPress:var n=t.which;return n!==N?null:(R=!0,I);case T.topTextInput:var r=t.data;return r===I&&R?null:r;default:return null}}function p(e,t){if(w){if(e===T.topCompositionEnd||u(e,t)){var n=w.getData();return v.release(w),w=null,n}return null}switch(e){case T.topPaste:return null;case T.topKeyPress:return t.which&&!o(t)?String.fromCharCode(t.which):null;case T.topCompositionEnd:return M?null:t.data;default:return null}}function d(e,t,n,r){var o;if(o=D?c(e,r):p(e,r),!o)return null;var i=y.getPooled(P.beforeInput,n,r);return i.data=o,h.accumulateTwoPhaseDispatches(i),i}var f=e(15),h=e(20),m=e(21),v=e(22),g=e(91),y=e(95),C=e(139),E=[9,13,27,32],b=229,_=m.canUseDOM&&"CompositionEvent"in window,x=null;m.canUseDOM&&"documentMode"in document&&(x=document.documentMode);var D=m.canUseDOM&&"TextEvent"in window&&!x&&!r(),M=m.canUseDOM&&(!_||x&&x>8&&11>=x),N=32,I=String.fromCharCode(N),T=f.topLevelTypes,P={beforeInput:{phasedRegistrationNames:{bubbled:C({onBeforeInput:null}),captured:C({onBeforeInputCapture:null})},dependencies:[T.topCompositionEnd,T.topKeyPress,T.topTextInput,T.topPaste]},compositionEnd:{phasedRegistrationNames:{bubbled:C({onCompositionEnd:null}),captured:C({onCompositionEndCapture:null})},dependencies:[T.topBlur,T.topCompositionEnd,T.topKeyDown,T.topKeyPress,T.topKeyUp,T.topMouseDown]},compositionStart:{phasedRegistrationNames:{bubbled:C({onCompositionStart:null}),captured:C({onCompositionStartCapture:null})},dependencies:[T.topBlur,T.topCompositionStart,T.topKeyDown,T.topKeyPress,T.topKeyUp,T.topMouseDown]},compositionUpdate:{phasedRegistrationNames:{bubbled:C({onCompositionUpdate:null}),captured:C({onCompositionUpdateCapture:null})},dependencies:[T.topBlur,T.topCompositionUpdate,T.topKeyDown,T.topKeyPress,T.topKeyUp,T.topMouseDown]}},R=!1,w=null,O={eventTypes:P,extractEvents:function(e,t,n,r){return[l(e,t,n,r),d(e,t,n,r)]}};t.exports=O},{139:139,15:15,20:20,21:21,22:22,91:91,95:95}],4:[function(e,t,n){"use strict";function r(e,t){return e+t.charAt(0).toUpperCase()+t.substring(1)}var o={boxFlex:!0,boxFlexGroup:!0,columnCount:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,strokeDashoffset:!0,strokeOpacity:!0,strokeWidth:!0},i=["Webkit","ms","Moz","O"];Object.keys(o).forEach(function(e){i.forEach(function(t){o[r(t,e)]=o[e]})});var a={background:{backgroundImage:!0,backgroundPosition:!0,backgroundRepeat:!0,backgroundColor:!0},border:{borderWidth:!0,borderStyle:!0,borderColor:!0},borderBottom:{borderBottomWidth:!0,borderBottomStyle:!0,borderBottomColor:!0},borderLeft:{borderLeftWidth:!0,borderLeftStyle:!0,borderLeftColor:!0},borderRight:{borderRightWidth:!0,borderRightStyle:!0,borderRightColor:!0},borderTop:{borderTopWidth:!0,borderTopStyle:!0,borderTopColor:!0},font:{fontStyle:!0,fontVariant:!0,fontWeight:!0,fontSize:!0,lineHeight:!0,fontFamily:!0}},u={isUnitlessNumber:o,shorthandPropertyExpansions:a};t.exports=u},{}],5:[function(e,t,n){"use strict";var r=e(4),o=e(21),i=(e(106),e(111)),a=e(131),u=e(141),s=(e(150),u(function(e){return a(e)})),l="cssFloat";o.canUseDOM&&void 0===document.documentElement.style.cssFloat&&(l="styleFloat");var c={createMarkupForStyles:function(e){var t="";for(var n in e)if(e.hasOwnProperty(n)){var r=e[n];null!=r&&(t+=s(n)+":",t+=i(n,r)+";")}return t||null},setValueForStyles:function(e,t){var n=e.style;for(var o in t)if(t.hasOwnProperty(o)){var a=i(o,t[o]);if("float"===o&&(o=l),a)n[o]=a;else{var u=r.shorthandPropertyExpansions[o];if(u)for(var s in u)n[s]="";else n[o]=""}}}};t.exports=c},{106:106,111:111,131:131,141:141,150:150,21:21,4:4}],6:[function(e,t,n){"use strict";function r(){this._callbacks=null,this._contexts=null}var o=e(28),i=e(27),a=e(133);i(r.prototype,{enqueue:function(e,t){this._callbacks=this._callbacks||[],this._contexts=this._contexts||[],this._callbacks.push(e),this._contexts.push(t)},notifyAll:function(){var e=this._callbacks,t=this._contexts;if(e){a(e.length===t.length),this._callbacks=null,this._contexts=null;for(var n=0,r=e.length;r>n;n++)e[n].call(t[n]);e.length=0,t.length=0}},reset:function(){this._callbacks=null,this._contexts=null},destructor:function(){this.reset()}}),o.addPoolingTo(r),t.exports=r},{133:133,27:27,28:28}],7:[function(e,t,n){"use strict";function r(e){return"SELECT"===e.nodeName||"INPUT"===e.nodeName&&"file"===e.type}function o(e){var t=x.getPooled(T.change,R,e);E.accumulateTwoPhaseDispatches(t),_.batchedUpdates(i,t)}function i(e){C.enqueueEvents(e),C.processEventQueue()}function a(e,t){P=e,R=t,P.attachEvent("onchange",o)}function u(){P&&(P.detachEvent("onchange",o),P=null,R=null)}function s(e,t,n){return e===I.topChange?n:void 0}function l(e,t,n){e===I.topFocus?(u(),a(t,n)):e===I.topBlur&&u()}function c(e,t){P=e,R=t,w=e.value,O=Object.getOwnPropertyDescriptor(e.constructor.prototype,"value"),Object.defineProperty(P,"value",k),P.attachEvent("onpropertychange",d)}function p(){P&&(delete P.value,P.detachEvent("onpropertychange",d),P=null,R=null,w=null,O=null)}function d(e){if("value"===e.propertyName){var t=e.srcElement.value;t!==w&&(w=t,o(e))}}function f(e,t,n){return e===I.topInput?n:void 0}function h(e,t,n){e===I.topFocus?(p(),c(t,n)):e===I.topBlur&&p()}function m(e,t,n){return e!==I.topSelectionChange&&e!==I.topKeyUp&&e!==I.topKeyDown||!P||P.value===w?void 0:(w=P.value,R)}function v(e){return"INPUT"===e.nodeName&&("checkbox"===e.type||"radio"===e.type)}function g(e,t,n){return e===I.topClick?n:void 0}var y=e(15),C=e(17),E=e(20),b=e(21),_=e(85),x=e(93),D=e(134),M=e(136),N=e(139),I=y.topLevelTypes,T={change:{phasedRegistrationNames:{bubbled:N({onChange:null}),captured:N({onChangeCapture:null})},dependencies:[I.topBlur,I.topChange,I.topClick,I.topFocus,I.topInput,I.topKeyDown,I.topKeyUp,I.topSelectionChange]}},P=null,R=null,w=null,O=null,S=!1;b.canUseDOM&&(S=D("change")&&(!("documentMode"in document)||document.documentMode>8));var A=!1;b.canUseDOM&&(A=D("input")&&(!("documentMode"in document)||document.documentMode>9));var k={get:function(){return O.get.call(this)},set:function(e){w=""+e,O.set.call(this,e)}},L={eventTypes:T,extractEvents:function(e,t,n,o){var i,a;if(r(t)?S?i=s:a=l:M(t)?A?i=f:(i=m,a=h):v(t)&&(i=g),i){var u=i(e,t,n);if(u){var c=x.getPooled(T.change,u,o);return E.accumulateTwoPhaseDispatches(c),c}}a&&a(e,t,n)}};t.exports=L},{134:134,136:136,139:139,15:15,17:17,20:20,21:21,85:85,93:93}],8:[function(e,t,n){"use strict";var r=0,o={createReactRootIndex:function(){return r++}};t.exports=o},{}],9:[function(e,t,n){"use strict";function r(e,t,n){e.insertBefore(t,e.childNodes[n]||null)}var o=e(12),i=e(70),a=e(145),u=e(133),s={dangerouslyReplaceNodeWithMarkup:o.dangerouslyReplaceNodeWithMarkup,updateTextContent:a,processUpdates:function(e,t){for(var n,s=null,l=null,c=0;c<e.length;c++)if(n=e[c],n.type===i.MOVE_EXISTING||n.type===i.REMOVE_NODE){var p=n.fromIndex,d=n.parentNode.childNodes[p],f=n.parentID;u(d),s=s||{},s[f]=s[f]||[],s[f][p]=d,l=l||[],l.push(d)}var h=o.dangerouslyRenderMarkup(t);if(l)for(var m=0;m<l.length;m++)l[m].parentNode.removeChild(l[m]);for(var v=0;v<e.length;v++)switch(n=e[v],n.type){case i.INSERT_MARKUP:r(n.parentNode,h[n.markupIndex],n.toIndex);break;case i.MOVE_EXISTING:r(n.parentNode,s[n.parentID][n.fromIndex],n.toIndex);break;case i.TEXT_CONTENT:a(n.parentNode,n.textContent);break;case i.REMOVE_NODE:}}};t.exports=s},{12:12,133:133,145:145,70:70}],10:[function(e,t,n){"use strict";function r(e,t){return(e&t)===t}var o=e(133),i={MUST_USE_ATTRIBUTE:1,MUST_USE_PROPERTY:2,HAS_SIDE_EFFECTS:4,HAS_BOOLEAN_VALUE:8,HAS_NUMERIC_VALUE:16,HAS_POSITIVE_NUMERIC_VALUE:48,HAS_OVERLOADED_BOOLEAN_VALUE:64,injectDOMPropertyConfig:function(e){var t=e.Properties||{},n=e.DOMAttributeNames||{},a=e.DOMPropertyNames||{},s=e.DOMMutationMethods||{};e.isCustomAttribute&&u._isCustomAttributeFunctions.push(e.isCustomAttribute);for(var l in t){o(!u.isStandardName.hasOwnProperty(l)),u.isStandardName[l]=!0;var c=l.toLowerCase();if(u.getPossibleStandardName[c]=l,n.hasOwnProperty(l)){var p=n[l];u.getPossibleStandardName[p]=l,u.getAttributeName[l]=p}else u.getAttributeName[l]=c;u.getPropertyName[l]=a.hasOwnProperty(l)?a[l]:l,s.hasOwnProperty(l)?u.getMutationMethod[l]=s[l]:u.getMutationMethod[l]=null;var d=t[l];u.mustUseAttribute[l]=r(d,i.MUST_USE_ATTRIBUTE),u.mustUseProperty[l]=r(d,i.MUST_USE_PROPERTY),u.hasSideEffects[l]=r(d,i.HAS_SIDE_EFFECTS),u.hasBooleanValue[l]=r(d,i.HAS_BOOLEAN_VALUE),u.hasNumericValue[l]=r(d,i.HAS_NUMERIC_VALUE),u.hasPositiveNumericValue[l]=r(d,i.HAS_POSITIVE_NUMERIC_VALUE),u.hasOverloadedBooleanValue[l]=r(d,i.HAS_OVERLOADED_BOOLEAN_VALUE),o(!u.mustUseAttribute[l]||!u.mustUseProperty[l]),o(u.mustUseProperty[l]||!u.hasSideEffects[l]),o(!!u.hasBooleanValue[l]+!!u.hasNumericValue[l]+!!u.hasOverloadedBooleanValue[l]<=1)}}},a={},u={ID_ATTRIBUTE_NAME:"data-reactid",isStandardName:{},getPossibleStandardName:{},getAttributeName:{},getPropertyName:{},getMutationMethod:{},mustUseAttribute:{},mustUseProperty:{},hasSideEffects:{},hasBooleanValue:{},hasNumericValue:{},hasPositiveNumericValue:{},hasOverloadedBooleanValue:{},_isCustomAttributeFunctions:[],isCustomAttribute:function(e){for(var t=0;t<u._isCustomAttributeFunctions.length;t++){var n=u._isCustomAttributeFunctions[t];if(n(e))return!0}return!1},getDefaultValueForProperty:function(e,t){var n,r=a[e];return r||(a[e]=r={}),t in r||(n=document.createElement(e),r[t]=n[t]),r[t]},injection:i};t.exports=u},{133:133}],11:[function(e,t,n){"use strict";function r(e,t){return null==t||o.hasBooleanValue[e]&&!t||o.hasNumericValue[e]&&isNaN(t)||o.hasPositiveNumericValue[e]&&1>t||o.hasOverloadedBooleanValue[e]&&t===!1}var o=e(10),i=e(143),a=(e(150),{createMarkupForID:function(e){return o.ID_ATTRIBUTE_NAME+"="+i(e)},createMarkupForProperty:function(e,t){if(o.isStandardName.hasOwnProperty(e)&&o.isStandardName[e]){if(r(e,t))return"";var n=o.getAttributeName[e];return o.hasBooleanValue[e]||o.hasOverloadedBooleanValue[e]&&t===!0?n:n+"="+i(t)}return o.isCustomAttribute(e)?null==t?"":e+"="+i(t):null},setValueForProperty:function(e,t,n){if(o.isStandardName.hasOwnProperty(t)&&o.isStandardName[t]){var i=o.getMutationMethod[t];if(i)i(e,n);else if(r(t,n))this.deleteValueForProperty(e,t);else if(o.mustUseAttribute[t])e.setAttribute(o.getAttributeName[t],""+n);else{var a=o.getPropertyName[t];o.hasSideEffects[t]&&""+e[a]==""+n||(e[a]=n)}}else o.isCustomAttribute(t)&&(null==n?e.removeAttribute(t):e.setAttribute(t,""+n))},deleteValueForProperty:function(e,t){if(o.isStandardName.hasOwnProperty(t)&&o.isStandardName[t]){var n=o.getMutationMethod[t];if(n)n(e,void 0);else if(o.mustUseAttribute[t])e.removeAttribute(o.getAttributeName[t]);else{var r=o.getPropertyName[t],i=o.getDefaultValueForProperty(e.nodeName,r);o.hasSideEffects[t]&&""+e[r]===i||(e[r]=i)}}else o.isCustomAttribute(t)&&e.removeAttribute(t)}});t.exports=a},{10:10,143:143,150:150}],12:[function(e,t,n){"use strict";function r(e){return e.substring(1,e.indexOf(" "))}var o=e(21),i=e(110),a=e(112),u=e(125),s=e(133),l=/^(<[^ \/>]+)/,c="data-danger-index",p={dangerouslyRenderMarkup:function(e){s(o.canUseDOM);for(var t,n={},p=0;p<e.length;p++)s(e[p]),t=r(e[p]),t=u(t)?t:"*",n[t]=n[t]||[],n[t][p]=e[p];var d=[],f=0;for(t in n)if(n.hasOwnProperty(t)){var h,m=n[t];for(h in m)if(m.hasOwnProperty(h)){var v=m[h];m[h]=v.replace(l,"$1 "+c+'="'+h+'" ')}for(var g=i(m.join(""),a),y=0;y<g.length;++y){var C=g[y];C.hasAttribute&&C.hasAttribute(c)&&(h=+C.getAttribute(c),C.removeAttribute(c),s(!d.hasOwnProperty(h)),d[h]=C,f+=1)}}return s(f===d.length),s(d.length===e.length),d},dangerouslyReplaceNodeWithMarkup:function(e,t){s(o.canUseDOM),s(t),s("html"!==e.tagName.toLowerCase());var n=i(t,a)[0];e.parentNode.replaceChild(n,e)}};t.exports=p},{110:110,112:112,125:125,133:133,21:21}],13:[function(e,t,n){"use strict";var r=e(139),o=[r({ResponderEventPlugin:null}),r({SimpleEventPlugin:null}),r({TapEventPlugin:null}),r({EnterLeaveEventPlugin:null}),r({ChangeEventPlugin:null}),r({SelectEventPlugin:null}),r({BeforeInputEventPlugin:null}),r({AnalyticsEventPlugin:null}),r({MobileSafariClickEventPlugin:null})];t.exports=o},{139:139}],14:[function(e,t,n){"use strict";var r=e(15),o=e(20),i=e(97),a=e(68),u=e(139),s=r.topLevelTypes,l=a.getFirstReactDOM,c={mouseEnter:{registrationName:u({onMouseEnter:null}),dependencies:[s.topMouseOut,s.topMouseOver]},mouseLeave:{registrationName:u({onMouseLeave:null}),dependencies:[s.topMouseOut,s.topMouseOver]}},p=[null,null],d={eventTypes:c,extractEvents:function(e,t,n,r){if(e===s.topMouseOver&&(r.relatedTarget||r.fromElement))return null;if(e!==s.topMouseOut&&e!==s.topMouseOver)return null;var u;if(t.window===t)u=t;else{var d=t.ownerDocument;u=d?d.defaultView||d.parentWindow:window}var f,h;if(e===s.topMouseOut?(f=t,h=l(r.relatedTarget||r.toElement)||u):(f=u,h=t),f===h)return null;var m=f?a.getID(f):"",v=h?a.getID(h):"",g=i.getPooled(c.mouseLeave,m,r);g.type="mouseleave",g.target=f,g.relatedTarget=h;var y=i.getPooled(c.mouseEnter,v,r);return y.type="mouseenter",y.target=h,y.relatedTarget=f,o.accumulateEnterLeaveDispatches(g,y,m,v),p[0]=g,p[1]=y,p}};t.exports=d},{139:139,15:15,20:20,68:68,97:97}],15:[function(e,t,n){"use strict";var r=e(138),o=r({bubbled:null,captured:null}),i=r({topBlur:null,topChange:null,topClick:null,topCompositionEnd:null,topCompositionStart:null,topCompositionUpdate:null,topContextMenu:null,topCopy:null,topCut:null,topDoubleClick:null,topDrag:null,topDragEnd:null,topDragEnter:null,topDragExit:null,topDragLeave:null,topDragOver:null,topDragStart:null,topDrop:null,topError:null,topFocus:null,topInput:null,topKeyDown:null,topKeyPress:null,topKeyUp:null,topLoad:null,topMouseDown:null,topMouseMove:null,topMouseOut:null,topMouseOver:null,topMouseUp:null,topPaste:null,topReset:null,topScroll:null,topSelectionChange:null,topSubmit:null,topTextInput:null,topTouchCancel:null,topTouchEnd:null,topTouchMove:null,topTouchStart:null,topWheel:null}),a={topLevelTypes:i,PropagationPhases:o};t.exports=a},{138:138}],16:[function(e,t,n){var r=e(112),o={listen:function(e,t,n){return e.addEventListener?(e.addEventListener(t,n,!1),{remove:function(){e.removeEventListener(t,n,!1)}}):e.attachEvent?(e.attachEvent("on"+t,n),{remove:function(){e.detachEvent("on"+t,n)}}):void 0},capture:function(e,t,n){return e.addEventListener?(e.addEventListener(t,n,!0),{remove:function(){e.removeEventListener(t,n,!0)}}):{remove:r}},registerDefault:function(){}};t.exports=o},{112:112}],17:[function(e,t,n){"use strict";var r=e(18),o=e(19),i=e(103),a=e(118),u=e(133),s={},l=null,c=function(e){if(e){var t=o.executeDispatch,n=r.getPluginModuleForEvent(e);n&&n.executeDispatch&&(t=n.executeDispatch),o.executeDispatchesInOrder(e,t),e.isPersistent()||e.constructor.release(e)}},p=null,d={injection:{injectMount:o.injection.injectMount,injectInstanceHandle:function(e){p=e},getInstanceHandle:function(){return p},injectEventPluginOrder:r.injectEventPluginOrder,injectEventPluginsByName:r.injectEventPluginsByName},eventNameDispatchConfigs:r.eventNameDispatchConfigs,registrationNameModules:r.registrationNameModules,putListener:function(e,t,n){u(!n||"function"==typeof n);var r=s[t]||(s[t]={});r[e]=n},getListener:function(e,t){var n=s[t];return n&&n[e]},deleteListener:function(e,t){var n=s[t];n&&delete n[e]},deleteAllListeners:function(e){for(var t in s)delete s[t][e]},extractEvents:function(e,t,n,o){for(var a,u=r.plugins,s=0,l=u.length;l>s;s++){var c=u[s];if(c){var p=c.extractEvents(e,t,n,o);p&&(a=i(a,p))}}return a},enqueueEvents:function(e){e&&(l=i(l,e))},processEventQueue:function(){var e=l;l=null,a(e,c),u(!l)},__purge:function(){s={}},__getListenerBank:function(){return s}};t.exports=d},{103:103,118:118,133:133,18:18,19:19}],18:[function(e,t,n){"use strict";function r(){if(u)for(var e in s){var t=s[e],n=u.indexOf(e);if(a(n>-1),!l.plugins[n]){a(t.extractEvents),l.plugins[n]=t;var r=t.eventTypes;for(var i in r)a(o(r[i],t,i))}}}function o(e,t,n){a(!l.eventNameDispatchConfigs.hasOwnProperty(n)),l.eventNameDispatchConfigs[n]=e;var r=e.phasedRegistrationNames;if(r){for(var o in r)if(r.hasOwnProperty(o)){var u=r[o];i(u,t,n)}return!0}return e.registrationName?(i(e.registrationName,t,n),!0):!1}function i(e,t,n){a(!l.registrationNameModules[e]),l.registrationNameModules[e]=t,l.registrationNameDependencies[e]=t.eventTypes[n].dependencies}var a=e(133),u=null,s={},l={plugins:[],eventNameDispatchConfigs:{},registrationNameModules:{},registrationNameDependencies:{},injectEventPluginOrder:function(e){a(!u),u=Array.prototype.slice.call(e),r()},injectEventPluginsByName:function(e){var t=!1;for(var n in e)if(e.hasOwnProperty(n)){var o=e[n];s.hasOwnProperty(n)&&s[n]===o||(a(!s[n]),s[n]=o,t=!0)}t&&r()},getPluginModuleForEvent:function(e){var t=e.dispatchConfig;if(t.registrationName)return l.registrationNameModules[t.registrationName]||null;for(var n in t.phasedRegistrationNames)if(t.phasedRegistrationNames.hasOwnProperty(n)){var r=l.registrationNameModules[t.phasedRegistrationNames[n]];if(r)return r}return null},_resetEventPlugins:function(){u=null;for(var e in s)s.hasOwnProperty(e)&&delete s[e];l.plugins.length=0;var t=l.eventNameDispatchConfigs;for(var n in t)t.hasOwnProperty(n)&&delete t[n];var r=l.registrationNameModules;for(var o in r)r.hasOwnProperty(o)&&delete r[o]}};t.exports=l},{133:133}],19:[function(e,t,n){"use strict";function r(e){return e===v.topMouseUp||e===v.topTouchEnd||e===v.topTouchCancel}function o(e){return e===v.topMouseMove||e===v.topTouchMove}function i(e){return e===v.topMouseDown||e===v.topTouchStart}function a(e,t){var n=e._dispatchListeners,r=e._dispatchIDs;if(Array.isArray(n))for(var o=0;o<n.length&&!e.isPropagationStopped();o++)t(e,n[o],r[o]);else n&&t(e,n,r)}function u(e,t,n){e.currentTarget=m.Mount.getNode(n);var r=t(e,n);return e.currentTarget=null,r}function s(e,t){a(e,t),e._dispatchListeners=null,e._dispatchIDs=null}function l(e){var t=e._dispatchListeners,n=e._dispatchIDs;if(Array.isArray(t)){for(var r=0;r<t.length&&!e.isPropagationStopped();r++)if(t[r](e,n[r]))return n[r]}else if(t&&t(e,n))return n;return null}function c(e){var t=l(e);return e._dispatchIDs=null,e._dispatchListeners=null,t}function p(e){var t=e._dispatchListeners,n=e._dispatchIDs;h(!Array.isArray(t));var r=t?t(e,n):null;return e._dispatchListeners=null,e._dispatchIDs=null,r}function d(e){return!!e._dispatchListeners}var f=e(15),h=e(133),m={Mount:null,injectMount:function(e){m.Mount=e}},v=f.topLevelTypes,g={isEndish:r,isMoveish:o,isStartish:i,executeDirectDispatch:p,executeDispatch:u,executeDispatchesInOrder:s,executeDispatchesInOrderStopAtTrue:c,hasDispatches:d,injection:m,useTouchEvents:!1};t.exports=g},{133:133,15:15}],20:[function(e,t,n){"use strict";function r(e,t,n){var r=t.dispatchConfig.phasedRegistrationNames[n];return v(e,r)}function o(e,t,n){var o=t?m.bubbled:m.captured,i=r(e,n,o);i&&(n._dispatchListeners=f(n._dispatchListeners,i),n._dispatchIDs=f(n._dispatchIDs,e))}function i(e){e&&e.dispatchConfig.phasedRegistrationNames&&d.injection.getInstanceHandle().traverseTwoPhase(e.dispatchMarker,o,e)}function a(e,t,n){if(n&&n.dispatchConfig.registrationName){var r=n.dispatchConfig.registrationName,o=v(e,r);o&&(n._dispatchListeners=f(n._dispatchListeners,o),n._dispatchIDs=f(n._dispatchIDs,e))}}function u(e){e&&e.dispatchConfig.registrationName&&a(e.dispatchMarker,null,e)}function s(e){h(e,i)}function l(e,t,n,r){d.injection.getInstanceHandle().traverseEnterLeave(n,r,a,e,t)}function c(e){h(e,u)}var p=e(15),d=e(17),f=e(103),h=e(118),m=p.PropagationPhases,v=d.getListener,g={accumulateTwoPhaseDispatches:s,accumulateDirectDispatches:c,accumulateEnterLeaveDispatches:l};t.exports=g},{103:103,118:118,15:15,17:17}],21:[function(e,t,n){"use strict";var r=!("undefined"==typeof window||!window.document||!window.document.createElement),o={canUseDOM:r,canUseWorkers:"undefined"!=typeof Worker,canUseEventListeners:r&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:r&&!!window.screen,isInWorker:!r};t.exports=o},{}],22:[function(e,t,n){"use strict";function r(e){this._root=e,this._startText=this.getText(),this._fallbackText=null}var o=e(28),i=e(27),a=e(128);i(r.prototype,{getText:function(){return"value"in this._root?this._root.value:this._root[a()]},getData:function(){if(this._fallbackText)return this._fallbackText;var e,t,n=this._startText,r=n.length,o=this.getText(),i=o.length;for(e=0;r>e&&n[e]===o[e];e++);var a=r-e;for(t=1;a>=t&&n[r-t]===o[i-t];t++);var u=t>1?1-t:void 0;return this._fallbackText=o.slice(e,u),this._fallbackText}}),o.addPoolingTo(r),t.exports=r},{128:128,27:27,28:28}],23:[function(e,t,n){"use strict";var r,o=e(10),i=e(21),a=o.injection.MUST_USE_ATTRIBUTE,u=o.injection.MUST_USE_PROPERTY,s=o.injection.HAS_BOOLEAN_VALUE,l=o.injection.HAS_SIDE_EFFECTS,c=o.injection.HAS_NUMERIC_VALUE,p=o.injection.HAS_POSITIVE_NUMERIC_VALUE,d=o.injection.HAS_OVERLOADED_BOOLEAN_VALUE;if(i.canUseDOM){var f=document.implementation;r=f&&f.hasFeature&&f.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1")}var h={isCustomAttribute:RegExp.prototype.test.bind(/^(data|aria)-[a-z_][a-z\d_.\-]*$/),Properties:{accept:null,acceptCharset:null,accessKey:null,action:null,allowFullScreen:a|s,allowTransparency:a,alt:null,async:s,autoComplete:null,autoPlay:s,cellPadding:null,cellSpacing:null,charSet:a,checked:u|s,classID:a,className:r?a:u,cols:a|p,colSpan:null,content:null,contentEditable:null,contextMenu:a,controls:u|s,coords:null,crossOrigin:null,data:null,dateTime:a,defer:s,dir:null,disabled:a|s,download:d,draggable:null,encType:null,form:a,formAction:a,formEncType:a,formMethod:a,formNoValidate:s,formTarget:a,frameBorder:a,headers:null,height:a,hidden:a|s,high:null,href:null,hrefLang:null,htmlFor:null,httpEquiv:null,icon:null,id:u,label:null,lang:null,list:a,loop:u|s,low:null,manifest:a,marginHeight:null,marginWidth:null,max:null,maxLength:a,media:a,mediaGroup:null,method:null,min:null,multiple:u|s,muted:u|s,name:null,noValidate:s,open:s,optimum:null,pattern:null,placeholder:null,poster:null,preload:null,radioGroup:null,readOnly:u|s,rel:null,required:s,role:a,rows:a|p,rowSpan:null,sandbox:null,scope:null,scoped:s,scrolling:null,seamless:a|s,selected:u|s,shape:null,size:a|p,sizes:a,span:p,spellCheck:null,src:null,srcDoc:u,srcSet:a,start:c,step:null,style:null,tabIndex:null,target:null,title:null,type:null,useMap:null,value:u|l,width:a,wmode:a,autoCapitalize:null,autoCorrect:null,itemProp:a,itemScope:a|s,itemType:a,itemID:a,itemRef:a,property:null,unselectable:a},DOMAttributeNames:{acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv"},DOMPropertyNames:{autoCapitalize:"autocapitalize",autoComplete:"autocomplete",autoCorrect:"autocorrect",autoFocus:"autofocus",autoPlay:"autoplay",encType:"encoding",hrefLang:"hreflang",radioGroup:"radiogroup",spellCheck:"spellcheck",srcDoc:"srcdoc",srcSet:"srcset"}};t.exports=h},{10:10,21:21}],24:[function(e,t,n){"use strict";function r(e){l(null==e.props.checkedLink||null==e.props.valueLink)}function o(e){r(e),l(null==e.props.value&&null==e.props.onChange)}function i(e){r(e),l(null==e.props.checked&&null==e.props.onChange)}function a(e){this.props.valueLink.requestChange(e.target.value)}function u(e){this.props.checkedLink.requestChange(e.target.checked)}var s=e(76),l=e(133),c={button:!0,checkbox:!0,image:!0,hidden:!0,radio:!0,reset:!0,submit:!0},p={Mixin:{propTypes:{value:function(e,t,n){return!e[t]||c[e.type]||e.onChange||e.readOnly||e.disabled?null:new Error("You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`.")},checked:function(e,t,n){return!e[t]||e.onChange||e.readOnly||e.disabled?null:new Error("You provided a `checked` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultChecked`. Otherwise, set either `onChange` or `readOnly`.")},onChange:s.func}},getValue:function(e){return e.props.valueLink?(o(e),e.props.valueLink.value):e.props.value},getChecked:function(e){return e.props.checkedLink?(i(e),e.props.checkedLink.value):e.props.checked},getOnChange:function(e){return e.props.valueLink?(o(e),a):e.props.checkedLink?(i(e),u):e.props.onChange}};t.exports=p},{133:133,76:76}],25:[function(e,t,n){"use strict";function r(e){e.remove()}var o=e(30),i=e(103),a=e(118),u=e(133),s={trapBubbledEvent:function(e,t){u(this.isMounted());var n=this.getDOMNode();u(n);var r=o.trapBubbledEvent(e,t,n);this._localEventListeners=i(this._localEventListeners,r)},componentWillUnmount:function(){this._localEventListeners&&a(this._localEventListeners,r)}};t.exports=s},{103:103,118:118,133:133,30:30}],26:[function(e,t,n){"use strict";var r=e(15),o=e(112),i=r.topLevelTypes,a={eventTypes:null,extractEvents:function(e,t,n,r){if(e===i.topTouchStart){var a=r.target;a&&!a.onclick&&(a.onclick=o)}}};t.exports=a},{112:112,15:15}],27:[function(e,t,n){"use strict";function r(e,t){if(null==e)throw new TypeError("Object.assign target cannot be null or undefined");for(var n=Object(e),r=Object.prototype.hasOwnProperty,o=1;o<arguments.length;o++){var i=arguments[o];if(null!=i){var a=Object(i);for(var u in a)r.call(a,u)&&(n[u]=a[u])}}return n}t.exports=r},{}],28:[function(e,t,n){"use strict";var r=e(133),o=function(e){var t=this;if(t.instancePool.length){var n=t.instancePool.pop();return t.call(n,e),n}return new t(e)},i=function(e,t){var n=this;if(n.instancePool.length){var r=n.instancePool.pop();return n.call(r,e,t),r}return new n(e,t)},a=function(e,t,n){var r=this;if(r.instancePool.length){var o=r.instancePool.pop();return r.call(o,e,t,n),o}return new r(e,t,n)},u=function(e,t,n,r,o){var i=this;if(i.instancePool.length){var a=i.instancePool.pop();return i.call(a,e,t,n,r,o),a}return new i(e,t,n,r,o)},s=function(e){var t=this;r(e instanceof t),e.destructor&&e.destructor(),t.instancePool.length<t.poolSize&&t.instancePool.push(e)},l=10,c=o,p=function(e,t){var n=e;return n.instancePool=[],n.getPooled=t||c,n.poolSize||(n.poolSize=l),n.release=s,n},d={addPoolingTo:p,oneArgumentPooler:o,twoArgumentPooler:i,threeArgumentPooler:a,fiveArgumentPooler:u};t.exports=d},{133:133}],29:[function(e,t,n){"use strict";var r=e(115),o={getDOMNode:function(){return r(this)}};t.exports=o},{115:115}],30:[function(e,t,n){"use strict";function r(e){return Object.prototype.hasOwnProperty.call(e,m)||(e[m]=f++,p[e[m]]={}),p[e[m]]}var o=e(15),i=e(17),a=e(18),u=e(59),s=e(102),l=e(27),c=e(134),p={},d=!1,f=0,h={topBlur:"blur",topChange:"change",topClick:"click",topCompositionEnd:"compositionend",topCompositionStart:"compositionstart",topCompositionUpdate:"compositionupdate",topContextMenu:"contextmenu",topCopy:"copy",topCut:"cut",topDoubleClick:"dblclick",topDrag:"drag",topDragEnd:"dragend",topDragEnter:"dragenter",topDragExit:"dragexit",topDragLeave:"dragleave",topDragOver:"dragover",topDragStart:"dragstart",topDrop:"drop",topFocus:"focus",topInput:"input",topKeyDown:"keydown",topKeyPress:"keypress",topKeyUp:"keyup",topMouseDown:"mousedown",topMouseMove:"mousemove",topMouseOut:"mouseout",topMouseOver:"mouseover",topMouseUp:"mouseup",topPaste:"paste",topScroll:"scroll",topSelectionChange:"selectionchange",topTextInput:"textInput",topTouchCancel:"touchcancel",topTouchEnd:"touchend",topTouchMove:"touchmove",topTouchStart:"touchstart",topWheel:"wheel"},m="_reactListenersID"+String(Math.random()).slice(2),v=l({},u,{ReactEventListener:null,injection:{injectReactEventListener:function(e){e.setHandleTopLevel(v.handleTopLevel),v.ReactEventListener=e}},setEnabled:function(e){v.ReactEventListener&&v.ReactEventListener.setEnabled(e)},isEnabled:function(){return!(!v.ReactEventListener||!v.ReactEventListener.isEnabled())},listenTo:function(e,t){for(var n=t,i=r(n),u=a.registrationNameDependencies[e],s=o.topLevelTypes,l=0,p=u.length;p>l;l++){var d=u[l];i.hasOwnProperty(d)&&i[d]||(d===s.topWheel?c("wheel")?v.ReactEventListener.trapBubbledEvent(s.topWheel,"wheel",n):c("mousewheel")?v.ReactEventListener.trapBubbledEvent(s.topWheel,"mousewheel",n):v.ReactEventListener.trapBubbledEvent(s.topWheel,"DOMMouseScroll",n):d===s.topScroll?c("scroll",!0)?v.ReactEventListener.trapCapturedEvent(s.topScroll,"scroll",n):v.ReactEventListener.trapBubbledEvent(s.topScroll,"scroll",v.ReactEventListener.WINDOW_HANDLE):d===s.topFocus||d===s.topBlur?(c("focus",!0)?(v.ReactEventListener.trapCapturedEvent(s.topFocus,"focus",n),v.ReactEventListener.trapCapturedEvent(s.topBlur,"blur",n)):c("focusin")&&(v.ReactEventListener.trapBubbledEvent(s.topFocus,"focusin",n),v.ReactEventListener.trapBubbledEvent(s.topBlur,"focusout",n)),i[s.topBlur]=!0,i[s.topFocus]=!0):h.hasOwnProperty(d)&&v.ReactEventListener.trapBubbledEvent(d,h[d],n),i[d]=!0)}},trapBubbledEvent:function(e,t,n){
+return v.ReactEventListener.trapBubbledEvent(e,t,n)},trapCapturedEvent:function(e,t,n){return v.ReactEventListener.trapCapturedEvent(e,t,n)},ensureScrollValueMonitoring:function(){if(!d){var e=s.refreshScrollValues;v.ReactEventListener.monitorScrollValue(e),d=!0}},eventNameDispatchConfigs:i.eventNameDispatchConfigs,registrationNameModules:i.registrationNameModules,putListener:i.putListener,getListener:i.getListener,deleteListener:i.deleteListener,deleteAllListeners:i.deleteAllListeners});t.exports=v},{102:102,134:134,15:15,17:17,18:18,27:27,59:59}],31:[function(e,t,n){"use strict";var r=e(79),o=e(116),i=e(132),a=e(147),u={instantiateChildren:function(e,t,n){var r=o(e);for(var a in r)if(r.hasOwnProperty(a)){var u=r[a],s=i(u,null);r[a]=s}return r},updateChildren:function(e,t,n,u){var s=o(t);if(!s&&!e)return null;var l;for(l in s)if(s.hasOwnProperty(l)){var c=e&&e[l],p=c&&c._currentElement,d=s[l];if(a(p,d))r.receiveComponent(c,d,n,u),s[l]=c;else{c&&r.unmountComponent(c,l);var f=i(d,null);s[l]=f}}for(l in e)!e.hasOwnProperty(l)||s&&s.hasOwnProperty(l)||r.unmountComponent(e[l]);return s},unmountChildren:function(e){for(var t in e){var n=e[t];r.unmountComponent(n)}}};t.exports=u},{116:116,132:132,147:147,79:79}],32:[function(e,t,n){"use strict";function r(e,t){this.forEachFunction=e,this.forEachContext=t}function o(e,t,n,r){var o=e;o.forEachFunction.call(o.forEachContext,t,r)}function i(e,t,n){if(null==e)return e;var i=r.getPooled(t,n);f(e,o,i),r.release(i)}function a(e,t,n){this.mapResult=e,this.mapFunction=t,this.mapContext=n}function u(e,t,n,r){var o=e,i=o.mapResult,a=!i.hasOwnProperty(n);if(a){var u=o.mapFunction.call(o.mapContext,t,r);i[n]=u}}function s(e,t,n){if(null==e)return e;var r={},o=a.getPooled(r,t,n);return f(e,u,o),a.release(o),d.create(r)}function l(e,t,n,r){return null}function c(e,t){return f(e,l,null)}var p=e(28),d=e(61),f=e(149),h=(e(150),p.twoArgumentPooler),m=p.threeArgumentPooler;p.addPoolingTo(r,h),p.addPoolingTo(a,m);var v={forEach:i,map:s,count:c};t.exports=v},{149:149,150:150,28:28,61:61}],33:[function(e,t,n){"use strict";function r(e,t){var n=D.hasOwnProperty(t)?D[t]:null;N.hasOwnProperty(t)&&y(n===_.OVERRIDE_BASE),e.hasOwnProperty(t)&&y(n===_.DEFINE_MANY||n===_.DEFINE_MANY_MERGED)}function o(e,t){if(t){y("function"!=typeof t),y(!d.isValidElement(t));var n=e.prototype;t.hasOwnProperty(b)&&M.mixins(e,t.mixins);for(var o in t)if(t.hasOwnProperty(o)&&o!==b){var i=t[o];if(r(n,o),M.hasOwnProperty(o))M[o](e,i);else{var a=D.hasOwnProperty(o),l=n.hasOwnProperty(o),c=i&&i.__reactDontBind,p="function"==typeof i,f=p&&!a&&!l&&!c;if(f)n.__reactAutoBindMap||(n.__reactAutoBindMap={}),n.__reactAutoBindMap[o]=i,n[o]=i;else if(l){var h=D[o];y(a&&(h===_.DEFINE_MANY_MERGED||h===_.DEFINE_MANY)),h===_.DEFINE_MANY_MERGED?n[o]=u(n[o],i):h===_.DEFINE_MANY&&(n[o]=s(n[o],i))}else n[o]=i}}}}function i(e,t){if(t)for(var n in t){var r=t[n];if(t.hasOwnProperty(n)){var o=n in M;y(!o);var i=n in e;y(!i),e[n]=r}}}function a(e,t){y(e&&t&&"object"==typeof e&&"object"==typeof t);for(var n in t)t.hasOwnProperty(n)&&(y(void 0===e[n]),e[n]=t[n]);return e}function u(e,t){return function(){var n=e.apply(this,arguments),r=t.apply(this,arguments);if(null==n)return r;if(null==r)return n;var o={};return a(o,n),a(o,r),o}}function s(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}function l(e,t){var n=t.bind(e);return n}function c(e){for(var t in e.__reactAutoBindMap)if(e.__reactAutoBindMap.hasOwnProperty(t)){var n=e.__reactAutoBindMap[t];e[t]=l(e,f.guard(n,e.constructor.displayName+"."+t))}}var p=e(34),d=(e(39),e(55)),f=e(58),h=e(65),m=e(66),v=(e(75),e(74),e(84)),g=e(27),y=e(133),C=e(138),E=e(139),b=(e(150),E({mixins:null})),_=C({DEFINE_ONCE:null,DEFINE_MANY:null,OVERRIDE_BASE:null,DEFINE_MANY_MERGED:null}),x=[],D={mixins:_.DEFINE_MANY,statics:_.DEFINE_MANY,propTypes:_.DEFINE_MANY,contextTypes:_.DEFINE_MANY,childContextTypes:_.DEFINE_MANY,getDefaultProps:_.DEFINE_MANY_MERGED,getInitialState:_.DEFINE_MANY_MERGED,getChildContext:_.DEFINE_MANY_MERGED,render:_.DEFINE_ONCE,componentWillMount:_.DEFINE_MANY,componentDidMount:_.DEFINE_MANY,componentWillReceiveProps:_.DEFINE_MANY,shouldComponentUpdate:_.DEFINE_ONCE,componentWillUpdate:_.DEFINE_MANY,componentDidUpdate:_.DEFINE_MANY,componentWillUnmount:_.DEFINE_MANY,updateComponent:_.OVERRIDE_BASE},M={displayName:function(e,t){e.displayName=t},mixins:function(e,t){if(t)for(var n=0;n<t.length;n++)o(e,t[n])},childContextTypes:function(e,t){e.childContextTypes=g({},e.childContextTypes,t)},contextTypes:function(e,t){e.contextTypes=g({},e.contextTypes,t)},getDefaultProps:function(e,t){e.getDefaultProps?e.getDefaultProps=u(e.getDefaultProps,t):e.getDefaultProps=t},propTypes:function(e,t){e.propTypes=g({},e.propTypes,t)},statics:function(e,t){i(e,t)}},N={replaceState:function(e,t){v.enqueueReplaceState(this,e),t&&v.enqueueCallback(this,t)},isMounted:function(){var e=h.get(this);return e&&e!==m.currentlyMountingInstance},setProps:function(e,t){v.enqueueSetProps(this,e),t&&v.enqueueCallback(this,t)},replaceProps:function(e,t){v.enqueueReplaceProps(this,e),t&&v.enqueueCallback(this,t)}},I=function(){};g(I.prototype,p.prototype,N);var T={createClass:function(e){var t=function(e,t){this.__reactAutoBindMap&&c(this),this.props=e,this.context=t,this.state=null;var n=this.getInitialState?this.getInitialState():null;y("object"==typeof n&&!Array.isArray(n)),this.state=n};t.prototype=new I,t.prototype.constructor=t,x.forEach(o.bind(null,t)),o(t,e),t.getDefaultProps&&(t.defaultProps=t.getDefaultProps()),y(t.prototype.render);for(var n in D)t.prototype[n]||(t.prototype[n]=null);return t.type=t,t},injection:{injectMixin:function(e){x.push(e)}}};t.exports=T},{133:133,138:138,139:139,150:150,27:27,34:34,39:39,55:55,58:58,65:65,66:66,74:74,75:75,84:84}],34:[function(e,t,n){"use strict";function r(e,t){this.props=e,this.context=t}{var o=e(84),i=e(133);e(150)}r.prototype.setState=function(e,t){i("object"==typeof e||"function"==typeof e||null==e),o.enqueueSetState(this,e),t&&o.enqueueCallback(this,t)},r.prototype.forceUpdate=function(e){o.enqueueForceUpdate(this),e&&o.enqueueCallback(this,e)};t.exports=r},{133:133,150:150,84:84}],35:[function(e,t,n){"use strict";var r=e(44),o=e(68),i={processChildrenUpdates:r.dangerouslyProcessChildrenUpdates,replaceNodeWithMarkupByID:r.dangerouslyReplaceNodeWithMarkupByID,unmountIDFromEnvironment:function(e){o.purgeID(e)}};t.exports=i},{44:44,68:68}],36:[function(e,t,n){"use strict";var r=e(133),o=!1,i={unmountIDFromEnvironment:null,replaceNodeWithMarkupByID:null,processChildrenUpdates:null,injection:{injectEnvironment:function(e){r(!o),i.unmountIDFromEnvironment=e.unmountIDFromEnvironment,i.replaceNodeWithMarkupByID=e.replaceNodeWithMarkupByID,i.processChildrenUpdates=e.processChildrenUpdates,o=!0}}};t.exports=i},{133:133}],37:[function(e,t,n){"use strict";function r(e){var t=e._currentElement._owner||null;if(t){var n=t.getName();if(n)return" Check the render method of `"+n+"`."}return""}var o=e(36),i=e(38),a=e(39),u=e(55),s=(e(56),e(65)),l=e(66),c=e(71),p=e(73),d=e(75),f=(e(74),e(79)),h=e(85),m=e(27),v=e(113),g=e(133),y=e(147),C=(e(150),1),E={construct:function(e){this._currentElement=e,this._rootNodeID=null,this._instance=null,this._pendingElement=null,this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1,this._renderedComponent=null,this._context=null,this._mountOrder=0,this._isTopLevel=!1,this._pendingCallbacks=null},mountComponent:function(e,t,n){this._context=n,this._mountOrder=C++,this._rootNodeID=e;var r=this._processProps(this._currentElement.props),o=this._processContext(this._currentElement._context),i=c.getComponentClassForElement(this._currentElement),a=new i(r,o);a.props=r,a.context=o,a.refs=v,this._instance=a,s.set(a,this);var u=a.state;void 0===u&&(a.state=u=null),g("object"==typeof u&&!Array.isArray(u)),this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1;var p,d,h=l.currentlyMountingInstance;l.currentlyMountingInstance=this;try{a.componentWillMount&&(a.componentWillMount(),this._pendingStateQueue&&(a.state=this._processPendingState(a.props,a.context))),p=this._getValidatedChildContext(n),d=this._renderValidatedComponent(p)}finally{l.currentlyMountingInstance=h}this._renderedComponent=this._instantiateReactComponent(d,this._currentElement.type);var m=f.mountComponent(this._renderedComponent,e,t,this._mergeChildContext(n,p));return a.componentDidMount&&t.getReactMountReady().enqueue(a.componentDidMount,a),m},unmountComponent:function(){var e=this._instance;if(e.componentWillUnmount){var t=l.currentlyUnmountingInstance;l.currentlyUnmountingInstance=this;try{e.componentWillUnmount()}finally{l.currentlyUnmountingInstance=t}}f.unmountComponent(this._renderedComponent),this._renderedComponent=null,this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1,this._pendingCallbacks=null,this._pendingElement=null,this._context=null,this._rootNodeID=null,s.remove(e)},_setPropsInternal:function(e,t){var n=this._pendingElement||this._currentElement;this._pendingElement=u.cloneAndReplaceProps(n,m({},n.props,e)),h.enqueueUpdate(this,t)},_maskContext:function(e){var t=null;if("string"==typeof this._currentElement.type)return v;var n=this._currentElement.type.contextTypes;if(!n)return v;t={};for(var r in n)t[r]=e[r];return t},_processContext:function(e){var t=this._maskContext(e);return t},_getValidatedChildContext:function(e){var t=this._instance,n=t.getChildContext&&t.getChildContext();if(n){g("object"==typeof t.constructor.childContextTypes);for(var r in n)g(r in t.constructor.childContextTypes);return n}return null},_mergeChildContext:function(e,t){return t?m({},e,t):e},_processProps:function(e){return e},_checkPropTypes:function(e,t,n){var o=this.getName();for(var i in e)if(e.hasOwnProperty(i)){var a;try{g("function"==typeof e[i]),a=e[i](t,i,o,n)}catch(u){a=u}a instanceof Error&&(r(this),n===d.prop)}},receiveComponent:function(e,t,n){var r=this._currentElement,o=this._context;this._pendingElement=null,this.updateComponent(t,r,e,o,n)},performUpdateIfNecessary:function(e){null!=this._pendingElement&&f.receiveComponent(this,this._pendingElement||this._currentElement,e,this._context),(null!==this._pendingStateQueue||this._pendingForceUpdate)&&this.updateComponent(e,this._currentElement,this._currentElement,this._context,this._context)},_warnIfContextsDiffer:function(e,t){e=this._maskContext(e),t=this._maskContext(t);for(var n=Object.keys(t).sort(),r=(this.getName()||"ReactCompositeComponent",0);r<n.length;r++)n[r]},updateComponent:function(e,t,n,r,o){var i=this._instance,a=i.context,u=i.props;t!==n&&(a=this._processContext(n._context),u=this._processProps(n.props),i.componentWillReceiveProps&&i.componentWillReceiveProps(u,a));var s=this._processPendingState(u,a),l=this._pendingForceUpdate||!i.shouldComponentUpdate||i.shouldComponentUpdate(u,s,a);l?(this._pendingForceUpdate=!1,this._performComponentUpdate(n,u,s,a,e,o)):(this._currentElement=n,this._context=o,i.props=u,i.state=s,i.context=a)},_processPendingState:function(e,t){var n=this._instance,r=this._pendingStateQueue,o=this._pendingReplaceState;if(this._pendingReplaceState=!1,this._pendingStateQueue=null,!r)return n.state;if(o&&1===r.length)return r[0];for(var i=m({},o?r[0]:n.state),a=o?1:0;a<r.length;a++){var u=r[a];m(i,"function"==typeof u?u.call(n,i,e,t):u)}return i},_performComponentUpdate:function(e,t,n,r,o,i){var a=this._instance,u=a.props,s=a.state,l=a.context;a.componentWillUpdate&&a.componentWillUpdate(t,n,r),this._currentElement=e,this._context=i,a.props=t,a.state=n,a.context=r,this._updateRenderedComponent(o,i),a.componentDidUpdate&&o.getReactMountReady().enqueue(a.componentDidUpdate.bind(a,u,s,l),a)},_updateRenderedComponent:function(e,t){var n=this._renderedComponent,r=n._currentElement,o=this._getValidatedChildContext(),i=this._renderValidatedComponent(o);if(y(r,i))f.receiveComponent(n,i,e,this._mergeChildContext(t,o));else{var a=this._rootNodeID,u=n._rootNodeID;f.unmountComponent(n),this._renderedComponent=this._instantiateReactComponent(i,this._currentElement.type);var s=f.mountComponent(this._renderedComponent,a,e,this._mergeChildContext(t,o));this._replaceNodeWithMarkupByID(u,s)}},_replaceNodeWithMarkupByID:function(e,t){o.replaceNodeWithMarkupByID(e,t)},_renderValidatedComponentWithoutOwnerOrContext:function(){var e=this._instance,t=e.render();return t},_renderValidatedComponent:function(e){var t,n=i.current;i.current=this._mergeChildContext(this._currentElement._context,e),a.current=this;try{t=this._renderValidatedComponentWithoutOwnerOrContext()}finally{i.current=n,a.current=null}return g(null===t||t===!1||u.isValidElement(t)),t},attachRef:function(e,t){var n=this.getPublicInstance(),r=n.refs===v?n.refs={}:n.refs;r[e]=t.getPublicInstance()},detachRef:function(e){var t=this.getPublicInstance().refs;delete t[e]},getName:function(){var e=this._currentElement.type,t=this._instance&&this._instance.constructor;return e.displayName||t&&t.displayName||e.name||t&&t.name||null},getPublicInstance:function(){return this._instance},_instantiateReactComponent:null};p.measureMethods(E,"ReactCompositeComponent",{mountComponent:"mountComponent",updateComponent:"updateComponent",_renderValidatedComponent:"_renderValidatedComponent"});var b={Mixin:E};t.exports=b},{113:113,133:133,147:147,150:150,27:27,36:36,38:38,39:39,55:55,56:56,65:65,66:66,71:71,73:73,74:74,75:75,79:79,85:85}],38:[function(e,t,n){"use strict";var r=e(27),o=e(113),i=(e(150),{current:o,withContext:function(e,t){var n,o=i.current;i.current=r({},o,e);try{n=t()}finally{i.current=o}return n}});t.exports=i},{113:113,150:150,27:27}],39:[function(e,t,n){"use strict";var r={current:null};t.exports=r},{}],40:[function(e,t,n){"use strict";function r(e){return o.createFactory(e)}var o=e(55),i=(e(56),e(140)),a=i({a:"a",abbr:"abbr",address:"address",area:"area",article:"article",aside:"aside",audio:"audio",b:"b",base:"base",bdi:"bdi",bdo:"bdo",big:"big",blockquote:"blockquote",body:"body",br:"br",button:"button",canvas:"canvas",caption:"caption",cite:"cite",code:"code",col:"col",colgroup:"colgroup",data:"data",datalist:"datalist",dd:"dd",del:"del",details:"details",dfn:"dfn",dialog:"dialog",div:"div",dl:"dl",dt:"dt",em:"em",embed:"embed",fieldset:"fieldset",figcaption:"figcaption",figure:"figure",footer:"footer",form:"form",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",head:"head",header:"header",hr:"hr",html:"html",i:"i",iframe:"iframe",img:"img",input:"input",ins:"ins",kbd:"kbd",keygen:"keygen",label:"label",legend:"legend",li:"li",link:"link",main:"main",map:"map",mark:"mark",menu:"menu",menuitem:"menuitem",meta:"meta",meter:"meter",nav:"nav",noscript:"noscript",object:"object",ol:"ol",optgroup:"optgroup",option:"option",output:"output",p:"p",param:"param",picture:"picture",pre:"pre",progress:"progress",q:"q",rp:"rp",rt:"rt",ruby:"ruby",s:"s",samp:"samp",script:"script",section:"section",select:"select",small:"small",source:"source",span:"span",strong:"strong",style:"style",sub:"sub",summary:"summary",sup:"sup",table:"table",tbody:"tbody",td:"td",textarea:"textarea",tfoot:"tfoot",th:"th",thead:"thead",time:"time",title:"title",tr:"tr",track:"track",u:"u",ul:"ul","var":"var",video:"video",wbr:"wbr",circle:"circle",clipPath:"clipPath",defs:"defs",ellipse:"ellipse",g:"g",line:"line",linearGradient:"linearGradient",mask:"mask",path:"path",pattern:"pattern",polygon:"polygon",polyline:"polyline",radialGradient:"radialGradient",rect:"rect",stop:"stop",svg:"svg",text:"text",tspan:"tspan"},r);t.exports=a},{140:140,55:55,56:56}],41:[function(e,t,n){"use strict";var r=e(2),o=e(29),i=e(33),a=e(55),u=e(138),s=a.createFactory("button"),l=u({onClick:!0,onDoubleClick:!0,onMouseDown:!0,onMouseMove:!0,onMouseUp:!0,onClickCapture:!0,onDoubleClickCapture:!0,onMouseDownCapture:!0,onMouseMoveCapture:!0,onMouseUpCapture:!0}),c=i.createClass({displayName:"ReactDOMButton",tagName:"BUTTON",mixins:[r,o],render:function(){var e={};for(var t in this.props)!this.props.hasOwnProperty(t)||this.props.disabled&&l[t]||(e[t]=this.props[t]);return s(e,this.props.children)}});t.exports=c},{138:138,2:2,29:29,33:33,55:55}],42:[function(e,t,n){"use strict";function r(e){e&&(null!=e.dangerouslySetInnerHTML&&(g(null==e.children),g("object"==typeof e.dangerouslySetInnerHTML&&"__html"in e.dangerouslySetInnerHTML)),g(null==e.style||"object"==typeof e.style))}function o(e,t,n,r){var o=d.findReactContainerForID(e);if(o){var i=o.nodeType===D?o.ownerDocument:o;E(t,i)}r.getPutListenerQueue().enqueuePutListener(e,t,n)}function i(e){P.call(T,e)||(g(I.test(e)),T[e]=!0)}function a(e){i(e),this._tag=e,this._renderedChildren=null,this._previousStyleCopy=null,this._rootNodeID=null}var u=e(5),s=e(10),l=e(11),c=e(30),p=e(35),d=e(68),f=e(69),h=e(73),m=e(27),v=e(114),g=e(133),y=(e(134),e(139)),C=(e(150),c.deleteListener),E=c.listenTo,b=c.registrationNameModules,_={string:!0,number:!0},x=y({style:null}),D=1,M=null,N={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},I=/^[a-zA-Z][a-zA-Z:_\.\-\d]*$/,T={},P={}.hasOwnProperty;a.displayName="ReactDOMComponent",a.Mixin={construct:function(e){this._currentElement=e},mountComponent:function(e,t,n){this._rootNodeID=e,r(this._currentElement.props);var o=N[this._tag]?"":"</"+this._tag+">";return this._createOpenTagMarkupAndPutListeners(t)+this._createContentMarkup(t,n)+o},_createOpenTagMarkupAndPutListeners:function(e){var t=this._currentElement.props,n="<"+this._tag;for(var r in t)if(t.hasOwnProperty(r)){var i=t[r];if(null!=i)if(b.hasOwnProperty(r))o(this._rootNodeID,r,i,e);else{r===x&&(i&&(i=this._previousStyleCopy=m({},t.style)),i=u.createMarkupForStyles(i));var a=l.createMarkupForProperty(r,i);a&&(n+=" "+a)}}if(e.renderToStaticMarkup)return n+">";var s=l.createMarkupForID(this._rootNodeID);return n+" "+s+">"},_createContentMarkup:function(e,t){var n="";("listing"===this._tag||"pre"===this._tag||"textarea"===this._tag)&&(n="\n");var r=this._currentElement.props,o=r.dangerouslySetInnerHTML;if(null!=o){if(null!=o.__html)return n+o.__html}else{var i=_[typeof r.children]?r.children:null,a=null!=i?null:r.children;if(null!=i)return n+v(i);if(null!=a){var u=this.mountChildren(a,e,t);return n+u.join("")}}return n},receiveComponent:function(e,t,n){var r=this._currentElement;this._currentElement=e,this.updateComponent(t,r,e,n)},updateComponent:function(e,t,n,o){r(this._currentElement.props),this._updateDOMProperties(t.props,e),this._updateDOMChildren(t.props,e,o)},_updateDOMProperties:function(e,t){var n,r,i,a=this._currentElement.props;for(n in e)if(!a.hasOwnProperty(n)&&e.hasOwnProperty(n))if(n===x){var u=this._previousStyleCopy;for(r in u)u.hasOwnProperty(r)&&(i=i||{},i[r]="");this._previousStyleCopy=null}else b.hasOwnProperty(n)?C(this._rootNodeID,n):(s.isStandardName[n]||s.isCustomAttribute(n))&&M.deletePropertyByID(this._rootNodeID,n);for(n in a){var l=a[n],c=n===x?this._previousStyleCopy:e[n];if(a.hasOwnProperty(n)&&l!==c)if(n===x)if(l?l=this._previousStyleCopy=m({},l):this._previousStyleCopy=null,c){for(r in c)!c.hasOwnProperty(r)||l&&l.hasOwnProperty(r)||(i=i||{},i[r]="");for(r in l)l.hasOwnProperty(r)&&c[r]!==l[r]&&(i=i||{},i[r]=l[r])}else i=l;else b.hasOwnProperty(n)?o(this._rootNodeID,n,l,t):(s.isStandardName[n]||s.isCustomAttribute(n))&&M.updatePropertyByID(this._rootNodeID,n,l)}i&&M.updateStylesByID(this._rootNodeID,i)},_updateDOMChildren:function(e,t,n){var r=this._currentElement.props,o=_[typeof e.children]?e.children:null,i=_[typeof r.children]?r.children:null,a=e.dangerouslySetInnerHTML&&e.dangerouslySetInnerHTML.__html,u=r.dangerouslySetInnerHTML&&r.dangerouslySetInnerHTML.__html,s=null!=o?null:e.children,l=null!=i?null:r.children,c=null!=o||null!=a,p=null!=i||null!=u;null!=s&&null==l?this.updateChildren(null,t,n):c&&!p&&this.updateTextContent(""),null!=i?o!==i&&this.updateTextContent(""+i):null!=u?a!==u&&M.updateInnerHTMLByID(this._rootNodeID,u):null!=l&&this.updateChildren(l,t,n)},unmountComponent:function(){this.unmountChildren(),c.deleteAllListeners(this._rootNodeID),p.unmountIDFromEnvironment(this._rootNodeID),this._rootNodeID=null}},h.measureMethods(a,"ReactDOMComponent",{mountComponent:"mountComponent",updateComponent:"updateComponent"}),m(a.prototype,a.Mixin,f.Mixin),a.injection={injectIDOperations:function(e){a.BackendIDOperations=M=e}},t.exports=a},{10:10,11:11,114:114,133:133,134:134,139:139,150:150,27:27,30:30,35:35,5:5,68:68,69:69,73:73}],43:[function(e,t,n){"use strict";var r=e(15),o=e(25),i=e(29),a=e(33),u=e(55),s=u.createFactory("form"),l=a.createClass({displayName:"ReactDOMForm",tagName:"FORM",mixins:[i,o],render:function(){return s(this.props)},componentDidMount:function(){this.trapBubbledEvent(r.topLevelTypes.topReset,"reset"),this.trapBubbledEvent(r.topLevelTypes.topSubmit,"submit")}});t.exports=l},{15:15,25:25,29:29,33:33,55:55}],44:[function(e,t,n){"use strict";var r=e(5),o=e(9),i=e(11),a=e(68),u=e(73),s=e(133),l=e(144),c={dangerouslySetInnerHTML:"`dangerouslySetInnerHTML` must be set using `updateInnerHTMLByID()`.",style:"`style` must be set using `updateStylesByID()`."},p={updatePropertyByID:function(e,t,n){var r=a.getNode(e);s(!c.hasOwnProperty(t)),null!=n?i.setValueForProperty(r,t,n):i.deleteValueForProperty(r,t)},deletePropertyByID:function(e,t,n){var r=a.getNode(e);s(!c.hasOwnProperty(t)),i.deleteValueForProperty(r,t,n)},updateStylesByID:function(e,t){var n=a.getNode(e);r.setValueForStyles(n,t)},updateInnerHTMLByID:function(e,t){var n=a.getNode(e);l(n,t)},updateTextContentByID:function(e,t){var n=a.getNode(e);o.updateTextContent(n,t)},dangerouslyReplaceNodeWithMarkupByID:function(e,t){var n=a.getNode(e);o.dangerouslyReplaceNodeWithMarkup(n,t)},dangerouslyProcessChildrenUpdates:function(e,t){for(var n=0;n<e.length;n++)e[n].parentNode=a.getNode(e[n].parentID);o.processUpdates(e,t)}};u.measureMethods(p,"ReactDOMIDOperations",{updatePropertyByID:"updatePropertyByID",deletePropertyByID:"deletePropertyByID",updateStylesByID:"updateStylesByID",updateInnerHTMLByID:"updateInnerHTMLByID",updateTextContentByID:"updateTextContentByID",dangerouslyReplaceNodeWithMarkupByID:"dangerouslyReplaceNodeWithMarkupByID",dangerouslyProcessChildrenUpdates:"dangerouslyProcessChildrenUpdates"}),t.exports=p},{11:11,133:133,144:144,5:5,68:68,73:73,9:9}],45:[function(e,t,n){"use strict";var r=e(15),o=e(25),i=e(29),a=e(33),u=e(55),s=u.createFactory("iframe"),l=a.createClass({displayName:"ReactDOMIframe",tagName:"IFRAME",mixins:[i,o],render:function(){return s(this.props)},componentDidMount:function(){this.trapBubbledEvent(r.topLevelTypes.topLoad,"load")}});t.exports=l},{15:15,25:25,29:29,33:33,55:55}],46:[function(e,t,n){"use strict";var r=e(15),o=e(25),i=e(29),a=e(33),u=e(55),s=u.createFactory("img"),l=a.createClass({displayName:"ReactDOMImg",tagName:"IMG",mixins:[i,o],render:function(){return s(this.props)},componentDidMount:function(){this.trapBubbledEvent(r.topLevelTypes.topLoad,"load"),this.trapBubbledEvent(r.topLevelTypes.topError,"error")}});t.exports=l},{15:15,25:25,29:29,33:33,55:55}],47:[function(e,t,n){"use strict";function r(){this.isMounted()&&this.forceUpdate()}var o=e(2),i=e(11),a=e(24),u=e(29),s=e(33),l=e(55),c=e(68),p=e(85),d=e(27),f=e(133),h=l.createFactory("input"),m={},v=s.createClass({displayName:"ReactDOMInput",tagName:"INPUT",mixins:[o,a.Mixin,u],getInitialState:function(){var e=this.props.defaultValue;return{initialChecked:this.props.defaultChecked||!1,initialValue:null!=e?e:null}},render:function(){var e=d({},this.props);e.defaultChecked=null,e.defaultValue=null;var t=a.getValue(this);e.value=null!=t?t:this.state.initialValue;var n=a.getChecked(this);return e.checked=null!=n?n:this.state.initialChecked,e.onChange=this._handleChange,h(e,this.props.children)},componentDidMount:function(){var e=c.getID(this.getDOMNode());m[e]=this},componentWillUnmount:function(){var e=this.getDOMNode(),t=c.getID(e);delete m[t]},componentDidUpdate:function(e,t,n){var r=this.getDOMNode();null!=this.props.checked&&i.setValueForProperty(r,"checked",this.props.checked||!1);var o=a.getValue(this);null!=o&&i.setValueForProperty(r,"value",""+o)},_handleChange:function(e){var t,n=a.getOnChange(this);n&&(t=n.call(this,e)),p.asap(r,this);var o=this.props.name;if("radio"===this.props.type&&null!=o){for(var i=this.getDOMNode(),u=i;u.parentNode;)u=u.parentNode;for(var s=u.querySelectorAll("input[name="+JSON.stringify(""+o)+'][type="radio"]'),l=0,d=s.length;d>l;l++){var h=s[l];if(h!==i&&h.form===i.form){var v=c.getID(h);f(v);var g=m[v];f(g),p.asap(r,g)}}}return t}});t.exports=v},{11:11,133:133,2:2,24:24,27:27,29:29,33:33,55:55,68:68,85:85}],48:[function(e,t,n){"use strict";var r=e(29),o=e(33),i=e(55),a=(e(150),i.createFactory("option")),u=o.createClass({displayName:"ReactDOMOption",tagName:"OPTION",mixins:[r],componentWillMount:function(){},render:function(){return a(this.props,this.props.children)}});t.exports=u},{150:150,29:29,33:33,55:55}],49:[function(e,t,n){"use strict";function r(){if(this._pendingUpdate){this._pendingUpdate=!1;var e=u.getValue(this);null!=e&&this.isMounted()&&i(this,e)}}function o(e,t,n){if(null==e[t])return null;if(e.multiple){if(!Array.isArray(e[t]))return new Error("The `"+t+"` prop supplied to <select> must be an array if `multiple` is true.")}else if(Array.isArray(e[t]))return new Error("The `"+t+"` prop supplied to <select> must be a scalar value if `multiple` is false.")}function i(e,t){var n,r,o,i=e.getDOMNode().options;if(e.props.multiple){for(n={},r=0,o=t.length;o>r;r++)n[""+t[r]]=!0;for(r=0,o=i.length;o>r;r++){var a=n.hasOwnProperty(i[r].value);i[r].selected!==a&&(i[r].selected=a)}}else{for(n=""+t,r=0,o=i.length;o>r;r++)if(i[r].value===n)return void(i[r].selected=!0);i.length&&(i[0].selected=!0)}}var a=e(2),u=e(24),s=e(29),l=e(33),c=e(55),p=e(85),d=e(27),f=c.createFactory("select"),h=l.createClass({displayName:"ReactDOMSelect",tagName:"SELECT",mixins:[a,u.Mixin,s],propTypes:{defaultValue:o,value:o},render:function(){var e=d({},this.props);return e.onChange=this._handleChange,e.value=null,f(e,this.props.children)},componentWillMount:function(){this._pendingUpdate=!1},componentDidMount:function(){var e=u.getValue(this);null!=e?i(this,e):null!=this.props.defaultValue&&i(this,this.props.defaultValue)},componentDidUpdate:function(e){var t=u.getValue(this);null!=t?(this._pendingUpdate=!1,i(this,t)):!e.multiple!=!this.props.multiple&&(null!=this.props.defaultValue?i(this,this.props.defaultValue):i(this,this.props.multiple?[]:""))},_handleChange:function(e){var t,n=u.getOnChange(this);return n&&(t=n.call(this,e)),this._pendingUpdate=!0,p.asap(r,this),t}});t.exports=h},{2:2,24:24,27:27,29:29,33:33,55:55,85:85}],50:[function(e,t,n){"use strict";function r(e,t,n,r){return e===n&&t===r}function o(e){var t=document.selection,n=t.createRange(),r=n.text.length,o=n.duplicate();o.moveToElementText(e),o.setEndPoint("EndToStart",n);var i=o.text.length,a=i+r;return{start:i,end:a}}function i(e){var t=window.getSelection&&window.getSelection();if(!t||0===t.rangeCount)return null;var n=t.anchorNode,o=t.anchorOffset,i=t.focusNode,a=t.focusOffset,u=t.getRangeAt(0),s=r(t.anchorNode,t.anchorOffset,t.focusNode,t.focusOffset),l=s?0:u.toString().length,c=u.cloneRange();c.selectNodeContents(e),c.setEnd(u.startContainer,u.startOffset);var p=r(c.startContainer,c.startOffset,c.endContainer,c.endOffset),d=p?0:c.toString().length,f=d+l,h=document.createRange();h.setStart(n,o),h.setEnd(i,a);var m=h.collapsed;return{start:m?f:d,end:m?d:f}}function a(e,t){var n,r,o=document.selection.createRange().duplicate();"undefined"==typeof t.end?(n=t.start,r=n):t.start>t.end?(n=t.end,r=t.start):(n=t.start,r=t.end),o.moveToElementText(e),o.moveStart("character",n),o.setEndPoint("EndToStart",o),o.moveEnd("character",r-n),o.select()}function u(e,t){if(window.getSelection){var n=window.getSelection(),r=e[c()].length,o=Math.min(t.start,r),i="undefined"==typeof t.end?o:Math.min(t.end,r);if(!n.extend&&o>i){var a=i;i=o,o=a}var u=l(e,o),s=l(e,i);if(u&&s){var p=document.createRange();p.setStart(u.node,u.offset),n.removeAllRanges(),o>i?(n.addRange(p),n.extend(s.node,s.offset)):(p.setEnd(s.node,s.offset),n.addRange(p))}}}var s=e(21),l=e(126),c=e(128),p=s.canUseDOM&&"selection"in document&&!("getSelection"in window),d={getOffsets:p?o:i,setOffsets:p?a:u};t.exports=d},{126:126,128:128,21:21}],51:[function(e,t,n){"use strict";var r=e(11),o=e(35),i=e(42),a=e(27),u=e(114),s=function(e){};a(s.prototype,{construct:function(e){this._currentElement=e,this._stringText=""+e,this._rootNodeID=null,this._mountIndex=0},mountComponent:function(e,t,n){this._rootNodeID=e;var o=u(this._stringText);return t.renderToStaticMarkup?o:"<span "+r.createMarkupForID(e)+">"+o+"</span>"},receiveComponent:function(e,t){if(e!==this._currentElement){this._currentElement=e;var n=""+e;n!==this._stringText&&(this._stringText=n,i.BackendIDOperations.updateTextContentByID(this._rootNodeID,n))}},unmountComponent:function(){o.unmountIDFromEnvironment(this._rootNodeID)}}),t.exports=s},{11:11,114:114,27:27,35:35,42:42}],52:[function(e,t,n){"use strict";function r(){this.isMounted()&&this.forceUpdate()}var o=e(2),i=e(11),a=e(24),u=e(29),s=e(33),l=e(55),c=e(85),p=e(27),d=e(133),f=(e(150),l.createFactory("textarea")),h=s.createClass({displayName:"ReactDOMTextarea",tagName:"TEXTAREA",mixins:[o,a.Mixin,u],getInitialState:function(){var e=this.props.defaultValue,t=this.props.children;null!=t&&(d(null==e),Array.isArray(t)&&(d(t.length<=1),t=t[0]),e=""+t),null==e&&(e="");var n=a.getValue(this);return{initialValue:""+(null!=n?n:e)}},render:function(){var e=p({},this.props);return d(null==e.dangerouslySetInnerHTML),e.defaultValue=null,e.value=null,e.onChange=this._handleChange,f(e,this.state.initialValue)},componentDidUpdate:function(e,t,n){var r=a.getValue(this);if(null!=r){var o=this.getDOMNode();i.setValueForProperty(o,"value",""+r)}},_handleChange:function(e){var t,n=a.getOnChange(this);return n&&(t=n.call(this,e)),c.asap(r,this),t}});t.exports=h},{11:11,133:133,150:150,2:2,24:24,27:27,29:29,33:33,55:55,85:85}],53:[function(e,t,n){"use strict";function r(){this.reinitializeTransaction()}var o=e(85),i=e(101),a=e(27),u=e(112),s={initialize:u,close:function(){d.isBatchingUpdates=!1}},l={initialize:u,close:o.flushBatchedUpdates.bind(o)},c=[l,s];a(r.prototype,i.Mixin,{getTransactionWrappers:function(){return c}});var p=new r,d={isBatchingUpdates:!1,batchedUpdates:function(e,t,n,r,o){var i=d.isBatchingUpdates;d.isBatchingUpdates=!0,i?e(t,n,r,o):p.perform(e,null,t,n,r,o)}};t.exports=d},{101:101,112:112,27:27,85:85}],54:[function(e,t,n){"use strict";function r(e){return h.createClass({tagName:e.toUpperCase(),render:function(){return new T(e,null,null,null,null,this.props)}})}function o(){R.EventEmitter.injectReactEventListener(P),R.EventPluginHub.injectEventPluginOrder(s),R.EventPluginHub.injectInstanceHandle(w),R.EventPluginHub.injectMount(O),R.EventPluginHub.injectEventPluginsByName({SimpleEventPlugin:L,EnterLeaveEventPlugin:l,ChangeEventPlugin:a,MobileSafariClickEventPlugin:d,SelectEventPlugin:A,BeforeInputEventPlugin:i}),R.NativeComponent.injectGenericComponentClass(g),R.NativeComponent.injectTextComponentClass(I),R.NativeComponent.injectAutoWrapper(r),R.Class.injectMixin(f),R.NativeComponent.injectComponentClasses({button:y,form:C,iframe:_,img:E,input:x,option:D,select:M,textarea:N,html:F("html"),head:F("head"),body:F("body")}),R.DOMProperty.injectDOMPropertyConfig(p),R.DOMProperty.injectDOMPropertyConfig(U),R.EmptyComponent.injectEmptyComponent("noscript"),R.Updates.injectReconcileTransaction(S),R.Updates.injectBatchingStrategy(v),R.RootIndex.injectCreateReactRootIndex(c.canUseDOM?u.createReactRootIndex:k.createReactRootIndex),R.Component.injectEnvironment(m),R.DOMComponent.injectIDOperations(b)}var i=e(3),a=e(7),u=e(8),s=e(13),l=e(14),c=e(21),p=e(23),d=e(26),f=e(29),h=e(33),m=e(35),v=e(53),g=e(42),y=e(41),C=e(43),E=e(46),b=e(44),_=e(45),x=e(47),D=e(48),M=e(49),N=e(52),I=e(51),T=e(55),P=e(60),R=e(62),w=e(64),O=e(68),S=e(78),A=e(87),k=e(88),L=e(89),U=e(86),F=e(109);
+
+t.exports={inject:o}},{109:109,13:13,14:14,21:21,23:23,26:26,29:29,3:3,33:33,35:35,41:41,42:42,43:43,44:44,45:45,46:46,47:47,48:48,49:49,51:51,52:52,53:53,55:55,60:60,62:62,64:64,68:68,7:7,78:78,8:8,86:86,87:87,88:88,89:89}],55:[function(e,t,n){"use strict";var r=e(38),o=e(39),i=e(27),a=(e(150),{key:!0,ref:!0}),u=function(e,t,n,r,o,i){this.type=e,this.key=t,this.ref=n,this._owner=r,this._context=o,this.props=i};u.prototype={_isReactElement:!0},u.createElement=function(e,t,n){var i,s={},l=null,c=null;if(null!=t){c=void 0===t.ref?null:t.ref,l=void 0===t.key?null:""+t.key;for(i in t)t.hasOwnProperty(i)&&!a.hasOwnProperty(i)&&(s[i]=t[i])}var p=arguments.length-2;if(1===p)s.children=n;else if(p>1){for(var d=Array(p),f=0;p>f;f++)d[f]=arguments[f+2];s.children=d}if(e&&e.defaultProps){var h=e.defaultProps;for(i in h)"undefined"==typeof s[i]&&(s[i]=h[i])}return new u(e,l,c,o.current,r.current,s)},u.createFactory=function(e){var t=u.createElement.bind(null,e);return t.type=e,t},u.cloneAndReplaceProps=function(e,t){var n=new u(e.type,e.key,e.ref,e._owner,e._context,t);return n},u.cloneElement=function(e,t,n){var r,s=i({},e.props),l=e.key,c=e.ref,p=e._owner;if(null!=t){void 0!==t.ref&&(c=t.ref,p=o.current),void 0!==t.key&&(l=""+t.key);for(r in t)t.hasOwnProperty(r)&&!a.hasOwnProperty(r)&&(s[r]=t[r])}var d=arguments.length-2;if(1===d)s.children=n;else if(d>1){for(var f=Array(d),h=0;d>h;h++)f[h]=arguments[h+2];s.children=f}return new u(e.type,l,c,p,e._context,s)},u.isValidElement=function(e){var t=!(!e||!e._isReactElement);return t},t.exports=u},{150:150,27:27,38:38,39:39}],56:[function(e,t,n){"use strict";function r(){if(y.current){var e=y.current.getName();if(e)return" Check the render method of `"+e+"`."}return""}function o(e){var t=e&&e.getPublicInstance();if(!t)return void 0;var n=t.constructor;return n?n.displayName||n.name||void 0:void 0}function i(){var e=y.current;return e&&o(e)||void 0}function a(e,t){e._store.validated||null!=e.key||(e._store.validated=!0,s('Each child in an array or iterator should have a unique "key" prop.',e,t))}function u(e,t,n){D.test(e)&&s("Child objects should have non-numeric keys so ordering is preserved.",t,n)}function s(e,t,n){var r=i(),a="string"==typeof n?n:n.displayName||n.name,u=r||a,s=_[e]||(_[e]={});if(!s.hasOwnProperty(u)){s[u]=!0;var l="";if(t&&t._owner&&t._owner!==y.current){var c=o(t._owner);l=" It was passed a child from "+c+"."}}}function l(e,t){if(Array.isArray(e))for(var n=0;n<e.length;n++){var r=e[n];m.isValidElement(r)&&a(r,t)}else if(m.isValidElement(e))e._store.validated=!0;else if(e){var o=E(e);if(o){if(o!==e.entries)for(var i,s=o.call(e);!(i=s.next()).done;)m.isValidElement(i.value)&&a(i.value,t)}else if("object"==typeof e){var l=v.extractIfFragment(e);for(var c in l)l.hasOwnProperty(c)&&u(c,l[c],t)}}}function c(e,t,n,o){for(var i in t)if(t.hasOwnProperty(i)){var a;try{b("function"==typeof t[i]),a=t[i](n,i,e,o)}catch(u){a=u}a instanceof Error&&!(a.message in x)&&(x[a.message]=!0,r(this))}}function p(e,t){var n=t.type,r="string"==typeof n?n:n.displayName,o=t._owner?t._owner.getPublicInstance().constructor.displayName:null,i=e+"|"+r+"|"+o;if(!M.hasOwnProperty(i)){M[i]=!0;var a="";r&&(a=" <"+r+" />");var u="";o&&(u=" The element was created by "+o+".")}}function d(e,t){return e!==e?t!==t:0===e&&0===t?1/e===1/t:e===t}function f(e){if(e._store){var t=e._store.originalProps,n=e.props;for(var r in n)n.hasOwnProperty(r)&&(t.hasOwnProperty(r)&&d(t[r],n[r])||(p(r,e),t[r]=n[r]))}}function h(e){if(null!=e.type){var t=C.getComponentClassForElement(e),n=t.displayName||t.name;t.propTypes&&c(n,t.propTypes,e.props,g.prop),"function"==typeof t.getDefaultProps}}var m=e(55),v=e(61),g=e(75),y=(e(74),e(39)),C=e(71),E=e(124),b=e(133),_=(e(150),{}),x={},D=/^\d+$/,M={},N={checkAndWarnForMutatedProps:f,createElement:function(e,t,n){var r=m.createElement.apply(this,arguments);if(null==r)return r;for(var o=2;o<arguments.length;o++)l(arguments[o],e);return h(r),r},createFactory:function(e){var t=N.createElement.bind(null,e);return t.type=e,t},cloneElement:function(e,t,n){for(var r=m.cloneElement.apply(this,arguments),o=2;o<arguments.length;o++)l(arguments[o],r.type);return h(r),r}};t.exports=N},{124:124,133:133,150:150,39:39,55:55,61:61,71:71,74:74,75:75}],57:[function(e,t,n){"use strict";function r(e){c[e]=!0}function o(e){delete c[e]}function i(e){return!!c[e]}var a,u=e(55),s=e(65),l=e(133),c={},p={injectEmptyComponent:function(e){a=u.createFactory(e)}},d=function(){};d.prototype.componentDidMount=function(){var e=s.get(this);e&&r(e._rootNodeID)},d.prototype.componentWillUnmount=function(){var e=s.get(this);e&&o(e._rootNodeID)},d.prototype.render=function(){return l(a),a()};var f=u.createElement(d),h={emptyElement:f,injection:p,isNullComponentID:i};t.exports=h},{133:133,55:55,65:65}],58:[function(e,t,n){"use strict";var r={guard:function(e,t){return e}};t.exports=r},{}],59:[function(e,t,n){"use strict";function r(e){o.enqueueEvents(e),o.processEventQueue()}var o=e(17),i={handleTopLevel:function(e,t,n,i){var a=o.extractEvents(e,t,n,i);r(a)}};t.exports=i},{17:17}],60:[function(e,t,n){"use strict";function r(e){var t=p.getID(e),n=c.getReactRootIDFromNodeID(t),r=p.findReactContainerForID(n),o=p.getFirstReactDOM(r);return o}function o(e,t){this.topLevelType=e,this.nativeEvent=t,this.ancestors=[]}function i(e){for(var t=p.getFirstReactDOM(h(e.nativeEvent))||window,n=t;n;)e.ancestors.push(n),n=r(n);for(var o=0,i=e.ancestors.length;i>o;o++){t=e.ancestors[o];var a=p.getID(t)||"";v._handleTopLevel(e.topLevelType,t,a,e.nativeEvent)}}function a(e){var t=m(window);e(t)}var u=e(16),s=e(21),l=e(28),c=e(64),p=e(68),d=e(85),f=e(27),h=e(123),m=e(129);f(o.prototype,{destructor:function(){this.topLevelType=null,this.nativeEvent=null,this.ancestors.length=0}}),l.addPoolingTo(o,l.twoArgumentPooler);var v={_enabled:!0,_handleTopLevel:null,WINDOW_HANDLE:s.canUseDOM?window:null,setHandleTopLevel:function(e){v._handleTopLevel=e},setEnabled:function(e){v._enabled=!!e},isEnabled:function(){return v._enabled},trapBubbledEvent:function(e,t,n){var r=n;return r?u.listen(r,t,v.dispatchEvent.bind(null,e)):null},trapCapturedEvent:function(e,t,n){var r=n;return r?u.capture(r,t,v.dispatchEvent.bind(null,e)):null},monitorScrollValue:function(e){var t=a.bind(null,e);u.listen(window,"scroll",t)},dispatchEvent:function(e,t){if(v._enabled){var n=o.getPooled(e,t);try{d.batchedUpdates(i,n)}finally{o.release(n)}}}};t.exports=v},{123:123,129:129,16:16,21:21,27:27,28:28,64:64,68:68,85:85}],61:[function(e,t,n){"use strict";var r=(e(55),e(150),{create:function(e){return e},extract:function(e){return e},extractIfFragment:function(e){return e}});t.exports=r},{150:150,55:55}],62:[function(e,t,n){"use strict";var r=e(10),o=e(17),i=e(36),a=e(33),u=e(57),s=e(30),l=e(71),c=e(42),p=e(73),d=e(81),f=e(85),h={Component:i.injection,Class:a.injection,DOMComponent:c.injection,DOMProperty:r.injection,EmptyComponent:u.injection,EventPluginHub:o.injection,EventEmitter:s.injection,NativeComponent:l.injection,Perf:p.injection,RootIndex:d.injection,Updates:f.injection};t.exports=h},{10:10,17:17,30:30,33:33,36:36,42:42,57:57,71:71,73:73,81:81,85:85}],63:[function(e,t,n){"use strict";function r(e){return i(document.documentElement,e)}var o=e(50),i=e(107),a=e(117),u=e(119),s={hasSelectionCapabilities:function(e){return e&&("INPUT"===e.nodeName&&"text"===e.type||"TEXTAREA"===e.nodeName||"true"===e.contentEditable)},getSelectionInformation:function(){var e=u();return{focusedElem:e,selectionRange:s.hasSelectionCapabilities(e)?s.getSelection(e):null}},restoreSelection:function(e){var t=u(),n=e.focusedElem,o=e.selectionRange;t!==n&&r(n)&&(s.hasSelectionCapabilities(n)&&s.setSelection(n,o),a(n))},getSelection:function(e){var t;if("selectionStart"in e)t={start:e.selectionStart,end:e.selectionEnd};else if(document.selection&&"INPUT"===e.nodeName){var n=document.selection.createRange();n.parentElement()===e&&(t={start:-n.moveStart("character",-e.value.length),end:-n.moveEnd("character",-e.value.length)})}else t=o.getOffsets(e);return t||{start:0,end:0}},setSelection:function(e,t){var n=t.start,r=t.end;if("undefined"==typeof r&&(r=n),"selectionStart"in e)e.selectionStart=n,e.selectionEnd=Math.min(r,e.value.length);else if(document.selection&&"INPUT"===e.nodeName){var i=e.createTextRange();i.collapse(!0),i.moveStart("character",n),i.moveEnd("character",r-n),i.select()}else o.setOffsets(e,t)}};t.exports=s},{107:107,117:117,119:119,50:50}],64:[function(e,t,n){"use strict";function r(e){return f+e.toString(36)}function o(e,t){return e.charAt(t)===f||t===e.length}function i(e){return""===e||e.charAt(0)===f&&e.charAt(e.length-1)!==f}function a(e,t){return 0===t.indexOf(e)&&o(t,e.length)}function u(e){return e?e.substr(0,e.lastIndexOf(f)):""}function s(e,t){if(d(i(e)&&i(t)),d(a(e,t)),e===t)return e;var n,r=e.length+h;for(n=r;n<t.length&&!o(t,n);n++);return t.substr(0,n)}function l(e,t){var n=Math.min(e.length,t.length);if(0===n)return"";for(var r=0,a=0;n>=a;a++)if(o(e,a)&&o(t,a))r=a;else if(e.charAt(a)!==t.charAt(a))break;var u=e.substr(0,r);return d(i(u)),u}function c(e,t,n,r,o,i){e=e||"",t=t||"",d(e!==t);var l=a(t,e);d(l||a(e,t));for(var c=0,p=l?u:s,f=e;;f=p(f,t)){var h;if(o&&f===e||i&&f===t||(h=n(f,l,r)),h===!1||f===t)break;d(c++<m)}}var p=e(81),d=e(133),f=".",h=f.length,m=100,v={createReactRootID:function(){return r(p.createReactRootIndex())},createReactID:function(e,t){return e+t},getReactRootIDFromNodeID:function(e){if(e&&e.charAt(0)===f&&e.length>1){var t=e.indexOf(f,1);return t>-1?e.substr(0,t):e}return null},traverseEnterLeave:function(e,t,n,r,o){var i=l(e,t);i!==e&&c(e,i,n,r,!1,!0),i!==t&&c(i,t,n,o,!0,!1)},traverseTwoPhase:function(e,t,n){e&&(c("",e,t,n,!0,!1),c(e,"",t,n,!1,!0))},traverseAncestors:function(e,t,n){c("",e,t,n,!0,!1)},_getFirstCommonAncestorID:l,_getNextDescendantID:s,isAncestorIDOf:a,SEPARATOR:f};t.exports=v},{133:133,81:81}],65:[function(e,t,n){"use strict";var r={remove:function(e){e._reactInternalInstance=void 0},get:function(e){return e._reactInternalInstance},has:function(e){return void 0!==e._reactInternalInstance},set:function(e,t){e._reactInternalInstance=t}};t.exports=r},{}],66:[function(e,t,n){"use strict";var r={currentlyMountingInstance:null,currentlyUnmountingInstance:null};t.exports=r},{}],67:[function(e,t,n){"use strict";var r=e(104),o={CHECKSUM_ATTR_NAME:"data-react-checksum",addChecksumToMarkup:function(e){var t=r(e);return e.replace(">"," "+o.CHECKSUM_ATTR_NAME+'="'+t+'">')},canReuseMarkup:function(e,t){var n=t.getAttribute(o.CHECKSUM_ATTR_NAME);n=n&&parseInt(n,10);var i=r(e);return i===n}};t.exports=o},{104:104}],68:[function(e,t,n){"use strict";function r(e,t){for(var n=Math.min(e.length,t.length),r=0;n>r;r++)if(e.charAt(r)!==t.charAt(r))return r;return e.length===t.length?-1:n}function o(e){var t=P(e);return t&&K.getID(t)}function i(e){var t=a(e);if(t)if(L.hasOwnProperty(t)){var n=L[t];n!==e&&(w(!c(n,t)),L[t]=e)}else L[t]=e;return t}function a(e){return e&&e.getAttribute&&e.getAttribute(k)||""}function u(e,t){var n=a(e);n!==t&&delete L[n],e.setAttribute(k,t),L[t]=e}function s(e){return L.hasOwnProperty(e)&&c(L[e],e)||(L[e]=K.findReactNodeByID(e)),L[e]}function l(e){var t=b.get(e)._rootNodeID;return C.isNullComponentID(t)?null:(L.hasOwnProperty(t)&&c(L[t],t)||(L[t]=K.findReactNodeByID(t)),L[t])}function c(e,t){if(e){w(a(e)===t);var n=K.findReactContainerForID(t);if(n&&T(n,e))return!0}return!1}function p(e){delete L[e]}function d(e){var t=L[e];return t&&c(t,e)?void(W=t):!1}function f(e){W=null,E.traverseAncestors(e,d);var t=W;return W=null,t}function h(e,t,n,r,o){var i=D.mountComponent(e,t,r,I);e._isTopLevel=!0,K._mountImageIntoNode(i,n,o)}function m(e,t,n,r){var o=N.ReactReconcileTransaction.getPooled();o.perform(h,null,e,t,n,o,r),N.ReactReconcileTransaction.release(o)}var v=e(10),g=e(30),y=(e(39),e(55)),C=(e(56),e(57)),E=e(64),b=e(65),_=e(67),x=e(73),D=e(79),M=e(84),N=e(85),I=e(113),T=e(107),P=e(127),R=e(132),w=e(133),O=e(144),S=e(147),A=(e(150),E.SEPARATOR),k=v.ID_ATTRIBUTE_NAME,L={},U=1,F=9,B={},V={},j=[],W=null,K={_instancesByReactRootID:B,scrollMonitor:function(e,t){t()},_updateRootComponent:function(e,t,n,r){return K.scrollMonitor(n,function(){M.enqueueElementInternal(e,t),r&&M.enqueueCallbackInternal(e,r)}),e},_registerComponent:function(e,t){w(t&&(t.nodeType===U||t.nodeType===F)),g.ensureScrollValueMonitoring();var n=K.registerContainer(t);return B[n]=e,n},_renderNewRootComponent:function(e,t,n){var r=R(e,null),o=K._registerComponent(r,t);return N.batchedUpdates(m,r,o,t,n),r},render:function(e,t,n){w(y.isValidElement(e));var r=B[o(t)];if(r){var i=r._currentElement;if(S(i,e))return K._updateRootComponent(r,e,t,n).getPublicInstance();K.unmountComponentAtNode(t)}var a=P(t),u=a&&K.isRenderedByReact(a),s=u&&!r,l=K._renderNewRootComponent(e,t,s).getPublicInstance();return n&&n.call(l),l},constructAndRenderComponent:function(e,t,n){var r=y.createElement(e,t);return K.render(r,n)},constructAndRenderComponentByID:function(e,t,n){var r=document.getElementById(n);return w(r),K.constructAndRenderComponent(e,t,r)},registerContainer:function(e){var t=o(e);return t&&(t=E.getReactRootIDFromNodeID(t)),t||(t=E.createReactRootID()),V[t]=e,t},unmountComponentAtNode:function(e){w(e&&(e.nodeType===U||e.nodeType===F));var t=o(e),n=B[t];return n?(K.unmountComponentFromNode(n,e),delete B[t],delete V[t],!0):!1},unmountComponentFromNode:function(e,t){for(D.unmountComponent(e),t.nodeType===F&&(t=t.documentElement);t.lastChild;)t.removeChild(t.lastChild)},findReactContainerForID:function(e){var t=E.getReactRootIDFromNodeID(e),n=V[t];return n},findReactNodeByID:function(e){var t=K.findReactContainerForID(e);return K.findComponentRoot(t,e)},isRenderedByReact:function(e){if(1!==e.nodeType)return!1;var t=K.getID(e);return t?t.charAt(0)===A:!1},getFirstReactDOM:function(e){for(var t=e;t&&t.parentNode!==t;){if(K.isRenderedByReact(t))return t;t=t.parentNode}return null},findComponentRoot:function(e,t){var n=j,r=0,o=f(t)||e;for(n[0]=o.firstChild,n.length=1;r<n.length;){for(var i,a=n[r++];a;){var u=K.getID(a);u?t===u?i=a:E.isAncestorIDOf(u,t)&&(n.length=r=0,n.push(a.firstChild)):n.push(a.firstChild),a=a.nextSibling}if(i)return n.length=0,i}n.length=0,w(!1)},_mountImageIntoNode:function(e,t,n){if(w(t&&(t.nodeType===U||t.nodeType===F)),n){var o=P(t);if(_.canReuseMarkup(e,o))return;var i=o.getAttribute(_.CHECKSUM_ATTR_NAME);o.removeAttribute(_.CHECKSUM_ATTR_NAME);var a=o.outerHTML;o.setAttribute(_.CHECKSUM_ATTR_NAME,i);var u=r(e,a);" (client) "+e.substring(u-20,u+20)+"\n (server) "+a.substring(u-20,u+20),w(t.nodeType!==F)}w(t.nodeType!==F),O(t,e)},getReactRootID:o,getID:i,setID:u,getNode:s,getNodeFromInstance:l,purgeID:p};x.measureMethods(K,"ReactMount",{_renderNewRootComponent:"_renderNewRootComponent",_mountImageIntoNode:"_mountImageIntoNode"}),t.exports=K},{10:10,107:107,113:113,127:127,132:132,133:133,144:144,147:147,150:150,30:30,39:39,55:55,56:56,57:57,64:64,65:65,67:67,73:73,79:79,84:84,85:85}],69:[function(e,t,n){"use strict";function r(e,t,n){h.push({parentID:e,parentNode:null,type:c.INSERT_MARKUP,markupIndex:m.push(t)-1,textContent:null,fromIndex:null,toIndex:n})}function o(e,t,n){h.push({parentID:e,parentNode:null,type:c.MOVE_EXISTING,markupIndex:null,textContent:null,fromIndex:t,toIndex:n})}function i(e,t){h.push({parentID:e,parentNode:null,type:c.REMOVE_NODE,markupIndex:null,textContent:null,fromIndex:t,toIndex:null})}function a(e,t){h.push({parentID:e,parentNode:null,type:c.TEXT_CONTENT,markupIndex:null,textContent:t,fromIndex:null,toIndex:null})}function u(){h.length&&(l.processChildrenUpdates(h,m),s())}function s(){h.length=0,m.length=0}var l=e(36),c=e(70),p=e(79),d=e(31),f=0,h=[],m=[],v={Mixin:{mountChildren:function(e,t,n){var r=d.instantiateChildren(e,t,n);this._renderedChildren=r;var o=[],i=0;for(var a in r)if(r.hasOwnProperty(a)){var u=r[a],s=this._rootNodeID+a,l=p.mountComponent(u,s,t,n);u._mountIndex=i,o.push(l),i++}return o},updateTextContent:function(e){f++;var t=!0;try{var n=this._renderedChildren;d.unmountChildren(n);for(var r in n)n.hasOwnProperty(r)&&this._unmountChildByName(n[r],r);this.setTextContent(e),t=!1}finally{f--,f||(t?s():u())}},updateChildren:function(e,t,n){f++;var r=!0;try{this._updateChildren(e,t,n),r=!1}finally{f--,f||(r?s():u())}},_updateChildren:function(e,t,n){var r=this._renderedChildren,o=d.updateChildren(r,e,t,n);if(this._renderedChildren=o,o||r){var i,a=0,u=0;for(i in o)if(o.hasOwnProperty(i)){var s=r&&r[i],l=o[i];s===l?(this.moveChild(s,u,a),a=Math.max(s._mountIndex,a),s._mountIndex=u):(s&&(a=Math.max(s._mountIndex,a),this._unmountChildByName(s,i)),this._mountChildByNameAtIndex(l,i,u,t,n)),u++}for(i in r)!r.hasOwnProperty(i)||o&&o.hasOwnProperty(i)||this._unmountChildByName(r[i],i)}},unmountChildren:function(){var e=this._renderedChildren;d.unmountChildren(e),this._renderedChildren=null},moveChild:function(e,t,n){e._mountIndex<n&&o(this._rootNodeID,e._mountIndex,t)},createChild:function(e,t){r(this._rootNodeID,t,e._mountIndex)},removeChild:function(e){i(this._rootNodeID,e._mountIndex)},setTextContent:function(e){a(this._rootNodeID,e)},_mountChildByNameAtIndex:function(e,t,n,r,o){var i=this._rootNodeID+t,a=p.mountComponent(e,i,r,o);e._mountIndex=n,this.createChild(e,a)},_unmountChildByName:function(e,t){this.removeChild(e),e._mountIndex=null}}};t.exports=v},{31:31,36:36,70:70,79:79}],70:[function(e,t,n){"use strict";var r=e(138),o=r({INSERT_MARKUP:null,MOVE_EXISTING:null,REMOVE_NODE:null,TEXT_CONTENT:null});t.exports=o},{138:138}],71:[function(e,t,n){"use strict";function r(e){if("function"==typeof e.type)return e.type;var t=e.type,n=p[t];return null==n&&(p[t]=n=l(t)),n}function o(e){return s(c),new c(e.type,e.props)}function i(e){return new d(e)}function a(e){return e instanceof d}var u=e(27),s=e(133),l=null,c=null,p={},d=null,f={injectGenericComponentClass:function(e){c=e},injectTextComponentClass:function(e){d=e},injectComponentClasses:function(e){u(p,e)},injectAutoWrapper:function(e){l=e}},h={getComponentClassForElement:r,createInternalComponent:o,createInstanceForText:i,isTextComponent:a,injection:f};t.exports=h},{133:133,27:27}],72:[function(e,t,n){"use strict";var r=e(133),o={isValidOwner:function(e){return!(!e||"function"!=typeof e.attachRef||"function"!=typeof e.detachRef)},addComponentAsRefTo:function(e,t,n){r(o.isValidOwner(n)),n.attachRef(t,e)},removeComponentAsRefFrom:function(e,t,n){r(o.isValidOwner(n)),n.getPublicInstance().refs[t]===e.getPublicInstance()&&n.detachRef(t)}};t.exports=o},{133:133}],73:[function(e,t,n){"use strict";function r(e,t,n){return n}var o={enableMeasure:!1,storedMeasure:r,measureMethods:function(e,t,n){},measure:function(e,t,n){return n},injection:{injectMeasure:function(e){o.storedMeasure=e}}};t.exports=o},{}],74:[function(e,t,n){"use strict";var r={};t.exports=r},{}],75:[function(e,t,n){"use strict";var r=e(138),o=r({prop:null,context:null,childContext:null});t.exports=o},{138:138}],76:[function(e,t,n){"use strict";function r(e){function t(t,n,r,o,i){if(o=o||b,null==n[r]){var a=C[i];return t?new Error("Required "+a+" `"+r+"` was not specified in "+("`"+o+"`.")):null}return e(n,r,o,i)}var n=t.bind(null,!1);return n.isRequired=t.bind(null,!0),n}function o(e){function t(t,n,r,o){var i=t[n],a=m(i);if(a!==e){var u=C[o],s=v(i);return new Error("Invalid "+u+" `"+n+"` of type `"+s+"` "+("supplied to `"+r+"`, expected `"+e+"`."))}return null}return r(t)}function i(){return r(E.thatReturns(null))}function a(e){function t(t,n,r,o){var i=t[n];if(!Array.isArray(i)){var a=C[o],u=m(i);return new Error("Invalid "+a+" `"+n+"` of type "+("`"+u+"` supplied to `"+r+"`, expected an array."))}for(var s=0;s<i.length;s++){var l=e(i,s,r,o);if(l instanceof Error)return l}return null}return r(t)}function u(){function e(e,t,n,r){if(!g.isValidElement(e[t])){var o=C[r];return new Error("Invalid "+o+" `"+t+"` supplied to "+("`"+n+"`, expected a ReactElement."))}return null}return r(e)}function s(e){function t(t,n,r,o){if(!(t[n]instanceof e)){var i=C[o],a=e.name||b;return new Error("Invalid "+i+" `"+n+"` supplied to "+("`"+r+"`, expected instance of `"+a+"`."))}return null}return r(t)}function l(e){function t(t,n,r,o){for(var i=t[n],a=0;a<e.length;a++)if(i===e[a])return null;var u=C[o],s=JSON.stringify(e);return new Error("Invalid "+u+" `"+n+"` of value `"+i+"` "+("supplied to `"+r+"`, expected one of "+s+"."))}return r(t)}function c(e){function t(t,n,r,o){var i=t[n],a=m(i);if("object"!==a){var u=C[o];return new Error("Invalid "+u+" `"+n+"` of type "+("`"+a+"` supplied to `"+r+"`, expected an object."))}for(var s in i)if(i.hasOwnProperty(s)){var l=e(i,s,r,o);if(l instanceof Error)return l}return null}return r(t)}function p(e){function t(t,n,r,o){for(var i=0;i<e.length;i++){var a=e[i];if(null==a(t,n,r,o))return null}var u=C[o];return new Error("Invalid "+u+" `"+n+"` supplied to "+("`"+r+"`."))}return r(t)}function d(){function e(e,t,n,r){if(!h(e[t])){var o=C[r];return new Error("Invalid "+o+" `"+t+"` supplied to "+("`"+n+"`, expected a ReactNode."))}return null}return r(e)}function f(e){function t(t,n,r,o){var i=t[n],a=m(i);if("object"!==a){var u=C[o];return new Error("Invalid "+u+" `"+n+"` of type `"+a+"` "+("supplied to `"+r+"`, expected `object`."))}for(var s in e){var l=e[s];if(l){var c=l(i,s,r,o);if(c)return c}}return null}return r(t)}function h(e){switch(typeof e){case"number":case"string":case"undefined":return!0;case"boolean":return!e;case"object":if(Array.isArray(e))return e.every(h);if(null===e||g.isValidElement(e))return!0;e=y.extractIfFragment(e);for(var t in e)if(!h(e[t]))return!1;return!0;default:return!1}}function m(e){var t=typeof e;return Array.isArray(e)?"array":e instanceof RegExp?"object":t}function v(e){var t=m(e);if("object"===t){if(e instanceof Date)return"date";if(e instanceof RegExp)return"regexp"}return t}var g=e(55),y=e(61),C=e(74),E=e(112),b="<<anonymous>>",_=u(),x=d(),D={array:o("array"),bool:o("boolean"),func:o("function"),number:o("number"),object:o("object"),string:o("string"),any:i(),arrayOf:a,element:_,instanceOf:s,node:x,objectOf:c,oneOf:l,oneOfType:p,shape:f};t.exports=D},{112:112,55:55,61:61,74:74}],77:[function(e,t,n){"use strict";function r(){this.listenersToPut=[]}var o=e(28),i=e(30),a=e(27);a(r.prototype,{enqueuePutListener:function(e,t,n){this.listenersToPut.push({rootNodeID:e,propKey:t,propValue:n})},putListeners:function(){for(var e=0;e<this.listenersToPut.length;e++){var t=this.listenersToPut[e];i.putListener(t.rootNodeID,t.propKey,t.propValue)}},reset:function(){this.listenersToPut.length=0},destructor:function(){this.reset()}}),o.addPoolingTo(r),t.exports=r},{27:27,28:28,30:30}],78:[function(e,t,n){"use strict";function r(){this.reinitializeTransaction(),this.renderToStaticMarkup=!1,this.reactMountReady=o.getPooled(null),this.putListenerQueue=s.getPooled()}var o=e(6),i=e(28),a=e(30),u=e(63),s=e(77),l=e(101),c=e(27),p={initialize:u.getSelectionInformation,close:u.restoreSelection},d={initialize:function(){var e=a.isEnabled();return a.setEnabled(!1),e},close:function(e){a.setEnabled(e)}},f={initialize:function(){this.reactMountReady.reset()},close:function(){this.reactMountReady.notifyAll()}},h={initialize:function(){this.putListenerQueue.reset()},close:function(){this.putListenerQueue.putListeners()}},m=[h,p,d,f],v={getTransactionWrappers:function(){return m},getReactMountReady:function(){return this.reactMountReady},getPutListenerQueue:function(){return this.putListenerQueue},destructor:function(){o.release(this.reactMountReady),this.reactMountReady=null,s.release(this.putListenerQueue),this.putListenerQueue=null}};c(r.prototype,l.Mixin,v),i.addPoolingTo(r),t.exports=r},{101:101,27:27,28:28,30:30,6:6,63:63,77:77}],79:[function(e,t,n){"use strict";function r(){o.attachRefs(this,this._currentElement)}var o=e(80),i=(e(56),{mountComponent:function(e,t,n,o){var i=e.mountComponent(t,n,o);return n.getReactMountReady().enqueue(r,e),i},unmountComponent:function(e){o.detachRefs(e,e._currentElement),e.unmountComponent()},receiveComponent:function(e,t,n,i){var a=e._currentElement;if(t!==a||null==t._owner){var u=o.shouldUpdateRefs(a,t);u&&o.detachRefs(e,a),e.receiveComponent(t,n,i),u&&n.getReactMountReady().enqueue(r,e)}},performUpdateIfNecessary:function(e,t){e.performUpdateIfNecessary(t)}});t.exports=i},{56:56,80:80}],80:[function(e,t,n){"use strict";function r(e,t,n){"function"==typeof e?e(t.getPublicInstance()):i.addComponentAsRefTo(t,e,n)}function o(e,t,n){"function"==typeof e?e(null):i.removeComponentAsRefFrom(t,e,n)}var i=e(72),a={};a.attachRefs=function(e,t){var n=t.ref;null!=n&&r(n,e,t._owner)},a.shouldUpdateRefs=function(e,t){return t._owner!==e._owner||t.ref!==e.ref},a.detachRefs=function(e,t){var n=t.ref;null!=n&&o(n,e,t._owner)},t.exports=a},{72:72}],81:[function(e,t,n){"use strict";var r={injectCreateReactRootIndex:function(e){o.createReactRootIndex=e}},o={createReactRootIndex:null,injection:r};t.exports=o},{}],82:[function(e,t,n){"use strict";function r(e){p(i.isValidElement(e));var t;try{var n=a.createReactRootID();return t=s.getPooled(!1),t.perform(function(){var r=c(e,null),o=r.mountComponent(n,t,l);return u.addChecksumToMarkup(o)},null)}finally{s.release(t)}}function o(e){p(i.isValidElement(e));var t;try{var n=a.createReactRootID();return t=s.getPooled(!0),t.perform(function(){var r=c(e,null);return r.mountComponent(n,t,l)},null)}finally{s.release(t)}}var i=e(55),a=e(64),u=e(67),s=e(83),l=e(113),c=e(132),p=e(133);t.exports={renderToString:r,renderToStaticMarkup:o}},{113:113,132:132,133:133,55:55,64:64,67:67,83:83}],83:[function(e,t,n){"use strict";function r(e){this.reinitializeTransaction(),this.renderToStaticMarkup=e,this.reactMountReady=i.getPooled(null),this.putListenerQueue=a.getPooled()}var o=e(28),i=e(6),a=e(77),u=e(101),s=e(27),l=e(112),c={initialize:function(){this.reactMountReady.reset()},close:l},p={initialize:function(){this.putListenerQueue.reset()},close:l},d=[p,c],f={getTransactionWrappers:function(){return d},getReactMountReady:function(){return this.reactMountReady},getPutListenerQueue:function(){return this.putListenerQueue},destructor:function(){i.release(this.reactMountReady),this.reactMountReady=null,a.release(this.putListenerQueue),this.putListenerQueue=null}};s(r.prototype,u.Mixin,f),o.addPoolingTo(r),t.exports=r},{101:101,112:112,27:27,28:28,6:6,77:77}],84:[function(e,t,n){"use strict";function r(e){e!==i.currentlyMountingInstance&&l.enqueueUpdate(e)}function o(e,t){p(null==a.current);var n=s.get(e);return n?n===i.currentlyUnmountingInstance?null:n:null}var i=e(66),a=e(39),u=e(55),s=e(65),l=e(85),c=e(27),p=e(133),d=(e(150),{enqueueCallback:function(e,t){p("function"==typeof t);var n=o(e);return n&&n!==i.currentlyMountingInstance?(n._pendingCallbacks?n._pendingCallbacks.push(t):n._pendingCallbacks=[t],void r(n)):null},enqueueCallbackInternal:function(e,t){p("function"==typeof t),e._pendingCallbacks?e._pendingCallbacks.push(t):e._pendingCallbacks=[t],r(e)},enqueueForceUpdate:function(e){var t=o(e,"forceUpdate");t&&(t._pendingForceUpdate=!0,r(t))},enqueueReplaceState:function(e,t){var n=o(e,"replaceState");n&&(n._pendingStateQueue=[t],n._pendingReplaceState=!0,r(n))},enqueueSetState:function(e,t){var n=o(e,"setState");if(n){var i=n._pendingStateQueue||(n._pendingStateQueue=[]);i.push(t),r(n)}},enqueueSetProps:function(e,t){var n=o(e,"setProps");if(n){p(n._isTopLevel);var i=n._pendingElement||n._currentElement,a=c({},i.props,t);n._pendingElement=u.cloneAndReplaceProps(i,a),r(n)}},enqueueReplaceProps:function(e,t){var n=o(e,"replaceProps");if(n){p(n._isTopLevel);var i=n._pendingElement||n._currentElement;n._pendingElement=u.cloneAndReplaceProps(i,t),r(n)}},enqueueElementInternal:function(e,t){e._pendingElement=t,r(e)}});t.exports=d},{133:133,150:150,27:27,39:39,55:55,65:65,66:66,85:85}],85:[function(e,t,n){"use strict";function r(){v(N.ReactReconcileTransaction&&E)}function o(){this.reinitializeTransaction(),this.dirtyComponentsLength=null,this.callbackQueue=c.getPooled(),this.reconcileTransaction=N.ReactReconcileTransaction.getPooled()}function i(e,t,n,o,i){r(),E.batchedUpdates(e,t,n,o,i)}function a(e,t){return e._mountOrder-t._mountOrder}function u(e){var t=e.dirtyComponentsLength;v(t===g.length),g.sort(a);for(var n=0;t>n;n++){var r=g[n],o=r._pendingCallbacks;if(r._pendingCallbacks=null,f.performUpdateIfNecessary(r,e.reconcileTransaction),o)for(var i=0;i<o.length;i++)e.callbackQueue.enqueue(o[i],r.getPublicInstance())}}function s(e){return r(),E.isBatchingUpdates?void g.push(e):void E.batchedUpdates(s,e)}function l(e,t){v(E.isBatchingUpdates),y.enqueue(e,t),C=!0}var c=e(6),p=e(28),d=(e(39),e(73)),f=e(79),h=e(101),m=e(27),v=e(133),g=(e(150),[]),y=c.getPooled(),C=!1,E=null,b={initialize:function(){this.dirtyComponentsLength=g.length},close:function(){this.dirtyComponentsLength!==g.length?(g.splice(0,this.dirtyComponentsLength),D()):g.length=0}},_={initialize:function(){this.callbackQueue.reset()},close:function(){this.callbackQueue.notifyAll()}},x=[b,_];m(o.prototype,h.Mixin,{getTransactionWrappers:function(){return x},destructor:function(){this.dirtyComponentsLength=null,c.release(this.callbackQueue),this.callbackQueue=null,N.ReactReconcileTransaction.release(this.reconcileTransaction),this.reconcileTransaction=null},perform:function(e,t,n){return h.Mixin.perform.call(this,this.reconcileTransaction.perform,this.reconcileTransaction,e,t,n)}}),p.addPoolingTo(o);var D=function(){for(;g.length||C;){if(g.length){var e=o.getPooled();e.perform(u,null,e),o.release(e)}if(C){C=!1;var t=y;y=c.getPooled(),t.notifyAll(),c.release(t)}}};D=d.measure("ReactUpdates","flushBatchedUpdates",D);var M={injectReconcileTransaction:function(e){v(e),N.ReactReconcileTransaction=e},injectBatchingStrategy:function(e){v(e),v("function"==typeof e.batchedUpdates),v("boolean"==typeof e.isBatchingUpdates),E=e}},N={ReactReconcileTransaction:null,batchedUpdates:i,enqueueUpdate:s,flushBatchedUpdates:D,injection:M,asap:l};t.exports=N},{101:101,133:133,150:150,27:27,28:28,39:39,6:6,73:73,79:79}],86:[function(e,t,n){"use strict";var r=e(10),o=r.injection.MUST_USE_ATTRIBUTE,i={Properties:{clipPath:o,cx:o,cy:o,d:o,dx:o,dy:o,fill:o,fillOpacity:o,fontFamily:o,fontSize:o,fx:o,fy:o,gradientTransform:o,gradientUnits:o,markerEnd:o,markerMid:o,markerStart:o,offset:o,opacity:o,patternContentUnits:o,patternUnits:o,points:o,preserveAspectRatio:o,r:o,rx:o,ry:o,spreadMethod:o,stopColor:o,stopOpacity:o,stroke:o,strokeDasharray:o,strokeLinecap:o,strokeOpacity:o,strokeWidth:o,textAnchor:o,transform:o,version:o,viewBox:o,x1:o,x2:o,x:o,y1:o,y2:o,y:o},DOMAttributeNames:{clipPath:"clip-path",fillOpacity:"fill-opacity",fontFamily:"font-family",fontSize:"font-size",gradientTransform:"gradientTransform",gradientUnits:"gradientUnits",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",patternContentUnits:"patternContentUnits",patternUnits:"patternUnits",preserveAspectRatio:"preserveAspectRatio",spreadMethod:"spreadMethod",stopColor:"stop-color",stopOpacity:"stop-opacity",strokeDasharray:"stroke-dasharray",strokeLinecap:"stroke-linecap",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",textAnchor:"text-anchor",viewBox:"viewBox"}};t.exports=i},{10:10}],87:[function(e,t,n){"use strict";function r(e){if("selectionStart"in e&&u.hasSelectionCapabilities(e))return{start:e.selectionStart,end:e.selectionEnd};if(window.getSelection){var t=window.getSelection();return{anchorNode:t.anchorNode,anchorOffset:t.anchorOffset,focusNode:t.focusNode,focusOffset:t.focusOffset}}if(document.selection){var n=document.selection.createRange();return{parentElement:n.parentElement(),text:n.text,top:n.boundingTop,left:n.boundingLeft}}}function o(e){if(y||null==m||m!==l())return null;var t=r(m);if(!g||!d(g,t)){g=t;var n=s.getPooled(h.select,v,e);return n.type="select",n.target=m,a.accumulateTwoPhaseDispatches(n),n}}var i=e(15),a=e(20),u=e(63),s=e(93),l=e(119),c=e(136),p=e(139),d=e(146),f=i.topLevelTypes,h={select:{phasedRegistrationNames:{bubbled:p({onSelect:null}),captured:p({onSelectCapture:null})},dependencies:[f.topBlur,f.topContextMenu,f.topFocus,f.topKeyDown,f.topMouseDown,f.topMouseUp,f.topSelectionChange]
+}},m=null,v=null,g=null,y=!1,C={eventTypes:h,extractEvents:function(e,t,n,r){switch(e){case f.topFocus:(c(t)||"true"===t.contentEditable)&&(m=t,v=n,g=null);break;case f.topBlur:m=null,v=null,g=null;break;case f.topMouseDown:y=!0;break;case f.topContextMenu:case f.topMouseUp:return y=!1,o(r);case f.topSelectionChange:case f.topKeyDown:case f.topKeyUp:return o(r)}}};t.exports=C},{119:119,136:136,139:139,146:146,15:15,20:20,63:63,93:93}],88:[function(e,t,n){"use strict";var r=Math.pow(2,53),o={createReactRootIndex:function(){return Math.ceil(Math.random()*r)}};t.exports=o},{}],89:[function(e,t,n){"use strict";var r=e(15),o=e(19),i=e(20),a=e(90),u=e(93),s=e(94),l=e(96),c=e(97),p=e(92),d=e(98),f=e(99),h=e(100),m=e(120),v=e(133),g=e(139),y=(e(150),r.topLevelTypes),C={blur:{phasedRegistrationNames:{bubbled:g({onBlur:!0}),captured:g({onBlurCapture:!0})}},click:{phasedRegistrationNames:{bubbled:g({onClick:!0}),captured:g({onClickCapture:!0})}},contextMenu:{phasedRegistrationNames:{bubbled:g({onContextMenu:!0}),captured:g({onContextMenuCapture:!0})}},copy:{phasedRegistrationNames:{bubbled:g({onCopy:!0}),captured:g({onCopyCapture:!0})}},cut:{phasedRegistrationNames:{bubbled:g({onCut:!0}),captured:g({onCutCapture:!0})}},doubleClick:{phasedRegistrationNames:{bubbled:g({onDoubleClick:!0}),captured:g({onDoubleClickCapture:!0})}},drag:{phasedRegistrationNames:{bubbled:g({onDrag:!0}),captured:g({onDragCapture:!0})}},dragEnd:{phasedRegistrationNames:{bubbled:g({onDragEnd:!0}),captured:g({onDragEndCapture:!0})}},dragEnter:{phasedRegistrationNames:{bubbled:g({onDragEnter:!0}),captured:g({onDragEnterCapture:!0})}},dragExit:{phasedRegistrationNames:{bubbled:g({onDragExit:!0}),captured:g({onDragExitCapture:!0})}},dragLeave:{phasedRegistrationNames:{bubbled:g({onDragLeave:!0}),captured:g({onDragLeaveCapture:!0})}},dragOver:{phasedRegistrationNames:{bubbled:g({onDragOver:!0}),captured:g({onDragOverCapture:!0})}},dragStart:{phasedRegistrationNames:{bubbled:g({onDragStart:!0}),captured:g({onDragStartCapture:!0})}},drop:{phasedRegistrationNames:{bubbled:g({onDrop:!0}),captured:g({onDropCapture:!0})}},focus:{phasedRegistrationNames:{bubbled:g({onFocus:!0}),captured:g({onFocusCapture:!0})}},input:{phasedRegistrationNames:{bubbled:g({onInput:!0}),captured:g({onInputCapture:!0})}},keyDown:{phasedRegistrationNames:{bubbled:g({onKeyDown:!0}),captured:g({onKeyDownCapture:!0})}},keyPress:{phasedRegistrationNames:{bubbled:g({onKeyPress:!0}),captured:g({onKeyPressCapture:!0})}},keyUp:{phasedRegistrationNames:{bubbled:g({onKeyUp:!0}),captured:g({onKeyUpCapture:!0})}},load:{phasedRegistrationNames:{bubbled:g({onLoad:!0}),captured:g({onLoadCapture:!0})}},error:{phasedRegistrationNames:{bubbled:g({onError:!0}),captured:g({onErrorCapture:!0})}},mouseDown:{phasedRegistrationNames:{bubbled:g({onMouseDown:!0}),captured:g({onMouseDownCapture:!0})}},mouseMove:{phasedRegistrationNames:{bubbled:g({onMouseMove:!0}),captured:g({onMouseMoveCapture:!0})}},mouseOut:{phasedRegistrationNames:{bubbled:g({onMouseOut:!0}),captured:g({onMouseOutCapture:!0})}},mouseOver:{phasedRegistrationNames:{bubbled:g({onMouseOver:!0}),captured:g({onMouseOverCapture:!0})}},mouseUp:{phasedRegistrationNames:{bubbled:g({onMouseUp:!0}),captured:g({onMouseUpCapture:!0})}},paste:{phasedRegistrationNames:{bubbled:g({onPaste:!0}),captured:g({onPasteCapture:!0})}},reset:{phasedRegistrationNames:{bubbled:g({onReset:!0}),captured:g({onResetCapture:!0})}},scroll:{phasedRegistrationNames:{bubbled:g({onScroll:!0}),captured:g({onScrollCapture:!0})}},submit:{phasedRegistrationNames:{bubbled:g({onSubmit:!0}),captured:g({onSubmitCapture:!0})}},touchCancel:{phasedRegistrationNames:{bubbled:g({onTouchCancel:!0}),captured:g({onTouchCancelCapture:!0})}},touchEnd:{phasedRegistrationNames:{bubbled:g({onTouchEnd:!0}),captured:g({onTouchEndCapture:!0})}},touchMove:{phasedRegistrationNames:{bubbled:g({onTouchMove:!0}),captured:g({onTouchMoveCapture:!0})}},touchStart:{phasedRegistrationNames:{bubbled:g({onTouchStart:!0}),captured:g({onTouchStartCapture:!0})}},wheel:{phasedRegistrationNames:{bubbled:g({onWheel:!0}),captured:g({onWheelCapture:!0})}}},E={topBlur:C.blur,topClick:C.click,topContextMenu:C.contextMenu,topCopy:C.copy,topCut:C.cut,topDoubleClick:C.doubleClick,topDrag:C.drag,topDragEnd:C.dragEnd,topDragEnter:C.dragEnter,topDragExit:C.dragExit,topDragLeave:C.dragLeave,topDragOver:C.dragOver,topDragStart:C.dragStart,topDrop:C.drop,topError:C.error,topFocus:C.focus,topInput:C.input,topKeyDown:C.keyDown,topKeyPress:C.keyPress,topKeyUp:C.keyUp,topLoad:C.load,topMouseDown:C.mouseDown,topMouseMove:C.mouseMove,topMouseOut:C.mouseOut,topMouseOver:C.mouseOver,topMouseUp:C.mouseUp,topPaste:C.paste,topReset:C.reset,topScroll:C.scroll,topSubmit:C.submit,topTouchCancel:C.touchCancel,topTouchEnd:C.touchEnd,topTouchMove:C.touchMove,topTouchStart:C.touchStart,topWheel:C.wheel};for(var b in E)E[b].dependencies=[b];var _={eventTypes:C,executeDispatch:function(e,t,n){var r=o.executeDispatch(e,t,n);r===!1&&(e.stopPropagation(),e.preventDefault())},extractEvents:function(e,t,n,r){var o=E[e];if(!o)return null;var g;switch(e){case y.topInput:case y.topLoad:case y.topError:case y.topReset:case y.topSubmit:g=u;break;case y.topKeyPress:if(0===m(r))return null;case y.topKeyDown:case y.topKeyUp:g=l;break;case y.topBlur:case y.topFocus:g=s;break;case y.topClick:if(2===r.button)return null;case y.topContextMenu:case y.topDoubleClick:case y.topMouseDown:case y.topMouseMove:case y.topMouseOut:case y.topMouseOver:case y.topMouseUp:g=c;break;case y.topDrag:case y.topDragEnd:case y.topDragEnter:case y.topDragExit:case y.topDragLeave:case y.topDragOver:case y.topDragStart:case y.topDrop:g=p;break;case y.topTouchCancel:case y.topTouchEnd:case y.topTouchMove:case y.topTouchStart:g=d;break;case y.topScroll:g=f;break;case y.topWheel:g=h;break;case y.topCopy:case y.topCut:case y.topPaste:g=a}v(g);var C=g.getPooled(o,n,r);return i.accumulateTwoPhaseDispatches(C),C}};t.exports=_},{100:100,120:120,133:133,139:139,15:15,150:150,19:19,20:20,90:90,92:92,93:93,94:94,96:96,97:97,98:98,99:99}],90:[function(e,t,n){"use strict";function r(e,t,n){o.call(this,e,t,n)}var o=e(93),i={clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}};o.augmentClass(r,i),t.exports=r},{93:93}],91:[function(e,t,n){"use strict";function r(e,t,n){o.call(this,e,t,n)}var o=e(93),i={data:null};o.augmentClass(r,i),t.exports=r},{93:93}],92:[function(e,t,n){"use strict";function r(e,t,n){o.call(this,e,t,n)}var o=e(97),i={dataTransfer:null};o.augmentClass(r,i),t.exports=r},{97:97}],93:[function(e,t,n){"use strict";function r(e,t,n){this.dispatchConfig=e,this.dispatchMarker=t,this.nativeEvent=n;var r=this.constructor.Interface;for(var o in r)if(r.hasOwnProperty(o)){var i=r[o];i?this[o]=i(n):this[o]=n[o]}var u=null!=n.defaultPrevented?n.defaultPrevented:n.returnValue===!1;u?this.isDefaultPrevented=a.thatReturnsTrue:this.isDefaultPrevented=a.thatReturnsFalse,this.isPropagationStopped=a.thatReturnsFalse}var o=e(28),i=e(27),a=e(112),u=e(123),s={type:null,target:u,currentTarget:a.thatReturnsNull,eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null};i(r.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e.preventDefault?e.preventDefault():e.returnValue=!1,this.isDefaultPrevented=a.thatReturnsTrue},stopPropagation:function(){var e=this.nativeEvent;e.stopPropagation?e.stopPropagation():e.cancelBubble=!0,this.isPropagationStopped=a.thatReturnsTrue},persist:function(){this.isPersistent=a.thatReturnsTrue},isPersistent:a.thatReturnsFalse,destructor:function(){var e=this.constructor.Interface;for(var t in e)this[t]=null;this.dispatchConfig=null,this.dispatchMarker=null,this.nativeEvent=null}}),r.Interface=s,r.augmentClass=function(e,t){var n=this,r=Object.create(n.prototype);i(r,e.prototype),e.prototype=r,e.prototype.constructor=e,e.Interface=i({},n.Interface,t),e.augmentClass=n.augmentClass,o.addPoolingTo(e,o.threeArgumentPooler)},o.addPoolingTo(r,o.threeArgumentPooler),t.exports=r},{112:112,123:123,27:27,28:28}],94:[function(e,t,n){"use strict";function r(e,t,n){o.call(this,e,t,n)}var o=e(99),i={relatedTarget:null};o.augmentClass(r,i),t.exports=r},{99:99}],95:[function(e,t,n){"use strict";function r(e,t,n){o.call(this,e,t,n)}var o=e(93),i={data:null};o.augmentClass(r,i),t.exports=r},{93:93}],96:[function(e,t,n){"use strict";function r(e,t,n){o.call(this,e,t,n)}var o=e(99),i=e(120),a=e(121),u=e(122),s={key:a,location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:u,charCode:function(e){return"keypress"===e.type?i(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?i(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}};o.augmentClass(r,s),t.exports=r},{120:120,121:121,122:122,99:99}],97:[function(e,t,n){"use strict";function r(e,t,n){o.call(this,e,t,n)}var o=e(99),i=e(102),a=e(122),u={screenX:null,screenY:null,clientX:null,clientY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:a,button:function(e){var t=e.button;return"which"in e?t:2===t?2:4===t?1:0},buttons:null,relatedTarget:function(e){return e.relatedTarget||(e.fromElement===e.srcElement?e.toElement:e.fromElement)},pageX:function(e){return"pageX"in e?e.pageX:e.clientX+i.currentScrollLeft},pageY:function(e){return"pageY"in e?e.pageY:e.clientY+i.currentScrollTop}};o.augmentClass(r,u),t.exports=r},{102:102,122:122,99:99}],98:[function(e,t,n){"use strict";function r(e,t,n){o.call(this,e,t,n)}var o=e(99),i=e(122),a={touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:i};o.augmentClass(r,a),t.exports=r},{122:122,99:99}],99:[function(e,t,n){"use strict";function r(e,t,n){o.call(this,e,t,n)}var o=e(93),i=e(123),a={view:function(e){if(e.view)return e.view;var t=i(e);if(null!=t&&t.window===t)return t;var n=t.ownerDocument;return n?n.defaultView||n.parentWindow:window},detail:function(e){return e.detail||0}};o.augmentClass(r,a),t.exports=r},{123:123,93:93}],100:[function(e,t,n){"use strict";function r(e,t,n){o.call(this,e,t,n)}var o=e(97),i={deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:null,deltaMode:null};o.augmentClass(r,i),t.exports=r},{97:97}],101:[function(e,t,n){"use strict";var r=e(133),o={reinitializeTransaction:function(){this.transactionWrappers=this.getTransactionWrappers(),this.wrapperInitData?this.wrapperInitData.length=0:this.wrapperInitData=[],this._isInTransaction=!1},_isInTransaction:!1,getTransactionWrappers:null,isInTransaction:function(){return!!this._isInTransaction},perform:function(e,t,n,o,i,a,u,s){r(!this.isInTransaction());var l,c;try{this._isInTransaction=!0,l=!0,this.initializeAll(0),c=e.call(t,n,o,i,a,u,s),l=!1}finally{try{if(l)try{this.closeAll(0)}catch(p){}else this.closeAll(0)}finally{this._isInTransaction=!1}}return c},initializeAll:function(e){for(var t=this.transactionWrappers,n=e;n<t.length;n++){var r=t[n];try{this.wrapperInitData[n]=i.OBSERVED_ERROR,this.wrapperInitData[n]=r.initialize?r.initialize.call(this):null}finally{if(this.wrapperInitData[n]===i.OBSERVED_ERROR)try{this.initializeAll(n+1)}catch(o){}}}},closeAll:function(e){r(this.isInTransaction());for(var t=this.transactionWrappers,n=e;n<t.length;n++){var o,a=t[n],u=this.wrapperInitData[n];try{o=!0,u!==i.OBSERVED_ERROR&&a.close&&a.close.call(this,u),o=!1}finally{if(o)try{this.closeAll(n+1)}catch(s){}}}this.wrapperInitData.length=0}},i={Mixin:o,OBSERVED_ERROR:{}};t.exports=i},{133:133}],102:[function(e,t,n){"use strict";var r={currentScrollLeft:0,currentScrollTop:0,refreshScrollValues:function(e){r.currentScrollLeft=e.x,r.currentScrollTop=e.y}};t.exports=r},{}],103:[function(e,t,n){"use strict";function r(e,t){if(o(null!=t),null==e)return t;var n=Array.isArray(e),r=Array.isArray(t);return n&&r?(e.push.apply(e,t),e):n?(e.push(t),e):r?[e].concat(t):[e,t]}var o=e(133);t.exports=r},{133:133}],104:[function(e,t,n){"use strict";function r(e){for(var t=1,n=0,r=0;r<e.length;r++)t=(t+e.charCodeAt(r))%o,n=(n+t)%o;return t|n<<16}var o=65521;t.exports=r},{}],105:[function(e,t,n){function r(e){return e.replace(o,function(e,t){return t.toUpperCase()})}var o=/-(.)/g;t.exports=r},{}],106:[function(e,t,n){"use strict";function r(e){return o(e.replace(i,"ms-"))}var o=e(105),i=/^-ms-/;t.exports=r},{105:105}],107:[function(e,t,n){function r(e,t){return e&&t?e===t?!0:o(e)?!1:o(t)?r(e,t.parentNode):e.contains?e.contains(t):e.compareDocumentPosition?!!(16&e.compareDocumentPosition(t)):!1:!1}var o=e(137);t.exports=r},{137:137}],108:[function(e,t,n){function r(e){return!!e&&("object"==typeof e||"function"==typeof e)&&"length"in e&&!("setInterval"in e)&&"number"!=typeof e.nodeType&&(Array.isArray(e)||"callee"in e||"item"in e)}function o(e){return r(e)?Array.isArray(e)?e.slice():i(e):[e]}var i=e(148);t.exports=o},{148:148}],109:[function(e,t,n){"use strict";function r(e){var t=i.createFactory(e),n=o.createClass({tagName:e.toUpperCase(),displayName:"ReactFullPageComponent"+e,componentWillUnmount:function(){a(!1)},render:function(){return t(this.props)}});return n}var o=e(33),i=e(55),a=e(133);t.exports=r},{133:133,33:33,55:55}],110:[function(e,t,n){function r(e){var t=e.match(c);return t&&t[1].toLowerCase()}function o(e,t){var n=l;s(!!l);var o=r(e),i=o&&u(o);if(i){n.innerHTML=i[1]+e+i[2];for(var c=i[0];c--;)n=n.lastChild}else n.innerHTML=e;var p=n.getElementsByTagName("script");p.length&&(s(t),a(p).forEach(t));for(var d=a(n.childNodes);n.lastChild;)n.removeChild(n.lastChild);return d}var i=e(21),a=e(108),u=e(125),s=e(133),l=i.canUseDOM?document.createElement("div"):null,c=/^\s*<(\w+)/;t.exports=o},{108:108,125:125,133:133,21:21}],111:[function(e,t,n){"use strict";function r(e,t){var n=null==t||"boolean"==typeof t||""===t;if(n)return"";var r=isNaN(t);return r||0===t||i.hasOwnProperty(e)&&i[e]?""+t:("string"==typeof t&&(t=t.trim()),t+"px")}var o=e(4),i=o.isUnitlessNumber;t.exports=r},{4:4}],112:[function(e,t,n){function r(e){return function(){return e}}function o(){}o.thatReturns=r,o.thatReturnsFalse=r(!1),o.thatReturnsTrue=r(!0),o.thatReturnsNull=r(null),o.thatReturnsThis=function(){return this},o.thatReturnsArgument=function(e){return e},t.exports=o},{}],113:[function(e,t,n){"use strict";var r={};t.exports=r},{}],114:[function(e,t,n){"use strict";function r(e){return i[e]}function o(e){return(""+e).replace(a,r)}var i={"&":"&amp;",">":"&gt;","<":"&lt;",'"':"&quot;","'":"&#x27;"},a=/[&><"']/g;t.exports=o},{}],115:[function(e,t,n){"use strict";function r(e){return null==e?null:u(e)?e:o.has(e)?i.getNodeFromInstance(e):(a(null==e.render||"function"!=typeof e.render),void a(!1))}{var o=(e(39),e(65)),i=e(68),a=e(133),u=e(135);e(150)}t.exports=r},{133:133,135:135,150:150,39:39,65:65,68:68}],116:[function(e,t,n){"use strict";function r(e,t,n){var r=e,o=!r.hasOwnProperty(n);o&&null!=t&&(r[n]=t)}function o(e){if(null==e)return e;var t={};return i(e,r,t),t}{var i=e(149);e(150)}t.exports=o},{149:149,150:150}],117:[function(e,t,n){"use strict";function r(e){try{e.focus()}catch(t){}}t.exports=r},{}],118:[function(e,t,n){"use strict";var r=function(e,t,n){Array.isArray(e)?e.forEach(t,n):e&&t.call(n,e)};t.exports=r},{}],119:[function(e,t,n){function r(){try{return document.activeElement||document.body}catch(e){return document.body}}t.exports=r},{}],120:[function(e,t,n){"use strict";function r(e){var t,n=e.keyCode;return"charCode"in e?(t=e.charCode,0===t&&13===n&&(t=13)):t=n,t>=32||13===t?t:0}t.exports=r},{}],121:[function(e,t,n){"use strict";function r(e){if(e.key){var t=i[e.key]||e.key;if("Unidentified"!==t)return t}if("keypress"===e.type){var n=o(e);return 13===n?"Enter":String.fromCharCode(n)}return"keydown"===e.type||"keyup"===e.type?a[e.keyCode]||"Unidentified":""}var o=e(120),i={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},a={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"};t.exports=r},{120:120}],122:[function(e,t,n){"use strict";function r(e){var t=this,n=t.nativeEvent;if(n.getModifierState)return n.getModifierState(e);var r=i[e];return r?!!n[r]:!1}function o(e){return r}var i={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};t.exports=o},{}],123:[function(e,t,n){"use strict";function r(e){var t=e.target||e.srcElement||window;return 3===t.nodeType?t.parentNode:t}t.exports=r},{}],124:[function(e,t,n){"use strict";function r(e){var t=e&&(o&&e[o]||e[i]);return"function"==typeof t?t:void 0}var o="function"==typeof Symbol&&Symbol.iterator,i="@@iterator";t.exports=r},{}],125:[function(e,t,n){function r(e){return i(!!a),d.hasOwnProperty(e)||(e="*"),u.hasOwnProperty(e)||("*"===e?a.innerHTML="<link />":a.innerHTML="<"+e+"></"+e+">",u[e]=!a.firstChild),u[e]?d[e]:null}var o=e(21),i=e(133),a=o.canUseDOM?document.createElement("div"):null,u={circle:!0,clipPath:!0,defs:!0,ellipse:!0,g:!0,line:!0,linearGradient:!0,path:!0,polygon:!0,polyline:!0,radialGradient:!0,rect:!0,stop:!0,text:!0},s=[1,'<select multiple="true">',"</select>"],l=[1,"<table>","</table>"],c=[3,"<table><tbody><tr>","</tr></tbody></table>"],p=[1,"<svg>","</svg>"],d={"*":[1,"?<div>","</div>"],area:[1,"<map>","</map>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],legend:[1,"<fieldset>","</fieldset>"],param:[1,"<object>","</object>"],tr:[2,"<table><tbody>","</tbody></table>"],optgroup:s,option:s,caption:l,colgroup:l,tbody:l,tfoot:l,thead:l,td:c,th:c,circle:p,clipPath:p,defs:p,ellipse:p,g:p,line:p,linearGradient:p,path:p,polygon:p,polyline:p,radialGradient:p,rect:p,stop:p,text:p};t.exports=r},{133:133,21:21}],126:[function(e,t,n){"use strict";function r(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function o(e){for(;e;){if(e.nextSibling)return e.nextSibling;e=e.parentNode}}function i(e,t){for(var n=r(e),i=0,a=0;n;){if(3===n.nodeType){if(a=i+n.textContent.length,t>=i&&a>=t)return{node:n,offset:t-i};i=a}n=r(o(n))}}t.exports=i},{}],127:[function(e,t,n){"use strict";function r(e){return e?e.nodeType===o?e.documentElement:e.firstChild:null}var o=9;t.exports=r},{}],128:[function(e,t,n){"use strict";function r(){return!i&&o.canUseDOM&&(i="textContent"in document.documentElement?"textContent":"innerText"),i}var o=e(21),i=null;t.exports=r},{21:21}],129:[function(e,t,n){"use strict";function r(e){return e===window?{x:window.pageXOffset||document.documentElement.scrollLeft,y:window.pageYOffset||document.documentElement.scrollTop}:{x:e.scrollLeft,y:e.scrollTop}}t.exports=r},{}],130:[function(e,t,n){function r(e){return e.replace(o,"-$1").toLowerCase()}var o=/([A-Z])/g;t.exports=r},{}],131:[function(e,t,n){"use strict";function r(e){return o(e).replace(i,"-ms-")}var o=e(130),i=/^ms-/;t.exports=r},{130:130}],132:[function(e,t,n){"use strict";function r(e){return"function"==typeof e&&"undefined"!=typeof e.prototype&&"function"==typeof e.prototype.mountComponent&&"function"==typeof e.prototype.receiveComponent}function o(e,t){var n;if((null===e||e===!1)&&(e=a.emptyElement),"object"==typeof e){var o=e;n=t===o.type&&"string"==typeof o.type?u.createInternalComponent(o):r(o.type)?new o.type(o):new c}else"string"==typeof e||"number"==typeof e?n=u.createInstanceForText(e):l(!1);return n.construct(e),n._mountIndex=0,n._mountImage=null,n}var i=e(37),a=e(57),u=e(71),s=e(27),l=e(133),c=(e(150),function(){});s(c.prototype,i.Mixin,{_instantiateReactComponent:o}),t.exports=o},{133:133,150:150,27:27,37:37,57:57,71:71}],133:[function(e,t,n){"use strict";var r=function(e,t,n,r,o,i,a,u){if(!e){var s;if(void 0===t)s=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var l=[n,r,o,i,a,u],c=0;s=new Error("Invariant Violation: "+t.replace(/%s/g,function(){return l[c++]}))}throw s.framesToPop=1,s}};t.exports=r},{}],134:[function(e,t,n){"use strict";function r(e,t){if(!i.canUseDOM||t&&!("addEventListener"in document))return!1;var n="on"+e,r=n in document;if(!r){var a=document.createElement("div");a.setAttribute(n,"return;"),r="function"==typeof a[n]}return!r&&o&&"wheel"===e&&(r=document.implementation.hasFeature("Events.wheel","3.0")),r}var o,i=e(21);i.canUseDOM&&(o=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("","")!==!0),t.exports=r},{21:21}],135:[function(e,t,n){function r(e){return!(!e||!("function"==typeof Node?e instanceof Node:"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName))}t.exports=r},{}],136:[function(e,t,n){"use strict";function r(e){return e&&("INPUT"===e.nodeName&&o[e.type]||"TEXTAREA"===e.nodeName)}var o={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};t.exports=r},{}],137:[function(e,t,n){function r(e){return o(e)&&3==e.nodeType}var o=e(135);t.exports=r},{135:135}],138:[function(e,t,n){"use strict";var r=e(133),o=function(e){var t,n={};r(e instanceof Object&&!Array.isArray(e));for(t in e)e.hasOwnProperty(t)&&(n[t]=t);return n};t.exports=o},{133:133}],139:[function(e,t,n){var r=function(e){var t;for(t in e)if(e.hasOwnProperty(t))return t;return null};t.exports=r},{}],140:[function(e,t,n){"use strict";function r(e,t,n){if(!e)return null;var r={};for(var i in e)o.call(e,i)&&(r[i]=t.call(n,e[i],i,e));return r}var o=Object.prototype.hasOwnProperty;t.exports=r},{}],141:[function(e,t,n){"use strict";function r(e){var t={};return function(n){return t.hasOwnProperty(n)||(t[n]=e.call(this,n)),t[n]}}t.exports=r},{}],142:[function(e,t,n){"use strict";function r(e){return i(o.isValidElement(e)),e}var o=e(55),i=e(133);t.exports=r},{133:133,55:55}],143:[function(e,t,n){"use strict";function r(e){return'"'+o(e)+'"'}var o=e(114);t.exports=r},{114:114}],144:[function(e,t,n){"use strict";var r=e(21),o=/^[ \r\n\t\f]/,i=/<(!--|link|noscript|meta|script|style)[ \r\n\t\f\/>]/,a=function(e,t){e.innerHTML=t};if("undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction&&(a=function(e,t){MSApp.execUnsafeLocalFunction(function(){e.innerHTML=t})}),r.canUseDOM){var u=document.createElement("div");u.innerHTML=" ",""===u.innerHTML&&(a=function(e,t){if(e.parentNode&&e.parentNode.replaceChild(e,e),o.test(t)||"<"===t[0]&&i.test(t)){e.innerHTML="\ufeff"+t;var n=e.firstChild;1===n.data.length?e.removeChild(n):n.deleteData(0,1)}else e.innerHTML=t})}t.exports=a},{21:21}],145:[function(e,t,n){"use strict";var r=e(21),o=e(114),i=e(144),a=function(e,t){e.textContent=t};r.canUseDOM&&("textContent"in document.documentElement||(a=function(e,t){i(e,o(t))})),t.exports=a},{114:114,144:144,21:21}],146:[function(e,t,n){"use strict";function r(e,t){if(e===t)return!0;var n;for(n in e)if(e.hasOwnProperty(n)&&(!t.hasOwnProperty(n)||e[n]!==t[n]))return!1;for(n in t)if(t.hasOwnProperty(n)&&!e.hasOwnProperty(n))return!1;return!0}t.exports=r},{}],147:[function(e,t,n){"use strict";function r(e,t){if(null!=e&&null!=t){var n=typeof e,r=typeof t;if("string"===n||"number"===n)return"string"===r||"number"===r;if("object"===r&&e.type===t.type&&e.key===t.key){var o=e._owner===t._owner;return o}}return!1}e(150);t.exports=r},{150:150}],148:[function(e,t,n){function r(e){var t=e.length;if(o(!Array.isArray(e)&&("object"==typeof e||"function"==typeof e)),o("number"==typeof t),o(0===t||t-1 in e),e.hasOwnProperty)try{return Array.prototype.slice.call(e)}catch(n){}for(var r=Array(t),i=0;t>i;i++)r[i]=e[i];return r}var o=e(133);t.exports=r},{133:133}],149:[function(e,t,n){"use strict";function r(e){return v[e]}function o(e,t){return e&&null!=e.key?a(e.key):t.toString(36)}function i(e){return(""+e).replace(g,r)}function a(e){return"$"+i(e)}function u(e,t,n,r,i){var s=typeof e;if(("undefined"===s||"boolean"===s)&&(e=null),null===e||"string"===s||"number"===s||l.isValidElement(e))return r(i,e,""===t?h+o(e,0):t,n),1;var p,v,g,y=0;if(Array.isArray(e))for(var C=0;C<e.length;C++)p=e[C],v=(""!==t?t+m:h)+o(p,C),g=n+y,y+=u(p,v,g,r,i);else{var E=d(e);if(E){var b,_=E.call(e);if(E!==e.entries)for(var x=0;!(b=_.next()).done;)p=b.value,v=(""!==t?t+m:h)+o(p,x++),g=n+y,y+=u(p,v,g,r,i);else for(;!(b=_.next()).done;){var D=b.value;D&&(p=D[1],v=(""!==t?t+m:h)+a(D[0])+m+o(p,0),g=n+y,y+=u(p,v,g,r,i))}}else if("object"===s){f(1!==e.nodeType);var M=c.extract(e);for(var N in M)M.hasOwnProperty(N)&&(p=M[N],v=(""!==t?t+m:h)+a(N)+m+o(p,0),g=n+y,y+=u(p,v,g,r,i))}}return y}function s(e,t,n){return null==e?0:u(e,"",0,t,n)}var l=e(55),c=e(61),p=e(64),d=e(124),f=e(133),h=(e(150),p.SEPARATOR),m=":",v={"=":"=0",".":"=1",":":"=2"},g=/[=.:]/g;t.exports=s},{124:124,133:133,150:150,55:55,61:61,64:64}],150:[function(e,t,n){"use strict";var r=e(112),o=r;t.exports=o},{112:112}]},{},[1])(1)}); \ No newline at end of file
diff --git a/app/comp-fe/js/underscore-min.js b/app/comp-fe/js/underscore-min.js
new file mode 100644
index 0000000..11f1d96
--- /dev/null
+++ b/app/comp-fe/js/underscore-min.js
@@ -0,0 +1,6 @@
+// Underscore.js 1.7.0
+// http://underscorejs.org
+// (c) 2009-2014 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+// Underscore may be freely distributed under the MIT license.
+(function(){var n=this,t=n._,r=Array.prototype,e=Object.prototype,u=Function.prototype,i=r.push,a=r.slice,o=r.concat,l=e.toString,c=e.hasOwnProperty,f=Array.isArray,s=Object.keys,p=u.bind,h=function(n){return n instanceof h?n:this instanceof h?void(this._wrapped=n):new h(n)};"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=h),exports._=h):n._=h,h.VERSION="1.7.0";var g=function(n,t,r){if(t===void 0)return n;switch(null==r?3:r){case 1:return function(r){return n.call(t,r)};case 2:return function(r,e){return n.call(t,r,e)};case 3:return function(r,e,u){return n.call(t,r,e,u)};case 4:return function(r,e,u,i){return n.call(t,r,e,u,i)}}return function(){return n.apply(t,arguments)}};h.iteratee=function(n,t,r){return null==n?h.identity:h.isFunction(n)?g(n,t,r):h.isObject(n)?h.matches(n):h.property(n)},h.each=h.forEach=function(n,t,r){if(null==n)return n;t=g(t,r);var e,u=n.length;if(u===+u)for(e=0;u>e;e++)t(n[e],e,n);else{var i=h.keys(n);for(e=0,u=i.length;u>e;e++)t(n[i[e]],i[e],n)}return n},h.map=h.collect=function(n,t,r){if(null==n)return[];t=h.iteratee(t,r);for(var e,u=n.length!==+n.length&&h.keys(n),i=(u||n).length,a=Array(i),o=0;i>o;o++)e=u?u[o]:o,a[o]=t(n[e],e,n);return a};var v="Reduce of empty array with no initial value";h.reduce=h.foldl=h.inject=function(n,t,r,e){null==n&&(n=[]),t=g(t,e,4);var u,i=n.length!==+n.length&&h.keys(n),a=(i||n).length,o=0;if(arguments.length<3){if(!a)throw new TypeError(v);r=n[i?i[o++]:o++]}for(;a>o;o++)u=i?i[o]:o,r=t(r,n[u],u,n);return r},h.reduceRight=h.foldr=function(n,t,r,e){null==n&&(n=[]),t=g(t,e,4);var u,i=n.length!==+n.length&&h.keys(n),a=(i||n).length;if(arguments.length<3){if(!a)throw new TypeError(v);r=n[i?i[--a]:--a]}for(;a--;)u=i?i[a]:a,r=t(r,n[u],u,n);return r},h.find=h.detect=function(n,t,r){var e;return t=h.iteratee(t,r),h.some(n,function(n,r,u){return t(n,r,u)?(e=n,!0):void 0}),e},h.filter=h.select=function(n,t,r){var e=[];return null==n?e:(t=h.iteratee(t,r),h.each(n,function(n,r,u){t(n,r,u)&&e.push(n)}),e)},h.reject=function(n,t,r){return h.filter(n,h.negate(h.iteratee(t)),r)},h.every=h.all=function(n,t,r){if(null==n)return!0;t=h.iteratee(t,r);var e,u,i=n.length!==+n.length&&h.keys(n),a=(i||n).length;for(e=0;a>e;e++)if(u=i?i[e]:e,!t(n[u],u,n))return!1;return!0},h.some=h.any=function(n,t,r){if(null==n)return!1;t=h.iteratee(t,r);var e,u,i=n.length!==+n.length&&h.keys(n),a=(i||n).length;for(e=0;a>e;e++)if(u=i?i[e]:e,t(n[u],u,n))return!0;return!1},h.contains=h.include=function(n,t){return null==n?!1:(n.length!==+n.length&&(n=h.values(n)),h.indexOf(n,t)>=0)},h.invoke=function(n,t){var r=a.call(arguments,2),e=h.isFunction(t);return h.map(n,function(n){return(e?t:n[t]).apply(n,r)})},h.pluck=function(n,t){return h.map(n,h.property(t))},h.where=function(n,t){return h.filter(n,h.matches(t))},h.findWhere=function(n,t){return h.find(n,h.matches(t))},h.max=function(n,t,r){var e,u,i=-1/0,a=-1/0;if(null==t&&null!=n){n=n.length===+n.length?n:h.values(n);for(var o=0,l=n.length;l>o;o++)e=n[o],e>i&&(i=e)}else t=h.iteratee(t,r),h.each(n,function(n,r,e){u=t(n,r,e),(u>a||u===-1/0&&i===-1/0)&&(i=n,a=u)});return i},h.min=function(n,t,r){var e,u,i=1/0,a=1/0;if(null==t&&null!=n){n=n.length===+n.length?n:h.values(n);for(var o=0,l=n.length;l>o;o++)e=n[o],i>e&&(i=e)}else t=h.iteratee(t,r),h.each(n,function(n,r,e){u=t(n,r,e),(a>u||1/0===u&&1/0===i)&&(i=n,a=u)});return i},h.shuffle=function(n){for(var t,r=n&&n.length===+n.length?n:h.values(n),e=r.length,u=Array(e),i=0;e>i;i++)t=h.random(0,i),t!==i&&(u[i]=u[t]),u[t]=r[i];return u},h.sample=function(n,t,r){return null==t||r?(n.length!==+n.length&&(n=h.values(n)),n[h.random(n.length-1)]):h.shuffle(n).slice(0,Math.max(0,t))},h.sortBy=function(n,t,r){return t=h.iteratee(t,r),h.pluck(h.map(n,function(n,r,e){return{value:n,index:r,criteria:t(n,r,e)}}).sort(function(n,t){var r=n.criteria,e=t.criteria;if(r!==e){if(r>e||r===void 0)return 1;if(e>r||e===void 0)return-1}return n.index-t.index}),"value")};var m=function(n){return function(t,r,e){var u={};return r=h.iteratee(r,e),h.each(t,function(e,i){var a=r(e,i,t);n(u,e,a)}),u}};h.groupBy=m(function(n,t,r){h.has(n,r)?n[r].push(t):n[r]=[t]}),h.indexBy=m(function(n,t,r){n[r]=t}),h.countBy=m(function(n,t,r){h.has(n,r)?n[r]++:n[r]=1}),h.sortedIndex=function(n,t,r,e){r=h.iteratee(r,e,1);for(var u=r(t),i=0,a=n.length;a>i;){var o=i+a>>>1;r(n[o])<u?i=o+1:a=o}return i},h.toArray=function(n){return n?h.isArray(n)?a.call(n):n.length===+n.length?h.map(n,h.identity):h.values(n):[]},h.size=function(n){return null==n?0:n.length===+n.length?n.length:h.keys(n).length},h.partition=function(n,t,r){t=h.iteratee(t,r);var e=[],u=[];return h.each(n,function(n,r,i){(t(n,r,i)?e:u).push(n)}),[e,u]},h.first=h.head=h.take=function(n,t,r){return null==n?void 0:null==t||r?n[0]:0>t?[]:a.call(n,0,t)},h.initial=function(n,t,r){return a.call(n,0,Math.max(0,n.length-(null==t||r?1:t)))},h.last=function(n,t,r){return null==n?void 0:null==t||r?n[n.length-1]:a.call(n,Math.max(n.length-t,0))},h.rest=h.tail=h.drop=function(n,t,r){return a.call(n,null==t||r?1:t)},h.compact=function(n){return h.filter(n,h.identity)};var y=function(n,t,r,e){if(t&&h.every(n,h.isArray))return o.apply(e,n);for(var u=0,a=n.length;a>u;u++){var l=n[u];h.isArray(l)||h.isArguments(l)?t?i.apply(e,l):y(l,t,r,e):r||e.push(l)}return e};h.flatten=function(n,t){return y(n,t,!1,[])},h.without=function(n){return h.difference(n,a.call(arguments,1))},h.uniq=h.unique=function(n,t,r,e){if(null==n)return[];h.isBoolean(t)||(e=r,r=t,t=!1),null!=r&&(r=h.iteratee(r,e));for(var u=[],i=[],a=0,o=n.length;o>a;a++){var l=n[a];if(t)a&&i===l||u.push(l),i=l;else if(r){var c=r(l,a,n);h.indexOf(i,c)<0&&(i.push(c),u.push(l))}else h.indexOf(u,l)<0&&u.push(l)}return u},h.union=function(){return h.uniq(y(arguments,!0,!0,[]))},h.intersection=function(n){if(null==n)return[];for(var t=[],r=arguments.length,e=0,u=n.length;u>e;e++){var i=n[e];if(!h.contains(t,i)){for(var a=1;r>a&&h.contains(arguments[a],i);a++);a===r&&t.push(i)}}return t},h.difference=function(n){var t=y(a.call(arguments,1),!0,!0,[]);return h.filter(n,function(n){return!h.contains(t,n)})},h.zip=function(n){if(null==n)return[];for(var t=h.max(arguments,"length").length,r=Array(t),e=0;t>e;e++)r[e]=h.pluck(arguments,e);return r},h.object=function(n,t){if(null==n)return{};for(var r={},e=0,u=n.length;u>e;e++)t?r[n[e]]=t[e]:r[n[e][0]]=n[e][1];return r},h.indexOf=function(n,t,r){if(null==n)return-1;var e=0,u=n.length;if(r){if("number"!=typeof r)return e=h.sortedIndex(n,t),n[e]===t?e:-1;e=0>r?Math.max(0,u+r):r}for(;u>e;e++)if(n[e]===t)return e;return-1},h.lastIndexOf=function(n,t,r){if(null==n)return-1;var e=n.length;for("number"==typeof r&&(e=0>r?e+r+1:Math.min(e,r+1));--e>=0;)if(n[e]===t)return e;return-1},h.range=function(n,t,r){arguments.length<=1&&(t=n||0,n=0),r=r||1;for(var e=Math.max(Math.ceil((t-n)/r),0),u=Array(e),i=0;e>i;i++,n+=r)u[i]=n;return u};var d=function(){};h.bind=function(n,t){var r,e;if(p&&n.bind===p)return p.apply(n,a.call(arguments,1));if(!h.isFunction(n))throw new TypeError("Bind must be called on a function");return r=a.call(arguments,2),e=function(){if(!(this instanceof e))return n.apply(t,r.concat(a.call(arguments)));d.prototype=n.prototype;var u=new d;d.prototype=null;var i=n.apply(u,r.concat(a.call(arguments)));return h.isObject(i)?i:u}},h.partial=function(n){var t=a.call(arguments,1);return function(){for(var r=0,e=t.slice(),u=0,i=e.length;i>u;u++)e[u]===h&&(e[u]=arguments[r++]);for(;r<arguments.length;)e.push(arguments[r++]);return n.apply(this,e)}},h.bindAll=function(n){var t,r,e=arguments.length;if(1>=e)throw new Error("bindAll must be passed function names");for(t=1;e>t;t++)r=arguments[t],n[r]=h.bind(n[r],n);return n},h.memoize=function(n,t){var r=function(e){var u=r.cache,i=t?t.apply(this,arguments):e;return h.has(u,i)||(u[i]=n.apply(this,arguments)),u[i]};return r.cache={},r},h.delay=function(n,t){var r=a.call(arguments,2);return setTimeout(function(){return n.apply(null,r)},t)},h.defer=function(n){return h.delay.apply(h,[n,1].concat(a.call(arguments,1)))},h.throttle=function(n,t,r){var e,u,i,a=null,o=0;r||(r={});var l=function(){o=r.leading===!1?0:h.now(),a=null,i=n.apply(e,u),a||(e=u=null)};return function(){var c=h.now();o||r.leading!==!1||(o=c);var f=t-(c-o);return e=this,u=arguments,0>=f||f>t?(clearTimeout(a),a=null,o=c,i=n.apply(e,u),a||(e=u=null)):a||r.trailing===!1||(a=setTimeout(l,f)),i}},h.debounce=function(n,t,r){var e,u,i,a,o,l=function(){var c=h.now()-a;t>c&&c>0?e=setTimeout(l,t-c):(e=null,r||(o=n.apply(i,u),e||(i=u=null)))};return function(){i=this,u=arguments,a=h.now();var c=r&&!e;return e||(e=setTimeout(l,t)),c&&(o=n.apply(i,u),i=u=null),o}},h.wrap=function(n,t){return h.partial(t,n)},h.negate=function(n){return function(){return!n.apply(this,arguments)}},h.compose=function(){var n=arguments,t=n.length-1;return function(){for(var r=t,e=n[t].apply(this,arguments);r--;)e=n[r].call(this,e);return e}},h.after=function(n,t){return function(){return--n<1?t.apply(this,arguments):void 0}},h.before=function(n,t){var r;return function(){return--n>0?r=t.apply(this,arguments):t=null,r}},h.once=h.partial(h.before,2),h.keys=function(n){if(!h.isObject(n))return[];if(s)return s(n);var t=[];for(var r in n)h.has(n,r)&&t.push(r);return t},h.values=function(n){for(var t=h.keys(n),r=t.length,e=Array(r),u=0;r>u;u++)e[u]=n[t[u]];return e},h.pairs=function(n){for(var t=h.keys(n),r=t.length,e=Array(r),u=0;r>u;u++)e[u]=[t[u],n[t[u]]];return e},h.invert=function(n){for(var t={},r=h.keys(n),e=0,u=r.length;u>e;e++)t[n[r[e]]]=r[e];return t},h.functions=h.methods=function(n){var t=[];for(var r in n)h.isFunction(n[r])&&t.push(r);return t.sort()},h.extend=function(n){if(!h.isObject(n))return n;for(var t,r,e=1,u=arguments.length;u>e;e++){t=arguments[e];for(r in t)c.call(t,r)&&(n[r]=t[r])}return n},h.pick=function(n,t,r){var e,u={};if(null==n)return u;if(h.isFunction(t)){t=g(t,r);for(e in n){var i=n[e];t(i,e,n)&&(u[e]=i)}}else{var l=o.apply([],a.call(arguments,1));n=new Object(n);for(var c=0,f=l.length;f>c;c++)e=l[c],e in n&&(u[e]=n[e])}return u},h.omit=function(n,t,r){if(h.isFunction(t))t=h.negate(t);else{var e=h.map(o.apply([],a.call(arguments,1)),String);t=function(n,t){return!h.contains(e,t)}}return h.pick(n,t,r)},h.defaults=function(n){if(!h.isObject(n))return n;for(var t=1,r=arguments.length;r>t;t++){var e=arguments[t];for(var u in e)n[u]===void 0&&(n[u]=e[u])}return n},h.clone=function(n){return h.isObject(n)?h.isArray(n)?n.slice():h.extend({},n):n},h.tap=function(n,t){return t(n),n};var b=function(n,t,r,e){if(n===t)return 0!==n||1/n===1/t;if(null==n||null==t)return n===t;n instanceof h&&(n=n._wrapped),t instanceof h&&(t=t._wrapped);var u=l.call(n);if(u!==l.call(t))return!1;switch(u){case"[object RegExp]":case"[object String]":return""+n==""+t;case"[object Number]":return+n!==+n?+t!==+t:0===+n?1/+n===1/t:+n===+t;case"[object Date]":case"[object Boolean]":return+n===+t}if("object"!=typeof n||"object"!=typeof t)return!1;for(var i=r.length;i--;)if(r[i]===n)return e[i]===t;var a=n.constructor,o=t.constructor;if(a!==o&&"constructor"in n&&"constructor"in t&&!(h.isFunction(a)&&a instanceof a&&h.isFunction(o)&&o instanceof o))return!1;r.push(n),e.push(t);var c,f;if("[object Array]"===u){if(c=n.length,f=c===t.length)for(;c--&&(f=b(n[c],t[c],r,e)););}else{var s,p=h.keys(n);if(c=p.length,f=h.keys(t).length===c)for(;c--&&(s=p[c],f=h.has(t,s)&&b(n[s],t[s],r,e)););}return r.pop(),e.pop(),f};h.isEqual=function(n,t){return b(n,t,[],[])},h.isEmpty=function(n){if(null==n)return!0;if(h.isArray(n)||h.isString(n)||h.isArguments(n))return 0===n.length;for(var t in n)if(h.has(n,t))return!1;return!0},h.isElement=function(n){return!(!n||1!==n.nodeType)},h.isArray=f||function(n){return"[object Array]"===l.call(n)},h.isObject=function(n){var t=typeof n;return"function"===t||"object"===t&&!!n},h.each(["Arguments","Function","String","Number","Date","RegExp"],function(n){h["is"+n]=function(t){return l.call(t)==="[object "+n+"]"}}),h.isArguments(arguments)||(h.isArguments=function(n){return h.has(n,"callee")}),"function"!=typeof/./&&(h.isFunction=function(n){return"function"==typeof n||!1}),h.isFinite=function(n){return isFinite(n)&&!isNaN(parseFloat(n))},h.isNaN=function(n){return h.isNumber(n)&&n!==+n},h.isBoolean=function(n){return n===!0||n===!1||"[object Boolean]"===l.call(n)},h.isNull=function(n){return null===n},h.isUndefined=function(n){return n===void 0},h.has=function(n,t){return null!=n&&c.call(n,t)},h.noConflict=function(){return n._=t,this},h.identity=function(n){return n},h.constant=function(n){return function(){return n}},h.noop=function(){},h.property=function(n){return function(t){return t[n]}},h.matches=function(n){var t=h.pairs(n),r=t.length;return function(n){if(null==n)return!r;n=new Object(n);for(var e=0;r>e;e++){var u=t[e],i=u[0];if(u[1]!==n[i]||!(i in n))return!1}return!0}},h.times=function(n,t,r){var e=Array(Math.max(0,n));t=g(t,r,1);for(var u=0;n>u;u++)e[u]=t(u);return e},h.random=function(n,t){return null==t&&(t=n,n=0),n+Math.floor(Math.random()*(t-n+1))},h.now=Date.now||function(){return(new Date).getTime()};var _={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},w=h.invert(_),j=function(n){var t=function(t){return n[t]},r="(?:"+h.keys(n).join("|")+")",e=RegExp(r),u=RegExp(r,"g");return function(n){return n=null==n?"":""+n,e.test(n)?n.replace(u,t):n}};h.escape=j(_),h.unescape=j(w),h.result=function(n,t){if(null==n)return void 0;var r=n[t];return h.isFunction(r)?n[t]():r};var x=0;h.uniqueId=function(n){var t=++x+"";return n?n+t:t},h.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var A=/(.)^/,k={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},O=/\\|'|\r|\n|\u2028|\u2029/g,F=function(n){return"\\"+k[n]};h.template=function(n,t,r){!t&&r&&(t=r),t=h.defaults({},t,h.templateSettings);var e=RegExp([(t.escape||A).source,(t.interpolate||A).source,(t.evaluate||A).source].join("|")+"|$","g"),u=0,i="__p+='";n.replace(e,function(t,r,e,a,o){return i+=n.slice(u,o).replace(O,F),u=o+t.length,r?i+="'+\n((__t=("+r+"))==null?'':_.escape(__t))+\n'":e?i+="'+\n((__t=("+e+"))==null?'':__t)+\n'":a&&(i+="';\n"+a+"\n__p+='"),t}),i+="';\n",t.variable||(i="with(obj||{}){\n"+i+"}\n"),i="var __t,__p='',__j=Array.prototype.join,"+"print=function(){__p+=__j.call(arguments,'');};\n"+i+"return __p;\n";try{var a=new Function(t.variable||"obj","_",i)}catch(o){throw o.source=i,o}var l=function(n){return a.call(this,n,h)},c=t.variable||"obj";return l.source="function("+c+"){\n"+i+"}",l},h.chain=function(n){var t=h(n);return t._chain=!0,t};var E=function(n){return this._chain?h(n).chain():n};h.mixin=function(n){h.each(h.functions(n),function(t){var r=h[t]=n[t];h.prototype[t]=function(){var n=[this._wrapped];return i.apply(n,arguments),E.call(this,r.apply(h,n))}})},h.mixin(h),h.each(["pop","push","reverse","shift","sort","splice","unshift"],function(n){var t=r[n];h.prototype[n]=function(){var r=this._wrapped;return t.apply(r,arguments),"shift"!==n&&"splice"!==n||0!==r.length||delete r[0],E.call(this,r)}}),h.each(["concat","join","slice"],function(n){var t=r[n];h.prototype[n]=function(){return E.call(this,t.apply(this._wrapped,arguments))}}),h.prototype.value=function(){return this._wrapped},"function"==typeof define&&define.amd&&define("underscore",[],function(){return h})}).call(this);
+//# sourceMappingURL=underscore-min.map \ No newline at end of file
diff --git a/app/comp-fe/js/underscore-min.map b/app/comp-fe/js/underscore-min.map
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/app/comp-fe/js/underscore-min.map
diff --git a/app/comp-fe/js/underscore.js b/app/comp-fe/js/underscore.js
new file mode 100644
index 0000000..b50115d
--- /dev/null
+++ b/app/comp-fe/js/underscore.js
@@ -0,0 +1,1276 @@
+// Underscore.js 1.5.2
+// http://underscorejs.org
+// (c) 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+// Underscore may be freely distributed under the MIT license.
+
+(function() {
+
+ // Baseline setup
+ // --------------
+
+ // Establish the root object, `window` in the browser, or `exports` on the server.
+ var root = this;
+
+ // Save the previous value of the `_` variable.
+ var previousUnderscore = root._;
+
+ // Establish the object that gets returned to break out of a loop iteration.
+ var breaker = {};
+
+ // Save bytes in the minified (but not gzipped) version:
+ var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = Function.prototype;
+
+ // Create quick reference variables for speed access to core prototypes.
+ var
+ push = ArrayProto.push,
+ slice = ArrayProto.slice,
+ concat = ArrayProto.concat,
+ toString = ObjProto.toString,
+ hasOwnProperty = ObjProto.hasOwnProperty;
+
+ // All **ECMAScript 5** native function implementations that we hope to use
+ // are declared here.
+ var
+ nativeForEach = ArrayProto.forEach,
+ nativeMap = ArrayProto.map,
+ nativeReduce = ArrayProto.reduce,
+ nativeReduceRight = ArrayProto.reduceRight,
+ nativeFilter = ArrayProto.filter,
+ nativeEvery = ArrayProto.every,
+ nativeSome = ArrayProto.some,
+ nativeIndexOf = ArrayProto.indexOf,
+ nativeLastIndexOf = ArrayProto.lastIndexOf,
+ nativeIsArray = Array.isArray,
+ nativeKeys = Object.keys,
+ nativeBind = FuncProto.bind;
+
+ // Create a safe reference to the Underscore object for use below.
+ var _ = function(obj) {
+ if (obj instanceof _) return obj;
+ if (!(this instanceof _)) return new _(obj);
+ this._wrapped = obj;
+ };
+
+ // Export the Underscore object for **Node.js**, with
+ // backwards-compatibility for the old `require()` API. If we're in
+ // the browser, add `_` as a global object via a string identifier,
+ // for Closure Compiler "advanced" mode.
+ if (typeof exports !== 'undefined') {
+ if (typeof module !== 'undefined' && module.exports) {
+ exports = module.exports = _;
+ }
+ exports._ = _;
+ } else {
+ root._ = _;
+ }
+
+ // Current version.
+ _.VERSION = '1.5.2';
+
+ // Collection Functions
+ // --------------------
+
+ // The cornerstone, an `each` implementation, aka `forEach`.
+ // Handles objects with the built-in `forEach`, arrays, and raw objects.
+ // Delegates to **ECMAScript 5**'s native `forEach` if available.
+ var each = _.each = _.forEach = function(obj, iterator, context) {
+ if (obj == null) return;
+ if (nativeForEach && obj.forEach === nativeForEach) {
+ obj.forEach(iterator, context);
+ } else if (obj.length === +obj.length) {
+ for (var i = 0, length = obj.length; i < length; i++) {
+ if (iterator.call(context, obj[i], i, obj) === breaker) return;
+ }
+ } else {
+ var keys = _.keys(obj);
+ for (var i = 0, length = keys.length; i < length; i++) {
+ if (iterator.call(context, obj[keys[i]], keys[i], obj) === breaker) return;
+ }
+ }
+ };
+
+ // Return the results of applying the iterator to each element.
+ // Delegates to **ECMAScript 5**'s native `map` if available.
+ _.map = _.collect = function(obj, iterator, context) {
+ var results = [];
+ if (obj == null) return results;
+ if (nativeMap && obj.map === nativeMap) return obj.map(iterator, context);
+ each(obj, function(value, index, list) {
+ results.push(iterator.call(context, value, index, list));
+ });
+ return results;
+ };
+
+ var reduceError = 'Reduce of empty array with no initial value';
+
+ // **Reduce** builds up a single result from a list of values, aka `inject`,
+ // or `foldl`. Delegates to **ECMAScript 5**'s native `reduce` if available.
+ _.reduce = _.foldl = _.inject = function(obj, iterator, memo, context) {
+ var initial = arguments.length > 2;
+ if (obj == null) obj = [];
+ if (nativeReduce && obj.reduce === nativeReduce) {
+ if (context) iterator = _.bind(iterator, context);
+ return initial ? obj.reduce(iterator, memo) : obj.reduce(iterator);
+ }
+ each(obj, function(value, index, list) {
+ if (!initial) {
+ memo = value;
+ initial = true;
+ } else {
+ memo = iterator.call(context, memo, value, index, list);
+ }
+ });
+ if (!initial) throw new TypeError(reduceError);
+ return memo;
+ };
+
+ // The right-associative version of reduce, also known as `foldr`.
+ // Delegates to **ECMAScript 5**'s native `reduceRight` if available.
+ _.reduceRight = _.foldr = function(obj, iterator, memo, context) {
+ var initial = arguments.length > 2;
+ if (obj == null) obj = [];
+ if (nativeReduceRight && obj.reduceRight === nativeReduceRight) {
+ if (context) iterator = _.bind(iterator, context);
+ return initial ? obj.reduceRight(iterator, memo) : obj.reduceRight(iterator);
+ }
+ var length = obj.length;
+ if (length !== +length) {
+ var keys = _.keys(obj);
+ length = keys.length;
+ }
+ each(obj, function(value, index, list) {
+ index = keys ? keys[--length] : --length;
+ if (!initial) {
+ memo = obj[index];
+ initial = true;
+ } else {
+ memo = iterator.call(context, memo, obj[index], index, list);
+ }
+ });
+ if (!initial) throw new TypeError(reduceError);
+ return memo;
+ };
+
+ // Return the first value which passes a truth test. Aliased as `detect`.
+ _.find = _.detect = function(obj, iterator, context) {
+ var result;
+ any(obj, function(value, index, list) {
+ if (iterator.call(context, value, index, list)) {
+ result = value;
+ return true;
+ }
+ });
+ return result;
+ };
+
+ // Return all the elements that pass a truth test.
+ // Delegates to **ECMAScript 5**'s native `filter` if available.
+ // Aliased as `select`.
+ _.filter = _.select = function(obj, iterator, context) {
+ var results = [];
+ if (obj == null) return results;
+ if (nativeFilter && obj.filter === nativeFilter) return obj.filter(iterator, context);
+ each(obj, function(value, index, list) {
+ if (iterator.call(context, value, index, list)) results.push(value);
+ });
+ return results;
+ };
+
+ // Return all the elements for which a truth test fails.
+ _.reject = function(obj, iterator, context) {
+ return _.filter(obj, function(value, index, list) {
+ return !iterator.call(context, value, index, list);
+ }, context);
+ };
+
+ // Determine whether all of the elements match a truth test.
+ // Delegates to **ECMAScript 5**'s native `every` if available.
+ // Aliased as `all`.
+ _.every = _.all = function(obj, iterator, context) {
+ iterator || (iterator = _.identity);
+ var result = true;
+ if (obj == null) return result;
+ if (nativeEvery && obj.every === nativeEvery) return obj.every(iterator, context);
+ each(obj, function(value, index, list) {
+ if (!(result = result && iterator.call(context, value, index, list))) return breaker;
+ });
+ return !!result;
+ };
+
+ // Determine if at least one element in the object matches a truth test.
+ // Delegates to **ECMAScript 5**'s native `some` if available.
+ // Aliased as `any`.
+ var any = _.some = _.any = function(obj, iterator, context) {
+ iterator || (iterator = _.identity);
+ var result = false;
+ if (obj == null) return result;
+ if (nativeSome && obj.some === nativeSome) return obj.some(iterator, context);
+ each(obj, function(value, index, list) {
+ if (result || (result = iterator.call(context, value, index, list))) return breaker;
+ });
+ return !!result;
+ };
+
+ // Determine if the array or object contains a given value (using `===`).
+ // Aliased as `include`.
+ _.contains = _.include = function(obj, target) {
+ if (obj == null) return false;
+ if (nativeIndexOf && obj.indexOf === nativeIndexOf) return obj.indexOf(target) != -1;
+ return any(obj, function(value) {
+ return value === target;
+ });
+ };
+
+ // Invoke a method (with arguments) on every item in a collection.
+ _.invoke = function(obj, method) {
+ var args = slice.call(arguments, 2);
+ var isFunc = _.isFunction(method);
+ return _.map(obj, function(value) {
+ return (isFunc ? method : value[method]).apply(value, args);
+ });
+ };
+
+ // Convenience version of a common use case of `map`: fetching a property.
+ _.pluck = function(obj, key) {
+ return _.map(obj, function(value){ return value[key]; });
+ };
+
+ // Convenience version of a common use case of `filter`: selecting only objects
+ // containing specific `key:value` pairs.
+ _.where = function(obj, attrs, first) {
+ if (_.isEmpty(attrs)) return first ? void 0 : [];
+ return _[first ? 'find' : 'filter'](obj, function(value) {
+ for (var key in attrs) {
+ if (attrs[key] !== value[key]) return false;
+ }
+ return true;
+ });
+ };
+
+ // Convenience version of a common use case of `find`: getting the first object
+ // containing specific `key:value` pairs.
+ _.findWhere = function(obj, attrs) {
+ return _.where(obj, attrs, true);
+ };
+
+ // Return the maximum element or (element-based computation).
+ // Can't optimize arrays of integers longer than 65,535 elements.
+ // See [WebKit Bug 80797](https://bugs.webkit.org/show_bug.cgi?id=80797)
+ _.max = function(obj, iterator, context) {
+ if (!iterator && _.isArray(obj) && obj[0] === +obj[0] && obj.length < 65535) {
+ return Math.max.apply(Math, obj);
+ }
+ if (!iterator && _.isEmpty(obj)) return -Infinity;
+ var result = {computed : -Infinity, value: -Infinity};
+ each(obj, function(value, index, list) {
+ var computed = iterator ? iterator.call(context, value, index, list) : value;
+ computed > result.computed && (result = {value : value, computed : computed});
+ });
+ return result.value;
+ };
+
+ // Return the minimum element (or element-based computation).
+ _.min = function(obj, iterator, context) {
+ if (!iterator && _.isArray(obj) && obj[0] === +obj[0] && obj.length < 65535) {
+ return Math.min.apply(Math, obj);
+ }
+ if (!iterator && _.isEmpty(obj)) return Infinity;
+ var result = {computed : Infinity, value: Infinity};
+ each(obj, function(value, index, list) {
+ var computed = iterator ? iterator.call(context, value, index, list) : value;
+ computed < result.computed && (result = {value : value, computed : computed});
+ });
+ return result.value;
+ };
+
+ // Shuffle an array, using the modern version of the
+ // [Fisher-Yates shuffle](http://en.wikipedia.org/wiki/Fisher–Yates_shuffle).
+ _.shuffle = function(obj) {
+ var rand;
+ var index = 0;
+ var shuffled = [];
+ each(obj, function(value) {
+ rand = _.random(index++);
+ shuffled[index - 1] = shuffled[rand];
+ shuffled[rand] = value;
+ });
+ return shuffled;
+ };
+
+ // Sample **n** random values from an array.
+ // If **n** is not specified, returns a single random element from the array.
+ // The internal `guard` argument allows it to work with `map`.
+ _.sample = function(obj, n, guard) {
+ if (arguments.length < 2 || guard) {
+ return obj[_.random(obj.length - 1)];
+ }
+ return _.shuffle(obj).slice(0, Math.max(0, n));
+ };
+
+ // An internal function to generate lookup iterators.
+ var lookupIterator = function(value) {
+ return _.isFunction(value) ? value : function(obj){ return obj[value]; };
+ };
+
+ // Sort the object's values by a criterion produced by an iterator.
+ _.sortBy = function(obj, value, context) {
+ var iterator = lookupIterator(value);
+ return _.pluck(_.map(obj, function(value, index, list) {
+ return {
+ value: value,
+ index: index,
+ criteria: iterator.call(context, value, index, list)
+ };
+ }).sort(function(left, right) {
+ var a = left.criteria;
+ var b = right.criteria;
+ if (a !== b) {
+ if (a > b || a === void 0) return 1;
+ if (a < b || b === void 0) return -1;
+ }
+ return left.index - right.index;
+ }), 'value');
+ };
+
+ // An internal function used for aggregate "group by" operations.
+ var group = function(behavior) {
+ return function(obj, value, context) {
+ var result = {};
+ var iterator = value == null ? _.identity : lookupIterator(value);
+ each(obj, function(value, index) {
+ var key = iterator.call(context, value, index, obj);
+ behavior(result, key, value);
+ });
+ return result;
+ };
+ };
+
+ // Groups the object's values by a criterion. Pass either a string attribute
+ // to group by, or a function that returns the criterion.
+ _.groupBy = group(function(result, key, value) {
+ (_.has(result, key) ? result[key] : (result[key] = [])).push(value);
+ });
+
+ // Indexes the object's values by a criterion, similar to `groupBy`, but for
+ // when you know that your index values will be unique.
+ _.indexBy = group(function(result, key, value) {
+ result[key] = value;
+ });
+
+ // Counts instances of an object that group by a certain criterion. Pass
+ // either a string attribute to count by, or a function that returns the
+ // criterion.
+ _.countBy = group(function(result, key) {
+ _.has(result, key) ? result[key]++ : result[key] = 1;
+ });
+
+ // Use a comparator function to figure out the smallest index at which
+ // an object should be inserted so as to maintain order. Uses binary search.
+ _.sortedIndex = function(array, obj, iterator, context) {
+ iterator = iterator == null ? _.identity : lookupIterator(iterator);
+ var value = iterator.call(context, obj);
+ var low = 0, high = array.length;
+ while (low < high) {
+ var mid = (low + high) >>> 1;
+ iterator.call(context, array[mid]) < value ? low = mid + 1 : high = mid;
+ }
+ return low;
+ };
+
+ // Safely create a real, live array from anything iterable.
+ _.toArray = function(obj) {
+ if (!obj) return [];
+ if (_.isArray(obj)) return slice.call(obj);
+ if (obj.length === +obj.length) return _.map(obj, _.identity);
+ return _.values(obj);
+ };
+
+ // Return the number of elements in an object.
+ _.size = function(obj) {
+ if (obj == null) return 0;
+ return (obj.length === +obj.length) ? obj.length : _.keys(obj).length;
+ };
+
+ // Array Functions
+ // ---------------
+
+ // Get the first element of an array. Passing **n** will return the first N
+ // values in the array. Aliased as `head` and `take`. The **guard** check
+ // allows it to work with `_.map`.
+ _.first = _.head = _.take = function(array, n, guard) {
+ if (array == null) return void 0;
+ return (n == null) || guard ? array[0] : slice.call(array, 0, n);
+ };
+
+ // Returns everything but the last entry of the array. Especially useful on
+ // the arguments object. Passing **n** will return all the values in
+ // the array, excluding the last N. The **guard** check allows it to work with
+ // `_.map`.
+ _.initial = function(array, n, guard) {
+ return slice.call(array, 0, array.length - ((n == null) || guard ? 1 : n));
+ };
+
+ // Get the last element of an array. Passing **n** will return the last N
+ // values in the array. The **guard** check allows it to work with `_.map`.
+ _.last = function(array, n, guard) {
+ if (array == null) return void 0;
+ if ((n == null) || guard) {
+ return array[array.length - 1];
+ } else {
+ return slice.call(array, Math.max(array.length - n, 0));
+ }
+ };
+
+ // Returns everything but the first entry of the array. Aliased as `tail` and `drop`.
+ // Especially useful on the arguments object. Passing an **n** will return
+ // the rest N values in the array. The **guard**
+ // check allows it to work with `_.map`.
+ _.rest = _.tail = _.drop = function(array, n, guard) {
+ return slice.call(array, (n == null) || guard ? 1 : n);
+ };
+
+ // Trim out all falsy values from an array.
+ _.compact = function(array) {
+ return _.filter(array, _.identity);
+ };
+
+ // Internal implementation of a recursive `flatten` function.
+ var flatten = function(input, shallow, output) {
+ if (shallow && _.every(input, _.isArray)) {
+ return concat.apply(output, input);
+ }
+ each(input, function(value) {
+ if (_.isArray(value) || _.isArguments(value)) {
+ shallow ? push.apply(output, value) : flatten(value, shallow, output);
+ } else {
+ output.push(value);
+ }
+ });
+ return output;
+ };
+
+ // Flatten out an array, either recursively (by default), or just one level.
+ _.flatten = function(array, shallow) {
+ return flatten(array, shallow, []);
+ };
+
+ // Return a version of the array that does not contain the specified value(s).
+ _.without = function(array) {
+ return _.difference(array, slice.call(arguments, 1));
+ };
+
+ // Produce a duplicate-free version of the array. If the array has already
+ // been sorted, you have the option of using a faster algorithm.
+ // Aliased as `unique`.
+ _.uniq = _.unique = function(array, isSorted, iterator, context) {
+ if (_.isFunction(isSorted)) {
+ context = iterator;
+ iterator = isSorted;
+ isSorted = false;
+ }
+ var initial = iterator ? _.map(array, iterator, context) : array;
+ var results = [];
+ var seen = [];
+ each(initial, function(value, index) {
+ if (isSorted ? (!index || seen[seen.length - 1] !== value) : !_.contains(seen, value)) {
+ seen.push(value);
+ results.push(array[index]);
+ }
+ });
+ return results;
+ };
+
+ // Produce an array that contains the union: each distinct element from all of
+ // the passed-in arrays.
+ _.union = function() {
+ return _.uniq(_.flatten(arguments, true));
+ };
+
+ // Produce an array that contains every item shared between all the
+ // passed-in arrays.
+ _.intersection = function(array) {
+ var rest = slice.call(arguments, 1);
+ return _.filter(_.uniq(array), function(item) {
+ return _.every(rest, function(other) {
+ return _.indexOf(other, item) >= 0;
+ });
+ });
+ };
+
+ // Take the difference between one array and a number of other arrays.
+ // Only the elements present in just the first array will remain.
+ _.difference = function(array) {
+ var rest = concat.apply(ArrayProto, slice.call(arguments, 1));
+ return _.filter(array, function(value){ return !_.contains(rest, value); });
+ };
+
+ // Zip together multiple lists into a single array -- elements that share
+ // an index go together.
+ _.zip = function() {
+ var length = _.max(_.pluck(arguments, "length").concat(0));
+ var results = new Array(length);
+ for (var i = 0; i < length; i++) {
+ results[i] = _.pluck(arguments, '' + i);
+ }
+ return results;
+ };
+
+ // Converts lists into objects. Pass either a single array of `[key, value]`
+ // pairs, or two parallel arrays of the same length -- one of keys, and one of
+ // the corresponding values.
+ _.object = function(list, values) {
+ if (list == null) return {};
+ var result = {};
+ for (var i = 0, length = list.length; i < length; i++) {
+ if (values) {
+ result[list[i]] = values[i];
+ } else {
+ result[list[i][0]] = list[i][1];
+ }
+ }
+ return result;
+ };
+
+ // If the browser doesn't supply us with indexOf (I'm looking at you, **MSIE**),
+ // we need this function. Return the position of the first occurrence of an
+ // item in an array, or -1 if the item is not included in the array.
+ // Delegates to **ECMAScript 5**'s native `indexOf` if available.
+ // If the array is large and already in sort order, pass `true`
+ // for **isSorted** to use binary search.
+ _.indexOf = function(array, item, isSorted) {
+ if (array == null) return -1;
+ var i = 0, length = array.length;
+ if (isSorted) {
+ if (typeof isSorted == 'number') {
+ i = (isSorted < 0 ? Math.max(0, length + isSorted) : isSorted);
+ } else {
+ i = _.sortedIndex(array, item);
+ return array[i] === item ? i : -1;
+ }
+ }
+ if (nativeIndexOf && array.indexOf === nativeIndexOf) return array.indexOf(item, isSorted);
+ for (; i < length; i++) if (array[i] === item) return i;
+ return -1;
+ };
+
+ // Delegates to **ECMAScript 5**'s native `lastIndexOf` if available.
+ _.lastIndexOf = function(array, item, from) {
+ if (array == null) return -1;
+ var hasIndex = from != null;
+ if (nativeLastIndexOf && array.lastIndexOf === nativeLastIndexOf) {
+ return hasIndex ? array.lastIndexOf(item, from) : array.lastIndexOf(item);
+ }
+ var i = (hasIndex ? from : array.length);
+ while (i--) if (array[i] === item) return i;
+ return -1;
+ };
+
+ // Generate an integer Array containing an arithmetic progression. A port of
+ // the native Python `range()` function. See
+ // [the Python documentation](http://docs.python.org/library/functions.html#range).
+ _.range = function(start, stop, step) {
+ if (arguments.length <= 1) {
+ stop = start || 0;
+ start = 0;
+ }
+ step = arguments[2] || 1;
+
+ var length = Math.max(Math.ceil((stop - start) / step), 0);
+ var idx = 0;
+ var range = new Array(length);
+
+ while(idx < length) {
+ range[idx++] = start;
+ start += step;
+ }
+
+ return range;
+ };
+
+ // Function (ahem) Functions
+ // ------------------
+
+ // Reusable constructor function for prototype setting.
+ var ctor = function(){};
+
+ // Create a function bound to a given object (assigning `this`, and arguments,
+ // optionally). Delegates to **ECMAScript 5**'s native `Function.bind` if
+ // available.
+ _.bind = function(func, context) {
+ var args, bound;
+ if (nativeBind && func.bind === nativeBind) return nativeBind.apply(func, slice.call(arguments, 1));
+ if (!_.isFunction(func)) throw new TypeError;
+ args = slice.call(arguments, 2);
+ return bound = function() {
+ if (!(this instanceof bound)) return func.apply(context, args.concat(slice.call(arguments)));
+ ctor.prototype = func.prototype;
+ var self = new ctor;
+ ctor.prototype = null;
+ var result = func.apply(self, args.concat(slice.call(arguments)));
+ if (Object(result) === result) return result;
+ return self;
+ };
+ };
+
+ // Partially apply a function by creating a version that has had some of its
+ // arguments pre-filled, without changing its dynamic `this` context.
+ _.partial = function(func) {
+ var args = slice.call(arguments, 1);
+ return function() {
+ return func.apply(this, args.concat(slice.call(arguments)));
+ };
+ };
+
+ // Bind all of an object's methods to that object. Useful for ensuring that
+ // all callbacks defined on an object belong to it.
+ _.bindAll = function(obj) {
+ var funcs = slice.call(arguments, 1);
+ if (funcs.length === 0) throw new Error("bindAll must be passed function names");
+ each(funcs, function(f) { obj[f] = _.bind(obj[f], obj); });
+ return obj;
+ };
+
+ // Memoize an expensive function by storing its results.
+ _.memoize = function(func, hasher) {
+ var memo = {};
+ hasher || (hasher = _.identity);
+ return function() {
+ var key = hasher.apply(this, arguments);
+ return _.has(memo, key) ? memo[key] : (memo[key] = func.apply(this, arguments));
+ };
+ };
+
+ // Delays a function for the given number of milliseconds, and then calls
+ // it with the arguments supplied.
+ _.delay = function(func, wait) {
+ var args = slice.call(arguments, 2);
+ return setTimeout(function(){ return func.apply(null, args); }, wait);
+ };
+
+ // Defers a function, scheduling it to run after the current call stack has
+ // cleared.
+ _.defer = function(func) {
+ return _.delay.apply(_, [func, 1].concat(slice.call(arguments, 1)));
+ };
+
+ // Returns a function, that, when invoked, will only be triggered at most once
+ // during a given window of time. Normally, the throttled function will run
+ // as much as it can, without ever going more than once per `wait` duration;
+ // but if you'd like to disable the execution on the leading edge, pass
+ // `{leading: false}`. To disable execution on the trailing edge, ditto.
+ _.throttle = function(func, wait, options) {
+ var context, args, result;
+ var timeout = null;
+ var previous = 0;
+ options || (options = {});
+ var later = function() {
+ previous = options.leading === false ? 0 : new Date;
+ timeout = null;
+ result = func.apply(context, args);
+ };
+ return function() {
+ var now = new Date;
+ if (!previous && options.leading === false) previous = now;
+ var remaining = wait - (now - previous);
+ context = this;
+ args = arguments;
+ if (remaining <= 0) {
+ clearTimeout(timeout);
+ timeout = null;
+ previous = now;
+ result = func.apply(context, args);
+ } else if (!timeout && options.trailing !== false) {
+ timeout = setTimeout(later, remaining);
+ }
+ return result;
+ };
+ };
+
+ // Returns a function, that, as long as it continues to be invoked, will not
+ // be triggered. The function will be called after it stops being called for
+ // N milliseconds. If `immediate` is passed, trigger the function on the
+ // leading edge, instead of the trailing.
+ _.debounce = function(func, wait, immediate) {
+ var timeout, args, context, timestamp, result;
+ return function() {
+ context = this;
+ args = arguments;
+ timestamp = new Date();
+ var later = function() {
+ var last = (new Date()) - timestamp;
+ if (last < wait) {
+ timeout = setTimeout(later, wait - last);
+ } else {
+ timeout = null;
+ if (!immediate) result = func.apply(context, args);
+ }
+ };
+ var callNow = immediate && !timeout;
+ if (!timeout) {
+ timeout = setTimeout(later, wait);
+ }
+ if (callNow) result = func.apply(context, args);
+ return result;
+ };
+ };
+
+ // Returns a function that will be executed at most one time, no matter how
+ // often you call it. Useful for lazy initialization.
+ _.once = function(func) {
+ var ran = false, memo;
+ return function() {
+ if (ran) return memo;
+ ran = true;
+ memo = func.apply(this, arguments);
+ func = null;
+ return memo;
+ };
+ };
+
+ // Returns the first function passed as an argument to the second,
+ // allowing you to adjust arguments, run code before and after, and
+ // conditionally execute the original function.
+ _.wrap = function(func, wrapper) {
+ return function() {
+ var args = [func];
+ push.apply(args, arguments);
+ return wrapper.apply(this, args);
+ };
+ };
+
+ // Returns a function that is the composition of a list of functions, each
+ // consuming the return value of the function that follows.
+ _.compose = function() {
+ var funcs = arguments;
+ return function() {
+ var args = arguments;
+ for (var i = funcs.length - 1; i >= 0; i--) {
+ args = [funcs[i].apply(this, args)];
+ }
+ return args[0];
+ };
+ };
+
+ // Returns a function that will only be executed after being called N times.
+ _.after = function(times, func) {
+ return function() {
+ if (--times < 1) {
+ return func.apply(this, arguments);
+ }
+ };
+ };
+
+ // Object Functions
+ // ----------------
+
+ // Retrieve the names of an object's properties.
+ // Delegates to **ECMAScript 5**'s native `Object.keys`
+ _.keys = nativeKeys || function(obj) {
+ if (obj !== Object(obj)) throw new TypeError('Invalid object');
+ var keys = [];
+ for (var key in obj) if (_.has(obj, key)) keys.push(key);
+ return keys;
+ };
+
+ // Retrieve the values of an object's properties.
+ _.values = function(obj) {
+ var keys = _.keys(obj);
+ var length = keys.length;
+ var values = new Array(length);
+ for (var i = 0; i < length; i++) {
+ values[i] = obj[keys[i]];
+ }
+ return values;
+ };
+
+ // Convert an object into a list of `[key, value]` pairs.
+ _.pairs = function(obj) {
+ var keys = _.keys(obj);
+ var length = keys.length;
+ var pairs = new Array(length);
+ for (var i = 0; i < length; i++) {
+ pairs[i] = [keys[i], obj[keys[i]]];
+ }
+ return pairs;
+ };
+
+ // Invert the keys and values of an object. The values must be serializable.
+ _.invert = function(obj) {
+ var result = {};
+ var keys = _.keys(obj);
+ for (var i = 0, length = keys.length; i < length; i++) {
+ result[obj[keys[i]]] = keys[i];
+ }
+ return result;
+ };
+
+ // Return a sorted list of the function names available on the object.
+ // Aliased as `methods`
+ _.functions = _.methods = function(obj) {
+ var names = [];
+ for (var key in obj) {
+ if (_.isFunction(obj[key])) names.push(key);
+ }
+ return names.sort();
+ };
+
+ // Extend a given object with all the properties in passed-in object(s).
+ _.extend = function(obj) {
+ each(slice.call(arguments, 1), function(source) {
+ if (source) {
+ for (var prop in source) {
+ obj[prop] = source[prop];
+ }
+ }
+ });
+ return obj;
+ };
+
+ // Return a copy of the object only containing the whitelisted properties.
+ _.pick = function(obj) {
+ var copy = {};
+ var keys = concat.apply(ArrayProto, slice.call(arguments, 1));
+ each(keys, function(key) {
+ if (key in obj) copy[key] = obj[key];
+ });
+ return copy;
+ };
+
+ // Return a copy of the object without the blacklisted properties.
+ _.omit = function(obj) {
+ var copy = {};
+ var keys = concat.apply(ArrayProto, slice.call(arguments, 1));
+ for (var key in obj) {
+ if (!_.contains(keys, key)) copy[key] = obj[key];
+ }
+ return copy;
+ };
+
+ // Fill in a given object with default properties.
+ _.defaults = function(obj) {
+ each(slice.call(arguments, 1), function(source) {
+ if (source) {
+ for (var prop in source) {
+ if (obj[prop] === void 0) obj[prop] = source[prop];
+ }
+ }
+ });
+ return obj;
+ };
+
+ // Create a (shallow-cloned) duplicate of an object.
+ _.clone = function(obj) {
+ if (!_.isObject(obj)) return obj;
+ return _.isArray(obj) ? obj.slice() : _.extend({}, obj);
+ };
+
+ // Invokes interceptor with the obj, and then returns obj.
+ // The primary purpose of this method is to "tap into" a method chain, in
+ // order to perform operations on intermediate results within the chain.
+ _.tap = function(obj, interceptor) {
+ interceptor(obj);
+ return obj;
+ };
+
+ // Internal recursive comparison function for `isEqual`.
+ var eq = function(a, b, aStack, bStack) {
+ // Identical objects are equal. `0 === -0`, but they aren't identical.
+ // See the [Harmony `egal` proposal](http://wiki.ecmascript.org/doku.php?id=harmony:egal).
+ if (a === b) return a !== 0 || 1 / a == 1 / b;
+ // A strict comparison is necessary because `null == undefined`.
+ if (a == null || b == null) return a === b;
+ // Unwrap any wrapped objects.
+ if (a instanceof _) a = a._wrapped;
+ if (b instanceof _) b = b._wrapped;
+ // Compare `[[Class]]` names.
+ var className = toString.call(a);
+ if (className != toString.call(b)) return false;
+ switch (className) {
+ // Strings, numbers, dates, and booleans are compared by value.
+ case '[object String]':
+ // Primitives and their corresponding object wrappers are equivalent; thus, `"5"` is
+ // equivalent to `new String("5")`.
+ return a == String(b);
+ case '[object Number]':
+ // `NaN`s are equivalent, but non-reflexive. An `egal` comparison is performed for
+ // other numeric values.
+ return a != +a ? b != +b : (a == 0 ? 1 / a == 1 / b : a == +b);
+ case '[object Date]':
+ case '[object Boolean]':
+ // Coerce dates and booleans to numeric primitive values. Dates are compared by their
+ // millisecond representations. Note that invalid dates with millisecond representations
+ // of `NaN` are not equivalent.
+ return +a == +b;
+ // RegExps are compared by their source patterns and flags.
+ case '[object RegExp]':
+ return a.source == b.source &&
+ a.global == b.global &&
+ a.multiline == b.multiline &&
+ a.ignoreCase == b.ignoreCase;
+ }
+ if (typeof a != 'object' || typeof b != 'object') return false;
+ // Assume equality for cyclic structures. The algorithm for detecting cyclic
+ // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.
+ var length = aStack.length;
+ while (length--) {
+ // Linear search. Performance is inversely proportional to the number of
+ // unique nested structures.
+ if (aStack[length] == a) return bStack[length] == b;
+ }
+ // Objects with different constructors are not equivalent, but `Object`s
+ // from different frames are.
+ var aCtor = a.constructor, bCtor = b.constructor;
+ if (aCtor !== bCtor && !(_.isFunction(aCtor) && (aCtor instanceof aCtor) &&
+ _.isFunction(bCtor) && (bCtor instanceof bCtor))) {
+ return false;
+ }
+ // Add the first object to the stack of traversed objects.
+ aStack.push(a);
+ bStack.push(b);
+ var size = 0, result = true;
+ // Recursively compare objects and arrays.
+ if (className == '[object Array]') {
+ // Compare array lengths to determine if a deep comparison is necessary.
+ size = a.length;
+ result = size == b.length;
+ if (result) {
+ // Deep compare the contents, ignoring non-numeric properties.
+ while (size--) {
+ if (!(result = eq(a[size], b[size], aStack, bStack))) break;
+ }
+ }
+ } else {
+ // Deep compare objects.
+ for (var key in a) {
+ if (_.has(a, key)) {
+ // Count the expected number of properties.
+ size++;
+ // Deep compare each member.
+ if (!(result = _.has(b, key) && eq(a[key], b[key], aStack, bStack))) break;
+ }
+ }
+ // Ensure that both objects contain the same number of properties.
+ if (result) {
+ for (key in b) {
+ if (_.has(b, key) && !(size--)) break;
+ }
+ result = !size;
+ }
+ }
+ // Remove the first object from the stack of traversed objects.
+ aStack.pop();
+ bStack.pop();
+ return result;
+ };
+
+ // Perform a deep comparison to check if two objects are equal.
+ _.isEqual = function(a, b) {
+ return eq(a, b, [], []);
+ };
+
+ // Is a given array, string, or object empty?
+ // An "empty" object has no enumerable own-properties.
+ _.isEmpty = function(obj) {
+ if (obj == null) return true;
+ if (_.isArray(obj) || _.isString(obj)) return obj.length === 0;
+ for (var key in obj) if (_.has(obj, key)) return false;
+ return true;
+ };
+
+ // Is a given value a DOM element?
+ _.isElement = function(obj) {
+ return !!(obj && obj.nodeType === 1);
+ };
+
+ // Is a given value an array?
+ // Delegates to ECMA5's native Array.isArray
+ _.isArray = nativeIsArray || function(obj) {
+ return toString.call(obj) == '[object Array]';
+ };
+
+ // Is a given variable an object?
+ _.isObject = function(obj) {
+ return obj === Object(obj);
+ };
+
+ // Add some isType methods: isArguments, isFunction, isString, isNumber, isDate, isRegExp.
+ each(['Arguments', 'Function', 'String', 'Number', 'Date', 'RegExp'], function(name) {
+ _['is' + name] = function(obj) {
+ return toString.call(obj) == '[object ' + name + ']';
+ };
+ });
+
+ // Define a fallback version of the method in browsers (ahem, IE), where
+ // there isn't any inspectable "Arguments" type.
+ if (!_.isArguments(arguments)) {
+ _.isArguments = function(obj) {
+ return !!(obj && _.has(obj, 'callee'));
+ };
+ }
+
+ // Optimize `isFunction` if appropriate.
+ if (typeof (/./) !== 'function') {
+ _.isFunction = function(obj) {
+ return typeof obj === 'function';
+ };
+ }
+
+ // Is a given object a finite number?
+ _.isFinite = function(obj) {
+ return isFinite(obj) && !isNaN(parseFloat(obj));
+ };
+
+ // Is the given value `NaN`? (NaN is the only number which does not equal itself).
+ _.isNaN = function(obj) {
+ return _.isNumber(obj) && obj != +obj;
+ };
+
+ // Is a given value a boolean?
+ _.isBoolean = function(obj) {
+ return obj === true || obj === false || toString.call(obj) == '[object Boolean]';
+ };
+
+ // Is a given value equal to null?
+ _.isNull = function(obj) {
+ return obj === null;
+ };
+
+ // Is a given variable undefined?
+ _.isUndefined = function(obj) {
+ return obj === void 0;
+ };
+
+ // Shortcut function for checking if an object has a given property directly
+ // on itself (in other words, not on a prototype).
+ _.has = function(obj, key) {
+ return hasOwnProperty.call(obj, key);
+ };
+
+ // Utility Functions
+ // -----------------
+
+ // Run Underscore.js in *noConflict* mode, returning the `_` variable to its
+ // previous owner. Returns a reference to the Underscore object.
+ _.noConflict = function() {
+ root._ = previousUnderscore;
+ return this;
+ };
+
+ // Keep the identity function around for default iterators.
+ _.identity = function(value) {
+ return value;
+ };
+
+ // Run a function **n** times.
+ _.times = function(n, iterator, context) {
+ var accum = Array(Math.max(0, n));
+ for (var i = 0; i < n; i++) accum[i] = iterator.call(context, i);
+ return accum;
+ };
+
+ // Return a random integer between min and max (inclusive).
+ _.random = function(min, max) {
+ if (max == null) {
+ max = min;
+ min = 0;
+ }
+ return min + Math.floor(Math.random() * (max - min + 1));
+ };
+
+ // List of HTML entities for escaping.
+ var entityMap = {
+ escape: {
+ '&': '&amp;',
+ '<': '&lt;',
+ '>': '&gt;',
+ '"': '&quot;',
+ "'": '&#x27;'
+ }
+ };
+ entityMap.unescape = _.invert(entityMap.escape);
+
+ // Regexes containing the keys and values listed immediately above.
+ var entityRegexes = {
+ escape: new RegExp('[' + _.keys(entityMap.escape).join('') + ']', 'g'),
+ unescape: new RegExp('(' + _.keys(entityMap.unescape).join('|') + ')', 'g')
+ };
+
+ // Functions for escaping and unescaping strings to/from HTML interpolation.
+ _.each(['escape', 'unescape'], function(method) {
+ _[method] = function(string) {
+ if (string == null) return '';
+ return ('' + string).replace(entityRegexes[method], function(match) {
+ return entityMap[method][match];
+ });
+ };
+ });
+
+ // If the value of the named `property` is a function then invoke it with the
+ // `object` as context; otherwise, return it.
+ _.result = function(object, property) {
+ if (object == null) return void 0;
+ var value = object[property];
+ return _.isFunction(value) ? value.call(object) : value;
+ };
+
+ // Add your own custom functions to the Underscore object.
+ _.mixin = function(obj) {
+ each(_.functions(obj), function(name) {
+ var func = _[name] = obj[name];
+ _.prototype[name] = function() {
+ var args = [this._wrapped];
+ push.apply(args, arguments);
+ return result.call(this, func.apply(_, args));
+ };
+ });
+ };
+
+ // Generate a unique integer id (unique within the entire client session).
+ // Useful for temporary DOM ids.
+ var idCounter = 0;
+ _.uniqueId = function(prefix) {
+ var id = ++idCounter + '';
+ return prefix ? prefix + id : id;
+ };
+
+ // By default, Underscore uses ERB-style template delimiters, change the
+ // following template settings to use alternative delimiters.
+ _.templateSettings = {
+ evaluate : /<%([\s\S]+?)%>/g,
+ interpolate : /<%=([\s\S]+?)%>/g,
+ escape : /<%-([\s\S]+?)%>/g
+ };
+
+ // When customizing `templateSettings`, if you don't want to define an
+ // interpolation, evaluation or escaping regex, we need one that is
+ // guaranteed not to match.
+ var noMatch = /(.)^/;
+
+ // Certain characters need to be escaped so that they can be put into a
+ // string literal.
+ var escapes = {
+ "'": "'",
+ '\\': '\\',
+ '\r': 'r',
+ '\n': 'n',
+ '\t': 't',
+ '\u2028': 'u2028',
+ '\u2029': 'u2029'
+ };
+
+ var escaper = /\\|'|\r|\n|\t|\u2028|\u2029/g;
+
+ // JavaScript micro-templating, similar to John Resig's implementation.
+ // Underscore templating handles arbitrary delimiters, preserves whitespace,
+ // and correctly escapes quotes within interpolated code.
+ _.template = function(text, data, settings) {
+ var render;
+ settings = _.defaults({}, settings, _.templateSettings);
+
+ // Combine delimiters into one regular expression via alternation.
+ var matcher = new RegExp([
+ (settings.escape || noMatch).source,
+ (settings.interpolate || noMatch).source,
+ (settings.evaluate || noMatch).source
+ ].join('|') + '|$', 'g');
+
+ // Compile the template source, escaping string literals appropriately.
+ var index = 0;
+ var source = "__p+='";
+ text.replace(matcher, function(match, escape, interpolate, evaluate, offset) {
+ source += text.slice(index, offset)
+ .replace(escaper, function(match) { return '\\' + escapes[match]; });
+
+ if (escape) {
+ source += "'+\n((__t=(" + escape + "))==null?'':_.escape(__t))+\n'";
+ }
+ if (interpolate) {
+ source += "'+\n((__t=(" + interpolate + "))==null?'':__t)+\n'";
+ }
+ if (evaluate) {
+ source += "';\n" + evaluate + "\n__p+='";
+ }
+ index = offset + match.length;
+ return match;
+ });
+ source += "';\n";
+
+ // If a variable is not specified, place data values in local scope.
+ if (!settings.variable) source = 'with(obj||{}){\n' + source + '}\n';
+
+ source = "var __t,__p='',__j=Array.prototype.join," +
+ "print=function(){__p+=__j.call(arguments,'');};\n" +
+ source + "return __p;\n";
+
+ try {
+ render = new Function(settings.variable || 'obj', '_', source);
+ } catch (e) {
+ e.source = source;
+ throw e;
+ }
+
+ if (data) return render(data, _);
+ var template = function(data) {
+ return render.call(this, data, _);
+ };
+
+ // Provide the compiled function source as a convenience for precompilation.
+ template.source = 'function(' + (settings.variable || 'obj') + '){\n' + source + '}';
+
+ return template;
+ };
+
+ // Add a "chain" function, which will delegate to the wrapper.
+ _.chain = function(obj) {
+ return _(obj).chain();
+ };
+
+ // OOP
+ // ---------------
+ // If Underscore is called as a function, it returns a wrapped object that
+ // can be used OO-style. This wrapper holds altered versions of all the
+ // underscore functions. Wrapped objects may be chained.
+
+ // Helper function to continue chaining intermediate results.
+ var result = function(obj) {
+ return this._chain ? _(obj).chain() : obj;
+ };
+
+ // Add all of the Underscore functions to the wrapper object.
+ _.mixin(_);
+
+ // Add all mutator Array functions to the wrapper.
+ each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) {
+ var method = ArrayProto[name];
+ _.prototype[name] = function() {
+ var obj = this._wrapped;
+ method.apply(obj, arguments);
+ if ((name == 'shift' || name == 'splice') && obj.length === 0) delete obj[0];
+ return result.call(this, obj);
+ };
+ });
+
+ // Add all accessor Array functions to the wrapper.
+ each(['concat', 'join', 'slice'], function(name) {
+ var method = ArrayProto[name];
+ _.prototype[name] = function() {
+ return result.call(this, method.apply(this._wrapped, arguments));
+ };
+ });
+
+ _.extend(_.prototype, {
+
+ // Start chaining a wrapped Underscore object.
+ chain: function() {
+ this._chain = true;
+ return this;
+ },
+
+ // Extracts the result from a wrapped and chained object.
+ value: function() {
+ return this._wrapped;
+ }
+
+ });
+
+}).call(this);
diff --git a/app/comp-fe/styles/bootstrap.css b/app/comp-fe/styles/bootstrap.css
new file mode 100644
index 0000000..fb15e3d
--- /dev/null
+++ b/app/comp-fe/styles/bootstrap.css
@@ -0,0 +1,6584 @@
+/*!
+ * Bootstrap v3.3.4 (http://getbootstrap.com)
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+
+/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
+html {
+ font-family: sans-serif;
+ -webkit-text-size-adjust: 100%;
+ -ms-text-size-adjust: 100%;
+}
+body {
+ margin: 0;
+}
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+main,
+menu,
+nav,
+section,
+summary {
+ display: block;
+}
+audio,
+canvas,
+progress,
+video {
+ display: inline-block;
+ vertical-align: baseline;
+}
+audio:not([controls]) {
+ display: none;
+ height: 0;
+}
+[hidden],
+template {
+ display: none;
+}
+a {
+ background-color: transparent;
+}
+a:active,
+a:hover {
+ outline: 0;
+}
+abbr[title] {
+ border-bottom: 1px dotted;
+}
+b,
+strong {
+ font-weight: bold;
+}
+dfn {
+ font-style: italic;
+}
+h1 {
+ margin: .67em 0;
+ font-size: 2em;
+}
+mark {
+ color: #000;
+ background: #ff0;
+}
+small {
+ font-size: 80%;
+}
+sub,
+sup {
+ position: relative;
+ font-size: 75%;
+ line-height: 0;
+ vertical-align: baseline;
+}
+sup {
+ top: -.5em;
+}
+sub {
+ bottom: -.25em;
+}
+img {
+ border: 0;
+}
+svg:not(:root) {
+ overflow: hidden;
+}
+figure {
+ margin: 1em 40px;
+}
+hr {
+ height: 0;
+ -webkit-box-sizing: content-box;
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+}
+pre {
+ overflow: auto;
+}
+code,
+kbd,
+pre,
+samp {
+ font-family: monospace, monospace;
+ font-size: 1em;
+}
+button,
+input,
+optgroup,
+select,
+textarea {
+ margin: 0;
+ font: inherit;
+ color: inherit;
+}
+button {
+ overflow: visible;
+}
+button,
+select {
+ text-transform: none;
+}
+button,
+html input[type="button"],
+input[type="reset"],
+input[type="submit"] {
+ -webkit-appearance: button;
+ cursor: pointer;
+}
+button[disabled],
+html input[disabled] {
+ cursor: default;
+}
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+ padding: 0;
+ border: 0;
+}
+input {
+ line-height: normal;
+}
+input[type="checkbox"],
+input[type="radio"] {
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ padding: 0;
+}
+input[type="number"]::-webkit-inner-spin-button,
+input[type="number"]::-webkit-outer-spin-button {
+ height: auto;
+}
+input[type="search"] {
+ -webkit-box-sizing: content-box;
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ -webkit-appearance: textfield;
+}
+input[type="search"]::-webkit-search-cancel-button,
+input[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none;
+}
+fieldset {
+ padding: .35em .625em .75em;
+ margin: 0 2px;
+ border: 1px solid #c0c0c0;
+}
+legend {
+ padding: 0;
+ border: 0;
+}
+textarea {
+ overflow: auto;
+}
+optgroup {
+ font-weight: bold;
+}
+table {
+ border-spacing: 0;
+ border-collapse: collapse;
+}
+td,
+th {
+ padding: 0;
+}
+/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
+@media print {
+ *,
+ *:before,
+ *:after {
+ color: #000 !important;
+ text-shadow: none !important;
+ background: transparent !important;
+ -webkit-box-shadow: none !important;
+ box-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;
+ }
+ select {
+ background: #fff !important;
+ }
+ .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('../fonts/glyphicons-halflings-regular.eot');
+ src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
+}
+.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: "\2a";
+}
+.glyphicon-plus:before {
+ content: "\2b";
+}
+.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: rgba(0, 0, 0, 0);
+}
+body {
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-size: 14px;
+ line-height: 1.42857143;
+ 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,
+.thumbnail > img,
+.thumbnail a > img,
+.carousel-inner > .item > img,
+.carousel-inner > .item > a > img {
+ display: block;
+ max-width: 100%;
+ height: auto;
+}
+.img-rounded {
+ border-radius: 6px;
+}
+.img-thumbnail {
+ display: inline-block;
+ max-width: 100%;
+ height: auto;
+ padding: 4px;
+ line-height: 1.42857143;
+ background-color: #fff;
+ border: 1px solid #ddd;
+ border-radius: 4px;
+ -webkit-transition: all .2s ease-in-out;
+ -o-transition: all .2s ease-in-out;
+ transition: all .2s ease-in-out;
+}
+.img-circle {
+ border-radius: 50%;
+}
+hr {
+ margin-top: 20px;
+ margin-bottom: 20px;
+ border: 0;
+ border-top: 1px solid #eee;
+}
+.sr-only {
+ position: absolute;
+ width: 1px;
+ height: 1px;
+ padding: 0;
+ margin: -1px;
+ overflow: hidden;
+ clip: rect(0, 0, 0, 0);
+ border: 0;
+}
+.sr-only-focusable:active,
+.sr-only-focusable:focus {
+ position: static;
+ width: auto;
+ height: auto;
+ margin: 0;
+ overflow: visible;
+ clip: auto;
+}
+[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,
+h2 small,
+h3 small,
+h4 small,
+h5 small,
+h6 small,
+.h1 small,
+.h2 small,
+.h3 small,
+.h4 small,
+.h5 small,
+.h6 small,
+h1 .small,
+h2 .small,
+h3 .small,
+h4 .small,
+h5 .small,
+h6 .small,
+.h1 .small,
+.h2 .small,
+.h3 .small,
+.h4 .small,
+.h5 .small,
+.h6 .small {
+ font-weight: normal;
+ line-height: 1;
+ color: #777;
+}
+h1,
+.h1,
+h2,
+.h2,
+h3,
+.h3 {
+ margin-top: 20px;
+ margin-bottom: 10px;
+}
+h1 small,
+.h1 small,
+h2 small,
+.h2 small,
+h3 small,
+.h3 small,
+h1 .small,
+.h1 .small,
+h2 .small,
+.h2 .small,
+h3 .small,
+.h3 .small {
+ font-size: 65%;
+}
+h4,
+.h4,
+h5,
+.h5,
+h6,
+.h6 {
+ margin-top: 10px;
+ margin-bottom: 10px;
+}
+h4 small,
+.h4 small,
+h5 small,
+.h5 small,
+h6 small,
+.h6 small,
+h4 .small,
+.h4 .small,
+h5 .small,
+.h5 .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 {
+ padding: .2em;
+ background-color: #fcf8e3;
+}
+.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 {
+ text-transform: uppercase;
+}
+.text-capitalize {
+ text-transform: capitalize;
+}
+.text-muted {
+ color: #777;
+}
+.text-primary {
+ color: #337ab7;
+}
+a.text-primary:hover {
+ color: #286090;
+}
+.text-success {
+ color: #3c763d;
+}
+a.text-success:hover {
+ color: #2b542c;
+}
+.text-info {
+ color: #31708f;
+}
+a.text-info:hover {
+ color: #245269;
+}
+.text-warning {
+ color: #8a6d3b;
+}
+a.text-warning:hover {
+ color: #66512c;
+}
+.text-danger {
+ color: #a94442;
+}
+a.text-danger:hover {
+ color: #843534;
+}
+.bg-primary {
+ color: #fff;
+ background-color: #337ab7;
+}
+a.bg-primary:hover {
+ background-color: #286090;
+}
+.bg-success {
+ background-color: #dff0d8;
+}
+a.bg-success:hover {
+ background-color: #c1e2b3;
+}
+.bg-info {
+ background-color: #d9edf7;
+}
+a.bg-info:hover {
+ background-color: #afd9ee;
+}
+.bg-warning {
+ background-color: #fcf8e3;
+}
+a.bg-warning:hover {
+ background-color: #f7ecb5;
+}
+.bg-danger {
+ background-color: #f2dede;
+}
+a.bg-danger:hover {
+ 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,
+ol ul,
+ul ol,
+ol ol {
+ margin-bottom: 0;
+}
+.list-unstyled {
+ padding-left: 0;
+ list-style: none;
+}
+.list-inline {
+ padding-left: 0;
+ margin-left: -5px;
+ list-style: none;
+}
+.list-inline > li {
+ display: inline-block;
+ padding-right: 5px;
+ padding-left: 5px;
+}
+dl {
+ margin-top: 0;
+ margin-bottom: 20px;
+}
+dt,
+dd {
+ line-height: 1.42857143;
+}
+dt {
+ font-weight: bold;
+}
+dd {
+ margin-left: 0;
+}
+@media (min-width: 768px) {
+ .dl-horizontal dt {
+ float: left;
+ width: 160px;
+ overflow: hidden;
+ clear: left;
+ text-align: right;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ }
+ .dl-horizontal dd {
+ margin-left: 180px;
+ }
+}
+abbr[title],
+abbr[data-original-title] {
+ cursor: help;
+ border-bottom: 1px dotted #777;
+}
+.initialism {
+ font-size: 90%;
+ text-transform: uppercase;
+}
+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.42857143;
+ 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;
+ text-align: right;
+ border-right: 5px solid #eee;
+ border-left: 0;
+}
+.blockquote-reverse footer:before,
+blockquote.pull-right footer:before,
+.blockquote-reverse small:before,
+blockquote.pull-right small:before,
+.blockquote-reverse .small:before,
+blockquote.pull-right .small:before {
+ content: '';
+}
+.blockquote-reverse footer:after,
+blockquote.pull-right footer:after,
+.blockquote-reverse small:after,
+blockquote.pull-right small:after,
+.blockquote-reverse .small:after,
+blockquote.pull-right .small:after {
+ content: '\00A0 \2014';
+}
+address {
+ margin-bottom: 20px;
+ font-style: normal;
+ line-height: 1.42857143;
+}
+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;
+ -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);
+ box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);
+}
+kbd kbd {
+ padding: 0;
+ font-size: 100%;
+ font-weight: bold;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+pre {
+ display: block;
+ padding: 9.5px;
+ margin: 0 0 10px;
+ font-size: 13px;
+ line-height: 1.42857143;
+ color: #333;
+ word-break: break-all;
+ word-wrap: break-word;
+ 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 {
+ padding-right: 15px;
+ padding-left: 15px;
+ margin-right: auto;
+ margin-left: auto;
+}
+@media (min-width: 768px) {
+ .container {
+ width: 750px;
+ }
+}
+@media (min-width: 992px) {
+ .container {
+ width: 970px;
+ }
+}
+@media (min-width: 1200px) {
+ .container {
+ width: 1170px;
+ }
+}
+.container-fluid {
+ padding-right: 15px;
+ padding-left: 15px;
+ margin-right: auto;
+ margin-left: auto;
+}
+.row {
+ margin-right: -15px;
+ margin-left: -15px;
+}
+.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-right: 15px;
+ padding-left: 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-12 {
+ width: 100%;
+}
+.col-xs-11 {
+ width: 91.66666667%;
+}
+.col-xs-10 {
+ width: 83.33333333%;
+}
+.col-xs-9 {
+ width: 75%;
+}
+.col-xs-8 {
+ width: 66.66666667%;
+}
+.col-xs-7 {
+ width: 58.33333333%;
+}
+.col-xs-6 {
+ width: 50%;
+}
+.col-xs-5 {
+ width: 41.66666667%;
+}
+.col-xs-4 {
+ width: 33.33333333%;
+}
+.col-xs-3 {
+ width: 25%;
+}
+.col-xs-2 {
+ width: 16.66666667%;
+}
+.col-xs-1 {
+ width: 8.33333333%;
+}
+.col-xs-pull-12 {
+ right: 100%;
+}
+.col-xs-pull-11 {
+ right: 91.66666667%;
+}
+.col-xs-pull-10 {
+ right: 83.33333333%;
+}
+.col-xs-pull-9 {
+ right: 75%;
+}
+.col-xs-pull-8 {
+ right: 66.66666667%;
+}
+.col-xs-pull-7 {
+ right: 58.33333333%;
+}
+.col-xs-pull-6 {
+ right: 50%;
+}
+.col-xs-pull-5 {
+ right: 41.66666667%;
+}
+.col-xs-pull-4 {
+ right: 33.33333333%;
+}
+.col-xs-pull-3 {
+ right: 25%;
+}
+.col-xs-pull-2 {
+ right: 16.66666667%;
+}
+.col-xs-pull-1 {
+ right: 8.33333333%;
+}
+.col-xs-pull-0 {
+ right: auto;
+}
+.col-xs-push-12 {
+ left: 100%;
+}
+.col-xs-push-11 {
+ left: 91.66666667%;
+}
+.col-xs-push-10 {
+ left: 83.33333333%;
+}
+.col-xs-push-9 {
+ left: 75%;
+}
+.col-xs-push-8 {
+ left: 66.66666667%;
+}
+.col-xs-push-7 {
+ left: 58.33333333%;
+}
+.col-xs-push-6 {
+ left: 50%;
+}
+.col-xs-push-5 {
+ left: 41.66666667%;
+}
+.col-xs-push-4 {
+ left: 33.33333333%;
+}
+.col-xs-push-3 {
+ left: 25%;
+}
+.col-xs-push-2 {
+ left: 16.66666667%;
+}
+.col-xs-push-1 {
+ left: 8.33333333%;
+}
+.col-xs-push-0 {
+ left: auto;
+}
+.col-xs-offset-12 {
+ margin-left: 100%;
+}
+.col-xs-offset-11 {
+ margin-left: 91.66666667%;
+}
+.col-xs-offset-10 {
+ margin-left: 83.33333333%;
+}
+.col-xs-offset-9 {
+ margin-left: 75%;
+}
+.col-xs-offset-8 {
+ margin-left: 66.66666667%;
+}
+.col-xs-offset-7 {
+ margin-left: 58.33333333%;
+}
+.col-xs-offset-6 {
+ margin-left: 50%;
+}
+.col-xs-offset-5 {
+ margin-left: 41.66666667%;
+}
+.col-xs-offset-4 {
+ margin-left: 33.33333333%;
+}
+.col-xs-offset-3 {
+ margin-left: 25%;
+}
+.col-xs-offset-2 {
+ margin-left: 16.66666667%;
+}
+.col-xs-offset-1 {
+ margin-left: 8.33333333%;
+}
+.col-xs-offset-0 {
+ margin-left: 0;
+}
+@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-12 {
+ width: 100%;
+ }
+ .col-sm-11 {
+ width: 91.66666667%;
+ }
+ .col-sm-10 {
+ width: 83.33333333%;
+ }
+ .col-sm-9 {
+ width: 75%;
+ }
+ .col-sm-8 {
+ width: 66.66666667%;
+ }
+ .col-sm-7 {
+ width: 58.33333333%;
+ }
+ .col-sm-6 {
+ width: 50%;
+ }
+ .col-sm-5 {
+ width: 41.66666667%;
+ }
+ .col-sm-4 {
+ width: 33.33333333%;
+ }
+ .col-sm-3 {
+ width: 25%;
+ }
+ .col-sm-2 {
+ width: 16.66666667%;
+ }
+ .col-sm-1 {
+ width: 8.33333333%;
+ }
+ .col-sm-pull-12 {
+ right: 100%;
+ }
+ .col-sm-pull-11 {
+ right: 91.66666667%;
+ }
+ .col-sm-pull-10 {
+ right: 83.33333333%;
+ }
+ .col-sm-pull-9 {
+ right: 75%;
+ }
+ .col-sm-pull-8 {
+ right: 66.66666667%;
+ }
+ .col-sm-pull-7 {
+ right: 58.33333333%;
+ }
+ .col-sm-pull-6 {
+ right: 50%;
+ }
+ .col-sm-pull-5 {
+ right: 41.66666667%;
+ }
+ .col-sm-pull-4 {
+ right: 33.33333333%;
+ }
+ .col-sm-pull-3 {
+ right: 25%;
+ }
+ .col-sm-pull-2 {
+ right: 16.66666667%;
+ }
+ .col-sm-pull-1 {
+ right: 8.33333333%;
+ }
+ .col-sm-pull-0 {
+ right: auto;
+ }
+ .col-sm-push-12 {
+ left: 100%;
+ }
+ .col-sm-push-11 {
+ left: 91.66666667%;
+ }
+ .col-sm-push-10 {
+ left: 83.33333333%;
+ }
+ .col-sm-push-9 {
+ left: 75%;
+ }
+ .col-sm-push-8 {
+ left: 66.66666667%;
+ }
+ .col-sm-push-7 {
+ left: 58.33333333%;
+ }
+ .col-sm-push-6 {
+ left: 50%;
+ }
+ .col-sm-push-5 {
+ left: 41.66666667%;
+ }
+ .col-sm-push-4 {
+ left: 33.33333333%;
+ }
+ .col-sm-push-3 {
+ left: 25%;
+ }
+ .col-sm-push-2 {
+ left: 16.66666667%;
+ }
+ .col-sm-push-1 {
+ left: 8.33333333%;
+ }
+ .col-sm-push-0 {
+ left: auto;
+ }
+ .col-sm-offset-12 {
+ margin-left: 100%;
+ }
+ .col-sm-offset-11 {
+ margin-left: 91.66666667%;
+ }
+ .col-sm-offset-10 {
+ margin-left: 83.33333333%;
+ }
+ .col-sm-offset-9 {
+ margin-left: 75%;
+ }
+ .col-sm-offset-8 {
+ margin-left: 66.66666667%;
+ }
+ .col-sm-offset-7 {
+ margin-left: 58.33333333%;
+ }
+ .col-sm-offset-6 {
+ margin-left: 50%;
+ }
+ .col-sm-offset-5 {
+ margin-left: 41.66666667%;
+ }
+ .col-sm-offset-4 {
+ margin-left: 33.33333333%;
+ }
+ .col-sm-offset-3 {
+ margin-left: 25%;
+ }
+ .col-sm-offset-2 {
+ margin-left: 16.66666667%;
+ }
+ .col-sm-offset-1 {
+ margin-left: 8.33333333%;
+ }
+ .col-sm-offset-0 {
+ margin-left: 0;
+ }
+}
+@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-12 {
+ width: 100%;
+ }
+ .col-md-11 {
+ width: 91.66666667%;
+ }
+ .col-md-10 {
+ width: 83.33333333%;
+ }
+ .col-md-9 {
+ width: 75%;
+ }
+ .col-md-8 {
+ width: 66.66666667%;
+ }
+ .col-md-7 {
+ width: 58.33333333%;
+ }
+ .col-md-6 {
+ width: 50%;
+ }
+ .col-md-5 {
+ width: 41.66666667%;
+ }
+ .col-md-4 {
+ width: 33.33333333%;
+ }
+ .col-md-3 {
+ width: 25%;
+ }
+ .col-md-2 {
+ width: 16.66666667%;
+ }
+ .col-md-1 {
+ width: 8.33333333%;
+ }
+ .col-md-pull-12 {
+ right: 100%;
+ }
+ .col-md-pull-11 {
+ right: 91.66666667%;
+ }
+ .col-md-pull-10 {
+ right: 83.33333333%;
+ }
+ .col-md-pull-9 {
+ right: 75%;
+ }
+ .col-md-pull-8 {
+ right: 66.66666667%;
+ }
+ .col-md-pull-7 {
+ right: 58.33333333%;
+ }
+ .col-md-pull-6 {
+ right: 50%;
+ }
+ .col-md-pull-5 {
+ right: 41.66666667%;
+ }
+ .col-md-pull-4 {
+ right: 33.33333333%;
+ }
+ .col-md-pull-3 {
+ right: 25%;
+ }
+ .col-md-pull-2 {
+ right: 16.66666667%;
+ }
+ .col-md-pull-1 {
+ right: 8.33333333%;
+ }
+ .col-md-pull-0 {
+ right: auto;
+ }
+ .col-md-push-12 {
+ left: 100%;
+ }
+ .col-md-push-11 {
+ left: 91.66666667%;
+ }
+ .col-md-push-10 {
+ left: 83.33333333%;
+ }
+ .col-md-push-9 {
+ left: 75%;
+ }
+ .col-md-push-8 {
+ left: 66.66666667%;
+ }
+ .col-md-push-7 {
+ left: 58.33333333%;
+ }
+ .col-md-push-6 {
+ left: 50%;
+ }
+ .col-md-push-5 {
+ left: 41.66666667%;
+ }
+ .col-md-push-4 {
+ left: 33.33333333%;
+ }
+ .col-md-push-3 {
+ left: 25%;
+ }
+ .col-md-push-2 {
+ left: 16.66666667%;
+ }
+ .col-md-push-1 {
+ left: 8.33333333%;
+ }
+ .col-md-push-0 {
+ left: auto;
+ }
+ .col-md-offset-12 {
+ margin-left: 100%;
+ }
+ .col-md-offset-11 {
+ margin-left: 91.66666667%;
+ }
+ .col-md-offset-10 {
+ margin-left: 83.33333333%;
+ }
+ .col-md-offset-9 {
+ margin-left: 75%;
+ }
+ .col-md-offset-8 {
+ margin-left: 66.66666667%;
+ }
+ .col-md-offset-7 {
+ margin-left: 58.33333333%;
+ }
+ .col-md-offset-6 {
+ margin-left: 50%;
+ }
+ .col-md-offset-5 {
+ margin-left: 41.66666667%;
+ }
+ .col-md-offset-4 {
+ margin-left: 33.33333333%;
+ }
+ .col-md-offset-3 {
+ margin-left: 25%;
+ }
+ .col-md-offset-2 {
+ margin-left: 16.66666667%;
+ }
+ .col-md-offset-1 {
+ margin-left: 8.33333333%;
+ }
+ .col-md-offset-0 {
+ margin-left: 0;
+ }
+}
+@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-12 {
+ width: 100%;
+ }
+ .col-lg-11 {
+ width: 91.66666667%;
+ }
+ .col-lg-10 {
+ width: 83.33333333%;
+ }
+ .col-lg-9 {
+ width: 75%;
+ }
+ .col-lg-8 {
+ width: 66.66666667%;
+ }
+ .col-lg-7 {
+ width: 58.33333333%;
+ }
+ .col-lg-6 {
+ width: 50%;
+ }
+ .col-lg-5 {
+ width: 41.66666667%;
+ }
+ .col-lg-4 {
+ width: 33.33333333%;
+ }
+ .col-lg-3 {
+ width: 25%;
+ }
+ .col-lg-2 {
+ width: 16.66666667%;
+ }
+ .col-lg-1 {
+ width: 8.33333333%;
+ }
+ .col-lg-pull-12 {
+ right: 100%;
+ }
+ .col-lg-pull-11 {
+ right: 91.66666667%;
+ }
+ .col-lg-pull-10 {
+ right: 83.33333333%;
+ }
+ .col-lg-pull-9 {
+ right: 75%;
+ }
+ .col-lg-pull-8 {
+ right: 66.66666667%;
+ }
+ .col-lg-pull-7 {
+ right: 58.33333333%;
+ }
+ .col-lg-pull-6 {
+ right: 50%;
+ }
+ .col-lg-pull-5 {
+ right: 41.66666667%;
+ }
+ .col-lg-pull-4 {
+ right: 33.33333333%;
+ }
+ .col-lg-pull-3 {
+ right: 25%;
+ }
+ .col-lg-pull-2 {
+ right: 16.66666667%;
+ }
+ .col-lg-pull-1 {
+ right: 8.33333333%;
+ }
+ .col-lg-pull-0 {
+ right: auto;
+ }
+ .col-lg-push-12 {
+ left: 100%;
+ }
+ .col-lg-push-11 {
+ left: 91.66666667%;
+ }
+ .col-lg-push-10 {
+ left: 83.33333333%;
+ }
+ .col-lg-push-9 {
+ left: 75%;
+ }
+ .col-lg-push-8 {
+ left: 66.66666667%;
+ }
+ .col-lg-push-7 {
+ left: 58.33333333%;
+ }
+ .col-lg-push-6 {
+ left: 50%;
+ }
+ .col-lg-push-5 {
+ left: 41.66666667%;
+ }
+ .col-lg-push-4 {
+ left: 33.33333333%;
+ }
+ .col-lg-push-3 {
+ left: 25%;
+ }
+ .col-lg-push-2 {
+ left: 16.66666667%;
+ }
+ .col-lg-push-1 {
+ left: 8.33333333%;
+ }
+ .col-lg-push-0 {
+ left: auto;
+ }
+ .col-lg-offset-12 {
+ margin-left: 100%;
+ }
+ .col-lg-offset-11 {
+ margin-left: 91.66666667%;
+ }
+ .col-lg-offset-10 {
+ margin-left: 83.33333333%;
+ }
+ .col-lg-offset-9 {
+ margin-left: 75%;
+ }
+ .col-lg-offset-8 {
+ margin-left: 66.66666667%;
+ }
+ .col-lg-offset-7 {
+ margin-left: 58.33333333%;
+ }
+ .col-lg-offset-6 {
+ margin-left: 50%;
+ }
+ .col-lg-offset-5 {
+ margin-left: 41.66666667%;
+ }
+ .col-lg-offset-4 {
+ margin-left: 33.33333333%;
+ }
+ .col-lg-offset-3 {
+ margin-left: 25%;
+ }
+ .col-lg-offset-2 {
+ margin-left: 16.66666667%;
+ }
+ .col-lg-offset-1 {
+ margin-left: 8.33333333%;
+ }
+ .col-lg-offset-0 {
+ margin-left: 0;
+ }
+}
+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 > tbody > tr > th,
+.table > tfoot > tr > th,
+.table > thead > tr > td,
+.table > tbody > tr > td,
+.table > tfoot > tr > td {
+ padding: 8px;
+ line-height: 1.42857143;
+ 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 > colgroup + thead > tr:first-child > th,
+.table > thead:first-child > tr:first-child > th,
+.table > caption + thead > tr:first-child > td,
+.table > colgroup + thead > tr:first-child > td,
+.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 > tbody > tr > th,
+.table-condensed > tfoot > tr > th,
+.table-condensed > thead > tr > td,
+.table-condensed > tbody > tr > td,
+.table-condensed > tfoot > tr > td {
+ padding: 5px;
+}
+.table-bordered {
+ border: 1px solid #ddd;
+}
+.table-bordered > thead > tr > th,
+.table-bordered > tbody > tr > th,
+.table-bordered > tfoot > tr > th,
+.table-bordered > thead > tr > td,
+.table-bordered > tbody > tr > td,
+.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;
+ display: table-column;
+ float: none;
+}
+table td[class*="col-"],
+table th[class*="col-"] {
+ position: static;
+ display: table-cell;
+ float: none;
+}
+.table > thead > tr > td.active,
+.table > tbody > tr > td.active,
+.table > tfoot > tr > td.active,
+.table > thead > tr > th.active,
+.table > tbody > tr > th.active,
+.table > tfoot > tr > th.active,
+.table > thead > tr.active > td,
+.table > tbody > tr.active > td,
+.table > tfoot > tr.active > td,
+.table > thead > tr.active > th,
+.table > tbody > tr.active > th,
+.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 > tbody > tr > td.success,
+.table > tfoot > tr > td.success,
+.table > thead > tr > th.success,
+.table > tbody > tr > th.success,
+.table > tfoot > tr > th.success,
+.table > thead > tr.success > td,
+.table > tbody > tr.success > td,
+.table > tfoot > tr.success > td,
+.table > thead > tr.success > th,
+.table > tbody > tr.success > th,
+.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 > tbody > tr > td.info,
+.table > tfoot > tr > td.info,
+.table > thead > tr > th.info,
+.table > tbody > tr > th.info,
+.table > tfoot > tr > th.info,
+.table > thead > tr.info > td,
+.table > tbody > tr.info > td,
+.table > tfoot > tr.info > td,
+.table > thead > tr.info > th,
+.table > tbody > tr.info > th,
+.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 > tbody > tr > td.warning,
+.table > tfoot > tr > td.warning,
+.table > thead > tr > th.warning,
+.table > tbody > tr > th.warning,
+.table > tfoot > tr > th.warning,
+.table > thead > tr.warning > td,
+.table > tbody > tr.warning > td,
+.table > tfoot > tr.warning > td,
+.table > thead > tr.warning > th,
+.table > tbody > tr.warning > th,
+.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 > tbody > tr > td.danger,
+.table > tfoot > tr > td.danger,
+.table > thead > tr > th.danger,
+.table > tbody > tr > th.danger,
+.table > tfoot > tr > th.danger,
+.table > thead > tr.danger > td,
+.table > tbody > tr.danger > td,
+.table > tfoot > tr.danger > td,
+.table > thead > tr.danger > th,
+.table > tbody > tr.danger > th,
+.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 {
+ min-height: .01%;
+ overflow-x: auto;
+}
+@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 > tbody > tr > th,
+ .table-responsive > .table > tfoot > tr > th,
+ .table-responsive > .table > thead > tr > td,
+ .table-responsive > .table > tbody > tr > td,
+ .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 > tbody > tr > th:first-child,
+ .table-responsive > .table-bordered > tfoot > tr > th:first-child,
+ .table-responsive > .table-bordered > thead > tr > td:first-child,
+ .table-responsive > .table-bordered > tbody > tr > td: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 > tbody > tr > th:last-child,
+ .table-responsive > .table-bordered > tfoot > tr > th:last-child,
+ .table-responsive > .table-bordered > thead > tr > td:last-child,
+ .table-responsive > .table-bordered > tbody > tr > td: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 > tfoot > tr:last-child > th,
+ .table-responsive > .table-bordered > tbody > tr:last-child > td,
+ .table-responsive > .table-bordered > tfoot > tr:last-child > td {
+ border-bottom: 0;
+ }
+}
+fieldset {
+ min-width: 0;
+ padding: 0;
+ margin: 0;
+ border: 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: 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.42857143;
+ color: #555;
+}
+.form-control {
+ display: block;
+ width: 100%;
+ height: 34px;
+ padding: 6px 12px;
+ font-size: 14px;
+ line-height: 1.42857143;
+ color: #555;
+ background-color: #fff;
+ background-image: none;
+ border: 1px solid #ccc;
+ border-radius: 4px;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
+ -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
+ -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
+ transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
+}
+.form-control:focus {
+ border-color: #66afe9;
+ outline: 0;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);
+ 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[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;
+}
+@media screen and (-webkit-min-device-pixel-ratio: 0) {
+ input[type="date"],
+ input[type="time"],
+ input[type="datetime-local"],
+ input[type="month"] {
+ line-height: 34px;
+ }
+ input[type="date"].input-sm,
+ input[type="time"].input-sm,
+ input[type="datetime-local"].input-sm,
+ input[type="month"].input-sm,
+ .input-group-sm input[type="date"],
+ .input-group-sm input[type="time"],
+ .input-group-sm input[type="datetime-local"],
+ .input-group-sm input[type="month"] {
+ line-height: 30px;
+ }
+ input[type="date"].input-lg,
+ input[type="time"].input-lg,
+ input[type="datetime-local"].input-lg,
+ input[type="month"].input-lg,
+ .input-group-lg input[type="date"],
+ .input-group-lg input[type="time"],
+ .input-group-lg input[type="datetime-local"],
+ .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-top: 4px \9;
+ margin-left: -20px;
+}
+.radio + .radio,
+.checkbox + .checkbox {
+ margin-top: -5px;
+}
+.radio-inline,
+.checkbox-inline {
+ position: relative;
+ display: inline-block;
+ padding-left: 20px;
+ margin-bottom: 0;
+ font-weight: normal;
+ vertical-align: middle;
+ cursor: pointer;
+}
+.radio-inline + .radio-inline,
+.checkbox-inline + .checkbox-inline {
+ margin-top: 0;
+ margin-left: 10px;
+}
+input[type="radio"][disabled],
+input[type="checkbox"][disabled],
+input[type="radio"].disabled,
+input[type="checkbox"].disabled,
+fieldset[disabled] input[type="radio"],
+fieldset[disabled] input[type="checkbox"] {
+ cursor: not-allowed;
+}
+.radio-inline.disabled,
+.checkbox-inline.disabled,
+fieldset[disabled] .radio-inline,
+fieldset[disabled] .checkbox-inline {
+ cursor: not-allowed;
+}
+.radio.disabled label,
+.checkbox.disabled label,
+fieldset[disabled] .radio label,
+fieldset[disabled] .checkbox label {
+ cursor: not-allowed;
+}
+.form-control-static {
+ min-height: 34px;
+ padding-top: 7px;
+ padding-bottom: 7px;
+ margin-bottom: 0;
+}
+.form-control-static.input-lg,
+.form-control-static.input-sm {
+ padding-right: 0;
+ padding-left: 0;
+}
+.input-sm {
+ height: 30px;
+ padding: 5px 10px;
+ font-size: 12px;
+ line-height: 1.5;
+ border-radius: 3px;
+}
+select.input-sm {
+ height: 30px;
+ line-height: 30px;
+}
+textarea.input-sm,
+select[multiple].input-sm {
+ height: auto;
+}
+.form-group-sm .form-control {
+ height: 30px;
+ padding: 5px 10px;
+ font-size: 12px;
+ line-height: 1.5;
+ border-radius: 3px;
+}
+select.form-group-sm .form-control {
+ height: 30px;
+ line-height: 30px;
+}
+textarea.form-group-sm .form-control,
+select[multiple].form-group-sm .form-control {
+ height: auto;
+}
+.form-group-sm .form-control-static {
+ height: 30px;
+ min-height: 32px;
+ padding: 5px 10px;
+ font-size: 12px;
+ line-height: 1.5;
+}
+.input-lg {
+ height: 46px;
+ padding: 10px 16px;
+ font-size: 18px;
+ line-height: 1.3333333;
+ border-radius: 6px;
+}
+select.input-lg {
+ height: 46px;
+ line-height: 46px;
+}
+textarea.input-lg,
+select[multiple].input-lg {
+ height: auto;
+}
+.form-group-lg .form-control {
+ height: 46px;
+ padding: 10px 16px;
+ font-size: 18px;
+ line-height: 1.3333333;
+ border-radius: 6px;
+}
+select.form-group-lg .form-control {
+ height: 46px;
+ line-height: 46px;
+}
+textarea.form-group-lg .form-control,
+select[multiple].form-group-lg .form-control {
+ height: auto;
+}
+.form-group-lg .form-control-static {
+ height: 46px;
+ min-height: 38px;
+ padding: 10px 16px;
+ font-size: 18px;
+ line-height: 1.3333333;
+}
+.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 {
+ width: 46px;
+ height: 46px;
+ line-height: 46px;
+}
+.input-sm + .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, .075);
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
+}
+.has-success .form-control:focus {
+ border-color: #2b542c;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168;
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168;
+}
+.has-success .input-group-addon {
+ color: #3c763d;
+ background-color: #dff0d8;
+ border-color: #3c763d;
+}
+.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, .075);
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
+}
+.has-warning .form-control:focus {
+ border-color: #66512c;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b;
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b;
+}
+.has-warning .input-group-addon {
+ color: #8a6d3b;
+ background-color: #fcf8e3;
+ border-color: #8a6d3b;
+}
+.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, .075);
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
+}
+.has-error .form-control:focus {
+ border-color: #843534;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483;
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483;
+}
+.has-error .input-group-addon {
+ color: #a94442;
+ background-color: #f2dede;
+ border-color: #a94442;
+}
+.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 {
+ padding-top: 7px;
+ margin-top: 0;
+ margin-bottom: 0;
+}
+.form-horizontal .radio,
+.form-horizontal .checkbox {
+ min-height: 27px;
+}
+.form-horizontal .form-group {
+ margin-right: -15px;
+ margin-left: -15px;
+}
+@media (min-width: 768px) {
+ .form-horizontal .control-label {
+ padding-top: 7px;
+ margin-bottom: 0;
+ text-align: right;
+ }
+}
+.form-horizontal .has-feedback .form-control-feedback {
+ right: 15px;
+}
+@media (min-width: 768px) {
+ .form-horizontal .form-group-lg .control-label {
+ padding-top: 14.333333px;
+ }
+}
+@media (min-width: 768px) {
+ .form-horizontal .form-group-sm .control-label {
+ padding-top: 6px;
+ }
+}
+.btn {
+ display: inline-block;
+ padding: 6px 12px;
+ margin-bottom: 0;
+ font-size: 14px;
+ font-weight: normal;
+ line-height: 1.42857143;
+ text-align: center;
+ white-space: nowrap;
+ vertical-align: middle;
+ -ms-touch-action: manipulation;
+ touch-action: manipulation;
+ cursor: pointer;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ background-image: none;
+ border: 1px solid transparent;
+ border-radius: 4px;
+}
+.btn:focus,
+.btn:active:focus,
+.btn.active:focus,
+.btn.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 {
+ background-image: none;
+ outline: 0;
+ -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
+ box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
+}
+.btn.disabled,
+.btn[disabled],
+fieldset[disabled] .btn {
+ pointer-events: none;
+ cursor: not-allowed;
+ filter: alpha(opacity=65);
+ -webkit-box-shadow: none;
+ box-shadow: none;
+ opacity: .65;
+}
+.btn-default {
+ color: #333;
+ background-color: #fff;
+ border-color: #ccc;
+}
+.btn-default:hover,
+.btn-default:focus,
+.btn-default.focus,
+.btn-default:active,
+.btn-default.active,
+.open > .dropdown-toggle.btn-default {
+ color: #333;
+ background-color: #e6e6e6;
+ border-color: #adadad;
+}
+.btn-default:active,
+.btn-default.active,
+.open > .dropdown-toggle.btn-default {
+ background-image: none;
+}
+.btn-default.disabled,
+.btn-default[disabled],
+fieldset[disabled] .btn-default,
+.btn-default.disabled:hover,
+.btn-default[disabled]:hover,
+fieldset[disabled] .btn-default:hover,
+.btn-default.disabled:focus,
+.btn-default[disabled]:focus,
+fieldset[disabled] .btn-default:focus,
+.btn-default.disabled.focus,
+.btn-default[disabled].focus,
+fieldset[disabled] .btn-default.focus,
+.btn-default.disabled:active,
+.btn-default[disabled]:active,
+fieldset[disabled] .btn-default:active,
+.btn-default.disabled.active,
+.btn-default[disabled].active,
+fieldset[disabled] .btn-default.active {
+ 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:hover,
+.btn-primary:focus,
+.btn-primary.focus,
+.btn-primary:active,
+.btn-primary.active,
+.open > .dropdown-toggle.btn-primary {
+ color: #fff;
+ background-color: #286090;
+ border-color: #204d74;
+}
+.btn-primary:active,
+.btn-primary.active,
+.open > .dropdown-toggle.btn-primary {
+ background-image: none;
+}
+.btn-primary.disabled,
+.btn-primary[disabled],
+fieldset[disabled] .btn-primary,
+.btn-primary.disabled:hover,
+.btn-primary[disabled]:hover,
+fieldset[disabled] .btn-primary:hover,
+.btn-primary.disabled:focus,
+.btn-primary[disabled]:focus,
+fieldset[disabled] .btn-primary:focus,
+.btn-primary.disabled.focus,
+.btn-primary[disabled].focus,
+fieldset[disabled] .btn-primary.focus,
+.btn-primary.disabled:active,
+.btn-primary[disabled]:active,
+fieldset[disabled] .btn-primary:active,
+.btn-primary.disabled.active,
+.btn-primary[disabled].active,
+fieldset[disabled] .btn-primary.active {
+ 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:hover,
+.btn-success:focus,
+.btn-success.focus,
+.btn-success:active,
+.btn-success.active,
+.open > .dropdown-toggle.btn-success {
+ color: #fff;
+ background-color: #449d44;
+ border-color: #398439;
+}
+.btn-success:active,
+.btn-success.active,
+.open > .dropdown-toggle.btn-success {
+ background-image: none;
+}
+.btn-success.disabled,
+.btn-success[disabled],
+fieldset[disabled] .btn-success,
+.btn-success.disabled:hover,
+.btn-success[disabled]:hover,
+fieldset[disabled] .btn-success:hover,
+.btn-success.disabled:focus,
+.btn-success[disabled]:focus,
+fieldset[disabled] .btn-success:focus,
+.btn-success.disabled.focus,
+.btn-success[disabled].focus,
+fieldset[disabled] .btn-success.focus,
+.btn-success.disabled:active,
+.btn-success[disabled]:active,
+fieldset[disabled] .btn-success:active,
+.btn-success.disabled.active,
+.btn-success[disabled].active,
+fieldset[disabled] .btn-success.active {
+ 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:hover,
+.btn-info:focus,
+.btn-info.focus,
+.btn-info:active,
+.btn-info.active,
+.open > .dropdown-toggle.btn-info {
+ color: #fff;
+ background-color: #31b0d5;
+ border-color: #269abc;
+}
+.btn-info:active,
+.btn-info.active,
+.open > .dropdown-toggle.btn-info {
+ background-image: none;
+}
+.btn-info.disabled,
+.btn-info[disabled],
+fieldset[disabled] .btn-info,
+.btn-info.disabled:hover,
+.btn-info[disabled]:hover,
+fieldset[disabled] .btn-info:hover,
+.btn-info.disabled:focus,
+.btn-info[disabled]:focus,
+fieldset[disabled] .btn-info:focus,
+.btn-info.disabled.focus,
+.btn-info[disabled].focus,
+fieldset[disabled] .btn-info.focus,
+.btn-info.disabled:active,
+.btn-info[disabled]:active,
+fieldset[disabled] .btn-info:active,
+.btn-info.disabled.active,
+.btn-info[disabled].active,
+fieldset[disabled] .btn-info.active {
+ 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:hover,
+.btn-warning:focus,
+.btn-warning.focus,
+.btn-warning:active,
+.btn-warning.active,
+.open > .dropdown-toggle.btn-warning {
+ color: #fff;
+ background-color: #ec971f;
+ border-color: #d58512;
+}
+.btn-warning:active,
+.btn-warning.active,
+.open > .dropdown-toggle.btn-warning {
+ background-image: none;
+}
+.btn-warning.disabled,
+.btn-warning[disabled],
+fieldset[disabled] .btn-warning,
+.btn-warning.disabled:hover,
+.btn-warning[disabled]:hover,
+fieldset[disabled] .btn-warning:hover,
+.btn-warning.disabled:focus,
+.btn-warning[disabled]:focus,
+fieldset[disabled] .btn-warning:focus,
+.btn-warning.disabled.focus,
+.btn-warning[disabled].focus,
+fieldset[disabled] .btn-warning.focus,
+.btn-warning.disabled:active,
+.btn-warning[disabled]:active,
+fieldset[disabled] .btn-warning:active,
+.btn-warning.disabled.active,
+.btn-warning[disabled].active,
+fieldset[disabled] .btn-warning.active {
+ 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:hover,
+.btn-danger:focus,
+.btn-danger.focus,
+.btn-danger:active,
+.btn-danger.active,
+.open > .dropdown-toggle.btn-danger {
+ color: #fff;
+ background-color: #c9302c;
+ border-color: #ac2925;
+}
+.btn-danger:active,
+.btn-danger.active,
+.open > .dropdown-toggle.btn-danger {
+ background-image: none;
+}
+.btn-danger.disabled,
+.btn-danger[disabled],
+fieldset[disabled] .btn-danger,
+.btn-danger.disabled:hover,
+.btn-danger[disabled]:hover,
+fieldset[disabled] .btn-danger:hover,
+.btn-danger.disabled:focus,
+.btn-danger[disabled]:focus,
+fieldset[disabled] .btn-danger:focus,
+.btn-danger.disabled.focus,
+.btn-danger[disabled].focus,
+fieldset[disabled] .btn-danger.focus,
+.btn-danger.disabled:active,
+.btn-danger[disabled]:active,
+fieldset[disabled] .btn-danger:active,
+.btn-danger.disabled.active,
+.btn-danger[disabled].active,
+fieldset[disabled] .btn-danger.active {
+ background-color: #d9534f;
+ border-color: #d43f3a;
+}
+.btn-danger .badge {
+ color: #d9534f;
+ background-color: #fff;
+}
+.btn-link {
+ font-weight: normal;
+ color: #337ab7;
+ 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,
+fieldset[disabled] .btn-link:hover,
+.btn-link[disabled]:focus,
+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.3333333;
+ 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 .15s linear;
+ -o-transition: opacity .15s linear;
+ 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;
+ -webkit-transition-timing-function: ease;
+ -o-transition-timing-function: ease;
+ transition-timing-function: ease;
+ -webkit-transition-duration: .35s;
+ -o-transition-duration: .35s;
+ transition-duration: .35s;
+ -webkit-transition-property: height, visibility;
+ -o-transition-property: height, visibility;
+ transition-property: height, visibility;
+}
+.caret {
+ display: inline-block;
+ width: 0;
+ height: 0;
+ margin-left: 2px;
+ vertical-align: middle;
+ border-top: 4px dashed;
+ 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;
+ font-size: 14px;
+ text-align: left;
+ list-style: none;
+ background-color: #fff;
+ -webkit-background-clip: padding-box;
+ background-clip: padding-box;
+ border: 1px solid #ccc;
+ border: 1px solid rgba(0, 0, 0, .15);
+ border-radius: 4px;
+ -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
+ box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
+}
+.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.42857143;
+ color: #333;
+ white-space: nowrap;
+}
+.dropdown-menu > li > a:hover,
+.dropdown-menu > li > a:focus {
+ color: #262626;
+ text-decoration: none;
+ background-color: #f5f5f5;
+}
+.dropdown-menu > .active > a,
+.dropdown-menu > .active > a:hover,
+.dropdown-menu > .active > a:focus {
+ color: #fff;
+ text-decoration: none;
+ background-color: #337ab7;
+ outline: 0;
+}
+.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;
+ cursor: not-allowed;
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+}
+.open > .dropdown-menu {
+ display: block;
+}
+.open > a {
+ outline: 0;
+}
+.dropdown-menu-right {
+ right: 0;
+ left: auto;
+}
+.dropdown-menu-left {
+ right: auto;
+ left: 0;
+}
+.dropdown-header {
+ display: block;
+ padding: 3px 20px;
+ font-size: 12px;
+ line-height: 1.42857143;
+ color: #777;
+ white-space: nowrap;
+}
+.dropdown-backdrop {
+ position: fixed;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 990;
+}
+.pull-right > .dropdown-menu {
+ right: 0;
+ left: auto;
+}
+.dropup .caret,
+.navbar-fixed-bottom .dropdown .caret {
+ content: "";
+ border-top: 0;
+ border-bottom: 4px solid;
+}
+.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 {
+ right: auto;
+ left: 0;
+ }
+}
+.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-vertical > .btn:hover,
+.btn-group > .btn:focus,
+.btn-group-vertical > .btn:focus,
+.btn-group > .btn:active,
+.btn-group-vertical > .btn:active,
+.btn-group > .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 .btn-group,
+.btn-toolbar .input-group {
+ float: left;
+}
+.btn-toolbar > .btn,
+.btn-toolbar > .btn-group,
+.btn-toolbar > .input-group {
+ margin-left: 5px;
+}
+.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
+ border-radius: 0;
+}
+.btn-group > .btn:first-child {
+ margin-left: 0;
+}
+.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+}
+.btn-group > .btn:last-child:not(:first-child),
+.btn-group > .dropdown-toggle:not(:first-child) {
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+}
+.btn-group > .btn-group {
+ float: left;
+}
+.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
+ border-radius: 0;
+}
+.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,
+.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+}
+.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+}
+.btn-group .dropdown-toggle:active,
+.btn-group.open .dropdown-toggle {
+ outline: 0;
+}
+.btn-group > .btn + .dropdown-toggle {
+ padding-right: 8px;
+ padding-left: 8px;
+}
+.btn-group > .btn-lg + .dropdown-toggle {
+ padding-right: 12px;
+ padding-left: 12px;
+}
+.btn-group.open .dropdown-toggle {
+ -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
+ box-shadow: inset 0 3px 5px rgba(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 {
+ border-width: 5px 5px 0;
+ border-bottom-width: 0;
+}
+.dropup .btn-lg .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 > .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-bottom-right-radius: 0;
+ border-bottom-left-radius: 0;
+}
+.btn-group-vertical > .btn:last-child:not(:first-child) {
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+ border-bottom-left-radius: 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-left-radius: 0;
+ border-top-right-radius: 0;
+}
+.btn-group-justified {
+ display: table;
+ width: 100%;
+ table-layout: fixed;
+ border-collapse: separate;
+}
+.btn-group-justified > .btn,
+.btn-group-justified > .btn-group {
+ display: table-cell;
+ float: none;
+ 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-group > .btn input[type="radio"],
+[data-toggle="buttons"] > .btn input[type="checkbox"],
+[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-right: 0;
+ padding-left: 0;
+}
+.input-group .form-control {
+ position: relative;
+ z-index: 2;
+ float: left;
+ width: 100%;
+ margin-bottom: 0;
+}
+.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.3333333;
+ border-radius: 6px;
+}
+select.input-group-lg > .form-control,
+select.input-group-lg > .input-group-addon,
+select.input-group-lg > .input-group-btn > .btn {
+ height: 46px;
+ line-height: 46px;
+}
+textarea.input-group-lg > .form-control,
+textarea.input-group-lg > .input-group-addon,
+textarea.input-group-lg > .input-group-btn > .btn,
+select[multiple].input-group-lg > .form-control,
+select[multiple].input-group-lg > .input-group-addon,
+select[multiple].input-group-lg > .input-group-btn > .btn {
+ height: auto;
+}
+.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-group-sm > .form-control,
+select.input-group-sm > .input-group-addon,
+select.input-group-sm > .input-group-btn > .btn {
+ height: 30px;
+ line-height: 30px;
+}
+textarea.input-group-sm > .form-control,
+textarea.input-group-sm > .input-group-addon,
+textarea.input-group-sm > .input-group-btn > .btn,
+select[multiple].input-group-sm > .form-control,
+select[multiple].input-group-sm > .input-group-addon,
+select[multiple].input-group-sm > .input-group-btn > .btn {
+ height: auto;
+}
+.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: #555;
+ text-align: center;
+ background-color: #eee;
+ border: 1px solid #ccc;
+ border-radius: 4px;
+}
+.input-group-addon.input-sm {
+ padding: 5px 10px;
+ font-size: 12px;
+ border-radius: 3px;
+}
+.input-group-addon.input-lg {
+ 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-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+}
+.input-group-addon:first-child {
+ border-right: 0;
+}
+.input-group .form-control:last-child,
+.input-group-addon:last-child,
+.input-group-btn: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-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+}
+.input-group-addon:last-child {
+ border-left: 0;
+}
+.input-group-btn {
+ position: relative;
+ font-size: 0;
+ white-space: nowrap;
+}
+.input-group-btn > .btn {
+ position: relative;
+}
+.input-group-btn > .btn + .btn {
+ margin-left: -1px;
+}
+.input-group-btn > .btn: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 {
+ margin-left: -1px;
+}
+.nav {
+ padding-left: 0;
+ margin-bottom: 0;
+ list-style: none;
+}
+.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;
+ cursor: not-allowed;
+ background-color: transparent;
+}
+.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.42857143;
+ 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;
+ cursor: default;
+ background-color: #fff;
+ border: 1px solid #ddd;
+ border-bottom-color: transparent;
+}
+.nav-tabs.nav-justified {
+ width: 100%;
+ border-bottom: 0;
+}
+.nav-tabs.nav-justified > li {
+ float: none;
+}
+.nav-tabs.nav-justified > li > a {
+ margin-bottom: 5px;
+ text-align: center;
+}
+.nav-tabs.nav-justified > .dropdown .dropdown-menu {
+ top: auto;
+ left: auto;
+}
+@media (min-width: 768px) {
+ .nav-tabs.nav-justified > li {
+ display: table-cell;
+ width: 1%;
+ }
+ .nav-tabs.nav-justified > li > a {
+ margin-bottom: 0;
+ }
+}
+.nav-tabs.nav-justified > li > a {
+ margin-right: 0;
+ border-radius: 4px;
+}
+.nav-tabs.nav-justified > .active > a,
+.nav-tabs.nav-justified > .active > a:hover,
+.nav-tabs.nav-justified > .active > a:focus {
+ border: 1px solid #ddd;
+}
+@media (min-width: 768px) {
+ .nav-tabs.nav-justified > li > a {
+ border-bottom: 1px solid #ddd;
+ border-radius: 4px 4px 0 0;
+ }
+ .nav-tabs.nav-justified > .active > a,
+ .nav-tabs.nav-justified > .active > a:hover,
+ .nav-tabs.nav-justified > .active > a:focus {
+ border-bottom-color: #fff;
+ }
+}
+.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 {
+ width: 100%;
+}
+.nav-justified > li {
+ float: none;
+}
+.nav-justified > li > a {
+ margin-bottom: 5px;
+ text-align: center;
+}
+.nav-justified > .dropdown .dropdown-menu {
+ top: auto;
+ left: auto;
+}
+@media (min-width: 768px) {
+ .nav-justified > li {
+ display: table-cell;
+ width: 1%;
+ }
+ .nav-justified > li > a {
+ margin-bottom: 0;
+ }
+}
+.nav-tabs-justified {
+ border-bottom: 0;
+}
+.nav-tabs-justified > li > a {
+ margin-right: 0;
+ border-radius: 4px;
+}
+.nav-tabs-justified > .active > a,
+.nav-tabs-justified > .active > a:hover,
+.nav-tabs-justified > .active > a:focus {
+ border: 1px solid #ddd;
+}
+@media (min-width: 768px) {
+ .nav-tabs-justified > li > a {
+ border-bottom: 1px solid #ddd;
+ border-radius: 4px 4px 0 0;
+ }
+ .nav-tabs-justified > .active > a,
+ .nav-tabs-justified > .active > a:hover,
+ .nav-tabs-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-left-radius: 0;
+ border-top-right-radius: 0;
+}
+.navbar {
+ position: relative;
+ min-height: 50px;
+ margin-bottom: 20px;
+ border: 1px solid transparent;
+}
+@media (min-width: 768px) {
+ .navbar {
+ border-radius: 4px;
+ }
+}
+@media (min-width: 768px) {
+ .navbar-header {
+ float: left;
+ }
+}
+.navbar-collapse {
+ padding-right: 15px;
+ padding-left: 15px;
+ overflow-x: visible;
+ -webkit-overflow-scrolling: touch;
+ border-top: 1px solid transparent;
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);
+}
+.navbar-collapse.in {
+ overflow-y: auto;
+}
+@media (min-width: 768px) {
+ .navbar-collapse {
+ width: auto;
+ border-top: 0;
+ -webkit-box-shadow: none;
+ 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-right: 0;
+ padding-left: 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-fluid > .navbar-header,
+.container > .navbar-collapse,
+.container-fluid > .navbar-collapse {
+ margin-right: -15px;
+ margin-left: -15px;
+}
+@media (min-width: 768px) {
+ .container > .navbar-header,
+ .container-fluid > .navbar-header,
+ .container > .navbar-collapse,
+ .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;
+ height: 50px;
+ padding: 15px 15px;
+ font-size: 18px;
+ line-height: 20px;
+}
+.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;
+ padding: 9px 10px;
+ margin-top: 8px;
+ margin-right: 15px;
+ 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;
+ -webkit-box-shadow: none;
+ 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 {
+ padding: 10px 15px;
+ margin-top: 8px;
+ margin-right: -15px;
+ margin-bottom: 8px;
+ margin-left: -15px;
+ border-top: 1px solid transparent;
+ border-bottom: 1px solid transparent;
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);
+}
+@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;
+ padding-top: 0;
+ padding-bottom: 0;
+ margin-right: 0;
+ margin-left: 0;
+ border: 0;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+ }
+}
+.navbar-nav > li > .dropdown-menu {
+ margin-top: 0;
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+}
+.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
+ margin-bottom: 0;
+ border-top-left-radius: 4px;
+ border-top-right-radius: 4px;
+ border-bottom-right-radius: 0;
+ border-bottom-left-radius: 0;
+}
+.navbar-btn {
+ margin-top: 8px;
+ margin-bottom: 8px;
+}
+.navbar-btn.btn-sm {
+ margin-top: 10px;
+ margin-bottom: 10px;
+}
+.navbar-btn.btn-xs {
+ margin-top: 14px;
+ margin-bottom: 14px;
+}
+.navbar-text {
+ margin-top: 15px;
+ margin-bottom: 15px;
+}
+@media (min-width: 768px) {
+ .navbar-text {
+ float: left;
+ margin-right: 15px;
+ margin-left: 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 {
+ color: #555;
+ background-color: #e7e7e7;
+}
+@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,
+fieldset[disabled] .navbar-default .btn-link:hover,
+.navbar-default .btn-link[disabled]:focus,
+fieldset[disabled] .navbar-default .btn-link:focus {
+ color: #ccc;
+}
+.navbar-inverse {
+ background-color: #222;
+ border-color: #080808;
+}
+.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: #080808;
+}
+.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 {
+ color: #fff;
+ background-color: #080808;
+}
+@media (max-width: 767px) {
+ .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
+ border-color: #080808;
+ }
+ .navbar-inverse .navbar-nav .open .dropdown-menu .divider {
+ background-color: #080808;
+ }
+ .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: #080808;
+ }
+ .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,
+fieldset[disabled] .navbar-inverse .btn-link:hover,
+.navbar-inverse .btn-link[disabled]:focus,
+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 {
+ padding: 0 5px;
+ color: #ccc;
+ content: "/\00a0";
+}
+.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;
+ margin-left: -1px;
+ line-height: 1.42857143;
+ color: #337ab7;
+ text-decoration: none;
+ background-color: #fff;
+ border: 1px solid #ddd;
+}
+.pagination > li:first-child > a,
+.pagination > li:first-child > span {
+ margin-left: 0;
+ border-top-left-radius: 4px;
+ border-bottom-left-radius: 4px;
+}
+.pagination > li:last-child > a,
+.pagination > li:last-child > span {
+ border-top-right-radius: 4px;
+ border-bottom-right-radius: 4px;
+}
+.pagination > li > a:hover,
+.pagination > li > span:hover,
+.pagination > li > a:focus,
+.pagination > li > span:focus {
+ color: #23527c;
+ background-color: #eee;
+ border-color: #ddd;
+}
+.pagination > .active > a,
+.pagination > .active > span,
+.pagination > .active > a:hover,
+.pagination > .active > span:hover,
+.pagination > .active > a:focus,
+.pagination > .active > span:focus {
+ z-index: 2;
+ color: #fff;
+ cursor: default;
+ background-color: #337ab7;
+ border-color: #337ab7;
+}
+.pagination > .disabled > span,
+.pagination > .disabled > span:hover,
+.pagination > .disabled > span:focus,
+.pagination > .disabled > a,
+.pagination > .disabled > a:hover,
+.pagination > .disabled > a:focus {
+ color: #777;
+ cursor: not-allowed;
+ background-color: #fff;
+ border-color: #ddd;
+}
+.pagination-lg > li > a,
+.pagination-lg > li > span {
+ padding: 10px 16px;
+ font-size: 18px;
+}
+.pagination-lg > li:first-child > a,
+.pagination-lg > li:first-child > span {
+ border-top-left-radius: 6px;
+ border-bottom-left-radius: 6px;
+}
+.pagination-lg > li:last-child > a,
+.pagination-lg > li:last-child > span {
+ border-top-right-radius: 6px;
+ border-bottom-right-radius: 6px;
+}
+.pagination-sm > li > a,
+.pagination-sm > li > span {
+ padding: 5px 10px;
+ font-size: 12px;
+}
+.pagination-sm > li:first-child > a,
+.pagination-sm > li:first-child > span {
+ border-top-left-radius: 3px;
+ border-bottom-left-radius: 3px;
+}
+.pagination-sm > li:last-child > a,
+.pagination-sm > li:last-child > span {
+ border-top-right-radius: 3px;
+ border-bottom-right-radius: 3px;
+}
+.pager {
+ padding-left: 0;
+ margin: 20px 0;
+ text-align: center;
+ list-style: none;
+}
+.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;
+ cursor: not-allowed;
+ background-color: #fff;
+}
+.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;
+}
+a.label:hover,
+a.label:focus {
+ color: #fff;
+ text-decoration: none;
+ cursor: pointer;
+}
+.label:empty {
+ display: none;
+}
+.btn .label {
+ position: relative;
+ top: -1px;
+}
+.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: bold;
+ line-height: 1;
+ color: #fff;
+ text-align: center;
+ white-space: nowrap;
+ vertical-align: baseline;
+ 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;
+}
+a.badge:hover,
+a.badge:focus {
+ color: #fff;
+ text-decoration: none;
+ cursor: pointer;
+}
+.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;
+}
+.jumbotron {
+ padding: 30px 15px;
+ 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;
+}
+.jumbotron .container {
+ max-width: 100%;
+}
+@media screen and (min-width: 768px) {
+ .jumbotron {
+ padding: 48px 0;
+ }
+ .container .jumbotron,
+ .container-fluid .jumbotron {
+ padding-right: 60px;
+ padding-left: 60px;
+ }
+ .jumbotron h1,
+ .jumbotron .h1 {
+ font-size: 63px;
+ }
+}
+.thumbnail {
+ display: block;
+ padding: 4px;
+ margin-bottom: 20px;
+ line-height: 1.42857143;
+ background-color: #fff;
+ border: 1px solid #ddd;
+ border-radius: 4px;
+ -webkit-transition: border .2s ease-in-out;
+ -o-transition: border .2s ease-in-out;
+ transition: border .2s ease-in-out;
+}
+.thumbnail > img,
+.thumbnail a > img {
+ margin-right: auto;
+ margin-left: auto;
+}
+a.thumbnail:hover,
+a.thumbnail:focus,
+a.thumbnail.active {
+ border-color: #337ab7;
+}
+.thumbnail .caption {
+ padding: 9px;
+ color: #333;
+}
+.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 {
+ color: #3c763d;
+ background-color: #dff0d8;
+ border-color: #d6e9c6;
+}
+.alert-success hr {
+ border-top-color: #c9e2b3;
+}
+.alert-success .alert-link {
+ color: #2b542c;
+}
+.alert-info {
+ color: #31708f;
+ background-color: #d9edf7;
+ border-color: #bce8f1;
+}
+.alert-info hr {
+ border-top-color: #a6e1ec;
+}
+.alert-info .alert-link {
+ color: #245269;
+}
+.alert-warning {
+ color: #8a6d3b;
+ background-color: #fcf8e3;
+ border-color: #faebcc;
+}
+.alert-warning hr {
+ border-top-color: #f7e1b5;
+}
+.alert-warning .alert-link {
+ color: #66512c;
+}
+.alert-danger {
+ color: #a94442;
+ background-color: #f2dede;
+ border-color: #ebccd1;
+}
+.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;
+ }
+}
+@-o-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 {
+ height: 20px;
+ margin-bottom: 20px;
+ overflow: hidden;
+ background-color: #f5f5f5;
+ border-radius: 4px;
+ -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);
+ 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;
+ -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);
+ box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);
+ -webkit-transition: width .6s ease;
+ -o-transition: width .6s ease;
+ transition: width .6s ease;
+}
+.progress-striped .progress-bar,
+.progress-bar-striped {
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+ -webkit-background-size: 40px 40px;
+ 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, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+}
+.progress-bar-info {
+ background-color: #5bc0de;
+}
+.progress-striped .progress-bar-info {
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+}
+.progress-bar-warning {
+ background-color: #f0ad4e;
+}
+.progress-striped .progress-bar-warning {
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+}
+.progress-bar-danger {
+ background-color: #d9534f;
+}
+.progress-striped .progress-bar-danger {
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+}
+.media {
+ margin-top: 15px;
+}
+.media:first-child {
+ margin-top: 0;
+}
+.media,
+.media-body {
+ overflow: hidden;
+ zoom: 1;
+}
+.media-body {
+ width: 10000px;
+}
+.media-object {
+ display: block;
+}
+.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 {
+ padding-left: 0;
+ margin-bottom: 20px;
+}
+.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-left-radius: 4px;
+ border-top-right-radius: 4px;
+}
+.list-group-item:last-child {
+ margin-bottom: 0;
+ border-bottom-right-radius: 4px;
+ border-bottom-left-radius: 4px;
+}
+a.list-group-item {
+ color: #555;
+}
+a.list-group-item .list-group-item-heading {
+ color: #333;
+}
+a.list-group-item:hover,
+a.list-group-item:focus {
+ color: #555;
+ text-decoration: none;
+ background-color: #f5f5f5;
+}
+.list-group-item.disabled,
+.list-group-item.disabled:hover,
+.list-group-item.disabled:focus {
+ color: #777;
+ cursor: not-allowed;
+ background-color: #eee;
+}
+.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:hover .list-group-item-heading,
+.list-group-item.active:focus .list-group-item-heading,
+.list-group-item.active .list-group-item-heading > small,
+.list-group-item.active:hover .list-group-item-heading > small,
+.list-group-item.active:focus .list-group-item-heading > small,
+.list-group-item.active .list-group-item-heading > .small,
+.list-group-item.active:hover .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 {
+ color: #3c763d;
+}
+a.list-group-item-success .list-group-item-heading {
+ color: inherit;
+}
+a.list-group-item-success:hover,
+a.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 {
+ color: #fff;
+ background-color: #3c763d;
+ border-color: #3c763d;
+}
+.list-group-item-info {
+ color: #31708f;
+ background-color: #d9edf7;
+}
+a.list-group-item-info {
+ color: #31708f;
+}
+a.list-group-item-info .list-group-item-heading {
+ color: inherit;
+}
+a.list-group-item-info:hover,
+a.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 {
+ color: #fff;
+ background-color: #31708f;
+ border-color: #31708f;
+}
+.list-group-item-warning {
+ color: #8a6d3b;
+ background-color: #fcf8e3;
+}
+a.list-group-item-warning {
+ color: #8a6d3b;
+}
+a.list-group-item-warning .list-group-item-heading {
+ color: inherit;
+}
+a.list-group-item-warning:hover,
+a.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 {
+ color: #fff;
+ background-color: #8a6d3b;
+ border-color: #8a6d3b;
+}
+.list-group-item-danger {
+ color: #a94442;
+ background-color: #f2dede;
+}
+a.list-group-item-danger {
+ color: #a94442;
+}
+a.list-group-item-danger .list-group-item-heading {
+ color: inherit;
+}
+a.list-group-item-danger:hover,
+a.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 {
+ 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, .05);
+ box-shadow: 0 1px 1px rgba(0, 0, 0, .05);
+}
+.panel-body {
+ padding: 15px;
+}
+.panel-heading {
+ padding: 10px 15px;
+ border-bottom: 1px solid transparent;
+ border-top-left-radius: 3px;
+ border-top-right-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-left-radius: 3px;
+ border-top-right-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-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-right: 15px;
+ padding-left: 15px;
+}
+.panel > .table:first-child,
+.panel > .table-responsive:first-child > .table:first-child {
+ border-top-left-radius: 3px;
+ border-top-right-radius: 3px;
+}
+.panel > .table:first-child > thead:first-child > tr:first-child,
+.panel > .table-responsive:first-child > .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 > 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-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
+.panel > .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 td:first-child,
+.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
+.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
+.panel > .table:first-child > tbody:first-child > tr:first-child th: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-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
+.panel > .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 td:last-child,
+.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
+.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
+.panel > .table:first-child > tbody:first-child > tr:first-child th: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-responsive:last-child > .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 > tfoot:last-child > tr:last-child {
+ border-bottom-right-radius: 3px;
+ border-bottom-left-radius: 3px;
+}
+.panel > .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 td:first-child,
+.panel > .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 td:first-child,
+.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
+.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
+.panel > .table:last-child > tfoot:last-child > tr:last-child th: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-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,
+.panel > .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 td:last-child,
+.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
+.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
+.panel > .table:last-child > tfoot:last-child > tr:last-child th: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-responsive > .table-bordered > thead > tr > th:first-child,
+.panel > .table-bordered > tbody > tr > th:first-child,
+.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
+.panel > .table-bordered > tfoot > tr > th:first-child,
+.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
+.panel > .table-bordered > thead > tr > td:first-child,
+.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
+.panel > .table-bordered > tbody > tr > td:first-child,
+.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
+.panel > .table-bordered > tfoot > tr > td: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-responsive > .table-bordered > thead > tr > th:last-child,
+.panel > .table-bordered > tbody > tr > th:last-child,
+.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
+.panel > .table-bordered > tfoot > tr > th:last-child,
+.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
+.panel > .table-bordered > thead > tr > td:last-child,
+.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
+.panel > .table-bordered > tbody > tr > td:last-child,
+.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
+.panel > .table-bordered > tfoot > tr > td: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-responsive > .table-bordered > thead > tr:first-child > td,
+.panel > .table-bordered > tbody > tr:first-child > td,
+.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
+.panel > .table-bordered > thead > tr:first-child > th,
+.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
+.panel > .table-bordered > tbody > tr:first-child > th,
+.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
+ border-bottom: 0;
+}
+.panel > .table-bordered > tbody > tr:last-child > td,
+.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
+.panel > .table-bordered > tfoot > tr:last-child > td,
+.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
+.panel > .table-bordered > tbody > tr:last-child > th,
+.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
+.panel > .table-bordered > tfoot > tr:last-child > th,
+.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
+ border-bottom: 0;
+}
+.panel > .table-responsive {
+ margin-bottom: 0;
+ border: 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;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ height: 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, .05);
+ 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: bold;
+ line-height: 1;
+ color: #000;
+ text-shadow: 0 1px 0 #fff;
+ filter: alpha(opacity=20);
+ opacity: .2;
+}
+.close:hover,
+.close:focus {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+ filter: alpha(opacity=50);
+ opacity: .5;
+}
+button.close {
+ -webkit-appearance: none;
+ padding: 0;
+ cursor: pointer;
+ background: transparent;
+ border: 0;
+}
+.modal-open {
+ overflow: hidden;
+}
+.modal {
+ position: fixed;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 1050;
+ display: none;
+ overflow: hidden;
+ -webkit-overflow-scrolling: touch;
+ outline: 0;
+}
+.modal.fade .modal-dialog {
+ -webkit-transition: -webkit-transform .3s ease-out;
+ -o-transition: -o-transform .3s ease-out;
+ transition: transform .3s ease-out;
+ -webkit-transform: translate(0, -25%);
+ -ms-transform: translate(0, -25%);
+ -o-transform: translate(0, -25%);
+ transform: translate(0, -25%);
+}
+.modal.in .modal-dialog {
+ -webkit-transform: translate(0, 0);
+ -ms-transform: translate(0, 0);
+ -o-transform: translate(0, 0);
+ transform: translate(0, 0);
+}
+.modal-open .modal {
+ overflow-x: hidden;
+ overflow-y: auto;
+}
+.modal-dialog {
+ position: relative;
+ width: auto;
+ margin: 10px;
+}
+.modal-content {
+ position: relative;
+ background-color: #fff;
+ -webkit-background-clip: padding-box;
+ background-clip: padding-box;
+ border: 1px solid #999;
+ border: 1px solid rgba(0, 0, 0, .2);
+ border-radius: 6px;
+ outline: 0;
+ -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5);
+ box-shadow: 0 3px 9px rgba(0, 0, 0, .5);
+}
+.modal-backdrop {
+ position: fixed;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 1040;
+ background-color: #000;
+}
+.modal-backdrop.fade {
+ filter: alpha(opacity=0);
+ opacity: 0;
+}
+.modal-backdrop.in {
+ filter: alpha(opacity=50);
+ opacity: .5;
+}
+.modal-header {
+ min-height: 16.42857143px;
+ padding: 15px;
+ border-bottom: 1px solid #e5e5e5;
+}
+.modal-header .close {
+ margin-top: -2px;
+}
+.modal-title {
+ margin: 0;
+ line-height: 1.42857143;
+}
+.modal-body {
+ position: relative;
+ padding: 15px;
+}
+.modal-footer {
+ padding: 15px;
+ text-align: right;
+ border-top: 1px solid #e5e5e5;
+}
+.modal-footer .btn + .btn {
+ margin-bottom: 0;
+ margin-left: 5px;
+}
+.modal-footer .btn-group .btn + .btn {
+ margin-left: -1px;
+}
+.modal-footer .btn-block + .btn-block {
+ margin-left: 0;
+}
+.modal-scrollbar-measure {
+ position: absolute;
+ top: -9999px;
+ width: 50px;
+ height: 50px;
+ overflow: scroll;
+}
+@media (min-width: 768px) {
+ .modal-dialog {
+ width: 600px;
+ margin: 30px auto;
+ }
+ .modal-content {
+ -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5);
+ box-shadow: 0 5px 15px rgba(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-size: 12px;
+ font-weight: normal;
+ line-height: 1.4;
+ filter: alpha(opacity=0);
+ opacity: 0;
+}
+.tooltip.in {
+ filter: alpha(opacity=90);
+ opacity: .9;
+}
+.tooltip.top {
+ padding: 5px 0;
+ margin-top: -3px;
+}
+.tooltip.right {
+ padding: 0 5px;
+ margin-left: 3px;
+}
+.tooltip.bottom {
+ padding: 5px 0;
+ margin-top: 3px;
+}
+.tooltip.left {
+ padding: 0 5px;
+ margin-left: -3px;
+}
+.tooltip-inner {
+ max-width: 200px;
+ padding: 3px 8px;
+ color: #fff;
+ text-align: center;
+ text-decoration: none;
+ 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 {
+ right: 5px;
+ bottom: 0;
+ 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-size: 14px;
+ font-weight: normal;
+ line-height: 1.42857143;
+ text-align: left;
+ white-space: normal;
+ background-color: #fff;
+ -webkit-background-clip: padding-box;
+ background-clip: padding-box;
+ border: 1px solid #ccc;
+ border: 1px solid rgba(0, 0, 0, .2);
+ border-radius: 6px;
+ -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
+ 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 {
+ padding: 8px 14px;
+ margin: 0;
+ 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 {
+ content: "";
+ border-width: 10px;
+}
+.popover.top > .arrow {
+ bottom: -11px;
+ left: 50%;
+ margin-left: -11px;
+ border-top-color: #999;
+ border-top-color: rgba(0, 0, 0, .25);
+ border-bottom-width: 0;
+}
+.popover.top > .arrow:after {
+ bottom: 1px;
+ margin-left: -10px;
+ content: " ";
+ border-top-color: #fff;
+ border-bottom-width: 0;
+}
+.popover.right > .arrow {
+ top: 50%;
+ left: -11px;
+ margin-top: -11px;
+ border-right-color: #999;
+ border-right-color: rgba(0, 0, 0, .25);
+ border-left-width: 0;
+}
+.popover.right > .arrow:after {
+ bottom: -10px;
+ left: 1px;
+ content: " ";
+ border-right-color: #fff;
+ border-left-width: 0;
+}
+.popover.bottom > .arrow {
+ top: -11px;
+ left: 50%;
+ margin-left: -11px;
+ border-top-width: 0;
+ border-bottom-color: #999;
+ border-bottom-color: rgba(0, 0, 0, .25);
+}
+.popover.bottom > .arrow:after {
+ top: 1px;
+ margin-left: -10px;
+ content: " ";
+ 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 {
+ right: 1px;
+ bottom: -10px;
+ content: " ";
+ border-right-width: 0;
+ border-left-color: #fff;
+}
+.carousel {
+ position: relative;
+}
+.carousel-inner {
+ position: relative;
+ width: 100%;
+ overflow: hidden;
+}
+.carousel-inner > .item {
+ position: relative;
+ display: none;
+ -webkit-transition: .6s ease-in-out left;
+ -o-transition: .6s ease-in-out left;
+ transition: .6s ease-in-out left;
+}
+.carousel-inner > .item > img,
+.carousel-inner > .item > a > img {
+ line-height: 1;
+}
+@media all and (transform-3d), (-webkit-transform-3d) {
+ .carousel-inner > .item {
+ -webkit-transition: -webkit-transform .6s ease-in-out;
+ -o-transition: -o-transform .6s ease-in-out;
+ transition: transform .6s ease-in-out;
+
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden;
+ -webkit-perspective: 1000;
+ perspective: 1000;
+ }
+ .carousel-inner > .item.next,
+ .carousel-inner > .item.active.right {
+ left: 0;
+ -webkit-transform: translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0);
+ }
+ .carousel-inner > .item.prev,
+ .carousel-inner > .item.active.left {
+ left: 0;
+ -webkit-transform: translate3d(-100%, 0, 0);
+ transform: translate3d(-100%, 0, 0);
+ }
+ .carousel-inner > .item.next.left,
+ .carousel-inner > .item.prev.right,
+ .carousel-inner > .item.active {
+ left: 0;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+.carousel-inner > .active,
+.carousel-inner > .next,
+.carousel-inner > .prev {
+ display: block;
+}
+.carousel-inner > .active {
+ left: 0;
+}
+.carousel-inner > .next,
+.carousel-inner > .prev {
+ position: absolute;
+ top: 0;
+ width: 100%;
+}
+.carousel-inner > .next {
+ left: 100%;
+}
+.carousel-inner > .prev {
+ left: -100%;
+}
+.carousel-inner > .next.left,
+.carousel-inner > .prev.right {
+ left: 0;
+}
+.carousel-inner > .active.left {
+ left: -100%;
+}
+.carousel-inner > .active.right {
+ left: 100%;
+}
+.carousel-control {
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ width: 15%;
+ font-size: 20px;
+ color: #fff;
+ text-align: center;
+ text-shadow: 0 1px 2px rgba(0, 0, 0, .6);
+ filter: alpha(opacity=50);
+ opacity: .5;
+}
+.carousel-control.left {
+ background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
+ background-image: -o-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
+ background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001)));
+ background-image: linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
+ background-repeat: repeat-x;
+}
+.carousel-control.right {
+ right: 0;
+ left: auto;
+ background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
+ background-image: -o-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
+ background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5)));
+ background-image: linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
+ background-repeat: repeat-x;
+}
+.carousel-control:hover,
+.carousel-control:focus {
+ color: #fff;
+ text-decoration: none;
+ filter: alpha(opacity=90);
+ outline: 0;
+ opacity: .9;
+}
+.carousel-control .icon-prev,
+.carousel-control .icon-next,
+.carousel-control .glyphicon-chevron-left,
+.carousel-control .glyphicon-chevron-right {
+ position: absolute;
+ top: 50%;
+ 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;
+ margin-top: -10px;
+ font-family: serif;
+ line-height: 1;
+}
+.carousel-control .icon-prev:before {
+ content: '\2039';
+}
+.carousel-control .icon-next:before {
+ content: '\203a';
+}
+.carousel-indicators {
+ position: absolute;
+ bottom: 10px;
+ left: 50%;
+ z-index: 15;
+ width: 60%;
+ padding-left: 0;
+ margin-left: -30%;
+ text-align: center;
+ list-style: none;
+}
+.carousel-indicators li {
+ display: inline-block;
+ width: 10px;
+ height: 10px;
+ margin: 1px;
+ text-indent: -999px;
+ cursor: pointer;
+ background-color: #000 \9;
+ background-color: rgba(0, 0, 0, 0);
+ border: 1px solid #fff;
+ border-radius: 10px;
+}
+.carousel-indicators .active {
+ width: 12px;
+ height: 12px;
+ margin: 0;
+ background-color: #fff;
+}
+.carousel-caption {
+ position: absolute;
+ right: 15%;
+ bottom: 20px;
+ left: 15%;
+ z-index: 10;
+ padding-top: 20px;
+ padding-bottom: 20px;
+ color: #fff;
+ text-align: center;
+ text-shadow: 0 1px 2px rgba(0, 0, 0, .6);
+}
+.carousel-caption .btn {
+ text-shadow: none;
+}
+@media 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: -15px;
+ font-size: 30px;
+ }
+ .carousel-control .glyphicon-chevron-left,
+ .carousel-control .icon-prev {
+ margin-left: -15px;
+ }
+ .carousel-control .glyphicon-chevron-right,
+ .carousel-control .icon-next {
+ margin-right: -15px;
+ }
+ .carousel-caption {
+ right: 20%;
+ left: 20%;
+ padding-bottom: 30px;
+ }
+ .carousel-indicators {
+ bottom: 20px;
+ }
+}
+.clearfix:before,
+.clearfix:after,
+.dl-horizontal dd:before,
+.dl-horizontal dd:after,
+.container:before,
+.container:after,
+.container-fluid:before,
+.container-fluid:after,
+.row:before,
+.row:after,
+.form-horizontal .form-group:before,
+.form-horizontal .form-group:after,
+.btn-toolbar:before,
+.btn-toolbar:after,
+.btn-group-vertical > .btn-group:before,
+.btn-group-vertical > .btn-group:after,
+.nav:before,
+.nav:after,
+.navbar:before,
+.navbar:after,
+.navbar-header:before,
+.navbar-header:after,
+.navbar-collapse:before,
+.navbar-collapse:after,
+.pager:before,
+.pager:after,
+.panel-body:before,
+.panel-body:after,
+.modal-footer:before,
+.modal-footer:after {
+ display: table;
+ content: " ";
+}
+.clearfix:after,
+.dl-horizontal dd:after,
+.container:after,
+.container-fluid:after,
+.row:after,
+.form-horizontal .form-group:after,
+.btn-toolbar:after,
+.btn-group-vertical > .btn-group:after,
+.nav:after,
+.navbar:after,
+.navbar-header:after,
+.navbar-collapse:after,
+.pager:after,
+.panel-body:after,
+.modal-footer:after {
+ clear: both;
+}
+.center-block {
+ display: block;
+ margin-right: auto;
+ margin-left: 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,
+.visible-sm,
+.visible-md,
+.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;
+ }
+ 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;
+ }
+ 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;
+ }
+ 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;
+ }
+ 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;
+ }
+ 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;
+ }
+}
+/*# sourceMappingURL=bootstrap.css.map */
diff --git a/app/core/header/header.controller.js b/app/core/header/header.controller.js
new file mode 100644
index 0000000..6f575ca
--- /dev/null
+++ b/app/core/header/header.controller.js
@@ -0,0 +1,15 @@
+(function () {
+
+ 'use strict';
+
+ angular
+ .module('dcaeApp.header')
+ .controller('HeaderController', HeaderController);
+
+ function HeaderController($rootScope) {
+ var vm = this;
+
+
+ }
+
+})();
diff --git a/app/core/header/header.module.js b/app/core/header/header.module.js
new file mode 100644
index 0000000..24c0929
--- /dev/null
+++ b/app/core/header/header.module.js
@@ -0,0 +1,13 @@
+(function () {
+
+ 'use strict';
+
+ angular
+ .module('dcaeApp.header', [])
+ .config(config);
+
+ function config() {
+
+ }
+
+})();
diff --git a/app/core/header/layouts/content-with-header/header.html b/app/core/header/layouts/content-with-header/header.html
new file mode 100644
index 0000000..64c6f44
--- /dev/null
+++ b/app/core/header/layouts/content-with-header/header.html
@@ -0,0 +1,36 @@
+<header class="banner navbar navbar-default navbar-static-top" role="banner" data-transparent-header="true">
+ <div class="container">
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <div id="logo">
+ <a href="index.html">
+ <img class="logo-trans logo-reg" src="images/att_logo.png" height="56" width="56" alt="AT&amp;T | DCAE App">
+ </a>
+ </div>
+ </div>
+ <nav class="collapse navbar-collapse bs-navbar-collapse" role="navigation">
+ <ul id="menu-primary-navigation" class="nav navbar-nav">
+ <li class="active menu-home">
+ <a title="home" href="index.html">Home</a>
+ </li>
+ <li class="menu-contact">
+ <a title="Contact Us" href="contactUs.html">Contact Us</a>
+ </li>
+ <li style="margin-right:-30px"><!-- class="menu-contact"-->
+ <a title="Login" href="login.html">Login</a>
+ </li>
+ <li class="menu-contact">
+ <a href="index.html">|</a>
+ </li>
+ <li style="margin-left:-28px"><!-- class="menu-contact"-->
+ <a title="Sign Up" href="signUp.html">Sign Up</a>
+ </li>
+ </ul>
+ </nav>
+ </div>
+</header>
diff --git a/app/core/header/layouts/content-with-header/header.less b/app/core/header/layouts/content-with-header/header.less
new file mode 100644
index 0000000..94445d6
--- /dev/null
+++ b/app/core/header/layouts/content-with-header/header.less
@@ -0,0 +1,5 @@
+#header {
+ .header {
+ background-color: yellow;
+ }
+}
diff --git a/app/core/header/layouts/horizontal-navigation/header.html b/app/core/header/layouts/horizontal-navigation/header.html
new file mode 100644
index 0000000..ee39e18
--- /dev/null
+++ b/app/core/header/layouts/horizontal-navigation/header.html
@@ -0,0 +1,14 @@
+<div class="col-md-2"><div class="header-logo">DCAE Application</div></div>
+
+<div class="col-md-8">
+ <!--<ul class="header-top-menu">
+ <li><a ui-sref="app.home">Dashboard</a></li>
+ <li><a ui-sref="app.docs">Documentation</a></li>
+ <li><a ui-sref="app.support">Support</a></li>
+ </ul>-->
+</div>
+
+<div class="col-md-2 header-right">
+ <div class="header-chat"></div>
+ <div class="header-avatar"></div>
+</div>
diff --git a/app/core/header/layouts/horizontal-navigation/header.less b/app/core/header/layouts/horizontal-navigation/header.less
new file mode 100644
index 0000000..f5a7e96
--- /dev/null
+++ b/app/core/header/layouts/horizontal-navigation/header.less
@@ -0,0 +1,53 @@
+#header {
+
+ background-color: #1370A3;
+ height: 80px;
+
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+
+ .header-logo {
+ .p_24;
+ .logo-white;
+ width: 300px;
+ margin: 0 30px;
+ vertical-align: middle;
+ line-height: 56px;
+ text-indent: 55px;
+ }
+
+ ul.header-top-menu {
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+ margin: 0;
+
+ li {
+ list-style: none;
+ margin: 0 20px;
+
+ a {
+ .p_18_m;
+ text-decoration: none;
+ }
+ }
+ }
+
+ .header-right {
+ margin: 0 30px;
+ display: flex;
+ flex-direction: row;
+ justify-content: flex-end;
+
+ .header-chat {
+
+ }
+
+ .header-avatar {
+
+ }
+ }
+
+}
+
diff --git a/app/core/layouts/content-only/content-only.html b/app/core/layouts/content-only/content-only.html
new file mode 100644
index 0000000..50c6d6f
--- /dev/null
+++ b/app/core/layouts/content-only/content-only.html
@@ -0,0 +1,7 @@
+<div id="dcaedt">
+<div id="layout-content-only" class="template-layout">
+
+ <div id="content" ui-view="content"></div>
+
+</div>
+</div>
diff --git a/app/core/layouts/content-only/content-only.less b/app/core/layouts/content-only/content-only.less
new file mode 100644
index 0000000..a65a6bc
--- /dev/null
+++ b/app/core/layouts/content-only/content-only.less
@@ -0,0 +1,3 @@
+#layout-content-only {
+ /*background: url('images/top.jpg') no-repeat 0 0;*/
+}
diff --git a/app/core/layouts/content-with-header/content-with-header.html b/app/core/layouts/content-with-header/content-with-header.html
new file mode 100644
index 0000000..286cef5
--- /dev/null
+++ b/app/core/layouts/content-with-header/content-with-header.html
@@ -0,0 +1,5 @@
+<div id="layout-content-with-header" class="template-layout">
+
+ <div id="content" ui-view="content"></div>
+
+</div>
diff --git a/app/core/layouts/content-with-header/content-with-header.less b/app/core/layouts/content-with-header/content-with-header.less
new file mode 100644
index 0000000..82ad274
--- /dev/null
+++ b/app/core/layouts/content-with-header/content-with-header.less
@@ -0,0 +1,3 @@
+#layout-content-with-header {
+ /*background: url('images/top.jpg') no-repeat 0 0;*/
+}
diff --git a/app/core/layouts/content-with-navigation/content-with-navigation.html b/app/core/layouts/content-with-navigation/content-with-navigation.html
new file mode 100755
index 0000000..7b3c918
--- /dev/null
+++ b/app/core/layouts/content-with-navigation/content-with-navigation.html
@@ -0,0 +1,15 @@
+<div id="main-wrapper">
+
+ <div id="navigation" class="navigation" ui-view="navigation"></div>
+
+ <div id="content-container" class="content-container">
+ <div id="dcaeSidenav" class="sidenav">
+ <a href="javascript:void(0)" class="closebtn" onclick="closeNav()">&times;</a>
+ <a href="#">General</a>
+ <a href="#">Composition</a>
+ <a href="#">Artifact</a>
+ </div>
+ <div id="content" ui-view="content"></div>
+ </div>
+
+</div>
diff --git a/app/core/layouts/content-with-navigation/content-with-navigation.less b/app/core/layouts/content-with-navigation/content-with-navigation.less
new file mode 100755
index 0000000..2ff8b41
--- /dev/null
+++ b/app/core/layouts/content-with-navigation/content-with-navigation.less
@@ -0,0 +1,4 @@
+.content-container {
+ padding: 20px;
+ background-color: @main_color_p;
+}
diff --git a/app/core/layouts/full-page-with-header/full-page-with-header.html b/app/core/layouts/full-page-with-header/full-page-with-header.html
new file mode 100644
index 0000000..d1f8372
--- /dev/null
+++ b/app/core/layouts/full-page-with-header/full-page-with-header.html
@@ -0,0 +1,30 @@
+<div id="full-page-with-header" class="template-layout">
+
+ <header class="banner navbar navbar-default navbar-static-top" role="banner" data-transparent-header="true">
+ <div class="container">
+
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <div id="logo" class="logo-white" ui-sref="home"></div>
+ </div>
+ <nav class="collapse navbar-collapse bs-navbar-collapse" role="navigation">
+ <ul id="menu-primary-navigation" class="nav navbar-nav">
+ <li class="menu-home" data-ng-class="{'active': state.current.name==='app.home'}"><a title="home" ui-sref="app.home">Home</a></li>
+ <li class="menu-contact" data-ng-class="{'active': state.current.name==='app.contactus'}"><a title="Contact Us" ui-sref="app.contactus">Contact Us</a></li>
+ <li class="menu-login" data-ng-class="{'active': state.current.name==='app.login'}"><a title="Login" ui-sref="app.login">Login</a></li>
+ <li class="menu-seperator">|</li>
+ <li class="menu-signup" data-ng-class="{'active': state.current.name==='app.register'}"><a title="Sign Up" ui-sref="app.register">Sign Up</a></li>
+ </ul>
+ </nav>
+
+ </div>
+ </header>
+
+ <div id="content" ui-view="content"></div>
+
+</div>
diff --git a/app/core/layouts/full-page-with-header/full-page-with-header.less b/app/core/layouts/full-page-with-header/full-page-with-header.less
new file mode 100644
index 0000000..2a28cd1
--- /dev/null
+++ b/app/core/layouts/full-page-with-header/full-page-with-header.less
@@ -0,0 +1,167 @@
+#full-page-with-header {
+ /*background: url('images/top.jpg') no-repeat 0 0;*/
+
+ #content {
+ padding-top: 70px;
+ }
+
+ /* =============================================================================
+ Header
+ ========================================================================== */
+
+ .banner {
+ -webkit-box-shadow:0 1px 2px rgba(43, 48, 51, 0.08);
+ -moz-box-shadow:0 1px 2px rgba(43, 48, 51, 0.08);
+ box-shadow:0 1px 2px rgba(43, 48, 51, 0.08);
+ z-index:20;
+ }
+
+ .navbar {
+ background-color:#fff;
+ margin-bottom:0;
+ }
+
+ #logo {
+ float:left;
+ display:block;
+ margin:20px 0;
+ }
+ #logo .logo-trans {display:none}
+
+ .navbar .navbar-nav {
+ float:right;
+ text-align:right;
+ margin: 20px 0 0 0;
+ }
+
+ .navbar .navbar-nav > li > a {
+ position:relative;
+ color:#828282;
+ font-weight:600;
+ padding-top: 0;
+ padding-bottom:15px;
+ -webkit-transition:all 0.1s linear;
+ -moz-transition:all 0.1s linear;
+ transition:all 0.1s linear;
+ }
+
+ .navbar .navbar-nav > li > a:after {
+ position:absolute;
+ bottom:7px;
+ left:50%;
+ content:'';
+ width:10px;
+ height:0px;
+ margin-left:-5px;
+ background-color:#fff;
+ -webkit-transition:all 0.1s linear;
+ -moz-transition:all 0.1s linear;
+ transition:all 0.1s linear;
+ }
+
+ .navbar .navbar-nav > li > a:hover {color:#828282}
+
+ .navbar .navbar-nav > li > a:hover:after,
+ .navbar .navbar-nav > li.active > a:after,
+ .navbar .navbar-nav > li.active > a:hover:after,
+ .navbar .navbar-nav > li.active > a:focus:after {
+ position:absolute;
+ bottom:9px;
+ left:50%;
+ content:'';
+ width:20px;
+ height:2px;
+ margin-left:-10px;
+ background-color:#2b8dd6;
+ }
+
+
+ .navbar-nav > li + li {margin-left:2px}
+ .navbar .navbar-nav > li.active > a,
+ .navbar .navbar-nav > li.active > a:hover,
+ .navbar .navbar-nav > li.active > a:focus {
+ color:#828282;
+ background-color:transparent;
+ }
+ .navbar .navbar-nav .dropdown-menu {border-radius:0 !important}
+
+ .navbar .navbar-nav .dropdown-menu li a {position:relative}
+ .navbar .navbar-nav .dropdown-menu li a:after {
+ position:absolute;
+ bottom:2px;
+ left:30px;
+ content:'';
+ width:20px;
+ height:0px;
+ margin-left:-10px;
+ background-color:#fff;
+ -webkit-transition:all 0.1s linear;
+ -moz-transition:all 0.1s linear;
+ transition:all 0.1s linear;
+ }
+ .navbar .navbar-nav .dropdown-menu li a:hover:after {
+ position:absolute;
+ bottom:3px;
+ left:30px;
+ content:'';
+ width:20px;
+ height:2px;
+ margin-left:-10px;
+ background-color:#e2e2e2;
+ }
+
+ .navbar .navbar-nav .dropdown-menu li.active a {
+ background-color:transparent;
+ color:#2b8dd6;
+ }
+
+ .navbar .navbar-nav .dropdown-menu li a:hover,
+ .navbar .navbar-nav .dropdown-menu li.active a:hover {
+ color:#2b8dd6;
+ background-color:transparent;
+ }
+
+ .navbar-collapse {max-height:none}
+ .navbar-collapse ul {margin-bottom:10px}
+
+ /* Transparent Header */
+ .banner[data-transparent-header="true"] {
+ width:100%;
+ top:0;
+ left:0;
+ position:absolute;
+ overflow:visible !important;
+ z-index:9998;
+ background-color:transparent;
+ box-shadow:none;
+ -webkit-box-shadow:none;
+ -moz-box-shadow:none;
+ -o-box-shadow:none;
+ border-bottom:1px solid rgba(255,255,255,0.25) !important;
+ }
+
+ .boxed-mode .banner[data-transparent-header="true"] {
+ left:0; right:0; margin:0 auto;
+ }
+
+ .banner[data-transparent-header="true"] #logo .logo-trans {display:inline}
+ .banner[data-transparent-header="true"] #logo .logo-main {display:none}
+
+ .banner[data-transparent-header="true"] .navbar-nav > li > a,
+ .banner[data-transparent-header="true"] .navbar-nav > li.active > a {color:#fff}
+ .banner[data-transparent-header="true"] .navbar-nav > li > a:hover,
+ .banner[data-transparent-header="true"] .navbar-nav > li.active > a:hover {color:#fff}
+
+ .banner[data-transparent-header="true"] .navbar-nav > li > a:hover:after,
+ .banner[data-transparent-header="true"] .navbar-nav > li.active > a:after,
+ .banner[data-transparent-header="true"] .navbar-nav > li.active > a:hover:after,
+ .banner[data-transparent-header="true"] .navbar-nav > li.active > a:focus:after {background-color:#fff}
+
+ .menu-seperator {
+ .p_14_r;
+ }
+
+ .menu-login a { padding-right: 4px; }
+ .menu-signup a { padding-left: 4px; }
+
+}
diff --git a/app/core/layouts/header-navigation-content/header-navigation-content.html b/app/core/layouts/header-navigation-content/header-navigation-content.html
new file mode 100644
index 0000000..3c7b283
--- /dev/null
+++ b/app/core/layouts/header-navigation-content/header-navigation-content.html
@@ -0,0 +1,11 @@
+<div id="main-wrapper">
+
+ <div id="header" class="header" ui-view="header"></div>
+
+ <div id="navigation" class="navigation" ui-view="navigation"></div>
+
+ <div id="content-container" class="content-container">
+ <div id="content" ui-view="content"></div>
+ </div>
+
+</div>
diff --git a/app/core/layouts/header-navigation-content/header-navigation-content.less b/app/core/layouts/header-navigation-content/header-navigation-content.less
new file mode 100644
index 0000000..89028cc
--- /dev/null
+++ b/app/core/layouts/header-navigation-content/header-navigation-content.less
@@ -0,0 +1,3 @@
+.content-container {
+ padding: 20px;
+}
diff --git a/app/core/navigation/layouts/horizontal-navigation/navigation.html b/app/core/navigation/layouts/horizontal-navigation/navigation.html
new file mode 100644
index 0000000..4958ba4
--- /dev/null
+++ b/app/core/navigation/layouts/horizontal-navigation/navigation.html
@@ -0,0 +1,4 @@
+<ul class="navigation-top-menu">
+ <li><a ui-sref="dcae.app.home">Home</a></li>
+ <li><a ui-sref="dcae.app.about">About</a></li>
+</ul>
diff --git a/app/core/navigation/layouts/horizontal-navigation/navigation.less b/app/core/navigation/layouts/horizontal-navigation/navigation.less
new file mode 100644
index 0000000..e558311
--- /dev/null
+++ b/app/core/navigation/layouts/horizontal-navigation/navigation.less
@@ -0,0 +1,26 @@
+#navigation {
+
+ background-color: #dddddd;
+ height: 40px;
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+
+ ul.navigation-top-menu {
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+ margin: 0;
+
+ li {
+ list-style: none;
+ margin: 0 20px;
+
+ a {
+ .m_16_m;
+ text-decoration: none;
+ }
+ }
+ }
+
+}
diff --git a/app/core/navigation/navigation.controller.js b/app/core/navigation/navigation.controller.js
new file mode 100644
index 0000000..a270e05
--- /dev/null
+++ b/app/core/navigation/navigation.controller.js
@@ -0,0 +1,41 @@
+(function ()
+{
+ 'use strict';
+
+ angular
+ .module('dcaeApp.navigation')
+ .controller('NavigationController', NavigationController);
+
+ /** @ngInject */
+ function NavigationController($scope)
+ {
+ var vm = this;
+
+ // Data
+ vm.bodyEl = angular.element('body');
+ vm.folded = false;
+ vm.msScrollOptions = {
+ suppressScrollX: true
+ };
+
+ // Methods
+ vm.toggleMsNavigationFolded = toggleMsNavigationFolded;
+
+ //////////
+
+ /**
+ * Toggle folded status
+ */
+ function toggleMsNavigationFolded()
+ {
+ vm.folded = !vm.folded;
+ }
+
+ // Close the mobile menu on $stateChangeSuccess
+ $scope.$on('$stateChangeSuccess', function ()
+ {
+ vm.bodyEl.removeClass('ms-navigation-horizontal-mobile-menu-active');
+ });
+ }
+
+})();
diff --git a/app/core/navigation/navigation.module.js b/app/core/navigation/navigation.module.js
new file mode 100644
index 0000000..f5ae2be
--- /dev/null
+++ b/app/core/navigation/navigation.module.js
@@ -0,0 +1,15 @@
+(function ()
+{
+ 'use strict';
+
+ angular
+ .module('dcaeApp.navigation', [])
+ .config(config);
+
+ /** @ngInject */
+ function config()
+ {
+
+ }
+
+})();
diff --git a/app/dcaeapp.xml b/app/dcaeapp.xml
new file mode 100644
index 0000000..440f8ef
--- /dev/null
+++ b/app/dcaeapp.xml
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_3.dtd">
+
+<!-- ==================================================================
+Configure and deploy the test web application in $(jetty.home)/webapps/test
+
+Note. If this file did not exist or used a context path other that /test
+then the default configuration of jetty.xml would discover the test
+webapplication with a WebAppDeployer. By specifying a context in this
+directory, additional configuration may be specified and hot deployments
+detected.
+===================================================================== -->
+
+<Configure id="testWebapp" class="org.eclipse.jetty.webapp.WebAppContext">
+
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <!-- Required minimal context configuration : -->
+ <!-- + contextPath -->
+ <!-- + war OR resourceBase -->
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <Set name="contextPath">/dcae</Set>
+ <Set name="war"><Property name="jetty.webapps" default="."/>/dcae.war</Set>
+
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <!-- Optional context configuration -->
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <Set name="extractWAR">true</Set>
+ <Set name="copyWebDir">false</Set>
+ <Set name="defaultsDescriptor"><Property name="jetty.home" default="."/>/etc/webdefault.xml</Set>
+ <Set name="overrideDescriptor"><Property name="jetty.webapps" default="."/>/test.d/override-web.xml</Set>
+
+ <!-- Enable WebSocket container -->
+ <Call name="setAttribute">
+ <Arg>org.eclipse.jetty.websocket.jsr356</Arg>
+ <Arg type="Boolean">true</Arg>
+ </Call>
+
+ <Set name="gzipHandler">
+ <New class="org.eclipse.jetty.server.handler.gzip.GzipHandler">
+ <Set name="minGzipSize">2048</Set>
+ </New>
+ </Set>
+
+ <!-- Set Caching Classloader that improves performance on resource searching webapps -->
+ <Set name="classLoader">
+ <New class="org.eclipse.jetty.webapp.CachingWebAppClassLoader">
+ <Arg><Ref refid="testWebapp"/></Arg>
+ </New>
+ </Set>
+
+ <!-- Enable symlinks
+ <Call name="addAliasCheck">
+ <Arg><New class="org.eclipse.jetty.server.handler.AllowSymLinkAliasChecker"/></Arg>
+ </Call>
+ -->
+
+ <!-- virtual hosts
+ <Set name="virtualHosts">
+ <Array type="String">
+ <Item>www.MyVirtualDomain.com</Item>
+ <Item>m.MyVirtualDomain.com</Item>
+ <Item>*.OtherVirtualDomain.com</Item>
+ <Item>@ConnectorName</Item>
+ <Item>localhost</Item>
+ <Item>127.0.0.1</Item>
+ </Array>
+ </Set>
+ -->
+
+ <!-- disable cookies
+ <Get name="sessionHandler">
+ <Get name="sessionManager">
+ <Set name="usingCookies" type="boolean">false</Set>
+ </Get>
+ </Get>
+ -->
+
+ <Get name="securityHandler">
+ <Set name="loginService">
+ <New class="org.eclipse.jetty.security.HashLoginService">
+ <Set name="name">Test Realm</Set>
+ <Set name="config"><SystemProperty name="jetty.base" default="."/>/etc/realm.properties</Set>
+ <!-- To enable reload of realm when properties change, uncomment the following lines -->
+ <!-- changing refreshInterval (in seconds) as desired -->
+ <!--
+ <Set name="refreshInterval">5</Set>
+ <Call name="start"></Call>
+ -->
+ </New>
+ </Set>
+ <Set name="authenticator">
+ <New class="org.eclipse.jetty.security.authentication.FormAuthenticator">
+ <Set name="alwaysSaveUri">true</Set>
+ </New>
+ </Set>
+ <Set name="checkWelcomeFiles">true</Set>
+ </Get>
+
+ <!-- Non standard error page mapping -->
+ <!--
+ <Get name="errorHandler">
+ <Call name="addErrorPage">
+ <Arg type="int">500</Arg>
+ <Arg type="int">599</Arg>
+ <Arg type="String">/dump/errorCodeRangeMapping</Arg>
+ </Call>
+ </Get>
+ -->
+
+ <!-- Add context specific logger
+ <Set name="handler">
+ <New id="RequestLog" class="org.eclipse.jetty.server.handler.RequestLogHandler">
+ <Set name="requestLog">
+ <New id="RequestLogImpl" class="org.eclipse.jetty.server.NCSARequestLog">
+ <Set name="filename"><Property name="jetty.logs" default="./logs"/>/test-yyyy_mm_dd.request.log</Set>
+ <Set name="filenameDateFormat">yyyy_MM_dd</Set>
+ <Set name="append">true</Set>
+ <Set name="LogTimeZone">GMT</Set>
+ </New>
+ </Set>
+ </New>
+ </Set>
+ -->
+
+</Configure>
diff --git a/app/favicon.png b/app/favicon.png
new file mode 100644
index 0000000..6e9f04d
--- /dev/null
+++ b/app/favicon.png
Binary files differ
diff --git a/app/grep-logs/AIC-grep.txt b/app/grep-logs/AIC-grep.txt
new file mode 100644
index 0000000..2d9d237
--- /dev/null
+++ b/app/grep-logs/AIC-grep.txt
@@ -0,0 +1,4 @@
+.//grep.sh:echo "Producing AIC-grep.txt"
+.//bower_components/jquery/dist/jquery.js: // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497)
+.//bower_components/jquery/src/effects.js: // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497)
+.//grep.sh:echo "Producing AIC-grep.txt"
diff --git a/app/grep-logs/amdocs-grep.txt b/app/grep-logs/amdocs-grep.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/app/grep-logs/amdocs-grep.txt
diff --git a/app/grep.sh b/app/grep.sh
new file mode 100755
index 0000000..40c2c7a
--- /dev/null
+++ b/app/grep.sh
@@ -0,0 +1,53 @@
+#!/bin/bash
+clear
+
+echo "Create grep-logs folder for txt files"
+mkdir -p grep-logs
+
+echo "Producing AIC-grep.txt"
+grep -riHI --exclude=AIC-grep.txt "aic" ./ | grep -vI --exclude=AIC-grep.txt "AiC" | grep -vI --exclude=AIC-grep.txt "aaico" >> grep-logs/AIC-grep.txt
+
+echo "Producing amdocs-grep.txt"
+grep -riHI --exclude=amdocs-grep.txt "amdocs" >> grep-logs/amdocs-grep.txt
+
+echo "Producing att-grep.txt"
+grep -riH --exclude=att-grep.txt " att " ./ | grep -vI --exclude=att-grep.txt "collector\.log" | grep -vI --exclude=att-grep.txt "Canvas.prototype.zoom = function(newScale, center) " >> grep-logs/att-grep.txt
+
+echo "Producing attuid-grep.txt"
+grep -rHI --exclude=attuid-grep.txt " [a-zA-Z][a-zA-Z][0-9][0-9][0-9][0-9a-zA-Z] " >> grep-logs/attuid-grep.txt
+
+echo "Producing comatt-grep.txt"
+grep -riHI --exclude=comatt-grep.txt "com.att" >> grep-logs/comatt-grep.txt
+
+echo "Producing ecomp-grep.txt"
+grep -riHI --exclude=ecomp-grep.txt "ecomp" | grep -viI --exclude=ecomp-grep.txt "opene" >> grep-logs/ecomp-grep.txt
+
+echo "Producing nfod-grep.txt"
+grep -riHI --exclude=nfod-grep.txt 'Network On Demand' >> grep-logs/nfod-grep.txt
+
+echo "Producing ngeag-grep.txt"
+grep -riHI --exclude=ngeag-grep.txt 'ngeag' >> grep-logs/ngeag-grep.txt
+
+echo "Producing public12-ip-grep.txt"
+grep -rEI --exclude=public12-ip-grep.txt '12\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' >> grep-logs/public12-ip-grep.txt
+
+echo "Producing public135-ip-grep.txt"
+grep -rEI --exclude=public135-ip-grep.txt '135\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' >> grep-logs/public135-ip-grep.txt
+
+echo "Producing public172-99-ip-grep.txt"
+grep -riHI --exclude=public172-99-ip-grep.txt "172\.99" >> grep-logs/public172-99-ip-grep.txt
+
+echo "Producing research-com-att-grep.txt"
+grep -riHI --exclude=research-com-att-grep.txt "research\.att\.com" >> grep-logs/research-com-att-grep.txt
+
+echo "Producing sbc-grep.txt"
+grep -riHI --exclude=sbc-grep.txt "sbc" >> grep-logs/sbc-grep.txt
+
+echo "Producing sbc-com-grep.txt"
+grep -riHI --exclude=sbc-com-grep.txt "sbc\.com" >> grep-logs/sbc-com-grep.txt
+
+echo "Producing ucpe-grep.txt"
+grep -riHI --exclude=ucpe-grep.txt "ucpe" >> grep-logs/ucpe-grep.txt
+
+echo "Finished greppppp!!!!"
+
diff --git a/app/index.html b/app/index.html
new file mode 100644
index 0000000..17f6ae0
--- /dev/null
+++ b/app/index.html
@@ -0,0 +1,194 @@
+<!doctype html>
+<html ng-app="dcaeApp">
+<!--<html>-->
+
+<head>
+ <meta charset="utf-8">
+ <title>DCAE App</title>
+
+ <meta name="description" content="">
+ <meta name="viewport" content="width=device-width">
+
+ <link rel="shortcut icon" href="favicon.png" type="image/png">
+ <link rel="icon" href="favicon.png" type="image/png">
+
+ <!-- Place favicon.ico and apple-touch-icon.png in the root directory -->
+ <!-- build:css(.) styles/vendor.css -->
+ <!-- bower:css -->
+ <link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.css" />
+ <!-- endbower -->
+ <!-- endbuild -->
+
+ <!-- build:css(.tmp) styles/main.css -->
+ <!-- <link rel="stylesheet" href="styles/sdc.css"> -->
+ <link rel="stylesheet" href="styles/app.css" />
+ <link rel="stylesheet" href="styles/catalog.css" />
+
+ <!-- endbuild -->
+
+ <style>
+ /* The side navigation menu */
+
+ .sidenav {
+ height: 100%;
+ /* 100% Full-height */
+ width: 0;
+ /* 0 width - change this with JavaScript */
+ position: fixed;
+ /* Stay in place */
+ z-index: 1;
+ /* Stay on top */
+ top: 123px;
+ left: 0;
+ background-color: #dddddd;
+ /* White*/
+ overflow-x: hidden;
+ /* Disable horizontal scroll */
+ padding-top: 60px;
+ /* Place content 60px from the top */
+ transition: 0.5s;
+ /* 0.5 second transition effect to slide in the sidenav */
+ }
+
+ /* The navigation menu links */
+
+ .sidenav a {
+ padding: 8px 8px 8px 32px;
+ text-decoration: none;
+ font-size: 14px;
+ color: #818181;
+ display: block;
+ transition: 0.3s
+ }
+
+ /* When you mouse over the navigation links, change their color */
+
+ .sidenav a:hover,
+ .offcanvas a:focus {
+ color: #f1f1f1;
+ }
+
+ /* Position and style the close button (top right corner) */
+
+ .sidenav .closebtn {
+ position: absolute;
+ top: 0px;
+ right: 25px;
+ font-size: 14px;
+ margin-left: 50px;
+ }
+
+ /* On smaller screens, where height is less than 450px, change the style of the sidenav (less padding and a smaller font size) */
+
+ @media screen and (max-height: 450px) {
+ .sidenav {
+ padding-top: 0px;
+ }
+ .sidenav a {
+ font-size: 14px;
+ }
+ }
+ </style>
+
+</head>
+
+<body ng-controller="AppController as vm" class="{{state.current.bodyClass || ''}} dcaeApp dcae-module">
+
+
+
+ <div id="mainPage" class="container-fluid">
+ <div class="row">
+ <div id="dcaeSidenav" class="sidenav">
+ <a href="javascript:void(0)" class="closebtn" onclick="closeNav()">&times;</a>
+ <a href="#">General</a>
+ <a href="#">Composition</a>
+ <a href="#">Artifact</a>
+ </div>
+ <div id="main" ui-view="dcae"></div>
+ </div>
+ </div>
+
+ <!-- build:js(.) scripts/vendor.js -->
+ <!-- bower:js -->
+ <script src="bower_components/jquery/dist/jquery.js"></script>
+ <script src="bower_components/angular/angular.js"></script>
+ <script src="bower_components/bootstrap/dist/js/bootstrap.js"></script>
+ <script src="bower_components/angular-ui-router/release/angular-ui-router.js"></script>
+ <!-- endbower -->
+ <!-- endbuild -->
+
+ <!-- build:js({.tmp,app}) scripts/scripts.js -->
+
+ <!-- Main javascripts -->
+ <script src="/app.module.js"></script>
+ <script src="/app.env.js"></script>
+ <script src="/app.route.js"></script>
+ <script src="/app.controller.js"></script>
+ <script src="/app.run.js"></script>
+ <script src="/app.constants.js"></script>
+
+ <!-- Services -->
+ <script src="/services/cache.service.js"></script>
+ <script src="/services/users.service.js"></script>
+
+ <!-- Layout javascripts -->
+ <script src="/core/header/header.module.js"></script>
+ <script src="/core/header/header.controller.js"></script>
+ <script src="/core/navigation/navigation.module.js"></script>
+ <script src="/core/navigation/navigation.controller.js"></script>
+
+ <!-- Pages javascript -->
+ <script src="/main/main.controller.js"></script>
+
+ <script src="/main/dashboard/home/home.module.js"></script>
+ <script src="/main/dashboard/home/home.controller.js"></script>
+
+ <script src="/main/dashboard/about/about.module.js"></script>
+ <script src="/main/dashboard/about/about.controller.js"></script>
+
+ <script src="/main/dashboard/dcaedt/dcaedt.module.js"></script>
+ <script src="/main/dashboard/dcaedt/dcaedt.values.js"></script>
+ <script src="/main/dashboard/dcaedt/dcaedt.factory.js"></script>
+ <!--<script src="/main/dashboard/dcaedt/dcaedt.composition.factory.js"></script>
+
+ <script type="text/javascript" src="/main/dashboard/dcaedt/dcaedt.composition.services.js"></script>-->
+ <script src="/main/dashboard/dcaedt/dcaedt.factory.js"></script>
+
+ <script src="/main/dashboard/dcaedt/dcaedt.controller.js"></script>
+
+ <script src="/app.config.js"></script>
+ <script>
+ function closeNav() {
+ document.getElementById("dcaeSidenav").style.width = "0";
+ document.getElementById("content-container").style.marginLeft = "0";
+ }
+ </script>
+
+
+ <script src="./bower_components/sdc-pubsub.js"></script>
+ <!-- <script src="./my-lib.js"></script> -->
+ <script>
+ debugger;
+ var pubsub = window.sdcPubSub.PluginPubSub;
+ window.sdc = new pubsub('DCAE-DS', 'https://www.e-access.att.com', ['WINDOW_OUT']);
+ window.sdc.notify('READY');
+ window.sdc.on(function (eventData, event) {
+ console.log('eventData', eventData);
+ console.log('event', event);
+ if (eventData.type === 'WINDOW_OUT') {
+ if (window.location.hash === 'dcae/composition') {
+ $('#confirm-modal').modal('show');
+ } else {
+ window.sdc.notify('ACTION_COMPLETED');
+ }
+ } else {
+ window.sdc.notify('ACTION_COMPLETED');
+ }
+ });
+ </script>
+
+
+ <!-- endbuild -->
+</body>
+
+</html>
diff --git a/app/main/dashboard/about/about.controller.js b/app/main/dashboard/about/about.controller.js
new file mode 100644
index 0000000..32d903d
--- /dev/null
+++ b/app/main/dashboard/about/about.controller.js
@@ -0,0 +1,16 @@
+(function () {
+
+ 'use strict';
+
+ angular
+ .module('dcaeApp.dashboard.about')
+ .controller('DashboardAboutController', dashboardAboutController);
+
+ function dashboardAboutController($state) {
+
+ var vm = this;
+ vm.test = "lllllllllllllllll";
+
+ }
+
+})();
diff --git a/app/main/dashboard/about/about.html b/app/main/dashboard/about/about.html
new file mode 100644
index 0000000..52b5326
--- /dev/null
+++ b/app/main/dashboard/about/about.html
@@ -0,0 +1,2 @@
+<h1>This is about</h1>
+{{vm.test}}
diff --git a/app/main/dashboard/about/about.less b/app/main/dashboard/about/about.less
new file mode 100644
index 0000000..0232877
--- /dev/null
+++ b/app/main/dashboard/about/about.less
@@ -0,0 +1,5 @@
+.about {
+ h1 {
+ font-size: 160px;
+ }
+}
diff --git a/app/main/dashboard/about/about.module.js b/app/main/dashboard/about/about.module.js
new file mode 100644
index 0000000..c447f6a
--- /dev/null
+++ b/app/main/dashboard/about/about.module.js
@@ -0,0 +1,24 @@
+(function () {
+
+ 'use strict';
+
+ angular
+ .module('dcaeApp.dashboard.about', [])
+ .config(config);
+
+ function config($stateProvider) {
+
+ $stateProvider.state('dcae.app.about', {
+ url: '/about',
+ views: {
+ 'content@dcae.app': {
+ templateUrl: 'main/dashboard/about/about.html',
+ controller: 'DashboardAboutController as vm'
+ }
+ },
+ bodyClass: 'about'
+ });
+
+ }
+
+})();
diff --git a/app/main/dashboard/dcaedt/dcae.less b/app/main/dashboard/dcaedt/dcae.less
new file mode 100644
index 0000000..6d93f7e
--- /dev/null
+++ b/app/main/dashboard/dcaedt/dcae.less
@@ -0,0 +1,1376 @@
+.about {
+ h1 {
+ font-size: 40px;
+ }
+}
+
+.home {
+ ul.users {
+ li {
+ font-size: 20px;
+ }
+ }
+}
+.sdc-dashboard-container {
+ .tlv-loader {
+ top: -110px;
+ left: 80px;
+ }
+ .sdc-hide-popover {
+ .popover {
+ display: none !important;
+ }
+ }
+}
+
+/* dashboard card main icons */
+.dcae-s-sdc-service { background-position: -60px -2654px; width: 14px; height: 17px;}
+.dcae-s-sdc-resource { background-position: -54px -2585px; width: 16px; height: 16px;}
+
+.dcae-sprite {
+ background-image: url('images/sprites/sprite-global-old.png');
+ display: inline-block;
+}
+.dcae-sprite-new {
+ background-image: url('images/sprites/sprite-global.png');
+ display: inline-block;
+}
+.dcae-sprite.logo { background-position: -50px -100px; width: 39px; height: 32px;}
+.dcae-sprite.white-arrow-down { background-position: -50px -200px; width: 15px; height: 9px;}
+.dcae-sprite.white-arrow-up { background-position: -100px -200px; width: 15px; height: 9px;}
+.arrow-left { background-position: -262px -4041px; width: 11px; height: 10px;}
+.dcae-sprite.tab-info { background-position: -50px -300px; width: 18px; height: 20px;}
+.dcae-sprite.edit { background-position: -51px -689px; width: 31px; height: 30px;}
+.dcae-sprite.details { background-position: -50px -900px; width: 19px; height: 19px;}
+.dcae-sprite.structure { background-position: -212px -3880px; width: 23px; height: 21px;}
+.dcae-sprite.artifacts { background-position: -50px -1098px; width: 20px; height: 20px;}
+.dcae-sprite.menu { background-position: -50px -1200px; width: 17px; height: 14px;}
+.dcae-sprite.catalog { background-position: -53px -1303px; width: 20px; height: 20px;}
+.dcae-sprite.distribution { background-position: -50px -1400px; width: 24px; height: 14px;}
+.dcae-sprite.support { background-position: -50px -1500px; width: 22px; height: 22px;}
+.dcae-sprite.filter { background-position: -50px -1600px; width: 15px; height: 16px;}
+.dcae-sprite.card-menu { background-position: -50px -2000px; width: 4px; height: 16px;}
+.dcae-sprite.relationships { background-position: -50px -2097px; width: 26px; height: 19px;}
+.dcae-sprite.lifecycle { background-position: -50px -2200px; width: 20px; height: 20px;}
+.dcae-sprite.properties { background-position: -50px -2300px; width: 19px; height: 19px;}
+.dcae-sprite.e-sdc-small-icon-delete { background-position: -64px -2771px; width: 11px; height: 13px;}
+.dcae-sprite.magnification-glass { background-position: -49px -3138px; width: 12px; height: 12px;}
+.dcae-sprite.clear-text { background-position: -104px -4040px; width: 10px; height: 11px;}
+/*new tabs icons*/
+.dcae-sprite.info { background-position: -105px -3583px; width: 18px; height: 18px;}
+.dcae-sprite.information-artifacts { background-position: -105px -3632px; width: 20px; height: 21px;}
+.dcae-sprite.deployment-artifacts { background-position: -105px -3682px; width: 19px; height: 19px;}
+.dcae-sprite.properties { background-position: -105px -3733px; width: 18px; height: 18px;}
+.dcae-sprite.relations { background-position: -105px -3781px; width: 20px; height: 20px;}
+.dcae-sprite.inputs { background-position: -104px -3887px; width: 18px; height: 14px;}
+.dcae-sprite.api { background-position: -104px -3930px; width: 25px; height: 21px;}
+
+.dcae-main-right-container {
+ background-color: #ffffff;
+ bottom: 0;
+ padding: 22px 12px;
+ position: absolute;
+ left: 240px;
+ right: 0;
+ top: 0px;
+ overflow: scroll;
+}
+
+.dcae-left-sidebar {
+ width: 242px;
+ overflow: hidden;
+ background-color: #f8f8f8;
+ -webkit-box-shadow: 1px 0 4px 0 rgba(24,24,25,.17);
+ -moz-box-shadow: 1px 0 4px 0 rgba(24,24,25,.17);
+ box-shadow: 1px 0 4px 0 rgba(24,24,25,.17);
+ position: absolute;
+ left: 0;
+ top: 0;
+ bottom: 0;
+ padding: 12px 18px;
+ z-index: 1;
+}
+
+.dcae-left-sidebar-nav {
+ margin-top: 46px;
+}
+
+.dcae-menu-item.selected {
+ border-left: 4px solid #009fdb;
+ padding-left: 18px;
+ color: #009fdb;
+}
+
+.dcae-menu-item {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ width: 100%;
+ white-space: nowrap;
+ display: inline-block;
+ max-width: none;
+ white-space: normal;
+ cursor: pointer;
+}
+//////////////////////////////Cards////////////////////
+.dcae-dashboard-card-new {
+ border: 2px dashed #a8b3b9;
+ .border-radius(2px);
+ cursor: pointer;
+ display: inline-block;
+ margin: 9px;
+ position: relative;
+ vertical-align: middle;
+ height: 190px;
+ width: 190px;
+}
+
+.dcae-dashboard-card-new-content {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ flex-direction: column;
+ height: 100%;
+ cursor: pointer;
+}
+
+.dcae-dashboard-card-new-content-plus {
+ .dcae-sprite-new;
+ .add-icon;
+ position: relative;
+ margin-bottom: 20px;
+
+ &:after {
+ .n_14_m;
+ content: 'ADD';
+ position: absolute;
+ top: 25px;
+ left: -3px;
+ vertical-align: -50%;
+ }
+}
+
+.dcae-dashboard-card-import-content-plus {
+ .dcae-sprite-new;
+ .import-icon;
+ position: relative;
+ margin-bottom: 20px;
+
+ &:after {
+ .n_14_m;
+ content: 'IMPORT';
+ position: absolute;
+ top: 25px;
+ left: -16px;
+ vertical-align: -50%;
+ }
+}
+
+.sdc-dashboard-create-element-container,
+.sdc-dashboard-import-element-container {
+
+ width: 140px;
+
+ .tlv-btn.import-dcae {
+ padding: 0;
+ }
+
+ .tlv-btn {
+ position: relative;
+ width: 100%;
+ margin-bottom: 10px;
+
+ &:last-child {
+ margin-bottom: 0;
+ }
+ }
+
+ input[type="file"] {
+ cursor: inherit;
+ filter: alpha(opacity=0);
+ opacity: 0;
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 138px;
+ height: 30px;
+ }
+}
+
+.dcae-dashboard-card {
+ width: 190px;
+ height: 190px;
+ background-color: #fff;
+ .border-radius(2px);
+ .box-shadow(0px 2px 2px 0px rgba(24, 24, 25, 0.05));
+ display: inline-block;
+ margin: 10px;
+ position: relative;
+ vertical-align: middle;
+ border: solid 1px #e4e1e1;
+
+ &:hover {
+ border: solid 1px @main_color_o;
+ .box-shadow(3px 3px 2px 0px rgba(24, 24, 25, 0.05));
+ }
+
+ &:active {
+ border: solid 1px @main_color_c;
+ .box-shadow(3px 3px 2px 0px rgba(24, 24, 25, 0.05));
+ }
+}
+
+.dcae-dashboard-card-body {
+ .hand;
+ border-bottom: 1px solid #ffffff;
+ height: 155px;
+ position: relative;
+ text-align: center;
+}
+
+.dcae-dashboard-card-description {
+ .c_3;
+ .hand;
+ background-color: rgba(57, 73, 84, 0.9);
+ border-radius: 4px 4px 0 0;
+ bottom: 0;
+ left: 0;
+ opacity: 0;
+ padding: 10px;
+ position: absolute;
+ right: 0;
+ text-align: left;
+ top: 0;
+ word-wrap: break-word;
+ z-index: 4;
+ min-height: 100px;
+ overflow: hidden;
+}
+
+ .dcae-workspace-top-bar {
+ height: 26px;
+ padding: 12px 10px 0px 50px;
+ border-bottom: 1px solid #d2d2d2;
+ display: flex;
+ justify-content: space-between;
+
+ .version-container{
+
+ }
+
+ .progress-container{
+ flex-grow:4;
+ z-index: 10000000;
+
+ .general-view-top-progress{
+ width:30%;
+ margin: 0 auto;
+ }
+ }
+
+ .not-latest{
+ position: absolute;
+ left: 24px;
+ top: 20px;
+ .dcae-sprite-new;
+ .asdc-warning;
+ }
+
+ .sdc-workspace-top-bar-buttons {
+
+ > button, > span:not(.delimiter){
+ margin-right: 10px;
+ vertical-align: middle;
+ .hand;
+
+ &.dcae-sprite-new {
+ text-indent: 100%;
+ }
+ &.disabled, &:hover.disabled {
+ pointer-events: none;
+ }
+ }
+ .delimiter {
+ height: 32px;
+ width: 1px;
+ background-color: #959595;
+ display: inline-block;
+ vertical-align: middle;
+ margin-right: 20px;
+ }
+
+ }
+
+
+ .lifecycle-state {
+ padding: 7px 0 0 10px;
+ margin: 2px 0 7px 10px;
+ border-left: 1px solid #d2d2d2;
+ line-height: 15px;
+ font-family: @font-omnes-medium;
+ color: #d2d2d2;
+
+ .lifecycle-state-icon {
+ .dcae-sprite-new;
+ }
+ .lifecycle-state-text {
+
+ font-weight: bold;
+ text-transform: uppercase;
+ vertical-align: top;
+ padding: 3px;
+ }
+ }
+
+ .version-selector {
+ // float:left;
+ background-color: transparent;
+ border: none;
+ margin-top: 6px;
+ }
+ }
+
+ .dcae-asset-creation-info {
+ color: #959595;
+ font-family: omnes-regular,sans-serif;
+ font-size: 12px;
+ margin: 8px 20px 0 0;
+ }
+
+ // Workspace bar //
+.dcae-dashboard-card-schema {
+ margin-top: 30px;
+}
+
+.dcae-dashboard-card-edit {
+ .hand;
+ position: absolute;
+ right: 13px;
+ top: 15px;
+ z-index: 2;
+}
+
+.dcae-vfcmt-title{
+ text-align: left;
+ margin: 7px;
+ color: #009fdb;
+}
+
+.dcae-dashboard-card-footer {
+ border-top: 1px solid #eaeaea;
+ margin: 0px 5px;
+ position: relative;
+}
+
+.dcae-dashboard-card-avatar {
+ .uppercase;
+ border-radius: 50%;
+ display: inline-block;
+ position: absolute;
+ left: -6px;
+ text-align: center;
+ top: -6px;
+
+ span {
+
+ background-color: @main_color_p;
+ .border-radius(15px);
+ color: @color_c;
+ content: '';
+ height: 30px;
+ text-align: center;
+ display: block;
+ border: solid 2px #ECEFF3;
+ padding: 3px 10px 2px 10px;
+
+ &.VF {
+ .j_14_m;
+ &::before {
+ content: 'VF';
+ }
+ }
+
+ &.VFC {
+ .j_14_m;
+ &::before {
+ content: 'VFC';
+ }
+ }
+
+ &.CP {
+ .j_14_m;
+ &::before {
+ content: 'CP';
+ }
+ }
+
+ &.VL {
+ .j_14_m;
+ &::before {
+ content: 'VL';
+ }
+ }
+
+ &.SERVICE {
+ .c_14_m;
+ &::before {
+ content: 'S';
+ }
+ }
+
+ &.PRODUCT {
+ .b_14_m;
+ &::before {
+ content: 'P';
+ }
+ }
+
+ &.green {
+ .d_12;
+ &::before {
+ content: 'R';
+ }
+ }
+ &.red {
+ .r_12;
+ &::before {
+ content: 'S';
+ }
+ }
+ &.dblack {
+ .s_12;
+ &::before {
+ content: 'P';
+ }
+ }
+ }
+}
+
+.dcae-dashboard-card-info {
+ display: inline-block;
+ vertical-align: middle;
+ max-width: 165px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.dcae-dashboard-card-info-name-container{
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ margin: 0 0 2px 10px;
+}
+.dcae-dashboard-card-info-name {
+ .m_14_m;
+ display: inline-block;
+ vertical-align: middle;
+ max-width: 165px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.dcae-dashboard-card-info-lifecycleState {
+ .m_13_m;
+ display: inline-block;
+ vertical-align: middle;
+ max-width: 165px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.dcae-dashboard-card-info-user {
+ .n_13_r;
+ text-align: left;
+ line-height: 18px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ width: 100%;
+}
+
+.dcae-dashboard-card-menu-button {
+ display: inline-block;
+ padding: 12px 0 0 10px;
+ position: absolute;
+ right: 12px;
+ top: 8px;
+ border-left: solid 1px @color_k;
+ height: 42px;
+
+ &:hover {
+ .dcae-dashboard-card-menu {
+ display: block;
+ }
+ }
+}
+
+.dcae-dashboard-card-menu {
+ .bg_c;
+ border-radius: 0 0 4px 4px;
+ border-top: 3px solid @color_a;
+ box-shadow: 0 2px 2px 0px rgba(0, 0, 0, 0.2);
+ color: @color_s;
+ display: none;
+ min-height: 30px;
+ padding: 9px 0;
+ position: absolute;
+ right: -27px;
+ width: 208px;
+ z-index: 9;
+ max-height: 164px;
+
+ &::before {
+ //TODO: Missing image for small blue triangle.
+ background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAYAAAB4ka1VAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkE1OTIzNDI1MENFQjExRTU4ODRERTI1MDM2REZCOUYzIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkE1OTIzNDI2MENFQjExRTU4ODRERTI1MDM2REZCOUYzIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTU5MjM0MjMwQ0VCMTFFNTg4NERFMjUwMzZERkI5RjMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTU5MjM0MjQwQ0VCMTFFNTg4NERFMjUwMzZERkI5RjMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4gBXTlAAAAOElEQVR42mK0rp7NgASMgZgFiE/CBJjQJPcA8U4gNkdXAJMUAGJ+ZEVMaJIwAFfEhEUSRRFAgAEAVtgJyiLAPWAAAAAASUVORK5CYII=');
+ content: '';
+ display: block;
+ height: 21px;
+ position: absolute;
+ right: 24px;
+ top: -24px;
+ width: 184px;
+ background-repeat: no-repeat;
+ background-position: 175px 16px;
+ }
+}
+
+.i-sdc-dashboard-card-menu-item {
+ .hand;
+ line-height: 24px;
+ padding: 0 10px;
+ &:hover { .a_7; }
+}
+
+.dcae-dashboard-card-info-lifecycleState-icon{
+ position:absolute;
+ bottom:18px;
+ right:10px;
+}
+
+// Same for dashboard and catalog view.
+.dcae-dashboard-card-schema-image {
+ position: absolute;
+ top: 41%;
+
+ //TODO: Israel - remove this after getting the services sprite.
+ height: 45px;
+ width: 53px;
+ background-repeat: no-repeat;
+
+ // Center the icon vertical and horizontal.
+ margin: auto;
+ left: 0;
+ right: 0;
+ top: -10px;
+ bottom: 0;
+}
+
+/* dashboard card main icons */
+.dcae-dashboard-card-schema-image.service { .dcae-s-sdc-service }
+.dcae-dashboard-card-schema-image.resource { .dcae-s-sdc-resource }
+
+/* dashboard card statuses icons */
+.dcae-dashboard-card-edit.NOT_CERTIFIED_CHECKIN { .dcae-sprite; .dcae-s-sdc-state.NOT_CERTIFIED_CHECKIN; }
+.dcae-dashboard-card-edit.NOT_CERTIFIED_CHECKOUT { .dcae-sprite; .dcae-s-sdc-state.NOT_CERTIFIED_CHECKOUT; }
+.dcae-dashboard-card-edit.CERTIFIED { .dcae-sprite; .dcae-s-sdc-state.CERTIFIED; }
+.dcae-dashboard-card-edit.READY_FOR_CERTIFICATION { .dcae-sprite; .dcae-s-sdc-state.READY_FOR_CERTIFICATION; }
+.dcae-dashboard-card-edit.CERTIFICATION_IN_PROGRESS { .dcae-sprite; .dcae-s-sdc-state.CERTIFICATION_IN_PROGRESS; }
+.dcae-dashboard-card-edit.DISTRIBUTED { .dcae-sprite; .dcae-s-sdc-state.DISTRIBUTED; }
+
+.dcae-dashboard-card-avatar.green + .dcae-dashboard-card-edit.NOT_CERTIFIED_CHECKIN { .dcae-sprite; .dcae-s-sdc-state.NOT_CERTIFIED_CHECKIN.green; }
+.dcae-dashboard-card-avatar.green + .dcae-dashboard-card-edit.NOT_CERTIFIED_CHECKOUT { .dcae-sprite; .dcae-s-sdc-state.NOT_CERTIFIED_CHECKOUT.green; }
+.dcae-dashboard-card-avatar.green + .dcae-dashboard-card-edit.CERTIFIED { .dcae-sprite; .dcae-s-sdc-state.CERTIFIED.green; }
+.dcae-dashboard-card-avatar.green + .dcae-dashboard-card-edit.READY_FOR_CERTIFICATION { .dcae-sprite; .dcae-s-sdc-state.READY_FOR_CERTIFICATION.green; }
+.dcae-dashboard-card-avatar.green + .dcae-dashboard-card-edit.CERTIFICATION_IN_PROGRESS { .dcae-sprite; .dcae-s-sdc-state.CERTIFICATION_IN_PROGRESS.green; }
+.dcae-dashboard-card-avatar.green + .dcae-dashboard-card-edit.DISTRIBUTED { .dcae-sprite; .dcae-s-sdc-state.DISTRIBUTED.green; }
+
+.dcae-dashboard-card-avatar.red + .dcae-dashboard-card-edit.NOT_CERTIFIED_CHECKIN { .dcae-sprite; .dcae-s-sdc-state.NOT_CERTIFIED_CHECKIN.red; }
+.dcae-dashboard-card-avatar.red + .dcae-dashboard-card-edit.NOT_CERTIFIED_CHECKOUT { .dcae-sprite; .dcae-s-sdc-state.NOT_CERTIFIED_CHECKOUT.red; }
+.dcae-dashboard-card-avatar.red + .dcae-dashboard-card-edit.CERTIFIED { .dcae-sprite; .dcae-s-sdc-state.CERTIFIED.red; }
+.dcae-dashboard-card-avatar.red + .dcae-dashboard-card-edit.READY_FOR_CERTIFICATION { .dcae-sprite; .dcae-s-sdc-state.READY_FOR_CERTIFICATION.red; }
+.dcae-dashboard-card-avatar.red + .dcae-dashboard-card-edit.CERTIFICATION_IN_PROGRESS { .dcae-sprite; .dcae-s-sdc-state.CERTIFICATION_IN_PROGRESS.red; }
+.dcae-dashboard-card-avatar.red + .dcae-dashboard-card-edit.DISTRIBUTED { .dcae-sprite; .dcae-s-sdc-state.DISTRIBUTED.red; }
+
+.w-sdc-main-container{
+ height: 100%;
+}
+.sdc-catalog-container {
+
+ height: 100%;
+ .i-sdc-categories-list-item {
+ font-weight: normal;
+ }
+
+ // Checkboxes
+ .i-sdc-designer-leftbar-section-content-ul {
+ padding: 0;
+ margin: 0;
+
+ .i-sdc-catalog-subcategories-checkbox {
+ padding: 0 0 0 20px;
+ margin: 0;
+
+ .i-sdc-catalog-grouping-checkbox {
+ padding: 0 0 0 20px;
+ margin: 0;
+ }
+
+ }
+
+ }
+
+ .i-sdc-designer-leftbar-section-content-li {
+ &:last-child {
+ .i-sdc-categories-list-item {
+ margin: 0;
+ }
+ }
+ }
+
+ .i-sdc-categories-list-item {
+ display: block;
+ //margin-bottom: 5px;
+ //padding-left: 15px;
+ //text-indent: -24px;
+ vertical-align: top;
+ font-weight: bold;
+ }
+
+ .i-sdc-subcategories-list-item {
+ display: block;
+ //padding-left: 20px;
+ vertical-align: top;
+ font-weight: normal;
+ margin: 0;
+ //text-indent: -10px;
+ }
+
+ /*Added by - Ikram */
+ .i-sdc-product-input,
+ .i-sdc-product-select {
+ border: 1px solid @border_color_f;
+ min-height: 30px;
+ padding: 0;
+ width: 100%;
+ margin: 1px 0;
+ background-color: #F2F2F2;
+ outline: none;
+
+ &:disabled {
+ .disabled;
+ }
+ optgroup{
+ color: @color_u;
+ option{
+ color: @color_b;
+ }
+ }
+ }
+
+ .i-sdc-categories-list-item-icon {
+ display: inline-block;
+ float: right;
+ position: relative;
+ right: -8px;
+ top: 6px;
+ }
+
+ .i-sdc-categories-list-item {
+ margin-top: 7px;
+ &.NOT_CERTIFIED_CHECKOUT,
+ &.NOT_CERTIFIED_CHECKIN {
+ .i-sdc-categories-list-item-icon {
+ background: url('images/sprites/sprite-global-old.png') no-repeat -53px -2889px;
+ width: 14px;
+ height: 14px;
+
+ }
+ }
+
+ &.CERTIFIED {
+ .i-sdc-categories-list-item-icon {
+ background: url('images/sprites/sprite-global-old.png') no-repeat -53px -3034px;
+ width: 14px;
+ height: 16px;
+ }
+ }
+
+ &.READY_FOR_CERTIFICATION {
+ .i-sdc-categories-list-item-icon {
+ background: url('images/sprites/sprite-global-old.png') no-repeat -53px -2985px;
+ width: 14px;
+ height: 16px;
+ }
+ }
+
+ &.CERTIFICATION_IN_PROGRESS {
+ .i-sdc-categories-list-item-icon {
+ background: url('images/sprites/sprite-global-old.png') no-repeat -53px -2934px;
+ width: 14px;
+ height: 16px;
+ }
+ }
+
+ &.DISTRIBUTED,
+ &.TBD {
+ .i-sdc-categories-list-item-icon {
+ background: url('images/sprites/sprite-global-old.png') no-repeat -43px -3087px;
+ width: 24px;
+ height: 14px;
+
+ }
+ }
+ }
+
+ .i-sdc-categories-list-input {
+ margin: 8px;
+
+ }
+
+ .i-sdc-subcategories-list-input {
+
+ margin: 8px;
+ }
+ .i-sdc-subcategories-list-input-container {
+ margin: 0px 0px 0px 20px;
+ padding: 2px;
+ }
+
+ .dcae-header-catalog-search-container {
+ display: table;
+ padding: 21px 0;
+ position: relative;
+
+ .dcae-designer-leftbar-search-input {
+ color: #000;
+ width: 300px;
+ }
+
+ // .magnification {
+ // .dcae-sprite;
+ // .dcae-sprite.magnification-glass;
+ // .hand;
+ // position: absolute;
+ // top: 40px;
+ // right: 42px;
+ // }
+ }
+
+ .dcae-catalog-main {
+ padding: 10px 12px;
+ }
+ .dcae-dashboard-catalog-header {
+ .b_9;
+ display: inline-block;
+ font-style: italic;
+ font-weight: bold;
+ padding-left: 10px;
+ }
+
+ .dcae-dashboard-catalog-header-order {
+ .b_9;
+ font-weight: 800;
+ }
+
+ .dcae-dashboard-catalog-sort {
+ .b_9;
+ font-weight: bold;
+ white-space:pre;
+ &:hover{
+ .hand;
+ text-decoration: none;
+ .a_9;
+ }
+ &.blue {
+ .a_9;
+ }
+ }
+
+ .dcae-catalog-sort-arrow{
+ display: inline-block;
+ &.up{
+ .b_9;
+ width: 0;
+ height: 0;
+ border-left: 5px solid transparent;
+ border-right: 5px solid transparent;
+ border-bottom: 5px solid ;
+ }
+ &.down{
+ .b_9;
+ width: 0;
+ height: 0;
+ border-left: 5px solid transparent;
+ border-right: 5px solid transparent;
+ border-top: 5px solid;
+ }
+ }
+
+
+
+
+ .dcae-dashboard-catalog-header-right{
+ float: right;
+ display: inline-block;
+ padding-right:34px;
+ }
+
+ .dcae-dashboard-catalog-header-right-vf {
+ top:0px;
+ overflow:scroll;
+ }
+
+ .dcae-header-catalog-search-input {
+ width: 420px;
+ display: table-cell;
+ padding: 0 25px 1px 10px;
+ border: 1px solid #bcbcbc;
+ .border-radius(10px);
+ height: 30px;
+ margin: 10px 30px;
+ outline: none;
+ }
+
+ .sdc-catalog-type-filter-container {
+ margin-top: -1px;
+ }
+
+ .i-sdc-designer-leftbar-section-title {
+ text-transform: uppercase;
+ .l_14_m;
+ line-height: 30px;
+ }
+
+ .i-sdc-designer-leftbar-section-title-icon {
+ .hand;
+ .tlv-sprite;
+ .footer-close;
+ transition: .3s all;
+ margin-top: -4px;
+ }
+
+ .i-sdc-designer-leftbar-section-title-text {
+ margin-left: 20px;
+ }
+
+ .seperator-left,
+ .seperator-right {
+ border-right: solid 1px @color_m;
+ display: table-cell;
+ width: 2px;
+ }
+
+ // Rotate catalog left side arrows
+ .i-sdc-designer-leftbar-section-title.expanded .i-sdc-designer-leftbar-section-title-icon {
+ transform: rotate(180deg);
+ }
+
+ // Transform catalog left side sections
+ .i-sdc-designer-leftbar-section-title + .i-sdc-designer-leftbar-section-content {
+ max-height: 0px;
+ margin: 0 auto;
+ transition: all .3s;
+ overflow: hidden;
+ padding: 0 10px 0 18px;
+ }
+
+ .i-sdc-designer-leftbar-section-title.expanded + .i-sdc-designer-leftbar-section-content {
+ max-height: 9999px;
+ margin: 0 auto 1px;
+ transition: all .3s;
+ padding: 10px 18px 10px 18px;
+ overflow: hidden;
+ }
+
+}
+
+.dcae-search-icon{
+ position: absolute;
+ right: 40px;
+ top: 40px;
+ &.leftbar{
+ top: 19px;
+ right: 18px;
+ }
+ &.magnification {
+ .dcae-sprite;
+ .dcae-sprite.magnification-glass;
+ .hand;
+ }
+
+ &.cancel {
+ .dcae-sprite;
+ .dcae-sprite.clear-text;
+ .hand;
+ }
+}
+
+.dcae-main-container {
+ background-color: #ECEFF3;
+ position: absolute;
+ /*top: 0px;*/
+ left: 0;
+ right: 0;
+ /*bottom: 0px;*/
+ height: 100%;
+ overflow: auto;
+}
+.dcae-input-text:read-only{
+ background-color: #eaeaea;
+}
+.dcae-image-text-btn{
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+}
+.dcae-round-btn{
+ border-radius: 50%;
+ position: relative;
+ z-index: 2;
+ padding: 0;
+ display: inline-block;
+ color: #fff;
+ overflow: hidden;
+ z-index: 1;
+ width: 75px;
+ height: 75px;
+ line-height: 40px;
+ padding: 0;
+ background-color: #009fdb;
+ border-radius: 50%;
+ transition: .3s;
+ cursor: pointer;
+ vertical-align: middle;
+ border:0;
+}
+.dcae-round-btn:disabled {
+ opacity: 0.5;
+ cursor: not-allowed !important;
+}
+.dcae-main-container .dcae-main-right-container {
+ background-color: #ffffff;
+ bottom: 0;
+ padding: 22px 12px;
+ position: absolute;
+ left: 240px;
+ right: 0;
+ top: 0px;
+ overflow: scroll;
+}
+.dcae-main-container .dcae-main-right-container > div:first-child {
+ /* scroll fix */
+ padding-bottom: 53px;
+}
+.sdc-loading-page {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ flex-direction: column;
+ position: absolute;
+ height: 100%;
+ width: 100%;
+}
+.sdc-loading-page .caption1 {
+ color: #ffffff;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+ text-align: center;
+}
+.sdc-loading-page .caption2 {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ display: block;
+}
+
+.dcae-dashboard-card-new {
+ border: 2px dashed #a8b3b9;
+ -webkit-border-radius: 2px;
+ -moz-border-radius: 2px;
+ border-radius: 2px;
+ cursor: pointer;
+ display: inline-block;
+ margin: 9px;
+ position: relative;
+ vertical-align: middle;
+ height: 190px;
+ width: 190px;
+}
+.dcae-dashboard-card-new-content {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ flex-direction: column;
+ height: 100%;
+}
+.dcae-import-icon{
+ background: url('images/import.svg') no-repeat center;
+ display: inline-block;
+ width: 23px;
+ height: 23px;
+ position: relative;
+}
+.dcae-dashboard-card-new-content-plus {
+// background-image: url('images/sprites/sprite-global.png');
+ background: url('images/Add.png') no-repeat center;
+ display: inline-block;
+// background-position: -50px -77px;
+ width: 45px;
+ height: 45px;
+ position: relative;
+// margin-bottom: 20px;
+}
+.dcae-dashboard-card-new-content-plus:after {
+ color: #009fdb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ content: 'Create New Asset';
+ position: absolute;
+ top: 50px;
+ left: -36px;
+ vertical-align: -50%;
+ width:120px;
+}
+.dcae-dashboard-card-import-content-plus {
+ background-image: url('images/sprites/sprite-global.png');
+ display: inline-block;
+ background-position: -100px -81px;
+ width: 23px;
+ height: 23px;
+ position: relative;
+ margin-bottom: 20px;
+}
+.dcae-dashboard-card-import-content-plus:after {
+ color: #959595;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ content: 'IMPORT';
+ position: absolute;
+ top: 25px;
+ left: -16px;
+ vertical-align: -50%;
+}
+.sdc-dashboard-create-element-container,
+.sdc-dashboard-import-element-container {
+ width: 140px;
+}
+.sdc-dashboard-create-element-container .tlv-btn.import-dcae,
+.sdc-dashboard-import-element-container .tlv-btn.import-dcae {
+ padding: 0;
+}
+.sdc-dashboard-create-element-container .tlv-btn,
+.sdc-dashboard-import-element-container .tlv-btn {
+ position: relative;
+ width: 100%;
+ margin-bottom: 10px;
+}
+.sdc-dashboard-create-element-container .tlv-btn:last-child,
+.sdc-dashboard-import-element-container .tlv-btn:last-child {
+ margin-bottom: 0;
+}
+.sdc-dashboard-create-element-container input[type="file"],
+.sdc-dashboard-import-element-container input[type="file"] {
+ cursor: inherit;
+ filter: alpha(opacity=0);
+ opacity: 0;
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 138px;
+ height: 30px;
+}
+
+.dcae-dashboard-card:hover {
+ border: solid 1px #d2d2d2;
+ -webkit-box-shadow: 3px 3px 2px 0px rgba(24, 24, 25, 0.05);
+ -moz-box-shadow: 3px 3px 2px 0px rgba(24, 24, 25, 0.05);
+ box-shadow: 3px 3px 2px 0px rgba(24, 24, 25, 0.05);
+}
+.dcae-dashboard-card:active {
+ border: solid 1px #71c5eb;
+ -webkit-box-shadow: 3px 3px 2px 0px rgba(24, 24, 25, 0.05);
+ -moz-box-shadow: 3px 3px 2px 0px rgba(24, 24, 25, 0.05);
+ box-shadow: 3px 3px 2px 0px rgba(24, 24, 25, 0.05);
+}
+
+.dcae-dashboard-card-description {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ cursor: pointer;
+ background-color: rgba(57, 73, 84, 0.9);
+ border-radius: 4px 4px 0 0;
+ bottom: 0;
+ left: 0;
+ opacity: 0;
+ padding: 10px;
+ position: absolute;
+ right: 0;
+ text-align: left;
+ top: 0;
+ word-wrap: break-word;
+ z-index: 4;
+ min-height: 100px;
+ overflow: hidden;
+}
+.dcae-dashboard-card-schema {
+ margin-top: 30px;
+}
+.dcae-dashboard-card-edit {
+ cursor: pointer;
+ position: absolute;
+ right: 13px;
+ top: 15px;
+ z-index: 2;
+}
+.dcae-dashboard-card-footer {
+ padding: 0 5px;
+// padding: 3px 12px 10px 12px;
+ position: relative;
+}
+.dcae-dashboard-card-avatar {
+ text-transform: uppercase;
+ border-radius: 50%;
+ display: inline-block;
+ position: absolute;
+ left: -6px;
+ text-align: center;
+ top: -6px;
+}
+.dcae-dashboard-card-avatar span {
+ background-color: #ffffff;
+ -webkit-border-radius: 15px;
+ -moz-border-radius: 15px;
+ border-radius: 15px;
+ color: #ffffff;
+ content: '';
+ height: 30px;
+ text-align: center;
+ display: block;
+ border: solid 2px #ECEFF3;
+ padding: 3px 10px 2px 10px;
+}
+.dcae-dashboard-card-avatar span.VF {
+ color: #9063cd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+.dcae-dashboard-card-avatar span.VF::before {
+ content: 'VF';
+}
+.dcae-dashboard-card-avatar span.VFC {
+ color: #9063cd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+.dcae-dashboard-card-avatar span.VFC::before {
+ content: 'VFC';
+}
+.dcae-dashboard-card-avatar span.VFCMT {
+ color: #9063cd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+.dcae-dashboard-card-avatar span.VFCMT::before {
+ content: 'VFCMT';
+}
+.dcae-dashboard-card-avatar span.CP {
+ color: #9063cd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+.dcae-dashboard-card-avatar span.CP::before {
+ content: 'CP';
+}
+.dcae-dashboard-card-avatar span.VL {
+ color: #9063cd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+.dcae-dashboard-card-avatar span.VL::before {
+ content: 'VL';
+}
+.dcae-dashboard-card-avatar span.SERVICE {
+ color: #71c5eb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+.dcae-dashboard-card-avatar span.SERVICE::before {
+ content: 'S';
+}
+.dcae-dashboard-card-avatar span.PRODUCT {
+ color: #056bae;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+.dcae-dashboard-card-avatar span.PRODUCT::before {
+ content: 'P';
+}
+.dcae-dashboard-card-avatar span.green {
+ color: #1d9a95;
+ font-family: omnes-medium, sans-serif;
+ font-size: 17px;
+}
+.dcae-dashboard-card-avatar span.green::before {
+ content: 'R';
+}
+.dcae-dashboard-card-avatar span.red {
+ color: #e85858;
+ font-family: omnes-medium, sans-serif;
+ font-size: 17px;
+}
+.dcae-dashboard-card-avatar span.red::before {
+ content: 'S';
+}
+.dcae-dashboard-card-avatar span.dblack {
+ color: #000000;
+ font-family: omnes-medium, sans-serif;
+ font-size: 17px;
+}
+.dcae-dashboard-card-avatar span.dblack::before {
+ content: 'P';
+}
+.dcae-dashboard-card-info {
+ display: inline-block;
+ vertical-align: middle;
+ max-width: 165px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+.dcae-dashboard-card-info-name-container {
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ margin: 0 0 2px 10px;
+}
+.dcae-dashboard-card-info-name {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ display: inline-block;
+ vertical-align: middle;
+ max-width: 165px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+.dcae-dashboard-card-info-lifecycleState {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+ display: inline-block;
+ vertical-align: middle;
+ max-width: 165px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+.dcae-dashboard-card-info-user {
+ color: #959595;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ line-height: 18px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ width: 100%;
+}
+.dcae-dashboard-card-menu-button {
+ display: inline-block;
+ padding: 12px 0 0 10px;
+ position: absolute;
+ right: 12px;
+ top: 8px;
+ border-left: solid 1px #e1e7ec;
+ height: 42px;
+}
+.dcae-dashboard-card-menu-button:hover .dcae-dashboard-card-menu {
+ display: block;
+}
+.dcae-dashboard-card-menu {
+ background-color: #ffffff;
+ border-radius: 0 0 4px 4px;
+ border-top: 3px solid #3b7b9b;
+ box-shadow: 0 2px 2px 0px rgba(0, 0, 0, 0.2);
+ color: #000000;
+ display: none;
+ min-height: 30px;
+ padding: 9px 0;
+ position: absolute;
+ right: -27px;
+ width: 208px;
+ z-index: 9;
+ max-height: 164px;
+}
+.dcae-dashboard-card-menu::before {
+ background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAYAAAB4ka1VAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkE1OTIzNDI1MENFQjExRTU4ODRERTI1MDM2REZCOUYzIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkE1OTIzNDI2MENFQjExRTU4ODRERTI1MDM2REZCOUYzIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTU5MjM0MjMwQ0VCMTFFNTg4NERFMjUwMzZERkI5RjMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTU5MjM0MjQwQ0VCMTFFNTg4NERFMjUwMzZERkI5RjMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4gBXTlAAAAOElEQVR42mK0rp7NgASMgZgFiE/CBJjQJPcA8U4gNkdXAJMUAGJ+ZEVMaJIwAFfEhEUSRRFAgAEAVtgJyiLAPWAAAAAASUVORK5CYII=');
+ content: '';
+ display: block;
+ height: 21px;
+ position: absolute;
+ right: 24px;
+ top: -24px;
+ width: 184px;
+ background-repeat: no-repeat;
+ background-position: 175px 16px;
+}
+
+.perfect-scrollbar {
+ position: relative;
+ overflow: hidden;
+}
+
+.scroller {
+ white-space: pre-line;
+ height: 500px;
+ overflow-y: hidden;
+ position: relative;
+}
+
+.ps-container > .ps-scrollbar-y-rail > .ps-scrollbar-y {
+ background-color: #666666;
+ -webkit-border-radius: 0px;
+ -moz-border-radius: 0px;
+ border-radius: 0px;
+ opacity: 1;
+ width: 6px;
+ margin: 0 2px;
+}
+.ps-container > .ps-scrollbar-y-rail {
+ -webkit-border-radius: 0px;
+ -moz-border-radius: 0px;
+ border-radius: 0px;
+ width: 10px ;
+ background-color: rgba(255, 255, 255, 0.5);
+ z-index: 1000;
+}
+
+/* dashboard card statuses icons */
+.dcae-s-sdc-state.NOT_CERTIFIED_CHECKIN { background-position: -47px -2839px; width: 20px; height: 19px;}
+.dcae-s-sdc-state.NOT_CERTIFIED_CHECKIN.green { background-position: -70px -2839px;}
+.dcae-s-sdc-state.NOT_CERTIFIED_CHECKIN.red { background-position: -93px -2839px;}
+
+.dcae-s-sdc-state.NOT_CERTIFIED_CHECKOUT { background-position: -53px -2889px; width: 14px; height: 14px;}
+.dcae-s-sdc-state.NOT_CERTIFIED_CHECKOUT.green { background-position: -76px -2889px;}
+.dcae-s-sdc-state.NOT_CERTIFIED_CHECKOUT.red { background-position: -99px -2889px;}
+
+.dcae-s-sdc-state.CERTIFIED { background-position: -53px -3034px; width: 14px; height: 16px;}
+.dcae-s-sdc-state.CERTIFIED.green { background-position: -76px -3034px;}
+.dcae-s-sdc-state.CERTIFIED.red { background-position: -99px -3034px;}
+
+.dcae-s-sdc-state.READY_FOR_CERTIFICATION { background-position: -53px -2985px; width: 14px; height: 16px;}
+.dcae-s-sdc-state.READY_FOR_CERTIFICATION.green { background-position: -76px -2985px;}
+.dcae-s-sdc-state.READY_FOR_CERTIFICATION.red { background-position: -99px -2985px;}
+
+.dcae-s-sdc-state.CERTIFICATION_IN_PROGRESS { background-position: -53px -2934px; width: 14px; height: 16px;}
+.dcae-s-sdc-state.CERTIFICATION_IN_PROGRESS.green { background-position: -76px -2934px;}
+.dcae-s-sdc-state.CERTIFICATION_IN_PROGRESS.red { background-position: -99px -2934px; }
+
+.dcae-s-sdc-state.DISTRIBUTED { background-position: -43px -3087px; width: 24px; height: 14px;}
+.dcae-s-sdc-state.DISTRIBUTED.green { background-position: -76px -3087px;}
+.dcae-s-sdc-state.DISTRIBUTED.red { background-position: -113px -3087px;}
+
diff --git a/app/main/dashboard/dcaedt/dcaedt.controller.js b/app/main/dashboard/dcaedt/dcaedt.controller.js
new file mode 100644
index 0000000..499a523
--- /dev/null
+++ b/app/main/dashboard/dcaedt/dcaedt.controller.js
@@ -0,0 +1,519 @@
+(function () {
+
+ 'use strict';
+
+ var CHECKOUT = 'NOT_CERTIFIED_CHECKOUT';
+
+ var DashboardDCAEController = function ($rootScope, $scope, $log, $location, dcaeFactory, $stateParams, $state, appSettings, $http, $templateCache) {
+ $scope.appSettings = appSettings;
+
+ function init() {
+ if ($rootScope.VNFs === undefined) {
+ dcaeFactory
+ .getVNFList()
+ .then(function (response) {
+ $rootScope.VNFs = response.data;
+ $rootScope.VNFsRef = $rootScope.VNFs;
+ $scope.title = appSettings.title;
+ //var vm = this; vm.test = appSettings.title;
+ }, function (res, status, headers, config) {
+ errorHanlder(res);
+ $rootScope.VNFs = [];
+ });
+ }
+ $rootScope.$state = $state;
+ $rootScope.$stateParams = $stateParams;
+ }
+
+ init();
+
+ $scope.sortingVfcmts = function () {
+ $rootScope.VNFs = $rootScope.VNFsRef;
+ switch (value) {
+ case 'New':
+ return $rootScope
+ .VNFs
+ .reverse()
+ case 'Abc':
+ return $rootScope.VNFs = _.sortBy($rootScope.VNFs, function (s) {
+ return s
+ .name
+ .charCodeAt() * -1;
+ }).reverse();
+ default:
+ return $rootScope.VNFs;
+ }
+ }
+
+ $scope.goGeneral = function (component, createMode, typeFlag) {
+ // typeFlag: true when VNF, false when Service Assurance
+ $rootScope.component = component;
+ $rootScope.readOnlyComponent = false;
+ $rootScope.resultInformation = "";
+ if (component != null) {
+ if (component.lastUpdaterUserId !== $rootScope.userId && component.lifecycleState === CHECKOUT) {
+ console.log('readOnlyComponent');
+ $rootScope.readOnlyComponent = true;
+ }
+ $rootScope.componentUser = component.lastUpdaterUserId;
+ }
+
+ $rootScope.createMode = createMode;
+ $rootScope.typeFlag = typeFlag;
+ $rootScope.s = '';
+
+ console.log(createMode);
+ console.log(component);
+ console.log(typeFlag);
+
+ //description
+ if (component && component.uuid) {
+ $http({
+ method: 'GET',
+ url: window.host + 'resource/' + component.uuid,
+ headers: {
+ 'Content-Type': 'application/x-www-form-urlencoded'
+ } // set the headers so angular passing info as form data (not request payload)
+ })
+ .then(function (response) {
+ if (response && response.data && response.data.description)
+ $rootScope.component.description = response.data.description;
+ //console.log(response);
+ }
+ );
+ }
+
+ if (typeFlag == null) {
+ $scope.pullArtifacts(component);
+ } else {
+ if (!typeFlag) {
+ //$scope.Services();
+ }
+ $scope.page = "general";
+ $state.go('dcae.app.general');
+
+ }
+ }
+
+ $scope.saveOnSdcExit = function (params) {
+ if (params === 'ok') {
+ document
+ .getElementById("savebtn")
+ .click();
+ } else {
+ window
+ .sdc
+ .notify('ACTION_COMPLETED');
+ }
+ }
+
+ $scope.goSelfServe = function (component, createMode) {
+ //$location.url('/general'); if(component) {
+ $scope.page = "self_serve";
+ $state.go('dcae.app.self_serve');
+ $rootScope.component = component;
+ $rootScope.createMode = createMode;
+ console.log(component);
+ /*} else {
+ $scope.page="general";
+ $state.go('dcae.app.general');
+ $rootScope.createMode = true;
+ $rootScope.component={};
+ }*/
+
+ }
+
+ $scope.goImport = function (component, createMode) {
+ //$location.url('/general'); if(component) {
+ $scope.page = "import";
+ $state.go('dcae.app.import');
+ $rootScope.component = component;
+ $rootScope.createMode = createMode;
+ console.log(component);
+ /*} else {
+ $scope.page="general";
+ $state.go('dcae.app.general');
+ $rootScope.createMode = true;
+ $rootScope.component={};
+ }*/
+ }
+
+ $scope.goToBreadcrumbHome = function () {
+ $scope.page = "home";
+ $state.go('dcae.app.home');
+ }
+
+ $scope.goServices = function (component) {
+ $scope.Services();
+ }
+
+ $scope.goComposition = function (component, typeFlag) {
+ //$location.url('/general'); $scope.uuid = "";
+ $scope.page = "composition";
+ $rootScope.component = component;
+ $state.go('dcae.app.composition');
+ $rootScope.componentUrl = 'comp-fe/icecat.html';
+ $rootScope.typeFlag = typeFlag;
+ $rootScope.updateTime = Date.now();
+
+ $rootScope.importVNFs = $rootScope
+ .VNFs
+ .filter(function (item) {
+ return item.uuid !== $rootScope.component.uuid;
+ });
+
+ $http
+ .get(window.host + '/conf/composition')
+ .then(function (response) {
+ // success callback console.log(response);
+ window.flowTypes = response.data.flowTypes;
+ window.isRuleEditorActive = response.data.isRuleEditorActive;
+ }, function (response) {
+ // failure call back console.log(response);
+ $rootScope.dataTypes = "No Data Type";
+ });
+ console.log('userId: ', $rootScope.userId);
+ console.log('lastUpdaterUserId: ', $rootScope.component.lastUpdaterUserId);
+ $rootScope.disableImport = true;
+ document.addEventListener('noComposition', function () {
+ $rootScope
+ .$apply(function () {
+ $rootScope.disableImport = false;
+ });
+ }, {once: true});
+ // console.log($templateCache('comp-fe/icecat.html')); $rootScope.componentUrl =
+ // "comp-fe/icecat.html#"+component.uuid;
+
+ }
+
+ $scope.selectVfcmtRow = function (importComponent, currentComponent, row) {
+ $scope.importComponent = importComponent;
+ $scope.currentComponent = currentComponent;
+ $scope.selectedRow = row;
+ }
+
+ $scope.importVfcmt = function () {
+ $scope.clone($scope.importComponent, $scope.currentComponent);
+ }
+
+ $scope.clone = function (x, y) {
+ var popup = confirm('Are you sure you want to import? this action will replace the current compositio' +
+ 'n!');
+ if (popup == true) {
+ $http({
+ method: 'GET',
+ url: window.host + 'utils/clone/resource/' + x.uuid + '/' + y.uuid,
+ headers: {
+ 'Content-Type': 'application/x-www-form-urlencoded'
+ } // set the headers so angular passing info as form data (not request payload)
+ })
+ .then(function (response) {
+ console.log("Clone response:", response);
+ $rootScope.updateTime = Date.now();
+ })
+ .catch(function (res) {
+ $rootScope.errorMsg = errorHanlder(res);
+ });
+
+ // $rootScope.component = x; $rootScope.updateTime = Date.now();
+ // $scope.goComposition(y);
+ }
+ };
+
+ $scope.openImport = function () {
+ // debugger; jQuery.noConflict();
+ jQuery('#import').modal("show");
+ }
+
+ $scope.goArtifact = function () {
+ //$location.url('/general');
+ $scope.page = "artifact";
+ $state.go('dcae.app.artifact');
+ }
+
+ $scope.showAttach = function () {
+ if (typeof $rootScope.service !== 'undefined' && typeof $rootScope.vnfi !== 'undefined' && !jQuery.isEmptyObject($rootScope.service) && !jQuery.isEmptyObject($rootScope.vnfi)) {
+ return false;
+ } else {
+ return true;
+ }
+ }
+
+ $scope.saveServiceSelection = function (x, y, z) {
+ $scope.loader = true;
+
+ $rootScope.service = y;
+ $rootScope.vnfi = z;
+ $rootScope.resultInformation2 = false;
+ $http({
+ method: 'POST',
+ url: window.host + x.uuid + '/attachment',
+ // / ' + x.uuid + ' / ' + y.uuid + ' / ' + z.name,
+ data: {
+ 'serviceUuid': y.uuid,
+ 'instanceName': z.name
+ },
+
+ headers: {
+ 'Content-Type': 'application/json'
+ }
+ })
+ .then(function (response) {
+ $scope.loader = false;
+ console.log(response.data);
+ $rootScope.resultInformation2 = true;
+ })
+ .catch(function (res) {
+ $rootScope.errorMsg = errorHanlder(res);
+ });
+ }
+
+ $scope.save = function () {
+ var generalUserInput = {};
+ $scope.createMode = true;
+ $scope.loader = true;
+ generalUserInput.name = this.component.name;
+ generalUserInput.description = this.component.description;
+ console.log(JSON.stringify(generalUserInput, null, 4));
+ var config = {
+ headers: {
+ 'Content-Type': 'application/json'
+ }
+ };
+
+ $rootScope.resultInformation = "";
+
+ dcaeFactory
+ .postData(window.host + 'createVFCMT', generalUserInput, config)
+ .then(function (res) {
+ $scope.PostDataResponse = res.data;
+ console.log(res.data);
+ $rootScope.component = $scope.component = res.data;
+ $rootScope
+ .VNFs
+ .push($rootScope.component);
+ $rootScope.service = {};
+ $rootScope.vnfi = {};
+ showResultInfo("VFCMT Created/Saved.", 5000);
+ })
+ .catch(function (res) {
+ console.log("Error: ", res.data.notes);
+ showResultInfo(res.data, 5000);
+ $rootScope.resultInformation = errorHanlder(res);
+ })
+ . finally(function () {
+ $scope.loader = false;
+ });
+
+ function showResultInfo(msg, msDuration) {
+ $rootScope.resultInformation = msg;
+ setTimeout(function () {
+ $rootScope.resultInformation = "";
+ }, msDuration);
+ }
+ }
+
+ $scope.add = function () {
+ var f = document
+ .getElementById('file')
+ .files[0],
+ r = new FileReader();
+ r.onloadend = function (e) {
+ var binary = "";
+ var bytes = new Uint8Array(e.target.result);
+ var length = bytes.byteLength;
+
+ for (var i = 0; i < length; i++) {
+ binary += String.fromCharCode(bytes[i]);
+ }
+
+ $scope.data = (binary).toString();
+ alert($scope.data);
+ }
+ r.readAsArrayBuffer(f);
+ }
+
+ $scope.showTypeFilter = function (type) {
+ if ($rootScope.component == null) {
+ return true;
+ } else {
+ return !(type.invariantUUID).includes($rootScope.component.invariantUUID);
+ }
+ }
+
+ $scope.pullArtifacts = function (x) {
+ console.log('pull artifacts commenced');
+ $http({
+ method: 'GET',
+ url: window.host + x.uuid + '/attachment',
+ headers: {
+ 'Content-Type': 'application/json'
+ } // set the headers so angular passing info as form data (not request payload)
+ })
+ .then(function (response) {
+
+ $rootScope.typeFlag = true;
+ var res = response.data.successResponse;
+
+ if (res != "No Artifacts") {
+ $rootScope.typeFlag = false;
+ var uuid = res.substring(0, res.indexOf("/"));
+ var name = res.substring(res.indexOf("resources/") + 10);
+ //$scope.Services(); $scope.VNFIs(uuid);
+ $rootScope.s = uuid + ' / ' + name;
+ $rootScope.service = {
+ uuid: uuid
+ };
+ $rootScope.vnfi = {
+ name: name
+ };
+ } else {
+ var uuid = null;
+ var name = null;
+ }
+ $rootScope.typeFlag = true;
+ console.log($rootScope.s);
+ // final navigation
+ $scope.page = "general";
+ $state.go('dcae.app.general');
+ })
+ .catch(function (res) {
+ $rootScope.errorMsg = errorHanlder(res);
+ });
+ };
+
+ $scope.Services = function () {
+ // clear dropDown
+ $scope.loader = true;
+ if (jQuery.isEmptyObject($rootScope.service) && jQuery.isEmptyObject($rootScope.vnfi)) {
+ $rootScope.resultInformation2 = false;
+ $rootScope.vnfis = [];
+ } else {
+ $rootScope.resultInformation2 = true;
+ $scope.VNFIs($rootScope.service.uuid);
+ }
+ $http({
+ method: 'GET',
+ url: window.host + 'services/' + $rootScope.component.uuid,
+ headers: {
+ 'Content-Type': 'application/x-www-form-urlencoded'
+ } // set the headers so angular passing info as form data (not request payload)
+ })
+ .then(function (response) {
+ $rootScope.services = response.data;
+ console.log($rootScope.services);
+ $rootScope.services = $rootScope
+ .services
+ .map(function (service) {
+ if (!(service.lifeCycleState === CHECKOUT && service.lastUpdaterUserId !== $rootScope.userId)) {
+ return service;
+ } else {
+ console.log("remove form dropDown:" + service.name + " " + service.lifeCycleState + " " + service.lastUpdaterUserId);
+ }
+ })
+ .filter(function (item) {
+ return item !== undefined;
+ });
+
+ $scope.loader = false;
+ $rootScope.vnfiTouch = false;
+ $scope.page = "services";
+ $state.go('dcae.app.services');
+ })
+ .catch(function (res) {
+ $rootScope.errorMsg = errorHanlder(res);
+ })
+ . finally(function () {
+ $scope.loader = false;
+ });
+ };
+
+ $scope.vnfiChange = function (y) {
+ $rootScope.vnfi = {};
+ if (y) {
+ $rootScope.vnfi.name = y;
+ }
+ }
+
+ $scope.VNFIs = function (x) {
+ $http({
+ method: 'GET',
+ url: window.host + 'service/' + x,
+ headers: {
+ 'Content-Type': 'application/x-www-form-urlencoded'
+ } // set the headers so angular passing info as form data (not request payload)
+ })
+ .then(function (response) {
+ $rootScope.service = {};
+ $rootScope.service.uuid = x;
+ $rootScope.vnfis = [];
+ $rootScope.vnfiTouch = true;
+ if (response.data.resources) {
+ response
+ .data
+ .resources
+ .forEach(function (x) {
+ var v = {
+ 'name': x.resourceInstanceName,
+ 'uuid': x.resourceInvariantUUID
+ };
+ $rootScope
+ .vnfis
+ .push(v);
+ });
+ }
+ console.log($rootScope.vnfis);
+ return response.data;
+ })
+ .catch(function (res) {
+ $rootScope.errorMsg = errorHanlder(res);
+ })
+ . finally(function () {
+ $scope.loader = false;
+ });
+ }
+ };
+
+ DashboardDCAEController.$inject = [
+ '$rootScope',
+ '$scope',
+ '$log',
+ '$location',
+ 'dcaeFactory',
+ '$stateParams',
+ '$state',
+ 'appSettings',
+ '$http',
+ '$templateCache'
+ ];
+
+ angular
+ .module('dcaeApp.dashboard.dcae')
+ .controller('DashboardDCAEController', DashboardDCAEController);
+
+ angular
+ .module('dcaeApp.dashboard.dcae')
+ .directive('leftMenu', function ($state) {
+ return {
+ templateUrl: 'main/dashboard/dcaedt/leftMenu.html',
+ controller: function ($scope, $state) {
+ $scope.page = $state
+ .current
+ .url
+ .substring(1, $state.current.url.length);
+ console.log("page: " + $scope.page);
+ }
+ }
+ });
+
+})();
+
+function errorHanlder(res) {
+ console.log("Error: ", res.data.notes);
+ var tempError = Object
+ .keys(res.data.requestError)
+ .map(function (key) {
+ return res.data.requestError[key];
+ });
+ return tempError[0].formattedErrorMessage;
+}
diff --git a/app/main/dashboard/dcaedt/dcaedt.factory.js b/app/main/dashboard/dcaedt/dcaedt.factory.js
new file mode 100644
index 0000000..934ed76
--- /dev/null
+++ b/app/main/dashboard/dcaedt/dcaedt.factory.js
@@ -0,0 +1,27 @@
+(function () {
+
+ 'use strict';
+
+ var dcaeFactory = function ($http, appSettings) {
+
+ var factory = {};
+
+ factory.getVNFList = function () {
+ return $http.get(window.host + 'getResourcesByCategory');
+ };
+
+ factory.postData = function (url, data, config) {
+ return $http.post(url, data, config);
+ };
+
+ return factory;
+ };
+
+ dcaeFactory.$inject = ['$http', 'appSettings'];
+
+ angular
+ .module('dcaeApp.dashboard.dcae')
+ .factory('dcaeFactory', dcaeFactory);
+
+
+})();
diff --git a/app/main/dashboard/dcaedt/dcaedt.html b/app/main/dashboard/dcaedt/dcaedt.html
new file mode 100644
index 0000000..7084cf0
--- /dev/null
+++ b/app/main/dashboard/dcaedt/dcaedt.html
@@ -0,0 +1,69 @@
+<div ng-controller="AppController as vm" class="{{state.current.bodyClass || ''}} dcaeApp dcae-module">
+ <loader data-display="isLoading"></loader>
+
+ <div class="dcae-main-container" style="padding: 1rem;">
+
+ <div style="display: flex; justify-content: space-between; margin:10px 0;">
+ <span style="padding-left: 10px; display: flex; align-items: center;">
+ <span ng-if="!VNFs" style="padding-right:3px;">0</span> {{ VNFs.length }} VFCMTS
+ </span>
+
+ <div style="position: relative; margin-right:9px;">
+ <input type='text' ng-model='searchVfc' placeholder="Search" class="form-control" style="border-radius: 2px;width: 400px; height: 32px;line-height: 32px;border: 1px solid #d2d2d2;outline: none;text-indent: 10px; background: white;"
+ />
+ <span class="glyphicon glyphicon-search form-control-feedback" aria-hidden="true"></span>
+ </div>
+ </div>
+ <!-- <br />
+ <br />
+ <footer>Version: {{ appSettings.version }} </footer> -->
+ <div style="display: flex; flex-wrap: wrap; justify-content: flex-start;">
+ <div class="dcae-dashboard-card">
+ <div class="dcae-dashboard-card-new-content" data-tests-id="AddButtonsArea" data-ng-click="goGeneral(null, true, true)">
+ <div class="dcae-dashboard-card-new-content-plus" data-ng-show="!displayActions"></div>
+ <div class="sdc-dashboard-create-element-container" data-ng-show="displayActions">
+ <!-- <button data-tests-id="createResourceButton" class="tlv-btn-svc_assu outline blue" data-ng-click="goGeneral(null, true, true)">Add VNF
+ Assurance Template</button>
+ <button data-tests-id="createResourceButton" class="tlv-btn-svc_assu outline blue" data-ng-click="goGeneral(null, true, false)">Add Service
+ Assurance Template</button> -->
+ </div>
+ </div>
+ </div>
+
+ <div class="tlv-loader large" ng-if="!VNFs"></div>
+
+ <div data-ng-class="{'sdc-hide-popover': hidePopover}" data-ng-init="component.filterTerm = component.name + ' ' + component.description + ' ' + component.tags.toString() + ' ' + component.version"
+ class="dcae-dashboard-card ng-scope" data-ng-repeat="component in VNFs | filter:searchVfc" data-ng-class="{'resource' : component.resourceType === 'VFC', 'service' : component.isService(), 'product' : component.isProduct()}">
+
+
+ <div class="dcae-dashboard-card-body" data-ng-click="gui.isLoading || goGeneral(component, false, null)">
+ <!-- <div class="dcae-dashboard-card-avatar">
+ <span data-tests-id="asset-type" class="{{component.resourceType}}"></span>
+ </div> -->
+ <div class="dcae-vfcmt-title">
+ <span>{{component.resourceType}}</span>
+ </div>
+
+ <!-- <div class="dcae-dashboard-card-edit " data-ng-class="component.lifecycleState" data-tests-id="assetlifecycleState {{getStatus()}}"></div> -->
+ <div class="dcae-dashboard-card-schema-image sprite-resource-icons defaulticon" style="background-image: url(/sdc1/scripts/images/sprite-resource-icons.e1bcf178b7b79fd5c93f.png);display: inline-block;"
+ data-tests-id="{{component.categories[0].subcategories[0].uniqueId}}"></div>
+
+ <div class="dcae-dashboard-card-description">{{component.description}}</div>
+ <div class="dcae-dashboard-card-info-name-container" style="text-align: left">
+ <span class="dcae-dashboard-card-info-name" tooltips tooltip-content="{{component.name}}r"> {{component.name}}</span>
+ <div class="dcae-dashboard-card-info-user">V {{component.version}}
+ </div>
+ </div>
+ </div>
+
+ <div class="dcae-dashboard-card-footer">
+ <div class="dcae-dashboard-card-info">
+ <div class="dcae-dashboard-card-info-user" style="font-size: 10px;">
+ {{component.lifecycleState}}
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
diff --git a/app/main/dashboard/dcaedt/dcaedt.module.js b/app/main/dashboard/dcaedt/dcaedt.module.js
new file mode 100644
index 0000000..d5c6a64
--- /dev/null
+++ b/app/main/dashboard/dcaedt/dcaedt.module.js
@@ -0,0 +1,148 @@
+(function () {
+
+ 'use strict';
+
+ angular
+ .module('dcaeApp.dashboard.dcae', [])
+ .config(config);
+
+ function config($stateProvider) {
+
+ $stateProvider.state('dcae.app.home', {
+ url: '/home',
+ views: {
+ 'content@dcae.app': {
+ templateUrl: 'main/dashboard/dcaedt/dcaedt.html',
+ controller: 'DashboardDCAEController as vm'
+ }
+ },
+ bodyClass: 'about'
+ })
+
+ .state('dcae.app.general', {
+ url: '/general',
+ views: {
+ 'content@dcae.app': {
+ templateUrl: 'main/dashboard/dcaedt/dcaedt_general.html',
+ controller: 'DashboardDCAEController as vm'
+ },
+ 'leftMenu': {
+ templateUrl: 'main/dashboard/dcaedt/leftMenu.html',
+ controller: 'DashboardDCAEController as vm'
+ }
+ },
+ bodyClass: 'about'
+ })
+
+ .state('dcae.app.services', {
+ url: '/services',
+ views: {
+ 'content@dcae.app': {
+ templateUrl: 'main/dashboard/dcaedt/dcaedt_services.html',
+ controller: 'DashboardDCAEController as vm'
+ }
+ },
+ bodyClass: 'about'
+ })
+ /*
+ .state('dcae.app.general_vnf', {
+ url: '/general_vnf',
+ views: {
+ 'content@dcae.app': {
+ templateUrl: 'main/dashboard/dcaedt/dcaedt_general_vnf.html',
+ controller: 'DashboardDCAEController as vm'
+ }
+ },
+
+ /*onEnter: function () {
+ //i hide header tabs, you can add your code here
+ openNav();
+ },
+ onExit: function () {
+ //i hide header tabs, you can add your code here
+ closeNav();
+ }, //////////
+ bodyClass: 'about'
+ })
+ .state('dcae.app.general_service', {
+ url: '/general_service',
+ views: {
+ 'content@dcae.app': {
+ templateUrl: 'main/dashboard/dcaedt/dcaedt_general_service.html',
+ controller: 'DashboardDCAEController as vm'
+ }
+ },
+
+ /*onEnter: function () {
+ //i hide header tabs, you can add your code here
+ openNav();
+ },
+ onExit: function () {
+ //i hide header tabs, you can add your code here
+ closeNav();
+ }, //////////
+ bodyClass: 'about'
+ })*/
+ .state('dcae.app.import', {
+ url: '/import',
+ views: {
+ 'content@dcae.app': {
+ templateUrl: 'main/dashboard/dcaedt/dcaedt_import.html',
+ controller: 'DashboardDCAEController as vm'
+ }
+ },
+ bodyClass: 'about'
+ })
+ .state('dcae.app.self_serve', {
+ url: '/self_serve',
+ views: {
+ 'content@dcae.app': {
+ templateUrl: 'main/dashboard/dcaedt/dcaedt_self_serve.html',
+ controller: 'DashboardDCAEController as vm'
+ }
+ },
+ bodyClass: 'about'
+ })
+ .state('dcae.app.artifact', {
+ url: '/artifact',
+ views: {
+ 'content@dcae.app': {
+ templateUrl: 'main/dashboard/dcaedt/dcaedt_artifact.html',
+ controller: 'DashboardDCAEController as vm'
+ }
+ },
+ bodyClass: 'about'
+ })
+ .state('dcae.app.comp-fe', {
+ url: '/comp-fe',
+ views: {
+ 'content@dcae.app': {
+ templateUrl: 'comp-fe/icecat.html',
+ controller: ''
+ }
+ },
+ bodyClass: 'about'
+ })
+ .state('dcae.app.composition', {
+ url: '/composition',
+ views: {
+ 'content@dcae.app': {
+ templateUrl: 'main/dashboard/dcaedt/dcaedt_composition.html',
+ controller: 'DashboardDCAEController as vm'
+ }
+ },
+ bodyClass: 'about'
+ });
+
+ }
+
+ function openNav() {
+ document.getElementById("dcaeSidenav").style.width = "150px";
+ document.getElementById("content-container").style.marginLeft = "150px";
+ }
+
+ function closeNav() {
+ document.getElementById("dcaeSidenav").style.width = "0";
+ }
+
+})();
diff --git a/app/main/dashboard/dcaedt/dcaedt.values.js b/app/main/dashboard/dcaedt/dcaedt.values.js
new file mode 100644
index 0000000..9285ca8
--- /dev/null
+++ b/app/main/dashboard/dcaedt/dcaedt.values.js
@@ -0,0 +1,6 @@
+angular.module('dcaeApp.dashboard.dcae').value('appSettings', {
+ title: 'DCAE Application',
+ version: '1.0',
+
+ backend_url: window.host
+});
diff --git a/app/main/dashboard/dcaedt/dcaedt_artifact.html b/app/main/dashboard/dcaedt/dcaedt_artifact.html
new file mode 100644
index 0000000..b2f9751
--- /dev/null
+++ b/app/main/dashboard/dcaedt/dcaedt_artifact.html
@@ -0,0 +1,18 @@
+ <div class="dcae-main-container">
+ <div class="dcae-left-sidebar" >
+ <div class="dcae-menu-item" ng-class="{selected:page==='general'}" ui-sref="dcae.app.home">Home</div>
+ <div class="dcae-menu-item" ng-class="{selected:page==='general'}" ng-click="goGeneral(component, false)">General</div>
+ <div class="dcae-menu-item" ng-class="{selected:page==='import'}" ng-click="goImport(component, false)">Import</div>
+ <div class="dcae-menu-item" ng-class="{selected:page==='composition'}" ng-click="goComposition()" data-tests-id="dcae-menu-item-Composition">Composition</div>
+ <div class="dcae-menu-item selected" ng-class="{selected:page==='artifact'}" ng-click="goArtifact()">Artifact</div>
+ </div>
+
+ <div class="dcae-main-right-container">
+ <ul class="navigation-top-menu">
+ <li><a ui-sref="dcae.app.home">Home</a></li>
+ <li><a ui-sref="dcae.app.general">General</a></li>
+ <li><a ui-sref="dcae.app.artifact">Artifact</a></li>
+ </ul>
+ <h1>This is Artifact</h1>
+ </div>
+</div>
diff --git a/app/main/dashboard/dcaedt/dcaedt_composition.html b/app/main/dashboard/dcaedt/dcaedt_composition.html
new file mode 100644
index 0000000..8801a79
--- /dev/null
+++ b/app/main/dashboard/dcaedt/dcaedt_composition.html
@@ -0,0 +1,158 @@
+<div class="dcae-main-container">
+ <div class="dcae-left-sidebar" left-menu></div>
+
+ <div class="dcae-main-right-container" style="overflow:hidden; margin-top:0px; padding:0">
+
+ <div id="composition-loader" class="tlv-loader large"></div>
+
+ <div style="display: flex; justify-content: space-between; padding-bottom: 20px;
+align-items: center; padding: 1rem;">
+ <!-- <div ng-if="!readOnlyComponent">
+ <button class="dcae-round-btn" ng-disabled="disableImport" ng-click="openImport()" style="position: absolute; left:7%">
+ <div class="dcae-image-text-btn">
+ <span class="dcae-import-icon"></span>
+ <span style="line-height: 25px;">import</span>
+ </div>
+ </button>
+ </div> -->
+ <div style="display: flex; justify-content: flex-end; padding: 9px 0;">
+ <button class="tlv-btn blue" ng-if="!component.uuid" ng-disabled="!createMode" ng-click="save()" style="margin-right: 10px;">
+ save
+ </button>
+ <button class="tlv-btn outline blue" ng-click="goToBreadcrumbHome()">
+ cancel
+ </button>
+ </div>
+ </div>
+
+ <div id="icecat" class="embed-responsive embed-responsive-16by9" style="background-color:white;box-shadow: 0 0 10px #AAA;">
+
+ <div ng-include="catalogImport+'/icecat.html?updated=' + updateTime" onload="loadComposition()" componentid={{component.uuid}}
+ serviceuuid={{service.uuid}} vnfiname={{vnfi.name}} user_id={{userId}} typeFlag={{typeFlag}} componentUser={{componentUser}}
+ id="iframe" class="embed-responsive-item" readOnlyComponent={{readOnlyComponent}}></div>
+
+ </div>
+ </div>
+</div>
+
+<!-- Modal -->
+<div class="modal fade" id="import" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
+ <div class="modal-dialog" role="document">
+ <div class="modal-content">
+ <div class="modal-header" style="border-bottom: 3px solid #009fdb; margin: 0 10px;">
+ <button type="button" class="close" data-dismiss="modal" aria-label="Close">
+ <span aria-hidden="true">&times;</span>
+ </button>
+ <h4 class="modal-title" id="myModalLabel">Import Composition</h4>
+ </div>
+ <div class="modal-body" style="height:600px; overflow:scroll;">
+
+ <div style="display: flex; justify-content: space-between; margin:10px 0;">
+ <span style="padding-left: 10px; display: flex; align-items: center;">{{ VNFs.length }} VFCMTS </span>
+ <div style="position: relative;">
+ <input type='text' ng-model='searchVfc' placeholder="Search" style="border-radius: 2px;width: 300px; height: 32px;line-height: 32px;border: 1px solid #d2d2d2;outline: none;text-indent: 10px; background: white;"
+ />
+ <span class="glyphicon glyphicon-search form-control-feedback" aria-hidden="true"></span>
+ </div>
+ </div>
+
+ <div class="tlv-loader large" ng-if="!VNFs"></div>
+
+ <table class="table table-bordered">
+ <thead style="background: #eaeaea;">
+ <tr>
+ <th>name</th>
+ <th>version</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr data-ng-init="componentx.filterTerm = componentx.name + ' ' + componentx.description + ' ' + componentx.tags.toString() + ' ' + componentx.version"
+ ng-repeat="componentx in importVNFs | filter:searchVfc" ng-click="selectVfcmtRow(componentx,component, $index)"
+ ng-class="{info: $index == selectedRow}">
+ <td>
+ {{componentx.name}}
+ </td>
+ <td>
+ {{componentx.version}}
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ <div class="modal-footer" style="background: #eaeaea;">
+ <button type="button" class="tlv-btn blue" ng-click="importVfcmt()" data-dismiss="modal">
+ import
+ </button>
+ <button type="button" class="tlv-btn outline blue" data-dismiss="modal">
+ cancel
+ </button>
+ </div>
+ </div>
+ </div>
+</div>
+
+
+<!-- Modal Rule-Editor -->
+<div class="modal fade rule-editor-modal" id="rule-editor-modal" tabindex="-1" role="dialog">
+ <div class="modal-dialog" role="document" style="width: 90vw;">
+ <div class="modal-content">
+ <div class="modal-header">
+ <button type="button" class="close" data-dismiss="modal" aria-label="Close">
+ <span aria-hidden="true">&times;</span>
+ </button>
+ </div>
+ <div class="tlv-loader large" id="modal-loader"></div>
+ <div width="100%" style="height: 90vh; width: 100%;">
+ <iframe frameborder="0" width="100%" height="100%"></iframe>
+ </div>
+ </div>
+ </div>
+</div>
+
+<!-- confirm modal -->
+<div class="modal fade" id="confirm-modal" tabindex="-1" role="dialog">
+ <div class="modal-dialog" role="document">
+ <div class="modal-content">
+ <div class="modal-header">
+ <button type="button" class="close" data-dismiss="modal" aria-label="Close">
+ <span aria-hidden="true">&times;</span>
+ </button>
+ <h4 class="modal-title">Save composition</h4>
+ </div>
+ <div class="modal-body">
+ Do you want to save composition?
+ </div>
+ <div class="modal-footer">
+ <button type="button" class="btn btn-primary" data-dismiss="modal" id="btn-confirm-save" ng-click="saveOnSdcExit('ok')">Ok</button>
+ <button type="button" class="btn btn-default" data-dismiss="modal" ng-click="saveOnSdcExit('cancel')">Cancel</button>
+ </div>
+ </div>
+ <!-- /.modal-content -->
+ </div>
+ <!-- /.modal-dialog -->
+</div>
+<!-- /.modal -->
+
+<!-- alert modal -->
+<div class="modal fade" id="alert-modal" tabindex="-1" role="dialog">
+ <div class="modal-dialog" role="document">
+ <div class="modal-content">
+ <div class="modal-header">
+ <button type="button" class="close" data-dismiss="modal" aria-label="Close">
+ <span aria-hidden="true">&times;</span>
+ </button>
+ <h4 class="modal-title">Error</h4>
+ <hr class="modal-header-error" />
+ </div>
+ <div class="modal-body">
+ <!-- message is inserted via JS -->
+ </div>
+ <div class="modal-footer">
+ <button type="button" class="btn btn-primary" data-dismiss="modal" id="btn-confirm-save">Ok</button>
+ </div>
+ </div>
+ <!-- /.modal-content -->
+ </div>
+ <!-- /.modal-dialog -->
+</div>
+<!-- /.modal -->
diff --git a/app/main/dashboard/dcaedt/dcaedt_general.html b/app/main/dashboard/dcaedt/dcaedt_general.html
new file mode 100644
index 0000000..3cd3b7f
--- /dev/null
+++ b/app/main/dashboard/dcaedt/dcaedt_general.html
@@ -0,0 +1,202 @@
+<meta http-equiv="cache-control" content="no-cache" />
+<div class="dcae-main-container">
+ <div class="dcae-left-sidebar" left-menu></div>
+
+ <div class="dcae-main-right-container">
+
+ <div class="sdc-workspace-top-bar-buttons" style="display: flex; justify-content: flex-end; border-bottom: 1px solid #cdcdcd; padding: 9px 0;">
+ <button class="tlv-btn blue" ng-if="!component.uuid" ng-disabled="$parent.editForm.$valid == false" ng-click="save()" style="margin-right: 10px;"
+ data-tests-id="Save-General">
+ save
+ </button>
+ <button class="tlv-btn outline blue" ng-click="goToBreadcrumbHome()" data-tests-id="Cancel-General">
+ cancel
+ </button>
+ </div>
+
+ <!-- <div class="dcae-workspace-top-bar">
+ <div ng-hide="createMode" class="version-container ">
+ <span class="lifecycle-state-text ng-binding ng-scope" data-tests-id="formlifecyclestate">V{{component.version}}</span>
+ </div>
+
+ <div ng-hide="createMode" class="lifecycle-state">
+ <div data-ng-hide="showLifecycleIcon()" class="lifecycle-state-icon" data-ng-class="{'in-design-status-icon': createMode, '': !createMode}"></div>
+ <span class="lifecycle-state-text ng-binding ng-scope" data-tests-id="formlifecyclestate">{{component.lifecycleState}}</span>
+ </div>
+
+
+ <div ng-if="!createMode" class="progress-container">
+ <div class="general-view-top-progress top-progress ng-isolate-scope" progress-value="progressService.getProgressValue(component.uniqueId)"
+ progress-message="progressMessage"></div>
+ </div>
+
+ <div class="sdc-workspace-top-bar-buttons">
+
+ <span data-ng-if="isDesigner()" data-ng-class="{'disabled' :isDisableMode() || isViewMode()}" ng-click="revert()" class="dcae-sprite-new revert-btn ng-scope disabled"
+ data-tests-id="revert" data-ng-show="showFullIcons()" sdc-smart-tooltip="" style="overflow: hidden; white-space: nowrap; text-overflow: ellipsis;">Revert</span>
+ <span class="delimiter"></span> <span class="dcae-sprite-new x-btn" data-ng-click="goToBreadcrumbHome()"
+ sdc-smart-tooltip="" style="overflow: hidden; white-space: nowrap; text-overflow: ellipsis;">Close</span>
+
+ </div>
+
+
+ </div> -->
+ <div class="tlv-loader large" ng-if="loader"></div>
+
+ <div class="dcae-asset-creation-info" ng-if="component.uuid">
+ <div>
+ <b>UUID:</b>&nbsp;{{component.uuid}}
+ <b style="padding-left: 15px;">&nbsp;Invariant UUID:</b>&nbsp; {{component.invariantUUID}}
+ </div>
+ <div>
+ <b>last updater:</b>
+ {{component.lastUpdaterUserId}}
+ <b style="padding-left: 15px;">lifecycle state:</b>
+ {{component.lifecycleState}}
+ </div>
+ </div>
+
+ <div include-padding="true" class="sdc-workspace-general-step ng-scope">
+
+ <form novalidate="" class="w-sdc-form ng-pristine ng-valid-name-exist ng-invalid ng-invalid-required ng-valid-pattern ng-valid-minlength ng-valid-maxlength"
+ name="editForm">
+
+ <div class="w-sdc-form-section-container">
+
+ <div class="i-sdc-form-item">
+ <div class="general-view-top-progress top-progress ng-isolate-scope" progress-value="progressValue" progress-message="progressMessage">
+
+ <!--======================= Top progress var =======================-->
+ <!-- ngIf: progressValue>0 && progressValue<100 -->
+
+ <!-- ngIf: progressValue===100 -->
+
+ <!-- ngIf: progressValue===-1 -->
+ <!--======================= Top progress var =======================-->
+
+ </div>
+ </div>
+
+
+ <div class="w-sdc-form-columns-wrapper">
+
+ <div class="w-sdc-form-column">
+
+ <!--------------------- NAME -------------------->
+ <div class="i-sdc-form-item" data-ng-class="{'error': validateField(editForm.componentName)}">
+ <label class="i-sdc-form-label required">Name</label>
+ <input type="text" class="i-sdc-form-input dcae-input-text" ng-readonly="component.uuid" data-ng-class="{'view-mode': isViewMode()}"
+ name="componentName" data-ng-init="isCreateMode() &amp;&amp; validateName(true)" data-ng-model="component.name"
+ data-ng-disabled="component.isAlreadyCertified()" data-tests-id="name" autofocus="" placeholder="Name"
+ ng-readonly="isViewMode()" data-ng-maxlength="50" maxlength="50" data-ng-minlength="0" minlength="0"
+ data-required="" data-ng-model-options="{ debounce: 500 }" data-ng-pattern="/^[\s\w\&amp;_.:-]{1,1024}$/">
+ <!--<input
+ class="i-sdc-form-input ng-pristine ng-valid-name-exist ng-empty ng-invalid ng-invalid-required ng-valid-pattern ng-valid-minlength ng-valid-maxlength ng-touched"
+ data-ng-class="{'view-mode': isViewMode()}"
+ name="componentName"
+ data-ng-init="isCreateMode() &amp;&amp; validateName(true)"
+ data-ng-maxlength="50" maxlength="50" data-ng-minlength="0"
+ minlength="0" data-ng-model="component.name" type="text"
+ data-required="" data-ng-model-options="{ debounce: 500 }"
+ data-ng-pattern="/^[\s\w\&amp;_.:-]{1,1024}$/"
+ data-ng-disabled="component.isAlreadyCertified()"
+ data-tests-id="name" autofocus="" ng-readonly="isViewMode()">-->
+
+ <div class="input-error ng-hide" data-ng-show="validateField(editForm.componentName)">
+ <span ng-show="editForm.componentName.$error.required" translate="NEW_SERVICE_RESOURCE_ERROR_RESOURCE_NAME_REQUIRED" class="ng-scope">
+ Name is required.
+ </span>
+ <span ng-show="editForm.componentName.$error.maxlength" translate="VALIDATION_ERROR_MAX_LENGTH" translate-values="{'max': '50' }"
+ class="ng-scope ng-hide">
+ Max length 50 characters.
+ </span>
+ <span ng-show="editForm.componentName.$error.minlength" translate="VALIDATION_ERROR_MIN_LENGTH" translate-values="{'min': '4' }"
+ class="ng-scope ng-hide">Min length 4 characters.</span>
+ <span ng-show="editForm.componentName.$error.nameExist" translate="NEW_SERVICE_RESOURCE_ERROR_NAME_EXISTS" class="ng-scope ng-hide">Name already exists.</span>
+ <span ng-show="editForm.componentName.$error.pattern" translate="VALIDATION_ERROR_SPECIAL_CHARS_NOT_ALLOWED" class="ng-scope ng-hide">Special characters not allowed.
+ </span>
+ </div>
+ </div>
+ <!--------------------- NAME -------------------->
+
+ <!--------------------- FULL NAME -------------------->
+ <!-- ngIf: component.isProduct() -->
+ <!--------------------- NAME -------------------->
+
+ <!--------------------- DESCRIPTION -------------------->
+ <div class="i-sdc-form-item" data-ng-class="{'error': validateField(editForm.description)}">
+ <label class="i-sdc-form-label required">Description</label>
+ <textarea class="description dcae-input-text" ng-readonly="component.uuid" name="description" data-ng-class="{'view-mode': isViewMode()}"
+ data-ng-maxlength="1024" placeholder="Description" data-required="" data-ng-model="component.description"
+ data-ng-model-options="{ debounce: 500 }" data-ng-pattern="/^[\u0000-\u00BF]*$/" maxlength="1024"
+ data-tests-id="description"></textarea>
+ <!-- placeholder="Description here..." -->
+
+ <div class="input-error" ng-if="editForm.description.$dirty">
+ <span ng-if="editForm.description.$error.required" translate="NEW_SERVICE_RESOURCE_ERROR_RESOURCE_DESCRIPTION_REQUIRED" class="ng-scope">Description is required.</span>
+ <span ng-if="editForm.description.$error.maxlength" translate="VALIDATION_ERROR_MAX_LENGTH" translate-values="{'max': '1024' }"
+ class="ng-scope ng-hide">Max length 1024 characters.</span>
+ <span ng-if="editForm.description.$error.pattern" translate="VALIDATION_ERROR_SPECIAL_CHARS_NOT_ALLOWED">Special characters not allowed.
+ </span>
+ </div>
+ </div>
+ <!--------------------- DESCRIPTION -------------------->
+
+ <!--------------------- CATEGORIES -------------------->
+ <!-- ngIf: !component.isProduct() -->
+ <!-- end ngIf: !component.isProduct() -->
+ <!--------------------- CATEGORIES -------------------->
+ <br>
+ <!-- <button ng-if="!component.uuid" ng-disabled="!createMode" ng-click="save()" class="tlv-btn outline green ng-scope">Create
+ </button> -->
+
+ <!--{{PostDataResponse}}-->
+
+ {{resultInformation}}
+
+ </div>
+ <!-- Close w-sdc-form-column -->
+
+ </div>
+
+ </div>
+ <!-- Close w-sdc-form-section-container -->
+
+ </form>
+
+ </div>
+
+ <!-- <div ng-hide="typeFlag" class="dcae-main-container-body-content ng-scope" data-ng-class="{'third-party':thirdParty}" data-ui-view="">
+ <div class="row">
+ <div class="col-sm-4">
+ <select class="form-control" ng-model="service.uuid" ng-change="VNFIs(service.uuid)" data-ng-options="service.uuid as service.name for service in services">
+ <option value="">Select Service</option>
+ </select>
+ </div>
+ </div>
+ <br>
+ <div class="row">
+ <div class="col-sm-4">
+ <select class="form-control" ng-model="vnfi.name" ng-change="" data-ng-options="vnfi.name as vnfi.name for vnfi in vnfis">
+ <option value="">Select VNFI</option>
+ </select>
+ </div>
+ </div>
+ <br>
+
+ <div class="row">
+ <div class="col-sm-2">
+ <div class="btn">
+ <button class="btn btn-default" type="button" ng-click="saveServiceSelection(component,service,vnfi)">Save Service Selection
+ </button>
+ </div>
+ </div>
+ </div>
+
+ {{resultInformation2}}
+
+ </div> -->
+
+
+ </div>
+</div>
diff --git a/app/main/dashboard/dcaedt/dcaedt_general_service.html b/app/main/dashboard/dcaedt/dcaedt_general_service.html
new file mode 100644
index 0000000..ffefaae
--- /dev/null
+++ b/app/main/dashboard/dcaedt/dcaedt_general_service.html
@@ -0,0 +1,274 @@
+<div class="dcae-main-container">
+ <div class="dcae-left-sidebar">
+ <div class="dcae-menu-item" ng-class="{selected:page==='general'}" ui-sref="dcae.app.home">Home</div>
+ <div class="dcae-menu-item selected" ng-class="{selected:page==='general'}"
+ ng-click="goGeneral(component, component==null)">General
+ </div>
+ <div class="dcae-menu-item" ng-class="{selected:page==='import'}"
+ ng-click="goImport(component,component==null)">Import
+ </div>
+ <div class="dcae-menu-item" ng-class="{selected:page==='composition'}" ng-click="goComposition(component, selfAssurance)" data-tests-id="dcae-menu-item-Composition">
+ Composition
+ </div>
+ <!--<div class="dcae-menu-item" ng-class="{selected:page==='artifact'}" ng-click="goArtifact()">Artifact</div>-->
+ </div>
+ <!-- BOOTSTRAP COMPONENTS -->
+ <!-- Latest compiled and minified CSS -->
+ <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+ <!-- Latest compiled and minified JavaScript -->
+ <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
+
+ <div class="dcae-main-right-container">
+
+ <div class="dcae-workspace-top-bar">
+ <div ng-show="!createMode" class="version-container">
+ <!-- ngIf: !isCreateMode() && !component.isLatestVersion() -->
+ <!-- ngIf: !isCreateMode() -->
+ <span class="lifecycle-state-text ng-binding"
+ data-tests-id="formlifecyclestate">V{{component.version}}</span>
+ <!-- end ngIf: !isCreateMode() -->
+ </div>
+
+ <div ng-show="!createMode" class="lifecycle-state">
+ <div data-ng-show="showLifecycleIcon()" class="lifecycle-state-icon"
+ data-ng-class="{'in-design-status-icon': createMode, '': !createMode}"></div>
+ <span class="lifecycle-state-text ng-binding"
+ data-tests-id="formlifecyclestate">{{component.lifecycleState}}</span>
+ </div>
+
+
+ <div ng-if="!createMode" class="progress-container">
+ <div class="general-view-top-progress top-progress ng-isolate-scope"
+ progress-value="progressService.getProgressValue(component.uniqueId)"
+ progress-message="progressMessage"></div>
+ </div>
+
+ <div class="sdc-workspace-top-bar-buttons">
+
+ <!-- ngIf: !isCreateMode() && !component.isLatestVersion() && !showChangeStateButton() -->
+
+ <!-- ngIf: isDesigner() && !isCreateMode() -->
+ <!-- isDesigner() &amp;&amp; !isCreateMode() -->
+ <!--<button class="btn btn-default" ng-show="!createMode" ng-click="save()"
+ class="tlv-btn blue ng-scope" data-tests-id="create/save"
+ sdc-smart-tooltip=""
+ style="overflow: hidden; white-space: nowrap; text-overflow: ellipsis;">Update
+ </button>-->
+ <!-- end ngIf: isDesigner() && !isCreateMode() -->
+
+ <!-- ngRepeat: (key,button) in changeLifecycleStateButtons -->
+
+ <!-- ngIf: !isViewMode() && isCreateMode() -->
+
+ <!-- ngIf: (isDesigner() || isProductManager()) && !isCreateMode() && component.lifecycleState === 'NOT_CERTIFIED_CHECKOUT' -->
+
+ <!-- ngIf: isDesigner() -->
+ <span data-ng-if="isDesigner()"
+ data-ng-class="{'disabled' :isDisableMode() || isViewMode()}"
+ ng-click="revert()"
+ class="dcae-sprite-new revert-btn ng-scope disabled"
+ data-tests-id="revert" data-ng-show="showFullIcons()"
+ sdc-smart-tooltip=""
+ style="overflow: hidden; white-space: nowrap; text-overflow: ellipsis;">Revert</span>
+ <!-- end ngIf: isDesigner() -->
+
+ <!-- ngIf: isComposition && !component.isProduct() -->
+ <span class="delimiter"></span> <span class="dcae-sprite-new x-btn"
+ data-ng-click="goToBreadcrumbHome()" sdc-smart-tooltip=""
+ style="overflow: hidden; white-space: nowrap; text-overflow: ellipsis;">Close</span>
+
+ </div>
+
+
+ </div>
+
+
+ <div data-ng-show="!createMode"
+ class="dcae-asset-creation-info ng-binding ng-scope">
+ <b>UUID:</b>&nbsp;{{component.uuid}}<b>&nbsp;Invariant UUID:</b>&nbsp;{{component.invariantUUID}}
+ </div>
+
+ <br>
+ {{s}}
+ <br>
+ <br>
+
+ <div include-padding="true"
+ class="sdc-workspace-general-step ng-scope">
+
+ <form novalidate=""
+ class="w-sdc-form ng-pristine ng-valid-name-exist ng-invalid ng-invalid-required ng-valid-pattern ng-valid-minlength ng-valid-maxlength"
+ name="editForm">
+
+ <div class="w-sdc-form-section-container">
+
+ <div class="i-sdc-form-item">
+ <div
+ class="general-view-top-progress top-progress ng-isolate-scope"
+ progress-value="progressValue"
+ progress-message="progressMessage">
+
+ <!--======================= Top progress var =======================-->
+ <!-- ngIf: progressValue>0 && progressValue<100 -->
+
+ <!-- ngIf: progressValue===100 -->
+
+ <!-- ngIf: progressValue===-1 -->
+ <!--======================= Top progress var =======================-->
+
+ </div>
+ </div>
+
+
+ <div class="w-sdc-form-columns-wrapper">
+
+ <div class="w-sdc-form-column">
+
+ <!--------------------- NAME -------------------->
+ <div class="i-sdc-form-item"
+ data-ng-class="{'error': validateField(editForm.componentName)}">
+ <label class="i-sdc-form-label required">Name</label> <input
+ class="i-sdc-form-input ng-pristine ng-valid-name-exist ng-empty ng-invalid ng-invalid-required ng-valid-pattern ng-valid-minlength ng-valid-maxlength ng-touched"
+ data-ng-class="{'view-mode': isViewMode()}"
+ name="componentName"
+ data-ng-init="isCreateMode() &amp;&amp; validateName(true)"
+ data-ng-maxlength="50" maxlength="50" data-ng-minlength="0"
+ minlength="0" data-ng-model="component.name" type="text"
+ data-required="" data-ng-model-options="{ debounce: 500 }"
+ data-ng-pattern="/^[\s\w\&amp;_.:-]{1,1024}$/"
+ data-ng-disabled="component.isAlreadyCertified()"
+ data-tests-id="name" autofocus="" ng-readonly="isViewMode()">
+
+ <div class="input-error ng-hide"
+ data-ng-show="validateField(editForm.componentName)">
+ <span ng-show="editForm.componentName.$error.required"
+ translate="NEW_SERVICE_RESOURCE_ERROR_RESOURCE_NAME_REQUIRED"
+ class="ng-scope">Name is required.</span> <span
+ ng-show="editForm.componentName.$error.maxlength"
+ translate="VALIDATION_ERROR_MAX_LENGTH"
+ translate-values="{'max': '50' }" class="ng-scope ng-hide">Max
+ length 50 characters.</span> <span
+ ng-show="editForm.componentName.$error.minlength"
+ translate="VALIDATION_ERROR_MIN_LENGTH"
+ translate-values="{'min': '4' }" class="ng-scope ng-hide">Min
+ length 4 characters.</span> <span
+ ng-show="editForm.componentName.$error.nameExist"
+ translate="NEW_SERVICE_RESOURCE_ERROR_NAME_EXISTS"
+ class="ng-scope ng-hide">Name already exists.</span> <span
+ ng-show="editForm.componentName.$error.pattern"
+ translate="VALIDATION_ERROR_SPECIAL_CHARS_NOT_ALLOWED"
+ class="ng-scope ng-hide">Special characters not
+ allowed.</span>
+ </div>
+ </div>
+ <!--------------------- NAME -------------------->
+
+ <!--------------------- FULL NAME -------------------->
+ <!-- ngIf: component.isProduct() -->
+ <!--------------------- NAME -------------------->
+
+ <!--------------------- DESCRIPTION -------------------->
+ <div class="i-sdc-form-item"
+ data-ng-class="{'error': validateField(editForm.description)}">
+ <label class="i-sdc-form-label required">Description</label>
+ <textarea
+ class="description ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required ng-valid-pattern ng-valid-maxlength"
+ name="description" data-ng-class="{'view-mode': isViewMode()}"
+ data-ng-maxlength="1024" data-required=""
+ data-ng-model="component.description"
+ data-ng-model-options="{ debounce: 500 }"
+ data-ng-pattern="/^[\u0000-\u00BF]*$/" maxlength="1024"
+ data-tests-id="description"></textarea>
+ <!-- placeholder="Description here..." -->
+
+ <div class="input-error ng-hide" data-ng-show="true">
+ <span ng-show="editForm.description.$error.required"
+ translate="NEW_SERVICE_RESOURCE_ERROR_RESOURCE_DESCRIPTION_REQUIRED"
+ class="ng-scope">Description is required.</span> <span
+ ng-show="editForm.description.$error.maxlength"
+ translate="VALIDATION_ERROR_MAX_LENGTH"
+ translate-values="{'max': '1024' }" class="ng-scope ng-hide">Max
+ length 1024 characters.</span> <span
+ ng-show="editForm.description.$error.pattern"
+ translate="VALIDATION_ERROR_SPECIAL_CHARS_NOT_ALLOWED"
+ class="ng-scope ng-hide">Special characters not
+ allowed.</span>
+ </div>
+ </div>
+ <!--------------------- DESCRIPTION -------------------->
+
+ <!--------------------- CATEGORIES -------------------->
+ <!-- ngIf: !component.isProduct() -->
+ <!-- end ngIf: !component.isProduct() -->
+ <!--------------------- CATEGORIES -------------------->
+ <br>
+ <button ng-show="createMode" ng-click="save()"
+ class="tlv-btn outline green ng-scope">Create
+ </button>
+
+ <!--{{PostDataResponse}}-->
+
+ {{resultInformation}}
+
+ </div>
+ <!-- Close w-sdc-form-column -->
+
+ </div>
+
+ </div>
+ <!-- Close w-sdc-form-section-container -->
+
+ </form>
+
+ </div>
+ <br><br>
+
+ <br><br>
+
+ <div ng-hide="hideDropDowns" class="dcae-main-container-body-content ng-scope"
+ data-ng-class="{'third-party':thirdParty}" data-ui-view="">
+ <div class="row">
+ <div class="col-sm-4">
+ <select class="form-control" ng-model="service.uuid" ng-change="VNFIs(service.uuid)"
+ data-ng-options="service.uuid as service.name for service in services">
+ <option value="">Select Service</option>
+ </select>
+ </div>
+ </div>
+ <br>
+ <div class="row">
+ <div class="col-sm-4">
+ <select class="form-control" ng-model="vnfi.name" ng-change=""
+ data-ng-options="vnfi.name as vnfi.name for vnfi in vnfis">
+ <option value="">Select VNFI</option>
+ </select>
+ </div>
+ </div>
+ <br>
+
+ <div class="row">
+ <div class="col-sm-2">
+ <div class="btn">
+ <button class="btn btn-default" type="button"
+ ng-click="saveServiceSelection(component,service,vnfi)">Save Service Selection
+ </button>
+ </div>
+ </div>
+ </div>
+ <!--
+ <div class="row">
+ <div class="col-sm-2">
+ <div class="btn">
+ <button class="btn btn-default" type="button" ng-click="">Upload Blue Print</button>
+ </div>
+ </div>
+ </div>
+ -->
+ {{resultInformation2}}
+
+ </div>
+
+
+ </div>
+</div>
diff --git a/app/main/dashboard/dcaedt/dcaedt_general_vnf.html b/app/main/dashboard/dcaedt/dcaedt_general_vnf.html
new file mode 100644
index 0000000..00e3d63
--- /dev/null
+++ b/app/main/dashboard/dcaedt/dcaedt_general_vnf.html
@@ -0,0 +1,228 @@
+<div class="dcae-main-container">
+ <div class="dcae-left-sidebar">
+ <div class="dcae-menu-item" ng-class="{selected:page==='general'}" ui-sref="dcae.app.home">Home</div>
+ <div class="dcae-menu-item selected" ng-class="{selected:page==='general'}"
+ ng-click="goGeneral(component, component==null)">General
+ </div>
+ <div class="dcae-menu-item" ng-class="{selected:page==='import'}"
+ ng-click="goImport(component,component==null)">Import
+ </div>
+ <div class="dcae-menu-item" ng-class="{selected:page==='composition'}" ng-click="goComposition(component, selfAssurance)" data-tests-id="dcae-menu-item-Composition">
+ Composition
+ </div>
+ <!--<div class="dcae-menu-item" ng-class="{selected:page==='artifact'}" ng-click="goArtifact()">Artifact</div>-->
+ </div>
+ <!-- BOOTSTRAP COMPONENTS -->
+ <!-- Latest compiled and minified CSS -->
+ <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
+ <!-- Latest compiled and minified JavaScript -->
+ <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
+
+ <div class="dcae-main-right-container">
+
+ <div class="dcae-workspace-top-bar">
+ <div ng-show="!createMode" class="version-container">
+ <!-- ngIf: !isCreateMode() && !component.isLatestVersion() -->
+ <!-- ngIf: !isCreateMode() -->
+ <span class="lifecycle-state-text ng-binding"
+ data-tests-id="formlifecyclestate">V{{component.version}}</span>
+ <!-- end ngIf: !isCreateMode() -->
+ </div>
+
+ <div ng-show="!createMode" class="lifecycle-state">
+ <div data-ng-show="showLifecycleIcon()" class="lifecycle-state-icon"
+ data-ng-class="{'in-design-status-icon': createMode, '': !createMode}"></div>
+ <span class="lifecycle-state-text ng-binding"
+ data-tests-id="formlifecyclestate">{{component.lifecycleState}}</span>
+ </div>
+
+
+ <div ng-show="!createMode" class="progress-container">
+ <div class="general-view-top-progress top-progress ng-isolate-scope"
+ progress-value="progressService.getProgressValue(component.uniqueId)"
+ progress-message="progressMessage"></div>
+ </div>
+
+ <div class="sdc-workspace-top-bar-buttons">
+
+ <!-- ngIf: !isCreateMode() && !component.isLatestVersion() && !showChangeStateButton() -->
+
+ <!-- ngIf: isDesigner() && !isCreateMode() -->
+ <!-- isDesigner() &amp;&amp; !isCreateMode() -->
+ <!--<button class="btn btn-default" ng-show="!createMode" ng-click="save()"
+ class="tlv-btn blue ng-scope" data-tests-id="create/save"
+ sdc-smart-tooltip=""
+ style="overflow: hidden; white-space: nowrap; text-overflow: ellipsis;">Update
+ </button>-->
+ <!-- end ngIf: isDesigner() && !isCreateMode() -->
+
+ <!-- ngRepeat: (key,button) in changeLifecycleStateButtons -->
+
+ <!-- ngIf: !isViewMode() && isCreateMode() -->
+
+ <!-- ngIf: (isDesigner() || isProductManager()) && !isCreateMode() && component.lifecycleState === 'NOT_CERTIFIED_CHECKOUT' -->
+
+ <!-- ngIf: isDesigner() -->
+ <span data-ng-if="isDesigner()"
+ data-ng-class="{'disabled' :isDisableMode() || isViewMode()}"
+ ng-click="revert()"
+ class="dcae-sprite-new revert-btn ng-scope disabled"
+ data-tests-id="revert" data-ng-show="showFullIcons()"
+ sdc-smart-tooltip=""
+ style="overflow: hidden; white-space: nowrap; text-overflow: ellipsis;">Revert</span>
+ <!-- end ngIf: isDesigner() -->
+
+ <!-- ngIf: isComposition && !component.isProduct() -->
+ <span class="delimiter"></span> <span class="dcae-sprite-new x-btn"
+ data-ng-click="goToBreadcrumbHome()" sdc-smart-tooltip=""
+ style="overflow: hidden; white-space: nowrap; text-overflow: ellipsis;">Close</span>
+
+ </div>
+
+
+ </div>
+
+
+ <div data-ng-show="!createMode"
+ class="dcae-asset-creation-info ng-binding ng-scope">
+ <b>UUID:</b>&nbsp;{{component.uuid}}<b>&nbsp;Invariant UUID:</b>&nbsp;{{component.invariantUUID}}
+ </div>
+
+ <br>
+ {{s}}
+ <br>
+ <br>
+ <div class="dcae-main-container-body-content ng-scope"
+ data-ng-class="{'third-party':thirdParty}" data-ui-view="">
+
+ <div include-padding="true"
+ class="sdc-workspace-general-step ng-scope">
+
+ <form novalidate=""
+ class="w-sdc-form ng-pristine ng-valid-name-exist ng-invalid ng-invalid-required ng-valid-pattern ng-valid-minlength ng-valid-maxlength"
+ name="editForm">
+
+ <div class="w-sdc-form-section-container">
+
+ <div class="i-sdc-form-item">
+ <div
+ class="general-view-top-progress top-progress ng-isolate-scope"
+ progress-value="progressValue"
+ progress-message="progressMessage">
+
+ <!--======================= Top progress var =======================-->
+ <!-- ngIf: progressValue>0 && progressValue<100 -->
+
+ <!-- ngIf: progressValue===100 -->
+
+ <!-- ngIf: progressValue===-1 -->
+ <!--======================= Top progress var =======================-->
+
+
+ </div>
+ </div>
+
+
+ <div class="w-sdc-form-columns-wrapper">
+
+ <div class="w-sdc-form-column">
+
+
+ <!--------------------- NAME -------------------->
+ <div class="i-sdc-form-item"
+ data-ng-class="{'error': validateField(editForm.componentName)}">
+ <label class="i-sdc-form-label required">Name</label> <input
+ class="i-sdc-form-input ng-pristine ng-valid-name-exist ng-empty ng-invalid ng-invalid-required ng-valid-pattern ng-valid-minlength ng-valid-maxlength ng-touched"
+ data-ng-class="{'view-mode': isViewMode()}"
+ name="name"
+ data-ng-init="isCreateMode() &amp;&amp; validateName(true)"
+ data-ng-maxlength="50" maxlength="50" data-ng-minlength="0"
+ minlength="0" data-ng-model="component.name" type="text"
+ data-required="" data-ng-model-options="{ debounce: 500 }"
+ data-ng-pattern="/^[\s\w\&amp;_.:-]{1,1024}$/"
+ data-ng-disabled="component.isAlreadyCertified()"
+ data-tests-id="name" autofocus="" ng-readonly="isViewMode()">
+
+ <div class="input-error ng-hide"
+ data-ng-show="validateField(editForm.componentName)">
+ <span ng-show="editForm.componentName.$error.required"
+ translate="NEW_SERVICE_RESOURCE_ERROR_RESOURCE_NAME_REQUIRED"
+ class="ng-scope">Name is required.</span> <span
+ ng-show="editForm.componentName.$error.maxlength"
+ translate="VALIDATION_ERROR_MAX_LENGTH"
+ translate-values="{'max': '50' }" class="ng-scope ng-hide">Max
+ length 50 characters.</span> <span
+ ng-show="editForm.componentName.$error.minlength"
+ translate="VALIDATION_ERROR_MIN_LENGTH"
+ translate-values="{'min': '4' }" class="ng-scope ng-hide">Min
+ length 4 characters.</span> <span
+ ng-show="editForm.componentName.$error.nameExist"
+ translate="NEW_SERVICE_RESOURCE_ERROR_NAME_EXISTS"
+ class="ng-scope ng-hide">Name already exists.</span> <span
+ ng-show="editForm.componentName.$error.pattern"
+ translate="VALIDATION_ERROR_SPECIAL_CHARS_NOT_ALLOWED"
+ class="ng-scope ng-hide">Special characters not
+ allowed.</span>
+ </div>
+ </div>
+ <!--------------------- NAME -------------------->
+
+ <!--------------------- FULL NAME -------------------->
+ <!-- ngIf: component.isProduct() -->
+ <!--------------------- NAME -------------------->
+
+ <!--------------------- DESCRIPTION -------------------->
+ <div class="i-sdc-form-item"
+ data-ng-class="{'error': validateField(editForm.description)}">
+ <label class="i-sdc-form-label required">Description</label>
+ <textarea
+ class="description ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required ng-valid-pattern ng-valid-maxlength"
+ name="description" data-ng-class="{'view-mode': isViewMode()}"
+ data-ng-maxlength="1024" data-required=""
+ data-ng-model="component.description"
+ data-ng-model-options="{ debounce: 500 }"
+ data-ng-pattern="/^[\u0000-\u00BF]*$/" maxlength="1024"
+ data-tests-id="description"></textarea>
+ <!-- placeholder="Description here..." -->
+
+ <div class="input-error ng-hide" data-ng-show="true">
+ <span ng-show="editForm.description.$error.required"
+ translate="NEW_SERVICE_RESOURCE_ERROR_RESOURCE_DESCRIPTION_REQUIRED"
+ class="ng-scope">Description is required.</span> <span
+ ng-show="editForm.description.$error.maxlength"
+ translate="VALIDATION_ERROR_MAX_LENGTH"
+ translate-values="{'max': '1024' }" class="ng-scope ng-hide">Max
+ length 1024 characters.</span> <span
+ ng-show="editForm.description.$error.pattern"
+ translate="VALIDATION_ERROR_SPECIAL_CHARS_NOT_ALLOWED"
+ class="ng-scope ng-hide">Special characters not
+ allowed.</span>
+ </div>
+ </div>
+ <!--------------------- DESCRIPTION -------------------->
+
+ <!--------------------- CATEGORIES -------------------->
+ <!-- ngIf: !component.isProduct() -->
+ <!-- end ngIf: !component.isProduct() -->
+ <!--------------------- CATEGORIES -------------------->
+ <button ng-show="createMode" ng-click="save()"
+ class="tlv-btn outline green ng-scope">Create
+ </button>
+
+
+
+ </div>
+ <!-- Close w-sdc-form-column -->
+
+ </div>
+
+ </div>
+ <!-- Close w-sdc-form-section-container -->
+
+ </form>
+
+ </div>
+ </div>
+ </div>
+</div>
diff --git a/app/main/dashboard/dcaedt/dcaedt_import.html b/app/main/dashboard/dcaedt/dcaedt_import.html
new file mode 100644
index 0000000..05e8bb5
--- /dev/null
+++ b/app/main/dashboard/dcaedt/dcaedt_import.html
@@ -0,0 +1,61 @@
+<div class="dcae-main-container">
+ <div class="dcae-left-sidebar">
+ <div class="dcae-menu-item" ng-class="{selected:page==='general'}" ui-sref="dcae.app.home">Home</div>
+ <div class="dcae-menu-item" ng-class="{selected:page==='general'}" ng-click="goGeneral(component, component==null)">General
+ </div>
+ <div class="dcae-menu-item selected" ng-class="{selected:page==='import'}" ng-click="goImport(component, component==null)">Import
+ </div>
+ <div class="dcae-menu-item" ng-class="{selected:page==='composition'}" ng-click="goComposition(component, typeFlag)" data-tests-id="dcae-menu-item-Composition">
+ Composition
+ </div>
+ <!--<div class="dcae-menu-item" ng-class="{selected:page==='artifact'}" ng-click="goArtifact()">Artifact</div>-->
+ </div>
+
+ <div class="dcae-main-right-container">
+
+ <div style="display: flex; justify-content: space-between; padding-bottom:0;">
+ <span>{{ VNFs.length }} VFCMTS </span>
+ <div>
+ <input type='text' ng-model='searchVfc' placeholder="Search" style="border-radius: 2px;width: 245px;height: 32px;line-height: 32px;border: 1px solid #d2d2d2;outline: none;text-indent: 10px; background: white;"
+ />
+ </div>
+ </div>
+ <br/>
+ <br/>
+ <footer>Version: {{ appSettings.version }}</footer>
+
+
+ <div data-ng-class="{'sdc-hide-popover': hidePopover}" data-ng-init="componentx.filterTerm = componentx.name + ' ' + componentx.description + ' ' + componentx.tags.toString() + ' ' + componentx.version"
+ class="dcae-dashboard-card ng-scope" data-ng-repeat="componentx in VNFs |filter:showTypeFilter |filter:searchVfc"
+ data-ng-class="{'resource' : componentx.resourceType === 'VFC', 'service' : componentx.isService(), 'product' : componentx.isProduct()}">
+
+
+ <div class="dcae-dashboard-card-body" data-ng-click="gui.isLoading || clone(componentx,component)">
+ <div class="dcae-dashboard-card-avatar">
+ <span data-tests-id="asset-type" class="{{componentx.resourceType}}"></span>
+ </div>
+ <div class="dcae-dashboard-card-edit " data-ng-class="componentx.lifecycleState" data-tests-id="assetlifecycleState {{getStatus()}}"></div>
+ <div class="dcae-dashboard-card-schema-image sprite-resource-icons defaulticon" style="background-image: url(dcae/79291b5162b83fdab4bc9c42d2a6f4db.png);display: inline-block;"
+ data-tests-id="{{componentx.categories[0].subcategories[0].uniqueId}}"></div>
+ <!--<div class="dcae-dashboard-card-schema-image {{componentx.icon}}" data-tests-id="{{componentx.categories[0].subcategories[0].uniqueId}}"
+ data-ng-class="{'sprite-resource-icons':componentx.componentType === 'RESOURCE', 'sprite-services-icons':componentx.componentType === 'SERVICE', 'sprite-product-icons':componentx.componentType === 'PRODUCT'}"></div>-->
+ <div class="dcae-dashboard-card-description">{{componentx.description}}</div>
+ <div class="dcae-dashboard-card-info-name-container">
+ <span class="dcae-dashboard-card-info-name" tooltips tooltip-content="{{componentx.name}}"> {{componentx.name}}</span>
+ </div>
+ </div>
+
+ <div class="dcae-dashboard-card-footer">
+ <div class="dcae-dashboard-card-info">
+ <div class="dcae-dashboard-card-info-lifecycleState">
+ <span class="dcae-dashboard-card-info-lifecycleState">
+ {{componentx.getStatus(sdcMenu)}}</span>
+ </div>
+ <div class="dcae-dashboard-card-info-user">V {{componentx.version}}
+ </div>
+ </div>
+ <!--<div class="dcae-dashboard-card-info-lifecycleState-icon sprite-new {{sdcMenu.LifeCycleStatuses[componentx.lifecycleState].icon}}"></div>-->
+ </div>
+ </div>
+ </div>
+</div>
diff --git a/app/main/dashboard/dcaedt/dcaedt_self_serve.html b/app/main/dashboard/dcaedt/dcaedt_self_serve.html
new file mode 100644
index 0000000..499358d
--- /dev/null
+++ b/app/main/dashboard/dcaedt/dcaedt_self_serve.html
@@ -0,0 +1,74 @@
+<div class="dcae-main-container">
+ <div class="dcae-left-sidebar">
+ <div class="dcae-menu-item selected"
+ ng-class="{selected:page==='general'}"
+ ng-click="goGeneral(component, false)">General
+ </div>
+
+ </div>
+
+ <div class="dcae-main-right-container">
+
+ <div class="dcae-main-container-body-content ng-scope"
+ data-ng-class="{'third-party':thirdParty}" data-ui-view="">
+
+ <div include-padding="true"
+ class="sdc-workspace-general-step ng-scope">
+
+ <form novalidate=""
+ class="w-sdc-form ng-pristine ng-valid-name-exist ng-invalid ng-invalid-required ng-valid-pattern ng-valid-minlength ng-valid-maxlength"
+ name="editForm">
+
+ <div class="w-sdc-form-section-container">
+
+
+ <div class="w-sdc-form-columns-wrapper">
+
+ <div class="w-sdc-form-column">
+
+ <!--------------------- NAME -------------------->
+ <div class="i-sdc-form-item">
+ <label class="i-sdc-form-label required">Service</label>
+ <select class="i-sdc-form-select">
+ <option id="XXX">XXX</option>
+ <option id="YYY">YYY</option>
+ <option id="ZZZ">ZZZ</option>
+ </select>
+ </div>
+
+ <div class="i-sdc-form-item">
+ <label class="i-sdc-form-label required">VNFi</label>
+ <select class="i-sdc-form-select">
+ <option id="XXX">XXX</option>
+ <option id="YYY">YYY</option>
+ <option id="ZZZ">ZZZ</option>
+ </select>
+ </div>
+ <div class="i-sdc-form-item">
+ <label class="i-sdc-form-label required">Location</label>
+ <select class="i-sdc-form-select">
+ <option id="XXX">XXX</option>
+ <option id="YYY">YYY</option>
+ <option id="ZZZ">ZZZ</option>
+ </select>
+ </div>
+ <div class="i-sdc-form-item">
+ <label class="i-sdc-form-label required">Upload Blue Print</label>
+ </div>
+ <input type="file" id="file" name="file"/>
+ <button class="tlv-btn outline green" ng-click="add()">Add</button>
+ <p>{{data}}</p>
+ <button ng-show="createMode" ng-click="save()"
+ class="tlv-btn outline green ng-scope">Create
+ </button>
+
+ {{PostDataResponse}}
+ </div>
+ </div>
+ </div>
+ </form>
+ </div>
+ </div>
+ </div>
+</div>
+
diff --git a/app/main/dashboard/dcaedt/dcaedt_services.html b/app/main/dashboard/dcaedt/dcaedt_services.html
new file mode 100644
index 0000000..c879427
--- /dev/null
+++ b/app/main/dashboard/dcaedt/dcaedt_services.html
@@ -0,0 +1,79 @@
+<meta http-equiv="cache-control" content="no-cache" />
+
+<div class="dcae-main-container">
+ <!-- <div class="dcae-left-sidebar">
+
+ <div class="dcae-menu-item" ui-sref="dcae.app.home">Home</div>
+ <div class="dcae-menu-item" ng-click="goGeneral(component, component==null)">General
+ </div>
+ <div class="dcae-menu-item selected" ng-click="goServices(component)" data-tests-id="dcae-menu-item-Services">
+ Services
+ </div>
+ <div class="dcae-menu-item" ng-click="goComposition(component, typeFlag)" data-tests-id="dcae-menu-item-Composition">
+ Composition
+ </div>
+ </div> -->
+ <div class="dcae-left-sidebar" left-menu></div>
+
+ <div class="dcae-main-right-container" style="display: flex; justify-content: space-around;">
+
+ <div class="dcae-main-container-body-content" data-ng-class="{'third-party':thirdParty}" data-ui-view="">
+
+ <div class="tlv-loader large" ng-if="loader"></div>
+
+ <div class="left-content">
+ <h2 style="padding-bottom:30px;">
+ Attach new services
+ </h2>
+ <div class="row">
+ <div class="col-sm-12">
+ <label for="service">Service Name</label>
+ <select class="form-control" ng-model="service.uuid" ng-change="VNFIs(service.uuid)" data-ng-options="service.uuid as service.name for service in services"
+ data-tests-id="Service Name SelectList">
+ <option value="">Select Service</option>
+ </select>
+ </div>
+ </div>
+ <br>
+ <div class="row">
+ <div class="col-sm-12" ng-if="vnfis.length > 0">
+ <label for="vnfi">VNFI Name</label>
+
+ <select class="form-control" ng-model="vnfi.name" ng-change="vnfiChange(vnfi.name)" data-ng-options="vnfi.name as vnfi.name for vnfi in vnfis"
+ data-tests-id="VNFI Name SelectList">
+ <option value="">Select VNFI</option>
+ </select>
+ </div>
+ <div class="col-sm-12" ng-if="vnfis.length == 0 && vnfiTouch" style="color:red">
+ The selected service has no resource of type VF, please select a different service
+ </div>
+ </div>
+ <br>
+
+ <div class="row">
+ <div class="col-sm-offset-7 col-sm-2">
+ <button class="tlv-btn blue" type="button" ng-disabled="showAttach()" ng-click="saveServiceSelection(component,service,vnfi)"
+ data-tests-id="Attach Button">
+ Attach
+ </button>
+ </div>
+ </div>
+
+ <!-- {{resultInformation2}} -->
+
+ </div>
+ </div>
+
+ <div class="right-content">
+ <h2 style="padding-bottom: 30px;">Service attached</h2>
+ <div style="border: 1px solid #cdcdcd; padding: 1rem;" ng-if="resultInformation2">
+ <span style="padding-right:5px; border-right: 1px solid #cdcdcd;">
+ {{service.uuid}}
+ </span>
+ <span style="padding-left:5px;" data-tests-id={{vnfi.name}}>
+ {{vnfi.name}}
+ </span>
+ </div>
+ </div>
+ </div>
+</div>
diff --git a/app/main/dashboard/dcaedt/leftMenu.html b/app/main/dashboard/dcaedt/leftMenu.html
new file mode 100644
index 0000000..700c9c8
--- /dev/null
+++ b/app/main/dashboard/dcaedt/leftMenu.html
@@ -0,0 +1,22 @@
+<div class="dcae-left-sidebar">
+
+ <div class="dcae-menu-item" ng-class="{selected:page==='home'}" ui-sref="dcae.app.home">
+ Home
+ </div>
+
+ <div class="dcae-menu-item" ng-class="{selected:page==='general'}" ng-click="goGeneral(component, component==null)">
+ General
+ </div>
+
+ <!-- <div class="dcae-menu-item" ng-class="{selected:page==='services'}" ng-style="readOnlyComponent && {'opacity': '0.5','pointer-events':'none' }"
+ ng-click="goServices(component)" data-tests-id="dcae-menu-item-Services">
+ Services
+ </div> -->
+
+
+ <div class="dcae-menu-item" ng-if="component.uuid" ng-class="{selected:page==='composition'}" ng-click="goComposition(component, typeFlag)"
+ ng-style="readOnlyComponent && {'opacity': '0.5','pointer-events':'none' }" data-tests-id="dcae-menu-item-Composition">
+ Composition
+ </div>
+
+</div>
diff --git a/app/main/dashboard/home/home.controller.js b/app/main/dashboard/home/home.controller.js
new file mode 100644
index 0000000..3604530
--- /dev/null
+++ b/app/main/dashboard/home/home.controller.js
@@ -0,0 +1,16 @@
+(function () {
+
+ 'use strict';
+
+ angular
+ .module('dcaeApp.dashboard.home')
+ .controller('DashboardHomeController', dashboardHomeController);
+
+ function dashboardHomeController($state) {
+
+ var vm = this;
+
+
+ }
+
+})();
diff --git a/app/main/dashboard/home/home.html b/app/main/dashboard/home/home.html
new file mode 100644
index 0000000..ae27a0b
--- /dev/null
+++ b/app/main/dashboard/home/home.html
@@ -0,0 +1 @@
+<h1>This is home</h1>
diff --git a/app/main/dashboard/home/home.less b/app/main/dashboard/home/home.less
new file mode 100644
index 0000000..fb5647d
--- /dev/null
+++ b/app/main/dashboard/home/home.less
@@ -0,0 +1,5 @@
+.home {
+ h1 {
+ font-size: 160px;
+ }
+}
diff --git a/app/main/dashboard/home/home.module.js b/app/main/dashboard/home/home.module.js
new file mode 100644
index 0000000..e496791
--- /dev/null
+++ b/app/main/dashboard/home/home.module.js
@@ -0,0 +1,25 @@
+(function () {
+
+ 'use strict';
+
+ angular
+ .module('dcaeApp.dashboard.home', [])
+ .config(config);
+
+ function config($stateProvider) {
+
+ $stateProvider
+ .state('dcae1.app.home', {
+ url: '/home',
+ views: {
+ 'content@dcae.app': {
+ templateUrl: 'main/dashboard/home/home.html',
+ controller: 'DashboardHomeController as vm'
+ }
+ },
+ bodyClass: 'home'
+ });
+
+ }
+
+})();
diff --git a/app/main/errors/404.html b/app/main/errors/404.html
new file mode 100644
index 0000000..3a7c1e8
--- /dev/null
+++ b/app/main/errors/404.html
@@ -0,0 +1,152 @@
+<!doctype html>
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+ <title>Page Not Found :(</title>
+ <style>
+ ::-moz-selection {
+ background: #b3d4fc;
+ text-shadow: none;
+ }
+
+ ::selection {
+ background: #b3d4fc;
+ text-shadow: none;
+ }
+
+ html {
+ padding: 30px 10px;
+ font-size: 20px;
+ line-height: 1.4;
+ color: #737373;
+ background: #f0f0f0;
+ -webkit-text-size-adjust: 100%;
+ -ms-text-size-adjust: 100%;
+ }
+
+ html,
+ input {
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+ }
+
+ body {
+ max-width: 500px;
+ padding: 30px 20px 50px;
+ border: 1px solid #b3b3b3;
+ border-radius: 4px;
+ margin: 0 auto;
+ box-shadow: 0 1px 10px #a7a7a7, inset 0 1px 0 #fff;
+ background: #fcfcfc;
+ }
+
+ h1 {
+ margin: 0 10px;
+ font-size: 50px;
+ text-align: center;
+ }
+
+ h1 span {
+ color: #bbb;
+ }
+
+ h3 {
+ margin: 1.5em 0 0.5em;
+ }
+
+ p {
+ margin: 1em 0;
+ }
+
+ ul {
+ padding: 0 0 0 40px;
+ margin: 1em 0;
+ }
+
+ .container {
+ max-width: 380px;
+ margin: 0 auto;
+ }
+
+ /* google search */
+
+ #goog-fixurl ul {
+ list-style: none;
+ padding: 0;
+ margin: 0;
+ }
+
+ #goog-fixurl form {
+ margin: 0;
+ }
+
+ #goog-wm-qt,
+ #goog-wm-sb {
+ border: 1px solid #bbb;
+ font-size: 16px;
+ line-height: normal;
+ vertical-align: top;
+ color: #444;
+ border-radius: 2px;
+ }
+
+ #goog-wm-qt {
+ width: 220px;
+ height: 20px;
+ padding: 5px;
+ margin: 5px 10px 0 0;
+ box-shadow: inset 0 1px 1px #ccc;
+ }
+
+ #goog-wm-sb {
+ display: inline-block;
+ height: 32px;
+ padding: 0 10px;
+ margin: 5px 0 0;
+ white-space: nowrap;
+ cursor: pointer;
+ background-color: #f5f5f5;
+ background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0), #f1f1f1);
+ background-image: -moz-linear-gradient(rgba(255, 255, 255, 0), #f1f1f1);
+ background-image: -ms-linear-gradient(rgba(255, 255, 255, 0), #f1f1f1);
+ background-image: -o-linear-gradient(rgba(255, 255, 255, 0), #f1f1f1);
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ }
+
+ #goog-wm-sb:hover,
+ #goog-wm-sb:focus {
+ border-color: #aaa;
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
+ background-color: #f8f8f8;
+ }
+
+ #goog-wm-qt:hover,
+ #goog-wm-qt:focus {
+ border-color: #105cb6;
+ outline: 0;
+ color: #222;
+ }
+
+ input::-moz-focus-inner {
+ padding: 0;
+ border: 0;
+ }
+ </style>
+</head>
+<body>
+<div class="container">
+ <h1>Not found <span>:(</span></h1>
+ <p>Sorry, but the page you were trying to view does not exist.</p>
+ <p>It looks like this was the result of either:</p>
+ <ul>
+ <li>a mistyped address</li>
+ <li>an out-of-date link</li>
+ </ul>
+ <script>
+ var GOOG_FIXURL_LANG = (navigator.language || '').slice(0, 2), GOOG_FIXURL_SITE = location.host;
+ </script>
+ <script src="//linkhelp.clients.google.com/tbproxy/lh/wm/fixurl.js"></script>
+</div>
+</body>
+</html>
diff --git a/app/main/main.controller.js b/app/main/main.controller.js
new file mode 100644
index 0000000..709e67e
--- /dev/null
+++ b/app/main/main.controller.js
@@ -0,0 +1,22 @@
+(function () {
+ 'use strict';
+
+ /** @ngInject */
+ function mainController($scope, $rootScope) {
+ // Data
+
+ //////////
+
+ // Remove the splash screen
+ $scope.$on('$viewContentAnimationEnded', function (event) {
+ if (event.targetScope.$id === $scope.$id) {
+ $rootScope.$broadcast('msSplashScreen::remove');
+ }
+ });
+ }
+
+ angular
+ .module('dcaeApp.main', [])
+ .controller('MainController', mainController);
+
+})();
diff --git a/app/my-lib.js b/app/my-lib.js
new file mode 100644
index 0000000..2c08b54
--- /dev/null
+++ b/app/my-lib.js
@@ -0,0 +1,238 @@
+window["MyLib"] =
+/******/ (function(modules) { // webpackBootstrap
+/******/ // The module cache
+/******/ var installedModules = {};
+/******/
+/******/ // The require function
+/******/ function __webpack_require__(moduleId) {
+/******/
+/******/ // Check if module is in cache
+/******/ if(installedModules[moduleId]) {
+/******/ return installedModules[moduleId].exports;
+/******/ }
+/******/ // Create a new module (and put it into the cache)
+/******/ var module = installedModules[moduleId] = {
+/******/ i: moduleId,
+/******/ l: false,
+/******/ exports: {}
+/******/ };
+/******/
+/******/ // Execute the module function
+/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
+/******/
+/******/ // Flag the module as loaded
+/******/ module.l = true;
+/******/
+/******/ // Return the exports of the module
+/******/ return module.exports;
+/******/ }
+/******/
+/******/
+/******/ // expose the modules object (__webpack_modules__)
+/******/ __webpack_require__.m = modules;
+/******/
+/******/ // expose the module cache
+/******/ __webpack_require__.c = installedModules;
+/******/
+/******/ // identity function for calling harmony imports with the correct context
+/******/ __webpack_require__.i = function(value) { return value; };
+/******/
+/******/ // define getter function for harmony exports
+/******/ __webpack_require__.d = function(exports, name, getter) {
+/******/ if(!__webpack_require__.o(exports, name)) {
+/******/ Object.defineProperty(exports, name, {
+/******/ configurable: false,
+/******/ enumerable: true,
+/******/ get: getter
+/******/ });
+/******/ }
+/******/ };
+/******/
+/******/ // getDefaultExport function for compatibility with non-harmony modules
+/******/ __webpack_require__.n = function(module) {
+/******/ var getter = module && module.__esModule ?
+/******/ function getDefault() { return module['default']; } :
+/******/ function getModuleExports() { return module; };
+/******/ __webpack_require__.d(getter, 'a', getter);
+/******/ return getter;
+/******/ };
+/******/
+/******/ // Object.prototype.hasOwnProperty.call
+/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
+/******/
+/******/ // __webpack_public_path__
+/******/ __webpack_require__.p = "";
+/******/
+/******/ // Load entry module and return exports
+/******/ return __webpack_require__(__webpack_require__.s = 2);
+/******/ })
+/************************************************************************/
+/******/ ([
+/* 0 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+var __extends = (this && this.__extends) || (function () {
+ var extendStatics = Object.setPrototypeOf ||
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+ return function (d, b) {
+ extendStatics(d, b);
+ function __() { this.constructor = d; }
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+ };
+})();
+Object.defineProperty(exports, "__esModule", { value: true });
+var base_pubsub_1 = __webpack_require__(1);
+var PluginPubSub = /** @class */ (function (_super) {
+ __extends(PluginPubSub, _super);
+ function PluginPubSub(pluginId, parentUrl, eventsToWait) {
+ var _this = _super.call(this, pluginId) || this;
+ _this.register('sdc-hub', window.parent, parentUrl);
+ _this.subscribe(eventsToWait);
+ return _this;
+ }
+ PluginPubSub.prototype.subscribe = function (eventsToWait) {
+ var registerData = {
+ pluginId: this.clientId,
+ eventsToWait: eventsToWait || []
+ };
+ this.notify('PLUGIN_REGISTER', registerData);
+ };
+ PluginPubSub.prototype.unsubscribe = function () {
+ var unregisterData = {
+ pluginId: this.clientId
+ };
+ this.notify('PLUGIN_UNREGISTER', unregisterData);
+ };
+ return PluginPubSub;
+}(base_pubsub_1.BasePubSub));
+exports.default = PluginPubSub;
+
+
+/***/ }),
+/* 1 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", { value: true });
+var BasePubSub = /** @class */ (function () {
+ function BasePubSub(pluginId) {
+ this.subscribers = new Map();
+ this.eventsCallbacks = [];
+ this.eventsToWait = new Map();
+ this.clientId = pluginId;
+ this.onMessage = this
+ .onMessage
+ .bind(this);
+ window.addEventListener('message', this.onMessage);
+ }
+ BasePubSub.prototype.onMessage = function (event) {
+ if (this.subscribers.has(event.data.originId)) {
+ this
+ .eventsCallbacks
+ .forEach(function (callback) {
+ callback(event.data, event);
+ });
+ }
+ };
+ BasePubSub.prototype.register = function (subscriberId, subscriberWindow, subscriberUrl) {
+ var subscriber = {
+ window: subscriberWindow,
+ locationUrl: subscriberUrl || subscriberWindow.location.href
+ };
+ this
+ .subscribers
+ .set(subscriberId, subscriber);
+ };
+ BasePubSub.prototype.unregister = function (subscriberId) {
+ this
+ .subscribers
+ .delete(subscriberId);
+ };
+ BasePubSub.prototype.on = function (callback) {
+ var functionExists = this
+ .eventsCallbacks
+ .find(function (func) {
+ return callback.toString() === func.toString();
+ });
+ if (!functionExists) {
+ this
+ .eventsCallbacks
+ .push(callback);
+ }
+ };
+ BasePubSub.prototype.off = function (callback) {
+ var index = this
+ .eventsCallbacks
+ .indexOf(callback);
+ this
+ .eventsCallbacks
+ .splice(index, 1);
+ };
+ BasePubSub.prototype.notify = function (eventType, eventData) {
+ var eventObj = {
+ type: eventType,
+ data: eventData,
+ originId: this.clientId
+ };
+ this
+ .subscribers
+ .forEach(function (subscriber, subscriberId) {
+ subscriber
+ .window
+ .postMessage(eventObj, subscriber.locationUrl);
+ });
+ return {
+ subscribe: function (callbackFn) {
+ var _this = this;
+ if (this.subscribers.size !== 0) {
+ var subscribersToNotify_1 = Array.from(this.subscribers.keys());
+ var checkNotifyComplete_1 = function (subscriberId) {
+ var index = subscribersToNotify_1.indexOf(subscriberId);
+ subscribersToNotify_1.splice(index, 1);
+ if (subscribersToNotify_1.length === 0) {
+ callbackFn();
+ }
+ };
+ this
+ .subscribers
+ .forEach(function (subscriber, subscriberId) {
+ if (_this.eventsToWait.has(subscriberId) && _this.eventsToWait.get(subscriberId).indexOf(eventType) !== -1) {
+ var actionCompletedFunction_1 = function (eventData, subId) {
+ if (subId === void 0) { subId = subscriberId; }
+ if (eventData.type === 'ACTION_COMPLETED') {
+ checkNotifyComplete_1(subId);
+ }
+ _this.off(actionCompletedFunction_1);
+ };
+ _this.on(actionCompletedFunction_1);
+ }
+ else {
+ checkNotifyComplete_1(subscriberId);
+ }
+ });
+ }
+ else {
+ callbackFn();
+ }
+ }.bind(this)
+ };
+ };
+ return BasePubSub;
+}());
+exports.BasePubSub = BasePubSub;
+
+
+/***/ }),
+/* 2 */
+/***/ (function(module, exports, __webpack_require__) {
+
+module.exports = __webpack_require__(0);
+
+
+/***/ })
+/******/ ]);
+//# sourceMappingURL=my-lib.js.map \ No newline at end of file
diff --git a/app/my-lib.js.map b/app/my-lib.js.map
new file mode 100644
index 0000000..39c8bcb
--- /dev/null
+++ b/app/my-lib.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["webpack:///webpack/bootstrap 0dc732a7e702b048798a","webpack:///./src/index.ts","webpack:///./src/base-pubsub.ts"],"names":[],"mappings":";;AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA,mDAA2C,cAAc;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;;;;;AChEA,2CAAyC;AAIzC;IAA0C,gCAAU;IAClD,sBAAY,QAAiB,EAAE,SAAkB,EAAE,YAA+B;QAAlF,YACE,kBAAM,QAAQ,CAAC,SAGhB;QAFC,KAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACnD,KAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;;IAC/B,CAAC;IAEM,gCAAS,GAAhB,UAAiB,YAA+B;QAC9C,IAAM,YAAY,GAAG;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,YAAY,EAAE,YAAY,IAAI,EAAE;SACjC,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;IAC/C,CAAC;IAEM,kCAAW,GAAlB;QACE,IAAM,cAAc,GAAG;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,cAAc,CAAC,CAAC;IACnD,CAAC;IACH,mBAAC;AAAD,CAAC,CAvByC,wBAAU,GAuBnD;;;;;;;;;;;ACdD;IAQE,oBAAY,QAAiB;QAC3B,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EACV,CAAC;QACjB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,EACP,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,IAAI;aAClB,SAAS;aACT,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC;IAED,8BAAS,GAAT,UAAU,KAAW;QACnB,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAC7C,IAAI;iBACD,eAAe;iBACf,OAAO,CAAC,UAAC,QAAmB;gBAC3B,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC;SACN;IACH,CAAC;IAEM,6BAAQ,GAAf,UAAgB,YAAqB,EAAE,gBAAyB,EAAE,aAAsB;QACtF,IAAM,UAAU,GAAG;YACjB,MAAM,EAAE,gBAAgB;YACxB,WAAW,EAAE,aAAa,IAAI,gBAAgB,CAAC,QAAQ,CAAC,IAAI;SAC7D,CAAC;QAEF,IAAI;aACD,WAAW;aACX,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACnC,CAAC;IAEM,+BAAU,GAAjB,UAAkB,YAAqB;QACrC,IAAI;aACD,WAAW;aACX,MAAM,CAAC,YAAY,CAAC,CAAC;IAC1B,CAAC;IAEM,uBAAE,GAAT,UAAU,QAAmB;QAC3B,IAAM,cAAc,GAAG,IAAI;aACxB,eAAe;aACf,IAAI,CAAC,UAAC,IAAe;YACpB,OAAO,QAAQ,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;QACjD,CAAC,CAAC,CAAC;QAEL,IAAI,CAAC,cAAc,EAAE;YACnB,IAAI;iBACD,eAAe;iBACf,IAAI,CAAC,QAAQ,CAAC,CAAC;SACnB;IACH,CAAC;IAEM,wBAAG,GAAV,UAAW,QAAmB;QAC5B,IAAM,KAAK,GAAG,IAAI;aACf,eAAe;aACf,OAAO,CAAC,QAAQ,CAAC,CAAC;QACrB,IAAI;aACD,eAAe;aACf,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACtB,CAAC;IAEM,2BAAM,GAAb,UAAc,SAAkB,EAAE,SAAe;QAC/C,IAAM,QAAQ,GAAG;YACf,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC;QAEF,IAAI;aACD,WAAW;aACX,OAAO,CAAC,UAAC,UAAwB,EAAE,YAAqB;YACvD,UAAU;iBACP,MAAM;iBACN,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEL,OAAO;YACL,SAAS,EAAE,UAAU,UAAU;gBAApB,iBA+BV;gBA9BC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,EAAE;oBAC/B,IAAM,qBAAmB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;oBAEhE,IAAM,qBAAmB,GAAG,UAAC,YAAqB;wBAChD,IAAM,KAAK,GAAG,qBAAmB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;wBACxD,qBAAmB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;wBAErC,IAAI,qBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE;4BACpC,UAAU,EAAE,CAAC;yBACd;oBACH,CAAC,CAAC;oBAEF,IAAI;yBACD,WAAW;yBACX,OAAO,CAAC,UAAC,UAAwB,EAAE,YAAqB;wBACvD,IAAI,KAAI,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,KAAI,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE;4BACxG,IAAM,yBAAuB,GAAG,UAAC,SAAS,EAAE,KAAoB;gCAApB,4CAAoB;gCAC9D,IAAI,SAAS,CAAC,IAAI,KAAK,kBAAkB,EAAE;oCACzC,qBAAmB,CAAC,KAAK,CAAC,CAAC;iCAC5B;gCACD,KAAI,CAAC,GAAG,CAAC,yBAAuB,CAAC,CAAC;4BACpC,CAAC,CAAC;4BACF,KAAI,CAAC,EAAE,CAAC,yBAAuB,CAAC,CAAC;yBAClC;6BAAM;4BACL,qBAAmB,CAAC,YAAY,CAAC,CAAC;yBACnC;oBACH,CAAC,CAAC,CAAC;iBACN;qBAAM;oBACL,UAAU,EAAE,CAAC;iBACd;YACH,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;SACb,CAAC;IACJ,CAAC;IAEH,iBAAC;AAAD,CAAC;AA3HY,gCAAU","file":"my-lib.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 2);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 0dc732a7e702b048798a","import {BasePubSub} from './base-pubsub';\r\n\r\ndeclare const window : Window;\r\n\r\nexport default class PluginPubSub extends BasePubSub {\r\n constructor(pluginId : string, parentUrl : string, eventsToWait?: Array < string >) {\r\n super(pluginId);\r\n this.register('sdc-hub', window.parent, parentUrl);\r\n this.subscribe(eventsToWait);\r\n }\r\n\r\n public subscribe(eventsToWait?: Array < string >) {\r\n const registerData = {\r\n pluginId: this.clientId,\r\n eventsToWait: eventsToWait || []\r\n };\r\n\r\n this.notify('PLUGIN_REGISTER', registerData);\r\n }\r\n\r\n public unsubscribe() {\r\n const unregisterData = {\r\n pluginId: this.clientId\r\n };\r\n\r\n this.notify('PLUGIN_UNREGISTER', unregisterData);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.ts","declare const window : Window;\r\n\r\nexport interface IPubSubEvent {\r\n type : string;\r\n originId : string;\r\n data : any;\r\n}\r\n\r\nexport interface ISubscriber {\r\n window : Window;\r\n locationUrl : string;\r\n}\r\n\r\nexport class BasePubSub {\r\n subscribers : Map < string,\r\n ISubscriber >;\r\n eventsCallbacks : Array < Function >;\r\n clientId : string;\r\n eventsToWait : Map < string,\r\n Array < string >>;\r\n\r\n constructor(pluginId : string) {\r\n this.subscribers = new Map < string,\r\n ISubscriber > ();\r\n this.eventsCallbacks = [];\r\n this.eventsToWait = new Map < string,\r\n Array < string >> ();\r\n this.clientId = pluginId;\r\n this.onMessage = this\r\n .onMessage\r\n .bind(this);\r\n\r\n window.addEventListener('message', this.onMessage);\r\n }\r\n\r\n onMessage(event : any) {\r\n if (this.subscribers.has(event.data.originId)) {\r\n this\r\n .eventsCallbacks\r\n .forEach((callback : Function) => {\r\n callback(event.data, event);\r\n });\r\n }\r\n }\r\n\r\n public register(subscriberId : string, subscriberWindow : Window, subscriberUrl : string) {\r\n const subscriber = {\r\n window: subscriberWindow,\r\n locationUrl: subscriberUrl || subscriberWindow.location.href\r\n };\r\n\r\n this\r\n .subscribers\r\n .set(subscriberId, subscriber);\r\n }\r\n\r\n public unregister(subscriberId : string) {\r\n this\r\n .subscribers\r\n .delete(subscriberId);\r\n }\r\n\r\n public on(callback : Function) {\r\n const functionExists = this\r\n .eventsCallbacks\r\n .find((func : Function) => {\r\n return callback.toString() === func.toString();\r\n });\r\n\r\n if (!functionExists) {\r\n this\r\n .eventsCallbacks\r\n .push(callback);\r\n }\r\n }\r\n\r\n public off(callback : Function) {\r\n const index = this\r\n .eventsCallbacks\r\n .indexOf(callback);\r\n this\r\n .eventsCallbacks\r\n .splice(index, 1);\r\n }\r\n\r\n public notify(eventType : string, eventData?: any) {\r\n const eventObj = {\r\n type: eventType,\r\n data: eventData,\r\n originId: this.clientId\r\n };\r\n\r\n this\r\n .subscribers\r\n .forEach((subscriber : ISubscriber, subscriberId : string) => {\r\n subscriber\r\n .window\r\n .postMessage(eventObj, subscriber.locationUrl);\r\n });\r\n\r\n return {\r\n subscribe: function (callbackFn) {\r\n if (this.subscribers.size !== 0) {\r\n const subscribersToNotify = Array.from(this.subscribers.keys());\r\n\r\n const checkNotifyComplete = (subscriberId : string) => {\r\n const index = subscribersToNotify.indexOf(subscriberId);\r\n subscribersToNotify.splice(index, 1);\r\n\r\n if (subscribersToNotify.length === 0) {\r\n callbackFn();\r\n }\r\n };\r\n\r\n this\r\n .subscribers\r\n .forEach((subscriber : ISubscriber, subscriberId : string) => {\r\n if (this.eventsToWait.has(subscriberId) && this.eventsToWait.get(subscriberId).indexOf(eventType) !== -1) {\r\n const actionCompletedFunction = (eventData, subId = subscriberId) => {\r\n if (eventData.type === 'ACTION_COMPLETED') {\r\n checkNotifyComplete(subId);\r\n }\r\n this.off(actionCompletedFunction);\r\n };\r\n this.on(actionCompletedFunction);\r\n } else {\r\n checkNotifyComplete(subscriberId);\r\n }\r\n });\r\n } else {\r\n callbackFn();\r\n }\r\n }.bind(this)\r\n };\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/base-pubsub.ts"],"sourceRoot":""} \ No newline at end of file
diff --git a/app/node.exe.stackdump b/app/node.exe.stackdump
new file mode 100644
index 0000000..c3509b0
--- /dev/null
+++ b/app/node.exe.stackdump
@@ -0,0 +1,7 @@
+Exception: STATUS_ACCESS_VIOLATION at eip=016E74AC
+eax=00000001 ebx=016E74AC ecx=FFFD7000 edx=641DB5B4 esi=0255CE64 edi=0255CDC4
+ebp=00000000 esp=0255CD6C program=\\?\C:\Program Files\nodejs\node.exe, pid 8896, thread unknown (0x21F8)
+cs=0023 ds=002B es=002B fs=0053 gs=002B ss=002B
+Stack trace:
+Frame Function Args
+End of stack trace
diff --git a/app/prodHtml/index.html b/app/prodHtml/index.html
new file mode 100644
index 0000000..a31d399
--- /dev/null
+++ b/app/prodHtml/index.html
@@ -0,0 +1,206 @@
+<!doctype html>
+<html ng-app="dcaeApp">
+<!--<html>-->
+
+<head>
+ <meta charset="utf-8">
+ <title>DCAE App</title>
+
+ <meta name="description" content="">
+ <meta name="viewport" content="width=device-width">
+
+ <link rel="shortcut icon" href="favicon.png" type="image/png">
+ <link rel="icon" href="favicon.png" type="image/png">
+
+ <!-- Place favicon.ico and apple-touch-icon.png in the root directory -->
+ <!-- build:css(.) styles/vendor.css -->
+ <!-- bower:css -->
+ <link rel="stylesheet" href="/dcae/bower_components/bootstrap/dist/css/bootstrap.css" />
+ <!-- endbower -->
+ <!-- endbuild -->
+
+ <!-- build:css(.tmp) styles/main.css -->
+ <!-- <link rel="stylesheet" href="styles/sdc.css"> -->
+ <link rel="stylesheet" href="/dcae/styles/app.css" />
+ <link rel="stylesheet" href="/dcae/styles/catalog.css" />
+
+ <!-- endbuild -->
+
+ <style>
+ /* The side navigation menu */
+
+ .sidenav {
+ height: 100%;
+ /* 100% Full-height */
+ width: 0;
+ /* 0 width - change this with JavaScript */
+ position: fixed;
+ /* Stay in place */
+ z-index: 1;
+ /* Stay on top */
+ top: 123px;
+ left: 0;
+ background-color: #dddddd;
+ /* White*/
+ overflow-x: hidden;
+ /* Disable horizontal scroll */
+ padding-top: 60px;
+ /* Place content 60px from the top */
+ transition: 0.5s;
+ /* 0.5 second transition effect to slide in the sidenav */
+ }
+
+ /* The navigation menu links */
+
+ .sidenav a {
+ padding: 8px 8px 8px 32px;
+ text-decoration: none;
+ font-size: 14px;
+ color: #818181;
+ display: block;
+ transition: 0.3s
+ }
+
+ /* When you mouse over the navigation links, change their color */
+
+ .sidenav a:hover,
+ .offcanvas a:focus {
+ color: #f1f1f1;
+ }
+
+ /* Position and style the close button (top right corner) */
+
+ .sidenav .closebtn {
+ position: absolute;
+ top: 0px;
+ right: 25px;
+ font-size: 14px;
+ margin-left: 50px;
+ }
+
+ /* On smaller screens, where height is less than 450px, change the style of the sidenav (less padding and a smaller font size) */
+
+ @media screen and (max-height: 450px) {
+ .sidenav {
+ padding-top: 0px;
+ }
+ .sidenav a {
+ font-size: 14px;
+ }
+ }
+ </style>
+
+</head>
+
+<body ng-controller="AppController as vm" class="{{state.current.bodyClass || ''}} dcaeApp dcae-module">
+
+
+
+ <div id="mainPage" class="container-fluid">
+ <div class="row">
+ <div id="dcaeSidenav" class="sidenav">
+ <a href="javascript:void(0)" class="closebtn" onclick="closeNav()">&times;</a>
+ <a href="#">General</a>
+ <a href="#">Composition</a>
+ <a href="#">Artifact</a>
+ </div>
+ <div id="main" ui-view="dcae"></div>
+ </div>
+ </div>
+
+ <!-- build:js(.) scripts/vendor.js -->
+ <!-- bower:js -->
+ <script src="/dcae/bower_components/jquery/dist/jquery.js"></script>
+ <script src="/dcae/bower_components/angular/angular.js"></script>
+ <script src="/dcae/bower_components/bootstrap/dist/js/bootstrap.js"></script>
+ <script src="/dcae/bower_components/angular-ui-router/release/angular-ui-router.js"></script>
+ <!-- endbower -->
+ <!-- endbuild -->
+
+ <!-- build:js({.tmp,app}) scripts/scripts.js -->
+
+ <!-- Main javascripts -->
+ <script src="/dcae/app.module.js"></script>
+ <script src="/dcae/app.env.js"></script>
+ <script src="/dcae/app.route.js"></script>
+ <script src="/dcae/app.controller.js"></script>
+ <script src="/dcae/app.run.js"></script>
+ <script src="/dcae/app.constants.js"></script>
+
+ <!-- Services -->
+ <script src="/dcae/services/cache.service.js"></script>
+ <script src="/dcae/services/users.service.js"></script>
+
+ <!-- Layout javascripts -->
+ <script src="/dcae/core/header/header.module.js"></script>
+ <script src="/dcae/core/header/header.controller.js"></script>
+ <script src="/dcae/core/navigation/navigation.module.js"></script>
+ <script src="/dcae/core/navigation/navigation.controller.js"></script>
+
+ <!-- Pages javascript -->
+ <script src="/dcae/main/main.controller.js"></script>
+
+ <script src="/dcae/main/dashboard/home/home.module.js"></script>
+ <script src="/dcae/main/dashboard/home/home.controller.js"></script>
+
+ <script src="/dcae/main/dashboard/about/about.module.js"></script>
+ <script src="/dcae/main/dashboard/about/about.controller.js"></script>
+
+ <script src="/dcae/main/dashboard/dcaedt/dcaedt.module.js"></script>
+ <script src="/dcae/main/dashboard/dcaedt/dcaedt.values.js"></script>
+ <script src="/dcae/main/dashboard/dcaedt/dcaedt.factory.js"></script>
+ <!--<script src="/dcae/main/dashboard/dcaedt/dcaedt.composition.factory.js"></script>
+
+ <script type="text/javascript" src="/dcae/main/dashboard/dcaedt/dcaedt.composition.services.js"></script>-->
+ <script src="/dcae/main/dashboard/dcaedt/dcaedt.factory.js"></script>
+
+ <script src="/dcae/main/dashboard/dcaedt/dcaedt.controller.js"></script>
+
+ <script src="/dcae/app.config.js"></script>
+ <script>
+ function closeNav() {
+ document.getElementById("dcaeSidenav").style.width = "0";
+ document.getElementById("content-container").style.marginLeft = "0";
+ }
+ </script>
+
+ <script src="./sdc-pubsub.js"></script>
+ <script>
+ function getParameterByName(name, url) {
+ if (!url) url = window.location.href;
+ name = name.replace(/[\[\]]/g, '\\$&');
+ var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'),
+ results = regex.exec(url);
+ if (!results) return null;
+ if (!results[2]) return '';
+ return decodeURIComponent(results[2].replace(/\+/g, ' '));
+ }
+ window.userId = getParameterByName('userId');
+ window.userRole = getParameterByName('userRole');
+ window.displayType = getParameterByName('displayType');
+ window.parentUrl = getParameterByName('parentUrl');
+ window.eventsClientId = getParameterByName('eventsClientId');
+
+ var pubsub = window.sdcPubSub.PluginPubSub;
+ window.sdc = new pubsub(window.eventsClientId, window.parentUrl, ['WINDOW_OUT']);
+
+ window.sdc.notify('READY');
+ window.sdc.on(function (eventData, event) {
+ console.log('eventData', eventData);
+ console.log('event', event);
+ if (eventData.type === 'WINDOW_OUT') {
+ if (window.location.hash === '#/dcae/composition') {
+ $('#confirm-modal').modal('show');
+ } else {
+ window.sdc.notify('ACTION_COMPLETED');
+ }
+ } else {
+ window.sdc.notify('ACTION_COMPLETED');
+ }
+ });
+ </script>
+
+ <!-- endbuild -->
+</body>
+
+</html>
diff --git a/app/punch-outs.js b/app/punch-outs.js
new file mode 100644
index 0000000..b6cd186
--- /dev/null
+++ b/app/punch-outs.js
@@ -0,0 +1,16 @@
+var DcaeApp = function(){
+
+};
+
+DcaeApp.prototype = {
+ render: function render(parameters, element) {
+ //parameters.options;
+ //parameters.onEvent;
+ alert("render");
+ },
+ unmount: function unmount(element){
+ alert("unmount " + element);
+ }
+};
+
+PunchOutRegistry.register('dcaeApp', function() { new DcaeApp(); });
diff --git a/app/robots.txt b/app/robots.txt
new file mode 100644
index 0000000..691230f
--- /dev/null
+++ b/app/robots.txt
@@ -0,0 +1,4 @@
+# robotstxt.org
+
+User-agent: *
+Disallow:
diff --git a/app/sdc-pubsub.js b/app/sdc-pubsub.js
new file mode 100644
index 0000000..be6d99c
--- /dev/null
+++ b/app/sdc-pubsub.js
@@ -0,0 +1,285 @@
+(function webpackUniversalModuleDefinition(root, factory) {
+ if(typeof exports === 'object' && typeof module === 'object')
+ module.exports = factory();
+ else if(typeof define === 'function' && define.amd)
+ define("sdcPubSub", [], factory);
+ else if(typeof exports === 'object')
+ exports["sdcPubSub"] = factory();
+ else
+ root["sdcPubSub"] = factory();
+})(window, function() {
+return /******/ (function(modules) { // webpackBootstrap
+/******/ // The module cache
+/******/ var installedModules = {};
+/******/
+/******/ // The require function
+/******/ function __webpack_require__(moduleId) {
+/******/
+/******/ // Check if module is in cache
+/******/ if(installedModules[moduleId]) {
+/******/ return installedModules[moduleId].exports;
+/******/ }
+/******/ // Create a new module (and put it into the cache)
+/******/ var module = installedModules[moduleId] = {
+/******/ i: moduleId,
+/******/ l: false,
+/******/ exports: {}
+/******/ };
+/******/
+/******/ // Execute the module function
+/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
+/******/
+/******/ // Flag the module as loaded
+/******/ module.l = true;
+/******/
+/******/ // Return the exports of the module
+/******/ return module.exports;
+/******/ }
+/******/
+/******/
+/******/ // expose the modules object (__webpack_modules__)
+/******/ __webpack_require__.m = modules;
+/******/
+/******/ // expose the module cache
+/******/ __webpack_require__.c = installedModules;
+/******/
+/******/ // define getter function for harmony exports
+/******/ __webpack_require__.d = function(exports, name, getter) {
+/******/ if(!__webpack_require__.o(exports, name)) {
+/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
+/******/ }
+/******/ };
+/******/
+/******/ // define __esModule on exports
+/******/ __webpack_require__.r = function(exports) {
+/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
+/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
+/******/ }
+/******/ Object.defineProperty(exports, '__esModule', { value: true });
+/******/ };
+/******/
+/******/ // create a fake namespace object
+/******/ // mode & 1: value is a module id, require it
+/******/ // mode & 2: merge all properties of value into the ns
+/******/ // mode & 4: return value when already ns object
+/******/ // mode & 8|1: behave like require
+/******/ __webpack_require__.t = function(value, mode) {
+/******/ if(mode & 1) value = __webpack_require__(value);
+/******/ if(mode & 8) return value;
+/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
+/******/ var ns = Object.create(null);
+/******/ __webpack_require__.r(ns);
+/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
+/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
+/******/ return ns;
+/******/ };
+/******/
+/******/ // getDefaultExport function for compatibility with non-harmony modules
+/******/ __webpack_require__.n = function(module) {
+/******/ var getter = module && module.__esModule ?
+/******/ function getDefault() { return module['default']; } :
+/******/ function getModuleExports() { return module; };
+/******/ __webpack_require__.d(getter, 'a', getter);
+/******/ return getter;
+/******/ };
+/******/
+/******/ // Object.prototype.hasOwnProperty.call
+/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
+/******/
+/******/ // __webpack_public_path__
+/******/ __webpack_require__.p = "";
+/******/
+/******/
+/******/ // Load entry module and return exports
+/******/ return __webpack_require__(__webpack_require__.s = 0);
+/******/ })
+/************************************************************************/
+/******/ ({
+
+/***/ "./index.ts":
+/*!******************!*\
+ !*** ./index.ts ***!
+ \******************/
+/*! no static exports found */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", { value: true });
+var base_pubsub_1 = __webpack_require__(/*! ./lib/base-pubsub */ "./lib/base-pubsub.ts");
+exports.BasePubSub = base_pubsub_1.BasePubSub;
+var plugin_pubsub_1 = __webpack_require__(/*! ./lib/plugin-pubsub */ "./lib/plugin-pubsub.ts");
+exports.PluginPubSub = plugin_pubsub_1.PluginPubSub;
+
+
+/***/ }),
+
+/***/ "./lib/base-pubsub.ts":
+/*!****************************!*\
+ !*** ./lib/base-pubsub.ts ***!
+ \****************************/
+/*! no static exports found */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", { value: true });
+var BasePubSub = /** @class */ (function () {
+ function BasePubSub(pluginId) {
+ this.subscribers = new Map();
+ this.eventsCallbacks = [];
+ this.eventsToWait = new Map();
+ this.clientId = pluginId;
+ this.lastEventNotified = "";
+ this.onMessage = this.onMessage.bind(this);
+ window.addEventListener("message", this.onMessage);
+ }
+ BasePubSub.prototype.register = function (subscriberId, subscriberWindow, subscriberUrl) {
+ var subscriber = {
+ window: subscriberWindow,
+ locationUrl: subscriberUrl || subscriberWindow.location.href
+ };
+ this.subscribers.set(subscriberId, subscriber);
+ };
+ BasePubSub.prototype.unregister = function (subscriberId) {
+ this.subscribers.delete(subscriberId);
+ };
+ BasePubSub.prototype.on = function (callback) {
+ var functionExists = this.eventsCallbacks.find(function (func) {
+ return callback.toString() == func.toString();
+ });
+ if (!functionExists) {
+ this.eventsCallbacks.push(callback);
+ }
+ };
+ BasePubSub.prototype.off = function (callback) {
+ var index = this.eventsCallbacks.indexOf(callback);
+ this.eventsCallbacks.splice(index, 1);
+ };
+ BasePubSub.prototype.notify = function (eventType, eventData) {
+ var eventObj = {
+ type: eventType,
+ data: eventData,
+ originId: this.clientId
+ };
+ this.subscribers.forEach(function (subscriber, subscriberId) {
+ subscriber.window.postMessage(eventObj, subscriber.locationUrl);
+ });
+ this.lastEventNotified = eventType;
+ return {
+ subscribe: function (callbackFn) {
+ var _this = this;
+ if (this.subscribers.size !== 0) {
+ var subscribersToNotify_1 = Array.from(this.subscribers.keys());
+ var checkNotifyComplete_1 = function (subscriberId) {
+ var index = subscribersToNotify_1.indexOf(subscriberId);
+ subscribersToNotify_1.splice(index, 1);
+ if (subscribersToNotify_1.length === 0) {
+ callbackFn();
+ }
+ };
+ this.subscribers.forEach(function (subscriber, subscriberId) {
+ if (_this.eventsToWait.has(subscriberId) && _this.eventsToWait.get(subscriberId).indexOf(eventType) !== -1) {
+ var actionCompletedFunction_1 = function (eventData, subId) {
+ if (subId === void 0) { subId = subscriberId; }
+ if (eventData.type == "ACTION_COMPLETED") {
+ checkNotifyComplete_1(subId);
+ }
+ _this.off(actionCompletedFunction_1);
+ };
+ _this.on(actionCompletedFunction_1);
+ }
+ else {
+ checkNotifyComplete_1(subscriberId);
+ }
+ });
+ }
+ else {
+ callbackFn();
+ }
+ }.bind(this)
+ };
+ };
+ BasePubSub.prototype.isWaitingForEvent = function (eventName) {
+ return Array.from(this.eventsToWait.values()).some(function (eventsList) {
+ return eventsList.indexOf(eventName) !== -1;
+ });
+ };
+ BasePubSub.prototype.onMessage = function (event) {
+ if (this.subscribers.has(event.data.originId)) {
+ this.eventsCallbacks.forEach(function (callback) {
+ callback(event.data, event);
+ });
+ }
+ };
+ return BasePubSub;
+}());
+exports.BasePubSub = BasePubSub;
+
+
+/***/ }),
+
+/***/ "./lib/plugin-pubsub.ts":
+/*!******************************!*\
+ !*** ./lib/plugin-pubsub.ts ***!
+ \******************************/
+/*! no static exports found */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+var __extends = (this && this.__extends) || (function () {
+ var extendStatics = Object.setPrototypeOf ||
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+ return function (d, b) {
+ extendStatics(d, b);
+ function __() { this.constructor = d; }
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+ };
+})();
+Object.defineProperty(exports, "__esModule", { value: true });
+var base_pubsub_1 = __webpack_require__(/*! ./base-pubsub */ "./lib/base-pubsub.ts");
+var PluginPubSub = /** @class */ (function (_super) {
+ __extends(PluginPubSub, _super);
+ function PluginPubSub(pluginId, parentUrl, eventsToWait) {
+ var _this = _super.call(this, pluginId) || this;
+ _this.register('sdc-hub', window.parent, parentUrl);
+ _this.subscribe(eventsToWait);
+ return _this;
+ }
+ PluginPubSub.prototype.subscribe = function (eventsToWait) {
+ var registerData = {
+ pluginId: this.clientId,
+ eventsToWait: eventsToWait || []
+ };
+ this.notify('PLUGIN_REGISTER', registerData);
+ };
+ PluginPubSub.prototype.unsubscribe = function () {
+ var unregisterData = {
+ pluginId: this.clientId
+ };
+ this.notify('PLUGIN_UNREGISTER', unregisterData);
+ };
+ return PluginPubSub;
+}(base_pubsub_1.BasePubSub));
+exports.PluginPubSub = PluginPubSub;
+
+
+/***/ }),
+
+/***/ 0:
+/*!************************!*\
+ !*** multi ./index.ts ***!
+ \************************/
+/*! no static exports found */
+/***/ (function(module, exports, __webpack_require__) {
+
+module.exports = __webpack_require__(/*! C:\dvlp\open-source\LF\sdc-pubsub\index.ts */"./index.ts");
+
+
+/***/ })
+
+/******/ });
+});
+//# sourceMappingURL=sdc-pubsub.js.map \ No newline at end of file
diff --git a/app/services/cache.service.js b/app/services/cache.service.js
new file mode 100644
index 0000000..291f015
--- /dev/null
+++ b/app/services/cache.service.js
@@ -0,0 +1,37 @@
+(function () {
+
+ 'use strict';
+
+ angular
+ .module('dcaeApp.services.cacheService', [])
+ .service('cacheService', function () {
+
+ var data = {};
+
+ this.get = function (key) {
+ return data[key];
+ };
+
+ this.delete = function (key) {
+ return data[key] = undefined;
+ };
+
+ this.deleteAll = function () {
+ return data = {};
+ };
+
+ this.set = function (key, value) {
+ if (data[key] === undefined) {
+ data[key] = value;
+ } else {
+ data[key] = $.extend({}, value, data[key]);
+ }
+ };
+
+ this.toString = function () {
+ return data;
+ };
+
+ });
+
+})();
diff --git a/app/services/users.service.js b/app/services/users.service.js
new file mode 100644
index 0000000..e780c38
--- /dev/null
+++ b/app/services/users.service.js
@@ -0,0 +1,33 @@
+(function () {
+
+ 'use strict';
+
+ angular.module('dcaeApp.services.users', [])
+
+ .service('usersService', ['$http', '$q', 'cacheService', function ($http, $q, cacheService) {
+
+ var urls = cacheService.get("configuration").urls;
+
+ this.login = function (postData) {
+ var deferred = $q.defer();
+ $http.post(urls.auth.login, postData).success(function (data, status, headers, config) {
+ deferred.resolve({data: data, status: status});
+ }).error(function (data, status, headers, config) {
+ deferred.reject({message: data, status: status});
+ });
+ return deferred.promise;
+ };
+
+ this.register = function (postData) {
+ var deferred = $q.defer();
+ $http.post(urls.auth.register, postData).success(function (data, status, headers, config) {
+ deferred.resolve({data: data, status: status});
+ }).error(function (data, status, headers, config) {
+ deferred.reject({message: data, status: status});
+ });
+ return deferred.promise;
+ };
+
+ }]);
+
+})();
diff --git a/app/sh.exe.stackdump b/app/sh.exe.stackdump
new file mode 100644
index 0000000..b09e0ab
--- /dev/null
+++ b/app/sh.exe.stackdump
@@ -0,0 +1,7 @@
+Exception: STATUS_ACCESS_VIOLATION at eip=016E74AC
+eax=00000001 ebx=016E74AC ecx=FFFAC000 edx=641DB5B4 esi=02D0CE64 edi=02D0CDC4
+ebp=00000000 esp=02D0CD6C program=C:\Users\ym903w\Desktop\cmder\vendor\git-for-windows\usr\bin\sh.exe, pid 7604, thread unknown (0x3904)
+cs=0023 ds=002B es=002B fs=0053 gs=002B ss=002B
+Stack trace:
+Frame Function Args
+End of stack trace
diff --git a/app/styles/app.css b/app/styles/app.css
new file mode 100644
index 0000000..ea77069
--- /dev/null
+++ b/app/styles/app.css
@@ -0,0 +1,25513 @@
+#dcaedt {
+ /* I'm not using hidden name, can not override bower_components/bootstrap/dist/css/less/responsive-utilities.less */
+ /* Added by ikram - */
+ /* to check if can delete */
+ /*new tabs icons*/
+ /*---------------------------------------------- General ----------------------------------------------*/
+ /*---------------------------------------------- Parameters ----------------------------------------------*/
+ /* dashboard card main icons */
+ /*new tabs icons*/
+ /* dashboard card main icons */
+ /* dashboard card statuses icons */
+ /* dashboard card statuses icons */
+}
+#dcaedt .f-color .a {
+ color: #009fdb;
+}
+#dcaedt .f-color .b {
+ color: #056bae;
+}
+#dcaedt .f-color .c {
+ color: #71c5eb;
+}
+#dcaedt .f-color .d {
+ color: #4ca90c;
+}
+#dcaedt .f-color .e {
+ color: #007a3e;
+}
+#dcaedt .f-color .f {
+ color: #b5bd00;
+}
+#dcaedt .f-color .g {
+ color: #ea7499;
+}
+#dcaedt .f-color .h {
+ color: #ffb81c;
+}
+#dcaedt .f-color .i {
+ color: #702f8a;
+}
+#dcaedt .f-color .j {
+ color: #9063cd;
+}
+#dcaedt .f-color .k {
+ color: #caa2dd;
+}
+#dcaedt .f-color .l {
+ color: #000000;
+}
+#dcaedt .f-color .m {
+ color: #5a5a5a;
+}
+#dcaedt .f-color .n {
+ color: #959595;
+}
+#dcaedt .f-color .o {
+ color: #d2d2d2;
+}
+#dcaedt .f-color .p {
+ color: #ffffff;
+}
+#dcaedt .f-color .q {
+ color: #cf2a2a;
+}
+#dcaedt .f-color .r {
+ color: #f2f2f2;
+}
+#dcaedt .f-color .s {
+ color: #191919;
+}
+#dcaedt .f-color .t {
+ color: #faf8f8;
+}
+#dcaedt .f-color .u {
+ color: #eaeaea;
+}
+#dcaedt .f-color .v {
+ color: #e6f6fb;
+}
+#dcaedt .f-type ._36 {
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+}
+#dcaedt .f-type ._24 {
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .f-type ._18_r {
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .f-type ._18_m {
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .f-type ._16_r {
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .f-type ._16_m {
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .f-type ._14_r {
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .f-type ._14_m {
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .f-type ._14_i {
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .f-type ._13_r {
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .f-type ._13_m {
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .f-type ._13_i {
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .f-type ._12_r {
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .f-type ._12_m {
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .f-type ._12_i {
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .a_36 {
+ color: #009fdb;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+}
+#dcaedt .a_24 {
+ color: #009fdb;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .a_18_r {
+ color: #009fdb;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .a_18_m {
+ color: #009fdb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .a_16_r {
+ color: #009fdb;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .a_16_m {
+ color: #009fdb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .a_14_r {
+ color: #009fdb;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .a_14_m {
+ color: #009fdb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .a_14_i {
+ color: #009fdb;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .a_13_r {
+ color: #009fdb;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .a_13_m {
+ color: #009fdb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .a_13_i {
+ color: #009fdb;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .a_12_r {
+ color: #009fdb;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .a_12_m {
+ color: #009fdb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .a_12_i {
+ color: #009fdb;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .b_36 {
+ color: #056bae;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+}
+#dcaedt .b_24 {
+ color: #056bae;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .b_18_r {
+ color: #056bae;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .b_18_m {
+ color: #056bae;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .b_16_r {
+ color: #056bae;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .b_16_m {
+ color: #056bae;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .b_14_r {
+ color: #056bae;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .b_14_m {
+ color: #056bae;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .b_14_i {
+ color: #056bae;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .b_13_r {
+ color: #056bae;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .b_13_m {
+ color: #056bae;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .b_13_i {
+ color: #056bae;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .b_12_r {
+ color: #056bae;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .b_12_m {
+ color: #056bae;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .b_12_i {
+ color: #056bae;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .c_36 {
+ color: #71c5eb;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+}
+#dcaedt .c_24 {
+ color: #71c5eb;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .c_18_r {
+ color: #71c5eb;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .c_18_m {
+ color: #71c5eb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .c_16_r {
+ color: #71c5eb;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .c_16_m {
+ color: #71c5eb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .c_14_r {
+ color: #71c5eb;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .c_14_m {
+ color: #71c5eb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .c_14_i {
+ color: #71c5eb;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .c_13_r {
+ color: #71c5eb;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .c_13_m {
+ color: #71c5eb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .c_13_i {
+ color: #71c5eb;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .c_12_r {
+ color: #71c5eb;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .c_12_m {
+ color: #71c5eb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .c_12_i {
+ color: #71c5eb;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .d_36 {
+ color: #4ca90c;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+}
+#dcaedt .d_24 {
+ color: #4ca90c;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .d_18_r {
+ color: #4ca90c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .d_18_m {
+ color: #4ca90c;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .d_16_r {
+ color: #4ca90c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .d_16_m {
+ color: #4ca90c;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .d_14_r {
+ color: #4ca90c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .d_14_m {
+ color: #4ca90c;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .d_14_i {
+ color: #4ca90c;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .d_13_r {
+ color: #4ca90c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .d_13_m {
+ color: #4ca90c;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .d_13_i {
+ color: #4ca90c;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .d_12_r {
+ color: #4ca90c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .d_12_m {
+ color: #4ca90c;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .d_12_i {
+ color: #4ca90c;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .e_36 {
+ color: #007a3e;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+}
+#dcaedt .e_24 {
+ color: #007a3e;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .e_18_r {
+ color: #007a3e;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .e_18_m {
+ color: #007a3e;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .e_16_r {
+ color: #007a3e;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .e_16_m {
+ color: #007a3e;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .e_14_r {
+ color: #007a3e;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .e_14_m {
+ color: #007a3e;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .e_14_i {
+ color: #007a3e;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .e_13_r {
+ color: #007a3e;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .e_13_m {
+ color: #007a3e;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .e_13_i {
+ color: #007a3e;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .e_12_r {
+ color: #007a3e;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .e_12_m {
+ color: #007a3e;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .e_12_i {
+ color: #007a3e;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .f_36 {
+ color: #b5bd00;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+}
+#dcaedt .f_24 {
+ color: #b5bd00;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .f_18_r {
+ color: #b5bd00;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .f_18_m {
+ color: #b5bd00;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .f_16_r {
+ color: #b5bd00;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .f_16_m {
+ color: #b5bd00;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .f_14_r {
+ color: #b5bd00;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .f_14_m {
+ color: #b5bd00;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .f_14_i {
+ color: #b5bd00;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .f_13_r {
+ color: #b5bd00;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .f_13_m {
+ color: #b5bd00;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .f_13_i {
+ color: #b5bd00;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .f_12_r {
+ color: #b5bd00;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .f_12_m {
+ color: #b5bd00;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .f_12_i {
+ color: #b5bd00;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .g_36 {
+ color: #ea7499;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+}
+#dcaedt .g_24 {
+ color: #ea7499;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .g_18_r {
+ color: #ea7499;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .g_18_m {
+ color: #ea7499;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .g_16_r {
+ color: #ea7499;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .g_16_m {
+ color: #ea7499;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .g_14_r {
+ color: #ea7499;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .g_14_m {
+ color: #ea7499;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .g_14_i {
+ color: #ea7499;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .g_13_r {
+ color: #ea7499;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .g_13_m {
+ color: #ea7499;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .g_13_i {
+ color: #ea7499;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .g_12_r {
+ color: #ea7499;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .g_12_m {
+ color: #ea7499;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .g_12_i {
+ color: #ea7499;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .h_36 {
+ color: #ffb81c;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+}
+#dcaedt .h_24 {
+ color: #ffb81c;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .h_18_r {
+ color: #ffb81c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .h_18_m {
+ color: #ffb81c;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .h_16_r {
+ color: #ffb81c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .h_16_m {
+ color: #ffb81c;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .h_14_r {
+ color: #ffb81c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .h_14_m {
+ color: #ffb81c;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .h_14_i {
+ color: #ffb81c;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .h_13_r {
+ color: #ffb81c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .h_13_m {
+ color: #ffb81c;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .h_13_i {
+ color: #ffb81c;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .h_12_r {
+ color: #ffb81c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .h_12_m {
+ color: #ffb81c;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .h_12_i {
+ color: #ffb81c;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .i_36 {
+ color: #702f8a;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+}
+#dcaedt .i_24 {
+ color: #702f8a;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .i_18_r {
+ color: #702f8a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .i_18_m {
+ color: #702f8a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .i_16_r {
+ color: #702f8a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .i_16_m {
+ color: #702f8a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .i_14_r {
+ color: #702f8a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .i_14_m {
+ color: #702f8a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .i_14_i {
+ color: #702f8a;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .i_13_r {
+ color: #702f8a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .i_13_m {
+ color: #702f8a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .i_13_i {
+ color: #702f8a;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .i_12_r {
+ color: #702f8a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .i_12_m {
+ color: #702f8a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .i_12_i {
+ color: #702f8a;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .j_36 {
+ color: #9063cd;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+}
+#dcaedt .j_24 {
+ color: #9063cd;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .j_18_r {
+ color: #9063cd;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .j_18_m {
+ color: #9063cd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .j_16_r {
+ color: #9063cd;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .j_16_m {
+ color: #9063cd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .j_14_r {
+ color: #9063cd;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .j_14_m {
+ color: #9063cd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .j_14_i {
+ color: #9063cd;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .j_13_r {
+ color: #9063cd;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .j_13_m {
+ color: #9063cd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .j_13_i {
+ color: #9063cd;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .j_12_r {
+ color: #9063cd;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .j_12_m {
+ color: #9063cd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .j_12_i {
+ color: #9063cd;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .k_36 {
+ color: #caa2dd;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+}
+#dcaedt .k_24 {
+ color: #caa2dd;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .k_18_r {
+ color: #caa2dd;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .k_18_m {
+ color: #caa2dd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .k_16_r {
+ color: #caa2dd;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .k_16_m {
+ color: #caa2dd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .k_14_r {
+ color: #caa2dd;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .k_14_m {
+ color: #caa2dd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .k_14_i {
+ color: #caa2dd;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .k_13_r {
+ color: #caa2dd;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .k_13_m {
+ color: #caa2dd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .k_13_i {
+ color: #caa2dd;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .k_12_r {
+ color: #caa2dd;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .k_12_m {
+ color: #caa2dd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .k_12_i {
+ color: #caa2dd;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .l_36 {
+ color: #000000;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+}
+#dcaedt .l_24 {
+ color: #000000;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .l_18_r {
+ color: #000000;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .l_18_m {
+ color: #000000;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .l_16_r {
+ color: #000000;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .l_16_m {
+ color: #000000;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .l_14_r {
+ color: #000000;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .l_14_m {
+ color: #000000;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .l_14_i {
+ color: #000000;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .l_13_r {
+ color: #000000;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .l_13_m {
+ color: #000000;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .l_13_i {
+ color: #000000;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .l_12_r {
+ color: #000000;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .l_12_m {
+ color: #000000;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .l_12_i {
+ color: #000000;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .m_36 {
+ color: #5a5a5a;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+}
+#dcaedt .m_24 {
+ color: #5a5a5a;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .m_18_r {
+ color: #5a5a5a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .m_18_m {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .m_16_r {
+ color: #5a5a5a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .m_16_m {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .m_14_r {
+ color: #5a5a5a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .m_14_m {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .m_14_i {
+ color: #5a5a5a;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .m_13_r {
+ color: #5a5a5a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .m_13_m {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .m_13_i {
+ color: #5a5a5a;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .m_12_r {
+ color: #5a5a5a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .m_12_m {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .m_12_i {
+ color: #5a5a5a;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .n_36 {
+ color: #959595;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+}
+#dcaedt .n_24 {
+ color: #959595;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .n_18_r {
+ color: #959595;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .n_18_m {
+ color: #959595;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .n_16_r {
+ color: #959595;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .n_16_m {
+ color: #959595;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .n_14_r {
+ color: #959595;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .n_14_m {
+ color: #959595;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .n_14_i {
+ color: #959595;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .n_13_r {
+ color: #959595;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .n_13_m {
+ color: #959595;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .n_13_i {
+ color: #959595;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .n_12_r {
+ color: #959595;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .n_12_m {
+ color: #959595;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .n_12_i {
+ color: #959595;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .o_36 {
+ color: #d2d2d2;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+}
+#dcaedt .o_24 {
+ color: #d2d2d2;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .o_18_r {
+ color: #d2d2d2;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .o_18_m {
+ color: #d2d2d2;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .o_16_r {
+ color: #d2d2d2;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .o_16_m {
+ color: #d2d2d2;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .o_14_r {
+ color: #d2d2d2;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .o_14_m {
+ color: #d2d2d2;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .o_14_i {
+ color: #d2d2d2;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .o_13_r {
+ color: #d2d2d2;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .o_13_m {
+ color: #d2d2d2;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .o_13_i {
+ color: #d2d2d2;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .o_12_r {
+ color: #d2d2d2;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .o_12_m {
+ color: #d2d2d2;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .o_12_i {
+ color: #d2d2d2;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .p_36 {
+ color: #ffffff;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+}
+#dcaedt .p_24 {
+ color: #ffffff;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .p_18_r {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .p_18_m {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .p_16_r {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .p_16_m {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .p_14_r {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .p_14_m {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .p_14_i {
+ color: #ffffff;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .p_13_r {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .p_13_m {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .p_13_i {
+ color: #ffffff;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .p_12_r {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .p_12_m {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .p_12_i {
+ color: #ffffff;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .q_36 {
+ color: #cf2a2a;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+}
+#dcaedt .q_24 {
+ color: #cf2a2a;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .q_18_r {
+ color: #cf2a2a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .q_18_m {
+ color: #cf2a2a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .q_16_r {
+ color: #cf2a2a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .q_16_m {
+ color: #cf2a2a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .q_14_r {
+ color: #cf2a2a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .q_14_m {
+ color: #cf2a2a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .q_14_i {
+ color: #cf2a2a;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .q_13_r {
+ color: #cf2a2a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .q_13_m {
+ color: #cf2a2a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .q_13_i {
+ color: #cf2a2a;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .q_12_r {
+ color: #cf2a2a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .q_12_m {
+ color: #cf2a2a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .q_12_i {
+ color: #cf2a2a;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .r_36 {
+ color: #f2f2f2;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+}
+#dcaedt .r_24 {
+ color: #f2f2f2;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .r_18_r {
+ color: #f2f2f2;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .r_18_m {
+ color: #f2f2f2;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .r_16_r {
+ color: #f2f2f2;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .r_16_m {
+ color: #f2f2f2;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .r_14_r {
+ color: #f2f2f2;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .r_14_m {
+ color: #f2f2f2;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .r_14_i {
+ color: #f2f2f2;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .r_13_r {
+ color: #f2f2f2;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .r_13_m {
+ color: #f2f2f2;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .r_13_i {
+ color: #f2f2f2;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .r_12_r {
+ color: #f2f2f2;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .r_12_m {
+ color: #f2f2f2;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .r_12_i {
+ color: #f2f2f2;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .s_36 {
+ color: #191919;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+}
+#dcaedt .s_24 {
+ color: #191919;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .s_18_r {
+ color: #191919;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .s_18_m {
+ color: #191919;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .s_16_r {
+ color: #191919;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .s_16_m {
+ color: #191919;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .s_14_r {
+ color: #191919;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .s_14_m {
+ color: #191919;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .s_14_i {
+ color: #191919;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .s_13_r {
+ color: #191919;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .s_13_m {
+ color: #191919;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .s_13_i {
+ color: #191919;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .s_12_r {
+ color: #191919;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .s_12_m {
+ color: #191919;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .s_12_i {
+ color: #191919;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .t_36 {
+ color: #faf8f8;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+}
+#dcaedt .t_24 {
+ color: #faf8f8;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .t_18_r {
+ color: #faf8f8;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .t_18_m {
+ color: #faf8f8;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .t_16_r {
+ color: #faf8f8;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .t_16_m {
+ color: #faf8f8;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .t_14_r {
+ color: #faf8f8;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .t_14_m {
+ color: #faf8f8;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .t_14_i {
+ color: #faf8f8;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .t_13_r {
+ color: #faf8f8;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .t_13_m {
+ color: #faf8f8;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .t_13_i {
+ color: #faf8f8;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .t_12_r {
+ color: #faf8f8;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .t_12_m {
+ color: #faf8f8;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .t_12_i {
+ color: #faf8f8;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .u_36 {
+ color: #eaeaea;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+}
+#dcaedt .u_24 {
+ color: #eaeaea;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .u_18_r {
+ color: #eaeaea;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .u_18_m {
+ color: #eaeaea;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .u_16_r {
+ color: #eaeaea;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .u_16_m {
+ color: #eaeaea;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .u_14_r {
+ color: #eaeaea;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .u_14_m {
+ color: #eaeaea;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .u_14_i {
+ color: #eaeaea;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .u_13_r {
+ color: #eaeaea;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .u_13_m {
+ color: #eaeaea;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .u_13_i {
+ color: #eaeaea;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .u_12_r {
+ color: #eaeaea;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .u_12_m {
+ color: #eaeaea;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .u_12_i {
+ color: #eaeaea;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .v_36 {
+ color: #e6f6fb;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+}
+#dcaedt .v_24 {
+ color: #e6f6fb;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .v_18_r {
+ color: #e6f6fb;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .v_18_m {
+ color: #e6f6fb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .v_16_r {
+ color: #e6f6fb;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .v_16_m {
+ color: #e6f6fb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .v_14_r {
+ color: #e6f6fb;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .v_14_m {
+ color: #e6f6fb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .v_14_i {
+ color: #e6f6fb;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .v_13_r {
+ color: #e6f6fb;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .v_13_m {
+ color: #e6f6fb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .v_13_i {
+ color: #e6f6fb;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .v_12_r {
+ color: #e6f6fb;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .v_12_m {
+ color: #e6f6fb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .v_12_i {
+ color: #e6f6fb;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .disabled {
+ opacity: 0.4 !important;
+ cursor: auto;
+ background-color: transparent;
+ pointer-events: none;
+}
+#dcaedt .hideme {
+ visibility: hidden;
+}
+#dcaedt .view-mode {
+ opacity: 1;
+ border: solid 1px #d2d2d2;
+ background-color: #f8f8f8;
+ cursor: auto;
+}
+#dcaedt .view-mode + #dcaedt .view-mode:not(.icons-text),
+#dcaedt .view-mode.no-border-top {
+ border-top: none;
+}
+#dcaedt .no-pointer-events {
+ pointer-events: none;
+}
+#dcaedt .unselectable {
+ -moz-user-select: -moz-none;
+ -khtml-user-select: none;
+ -webkit-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+#dcaedt .selectable {
+ -moz-user-select: text;
+ -khtml-user-select: text;
+ -webkit-user-select: text;
+ -ms-user-select: text;
+ user-select: text;
+}
+#dcaedt .backgroundColor .a {
+ background-color: #3b7b9b;
+}
+#dcaedt .backgroundColor .b {
+ background-color: #666666;
+}
+#dcaedt .backgroundColor .c {
+ background-color: #ffffff;
+}
+#dcaedt .backgroundColor .d {
+ background-color: #1d9a95;
+}
+#dcaedt .backgroundColor .e {
+ background-color: #cdcdcd;
+}
+#dcaedt .backgroundColor .f {
+ background-color: #506472;
+}
+#dcaedt .backgroundColor .g {
+ background-color: #263d4d;
+}
+#dcaedt .backgroundColor .h {
+ background-color: #da1f3d;
+}
+#dcaedt .backgroundColor .i {
+ background-color: #445663;
+}
+#dcaedt .backgroundColor .j {
+ background-color: #D3DBE0;
+}
+#dcaedt .backgroundColor .k {
+ background-color: #e1e7ec;
+}
+#dcaedt .backgroundColor .l {
+ background-color: #1e9a33;
+}
+#dcaedt .backgroundColor .m {
+ background-color: #a8b3b9;
+}
+#dcaedt .backgroundColor .n {
+ background-color: #ECEFF3;
+}
+#dcaedt .backgroundColor .o {
+ background-color: #798996;
+}
+#dcaedt .backgroundColor .p {
+ background-color: #8c8c8c;
+}
+#dcaedt .backgroundColor .q {
+ background-color: #b5b5b5;
+}
+#dcaedt .backgroundColor .r {
+ background-color: #e85858;
+}
+#dcaedt .backgroundColor .s {
+ background-color: #000000;
+}
+#dcaedt .backgroundColor .t {
+ background-color: #3196c9;
+}
+#dcaedt .backgroundColor .u {
+ background-color: #23aa63;
+}
+#dcaedt .backgroundColor .v {
+ background-color: #198682;
+}
+#dcaedt .backgroundColor .w {
+ background-color: #384752;
+}
+#dcaedt .backgroundColor .x {
+ background-color: #c91d39;
+}
+#dcaedt .backgroundColor .y {
+ background-color: #697a87;
+}
+#dcaedt .backgroundColor .z {
+ background-color: #28bd6e;
+}
+#dcaedt .backgroundColor .zz {
+ background-color: #93deb6;
+}
+#dcaedt .backgroundColor .hover .a {
+ background-color: #2d5e76;
+}
+#dcaedt .backgroundColor .hover .b {
+ background-color: #4d4d4d;
+}
+#dcaedt .backgroundColor .hover .c {
+ background-color: #e6e6e6;
+}
+#dcaedt .backgroundColor .hover .d {
+ background-color: #156f6b;
+}
+#dcaedt .backgroundColor .hover .e {
+ background-color: #b4b4b4;
+}
+#dcaedt .backgroundColor .hover .f {
+ background-color: #3b4a54;
+}
+#dcaedt .backgroundColor .hover .g {
+ background-color: #15222b;
+}
+#dcaedt .backgroundColor .hover .h {
+ background-color: #ad1931;
+}
+#dcaedt .backgroundColor .hover .i {
+ background-color: #2f3c45;
+}
+#dcaedt .backgroundColor .hover .j {
+ background-color: #b5c3cb;
+}
+#dcaedt .backgroundColor .hover .k {
+ background-color: #c2ced8;
+}
+#dcaedt .backgroundColor .hover .l {
+ background-color: #166f25;
+}
+#dcaedt .backgroundColor .hover .m {
+ background-color: #8c9aa2;
+}
+#dcaedt .backgroundColor .hover .n {
+ background-color: #cdd5df;
+}
+#dcaedt .backgroundColor .hover .o {
+ background-color: #616f7b;
+}
+#dcaedt .backgroundColor .hover .p {
+ background-color: #737373;
+}
+#dcaedt .backgroundColor .hover .q {
+ background-color: #9c9c9c;
+}
+#dcaedt .backgroundColor .hover .r {
+ background-color: #e22b2b;
+}
+#dcaedt .backgroundColor .hover .s {
+ background-color: #000000;
+}
+#dcaedt .backgroundColor .hover .t {
+ background-color: #2777a0;
+}
+#dcaedt .backgroundColor .hover .u {
+ background-color: #1a804a;
+}
+#dcaedt .backgroundColor .hover .v {
+ background-color: #115b58;
+}
+#dcaedt .backgroundColor .hover .w {
+ background-color: #232d34;
+}
+#dcaedt .backgroundColor .hover .x {
+ background-color: #9c172c;
+}
+#dcaedt .backgroundColor .hover .y {
+ background-color: #53606a;
+}
+#dcaedt .backgroundColor .hover .z {
+ background-color: #1f9356;
+}
+#dcaedt .backgroundColor .hover .zz {
+ background-color: #6cd29c;
+}
+#dcaedt .bg_a {
+ background-color: #3b7b9b;
+}
+#dcaedt .bg_b {
+ background-color: #666666;
+}
+#dcaedt .bg_c {
+ background-color: #ffffff;
+}
+#dcaedt .bg_d {
+ background-color: #1d9a95;
+}
+#dcaedt .bg_e {
+ background-color: #cdcdcd;
+}
+#dcaedt .bg_f {
+ background-color: #506472;
+}
+#dcaedt .bg_g {
+ background-color: #263d4d;
+}
+#dcaedt .bg_h {
+ background-color: #da1f3d;
+}
+#dcaedt .bg_i {
+ background-color: #445663;
+}
+#dcaedt .bg_j {
+ background-color: #D3DBE0;
+}
+#dcaedt .bg_k {
+ background-color: #e1e7ec;
+}
+#dcaedt .bg_l {
+ background-color: #1e9a33;
+}
+#dcaedt .bg_m {
+ background-color: #a8b3b9;
+}
+#dcaedt .bg_n {
+ background-color: #ECEFF3;
+}
+#dcaedt .bg_o {
+ background-color: #798996;
+}
+#dcaedt .bg_p {
+ background-color: #8c8c8c;
+}
+#dcaedt .bg_q {
+ background-color: #b5b5b5;
+}
+#dcaedt .bg_r {
+ background-color: #e85858;
+}
+#dcaedt .bg_s {
+ background-color: #000000;
+}
+#dcaedt .bg_t {
+ background-color: #3196c9;
+}
+#dcaedt .bg_u {
+ background-color: #23aa63;
+}
+#dcaedt .bg_v {
+ background-color: #198682;
+}
+#dcaedt .bg_w {
+ background-color: #384752;
+}
+#dcaedt .bg_x {
+ background-color: #c91d39;
+}
+#dcaedt .bg_y {
+ background-color: #697a87;
+}
+#dcaedt .bg_z {
+ background-color: #28bd6e;
+}
+#dcaedt .bg_zz {
+ background-color: #93deb6;
+}
+#dcaedt .bg_a_hover {
+ background-color: #2d5e76;
+}
+#dcaedt .bg_b_hover {
+ background-color: #4d4d4d;
+}
+#dcaedt .bg_c_hover {
+ background-color: #e6e6e6;
+}
+#dcaedt .bg_d_hover {
+ background-color: #156f6b;
+}
+#dcaedt .bg_e_hover {
+ background-color: #b4b4b4;
+}
+#dcaedt .bg_f_hover {
+ background-color: #3b4a54;
+}
+#dcaedt .bg_g_hover {
+ background-color: #15222b;
+}
+#dcaedt .bg_h_hover {
+ background-color: #ad1931;
+}
+#dcaedt .bg_i_hover {
+ background-color: #2f3c45;
+}
+#dcaedt .bg_j_hover {
+ background-color: #b5c3cb;
+}
+#dcaedt .bg_l_hover {
+ background-color: #166f25;
+}
+#dcaedt .bg_m_hover {
+ background-color: #8c9aa2;
+}
+#dcaedt .bg_n_hover {
+ background-color: #cdd5df;
+}
+#dcaedt .bg_o_hover {
+ background-color: #616f7b;
+}
+#dcaedt .bg_p_hover {
+ background-color: #737373;
+}
+#dcaedt .bg_q_hover {
+ background-color: #9c9c9c;
+}
+#dcaedt .bg_r_hover {
+ background-color: #e22b2b;
+}
+#dcaedt .bg_s_hover {
+ background-color: #000000;
+}
+#dcaedt .bg_t_hover {
+ background-color: #2777a0;
+}
+#dcaedt .bg_u_hover {
+ background-color: #1a804a;
+}
+#dcaedt .bg_v_hover {
+ background-color: #115b58;
+}
+#dcaedt .bg_w_hover {
+ background-color: #232d34;
+}
+#dcaedt .bg_x_hover {
+ background-color: #9c172c;
+}
+#dcaedt .bg_y_hover {
+ background-color: #53606a;
+}
+#dcaedt .bg_z_hover {
+ background-color: #1f9356;
+}
+#dcaedt .bg_zz_hover {
+ background-color: #6cd29c;
+}
+#dcaedt .center {
+ margin: 0 auto;
+}
+#dcaedt .vcenter {
+ display: table-cell;
+ vertical-align: middle;
+}
+#dcaedt .left {
+ float: left;
+}
+#dcaedt .right {
+ float: right;
+}
+#dcaedt .hand {
+ cursor: pointer;
+}
+#dcaedt .default-pointer {
+ cursor: default;
+}
+#dcaedt .text-center {
+ text-align: center;
+}
+#dcaedt .display-none {
+ display: none;
+}
+#dcaedt .nowrap {
+ white-space: nowrap;
+}
+#dcaedt .bold {
+ font-weight: bold;
+}
+#dcaedt .full-height {
+ height: 100%;
+}
+#dcaedt .uppercase {
+ text-transform: uppercase;
+}
+#dcaedt .capitalize {
+ text-transform: capitalize;
+}
+#dcaedt .font-color .a {
+ color: #3b7b9b;
+}
+#dcaedt .font-color .b {
+ color: #666666;
+}
+#dcaedt .font-color .c {
+ color: #ffffff;
+}
+#dcaedt .font-color .d {
+ color: #1d9a95;
+}
+#dcaedt .font-color .e {
+ color: #cdcdcd;
+}
+#dcaedt .font-color .f {
+ color: #506472;
+}
+#dcaedt .font-color .g {
+ color: #263d4d;
+}
+#dcaedt .font-color .h {
+ color: #da1f3d;
+}
+#dcaedt .font-color .i {
+ color: #445663;
+}
+#dcaedt .font-color .j {
+ color: #D3DBE0;
+}
+#dcaedt .font-color .k {
+ color: #e1e7ec;
+}
+#dcaedt .font-color .l {
+ color: #1e9a33;
+}
+#dcaedt .font-color .m {
+ color: #a8b3b9;
+}
+#dcaedt .font-color .n {
+ color: #ECEFF3;
+}
+#dcaedt .font-color .o {
+ color: #798996;
+}
+#dcaedt .font-color .p {
+ color: #8c8c8c;
+}
+#dcaedt .font-color .q {
+ color: #b5b5b5;
+}
+#dcaedt .font-color .r {
+ color: #e85858;
+}
+#dcaedt .font-color .s {
+ color: #000000;
+}
+#dcaedt .font-color .t {
+ color: #3196c9;
+}
+#dcaedt .font-color .u {
+ color: #3196c9;
+}
+#dcaedt .font-color .v {
+ color: #3196c9;
+}
+#dcaedt .font-color .w {
+ color: #3196c9;
+}
+#dcaedt .font-color .x {
+ color: #3196c9;
+}
+#dcaedt .font-color .y {
+ color: #3196c9;
+}
+#dcaedt .font-color .z {
+ color: #28bd6e;
+}
+#dcaedt .font-color .zz {
+ color: #93deb6;
+}
+#dcaedt .font-type ._1 {
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .font-type ._2 {
+ font-family: omnes-regular, sans-serif;
+ font-size: 20px;
+}
+#dcaedt .font-type ._3 {
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .font-type ._4 {
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .font-type ._5 {
+ font-family: omnes-medium, sans-serif;
+ font-size: 30px;
+}
+#dcaedt .font-type ._6 {
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .font-type ._7 {
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .font-type ._8 {
+ font-family: omnes-regular, sans-serif;
+ font-size: 11px;
+}
+#dcaedt .font-type ._9 {
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .font-type ._10 {
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .font-type ._11 {
+ font-family: omnes-medium, sans-serif;
+ font-size: 20px;
+}
+#dcaedt .font-type ._12 {
+ font-family: omnes-medium, sans-serif;
+ font-size: 17px;
+}
+#dcaedt .font-type ._13 {
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .font-type ._14 {
+ font-family: omnes-medium, sans-serif;
+ font-size: 11px;
+}
+#dcaedt .font-type ._15 {
+ font-family: omnes-medium, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .font-type ._16 {
+ font-family: omnes-regular, sans-serif;
+ font-size: 10px;
+}
+#dcaedt .font-type ._17 {
+ font-family: omnes-medium, sans-serif;
+ font-size: 15px;
+}
+#dcaedt .font-type ._18 {
+ font-family: omnes-regular, sans-serif;
+ font-size: 15px;
+}
+#dcaedt .font-type ._19 {
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .a_1 {
+ color: #3b7b9b;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .a_2 {
+ color: #3b7b9b;
+ font-family: omnes-regular, sans-serif;
+ font-size: 20px;
+}
+#dcaedt .a_3 {
+ color: #3b7b9b;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .a_4 {
+ color: #3b7b9b;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .a_5 {
+ color: #3b7b9b;
+ font-family: omnes-medium, sans-serif;
+ font-size: 30px;
+}
+#dcaedt .a_6 {
+ color: #3b7b9b;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .a_7 {
+ color: #3b7b9b;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .a_8 {
+ color: #3b7b9b;
+ font-family: omnes-regular, sans-serif;
+ font-size: 11px;
+}
+#dcaedt .a_9 {
+ color: #3b7b9b;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .a_10 {
+ color: #3b7b9b;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .a_15 {
+ color: #3b7b9b;
+ font-family: omnes-medium, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .b_1 {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .b_3 {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .b_4 {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .b_5 {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 30px;
+}
+#dcaedt .b_6 {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .b_7 {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .b_9 {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .b_10 {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .b_11 {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 20px;
+}
+#dcaedt .b_13 {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .b_15 {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .b_17 {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 15px;
+}
+#dcaedt .b_19 {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .c_1 {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .c_2 {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 20px;
+}
+#dcaedt .c_3 {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .c_4 {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .c_5 {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 30px;
+}
+#dcaedt .c_6 {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .c_7 {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .c_8 {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 11px;
+}
+#dcaedt .c_9 {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .c_10 {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .c_11 {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 20px;
+}
+#dcaedt .c_15 {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .c_16 {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 10px;
+}
+#dcaedt .c_17 {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 15px;
+}
+#dcaedt .c_18 {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 15px;
+}
+#dcaedt .d_1 {
+ color: #1d9a95;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .d_2 {
+ color: #1d9a95;
+ font-family: omnes-regular, sans-serif;
+ font-size: 20px;
+}
+#dcaedt .d_3 {
+ color: #1d9a95;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .d_4 {
+ color: #1d9a95;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .d_5 {
+ color: #1d9a95;
+ font-family: omnes-medium, sans-serif;
+ font-size: 30px;
+}
+#dcaedt .d_6 {
+ color: #1d9a95;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .d_12 {
+ color: #1d9a95;
+ font-family: omnes-medium, sans-serif;
+ font-size: 17px;
+}
+#dcaedt .e_1 {
+ color: #cdcdcd;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .e_2 {
+ color: #cdcdcd;
+ font-family: omnes-regular, sans-serif;
+ font-size: 20px;
+}
+#dcaedt .e_3 {
+ color: #cdcdcd;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .e_4 {
+ color: #cdcdcd;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .e_5 {
+ color: #cdcdcd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 30px;
+}
+#dcaedt .e_6 {
+ color: #cdcdcd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .e_7 {
+ color: #cdcdcd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .f_1 {
+ color: #506472;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .f_2 {
+ color: #506472;
+ font-family: omnes-regular, sans-serif;
+ font-size: 20px;
+}
+#dcaedt .g_1 {
+ color: #263d4d;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .g_2 {
+ color: #263d4d;
+ font-family: omnes-regular, sans-serif;
+ font-size: 20px;
+}
+#dcaedt .g_3 {
+ color: #263d4d;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .g_4 {
+ color: #263d4d;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .g_5 {
+ color: #263d4d;
+ font-family: omnes-medium, sans-serif;
+ font-size: 30px;
+}
+#dcaedt .g_6 {
+ color: #263d4d;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .g_7 {
+ color: #263d4d;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .g_8 {
+ color: #263d4d;
+ font-family: omnes-regular, sans-serif;
+ font-size: 11px;
+}
+#dcaedt .g_9 {
+ color: #263d4d;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .g_10 {
+ color: #263d4d;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .g_13 {
+ color: #263d4d;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .g_14 {
+ color: #263d4d;
+ font-family: omnes-medium, sans-serif;
+ font-size: 11px;
+}
+#dcaedt .h_1 {
+ color: #da1f3d;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .h_7 {
+ color: #da1f3d;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .h_9 {
+ color: #da1f3d;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .i_1 {
+ color: #445663;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .i_6 {
+ color: #445663;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .i_11 {
+ color: #445663;
+ font-family: omnes-medium, sans-serif;
+ font-size: 20px;
+}
+#dcaedt .i_17 {
+ color: #445663;
+ font-family: omnes-medium, sans-serif;
+ font-size: 15px;
+}
+#dcaedt .l_1 {
+ color: #1e9a33;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .l_9 {
+ color: #1e9a33;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .m_4 {
+ color: #a8b3b9;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .m_7 {
+ color: #a8b3b9;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .p_1 {
+ color: #8c8c8c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .p_3 {
+ color: #8c8c8c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .p_9 {
+ color: #8c8c8c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .q_7 {
+ color: #b5b5b5;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .q_9 {
+ color: #b5b5b5;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .q_11 {
+ color: #b5b5b5;
+ font-family: omnes-medium, sans-serif;
+ font-size: 20px;
+}
+#dcaedt .r_12 {
+ color: #e85858;
+ font-family: omnes-medium, sans-serif;
+ font-size: 17px;
+}
+#dcaedt .t_1 {
+ color: #3196c9;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .t_7 {
+ color: #3196c9;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .t_15 {
+ color: #3196c9;
+ font-family: omnes-medium, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .s_12 {
+ color: #000000;
+ font-family: omnes-medium, sans-serif;
+ font-size: 17px;
+}
+#dcaedt .bg_a {
+ background-color: #3b7b9b;
+}
+#dcaedt .bg_b {
+ background-color: #666666;
+}
+#dcaedt .bg_c {
+ background-color: #ffffff;
+}
+#dcaedt .bg_d {
+ background-color: #1d9a95;
+}
+#dcaedt .bg_e {
+ background-color: #cdcdcd;
+}
+#dcaedt .bg_f {
+ background-color: #506472;
+}
+#dcaedt .bg_g {
+ background-color: #263d4d;
+}
+#dcaedt .bg_h {
+ background-color: #da1f3d;
+}
+#dcaedt .bg_i {
+ background-color: #445663;
+}
+#dcaedt .bg_j {
+ background-color: #D3DBE0;
+}
+#dcaedt .bg_k {
+ background-color: #e1e7ec;
+}
+#dcaedt .bg_l {
+ background-color: #1e9a33;
+}
+#dcaedt .bg_m {
+ background-color: #a8b3b9;
+}
+#dcaedt .bg_n {
+ background-color: #ECEFF3;
+}
+#dcaedt .bg_o {
+ background-color: #798996;
+}
+#dcaedt .bg_p {
+ background-color: #8c8c8c;
+}
+#dcaedt .bg_q {
+ background-color: #b5b5b5;
+}
+#dcaedt .bg_r {
+ background-color: #e85858;
+}
+#dcaedt .bg_s {
+ background-color: #000000;
+}
+#dcaedt .bg_t {
+ background-color: #3196c9;
+}
+#dcaedt .bg_u {
+ background-color: #23aa63;
+}
+#dcaedt .bg_v {
+ background-color: #198682;
+}
+#dcaedt .bg_w {
+ background-color: #384752;
+}
+#dcaedt .bg_x {
+ background-color: #c91d39;
+}
+#dcaedt .bg_y {
+ background-color: #697a87;
+}
+#dcaedt .bg_z {
+ background-color: #28bd6e;
+}
+#dcaedt .bg_zz {
+ background-color: #93deb6;
+}
+#dcaedt .bg_a_hover {
+ background-color: #2d5e76;
+}
+#dcaedt .bg_b_hover {
+ background-color: #4d4d4d;
+}
+#dcaedt .bg_c_hover {
+ background-color: #e6e6e6;
+}
+#dcaedt .bg_d_hover {
+ background-color: #156f6b;
+}
+#dcaedt .bg_e_hover {
+ background-color: #b4b4b4;
+}
+#dcaedt .bg_f_hover {
+ background-color: #3b4a54;
+}
+#dcaedt .bg_g_hover {
+ background-color: #15222b;
+}
+#dcaedt .bg_h_hover {
+ background-color: #ad1931;
+}
+#dcaedt .bg_i_hover {
+ background-color: #2f3c45;
+}
+#dcaedt .bg_j_hover {
+ background-color: #b5c3cb;
+}
+#dcaedt .bg_l_hover {
+ background-color: #166f25;
+}
+#dcaedt .bg_m_hover {
+ background-color: #8c9aa2;
+}
+#dcaedt .bg_n_hover {
+ background-color: #cdd5df;
+}
+#dcaedt .bg_o_hover {
+ background-color: #616f7b;
+}
+#dcaedt .bg_p_hover {
+ background-color: #737373;
+}
+#dcaedt .bg_q_hover {
+ background-color: #9c9c9c;
+}
+#dcaedt .bg_r_hover {
+ background-color: #e22b2b;
+}
+#dcaedt .bg_s_hover {
+ background-color: #000000;
+}
+#dcaedt .bg_t_hover {
+ background-color: #2777a0;
+}
+#dcaedt .bg_u_hover {
+ background-color: #1a804a;
+}
+#dcaedt .bg_v_hover {
+ background-color: #115b58;
+}
+#dcaedt .bg_w_hover {
+ background-color: #232d34;
+}
+#dcaedt .bg_x_hover {
+ background-color: #9c172c;
+}
+#dcaedt .bg_y_hover {
+ background-color: #53606a;
+}
+#dcaedt .bg_z_hover {
+ background-color: #1f9356;
+}
+#dcaedt .bg_zz_hover {
+ background-color: #6cd29c;
+}
+#dcaedt .dcae-main-container {
+ @charset "UTF-8";
+ /* Colors */
+ /* Prefix */
+ /* Value Prefix*/
+ /* Box sizing */
+ /* Borders & Shadows */
+ /* Opacity */
+ /* Ellipsis */
+ /* Vertical placement of multuple lines of text */
+ /* transform-rotate */
+ /* transform-translate */
+ /* transform-scale */
+ /**/
+ /**/
+ /*body {*/
+ /*-webkit-touch-callout: none;*/
+ /*-webkit-user-select: none;*/
+ /*-moz-user-select: none;*/
+ /*-ms-user-select: none;*/
+ /*user-select: none; }*/
+ /* scrollbar styling for Google Chrome | Safari | Opera */
+ /* Mozilla Firefox currently doesn't support scrollbar styling */
+ /* Fonts */
+ /* You can add global styles to this file, and also import other style files */
+ /* Fonts */
+ /*---------------------------------------------- General ----------------------------------------------*/
+ /* Main Colors */
+ /* Functional Colors */
+ /* Tlv Colors */
+ /*---------------------------------------------- Parameters ----------------------------------------------*/
+ /*---------------------------------------------- General ----------------------------------------------*/
+ /* Colors */
+ /* Color hover */
+ /* to check if can delete */
+ /* Fonts */
+ /* I'm not using hidden name, can not override bower_components/bootstrap/dist/css/less/responsive-utilities.less */
+ /* Added by ikram - */
+ /*new tabs icons*/
+ /* canvas items non-certified indicator */
+ /* dashboard card main icons */
+ /* dashboard card statuses icons */
+ /* viewer modal */
+ /* input file upload icons */
+ /* error messages icons */
+ /* wizard icons */
+ /* tags category relation icon*/
+ /*new tabs icons*/
+ /*
+ .sprite-new.expand-asset-icon { background-position: -740px -590px; width: 40px; height: 40px; }
+ .sprite-new.view-info-icon { background-position: -739px -621px; width: 40px; height: 40px; }
+ .sprite-new.cp-icon { background-position: -741px -652px; width: 40px; height: 40px; }
+ .sprite-new.vl-icon { background-position: -740px -682px; width: 40px; height:40px; }
+ .sprite-new.trash-icon { background-position: -740px -712px; width: 40px; height: 40px; }
+
+ .sprite-new.expand-asset-icon:hover { background-position: -780px -590px; }
+ .sprite-new.view-info-icon:hover { background-position: -779px -621px; }
+ .sprite-new.cp-icon:hover { background-position: -781px -652px; }
+ .sprite-new.vl-icon:hover { background-position: -780px -682px; }
+ .sprite-new.trash-icon:hover { background-position: -780px -712px; }
+
+ .sprite-new.expand-asset-icon:active, .sprite-new.expand-asset-icon.disabled-icon { background-position: -820px -590px;}
+ .sprite-new.view-info-icon:active, .sprite-new.view-info-icon.disabled-icon { background-position: -819px -621px; }
+ .sprite-new.cp-icon:active, .sprite-new.cp-icon.disabled-icon { background-position: -821px -652px; }
+ .sprite-new.vl-icon:active, .sprite-new.vl-icon.disabled-icon { background-position: -820px -682px; }
+ .sprite-new.trash-icon:active, .sprite-new.trash-icon.disabled-icon { background-position: -820px -712px; }
+ */
+ /* ============ flash ============ */
+ /* Safari, Chrome and Opera > 12.1 */
+ /* Firefox < 16 */
+ /* Opera < 12.1 */
+ /* Internet Explorer */
+ /* ============ fadein ============ */
+ /* Safari, Chrome and Opera > 12.1 */
+ /* Firefox < 16 */
+ /* Opera < 12.1 */
+ /* Internet Explorer */
+ /* ============ fadeout ============ */
+ /* Safari, Chrome and Opera > 12.1 */
+ /* Firefox < 16 */
+ /* Opera < 12.1 */
+ /* Internet Explorer */
+ /*
+ CLASSIC BUTTON
+ Examples:
+ -------------------------------------------------------------------
+ <button class="w-sdc-classic-btn blue">Text 1</button>
+ <button class="w-sdc-classic-btn green">Text 1</button>
+ <button class="w-sdc-classic-btn gray">Text 1</button>
+ <button class="w-sdc-classic-btn white">Text 1</button>
+ <button class="w-sdc-classic-btn blue disabled">Text 5</button>
+ */
+ /*
+ WIZARD STEP CIRCLE BUTTON
+ Examples:
+ -------------------------------------------------------------------
+ <button class="w-sdc-wizard-step-btn">1</button>
+ <button class="w-sdc-wizard-step-btn selected">2</button>
+ <button class="w-sdc-wizard-step-btn valid">3</button>
+ <button class="w-sdc-wizard-step-btn">4</button>
+ <button class="w-sdc-wizard-step-btn disabled">5</button>
+ */
+ /* Catalog */
+ /* */
+ /* Dashboard (Non Catalog) */
+ /* -----------------------------------------------------
+ OVERRIDE BOOTSTRAP TO CENTER MODAL VERTICALLY.
+ ----------------------------------------------------- */
+ /* -----------------------------------------------------
+ MODAL SIZES
+ ----------------------------------------------------- */
+ /* -----------------------------------------------------
+ MODAL WRAPPER
+ ----------------------------------------------------- */
+ /* -----------------------------------------------------
+ PREVIOUS MODAL
+ ----------------------------------------------------- */
+ /*.w-sdc-modal,
+ .modal-dialog,
+ .w-sdc-modal-confirmation {
+
+ .w-sdc-modal-head {
+ .s_18_r;
+ height: 48px;
+ line-height: 48px;
+ text-align: center;
+ }
+
+ .w-sdc-modal-body {
+ height: auto;
+ padding: 20px 40px 20px 40px;
+ border-bottom: solid 1px @color_a;
+ position: relative;
+ }
+
+ .w-sdc-modal-body-content {
+ .b_1;
+ padding: 10px 0 0 0;
+ }
+
+ .w-sdc-modal-icon {
+ display: inline-block;
+ }
+
+ .w-sdc-modal-icon-DEBUG { .sprite; .message-DEBUG;}
+ .w-sdc-modal-icon-INFO { .sprite; .message-INFO;}
+ .w-sdc-modal-icon-WARNING { .sprite; .message-WARNING;}
+ .w-sdc-modal-icon-ERROR { .sprite; .message-ERROR;}
+
+ .w-sdc-modal-caption {
+ .a_6;
+ display: inline-block;
+ padding: 0 0 0 25px;
+ vertical-align: top;
+ }
+
+ .w-sdc-modal-action {
+ height: 99px;
+ text-align: center;
+ vertical-align: middle;
+ line-height: 105px;
+ }
+
+ .sdc-resource-viewer-modal-head {
+ .c_2;
+ border-radius: 6px 6px 0 0;
+ height: 30px;
+ line-height: 30px;
+ text-align: center;
+ }
+
+ .w-sdc-modal-close {
+ background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAANCAYAAACdKY9CAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkZDQUM1MUVFMDg1NDExRTVBMzdBQ0IxMzM2OTYwNjM2IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkZDQUM1MUVGMDg1NDExRTVBMzdBQ0IxMzM2OTYwNjM2Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkNBQzUxRUMwODU0MTFFNUEzN0FDQjEzMzY5NjA2MzYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RkNBQzUxRUQwODU0MTFFNUEzN0FDQjEzMzY5NjA2MzYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4EGRD0AAAAhElEQVR42mL8/+8fAxAIAvF7BvwArIYJSKQB8V0gNsajGKEGaMMZIP4PxO+A2BhkIxpOg8qDcAdIQBCPJmTFM8HOh0pg04ShGFkDNk0YitE1wDTdRVK8Ct1P+DyINSAY8HgQa0DgDA1coYdLMc7QQ464mVgiDV0TPOLKcShG1gRWAxBgACObyGI1tr+eAAAAAElFTkSuQmCC');
+ color: #3499F7; //TODO: Replace the color, should be sprite
+ .hand;
+ position: absolute;
+ right: 20px;
+ top: 20px;
+ display: block;
+ height: 13px;
+ width: 12px;
+ border-radius: 50%;
+ }
+
+ .w-sdc-resource-viewer-modal-close {
+ color: #3499F7; //TODO: Replace the color, should be sprite
+ .hand;
+ position: absolute;
+ right: 20px;
+ top: 5px;
+ display: block;
+ line-height: normal;
+ font-size: 18px;
+ font-weight: bold;
+ }
+
+ }*/
+ /* -----------------------------------------------------
+ NEW DESIGN MODAL
+ ----------------------------------------------------- */
+ /*
+ input[type="checkbox"] {
+ display:none;
+ }
+
+ input[type="checkbox"] + label span {
+ margin-right: 6px;
+ vertical-align: text-bottom;
+ .sprite-new;
+ .checkbox_unchecked;
+ cursor:pointer;
+ }
+
+ input[type="checkbox"]:checked + label span {
+ vertical-align: text-bottom;
+ .sprite-new;
+ .checkbox_checked;
+ }
+
+ input[type="checkbox"]:focus + label span {
+ vertical-align: text-bottom;
+ .sprite-new;
+ .checkbox_focus;
+ }
+
+ input[type="checkbox"][disabled] + label{
+ vertical-align: text-bottom;
+ .sprite-new;
+ .checkbox_disabled;
+ }
+ */
+ /* Firefox < 16 */
+ /* Safari, Chrome and Opera > 12.1 */
+ /* Internet Explorer */
+ /* Opera < 12.1 */
+ /* Firefox < 16 */
+ /* Safari, Chrome and Opera > 12.1 */
+ /* Internet Explorer */
+ /* Opera < 12.1 */
+ /* dashboard card main icons */
+ /* dashboard card statuses icons */
+ /*.right-tab-loader {
+ border: 16px solid #f3f3f3; !* Light grey *!
+ border-top: 16px solid #3498db; !* Blue *!
+ border-radius: 50%;
+ width: 120px;
+ height: 120px;
+ animation: spin 2s linear infinite;
+ }*/
+ /* Colors */
+ /* Prefix */
+ /* Value Prefix*/
+ /* Box sizing */
+ /* Borders & Shadows */
+ /* Opacity */
+ /* Ellipsis */
+ /* Vertical placement of multuple lines of text */
+ /* transform-rotate */
+ /* transform-translate */
+ /* transform-scale */
+ /**/
+ /**/
+ /*body {*/
+ /*-webkit-touch-callout: none;*/
+ /*-webkit-user-select: none;*/
+ /*-moz-user-select: none;*/
+ /*-ms-user-select: none;*/
+ /*user-select: none; }*/
+ /* scrollbar styling for Google Chrome | Safari | Opera */
+ /* Mozilla Firefox currently doesn't support scrollbar styling */
+ /* Fonts */
+}
+#dcaedt .dcae-main-container .sdc-bc-blue {
+ background-color: #009fdb;
+}
+#dcaedt .dcae-main-container .sdc-bc-dark-blue {
+ background-color: #0568ae;
+}
+#dcaedt .dcae-main-container .sdc-bc-light-blue {
+ background-color: #71c5e8;
+}
+#dcaedt .dcae-main-container .sdc-bc-green {
+ background-color: #4ca90c;
+}
+#dcaedt .dcae-main-container .sdc-bc-dark-green {
+ background-color: #007a3e;
+}
+#dcaedt .dcae-main-container .sdc-bc-light-green {
+ background-color: #b5bd00;
+}
+#dcaedt .dcae-main-container .sdc-bc-orange {
+ background-color: #ea7400;
+}
+#dcaedt .dcae-main-container .sdc-bc-yellow {
+ background-color: #ffb81c;
+}
+#dcaedt .dcae-main-container .sdc-bc-dark-purple {
+ background-color: #702f8a;
+}
+#dcaedt .dcae-main-container .sdc-bc-purple {
+ background-color: #9063cd;
+}
+#dcaedt .dcae-main-container .sdc-bc-light-purple {
+ background-color: #caa2dd;
+}
+#dcaedt .dcae-main-container .sdc-bc-black {
+ background-color: #000000;
+}
+#dcaedt .dcae-main-container .sdc-bc-dark-gray {
+ background-color: #5a5a5a;
+}
+#dcaedt .dcae-main-container .sdc-bc-gray {
+ background-color: #959595;
+}
+#dcaedt .dcae-main-container .sdc-bc-light-gray {
+ background-color: #d2d2d2;
+}
+#dcaedt .dcae-main-container .sdc-bc-white {
+ background-color: #ffffff;
+}
+#dcaedt .dcae-main-container html {
+ font-size: 100%;
+ height: 100%;
+}
+#dcaedt .dcae-main-container body {
+ /* scrollbar styling for Internet Explorer */
+ scrollbar-face-color: #191919;
+ scrollbar-track-color: #191919;
+ height: 100%;
+}
+#dcaedt .dcae-main-container ::-webkit-scrollbar {
+ width: 8px;
+ height: 8px;
+}
+#dcaedt .dcae-main-container ::-webkit-scrollbar-track {
+ background-color: transparent;
+ border-radius: 10px;
+}
+#dcaedt .dcae-main-container ::-webkit-scrollbar-thumb {
+ border-radius: 10px;
+ background-color: #d2d2d2;
+ border-right: 2px solid #ffffff;
+}
+#dcaedt .dcae-main-container ul {
+ list-style: none;
+}
+#dcaedt .dcae-main-container h1,
+#dcaedt .dcae-main-container h2,
+#dcaedt .dcae-main-container h3,
+#dcaedt .dcae-main-container h4,
+#dcaedt .dcae-main-container h5,
+#dcaedt .dcae-main-container h6,
+#dcaedt .dcae-main-container ul {
+ margin: 0;
+ padding: 0;
+}
+#dcaedt .dcae-main-container .disabled {
+ opacity: 0.7 !important;
+}
+#dcaedt .dcae-main-container fieldset {
+ border: none;
+}
+#dcaedt .dcae-main-container fieldset label {
+ display: inline-block;
+}
+#dcaedt .dcae-main-container .nav-tabs > li > a:focus,
+#dcaedt .dcae-main-container .btn:focus,
+#dcaedt .dcae-main-container .btn:active:focus,
+#dcaedt .dcae-main-container .btn.active:focus {
+ outline: none;
+}
+#dcaedt .dcae-main-container .text-lowercase {
+ text-transform: lowercase;
+}
+#dcaedt .dcae-main-container .text-uppercase,
+#dcaedt .dcae-main-container .heading-3-light,
+#dcaedt .dcae-main-container .heading-3,
+#dcaedt .dcae-main-container .heading-3-medium {
+ text-transform: uppercase;
+}
+#dcaedt .dcae-main-container .text-capitalize {
+ text-transform: capitalize;
+}
+#dcaedt .dcae-main-container .heading-1 {
+ font-weight: 300;
+ font-size: 36px;
+}
+#dcaedt .dcae-main-container .heading-2 {
+ font-weight: 300;
+ font-size: 24px;
+}
+#dcaedt .dcae-main-container .heading-3-light {
+ font-weight: 300;
+ font-size: 20px;
+}
+#dcaedt .dcae-main-container .heading-3 {
+ font-weight: 400;
+ font-size: 20px;
+}
+#dcaedt .dcae-main-container .heading-3-medium {
+ font-weight: 600;
+ font-size: 20px;
+}
+#dcaedt .dcae-main-container .heading-4 {
+ font-weight: 400;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .heading-4-medium {
+ font-weight: 600;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .heading-5 {
+ font-weight: 400;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .heading-5-medium,
+#dcaedt .dcae-main-container .catalog-tile .catalog-tile-top .catalog-tile-item-name,
+#dcaedt .dcae-main-container .sdc-tile-catalog .sdc-tile-content .sdc-tile-content-info .sdc-tile-content-info-item-name {
+ font-weight: 400;
+ line-height: 16px;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .body-1 {
+ font-weight: 400;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .body-1-medium {
+ font-weight: 600;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .body-1-light {
+ font-weight: 300;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .body-2,
+#dcaedt .dcae-main-container .catalog-tile .catalog-tile-top .catalog-tile-entity-details .catalog-tile-version-info .catalog-tile-item-version,
+#dcaedt .dcae-main-container .catalog-tile .catalog-tile-content .catalog-tile-locking-user-name,
+#dcaedt .dcae-main-container .sdc-tile-catalog .sdc-tile-content .sdc-tile-content-info .sdc-tile-content-info-version-info .sdc-tile-content-info-version-info-text,
+#dcaedt .dcae-main-container .sdc-tile-catalog .sdc-tile-footer .sdc-tile-footer-text {
+ font-weight: 400;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .body-2-medium,
+#dcaedt .dcae-main-container .catalog-tile .catalog-tile-content {
+ font-weight: 600;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .body-3 {
+ font-weight: 400;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .body-3-medium,
+#dcaedt .dcae-main-container .catalog-tile .catalog-tile-top .catalog-tile-entity-details .catalog-tile-vendor-name,
+#dcaedt .dcae-main-container .catalog-tile.vendor-type .catalog-tile-top .catalog-tile-vsp-count,
+#dcaedt .dcae-main-container .sdc-tile-catalog .sdc-tile-content .sdc-tile-content-info .sdc-tile-content-info-vendor-name {
+ font-weight: 600;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .body-3-light {
+ font-weight: 300;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .circle-icon-text {
+ font-weight: 600;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .sdc-icon {
+ display: inline-block;
+ text-rendering: auto;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ width: 16px;
+ height: 16px;
+}
+#dcaedt .dcae-main-container .sdc-icon-locked {
+ background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='11' height='15' viewBox='0 0 11 15' id='locked_icon'> <metadata><?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?><x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Adobe XMP Core 5.6-c138 79.159824, 2016/09/14-01:09:01 '> <rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'> <rdf:Description rdf:about=''/> </rdf:RDF></x:xmpmeta><?xpacket end='w'?></metadata><defs> <style> .cls-1 { fill: #959595; fill-rule: evenodd; } </style> </defs> <path id='Shape_77_copy_10' data-name='Shape 77 copy 10' class='cls-1' d='M445,359a16.71,16.71,0,0,0-2.1-.009c-1.945.045-3.195,0.049-3.9,0.009v-5a1.743,1.743,0,0,1,2-2h1a1.743,1.743,0,0,1,2,2v5c0.474,0.063.343-.073,1,0,0.266,0.029,0,.279,0,0v-5a2.726,2.726,0,0,0-3-3h-1.142c-1.72-.125-2.715,1.562-2.858,3,0.088,0.009,0,7.338,0,5h0a1.891,1.891,0,0,0-2,1.689v3.461A1.823,1.823,0,0,0,437.775,366h7.448A1.823,1.823,0,0,0,447,364.15v-3.461A2.018,2.018,0,0,0,445,359Z' transform='translate(-436 -351)'/></svg>");
+ background-repeat: no-repeat;
+}
+#dcaedt .dcae-main-container .sdc-icon-plus {
+ background-image: url("data:image/svg+xml;utf8,<?xml version='1.0' encoding='utf-8'?><!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --><svg version='1.1' id='plus_icon' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 19 19' style='enable-background:new 0 0 19 19;' xml:space='preserve'><g><rect y='8' width='19' height='3'/><path id='Rectangle_2139_copy' d='M8,19V0h3v19H8z'/></g></svg>");
+ background-repeat: no-repeat;
+}
+#dcaedt .dcae-main-container .sdc-icon-unlocked {
+ background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='11' height='18' viewBox='0 0 11 18' id='unlocked_icon'> <metadata><?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?><x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Adobe XMP Core 5.6-c138 79.159824, 2016/09/14-01:09:01 '> <rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'> <rdf:Description rdf:about=''/> </rdf:RDF></x:xmpmeta><?xpacket end='w'?></metadata><defs> <style> .cls-1 { fill: #959595; fill-rule: evenodd; } </style> </defs> <path id='Shape_77_copy_16' data-name='Shape 77 copy 16' class='cls-1' d='M663,358a16.723,16.723,0,0,0-2.1-.009c-1.944.045-3.194,0.049-3.9,0.009v-7a1.743,1.743,0,0,1,2-2h1a1.743,1.743,0,0,1,2,2v2c0.474,0.064.343-.073,1,0,0.266,0.029,0,.279,0,0v-2a2.726,2.726,0,0,0-3-3h-1.142c-1.72-.125-2.715,1.562-2.858,3,0.088,0.009,0,9.338,0,7h0a1.891,1.891,0,0,0-2,1.689v4.461a1.823,1.823,0,0,0,1.775,1.85h7.448A1.823,1.823,0,0,0,665,364.15v-4.461A2.018,2.018,0,0,0,663,358Zm1.05,6.15a0.827,0.827,0,0,1-.8.836H655.8a0.827,0.827,0,0,1-.8-0.836l0-4.15a1.164,1.164,0,0,1,.8-1.147h7.448A1.129,1.129,0,0,1,664,360Z' transform='translate(-654 -348)'/></svg>");
+ background-repeat: no-repeat;
+}
+#dcaedt .dcae-main-container .sdc-icon-vendor {
+ background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 53 47' id='vendor_icon'><title>vendor</title><g id='Layer_2' data-name='Layer 2'><g id='vlm_icon' data-name='vlm icon'><path d='M49,7,38.5,7V5.92A5.92,5.92,0,0,0,32.58,0H20.42A5.92,5.92,0,0,0,14.5,5.92V7.15L4,7.2a3.8,3.8,0,0,0-4,3.5V43.5C0,45.4,2,47,4.2,47L49,46.8a3.8,3.8,0,0,0,4-3.5V10.5A3.8,3.8,0,0,0,49,7ZM16.5,5.92A3.92,3.92,0,0,1,20.42,2H32.58A3.92,3.92,0,0,1,36.5,5.92V7.06l-20,.09ZM2,10.8A1.9,1.9,0,0,1,4,9l45-.2a1.9,1.9,0,0,1,2,1.8v8.87L32.94,24.18a6.49,6.49,0,0,0-12.89,0L2,19.51V10.8ZM31,25a4.5,4.5,0,1,1-4.5-4.5A4.5,4.5,0,0,1,31,25ZM49,45,4,45.2A1.9,1.9,0,0,1,2,43.4V21.57l18.13,4.73a6.5,6.5,0,0,0,12.74,0L51,21.53V43.21A1.9,1.9,0,0,1,49,45Z'/></g></g></svg>");
+ background-repeat: no-repeat;
+}
+#dcaedt .dcae-main-container .sdc-icon-vlm {
+ background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 45 53'><title>vlm_new_icon</title><g id='Layer_2' data-name='Layer 2'><g id='vlm_icon' data-name='vlm icon'><path d='M41,2a2,2,0,0,1,2,2l.19,45a2,2,0,0,1-2,2H4a2,2,0,0,1-2-2L1.81,4a2,2,0,0,1,2-2H41m-.15-2H4A4.2,4.2,0,0,0,0,4.24L.19,49a4,4,0,0,0,4,4H41a4,4,0,0,0,4-4L44.81,4a4,4,0,0,0-4-4Z'/><rect x='14' y='11' width='17' height='2'/><rect x='14' y='18' width='10' height='2'/><polygon points='20.56 38.85 13.87 33.14 15.16 31.62 20.39 36.08 29.08 26.63 30.55 27.98 20.56 38.85'/></g></g></svg>");
+ background-repeat: no-repeat;
+}
+#dcaedt .dcae-main-container .sdc-icon-vsp {
+ background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 59.5 40' id='vsp_icon'><title>vsp_new_icon</title><g id='Layer_2' data-name='Layer 2'><g id='vlm_icon' data-name='vlm icon'><path d='M58.28,30.74c-1.49-1.82-3-2.7-4.67-2.74a8.5,8.5,0,0,0-16.22-2.44,6.93,6.93,0,0,0-4.06.66A7.23,7.23,0,0,0,36.42,40H53.5a6,6,0,0,0,6-6A5.18,5.18,0,0,0,58.28,30.74ZM53.5,38H36.42a5.25,5.25,0,0,1-5.21-5.91,5.32,5.32,0,0,1,3-4.06,5,5,0,0,1,2.21-.53,5.25,5.25,0,0,1,1.35.18l.92.24L39,27A6.5,6.5,0,0,1,51.67,29v1.3l1.17-.2c1-.17,2.17-.17,3.91,2a3.18,3.18,0,0,1,.76,2A4,4,0,0,1,53.5,38Z'/><path d='M49,0,4,.17A3.79,3.79,0,0,0,0,3.69V7.94H0v2H0V36.31C0,38.35,2,40,4.25,40l20.84-.08a1,1,0,0,0,0-1.92L4,38.08a1.89,1.89,0,0,1-2-1.76V10H51v7a1,1,0,0,0,2,0V3.53A3.79,3.79,0,0,0,49,0ZM2,8V3.76A1.89,1.89,0,0,1,4,2l45-.16a1.89,1.89,0,0,1,2,1.76V8Z'/></g></g></svg>");
+ background-repeat: no-repeat;
+}
+#dcaedt .dcae-main-container .svg-icon.purple {
+ fill: #9063cd;
+}
+#dcaedt .dcae-main-container .svg-icon.purple-hover {
+ fill: #9063cd;
+}
+#dcaedt .dcae-main-container .svg-icon.purple-hover:hover {
+ fill: #caa2dd;
+}
+#dcaedt .dcae-main-container .svg-icon.blue {
+ fill: #009fdb;
+}
+#dcaedt .dcae-main-container .svg-icon.blue-hover {
+ fill: #009fdb;
+}
+#dcaedt .dcae-main-container .svg-icon.blue-hover:hover {
+ fill: #71c5e8;
+}
+#dcaedt .dcae-main-container .svg-icon.gray {
+ fill: #959595;
+}
+#dcaedt .dcae-main-container .svg-icon.gray-hover {
+ fill: #000000;
+}
+#dcaedt .dcae-main-container .svg-icon.gray-hover:hover {
+ fill: #d2d2d2;
+}
+#dcaedt .dcae-main-container .svg-icon.black {
+ fill: #000000;
+}
+#dcaedt .dcae-main-container .svg-icon.black-hover {
+ fill: #000000;
+}
+#dcaedt .dcae-main-container .svg-icon.black-hover:hover {
+ fill: #d2d2d2;
+}
+#dcaedt .dcae-main-container .sdc-tile,
+#dcaedt .dcae-main-container .sdc-tile-catalog {
+ box-sizing: border-box;
+ background-color: #ffffff;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ padding: 10px;
+ cursor: pointer;
+ border: 1px solid #eaeaea;
+ box-shadow: 0.5px 0.8px 4px 0 rgba(24, 24, 25, 0.05);
+}
+#dcaedt .dcae-main-container .sdc-tile:active,
+#dcaedt .dcae-main-container .sdc-tile-catalog:active {
+ border: 1px solid #71c5e8;
+}
+#dcaedt .dcae-main-container .sdc-tile:hover,
+#dcaedt .dcae-main-container .sdc-tile-catalog:hover {
+ box-shadow: 0.3px 5px 12.8px 1.3px rgba(24, 24, 25, 0.15);
+ border: 1px solid #d2d2d2;
+}
+#dcaedt .dcae-main-container .sdc-tile .sdc-tile-header,
+#dcaedt .dcae-main-container .sdc-tile-catalog .sdc-tile-header {
+ position: relative;
+ -ms-flex-negative: 0;
+ flex-shrink: 0;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: start;
+ -ms-flex-align: start;
+ align-items: flex-start;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column;
+}
+#dcaedt .dcae-main-container .sdc-tile .sdc-tile-content,
+#dcaedt .dcae-main-container .sdc-tile-catalog .sdc-tile-content {
+ position: relative;
+ -webkit-box-flex: 1;
+ -ms-flex: 1;
+ flex: 1;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: start;
+ -ms-flex-align: start;
+ align-items: flex-start;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ overflow: auto;
+ -webkit-box-pack: justify;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+}
+#dcaedt .dcae-main-container .sdc-tile .sdc-tile-footer,
+#dcaedt .dcae-main-container .sdc-tile-catalog .sdc-tile-footer {
+ position: relative;
+ -ms-flex-negative: 0;
+ flex-shrink: 0;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: start;
+ -ms-flex-align: start;
+ align-items: flex-start;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column;
+}
+#dcaedt .dcae-main-container .sdc-tile-catalog {
+ width: 204px;
+ height: 200px;
+}
+#dcaedt .dcae-main-container .sdc-tile-catalog .sdc-tile-header {
+ line-height: 16px;
+}
+#dcaedt .dcae-main-container .sdc-tile-catalog .sdc-tile-header .sdc-tile-header-type {
+ font-size: 16px;
+ text-transform: uppercase;
+}
+#dcaedt .dcae-main-container .sdc-tile-catalog .sdc-tile-header .sdc-tile-header-type.purple {
+ color: #9063cd;
+}
+#dcaedt .dcae-main-container .sdc-tile-catalog .sdc-tile-header .sdc-tile-header-type.blue {
+ color: #009fdb;
+}
+#dcaedt .dcae-main-container .sdc-tile-catalog .sdc-tile-content .sdc-tile-content-icon {
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ width: 100%;
+ padding-top: 25px;
+}
+#dcaedt .dcae-main-container .sdc-tile-catalog .sdc-tile-content .sdc-tile-content-icon svg {
+ width: 60px;
+ height: 40px;
+}
+#dcaedt .dcae-main-container .sdc-tile-catalog .sdc-tile-content .sdc-tile-content-info {
+ padding-bottom: 4px;
+ width: 180px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ width: auto;
+ white-space: nowrap;
+ display: inline-block;
+ max-width: 178px;
+}
+#dcaedt .dcae-main-container .sdc-tile-catalog .sdc-tile-content .sdc-tile-content-info .sdc-tile-content-info-vendor-name {
+ color: #959595;
+ line-height: 12px;
+}
+#dcaedt .dcae-main-container .sdc-tile-catalog .sdc-tile-content .sdc-tile-content-info .sdc-tile-content-info-item-name {
+ color: #191919;
+}
+#dcaedt .dcae-main-container .sdc-tile-catalog .sdc-tile-content .sdc-tile-content-info .sdc-tile-content-info-version-info {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-pack: justify;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+}
+#dcaedt .dcae-main-container .sdc-tile-catalog .sdc-tile-footer {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ border-top: 1px solid #eaeaea;
+ padding: 0;
+ width: 180px;
+ height: 20px;
+}
+#dcaedt .dcae-main-container .sdc-tile-catalog .sdc-tile-footer .sdc-tile-footer-text {
+ -webkit-box-flex: 1;
+ -ms-flex: 1;
+ flex: 1;
+ padding-top: 5px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ width: auto;
+ white-space: nowrap;
+ display: inline-block;
+ max-width: 164px;
+}
+#dcaedt .dcae-main-container .sdc-tile-catalog .sdc-tile-footer .sdc-tile-footer-icon {
+ -ms-flex-negative: 1;
+ flex-shrink: 1;
+ overflow: hidden;
+ padding-top: 5px;
+}
+#dcaedt .dcae-main-container .sdc-tile-catalog .sdc-tile-footer .sdc-tile-footer-icon svg {
+ width: 16px;
+ height: 20px;
+}
+#dcaedt .dcae-main-container .sdc-main-container {
+ width: 100%;
+ height: 100%;
+}
+#dcaedt .dcae-main-container .f-color .a {
+ color: #009fdb;
+}
+#dcaedt .dcae-main-container .f-color .b {
+ color: #056bae;
+}
+#dcaedt .dcae-main-container .f-color .c {
+ color: #71c5eb;
+}
+#dcaedt .dcae-main-container .f-color .d {
+ color: #4ca90c;
+}
+#dcaedt .dcae-main-container .f-color .e {
+ color: #007a3e;
+}
+#dcaedt .dcae-main-container .f-color .f {
+ color: #b5bd00;
+}
+#dcaedt .dcae-main-container .f-color .g {
+ color: #ea7499;
+}
+#dcaedt .dcae-main-container .f-color .h {
+ color: #ffb81c;
+}
+#dcaedt .dcae-main-container .f-color .i {
+ color: #702f8a;
+}
+#dcaedt .dcae-main-container .f-color .j {
+ color: #9063cd;
+}
+#dcaedt .dcae-main-container .f-color .k {
+ color: #caa2dd;
+}
+#dcaedt .dcae-main-container .f-color .l {
+ color: #000000;
+}
+#dcaedt .dcae-main-container .f-color .m {
+ color: #5a5a5a;
+}
+#dcaedt .dcae-main-container .f-color .n {
+ color: #959595;
+}
+#dcaedt .dcae-main-container .f-color .o {
+ color: #d2d2d2;
+}
+#dcaedt .dcae-main-container .f-color .p {
+ color: #ffffff;
+}
+#dcaedt .dcae-main-container .f-color .q {
+ color: #cf2a2a;
+}
+#dcaedt .dcae-main-container .f-color .r {
+ color: #f2f2f2;
+}
+#dcaedt .dcae-main-container .f-color .s {
+ color: #191919;
+}
+#dcaedt .dcae-main-container .f-color .t {
+ color: #f8f8f8;
+}
+#dcaedt .dcae-main-container .f-color .u {
+ color: #eaeaea;
+}
+#dcaedt .dcae-main-container .f-color .v {
+ color: #e6f6fb;
+}
+#dcaedt .dcae-main-container .f-type ._36 {
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+}
+#dcaedt .dcae-main-container .f-type ._24 {
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .dcae-main-container .f-type ._18_r {
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .f-type ._18_m {
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .f-type ._16_r {
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .f-type ._16_m {
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .f-type ._14_r {
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .f-type ._14_m {
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .f-type ._14_i {
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .f-type ._13_r {
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .f-type ._13_m {
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .f-type ._13_i {
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .f-type ._12_r {
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .f-type ._12_m {
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .f-type ._12_i {
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .a_36 {
+ color: #009fdb;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+}
+#dcaedt .dcae-main-container .a_24 {
+ color: #009fdb;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .dcae-main-container .a_18_r {
+ color: #009fdb;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .a_18_m {
+ color: #009fdb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .a_16_r {
+ color: #009fdb;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .a_16_m {
+ color: #009fdb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .a_14_r {
+ color: #009fdb;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .a_14_m {
+ color: #009fdb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .a_14_i {
+ color: #009fdb;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .a_13_r {
+ color: #009fdb;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .a_13_m {
+ color: #009fdb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .a_13_i {
+ color: #009fdb;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .a_12_r {
+ color: #009fdb;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .a_12_m {
+ color: #009fdb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .a_12_i {
+ color: #009fdb;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .b_36 {
+ color: #056bae;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+}
+#dcaedt .dcae-main-container .b_24 {
+ color: #056bae;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .dcae-main-container .b_18_r {
+ color: #056bae;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .b_18_m {
+ color: #056bae;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .b_16_r {
+ color: #056bae;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .b_16_m {
+ color: #056bae;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .b_14_r {
+ color: #056bae;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .b_14_m {
+ color: #056bae;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .b_14_i {
+ color: #056bae;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .b_13_r {
+ color: #056bae;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .b_13_m {
+ color: #056bae;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .b_13_i {
+ color: #056bae;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .b_12_r {
+ color: #056bae;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .b_12_m {
+ color: #056bae;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .b_12_i {
+ color: #056bae;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .c_36 {
+ color: #71c5eb;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+}
+#dcaedt .dcae-main-container .c_24 {
+ color: #71c5eb;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .dcae-main-container .c_18_r {
+ color: #71c5eb;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .c_18_m {
+ color: #71c5eb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .c_16_r {
+ color: #71c5eb;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .c_16_m {
+ color: #71c5eb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .c_14_r {
+ color: #71c5eb;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .c_14_m {
+ color: #71c5eb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .c_14_i {
+ color: #71c5eb;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .c_13_r {
+ color: #71c5eb;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .c_13_m {
+ color: #71c5eb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .c_13_i {
+ color: #71c5eb;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .c_12_r {
+ color: #71c5eb;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .c_12_m {
+ color: #71c5eb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .c_12_i {
+ color: #71c5eb;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .d_36 {
+ color: #4ca90c;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+}
+#dcaedt .dcae-main-container .d_24 {
+ color: #4ca90c;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .dcae-main-container .d_18_r {
+ color: #4ca90c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .d_18_m {
+ color: #4ca90c;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .d_16_r {
+ color: #4ca90c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .d_16_m {
+ color: #4ca90c;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .d_14_r {
+ color: #4ca90c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .d_14_m {
+ color: #4ca90c;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .d_14_i {
+ color: #4ca90c;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .d_13_r {
+ color: #4ca90c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .d_13_m {
+ color: #4ca90c;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .d_13_i {
+ color: #4ca90c;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .d_12_r {
+ color: #4ca90c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .d_12_m {
+ color: #4ca90c;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .d_12_i {
+ color: #4ca90c;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .e_36 {
+ color: #007a3e;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+}
+#dcaedt .dcae-main-container .e_24 {
+ color: #007a3e;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .dcae-main-container .e_18_r {
+ color: #007a3e;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .e_18_m {
+ color: #007a3e;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .e_16_r {
+ color: #007a3e;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .e_16_m {
+ color: #007a3e;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .e_14_r {
+ color: #007a3e;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .e_14_m {
+ color: #007a3e;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .e_14_i {
+ color: #007a3e;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .e_13_r {
+ color: #007a3e;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .e_13_m {
+ color: #007a3e;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .e_13_i {
+ color: #007a3e;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .e_12_r {
+ color: #007a3e;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .e_12_m {
+ color: #007a3e;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .e_12_i {
+ color: #007a3e;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .f_36 {
+ color: #b5bd00;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+}
+#dcaedt .dcae-main-container .f_24 {
+ color: #b5bd00;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .dcae-main-container .f_18_r {
+ color: #b5bd00;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .f_18_m {
+ color: #b5bd00;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .f_16_r {
+ color: #b5bd00;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .f_16_m {
+ color: #b5bd00;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .f_14_r {
+ color: #b5bd00;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .f_14_m {
+ color: #b5bd00;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .f_14_i {
+ color: #b5bd00;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .f_13_r {
+ color: #b5bd00;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .f_13_m {
+ color: #b5bd00;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .f_13_i {
+ color: #b5bd00;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .f_12_r {
+ color: #b5bd00;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .f_12_m {
+ color: #b5bd00;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .f_12_i {
+ color: #b5bd00;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .g_36 {
+ color: #ea7499;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+}
+#dcaedt .dcae-main-container .g_24 {
+ color: #ea7499;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .dcae-main-container .g_18_r {
+ color: #ea7499;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .g_18_m {
+ color: #ea7499;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .g_16_r {
+ color: #ea7499;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .g_16_m {
+ color: #ea7499;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .g_14_r {
+ color: #ea7499;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .g_14_m {
+ color: #ea7499;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .g_14_i {
+ color: #ea7499;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .g_13_r {
+ color: #ea7499;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .g_13_m {
+ color: #ea7499;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .g_13_i {
+ color: #ea7499;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .g_12_r {
+ color: #ea7499;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .g_12_m {
+ color: #ea7499;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .g_12_i {
+ color: #ea7499;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .h_36 {
+ color: #ffb81c;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+}
+#dcaedt .dcae-main-container .h_24 {
+ color: #ffb81c;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .dcae-main-container .h_18_r {
+ color: #ffb81c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .h_18_m {
+ color: #ffb81c;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .h_16_r {
+ color: #ffb81c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .h_16_m {
+ color: #ffb81c;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .h_14_r {
+ color: #ffb81c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .h_14_m {
+ color: #ffb81c;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .h_14_i {
+ color: #ffb81c;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .h_13_r {
+ color: #ffb81c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .h_13_m {
+ color: #ffb81c;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .h_13_i {
+ color: #ffb81c;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .h_12_r {
+ color: #ffb81c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .h_12_m {
+ color: #ffb81c;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .h_12_i {
+ color: #ffb81c;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .i_36 {
+ color: #702f8a;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+}
+#dcaedt .dcae-main-container .i_24 {
+ color: #702f8a;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .dcae-main-container .i_18_r {
+ color: #702f8a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .i_18_m {
+ color: #702f8a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .i_16_r {
+ color: #702f8a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .i_16_m {
+ color: #702f8a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .i_14_r {
+ color: #702f8a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .i_14_m {
+ color: #702f8a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .i_14_i {
+ color: #702f8a;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .i_13_r {
+ color: #702f8a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .i_13_m {
+ color: #702f8a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .i_13_i {
+ color: #702f8a;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .i_12_r {
+ color: #702f8a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .i_12_m {
+ color: #702f8a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .i_12_i {
+ color: #702f8a;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .j_36 {
+ color: #9063cd;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+}
+#dcaedt .dcae-main-container .j_24 {
+ color: #9063cd;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .dcae-main-container .j_18_r {
+ color: #9063cd;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .j_18_m {
+ color: #9063cd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .j_16_r {
+ color: #9063cd;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .j_16_m {
+ color: #9063cd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .j_14_r {
+ color: #9063cd;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .j_14_m {
+ color: #9063cd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .j_14_i {
+ color: #9063cd;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .j_13_r {
+ color: #9063cd;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .j_13_m {
+ color: #9063cd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .j_13_i {
+ color: #9063cd;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .j_12_r {
+ color: #9063cd;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .j_12_m {
+ color: #9063cd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .j_12_i {
+ color: #9063cd;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .k_36 {
+ color: #caa2dd;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+}
+#dcaedt .dcae-main-container .k_24 {
+ color: #caa2dd;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .dcae-main-container .k_18_r {
+ color: #caa2dd;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .k_18_m {
+ color: #caa2dd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .k_16_r {
+ color: #caa2dd;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .k_16_m {
+ color: #caa2dd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .k_14_r {
+ color: #caa2dd;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .k_14_m {
+ color: #caa2dd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .k_14_i {
+ color: #caa2dd;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .k_13_r {
+ color: #caa2dd;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .k_13_m {
+ color: #caa2dd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .k_13_i {
+ color: #caa2dd;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .k_12_r {
+ color: #caa2dd;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .k_12_m {
+ color: #caa2dd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .k_12_i {
+ color: #caa2dd;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .l_36 {
+ color: #000000;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+}
+#dcaedt .dcae-main-container .l_24 {
+ color: #000000;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .dcae-main-container .l_18_r {
+ color: #000000;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .l_18_m {
+ color: #000000;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .l_16_r {
+ color: #000000;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .l_16_m {
+ color: #000000;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .l_14_r {
+ color: #000000;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .l_14_m {
+ color: #000000;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .l_14_i {
+ color: #000000;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .l_13_r {
+ color: #000000;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .l_13_m {
+ color: #000000;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .l_13_i {
+ color: #000000;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .l_12_r {
+ color: #000000;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .l_12_m {
+ color: #000000;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .l_12_i {
+ color: #000000;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .m_36 {
+ color: #5a5a5a;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+}
+#dcaedt .dcae-main-container .m_24 {
+ color: #5a5a5a;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .dcae-main-container .m_18_r {
+ color: #5a5a5a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .m_18_m {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .m_16_r {
+ color: #5a5a5a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .m_16_m {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .m_14_r {
+ color: #5a5a5a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .m_14_m {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .m_14_i {
+ color: #5a5a5a;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .m_13_r {
+ color: #5a5a5a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .m_13_m {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .m_13_i {
+ color: #5a5a5a;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .m_12_r {
+ color: #5a5a5a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .m_12_m {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .m_12_i {
+ color: #5a5a5a;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .n_36 {
+ color: #959595;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+}
+#dcaedt .dcae-main-container .n_24 {
+ color: #959595;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .dcae-main-container .n_18_r {
+ color: #959595;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .n_18_m {
+ color: #959595;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .n_16_r {
+ color: #959595;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .n_16_m {
+ color: #959595;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .n_14_r {
+ color: #959595;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .n_14_m {
+ color: #959595;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .n_14_i {
+ color: #959595;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .n_13_r {
+ color: #959595;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .n_13_m {
+ color: #959595;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .n_13_i {
+ color: #959595;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .n_12_r {
+ color: #959595;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .n_12_m {
+ color: #959595;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .n_12_i {
+ color: #959595;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .o_36 {
+ color: #d2d2d2;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+}
+#dcaedt .dcae-main-container .o_24 {
+ color: #d2d2d2;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .dcae-main-container .o_18_r {
+ color: #d2d2d2;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .o_18_m {
+ color: #d2d2d2;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .o_16_r {
+ color: #d2d2d2;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .o_16_m {
+ color: #d2d2d2;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .o_14_r {
+ color: #d2d2d2;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .o_14_m {
+ color: #d2d2d2;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .o_14_i {
+ color: #d2d2d2;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .o_13_r {
+ color: #d2d2d2;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .o_13_m {
+ color: #d2d2d2;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .o_13_i {
+ color: #d2d2d2;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .o_12_r {
+ color: #d2d2d2;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .o_12_m {
+ color: #d2d2d2;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .o_12_i {
+ color: #d2d2d2;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .p_36 {
+ color: #ffffff;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+}
+#dcaedt .dcae-main-container .p_24 {
+ color: #ffffff;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .dcae-main-container .p_18_r {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .p_18_m {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .p_16_r {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .p_16_m {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .p_14_r {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .p_14_m {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .p_14_i {
+ color: #ffffff;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .p_13_r {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .p_13_m {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .p_13_i {
+ color: #ffffff;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .p_12_r {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .p_12_m {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .p_12_i {
+ color: #ffffff;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .q_36 {
+ color: #cf2a2a;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+}
+#dcaedt .dcae-main-container .q_24 {
+ color: #cf2a2a;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .dcae-main-container .q_18_r {
+ color: #cf2a2a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .q_18_m {
+ color: #cf2a2a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .q_16_r {
+ color: #cf2a2a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .q_16_m {
+ color: #cf2a2a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .q_14_r {
+ color: #cf2a2a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .q_14_m {
+ color: #cf2a2a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .q_14_i {
+ color: #cf2a2a;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .q_13_r {
+ color: #cf2a2a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .q_13_m {
+ color: #cf2a2a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .q_13_i {
+ color: #cf2a2a;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .q_12_r {
+ color: #cf2a2a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .q_12_m {
+ color: #cf2a2a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .q_12_i {
+ color: #cf2a2a;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .r_36 {
+ color: #f2f2f2;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+}
+#dcaedt .dcae-main-container .r_24 {
+ color: #f2f2f2;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .dcae-main-container .r_18_r {
+ color: #f2f2f2;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .r_18_m {
+ color: #f2f2f2;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .r_16_r {
+ color: #f2f2f2;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .r_16_m {
+ color: #f2f2f2;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .r_14_r {
+ color: #f2f2f2;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .r_14_m {
+ color: #f2f2f2;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .r_14_i {
+ color: #f2f2f2;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .r_13_r {
+ color: #f2f2f2;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .r_13_m {
+ color: #f2f2f2;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .r_13_i {
+ color: #f2f2f2;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .r_12_r {
+ color: #f2f2f2;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .r_12_m {
+ color: #f2f2f2;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .r_12_i {
+ color: #f2f2f2;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .s_36 {
+ color: #191919;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+}
+#dcaedt .dcae-main-container .s_24 {
+ color: #191919;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .dcae-main-container .s_18_r {
+ color: #191919;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .s_18_m {
+ color: #191919;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .s_16_r {
+ color: #191919;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .s_16_m {
+ color: #191919;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .s_14_r {
+ color: #191919;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .s_14_m {
+ color: #191919;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .s_14_i {
+ color: #191919;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .s_13_r {
+ color: #191919;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .s_13_m {
+ color: #191919;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .s_13_i {
+ color: #191919;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .s_12_r {
+ color: #191919;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .s_12_m {
+ color: #191919;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .s_12_i {
+ color: #191919;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .t_36 {
+ color: #f8f8f8;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+}
+#dcaedt .dcae-main-container .t_24 {
+ color: #f8f8f8;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .dcae-main-container .t_18_r {
+ color: #f8f8f8;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .t_18_m {
+ color: #f8f8f8;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .t_16_r {
+ color: #f8f8f8;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .t_16_m {
+ color: #f8f8f8;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .t_14_r {
+ color: #f8f8f8;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .t_14_m {
+ color: #f8f8f8;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .t_14_i {
+ color: #f8f8f8;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .t_13_r {
+ color: #f8f8f8;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .t_13_m {
+ color: #f8f8f8;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .t_13_i {
+ color: #f8f8f8;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .t_12_r {
+ color: #f8f8f8;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .t_12_m {
+ color: #f8f8f8;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .t_12_i {
+ color: #f8f8f8;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .u_36 {
+ color: #eaeaea;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+}
+#dcaedt .dcae-main-container .u_24 {
+ color: #eaeaea;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .dcae-main-container .u_18_r {
+ color: #eaeaea;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .u_18_m {
+ color: #eaeaea;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .u_16_r {
+ color: #eaeaea;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .u_16_m {
+ color: #eaeaea;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .u_14_r {
+ color: #eaeaea;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .u_14_m {
+ color: #eaeaea;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .u_14_i {
+ color: #eaeaea;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .u_13_r {
+ color: #eaeaea;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .u_13_m {
+ color: #eaeaea;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .u_13_i {
+ color: #eaeaea;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .u_12_r {
+ color: #eaeaea;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .u_12_m {
+ color: #eaeaea;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .u_12_i {
+ color: #eaeaea;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .v_36 {
+ color: #e6f6fb;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+}
+#dcaedt .dcae-main-container .v_24 {
+ color: #e6f6fb;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .dcae-main-container .v_18_r {
+ color: #e6f6fb;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .v_18_m {
+ color: #e6f6fb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .v_16_r {
+ color: #e6f6fb;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .v_16_m {
+ color: #e6f6fb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .v_14_r {
+ color: #e6f6fb;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .v_14_m {
+ color: #e6f6fb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .v_14_i {
+ color: #e6f6fb;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .v_13_r {
+ color: #e6f6fb;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .v_13_m {
+ color: #e6f6fb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .v_13_i {
+ color: #e6f6fb;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .v_12_r {
+ color: #e6f6fb;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .v_12_m {
+ color: #e6f6fb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .v_12_i {
+ color: #e6f6fb;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .disabled {
+ opacity: 0.4 !important;
+ cursor: auto;
+ background-color: transparent;
+ pointer-events: none;
+}
+#dcaedt .dcae-main-container .hideme {
+ visibility: hidden;
+}
+#dcaedt .dcae-main-container .view-mode {
+ opacity: 1;
+ border: solid 1px #d2d2d2;
+ background-color: #f8f8f8;
+ cursor: auto;
+}
+#dcaedt .dcae-main-container .view-mode + .view-mode:not(.icons-text),
+#dcaedt .dcae-main-container .view-mode.no-border-top {
+ border-top: none;
+}
+#dcaedt .dcae-main-container .no-pointer-events {
+ pointer-events: none;
+}
+#dcaedt .dcae-main-container .unselectable {
+ -moz-user-select: -moz-none;
+ -webkit-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+#dcaedt .dcae-main-container .selectable {
+ -moz-user-select: text;
+ -webkit-user-select: text;
+ -ms-user-select: text;
+ user-select: text;
+}
+#dcaedt .dcae-main-container .font-color .a {
+ color: #3b7b9b;
+}
+#dcaedt .dcae-main-container .font-color .b {
+ color: #666666;
+}
+#dcaedt .dcae-main-container .font-color .c {
+ color: #ffffff;
+}
+#dcaedt .dcae-main-container .font-color .d {
+ color: #1d9a95;
+}
+#dcaedt .dcae-main-container .font-color .e {
+ color: #cdcdcd;
+}
+#dcaedt .dcae-main-container .font-color .f {
+ color: #506472;
+}
+#dcaedt .dcae-main-container .font-color .g {
+ color: #263d4d;
+}
+#dcaedt .dcae-main-container .font-color .h {
+ color: #da1f3d;
+}
+#dcaedt .dcae-main-container .font-color .i {
+ color: #445663;
+}
+#dcaedt .dcae-main-container .font-color .j {
+ color: #D3DBE0;
+}
+#dcaedt .dcae-main-container .font-color .k {
+ color: #e1e7ec;
+}
+#dcaedt .dcae-main-container .font-color .l {
+ color: #1e9a33;
+}
+#dcaedt .dcae-main-container .font-color .m {
+ color: #a8b3b9;
+}
+#dcaedt .dcae-main-container .font-color .n {
+ color: #ECEFF3;
+}
+#dcaedt .dcae-main-container .font-color .o {
+ color: #798996;
+}
+#dcaedt .dcae-main-container .font-color .p {
+ color: #8c8c8c;
+}
+#dcaedt .dcae-main-container .font-color .q {
+ color: #b5b5b5;
+}
+#dcaedt .dcae-main-container .font-color .r {
+ color: #e85858;
+}
+#dcaedt .dcae-main-container .font-color .s {
+ color: #000000;
+}
+#dcaedt .dcae-main-container .font-color .t {
+ color: #3196c9;
+}
+#dcaedt .dcae-main-container .font-color .u {
+ color: #3196c9;
+}
+#dcaedt .dcae-main-container .font-color .v {
+ color: #3196c9;
+}
+#dcaedt .dcae-main-container .font-color .w {
+ color: #3196c9;
+}
+#dcaedt .dcae-main-container .font-color .x {
+ color: #3196c9;
+}
+#dcaedt .dcae-main-container .font-color .y {
+ color: #3196c9;
+}
+#dcaedt .dcae-main-container .font-color .z {
+ color: #28bd6e;
+}
+#dcaedt .dcae-main-container .font-color .zz {
+ color: #93deb6;
+}
+#dcaedt .dcae-main-container .font-color .hover .a {
+ color: #2d5e76;
+}
+#dcaedt .dcae-main-container .font-color .hover .b {
+ color: #4d4d4d;
+}
+#dcaedt .dcae-main-container .font-color .hover .c {
+ color: #e6e6e6;
+}
+#dcaedt .dcae-main-container .font-color .hover .d {
+ color: #156f6b;
+}
+#dcaedt .dcae-main-container .font-color .hover .e {
+ color: #b4b4b4;
+}
+#dcaedt .dcae-main-container .font-color .hover .f {
+ color: #3b4a54;
+}
+#dcaedt .dcae-main-container .font-color .hover .g {
+ color: #15222b;
+}
+#dcaedt .dcae-main-container .font-color .hover .h {
+ color: #ad1931;
+}
+#dcaedt .dcae-main-container .font-color .hover .i {
+ color: #2f3c45;
+}
+#dcaedt .dcae-main-container .font-color .hover .j {
+ color: #b5c3cb;
+}
+#dcaedt .dcae-main-container .font-color .hover .k {
+ color: #c2ced8;
+}
+#dcaedt .dcae-main-container .font-color .hover .l {
+ color: #166f25;
+}
+#dcaedt .dcae-main-container .font-color .hover .m {
+ color: #8c9aa2;
+}
+#dcaedt .dcae-main-container .font-color .hover .n {
+ color: #cdd5df;
+}
+#dcaedt .dcae-main-container .font-color .hover .o {
+ color: #616f7b;
+}
+#dcaedt .dcae-main-container .font-color .hover .p {
+ color: #737373;
+}
+#dcaedt .dcae-main-container .font-color .hover .q {
+ color: #9c9c9c;
+}
+#dcaedt .dcae-main-container .font-color .hover .r {
+ color: #e22b2b;
+}
+#dcaedt .dcae-main-container .font-color .hover .s {
+ color: #000000;
+}
+#dcaedt .dcae-main-container .font-color .hover .t {
+ color: #2777a0;
+}
+#dcaedt .dcae-main-container .font-color .hover .u {
+ color: #1a804a;
+}
+#dcaedt .dcae-main-container .font-color .hover .v {
+ color: #115b58;
+}
+#dcaedt .dcae-main-container .font-color .hover .w {
+ color: #232d34;
+}
+#dcaedt .dcae-main-container .font-color .hover .x {
+ color: #9c172c;
+}
+#dcaedt .dcae-main-container .font-color .hover .y {
+ color: #53606a;
+}
+#dcaedt .dcae-main-container .font-color .hover .z {
+ color: #1f9356;
+}
+#dcaedt .dcae-main-container .font-color .hover .zz {
+ color: #6cd29c;
+}
+#dcaedt .dcae-main-container .font-type ._1 {
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .font-type ._2 {
+ font-family: omnes-regular, sans-serif;
+ font-size: 20px;
+}
+#dcaedt .dcae-main-container .font-type ._3 {
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .font-type ._4 {
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .font-type ._5 {
+ font-family: omnes-medium, sans-serif;
+ font-size: 30px;
+}
+#dcaedt .dcae-main-container .font-type ._6 {
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .font-type ._7 {
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .font-type ._8 {
+ font-family: omnes-regular, sans-serif;
+ font-size: 11px;
+}
+#dcaedt .dcae-main-container .font-type ._9 {
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .font-type ._10 {
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .font-type ._11 {
+ font-family: omnes-medium, sans-serif;
+ font-size: 20px;
+}
+#dcaedt .dcae-main-container .font-type ._12 {
+ font-family: omnes-medium, sans-serif;
+ font-size: 17px;
+}
+#dcaedt .dcae-main-container .font-type ._13 {
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .font-type ._14 {
+ font-family: omnes-medium, sans-serif;
+ font-size: 11px;
+}
+#dcaedt .dcae-main-container .font-type ._15 {
+ font-family: omnes-medium, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .dcae-main-container .font-type ._16 {
+ font-family: omnes-regular, sans-serif;
+ font-size: 10px;
+}
+#dcaedt .dcae-main-container .font-type ._17 {
+ font-family: omnes-medium, sans-serif;
+ font-size: 15px;
+}
+#dcaedt .dcae-main-container .font-type ._18 {
+ font-family: omnes-regular, sans-serif;
+ font-size: 15px;
+}
+#dcaedt .dcae-main-container .font-type ._19 {
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .a_1 {
+ color: #3b7b9b;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .a_2 {
+ color: #3b7b9b;
+ font-family: omnes-regular, sans-serif;
+ font-size: 20px;
+}
+#dcaedt .dcae-main-container .a_3 {
+ color: #3b7b9b;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .a_4 {
+ color: #3b7b9b;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .a_5 {
+ color: #3b7b9b;
+ font-family: omnes-medium, sans-serif;
+ font-size: 30px;
+}
+#dcaedt .dcae-main-container .a_6 {
+ color: #3b7b9b;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .a_7 {
+ color: #3b7b9b;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .a_8 {
+ color: #3b7b9b;
+ font-family: omnes-regular, sans-serif;
+ font-size: 11px;
+}
+#dcaedt .dcae-main-container .a_9 {
+ color: #3b7b9b;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .a_10 {
+ color: #3b7b9b;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .a_15 {
+ color: #3b7b9b;
+ font-family: omnes-medium, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .dcae-main-container .b_1 {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .b_3 {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .b_4 {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .b_5 {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 30px;
+}
+#dcaedt .dcae-main-container .b_6 {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .b_7 {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .b_9 {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .b_10 {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .b_11 {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 20px;
+}
+#dcaedt .dcae-main-container .b_13 {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .b_15 {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .dcae-main-container .b_17 {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 15px;
+}
+#dcaedt .dcae-main-container .b_19 {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .c_1 {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .c_2 {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 20px;
+}
+#dcaedt .dcae-main-container .c_3 {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .c_4 {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .c_5 {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 30px;
+}
+#dcaedt .dcae-main-container .c_6 {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .c_7 {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .c_8 {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 11px;
+}
+#dcaedt .dcae-main-container .c_9 {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .c_10 {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .c_11 {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 20px;
+}
+#dcaedt .dcae-main-container .c_15 {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .dcae-main-container .c_16 {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 10px;
+}
+#dcaedt .dcae-main-container .c_17 {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 15px;
+}
+#dcaedt .dcae-main-container .c_18 {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 15px;
+}
+#dcaedt .dcae-main-container .d_1 {
+ color: #1d9a95;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .d_2 {
+ color: #1d9a95;
+ font-family: omnes-regular, sans-serif;
+ font-size: 20px;
+}
+#dcaedt .dcae-main-container .d_3 {
+ color: #1d9a95;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .d_4 {
+ color: #1d9a95;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .d_5 {
+ color: #1d9a95;
+ font-family: omnes-medium, sans-serif;
+ font-size: 30px;
+}
+#dcaedt .dcae-main-container .d_6 {
+ color: #1d9a95;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .d_12 {
+ color: #1d9a95;
+ font-family: omnes-medium, sans-serif;
+ font-size: 17px;
+}
+#dcaedt .dcae-main-container .e_1 {
+ color: #cdcdcd;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .e_2 {
+ color: #cdcdcd;
+ font-family: omnes-regular, sans-serif;
+ font-size: 20px;
+}
+#dcaedt .dcae-main-container .e_3 {
+ color: #cdcdcd;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .e_4 {
+ color: #cdcdcd;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .e_5 {
+ color: #cdcdcd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 30px;
+}
+#dcaedt .dcae-main-container .e_6 {
+ color: #cdcdcd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .e_7 {
+ color: #cdcdcd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .f_1 {
+ color: #506472;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .f_2 {
+ color: #506472;
+ font-family: omnes-regular, sans-serif;
+ font-size: 20px;
+}
+#dcaedt .dcae-main-container .g_1 {
+ color: #263d4d;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .g_2 {
+ color: #263d4d;
+ font-family: omnes-regular, sans-serif;
+ font-size: 20px;
+}
+#dcaedt .dcae-main-container .g_3 {
+ color: #263d4d;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .g_4 {
+ color: #263d4d;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .g_5 {
+ color: #263d4d;
+ font-family: omnes-medium, sans-serif;
+ font-size: 30px;
+}
+#dcaedt .dcae-main-container .g_6 {
+ color: #263d4d;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .g_7 {
+ color: #263d4d;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .g_8 {
+ color: #263d4d;
+ font-family: omnes-regular, sans-serif;
+ font-size: 11px;
+}
+#dcaedt .dcae-main-container .g_9 {
+ color: #263d4d;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .g_10 {
+ color: #263d4d;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .g_13 {
+ color: #263d4d;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .g_14 {
+ color: #263d4d;
+ font-family: omnes-medium, sans-serif;
+ font-size: 11px;
+}
+#dcaedt .dcae-main-container .h_1 {
+ color: #da1f3d;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .h_7 {
+ color: #da1f3d;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .h_9 {
+ color: #da1f3d;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .i_1 {
+ color: #445663;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .i_6 {
+ color: #445663;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .i_11 {
+ color: #445663;
+ font-family: omnes-medium, sans-serif;
+ font-size: 20px;
+}
+#dcaedt .dcae-main-container .i_17 {
+ color: #445663;
+ font-family: omnes-medium, sans-serif;
+ font-size: 15px;
+}
+#dcaedt .dcae-main-container .l_1 {
+ color: #1e9a33;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .l_9 {
+ color: #1e9a33;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .m_4 {
+ color: #a8b3b9;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .m_7 {
+ color: #a8b3b9;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .p_1 {
+ color: #8c8c8c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .p_3 {
+ color: #8c8c8c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .p_9 {
+ color: #8c8c8c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .q_7 {
+ color: #b5b5b5;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .q_9 {
+ color: #b5b5b5;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .q_11 {
+ color: #b5b5b5;
+ font-family: omnes-medium, sans-serif;
+ font-size: 20px;
+}
+#dcaedt .dcae-main-container .r_12 {
+ color: #e85858;
+ font-family: omnes-medium, sans-serif;
+ font-size: 17px;
+}
+#dcaedt .dcae-main-container .t_1 {
+ color: #3196c9;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .t_7 {
+ color: #3196c9;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .t_15 {
+ color: #3196c9;
+ font-family: omnes-medium, sans-serif;
+ font-size: 24px;
+}
+#dcaedt .dcae-main-container .s_12 {
+ color: #000000;
+ font-family: omnes-medium, sans-serif;
+ font-size: 17px;
+}
+#dcaedt .dcae-main-container .z_9 {
+ color: #28bd6e;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .backgroundColor .a {
+ background-color: #3b7b9b;
+}
+#dcaedt .dcae-main-container .backgroundColor .b {
+ background-color: #666666;
+}
+#dcaedt .dcae-main-container .backgroundColor .c {
+ background-color: #ffffff;
+}
+#dcaedt .dcae-main-container .backgroundColor .d {
+ background-color: #1d9a95;
+}
+#dcaedt .dcae-main-container .backgroundColor .e {
+ background-color: #cdcdcd;
+}
+#dcaedt .dcae-main-container .backgroundColor .f {
+ background-color: #506472;
+}
+#dcaedt .dcae-main-container .backgroundColor .g {
+ background-color: #263d4d;
+}
+#dcaedt .dcae-main-container .backgroundColor .h {
+ background-color: #da1f3d;
+}
+#dcaedt .dcae-main-container .backgroundColor .i {
+ background-color: #445663;
+}
+#dcaedt .dcae-main-container .backgroundColor .j {
+ background-color: #D3DBE0;
+}
+#dcaedt .dcae-main-container .backgroundColor .k {
+ background-color: #e1e7ec;
+}
+#dcaedt .dcae-main-container .backgroundColor .l {
+ background-color: #1e9a33;
+}
+#dcaedt .dcae-main-container .backgroundColor .m {
+ background-color: #a8b3b9;
+}
+#dcaedt .dcae-main-container .backgroundColor .n {
+ background-color: #ECEFF3;
+}
+#dcaedt .dcae-main-container .backgroundColor .o {
+ background-color: #798996;
+}
+#dcaedt .dcae-main-container .backgroundColor .p {
+ background-color: #8c8c8c;
+}
+#dcaedt .dcae-main-container .backgroundColor .q {
+ background-color: #b5b5b5;
+}
+#dcaedt .dcae-main-container .backgroundColor .r {
+ background-color: #e85858;
+}
+#dcaedt .dcae-main-container .backgroundColor .s {
+ background-color: #000000;
+}
+#dcaedt .dcae-main-container .backgroundColor .t {
+ background-color: #3196c9;
+}
+#dcaedt .dcae-main-container .backgroundColor .u {
+ background-color: #23aa63;
+}
+#dcaedt .dcae-main-container .backgroundColor .v {
+ background-color: #198682;
+}
+#dcaedt .dcae-main-container .backgroundColor .w {
+ background-color: #384752;
+}
+#dcaedt .dcae-main-container .backgroundColor .x {
+ background-color: #c91d39;
+}
+#dcaedt .dcae-main-container .backgroundColor .y {
+ background-color: #697a87;
+}
+#dcaedt .dcae-main-container .backgroundColor .z {
+ background-color: #28bd6e;
+}
+#dcaedt .dcae-main-container .backgroundColor .zz {
+ background-color: #93deb6;
+}
+#dcaedt .dcae-main-container .backgroundColor .hover .a {
+ background-color: #2d5e76;
+}
+#dcaedt .dcae-main-container .backgroundColor .hover .b {
+ background-color: #4d4d4d;
+}
+#dcaedt .dcae-main-container .backgroundColor .hover .c {
+ background-color: #e6e6e6;
+}
+#dcaedt .dcae-main-container .backgroundColor .hover .d {
+ background-color: #156f6b;
+}
+#dcaedt .dcae-main-container .backgroundColor .hover .e {
+ background-color: #b4b4b4;
+}
+#dcaedt .dcae-main-container .backgroundColor .hover .f {
+ background-color: #3b4a54;
+}
+#dcaedt .dcae-main-container .backgroundColor .hover .g {
+ background-color: #15222b;
+}
+#dcaedt .dcae-main-container .backgroundColor .hover .h {
+ background-color: #ad1931;
+}
+#dcaedt .dcae-main-container .backgroundColor .hover .i {
+ background-color: #2f3c45;
+}
+#dcaedt .dcae-main-container .backgroundColor .hover .j {
+ background-color: #b5c3cb;
+}
+#dcaedt .dcae-main-container .backgroundColor .hover .k {
+ background-color: #c2ced8;
+}
+#dcaedt .dcae-main-container .backgroundColor .hover .l {
+ background-color: #166f25;
+}
+#dcaedt .dcae-main-container .backgroundColor .hover .m {
+ background-color: #8c9aa2;
+}
+#dcaedt .dcae-main-container .backgroundColor .hover .n {
+ background-color: #cdd5df;
+}
+#dcaedt .dcae-main-container .backgroundColor .hover .o {
+ background-color: #616f7b;
+}
+#dcaedt .dcae-main-container .backgroundColor .hover .p {
+ background-color: #737373;
+}
+#dcaedt .dcae-main-container .backgroundColor .hover .q {
+ background-color: #9c9c9c;
+}
+#dcaedt .dcae-main-container .backgroundColor .hover .r {
+ background-color: #e22b2b;
+}
+#dcaedt .dcae-main-container .backgroundColor .hover .s {
+ background-color: #000000;
+}
+#dcaedt .dcae-main-container .backgroundColor .hover .t {
+ background-color: #2777a0;
+}
+#dcaedt .dcae-main-container .backgroundColor .hover .u {
+ background-color: #1a804a;
+}
+#dcaedt .dcae-main-container .backgroundColor .hover .v {
+ background-color: #115b58;
+}
+#dcaedt .dcae-main-container .backgroundColor .hover .w {
+ background-color: #232d34;
+}
+#dcaedt .dcae-main-container .backgroundColor .hover .x {
+ background-color: #9c172c;
+}
+#dcaedt .dcae-main-container .backgroundColor .hover .y {
+ background-color: #53606a;
+}
+#dcaedt .dcae-main-container .backgroundColor .hover .z {
+ background-color: #1f9356;
+}
+#dcaedt .dcae-main-container .backgroundColor .hover .zz {
+ background-color: #6cd29c;
+}
+#dcaedt .dcae-main-container .bg_a {
+ background-color: #3b7b9b;
+}
+#dcaedt .dcae-main-container .bg_b {
+ background-color: #666666;
+}
+#dcaedt .dcae-main-container .bg_c {
+ background-color: #ffffff;
+}
+#dcaedt .dcae-main-container .bg_d {
+ background-color: #1d9a95;
+}
+#dcaedt .dcae-main-container .bg_e {
+ background-color: #cdcdcd;
+}
+#dcaedt .dcae-main-container .bg_f {
+ background-color: #506472;
+}
+#dcaedt .dcae-main-container .bg_g {
+ background-color: #263d4d;
+}
+#dcaedt .dcae-main-container .bg_h {
+ background-color: #da1f3d;
+}
+#dcaedt .dcae-main-container .bg_i {
+ background-color: #445663;
+}
+#dcaedt .dcae-main-container .bg_j {
+ background-color: #D3DBE0;
+}
+#dcaedt .dcae-main-container .bg_k {
+ background-color: #e1e7ec;
+}
+#dcaedt .dcae-main-container .bg_l {
+ background-color: #1e9a33;
+}
+#dcaedt .dcae-main-container .bg_m {
+ background-color: #a8b3b9;
+}
+#dcaedt .dcae-main-container .bg_n {
+ background-color: #ECEFF3;
+}
+#dcaedt .dcae-main-container .bg_o {
+ background-color: #798996;
+}
+#dcaedt .dcae-main-container .bg_p {
+ background-color: #8c8c8c;
+}
+#dcaedt .dcae-main-container .bg_q {
+ background-color: #b5b5b5;
+}
+#dcaedt .dcae-main-container .bg_r {
+ background-color: #e85858;
+}
+#dcaedt .dcae-main-container .bg_s {
+ background-color: #000000;
+}
+#dcaedt .dcae-main-container .bg_t {
+ background-color: #3196c9;
+}
+#dcaedt .dcae-main-container .bg_u {
+ background-color: #23aa63;
+}
+#dcaedt .dcae-main-container .bg_v {
+ background-color: #198682;
+}
+#dcaedt .dcae-main-container .bg_w {
+ background-color: #384752;
+}
+#dcaedt .dcae-main-container .bg_x {
+ background-color: #c91d39;
+}
+#dcaedt .dcae-main-container .bg_y {
+ background-color: #697a87;
+}
+#dcaedt .dcae-main-container .bg_z {
+ background-color: #28bd6e;
+}
+#dcaedt .dcae-main-container .bg_zz {
+ background-color: #93deb6;
+}
+#dcaedt .dcae-main-container .bg_a_hover {
+ background-color: #2d5e76;
+}
+#dcaedt .dcae-main-container .bg_b_hover {
+ background-color: #4d4d4d;
+}
+#dcaedt .dcae-main-container .bg_c_hover {
+ background-color: #e6e6e6;
+}
+#dcaedt .dcae-main-container .bg_d_hover {
+ background-color: #156f6b;
+}
+#dcaedt .dcae-main-container .bg_e_hover {
+ background-color: #b4b4b4;
+}
+#dcaedt .dcae-main-container .bg_f_hover {
+ background-color: #3b4a54;
+}
+#dcaedt .dcae-main-container .bg_g_hover {
+ background-color: #15222b;
+}
+#dcaedt .dcae-main-container .bg_h_hover {
+ background-color: #ad1931;
+}
+#dcaedt .dcae-main-container .bg_i_hover {
+ background-color: #2f3c45;
+}
+#dcaedt .dcae-main-container .bg_j_hover {
+ background-color: #b5c3cb;
+}
+#dcaedt .dcae-main-container .bg_l_hover {
+ background-color: #166f25;
+}
+#dcaedt .dcae-main-container .bg_m_hover {
+ background-color: #8c9aa2;
+}
+#dcaedt .dcae-main-container .bg_n_hover {
+ background-color: #cdd5df;
+}
+#dcaedt .dcae-main-container .bg_o_hover {
+ background-color: #616f7b;
+}
+#dcaedt .dcae-main-container .bg_p_hover {
+ background-color: #737373;
+}
+#dcaedt .dcae-main-container .bg_q_hover {
+ background-color: #9c9c9c;
+}
+#dcaedt .dcae-main-container .bg_r_hover {
+ background-color: #e22b2b;
+}
+#dcaedt .dcae-main-container .bg_s_hover {
+ background-color: #000000;
+}
+#dcaedt .dcae-main-container .bg_t_hover {
+ background-color: #2777a0;
+}
+#dcaedt .dcae-main-container .bg_u_hover {
+ background-color: #1a804a;
+}
+#dcaedt .dcae-main-container .bg_v_hover {
+ background-color: #115b58;
+}
+#dcaedt .dcae-main-container .bg_w_hover {
+ background-color: #232d34;
+}
+#dcaedt .dcae-main-container .bg_x_hover {
+ background-color: #9c172c;
+}
+#dcaedt .dcae-main-container .bg_y_hover {
+ background-color: #53606a;
+}
+#dcaedt .dcae-main-container .bg_z_hover {
+ background-color: #1f9356;
+}
+#dcaedt .dcae-main-container .bg_zz_hover {
+ background-color: #6cd29c;
+}
+#dcaedt .dcae-main-container .center {
+ margin: 0 auto;
+}
+#dcaedt .dcae-main-container .vcenter {
+ display: table-cell;
+ vertical-align: middle;
+}
+#dcaedt .dcae-main-container .left {
+ float: left;
+}
+#dcaedt .dcae-main-container .right {
+ float: right;
+}
+#dcaedt .dcae-main-container .hand {
+ cursor: pointer;
+}
+#dcaedt .dcae-main-container .default-pointer {
+ cursor: default;
+}
+#dcaedt .dcae-main-container .text-center {
+ text-align: center;
+}
+#dcaedt .dcae-main-container .display-none {
+ display: none;
+}
+#dcaedt .dcae-main-container .nowrap {
+ white-space: nowrap;
+}
+#dcaedt .dcae-main-container .bold {
+ font-weight: bold;
+}
+#dcaedt .dcae-main-container .full-height {
+ height: 100%;
+}
+#dcaedt .dcae-main-container .uppercase {
+ text-transform: uppercase;
+}
+#dcaedt .dcae-main-container .capitalize {
+ text-transform: capitalize;
+}
+#dcaedt .dcae-main-container .selfClear:after {
+ content: ".";
+ display: block;
+ height: 0px;
+ clear: both;
+ visibility: hidden;
+}
+#dcaedt .dcae-main-container .selfClear {
+ display: inline-block;
+}
+#dcaedt .dcae-main-container .clearfix:after {
+ content: ".";
+ display: block;
+ clear: both;
+ visibility: hidden;
+ line-height: 0;
+ height: 0;
+}
+#dcaedt .dcae-main-container .clearfix {
+ display: inline-block;
+ clear: both;
+}
+#dcaedt .dcae-main-container .hyphenate {
+ -ms-word-break: break-all;
+ word-break: break-all;
+ word-break: break-word;
+ -webkit-hyphens: auto;
+ -ms-hyphens: auto;
+ hyphens: auto;
+}
+#dcaedt .dcae-main-container .perfect-scrollbar {
+ position: relative;
+ overflow: hidden;
+}
+#dcaedt .dcae-main-container .noselect {
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+#dcaedt .dcae-main-container .sdc-ellipsis {
+ text-overflow: ellipsis;
+ overflow: hidden;
+ display: inline-block;
+ white-space: nowrap;
+}
+#dcaedt .dcae-main-container html {
+ height: 100%;
+}
+#dcaedt .dcae-main-container body {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ height: 100%;
+ margin: auto;
+ position: relative;
+}
+#dcaedt .dcae-main-container * {
+ box-sizing: border-box;
+ margin: 0;
+}
+#dcaedt .dcae-main-container html,
+#dcaedt .dcae-main-container body {
+ height: 100%;
+ overflow: hidden;
+}
+#dcaedt .dcae-main-container a {
+ text-decoration: none;
+}
+#dcaedt .dcae-main-container canvas {
+ outline: none;
+}
+#dcaedt .dcae-main-container .download-artifact {
+ cursor: pointer;
+}
+#dcaedt .dcae-main-container html .w-sdc-resource-container {
+ padding: 20px 0;
+}
+#dcaedt .dcae-main-container html .ui-notification.clickable:hover {
+ opacity: 1;
+}
+#dcaedt .dcae-main-container .sprite {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+}
+#dcaedt .dcae-main-container .sprite.logo {
+ background-position: -50px -100px;
+ width: 39px;
+ height: 32px;
+}
+#dcaedt .dcae-main-container .sprite.white-arrow-down {
+ background-position: -50px -200px;
+ width: 15px;
+ height: 9px;
+}
+#dcaedt .dcae-main-container .sprite.white-arrow-up {
+ background-position: -100px -200px;
+ width: 15px;
+ height: 9px;
+}
+#dcaedt .dcae-main-container .arrow-left {
+ background-position: -262px -4041px;
+ width: 11px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .sprite.tab-info {
+ background-position: -50px -300px;
+ width: 18px;
+ height: 20px;
+}
+#dcaedt .dcae-main-container .sprite.edit {
+ background-position: -51px -689px;
+ width: 31px;
+ height: 30px;
+}
+#dcaedt .dcae-main-container .sprite.details {
+ background-position: -50px -900px;
+ width: 19px;
+ height: 19px;
+}
+#dcaedt .dcae-main-container .sprite.structure {
+ background-position: -212px -3880px;
+ width: 23px;
+ height: 21px;
+}
+#dcaedt .dcae-main-container .sprite.artifacts {
+ background-position: -50px -1098px;
+ width: 20px;
+ height: 20px;
+}
+#dcaedt .dcae-main-container .sprite.menu {
+ background-position: -50px -1200px;
+ width: 17px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .sprite.catalog {
+ background-position: -53px -1303px;
+ width: 20px;
+ height: 20px;
+}
+#dcaedt .dcae-main-container .sprite.distribution {
+ background-position: -50px -1400px;
+ width: 24px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .sprite.support {
+ background-position: -50px -1500px;
+ width: 22px;
+ height: 22px;
+}
+#dcaedt .dcae-main-container .sprite.filter {
+ background-position: -50px -1600px;
+ width: 15px;
+ height: 16px;
+}
+#dcaedt .dcae-main-container .sprite.card-menu {
+ background-position: -50px -2000px;
+ width: 4px;
+ height: 16px;
+}
+#dcaedt .dcae-main-container .sprite.relationships {
+ background-position: -50px -2097px;
+ width: 26px;
+ height: 19px;
+}
+#dcaedt .dcae-main-container .sprite.lifecycle {
+ background-position: -50px -2200px;
+ width: 20px;
+ height: 20px;
+}
+#dcaedt .dcae-main-container .sprite.properties {
+ background-position: -50px -2300px;
+ width: 19px;
+ height: 19px;
+}
+#dcaedt .dcae-main-container .sprite.e-sdc-small-icon-delete {
+ background-position: -64px -2771px;
+ width: 11px;
+ height: 13px;
+}
+#dcaedt .dcae-main-container .sprite.magnification-glass {
+ background-position: -49px -3138px;
+ width: 12px;
+ height: 12px;
+}
+#dcaedt .dcae-main-container .sprite.clear-text {
+ background-position: -104px -4040px;
+ width: 10px;
+ height: 11px;
+}
+#dcaedt .dcae-main-container .sprite.info {
+ background-position: -105px -3583px;
+ width: 18px;
+ height: 18px;
+}
+#dcaedt .dcae-main-container .sprite.information-artifacts {
+ background-position: -105px -3632px;
+ width: 20px;
+ height: 21px;
+}
+#dcaedt .dcae-main-container .sprite.deployment-artifacts {
+ background-position: -105px -3682px;
+ width: 19px;
+ height: 19px;
+}
+#dcaedt .dcae-main-container .sprite.properties {
+ background-position: -105px -3733px;
+ width: 18px;
+ height: 18px;
+}
+#dcaedt .dcae-main-container .sprite.relations {
+ background-position: -105px -3781px;
+ width: 20px;
+ height: 20px;
+}
+#dcaedt .dcae-main-container .sprite.inputs {
+ background-position: -104px -3887px;
+ width: 18px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .sprite.api {
+ background-position: -104px -3930px;
+ width: 25px;
+ height: 21px;
+}
+#dcaedt .dcae-main-container .sprite.NOT_CERTIFIED_CHECKOUT {
+ background-position: -54px -2887px;
+ width: 13px;
+ height: 13px;
+}
+#dcaedt .dcae-main-container .sprite.CERTIFICATION_IN_PROGRESS {
+ background-position: -54px -2934px;
+ width: 13px;
+ height: 16px;
+}
+#dcaedt .dcae-main-container .sprite.NOT_CERTIFIED_CHECKIN {
+ background-position: -54px -2985px;
+ width: 13px;
+ height: 15px;
+}
+#dcaedt .dcae-main-container .sprite.CERTIFIED {
+ background-position: -54px -3034px;
+ width: 13px;
+ height: 16px;
+}
+#dcaedt .dcae-main-container .sprite.READY_FOR_CERTIFICATION {
+ background-position: -49px -3087px;
+ width: 23px;
+ height: 16px;
+}
+#dcaedt .dcae-main-container .message-DEBUG {
+ background-position: -51px -3187px;
+ width: 47px;
+ height: 47px;
+}
+#dcaedt .dcae-main-container .message-INFO {
+ background-position: -51px -3187px;
+ width: 47px;
+ height: 47px;
+}
+#dcaedt .dcae-main-container .message-WARNING {
+ background-position: -51px -3187px;
+ width: 47px;
+ height: 47px;
+}
+#dcaedt .dcae-main-container .message-ERROR {
+ background-position: -51px -3187px;
+ width: 47px;
+ height: 47px;
+}
+#dcaedt .dcae-main-container .e-sdc-small-icon-eye {
+ background-position: -60px -2722px;
+ width: 20px;
+ height: 20px;
+}
+#dcaedt .dcae-main-container .e-sdc-small-icon-pencil {
+ background-position: -51px -3339px;
+ width: 12px;
+ height: 12px;
+}
+#dcaedt .dcae-main-container .e-sdc-small-icon-pad {
+ background-position: -157px -2772px;
+ width: 15px;
+ height: 12px;
+}
+#dcaedt .dcae-main-container .sprite.e-sdc-small-icon-trash {
+ background-position: -48px -300px;
+ width: 20px;
+ height: 20px;
+}
+#dcaedt .dcae-main-container .sprite.e-sdc-small-check {
+ background-position: -48px -399px;
+ width: 20px;
+ height: 20px;
+}
+#dcaedt .dcae-main-container .sprite.e-sdc-small-clone {
+ background-position: -49px -501px;
+ width: 20px;
+ height: 20px;
+}
+#dcaedt .dcae-main-container .sprite.e-sdc-small-print-screen {
+ background-position: -49px -351px;
+ width: 19px;
+ height: 20px;
+}
+#dcaedt .dcae-main-container .sprite.e-sdc-small-certification {
+ background-position: -48px -602px;
+ width: 20px;
+ height: 20px;
+}
+#dcaedt .dcae-main-container .sprite.e-sdc-small-download {
+ background-position: -51px -3390px;
+ width: 12px;
+ height: 11px;
+}
+#dcaedt .dcae-main-container .sprite.e-sdc-cloud {
+ background-position: -51px -3278px;
+ width: 24px;
+ height: 23px;
+}
+#dcaedt .dcae-main-container .sprite.e-sdc-pencil {
+ background-position: -53px -2404px;
+ width: 16px;
+ height: 16px;
+}
+#dcaedt .dcae-main-container .sprite.e-sdc-green-save {
+ background-position: -157px -4089px;
+ width: 12px;
+ height: 12px;
+}
+#dcaedt .dcae-main-container .s-sdc-state-non-certified {
+ background-position: -157px -3386px;
+ width: 15px;
+ height: 15px;
+}
+#dcaedt .dcae-main-container .s-sdc-service {
+ background-position: -60px -2654px;
+ width: 14px;
+ height: 17px;
+}
+#dcaedt .dcae-main-container .s-sdc-resource {
+ background-position: -54px -2585px;
+ width: 16px;
+ height: 16px;
+}
+#dcaedt .dcae-main-container .s-sdc-state.NOT_CERTIFIED_CHECKIN {
+ background-position: -47px -2839px;
+ width: 20px;
+ height: 19px;
+}
+#dcaedt .dcae-main-container .s-sdc-state.NOT_CERTIFIED_CHECKIN.green {
+ background-position: -70px -2839px;
+}
+#dcaedt .dcae-main-container .s-sdc-state.NOT_CERTIFIED_CHECKIN.red {
+ background-position: -93px -2839px;
+}
+#dcaedt .dcae-main-container .s-sdc-state.NOT_CERTIFIED_CHECKOUT {
+ background-position: -53px -2889px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .s-sdc-state.NOT_CERTIFIED_CHECKOUT.green {
+ background-position: -76px -2889px;
+}
+#dcaedt .dcae-main-container .s-sdc-state.NOT_CERTIFIED_CHECKOUT.red {
+ background-position: -99px -2889px;
+}
+#dcaedt .dcae-main-container .s-sdc-state.CERTIFIED {
+ background-position: -53px -3034px;
+ width: 14px;
+ height: 16px;
+}
+#dcaedt .dcae-main-container .s-sdc-state.CERTIFIED.green {
+ background-position: -76px -3034px;
+}
+#dcaedt .dcae-main-container .s-sdc-state.CERTIFIED.red {
+ background-position: -99px -3034px;
+}
+#dcaedt .dcae-main-container .s-sdc-state.READY_FOR_CERTIFICATION {
+ background-position: -53px -2985px;
+ width: 14px;
+ height: 16px;
+}
+#dcaedt .dcae-main-container .s-sdc-state.READY_FOR_CERTIFICATION.green {
+ background-position: -76px -2985px;
+}
+#dcaedt .dcae-main-container .s-sdc-state.READY_FOR_CERTIFICATION.red {
+ background-position: -99px -2985px;
+}
+#dcaedt .dcae-main-container .s-sdc-state.CERTIFICATION_IN_PROGRESS {
+ background-position: -53px -2934px;
+ width: 14px;
+ height: 16px;
+}
+#dcaedt .dcae-main-container .s-sdc-state.CERTIFICATION_IN_PROGRESS.green {
+ background-position: -76px -2934px;
+}
+#dcaedt .dcae-main-container .s-sdc-state.CERTIFICATION_IN_PROGRESS.red {
+ background-position: -99px -2934px;
+}
+#dcaedt .dcae-main-container .s-sdc-state.DISTRIBUTED {
+ background-position: -43px -3087px;
+ width: 24px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .s-sdc-state.DISTRIBUTED.green {
+ background-position: -76px -3087px;
+}
+#dcaedt .dcae-main-container .s-sdc-state.DISTRIBUTED.red {
+ background-position: -113px -3087px;
+}
+#dcaedt .dcae-main-container .sprite.e-sdc-small-blue-down-arrow {
+ background-position: -51px -3262px;
+ width: 10px;
+ height: 7px;
+}
+#dcaedt .dcae-main-container .sprite.e-sdc-small-blue-up-arrow {
+ background-position: -111px -3262px;
+ width: 10px;
+ height: 7px;
+}
+#dcaedt .dcae-main-container .e-checkbox-unchecked {
+ background-position: -51px -3490px;
+ width: 12px;
+ height: 11px;
+}
+#dcaedt .dcae-main-container .e-checkbox-checked {
+ background-position: -103px -3490px;
+ width: 12px;
+ height: 11px;
+}
+#dcaedt .dcae-main-container .e-checkbox-unchecked-disabled {
+ background-position: -265px -3490px;
+ width: 12px;
+ height: 11px;
+}
+#dcaedt .dcae-main-container .sprite.x-btn {
+ background-position: -50px -3438px;
+ width: 14px;
+ height: 13px;
+}
+#dcaedt .dcae-main-container .sprite.x-btn:hover {
+ background-position: -103px -3438px;
+ width: 14px;
+ height: 13px;
+}
+#dcaedt .dcae-main-container .sprite.x-btn-white {
+ background-position: -157px -3437px;
+ width: 14px;
+ height: 13px;
+}
+#dcaedt .dcae-main-container .sprite.x-btn-white:hover {
+ background-position: -211px -3438px;
+ width: 14px;
+ height: 13px;
+}
+#dcaedt .dcae-main-container .sprite.x-btn-black {
+ background-position: -52px -4041px;
+ width: 10px;
+ height: 11px;
+}
+#dcaedt .dcae-main-container .sprite.x-btn-black:hover {
+ background-position: -104px -4041px;
+ width: 10px;
+ height: 11px;
+}
+#dcaedt .dcae-main-container .sprite.small-x-btn-black {
+ background-position: -157px -4044px;
+ width: 8px;
+ height: 8px;
+}
+#dcaedt .dcae-main-container .sprite.small-x-btn-black:hover {
+ background-position: -211px -4044px;
+ width: 8px;
+ height: 8px;
+}
+#dcaedt .dcae-main-container .sprite.upload-icon {
+ background-position: -51px -3286px;
+ width: 16px;
+ height: 15px;
+}
+#dcaedt .dcae-main-container .sprite.upload-icon-hover {
+ background-position: -104px -3286px;
+}
+#dcaedt .dcae-main-container .sprite.uploaded {
+ background-position: -143px -3283px;
+ width: 18px;
+ height: 18px;
+}
+#dcaedt .dcae-main-container .sprite.change-file {
+ background-position: -261px -3285px;
+ width: 22px;
+ height: 16px;
+}
+#dcaedt .dcae-main-container .sprite.change-file-hover {
+ background-position: -211px -3285px;
+}
+#dcaedt .dcae-main-container .sprite.e-sdc-small-icon-upload {
+ background-position: -104px -4188px;
+ width: 12px;
+ height: 13px;
+}
+#dcaedt .dcae-main-container .exclamation-mark-white-icon {
+ background-position: -51px -3990px;
+ width: 13px;
+ height: 11px;
+}
+#dcaedt .dcae-main-container .exclamation-mark-red-icon {
+ background-position: -212px -3990px;
+ width: 13px;
+ height: 11px;
+}
+#dcaedt .dcae-main-container .question-message-icon-gray {
+ background-position: -104px -3987px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .question-message-icon-white {
+ background-position: -158px -3987px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .sprite.table-arrow {
+ background-position: -57px -4241px;
+ width: 7px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .sprite.table-arrow.opened {
+ background-position: -54px -4295px;
+ width: 10px;
+ height: 6px;
+}
+#dcaedt .dcae-main-container .sprite-green-tick {
+ background-position: -157px -3290px;
+ width: 15px;
+ height: 11px;
+}
+#dcaedt .dcae-main-container .sprite.relation-icon {
+ background-position: -100px -4351px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .sprite.relation-icon-hover {
+ background-position: -52px -4351px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .sprite-new {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+}
+#dcaedt .dcae-main-container .add-icon {
+ background-position: -50px -77px;
+ width: 23px;
+ height: 23px;
+}
+#dcaedt .dcae-main-container .add-icon-hover {
+ background-position: -150px -77px;
+ width: 23px;
+ height: 23px;
+}
+#dcaedt .dcae-main-container .import-icon {
+ background-position: -100px -81px;
+ width: 23px;
+ height: 23px;
+}
+#dcaedt .dcae-main-container .add-icon-blue {
+ background-position: -350px -125px;
+ width: 18px;
+ height: 18px;
+}
+#dcaedt .dcae-main-container .add-icon-blue-hover {
+ background-position: -400px -125px;
+ width: 18px;
+ height: 18px;
+}
+#dcaedt .dcae-main-container .video-icon {
+ background-position: -54px -113px;
+ width: 33px;
+ height: 26px;
+}
+#dcaedt .dcae-main-container .video-icon_1 {
+ background-position: -104px -113px;
+ width: 33px;
+ height: 26px;
+}
+#dcaedt .dcae-main-container .video-icon_2 {
+ background-position: -154px -113px;
+ width: 33px;
+ height: 26px;
+}
+#dcaedt .dcae-main-container .video-icon_disabled {
+ background-position: -204px -113px;
+ width: 33px;
+ height: 26px;
+}
+#dcaedt .dcae-main-container .video-icon_focus {
+ background-position: -250px -111px;
+ width: 41px;
+ height: 32px;
+}
+#dcaedt .dcae-main-container .vsp-list-icon {
+ background-position: -54px -143px;
+ width: 26px;
+ height: 29px;
+}
+#dcaedt .dcae-main-container .vsp-list-icon-active {
+ background-position: -104px -143px;
+ width: 26px;
+ height: 29px;
+}
+#dcaedt .dcae-main-container .vsp-list-icon:active:not(.disable) {
+ background-position: -104px -143px;
+ width: 26px;
+ height: 29px;
+}
+#dcaedt .dcae-main-container .vsp-list-icon-hover {
+ background-position: -154px -143px;
+ width: 26px;
+ height: 29px;
+}
+#dcaedt .dcae-main-container .vsp-list-icon:hover:not(.disable) {
+ background-position: -154px -143px;
+ width: 26px;
+ height: 29px;
+}
+#dcaedt .dcae-main-container .vsp-list-icon.disable {
+ background-position: -204px -143px;
+ width: 26px;
+ height: 29px;
+}
+#dcaedt .dcae-main-container .info-icon {
+ background-position: -50px -179px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .info-icon_1 {
+ background-position: -100px -179px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .plus-icon {
+ background-position: -50px -231px;
+ width: 12px;
+ height: 12px;
+}
+#dcaedt .dcae-main-container .plus-icon-hover {
+ background-position: -100px -231px;
+ width: 12px;
+ height: 12px;
+}
+#dcaedt .dcae-main-container .delete-icon {
+ background-position: -675px -231px;
+ width: 11px;
+ height: 13px;
+}
+#dcaedt .dcae-main-container .delete-icon-hover {
+ background-position: -702px -231px;
+ width: 11px;
+ height: 13px;
+}
+#dcaedt .dcae-main-container .arrow-up {
+ background-position: -350px -236px;
+ width: 12px;
+ height: 7px;
+}
+#dcaedt .dcae-main-container .arrow-up-hover {
+ background-position: -400px -236px;
+ width: 12px;
+ height: 7px;
+}
+#dcaedt .dcae-main-container .arrow-up-small {
+ background-position: -250px -237px;
+ width: 12px;
+ height: 6px;
+}
+#dcaedt .dcae-main-container .arrow-up-small-hover {
+ background-position: -300px -237px;
+ width: 12px;
+ height: 6px;
+}
+#dcaedt .dcae-main-container .sort-arrows {
+ background-position: -450px -231px;
+ width: 8px;
+ height: 12px;
+}
+#dcaedt .dcae-main-container .sort-arrows-hover {
+ background-position: -500px -231px;
+ width: 8px;
+ height: 12px;
+}
+#dcaedt .dcae-main-container .arrow-right {
+ background-position: -550px -235px;
+ width: 5px;
+ height: 8px;
+}
+#dcaedt .dcae-main-container .arrow-right-hover {
+ background-position: -600px -235px;
+ width: 5px;
+ height: 8px;
+}
+#dcaedt .dcae-main-container .menu-open-left {
+ background-position: -350px -283px;
+ width: 6px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .menu-open-right {
+ background-position: -400px -283px;
+ width: 6px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .private-status-icon {
+ background-position: -50px -326px;
+ width: 21px;
+ height: 17px;
+}
+#dcaedt .dcae-main-container .in-design-status-icon {
+ background-position: -307px -327px;
+ width: 16px;
+ height: 16px;
+}
+#dcaedt .dcae-main-container .checkout-editable-status-icon {
+ background-position: -100px -326px;
+ width: 24px;
+ height: 17px;
+}
+#dcaedt .dcae-main-container .checkin-status-icon {
+ background-position: -200px -326px;
+ width: 24px;
+ height: 17px;
+}
+#dcaedt .dcae-main-container .checkout-not-editable-status-icon {
+ background-position: -150px -326px;
+ width: 24px;
+ height: 17px;
+}
+#dcaedt .dcae-main-container .x-btn {
+ background-position: -50px -419px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .x-btn:hover {
+ background-position: -50px -447px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .x-btn:active {
+ background-position: -50px -479px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .delete-btn {
+ background-position: -140px -419px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .delete-btn:hover:not(.disable) {
+ background-position: -140px -447px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .delete-btn:active:not(.disable) {
+ background-position: -140px -479px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .delete-btn.disable {
+ background-position: -140px -539px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .save-btn {
+ background-position: -230px -419px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .save-btn:hover:not(.disable) {
+ background-position: -230px -447px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .save-btn:active:not(.disable) {
+ background-position: -230px -479px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .save-btn.disable {
+ background-position: -230px -539px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .revert-btn {
+ background-position: -200px -419px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .revert-btn:hover:not(.disable) {
+ background-position: -200px -447px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .revert-btn:active:not(.disable) {
+ background-position: -200px -479px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .revert-btn.disable {
+ background-position: -200px -539px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .success-circle {
+ background-position: -50px -703px;
+ width: 20px;
+ height: 20px;
+}
+#dcaedt .dcae-main-container .success-circle-small {
+ background-position: -170px -706px;
+ width: 12px;
+ height: 12px;
+}
+#dcaedt .dcae-main-container .sdc-success {
+ background-position: -101px -707px;
+ width: 10px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .sdc-error {
+ background-position: -151px -707px;
+ width: 10px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .print-screen-btn {
+ background-position: -259px -419px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .print-screen-btn:hover:not(.disable) {
+ background-position: -259px -447px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .print-screen-btn:active:not(.disable) {
+ background-position: -259px -479px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .print-screen-btn.disable {
+ background-position: -259px -539px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .url-btn {
+ background-position: -636px -424px;
+ width: 19px;
+ height: 19px;
+}
+#dcaedt .dcae-main-container .url-btn:hover {
+ background-position: -636px -424px;
+ width: 19px;
+ height: 19px;
+}
+#dcaedt .dcae-main-container .url-btn:active {
+ background-position: -636px -482px;
+ width: 19px;
+ height: 19px;
+}
+#dcaedt .dcae-main-container .sprite-new.info {
+ background-position: -51px -631px;
+ width: 18px;
+ height: 18px;
+}
+#dcaedt .dcae-main-container .sprite-new.info:active {
+ background-position: -51px -669px;
+ width: 18px;
+ height: 18px;
+}
+#dcaedt .dcae-main-container .active > .sprite-new.info {
+ background-position: -51px -669px;
+ width: 18px;
+ height: 18px;
+}
+#dcaedt .dcae-main-container .sprite-new.structure {
+ background-position: -101px -630px;
+ width: 18px;
+ height: 17px;
+}
+#dcaedt .dcae-main-container .sprite-new.structure:active {
+ background-position: -101px -668px;
+ width: 18px;
+ height: 17px;
+}
+#dcaedt .dcae-main-container .active > .sprite-new.structure {
+ background-position: -101px -668px;
+ width: 18px;
+ height: 17px;
+}
+#dcaedt .dcae-main-container .sprite-new.deployment-artifacts {
+ background-position: -150px -629px;
+ width: 17px;
+ height: 19px;
+}
+#dcaedt .dcae-main-container .sprite-new.deployment-artifacts:active {
+ background-position: -150px -667px;
+ width: 17px;
+ height: 19px;
+}
+#dcaedt .dcae-main-container .active > .deployment-artifacts {
+ background-position: -150px -667px;
+ width: 17px;
+ height: 19px;
+}
+#dcaedt .dcae-main-container .sprite-new.inputs {
+ background-position: -200px -634px;
+ width: 20px;
+ height: 12px;
+}
+#dcaedt .dcae-main-container .sprite-new.inputs:active {
+ background-position: -200px -672px;
+ width: 20px;
+ height: 12px;
+}
+#dcaedt .dcae-main-container .active > .sprite-new.inputs {
+ background-position: -200px -672px;
+ width: 20px;
+ height: 12px;
+}
+#dcaedt .dcae-main-container .sprite-new.information-artifacts {
+ background-position: -250px -631px;
+ width: 17px;
+ height: 19px;
+}
+#dcaedt .dcae-main-container .sprite-new.information-artifacts:active {
+ background-position: -250px -669px;
+ width: 17px;
+ height: 19px;
+}
+#dcaedt .dcae-main-container .active > .sprite-new.information-artifacts {
+ background-position: -250px -669px;
+ width: 17px;
+ height: 19px;
+}
+#dcaedt .dcae-main-container .sprite-new.relations {
+ background-position: -300px -632px;
+ width: 20px;
+ height: 20px;
+}
+#dcaedt .dcae-main-container .sprite-new.relations:active {
+ background-position: -300px -632px;
+ width: 20px;
+ height: 20px;
+}
+#dcaedt .dcae-main-container .active > .sprite-new.relations {
+ background-position: -300px -632px;
+ width: 20px;
+ height: 20px;
+}
+#dcaedt .dcae-main-container .sprite-new.api {
+ background-position: -400px -631px;
+ width: 23px;
+ height: 19px;
+}
+#dcaedt .dcae-main-container .sprite-new.api:active {
+ background-position: -400px -671px;
+ width: 23px;
+ height: 19px;
+}
+#dcaedt .dcae-main-container .active > .sprite-new.api {
+ background-position: -400px -671px;
+ width: 23px;
+ height: 19px;
+}
+#dcaedt .dcae-main-container .sprite-new.properties {
+ background-position: -350px -631px;
+ width: 19px;
+ height: 19px;
+}
+#dcaedt .dcae-main-container .sprite-new.properties:active {
+ background-position: -350px -671px;
+ width: 19px;
+ height: 19px;
+}
+#dcaedt .dcae-main-container .active > .sprite-new.properties {
+ background-position: -350px -671px;
+ width: 19px;
+ height: 19px;
+}
+#dcaedt .dcae-main-container .sprite-new.distribution-bth {
+ background-position: -399px -716px;
+ width: 55px;
+ height: 21px;
+}
+#dcaedt .dcae-main-container .sprite-new.distribution-bth.disable {
+ background-position: -464px -716px;
+ width: 55px;
+ height: 21px;
+}
+#dcaedt .dcae-main-container .Distributed {
+ background-position: -547px -718px;
+ width: 16px;
+ height: 16px;
+}
+#dcaedt .dcae-main-container .Deployed {
+ background-position: -573px -718px;
+ width: 16px;
+ height: 16px;
+}
+#dcaedt .dcae-main-container .error-icon {
+ background-position: -51px -751px;
+ width: 13px;
+ height: 11px;
+}
+#dcaedt .dcae-main-container .asdc-warning {
+ background-position: -100px -748px;
+ width: 17px;
+ height: 15px;
+}
+#dcaedt .dcae-main-container .link-btn {
+ background-position: -636px -424px;
+ width: 19px;
+ height: 19px;
+}
+#dcaedt .dcae-main-container .link-btn:hover {
+ background-position: -636px -453px;
+ width: 19px;
+ height: 19px;
+}
+#dcaedt .dcae-main-container .link-btn:active {
+ background-position: -636px -482px;
+ width: 19px;
+ height: 19px;
+}
+#dcaedt .dcae-main-container .refresh-btn {
+ background-position: -293px -419px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .refresh-btn:hover:not(.disable) {
+ background-position: -293px -447px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .refresh-btn:active:not(.disable) {
+ background-position: -293px -479px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .refresh-btn.focus {
+ background-position: -293px -508px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .refresh-btn.disable {
+ background-position: -293px -539px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .download-btn {
+ background-position: -530px -419px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .download-btn:hover:not(.disable) {
+ background-position: -530px -448px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .download-btn:active:not(.disable) {
+ background-position: -530px -479px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .download-btn.focus {
+ background-position: -530px -508px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .download-btn.disable {
+ background-position: -530px -539px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .expand-collapse-plus-icon {
+ background-position: -334px -888px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .expand-collapse-plus-icon:hover {
+ background-position: -422px -888px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .expand-collapse-minus-icon {
+ background-position: -378px -888px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .expand-collapse-minus-icon:hover {
+ background-position: -466px -888px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .close-open-left-arrow {
+ background-position: -507px -942px;
+ width: 6px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .close-open-right-arrow {
+ background-position: -506px -922px;
+ width: 6px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .hierarchy {
+ background-position: -560px -887px;
+ width: 21px;
+ height: 15px;
+}
+#dcaedt .dcae-main-container .hierarchy.hover {
+ background-position: -500px -887px;
+ width: 21px;
+ height: 15px;
+}
+#dcaedt .dcae-main-container .hierarchy.disable {
+ background-position: -531px -887px;
+ width: 21px;
+ height: 15px;
+}
+#dcaedt .dcae-main-container .hierarchy.selected {
+ background-position: -500px -887px;
+ width: 21px;
+ height: 15px;
+}
+#dcaedt .dcae-main-container .refresh-small-btn {
+ background-position: -598px -419px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .refresh-small-btn:hover:not(.disable) {
+ background-position: -598px -448px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .refresh-small-btn:active:not(.disable) {
+ background-position: -598px -479px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .refresh-small-btn.focus {
+ background-position: -598px -508px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .refresh-small-btn.disable {
+ background-position: -598px -539px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .download-file-btn {
+ background-position: -673px -419px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .download-file-btn:hover:not(.disable) {
+ background-position: -673px -448px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .download-file-btn:active:not(.disable) {
+ background-position: -673px -479px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .download-file-btn.focus {
+ background-position: -673px -508px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .download-file-btn.disable {
+ background-position: -673px -539px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .refresh-file-btn {
+ background-position: -707px -419px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .refresh-file-btn:hover:not(.disable) {
+ background-position: -707px -448px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .refresh-file-btn:active:not(.disable) {
+ background-position: -707px -479px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .refresh-file-btn.focus {
+ background-position: -707px -508px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .refresh-file-btn.disable {
+ background-position: -707px -539px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .import-file-btn {
+ background-position: -745px -419px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .import-file-btn:hover:not(.disable) {
+ background-position: -745px -448px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .import-file-btn:active:not(.disable) {
+ background-position: -745px -479px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .import-file-btn.focus {
+ background-position: -745px -508px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .import-file-btn.disable {
+ background-position: -745px -539px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .left-arrow {
+ background-position: -590px -876px;
+ width: 26px;
+ height: 26px;
+}
+#dcaedt .dcae-main-container .left-arrow:hover {
+ background-position: -662px -876px;
+ width: 26px;
+ height: 26px;
+}
+#dcaedt .dcae-main-container .right-arrow {
+ background-position: -626px -876px;
+ width: 26px;
+ height: 26px;
+}
+#dcaedt .dcae-main-container .right-arrow:hover {
+ background-position: -698px -876px;
+ width: 26px;
+ height: 26px;
+}
+#dcaedt .dcae-main-container .search-white-icon {
+ background-position: -434px -128px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .blue-right-arrow-circle {
+ background-position: -650px -619px;
+ width: 29px;
+ height: 29px;
+}
+#dcaedt .dcae-main-container .blue-right-arrow-circle:hover {
+ background-position: -689px -619px;
+ width: 29px;
+ height: 29px;
+}
+#dcaedt .dcae-main-container .small-x-button {
+ background-position: -190px -282px;
+ width: 11px;
+ height: 11px;
+}
+#dcaedt .dcae-main-container .small-x-button:hover {
+ background-position: -210px -283px;
+ width: 11px;
+ height: 11px;
+}
+#dcaedt .dcae-main-container .close-info-tooltip-button {
+ background-position: -190px -282px;
+ width: 11px;
+ height: 11px;
+}
+#dcaedt .dcae-main-container .close-info-tooltip-button:hover {
+ background-position: -230px -283px;
+ width: 11px;
+ height: 11px;
+}
+#dcaedt .dcae-main-container .expand-all {
+ background-position: -500px -420px;
+ width: 20px;
+ height: 22px;
+}
+#dcaedt .dcae-main-container .expand-all:hover {
+ background-position: -500px -449px;
+ width: 20px;
+ height: 22px;
+}
+#dcaedt .dcae-main-container .collapse-all {
+ background-position: -465px -420px;
+ width: 20px;
+ height: 22px;
+}
+#dcaedt .dcae-main-container .collapse-all:hover {
+ background-position: -465px -449px;
+ width: 20px;
+ height: 22px;
+}
+#dcaedt .dcae-main-container .delete-param:hover {
+ background-position: -702px -231px;
+ width: 12px;
+ height: 13px;
+}
+#dcaedt .dcae-main-container .delete-param {
+ background-position: -675px -231px;
+ width: 12px;
+ height: 13px;
+}
+#dcaedt .dcae-main-container .revert-param:hover {
+ background-position: -700px -48px;
+ width: 12px;
+ height: 11px;
+}
+#dcaedt .dcae-main-container .revert-param {
+ background-position: -676px -48px;
+ width: 12px;
+ height: 11px;
+}
+#dcaedt .dcae-main-container .show-desc:hover {
+ background-position: -635px -75px;
+ width: 13px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .show-desc {
+ background-position: -599px -75px;
+ width: 13px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .expand-list {
+ background-position: -812px -66px;
+ width: 21px;
+ height: 21px;
+}
+#dcaedt .dcae-main-container .expand-list:hover {
+ background-position: -812px -96px;
+ width: 21px;
+ height: 21px;
+}
+#dcaedt .dcae-main-container .expand-list.open {
+ background-position: -853px -66px;
+ width: 21px;
+ height: 21px;
+}
+#dcaedt .dcae-main-container .expand-list.open:hover {
+ background-position: -853px -96px;
+ width: 21px;
+ height: 21px;
+}
+#dcaedt .dcae-main-container .search-icon:hover,
+#dcaedt .dcae-main-container .search-icon.selected {
+ background-position: -894px -101px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .search-icon {
+ background-position: -894px -71px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .asc {
+ background-position: -924px -71px;
+ width: 8px;
+ height: 12px;
+}
+#dcaedt .dcae-main-container .desc {
+ background-position: -924px -101px;
+ width: 8px;
+ height: 12px;
+}
+#dcaedt .dcae-main-container .delete-item-icon {
+ background-position: -140px -1119px;
+ width: 11px;
+ height: 15px;
+}
+#dcaedt .dcae-main-container .delete-item-icon:hover {
+ background-position: -167px -1119px;
+ width: 11px;
+ height: 15px;
+}
+#dcaedt .dcae-main-container .filter-icon {
+ background-position: -48px -1040px;
+ width: 19px;
+ height: 20px;
+}
+#dcaedt .dcae-main-container .filter-icon:hover {
+ background-position: -99px -1040px;
+ width: 19px;
+ height: 20px;
+}
+#dcaedt .dcae-main-container .filled-checkbox-icon {
+ background-position: -100px -1079px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .round-checked-icon {
+ background-position: -50px -1157px;
+ width: 16px;
+ height: 18px;
+}
+#dcaedt .dcae-main-container .round-checked-icon.disabled {
+ background-position: -100px -1157px;
+ width: 16px;
+ height: 18px;
+}
+#dcaedt .dcae-main-container .round-expand-icon {
+ background-position: -50px -1188px;
+ width: 15px;
+ height: 15px;
+}
+#dcaedt .dcae-main-container .round-expand-icon:hover {
+ background-position: -100px -1188px;
+ width: 15px;
+ height: 15px;
+}
+#dcaedt .dcae-main-container .round-expand-icon.open {
+ background-position: -50px -1216px;
+ width: 15px;
+ height: 15px;
+}
+#dcaedt .dcae-main-container .round-expand-icon.open:hover {
+ background-position: -100px -1216px;
+ width: 15px;
+ height: 15px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons {
+ background-image: url(/sdc1/scripts/images/sprite-product-icons.b8058459efff5dc1dca7.png);
+ display: inline-block;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.disable {
+ opacity: 0.5;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.setting {
+ background-position: -291px -102px;
+ width: 61px;
+ height: 67px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.setting.small {
+ background-position: -217px -142px;
+ width: 29px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.setting.medium {
+ background-position: -148px -130px;
+ width: 41px;
+ height: 40px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.setting.large {
+ background-position: -77px -110px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.cloud {
+ background-position: -290px -215px;
+ width: 64px;
+ height: 43px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.cloud.small {
+ background-position: -217px -232px;
+ width: 29px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.cloud.medium {
+ background-position: -148px -220px;
+ width: 41px;
+ height: 40px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.cloud.large {
+ background-position: -77px -200px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.security {
+ background-position: -289px -293px;
+ width: 50px;
+ height: 57px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.security.small {
+ background-position: -217px -321px;
+ width: 29px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.security.medium {
+ background-position: -148px -310px;
+ width: 41px;
+ height: 40px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.security.large {
+ background-position: -77px -290px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.network {
+ background-position: -290px -383px;
+ width: 56px;
+ height: 57px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.network.small {
+ background-position: -217px -411px;
+ width: 29px;
+ height: 29px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.network.medium {
+ background-position: -148px -399px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.network.large {
+ background-position: -77px -380px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.orphan {
+ background-position: -290px -478px;
+ width: 52px;
+ height: 52px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.orphan.small {
+ background-position: -217px -500px;
+ width: 29px;
+ height: 29px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.orphan.medium {
+ background-position: -148px -488px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.orphan.large {
+ background-position: -77px -470px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.defaulticon {
+ background-position: -290px -478px;
+ width: 52px;
+ height: 52px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.defaulticon.small {
+ background-position: -217px -500px;
+ width: 29px;
+ height: 29px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.defaulticon.medium {
+ background-position: -148px -488px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.defaulticon.large {
+ background-position: -77px -470px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.vfw {
+ background-position: -289px -548px;
+ width: 73px;
+ height: 73px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.vfw.small {
+ background-position: -217px -591px;
+ width: 29px;
+ height: 29px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.vfw.medium {
+ background-position: -148px -580px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.vfw.large {
+ background-position: -77px -560px;
+ width: 60px;
+ height: 61px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.wanx {
+ background-position: -290px -664px;
+ width: 59px;
+ height: 47px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.wanx.small {
+ background-position: -217px -681px;
+ width: 30px;
+ height: 30px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.wanx.medium {
+ background-position: -148px -670px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.wanx.large {
+ background-position: -77px -651px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.vrouter {
+ background-position: -289px -758px;
+ width: 69px;
+ height: 43px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.vrouter.small {
+ background-position: -217px -772px;
+ width: 29px;
+ height: 29px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.vrouter.medium {
+ background-position: -148px -760px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.vrouter.large {
+ background-position: -77px -741px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.ucpe {
+ background-position: -289px -832px;
+ width: 59px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.ucpe.small {
+ background-position: -217px -862px;
+ width: 28px;
+ height: 29px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.ucpe.medium {
+ background-position: -148px -849px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.ucpe.large {
+ background-position: -77px -831px;
+ width: 60px;
+ height: 61px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.mobility {
+ background-position: -288px -919px;
+ width: 64px;
+ height: 62px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.mobility.small {
+ background-position: -216px -952px;
+ width: 29px;
+ height: 29px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.mobility.medium {
+ background-position: -147px -940px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.mobility.large {
+ background-position: -76px -921px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.wanx_customer_managed {
+ background-position: -290px -1024px;
+ width: 58px;
+ height: 62px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.wanx.small_customer_managed {
+ background-position: -217px -1041px;
+ width: 30px;
+ height: 38px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.wanx.medium_customer_managed {
+ background-position: -148px -1030px;
+ width: 42px;
+ height: 47px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.wanx.large_customer_managed {
+ background-position: -77px -1011px;
+ width: 61px;
+ height: 66px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.wanx_attr_managed {
+ background-position: -290px -1114px;
+ width: 59px;
+ height: 62px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.wanx.small_att_managed {
+ background-position: -218px -1131px;
+ width: 31px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.wanx.medium_att_managed {
+ background-position: -149px -1120px;
+ width: 42px;
+ height: 47px;
+}
+#dcaedt .dcae-main-container .sprite-product-icons.wanx.large_att_managed {
+ background-position: -77px -1101px;
+ width: 60px;
+ height: 67px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons {
+ background-image: url(/sdc1/scripts/images/sprite-resource-icons.96bcf003ae43a918aab0.png);
+ display: inline-block;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.disable {
+ opacity: 0.5;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.borderElement {
+ background-position: -282px -41px;
+ width: 66px;
+ height: 58px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.borderElement.small {
+ background-position: -210px -71px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.borderElement.medium {
+ background-position: -140px -59px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.borderElement.large {
+ background-position: -70px -39px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.router {
+ background-position: -282px -109px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.router.small {
+ background-position: -210px -141px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.router.medium {
+ background-position: -140px -129px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.router.large {
+ background-position: -70px -109px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.database {
+ background-position: -282px -180px;
+ width: 63px;
+ height: 56px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.database.small {
+ background-position: -210px -211px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.database.medium {
+ background-position: -140px -199px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.database.large {
+ background-position: -70px -179px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.network {
+ background-position: -282px -252px;
+ width: 57px;
+ height: 57px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.network.small {
+ background-position: -210px -281px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.network.medium {
+ background-position: -140px -269px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.network.large {
+ background-position: -70px -249px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.applicationServer {
+ background-position: -282px -327px;
+ width: 37px;
+ height: 51px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.applicationServer.small {
+ background-position: -210px -351px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.applicationServer.medium {
+ background-position: -140px -339px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.applicationServer.large {
+ background-position: -70px -319px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.server {
+ background-position: -282px -398px;
+ width: 31px;
+ height: 51px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.server.small {
+ background-position: -210px -421px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.server.medium {
+ background-position: -140px -409px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.server.large {
+ background-position: -70px -389px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.port {
+ background-position: -281px -484px;
+ width: 41px;
+ height: 35px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.port.small {
+ background-position: -210px -491px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.port.medium {
+ background-position: -140px -479px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.port.large {
+ background-position: -70px -459px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.loadBalancer {
+ background-position: -282px -539px;
+ width: 45px;
+ height: 49px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.loadBalancer.small {
+ background-position: -210px -561px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.loadBalancer.medium {
+ background-position: -140px -549px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.loadBalancer.large {
+ background-position: -70px -529px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.objectStorage {
+ background-position: -282px -611px;
+ width: 50px;
+ height: 47px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.objectStorage.small {
+ background-position: -210px -631px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.objectStorage.medium {
+ background-position: -140px -619px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.objectStorage.large {
+ background-position: -70px -599px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.compute {
+ background-position: -282px -683px;
+ width: 45px;
+ height: 45px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.compute.small {
+ background-position: -210px -701px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.compute.medium {
+ background-position: -141px -688px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.compute.large {
+ background-position: -70px -669px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.gateway {
+ background-position: -282px -758px;
+ width: 45px;
+ height: 41px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.gateway.small {
+ background-position: -210px -772px;
+ width: 28px;
+ height: 27px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.gateway.medium {
+ background-position: -140px -759px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.gateway.large {
+ background-position: -70px -739px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.connector {
+ background-position: -282px -830px;
+ width: 44px;
+ height: 38px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.connector.small {
+ background-position: -210px -842px;
+ width: 28px;
+ height: 27px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.connector.medium {
+ background-position: -140px -829px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.connector.large {
+ background-position: -70px -809px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.brocade {
+ background-position: -282px -922px;
+ width: 91px;
+ height: 16px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.brocade.small {
+ background-position: -210px -911px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.brocade.medium {
+ background-position: -140px -899px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.brocade.large {
+ background-position: -70px -879px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.cisco {
+ background-position: -282px -975px;
+ width: 63px;
+ height: 33px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.cisco.small {
+ background-position: -210px -981px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.cisco.medium {
+ background-position: -140px -969px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.cisco.large {
+ background-position: -70px -949px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.ericsson {
+ background-position: -282px -1059px;
+ width: 101px;
+ height: 20px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.ericsson.small {
+ background-position: -210px -1051px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.ericsson.medium {
+ background-position: -140px -1039px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.ericsson.large {
+ background-position: -70px -1019px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.tropo {
+ background-position: -282px -1109px;
+ width: 48px;
+ height: 39px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.tropo.small {
+ background-position: -210px -1121px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.tropo.medium {
+ background-position: -140px -1109px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.tropo.large {
+ background-position: -70px -1089px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.mySql {
+ background-position: -282px -1172px;
+ width: 89px;
+ height: 46px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.mySql.small {
+ background-position: -210px -1191px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.mySql.medium {
+ background-position: -140px -1179px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.mySql.large {
+ background-position: -70px -1159px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.oracle {
+ background-position: -282px -1277px;
+ width: 97px;
+ height: 11px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.oracle.small {
+ background-position: -210px -1261px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.oracle.medium {
+ background-position: -140px -1249px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.oracle.large {
+ background-position: -70px -1229px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.defaulticon {
+ background-position: -282px -2069px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.defaulticon.small {
+ background-position: -210px -2101px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.defaulticon.medium {
+ background-position: -141px -2089px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.defaulticon.large {
+ background-position: -70px -2069px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.fortinet {
+ background-position: -282px -1419px;
+ width: 94px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.fortinet.small {
+ background-position: -210px -1401px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.fortinet.medium {
+ background-position: -140px -1389px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.fortinet.large {
+ background-position: -70px -1369px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.nokia_siemens {
+ background-position: -281px -1474px;
+ width: 89px;
+ height: 25px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.nokia_siemens.small {
+ background-position: -210px -1471px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.nokia_siemens.medium {
+ background-position: -140px -1459px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.nokia_siemens.large {
+ background-position: -70px -1439px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.att {
+ background-position: -281px -1538px;
+ width: 77px;
+ height: 31px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.att.small {
+ background-position: -210px -1541px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.att.medium {
+ background-position: -140px -1529px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.att.large {
+ background-position: -70px -1509px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.juniper {
+ background-position: -281px -1609px;
+ width: 93px;
+ height: 31px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.juniper.small {
+ background-position: -210px -1611px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.juniper.medium {
+ background-position: -140px -1599px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.juniper.large {
+ background-position: -70px -1579px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.cloud {
+ background-position: -281px -1664px;
+ width: 44px;
+ height: 45px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.cloud.small {
+ background-position: -210px -1681px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.cloud.medium {
+ background-position: -140px -1669px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.cloud.large {
+ background-position: -70px -1649px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.call_controll {
+ background-position: -278px -1739px;
+ width: 35px;
+ height: 40px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.call_controll.small {
+ background-position: -210px -1751px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.call_controll.medium {
+ background-position: -140px -1739px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.call_controll.large {
+ background-position: -70px -1719px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.broadsoft {
+ background-position: -282px -1824px;
+ width: 108px;
+ height: 22px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.broadsoft.small {
+ background-position: -210px -1821px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.broadsoft.medium {
+ background-position: -140px -1809px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.broadsoft.large {
+ background-position: -70px -1789px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.alcatelLucent {
+ background-position: -281px -1901px;
+ width: 118px;
+ height: 25px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.alcatelLucent.small {
+ background-position: -210px -1891px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.alcatelLucent.medium {
+ background-position: -140px -1879px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.alcatelLucent.large {
+ background-position: -70px -1859px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.metaswitch {
+ background-position: -282px -1961px;
+ width: 115px;
+ height: 27px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.metaswitch.small {
+ background-position: -210px -1961px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.metaswitch.medium {
+ background-position: -140px -1949px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.metaswitch.large {
+ background-position: -70px -1929px;
+ width: 61px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.aricent {
+ background-position: -282px -2046px;
+ width: 93px;
+ height: 13px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.aricent.small {
+ background-position: -210px -2031px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.aricent.medium {
+ background-position: -140px -2019px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.aricent.large {
+ background-position: -70px -1999px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.cp {
+ background-position: -90px -4038px;
+ width: 21px;
+ height: 21px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.cp.small {
+ background-position: -90px -4038px;
+ width: 21px;
+ height: 21px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.cp.medium {
+ background-position: -151px -4048px;
+ width: 21px;
+ height: 21px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.cp.large {
+ background-position: -194px -4034px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.vl {
+ background-position: -210px -2591px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.vl.small {
+ background-position: -210px -2591px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.vl.medium {
+ background-position: -141px -2579px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.vl.large {
+ background-position: -70px -2560px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.cloudep {
+ background-position: -282px -2225px;
+ width: 63px;
+ height: 43px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.cloudep.small {
+ background-position: -209px -2241px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.cloudep.medium {
+ background-position: -141px -2229px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.cloudep.large {
+ background-position: -70px -2209px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.personep {
+ background-position: -282px -2292px;
+ width: 47px;
+ height: 47px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.personep.small {
+ background-position: -210px -2311px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.personep.medium {
+ background-position: -141px -2299px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.personep.large {
+ background-position: -70px -2279px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.premisesep {
+ background-position: -281px -2360px;
+ width: 41px;
+ height: 50px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.premisesep.small {
+ background-position: -210px -2380px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.premisesep.medium {
+ background-position: -141px -2368px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.premisesep.large {
+ background-position: -70px -2349px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.ossep {
+ background-position: -281px -2420px;
+ width: 67px;
+ height: 59px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.ossep.small {
+ background-position: -210px -2451px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.ossep.medium {
+ background-position: -141px -2439px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.ossep.large {
+ background-position: -70px -2419px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.firewall {
+ background-position: -282px -3257px;
+ width: 73px;
+ height: 74px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.firewall.small {
+ background-position: -210px -3301px;
+ width: 29px;
+ height: 29px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.firewall.medium {
+ background-position: -141px -3289px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.firewall.large {
+ background-position: -70px -3270px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.vfw {
+ background-position: -282px -3257px;
+ width: 73px;
+ height: 74px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.vfw.small {
+ background-position: -210px -3301px;
+ width: 29px;
+ height: 29px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.vfw.medium {
+ background-position: -141px -3289px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.vfw.large {
+ background-position: -70px -3270px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.ucpe {
+ background-position: -282px -3120px;
+ width: 59px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.ucpe.small {
+ background-position: -210px -3150px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.ucpe.medium {
+ background-position: -141px -3137px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.ucpe.large {
+ background-position: -70px -3119px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.vrouter {
+ background-position: -282px -3066px;
+ width: 69px;
+ height: 43px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.vrouter.small {
+ background-position: -210px -3080px;
+ width: 29px;
+ height: 29px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.vrouter.medium {
+ background-position: -141px -3068px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.vrouter.large {
+ background-position: -70px -3049px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.wanx {
+ background-position: -283px -2992px;
+ width: 58px;
+ height: 47px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.wanx.small {
+ background-position: -210px -3009px;
+ width: 30px;
+ height: 30px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.wanx.medium {
+ background-position: -141px -2998px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.wanx.large {
+ background-position: -70px -2979px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.networkrules {
+ background-position: -282px -4731px;
+ width: 49px;
+ height: 58px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.networkrules.small {
+ background-position: -210px -4749px;
+ width: 31px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.networkrules.medium {
+ background-position: -141px -4737px;
+ width: 42px;
+ height: 47px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.networkrules.large {
+ background-position: -70px -4718px;
+ width: 60px;
+ height: 67px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.securityrules {
+ background-position: -282px -4651px;
+ width: 49px;
+ height: 58px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.securityrules.small {
+ background-position: -210px -4669px;
+ width: 31px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.securityrules.medium {
+ background-position: -141px -4657px;
+ width: 42px;
+ height: 47px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.securityrules.large {
+ background-position: -70px -4638px;
+ width: 60px;
+ height: 67px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.dcae_source {
+ background-position: -282px -4563px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.dcae_source.small {
+ background-position: -210px -4588px;
+ width: 29px;
+ height: 29px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.dcae_source.medium {
+ background-position: -141px -4576px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.dcae_source.large {
+ background-position: -70px -4558px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.dcae_collector {
+ background-position: -280px -4500px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.dcae_collector.small {
+ background-position: -210px -4508px;
+ width: 29px;
+ height: 29px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.dcae_collector.medium {
+ background-position: -141px -4496px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.dcae_collector.large {
+ background-position: -69px -4477px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.dcae_utilty {
+ background-position: -283px -4246px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.dcae_utilty.small {
+ background-position: -210px -4268px;
+ width: 29px;
+ height: 29px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.dcae_utilty.medium {
+ background-position: -141px -4256px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.dcae_utilty.large {
+ background-position: -70px -4238px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.dcae_microservice {
+ background-position: -281px -4167px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.dcae_microservice.small {
+ background-position: -210px -4188px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.dcae_microservice.medium {
+ background-position: -140px -4176px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.dcae_microservice.large {
+ background-position: -71px -4157px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.dcae_analytics {
+ background-position: -282px -4409px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.dcae_analytics.small {
+ background-position: -210px -4424px;
+ width: 29px;
+ height: 29px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.dcae_analytics.medium {
+ background-position: -141px -4413px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.dcae_analytics.large {
+ background-position: -70px -4394px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.dcae_database {
+ background-position: -282px -180px;
+ width: 63px;
+ height: 56px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.dcae_database.small {
+ background-position: -210px -211px;
+ width: 29px;
+ height: 29px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.dcae_database.medium {
+ background-position: -140px -199px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.dcae_database.large {
+ background-position: -70px -179px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.dcae_policy {
+ background-position: -282px -4332px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.dcae_policy.small {
+ background-position: -210px -4348px;
+ width: 29px;
+ height: 29px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.dcae_policy.medium {
+ background-position: -141px -4336px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.dcae_policy.large {
+ background-position: -70px -4317px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.monitoring_template {
+ background-position: -283px -4824px;
+ width: 54px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.monitoring_template.small {
+ background-position: -211px -4831px;
+ width: 29px;
+ height: 29px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.monitoring_template.medium {
+ background-position: -142px -4819px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.monitoring_template.large {
+ background-position: -71px -4800px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.allotted_resource {
+ background-position: -283px -4896px;
+ width: 44px;
+ height: 44px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.allotted_resource.small {
+ background-position: -210px -4910px;
+ width: 29px;
+ height: 29px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.allotted_resource.medium {
+ background-position: -141px -4898px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .dcae-main-container .sprite-resource-icons.allotted_resource.large {
+ background-position: -70px -4879px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-services-icons {
+ background-image: url(/sdc1/scripts/images/sprite-services-icons.638019588f5319701849.png);
+ display: inline-block;
+}
+#dcaedt .dcae-main-container .sprite-services-icons.disable {
+ opacity: 0.5;
+}
+#dcaedt .dcae-main-container .sprite-services-icons.compute {
+ background-position: -282px -46px;
+ width: 55px;
+ height: 53px;
+}
+#dcaedt .dcae-main-container .sprite-services-icons.compute.small {
+ background-position: -210px -71px;
+ width: 29px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .sprite-services-icons.compute.medium {
+ background-position: -140px -59px;
+ width: 41px;
+ height: 40px;
+}
+#dcaedt .dcae-main-container .sprite-services-icons.compute.large {
+ background-position: -70px -41px;
+ width: 61px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-services-icons.platform {
+ background-position: -282px -122px;
+ width: 55px;
+ height: 45px;
+}
+#dcaedt .dcae-main-container .sprite-services-icons.platform.small {
+ background-position: -210px -140px;
+ width: 29px;
+ height: 29px;
+}
+#dcaedt .dcae-main-container .sprite-services-icons.platform.medium {
+ background-position: -140px -128px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .dcae-main-container .sprite-services-icons.platform.large {
+ background-position: -70px -109px;
+ width: 61px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-services-icons.storage {
+ background-position: -282px -194px;
+ width: 55px;
+ height: 44px;
+}
+#dcaedt .dcae-main-container .sprite-services-icons.storage.small {
+ background-position: -210px -210px;
+ width: 29px;
+ height: 29px;
+}
+#dcaedt .dcae-main-container .sprite-services-icons.storage.medium {
+ background-position: -140px -198px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .dcae-main-container .sprite-services-icons.storage.large {
+ background-position: -70px -178px;
+ width: 61px;
+ height: 61px;
+}
+#dcaedt .dcae-main-container .sprite-services-icons.call_controll {
+ background-position: -282px -268px;
+ width: 36px;
+ height: 41px;
+}
+#dcaedt .dcae-main-container .sprite-services-icons.call_controll.small {
+ background-position: -210px -280px;
+ width: 29px;
+ height: 29px;
+}
+#dcaedt .dcae-main-container .sprite-services-icons.call_controll.medium {
+ background-position: -140px -268px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .dcae-main-container .sprite-services-icons.call_controll.large {
+ background-position: -70px -248px;
+ width: 61px;
+ height: 61px;
+}
+#dcaedt .dcae-main-container .sprite-services-icons.collaboration {
+ background-position: -282px -335px;
+ width: 43px;
+ height: 44px;
+}
+#dcaedt .dcae-main-container .sprite-services-icons.collaboration.small {
+ background-position: -210px -350px;
+ width: 29px;
+ height: 29px;
+}
+#dcaedt .dcae-main-container .sprite-services-icons.collaboration.medium {
+ background-position: -140px -338px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .dcae-main-container .sprite-services-icons.collaboration.large {
+ background-position: -70px -318px;
+ width: 61px;
+ height: 61px;
+}
+#dcaedt .dcae-main-container .sprite-services-icons.collaboration1 {
+ background-position: -280px -417px;
+ width: 49px;
+ height: 32px;
+}
+#dcaedt .dcae-main-container .sprite-services-icons.collaboration1.small {
+ background-position: -209px -419px;
+ width: 29px;
+ height: 29px;
+}
+#dcaedt .dcae-main-container .sprite-services-icons.collaboration1.medium {
+ background-position: -140px -408px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .dcae-main-container .sprite-services-icons.collaboration1.large {
+ background-position: -70px -388px;
+ width: 61px;
+ height: 61px;
+}
+#dcaedt .dcae-main-container .sprite-services-icons.messaging {
+ background-position: -282px -482px;
+ width: 43px;
+ height: 40px;
+}
+#dcaedt .dcae-main-container .sprite-services-icons.messaging.small {
+ background-position: -210px -491px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .sprite-services-icons.messaging.medium {
+ background-position: -140px -478px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .dcae-main-container .sprite-services-icons.messaging.large {
+ background-position: -70px -458px;
+ width: 61px;
+ height: 61px;
+}
+#dcaedt .dcae-main-container .sprite-services-icons.notification {
+ background-position: -282px -538px;
+ width: 43px;
+ height: 52px;
+}
+#dcaedt .dcae-main-container .sprite-services-icons.notification.small {
+ background-position: -210px -561px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .sprite-services-icons.notification.medium {
+ background-position: -140px -548px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .dcae-main-container .sprite-services-icons.notification.large {
+ background-position: -70px -528px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-services-icons.mobility {
+ background-position: -282px -598px;
+ width: 64px;
+ height: 62px;
+}
+#dcaedt .dcae-main-container .sprite-services-icons.mobility.small {
+ background-position: -210px -630px;
+ width: 29px;
+ height: 29px;
+}
+#dcaedt .dcae-main-container .sprite-services-icons.mobility.medium {
+ background-position: -140px -618px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .dcae-main-container .sprite-services-icons.mobility.large {
+ background-position: -70px -601px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-services-icons.network_l_1-3 {
+ background-position: -282px -672px;
+ width: 63px;
+ height: 57px;
+}
+#dcaedt .dcae-main-container .sprite-services-icons.network_l_1-3.small {
+ background-position: -210px -701px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .sprite-services-icons.network_l_1-3.medium {
+ background-position: -139px -688px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .dcae-main-container .sprite-services-icons.network_l_1-3.large {
+ background-position: -70px -671px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-services-icons.network_l_4 {
+ background-position: -286px -744px;
+ width: 63px;
+ height: 57px;
+}
+#dcaedt .dcae-main-container .sprite-services-icons.network_l_4.small {
+ background-position: -210px -771px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .sprite-services-icons.network_l_4.medium {
+ background-position: -140px -758px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .dcae-main-container .sprite-services-icons.network_l_4.large {
+ background-position: -70px -740px;
+ width: 61px;
+ height: 61px;
+}
+#dcaedt .dcae-main-container .sprite-services-icons.defaulticon {
+ background-position: -270px -810px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sprite-services-icons.defaulticon.small {
+ background-position: -220px -842px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .sprite-services-icons.defaulticon.medium {
+ background-position: -169px -830px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .dcae-main-container .sprite-services-icons.defaulticon.large {
+ background-position: -70px -809px;
+ width: 60px;
+ height: 60px;
+}
+@-webkit-keyframes flash {
+ 0% {
+ opacity: 1;
+ }
+ 20% {
+ opacity: 1;
+ }
+ 50% {
+ opacity: 0;
+ }
+ 80% {
+ opacity: 1;
+ }
+ 100% {
+ opacity: 1;
+ }
+}
+@keyframes flash {
+ 0% {
+ opacity: 1;
+ }
+ 20% {
+ opacity: 1;
+ }
+ 50% {
+ opacity: 0;
+ }
+ 80% {
+ opacity: 1;
+ }
+ 100% {
+ opacity: 1;
+ }
+}
+@-webkit-keyframes fadein {
+ from {
+ opacity: 0;
+ }
+ to {
+ opacity: 1;
+ }
+}
+@keyframes fadein {
+ from {
+ opacity: 0;
+ }
+ to {
+ opacity: 1;
+ }
+}
+@-webkit-keyframes fadeout {
+ from {
+ opacity: 1;
+ }
+ to {
+ opacity: 0;
+ }
+}
+@keyframes fadeout {
+ from {
+ opacity: 1;
+ }
+ to {
+ opacity: 0;
+ }
+}
+#dcaedt .dcae-main-container .w-sdc-btn {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+ cursor: pointer;
+ border-radius: 5px;
+ border: 0;
+ height: 38px;
+ line-height: 38px;
+ width: 195px;
+ margin: 0 6px;
+ padding: 0;
+ vertical-align: middle;
+ outline: none;
+}
+#dcaedt .dcae-main-container .w-sdc-btn:disabled {
+ background-color: #cdcdcd;
+}
+#dcaedt .dcae-main-container .w-sdc-btn-small {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ cursor: pointer;
+ border-radius: 5px;
+ border: 0;
+ height: 30px;
+ line-height: 30px;
+ width: 71px;
+ margin: 0 6px;
+ padding: 0;
+ outline: none;
+ vertical-align: middle;
+ position: relative;
+}
+#dcaedt .dcae-main-container .w-sdc-btn-small:disabled {
+ background-color: #cdcdcd;
+}
+#dcaedt .dcae-main-container .w-sdc-btn-red-small {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ cursor: pointer;
+ border-radius: 5px;
+ border: 0;
+ height: 30px;
+ line-height: 30px;
+ width: 71px;
+ margin: 0 6px;
+ padding: 0;
+ outline: none;
+ vertical-align: middle;
+ position: relative;
+ background-color: #da1f3d;
+ padding-left: 15px;
+}
+#dcaedt .dcae-main-container .w-sdc-btn-red-small:disabled {
+ background-color: #cdcdcd;
+}
+#dcaedt .dcae-main-container .w-sdc-btn-red-small:hover:enabled {
+ background-color: #ad1931;
+}
+#dcaedt .dcae-main-container .w-sdc-btn-red-small span {
+ position: absolute;
+ top: 7px;
+ left: 10px;
+}
+#dcaedt .dcae-main-container .w-sdc-btn-green-small {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ cursor: pointer;
+ border-radius: 5px;
+ border: 0;
+ height: 30px;
+ line-height: 30px;
+ width: 71px;
+ margin: 0 6px;
+ padding: 0;
+ outline: none;
+ vertical-align: middle;
+ position: relative;
+ background-color: #28bd6e;
+}
+#dcaedt .dcae-main-container .w-sdc-btn-green-small:disabled {
+ background-color: #cdcdcd;
+}
+#dcaedt .dcae-main-container .w-sdc-btn-green-small:hover:enabled {
+ background-color: #1f9356;
+}
+#dcaedt .dcae-main-container .w-sdc-btn-light-green {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+ cursor: pointer;
+ border-radius: 5px;
+ border: 0;
+ height: 38px;
+ line-height: 38px;
+ width: 195px;
+ margin: 0 6px;
+ padding: 0;
+ vertical-align: middle;
+ outline: none;
+ background-color: #28bd6e;
+}
+#dcaedt .dcae-main-container .w-sdc-btn-light-green:disabled {
+ background-color: #cdcdcd;
+}
+#dcaedt .dcae-main-container .w-sdc-btn-light-green:hover:enabled {
+ background-color: #1f9356;
+}
+#dcaedt .dcae-main-container .w-sdc-btn-green {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+ cursor: pointer;
+ border-radius: 5px;
+ border: 0;
+ height: 38px;
+ line-height: 38px;
+ width: 195px;
+ margin: 0 6px;
+ padding: 0;
+ vertical-align: middle;
+ outline: none;
+ background-color: #1d9a95;
+}
+#dcaedt .dcae-main-container .w-sdc-btn-green:disabled {
+ background-color: #cdcdcd;
+}
+#dcaedt .dcae-main-container .w-sdc-btn-green:hover:enabled {
+ background-color: #156f6b;
+}
+#dcaedt .dcae-main-container .w-sdc-btn-blue {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+ cursor: pointer;
+ border-radius: 5px;
+ border: 0;
+ height: 38px;
+ line-height: 38px;
+ width: 195px;
+ margin: 0 6px;
+ padding: 0;
+ vertical-align: middle;
+ outline: none;
+ background-color: #3b7b9b;
+}
+#dcaedt .dcae-main-container .w-sdc-btn-blue:disabled {
+ background-color: #cdcdcd;
+}
+#dcaedt .dcae-main-container .w-sdc-btn-blue:hover:enabled {
+ background-color: #2d5e76;
+}
+#dcaedt .dcae-main-container .w-sdc-btn-dark-gray {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+ cursor: pointer;
+ border-radius: 5px;
+ border: 0;
+ height: 38px;
+ line-height: 38px;
+ width: 195px;
+ margin: 0 6px;
+ padding: 0;
+ vertical-align: middle;
+ outline: none;
+ background-color: #445663;
+}
+#dcaedt .dcae-main-container .w-sdc-btn-dark-gray:disabled {
+ background-color: #cdcdcd;
+}
+#dcaedt .dcae-main-container .w-sdc-btn-dark-gray:hover:enabled {
+ background-color: #2f3c45;
+}
+#dcaedt .dcae-main-container .w-sdc-form-action {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ background-color: #28bd6e;
+ border-radius: 5px;
+ cursor: pointer;
+ border: 0;
+ height: 38px;
+ line-height: 38px;
+ width: 264px;
+}
+#dcaedt .dcae-main-container .w-sdc-form-action:hover {
+ background-color: #23aa63;
+}
+#dcaedt .dcae-main-container .w-sdc-form-action:disabled {
+ background-color: #93deb6;
+}
+#dcaedt .dcae-main-container .w-sdc-classic-btn {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ text-align: center;
+ border-radius: 2px;
+ border-style: solid;
+ border-width: 1px;
+ width: 94px;
+ height: 30px;
+ display: block;
+ vertical-align: middle;
+ line-height: 30px;
+ cursor: pointer;
+ text-decoration: none;
+ box-sizing: border-box;
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ position: relative;
+}
+#dcaedt .dcae-main-container .w-sdc-classic-btn:focus,
+#dcaedt .dcae-main-container .w-sdc-classic-btn:active:focus {
+ outline: 0 none;
+}
+#dcaedt .dcae-main-container .w-sdc-classic-btn.primary {
+ border-color: #056bae;
+ background-color: #009fdb;
+ color: #ffffff;
+}
+#dcaedt .dcae-main-container .w-sdc-classic-btn.primary:hover {
+ background-color: #1ec2ff;
+}
+#dcaedt .dcae-main-container .w-sdc-classic-btn.blue {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ border-color: #036698;
+ background-color: #3b7b9b;
+ box-shadow: 0px 1px 0.99px 0.01px #023c59;
+}
+#dcaedt .dcae-main-container .w-sdc-classic-btn.blue:hover {
+ border-color: #036698;
+ background-color: #458eb2;
+ box-shadow: 0px 1px 0.99px 0.01px #023c59;
+}
+#dcaedt .dcae-main-container .w-sdc-classic-btn.blue:active {
+ border-color: #036698;
+ background-color: #336c88;
+ box-shadow: 0px 1px 0.99px 0.01px #023c59;
+}
+#dcaedt .dcae-main-container .w-sdc-classic-btn.blue:focus:before {
+ content: " ";
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ right: 0px;
+ bottom: -1px;
+ border: 1px solid #ffffff;
+ z-index: 1;
+ border-radius: 2px;
+}
+#dcaedt .dcae-main-container .w-sdc-classic-btn.blue:disabled,
+#dcaedt .dcae-main-container .w-sdc-classic-btn.blue.disabled {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ opacity: 0.3;
+ border-color: #036698;
+ background-color: #3b7b9b;
+ box-shadow: 0px 1px 0.99px 0.01px #023c59;
+}
+#dcaedt .dcae-main-container .w-sdc-classic-btn.green {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ border-color: #25a762;
+ background-color: #28bd6e;
+ box-shadow: 0px 1px 0.99px 0.01px #235600;
+}
+#dcaedt .dcae-main-container .w-sdc-classic-btn.green:hover {
+ border-color: #25a762;
+ background-color: #2bcd77;
+ box-shadow: 0px 1px 0.99px 0.01px #235600;
+}
+#dcaedt .dcae-main-container .w-sdc-classic-btn.green:active {
+ border-color: #45a006;
+ background-color: #24a862;
+ box-shadow: 0px 1px 0.99px 0.01px #235600;
+}
+#dcaedt .dcae-main-container .w-sdc-classic-btn.green:focus:before {
+ content: " ";
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ right: 0px;
+ bottom: -1px;
+ border: 1px solid #ffffff;
+ z-index: 1;
+ border-radius: 2px;
+}
+#dcaedt .dcae-main-container .w-sdc-classic-btn.green:disabled,
+#dcaedt .dcae-main-container .w-sdc-classic-btn.green.disabled {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ opacity: 0.3;
+ border-color: #45a006;
+ background-color: #28bd6e;
+ box-shadow: 0px 1px 0.99px 0.01px #235600;
+}
+#dcaedt .dcae-main-container .w-sdc-classic-btn.gray {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ border-color: #d8d8d8;
+ background-color: #f6f6f6;
+ box-shadow: 0px 1px 0.99px 0.01px #aaaaaa;
+}
+#dcaedt .dcae-main-container .w-sdc-classic-btn.gray:hover {
+ border-color: #d8d8d8;
+ background-color: #ececec;
+ box-shadow: 0px 1px 0.99px 0.01px #aaaaaa;
+}
+#dcaedt .dcae-main-container .w-sdc-classic-btn.gray:active {
+ border-color: #d8d8d8;
+ background-color: #d7d7d7;
+ box-shadow: 0px 1px 0.99px 0.01px #aaaaaa;
+}
+#dcaedt .dcae-main-container .w-sdc-classic-btn.gray:focus:before {
+ content: " ";
+ position: absolute;
+ top: -1px;
+ left: -1px;
+ right: -1px;
+ bottom: -2px;
+ border: 1px solid #666666;
+ z-index: 1;
+ border-radius: 2px;
+}
+#dcaedt .dcae-main-container .w-sdc-classic-btn.gray:disabled,
+#dcaedt .dcae-main-container .w-sdc-classic-btn.gray.disabled {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ opacity: 0.3;
+ border-color: #d8d8d8;
+ background-color: #f6f6f6;
+ box-shadow: 0px 1px 0.99px 0.01px #aaaaaa;
+}
+#dcaedt .dcae-main-container .w-sdc-classic-btn.white {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ border-color: #d8d8d8;
+ background-color: #ffffff;
+ box-shadow: 0px 1px 0.99px 0.01px #aaaaaa;
+}
+#dcaedt .dcae-main-container .w-sdc-classic-btn.white:hover {
+ border-color: #d8d8d8;
+ background-color: #f6f6f6;
+ box-shadow: 0px 1px 0.99px 0.01px #aaaaaa;
+}
+#dcaedt .dcae-main-container .w-sdc-classic-btn.white:active {
+ border-color: #d8d8d8;
+ background-color: #ececec;
+ box-shadow: 0px 1px 0.99px 0.01px #aaaaaa;
+}
+#dcaedt .dcae-main-container .w-sdc-classic-btn.white:focus:before {
+ content: " ";
+ position: absolute;
+ top: -1px;
+ left: -1px;
+ right: -1px;
+ bottom: -2px;
+ border: 1px solid #666666;
+ z-index: 1;
+ border-radius: 2px;
+}
+#dcaedt .dcae-main-container .w-sdc-classic-btn.white:disabled,
+#dcaedt .dcae-main-container .w-sdc-classic-btn.white.disabled {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ opacity: 0.3;
+ border-color: #d8d8d8;
+ background-color: #ffffff;
+ box-shadow: 0px 1px 0.99px 0.01px #aaaaaa;
+}
+#dcaedt .dcae-main-container .w-sdc-wizard-step-btn {
+ background-color: #f6f6f6;
+ border-radius: 50%;
+ color: #ffffff;
+ content: '';
+ height: 36px;
+ width: 36px;
+ text-align: center;
+ display: block;
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ outline: 0 none;
+ position: relative;
+ vertical-align: top;
+ cursor: pointer;
+ vertical-align: middle;
+ border: none;
+ box-shadow: inset 0px 0px 0px 1px #d8d8d8;
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 15px;
+}
+#dcaedt .dcae-main-container .w-sdc-wizard-step-btn:active {
+ box-shadow: none;
+ background-color: #eaeaea;
+}
+#dcaedt .dcae-main-container .w-sdc-wizard-step-btn.disabled {
+ color: #a8b3b9;
+ cursor: default;
+}
+#dcaedt .dcae-main-container .w-sdc-wizard-step-btn.disabled:active {
+ box-shadow: inset 0px 0px 0px 1px #d8d8d8;
+ background-color: #f6f6f6;
+}
+#dcaedt .dcae-main-container .w-sdc-wizard-step-btn.valid {
+ background-color: #ffffff;
+ border-radius: 50%;
+ color: #ffffff;
+ content: '';
+ height: 36px;
+ width: 36px;
+ text-align: center;
+ display: block;
+ box-shadow: inset 0px 0px 0px 2px #28bd6e;
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 15px;
+}
+#dcaedt .dcae-main-container .w-sdc-wizard-step-btn.selected {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 15px;
+ background-color: #3b7b9b;
+ box-shadow: none;
+}
+#dcaedt .dcae-main-container .w-sdc-wizard-step-btn.selected:active {
+ background-color: #336c88;
+}
+#dcaedt .dcae-main-container .w-sdc-dark-header {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 20px;
+ background-color: #445663;
+ height: 94px;
+ width: 100%;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+}
+#dcaedt .dcae-main-container .w-sdc-dark-header .w-sdc-dark-header-logo {
+ cursor: pointer;
+ height: 92px;
+ width: 240px;
+ padding: 28px 28px 28px 60px;
+ -ms-flex-preferred-size: 240px;
+ flex-basis: 240px;
+ -webkit-box-flex: 0;
+ -ms-flex-positive: 0;
+ flex-grow: 0;
+ -ms-flex-negative: 0;
+ flex-shrink: 0;
+}
+#dcaedt .dcae-main-container .w-sdc-dark-header .w-sdc-dark-header-logo .w-sdc-dark-header-logo-icon {
+ display: inline-block;
+ margin-right: 8px;
+ vertical-align: -6px;
+}
+#dcaedt .dcae-main-container .w-sdc-dark-header .w-sdc-dark-header-logo a.w-sdc-dark-header-logo-link {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 30px;
+ text-decoration: none;
+}
+#dcaedt .dcae-main-container .w-sdc-dark-header .w-sdc-dark-header-logo .w-sdc-dark-header-version {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 10px;
+ -moz-opacity: 0.6;
+ -khtml-opacity: 0.6;
+ -webkit-opacity: 0.6;
+ opacity: 0.6;
+}
+#dcaedt .dcae-main-container .w-sdc-dark-header .i-sdc-dark-header-caption {
+ min-width: 175px;
+ text-align: left;
+ cursor: default;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ -webkit-box-flex: 10;
+ -ms-flex-positive: 10;
+ flex-grow: 10;
+ padding-left: 27px;
+ white-space: nowrap;
+}
+#dcaedt .dcae-main-container .w-sdc-dark-header .i-sdc-dark-header-caption .i-sdc-dark-header-caption-text {
+ text-overflow: ellipsis;
+ overflow: hidden;
+}
+#dcaedt .dcae-main-container .w-sdc-dark-header .w-sdc-header-user-container {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+@font-face {
+ font-family: omnes-italic;
+ src: url(/sdc1/scripts/fonts/Omnes_ATTW02Italic.92ae9d8d38675c8ce81b.eot);
+ src: url(/sdc1/scripts/fonts/Omnes_ATTW02Italic.92ae9d8d38675c8ce81b.eot?#iefix) format('embedded-opentype'), url(/sdc1/scripts/images/Omnes_ATTW02Italic.71faeb25a3e646f1f582.ttf);
+}
+@font-face {
+ font-family: omnes-light;
+ src: url(/sdc1/scripts/fonts/Omnes_ATTW02Light.266078b8b4f60ce325d6.eot);
+ src: url(/sdc1/scripts/fonts/Omnes_ATTW02Light.266078b8b4f60ce325d6.eot?#iefix) format('embedded-opentype'), url(/sdc1/scripts/images/Omnes_ATTW02Light.2e91f88ec67c43a8d74e.ttf);
+}
+@font-face {
+ font-family: omnes-light-italic;
+ src: url(/sdc1/scripts/fonts/Omnes_ATTW02LightItalic.466b2c6938e44a0493d4.eot);
+ src: url(/sdc1/scripts/fonts/Omnes_ATTW02LightItalic.466b2c6938e44a0493d4.eot?#iefix) format('embedded-opentype'), url(/sdc1/scripts/images/Omnes_ATTW02LightItalic.ad98ee7578e718507898.ttf);
+}
+@font-face {
+ font-family: omnes-medium;
+ src: url(/sdc1/scripts/fonts/Omnes_ATTW02Medium.0009fcca5ac8f2cec489.eot);
+ src: url(/sdc1/scripts/fonts/Omnes_ATTW02Medium.0009fcca5ac8f2cec489.eot?#iefix) format('embedded-opentype'), url(/sdc1/scripts/images/Omnes_ATTW02Medium.ca4734481095ac177dfb.ttf);
+}
+@font-face {
+ font-family: omnes-medium-italic;
+ src: url(/sdc1/scripts/fonts/Omnes_ATTW02MediumItalic.2677fce2a36bc2e3affd.eot);
+ src: url(/sdc1/scripts/fonts/Omnes_ATTW02MediumItalic.2677fce2a36bc2e3affd.eot?#iefix) format('embedded-opentype'), url(/sdc1/scripts/images/Omnes_ATTW02MediumItalic.763cd1721c06205c692c.ttf);
+}
+@font-face {
+ font-family: omnes-regular;
+ src: url(/sdc1/scripts/fonts/Omnes_ATTW02.6272f8a5338048798717.eot);
+ src: url(/sdc1/scripts/fonts/Omnes_ATTW02.6272f8a5338048798717.eot?#iefix) format('embedded-opentype'), url(/sdc1/scripts/images/Omnes_ATTW02.2e3bc36d7f8cc45d419b.ttf);
+}
+@font-face {
+ font-family: omnes-bold;
+ src: url(/sdc1/scripts/fonts/Omnes_ATTW02Bold.1a6357a3b57418a36cc9.eot);
+ src: url(/sdc1/scripts/fonts/Omnes_ATTW02Bold.1a6357a3b57418a36cc9.eot?#iefix) format('embedded-opentype'), url(/sdc1/scripts/images/Omnes_ATTW02Bold.4640921ff47586654de8.ttf);
+}
+@font-face {
+ font-family: omnes-bold-italic;
+ src: url(/sdc1/scripts/fonts/OmnesATTW02BoldItalic.f3f71dc7a8f1c8a49547.eot);
+ src: url(/sdc1/scripts/fonts/OmnesATTW02BoldItalic.f3f71dc7a8f1c8a49547.eot?#iefix) format('embedded-opentype'), url(/sdc1/scripts/images/OmnesATTW02BoldItalic.3e6fb2d2d79bfbc4282a.ttf);
+}
+@font-face {
+ font-family: clearview-book;
+ src: url(/sdc1/scripts/fonts/ClearviewATT-Bk.607c223b4dd673a27e94.eot);
+ src: url(/sdc1/scripts/fonts/ClearviewATT-Bk.607c223b4dd673a27e94.eot?#iefix) format('embedded-opentype'), url(/sdc1/scripts/images/ClearviewATT-Bk.5fcd57f750c5e22fdf43.ttf);
+}
+#dcaedt .dcae-main-container .w-sdc-form {
+ padding: 0;
+}
+#dcaedt .dcae-main-container .w-sdc-form .w-sdc-form-actions-container {
+ margin: 20px auto;
+ width: 100%;
+}
+#dcaedt .dcae-main-container .w-sdc-form .w-sdc-form-columns-wrapper {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-pack: justify;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+}
+#dcaedt .dcae-main-container .w-sdc-form .w-sdc-form-columns-wrapper .w-sdc-form-column {
+ width: 100%;
+ margin: 0;
+ padding: 0 6% 0 0;
+ text-align: left;
+}
+#dcaedt .dcae-main-container .w-sdc-form .w-sdc-form-columns-wrapper .w-sdc-form-column:last-child {
+ padding: 0;
+}
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item {
+ margin-bottom: 10px;
+ position: relative;
+ text-align: left;
+}
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item.error input[type="text"],
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item.error input[type="url"],
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item.error input[type="number"],
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item.error input[type="password"],
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item.error select,
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item.error textarea {
+ color: #da1f3d;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ border-color: #ea7499;
+ outline: none;
+ box-sizing: border-box;
+}
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item.error input[type="text"]:hover,
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item.error input[type="url"]:hover,
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item.error input[type="number"]:hover,
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item.error input[type="password"]:hover,
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item.error select:hover,
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item.error textarea:hover {
+ color: #da1f3d;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ border-color: #ea7499;
+}
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item.error label {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item label {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ margin: 0 0 2px 0;
+ padding: 0;
+ display: block;
+}
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item label.required::before {
+ color: #f33;
+ content: '*';
+ margin: 0 4px 0 0;
+}
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item input[type="text"],
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item input[type="url"],
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item input[type="number"],
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item input[type="password"],
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item select,
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item textarea {
+ color: #5a5a5a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ background-color: #ffffff;
+ border-radius: 2px;
+ margin: 0;
+ padding: 0;
+ border: solid 1px #d2d2d2;
+ height: 30px;
+ width: 100%;
+ display: block;
+ /* Safari, Chrome and Opera */
+ /* Firefox 18- */
+ /* Firefox 19+ */
+ /* IE 10+ */
+ /* Edge */
+}
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item input[type="text"]::-webkit-input-placeholder,
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item input[type="url"]::-webkit-input-placeholder,
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item input[type="number"]::-webkit-input-placeholder,
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item input[type="password"]::-webkit-input-placeholder,
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item select::-webkit-input-placeholder,
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item textarea::-webkit-input-placeholder {
+ font-style: italic;
+}
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item input[type="text"]:-moz-placeholder,
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item input[type="url"]:-moz-placeholder,
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item input[type="number"]:-moz-placeholder,
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item input[type="password"]:-moz-placeholder,
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item select:-moz-placeholder,
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item textarea:-moz-placeholder {
+ font-style: italic;
+}
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item input[type="text"]::-moz-placeholder,
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item input[type="url"]::-moz-placeholder,
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item input[type="number"]::-moz-placeholder,
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item input[type="password"]::-moz-placeholder,
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item select::-moz-placeholder,
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item textarea::-moz-placeholder {
+ font-style: italic;
+}
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item input[type="text"]:-ms-input-placeholder,
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item input[type="url"]:-ms-input-placeholder,
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item input[type="number"]:-ms-input-placeholder,
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item input[type="password"]:-ms-input-placeholder,
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item select:-ms-input-placeholder,
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item textarea:-ms-input-placeholder {
+ font-style: italic;
+}
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item input[type="text"]:-ms-input-placeholder,
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item input[type="url"]:-ms-input-placeholder,
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item input[type="number"]:-ms-input-placeholder,
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item input[type="password"]:-ms-input-placeholder,
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item select:-ms-input-placeholder,
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item textarea:-ms-input-placeholder {
+ font-style: italic;
+}
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item input[type="text"]:disabled,
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item input[type="url"]:disabled,
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item input[type="number"]:disabled,
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item input[type="password"]:disabled,
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item select:disabled,
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item textarea:disabled {
+ opacity: 0.4;
+}
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item input[type="text"].view-mode,
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item input[type="url"].view-mode,
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item input[type="number"].view-mode,
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item input[type="password"].view-mode,
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item select.view-mode,
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item textarea.view-mode {
+ opacity: 1;
+ border: solid 1px #d2d2d2;
+ background-color: #f8f8f8 !important;
+ pointer-events: none;
+ cursor: auto;
+}
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item input[type="text"],
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item input[type="url"],
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item input[type="number"],
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item input[type="password"] {
+ padding: 4px 10px;
+}
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item select {
+ padding: 4px 7px;
+}
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item textarea {
+ padding: 6px 10px;
+}
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item select optgroup {
+ color: #3b7b9b;
+}
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item select optgroup option {
+ color: #666666;
+}
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item textarea {
+ min-height: 110px;
+ resize: none;
+}
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item-error-icon {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -212px -3990px;
+ width: 13px;
+ height: 11px;
+ position: absolute;
+}
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item-error-icon .i-sdc-form-item-error-message {
+ background-color: #da1f3d;
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ cursor: default;
+ position: absolute;
+ top: -10px;
+ left: -8px;
+ height: 30px;
+ padding: 6px 10px 6px 30px;
+ z-index: 999;
+ text-align: left;
+ border-top-right-radius: 4px;
+ border-bottom-right-radius: 4px;
+ box-shadow: 0px 1px 1px 0px rgba(24, 24, 25, 0.43);
+}
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item-error-icon .i-sdc-form-item-error-message:before {
+ content: '';
+ position: absolute;
+ top: 50%;
+ right: 100%;
+ margin-top: -5px;
+ width: 0;
+ height: 0;
+ border-right: 5px solid #da1f3d;
+ border-top: 5px solid transparent;
+ border-bottom: 5px solid transparent;
+}
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item-error-icon .i-sdc-form-item-error-message span {
+ white-space: nowrap;
+}
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item-error-icon .i-sdc-form-item-error-message span.error {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -212px -3990px;
+ width: 13px;
+ height: 11px;
+ position: absolute;
+ top: 9px;
+ left: 8px;
+}
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item-error-icon .i-sdc-form-item-error-message span.ok {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ cursor: pointer;
+ position: absolute;
+ right: 10px;
+ text-decoration: underline;
+}
+#dcaedt .dcae-main-container .w-sdc-form .i-sdc-form-item-error-icon .i-sdc-form-item-error-message .i-sdc-form-item-error-icon-open {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -51px -3990px;
+ width: 13px;
+ height: 11px;
+ position: absolute;
+ top: 9px;
+ left: 8px;
+}
+#dcaedt .dcae-main-container .w-sdc-form .input-error {
+ color: #cf2a2a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+ text-align: left;
+}
+#dcaedt .dcae-main-container .w-sdc-form .input-error-file-upload {
+ color: #cf2a2a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+ text-align: left;
+ margin-top: -10px;
+ margin-bottom: 10px;
+}
+#dcaedt .dcae-main-container .w-sdc-header {
+ background-color: #D3DBE0;
+ border-bottom: 1px solid #C1CDD5;
+ height: 94px;
+ width: 100%;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+}
+#dcaedt .dcae-main-container .w-sdc-header-logo {
+ background-color: #445663;
+ cursor: pointer;
+ border-bottom: 1px solid #1D3A52;
+ height: 94px;
+ width: 240px;
+ padding: 28px;
+ -ms-flex-preferred-size: 240px;
+ flex-basis: 240px;
+ -webkit-box-flex: 0;
+ -ms-flex-positive: 0;
+ flex-grow: 0;
+ -ms-flex-negative: 0;
+ flex-shrink: 0;
+ z-index: 1020;
+}
+#dcaedt .dcae-main-container .w-sdc-header-logo-icon {
+ display: inline-block;
+ margin-right: 8px;
+ vertical-align: -6px;
+}
+#dcaedt .dcae-main-container a.w-sdc-header-logo-link {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 30px;
+ text-decoration: none;
+}
+#dcaedt .dcae-main-container .w-sdc-header-version {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 10px;
+ -moz-opacity: 0.6;
+ -khtml-opacity: 0.6;
+ -webkit-opacity: 0.6;
+ opacity: 0.6;
+}
+#dcaedt .dcae-main-container .i-sdc-header-caption {
+ min-width: 175px;
+ text-align: left;
+ cursor: default;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ -webkit-box-flex: 10;
+ -ms-flex-positive: 10;
+ flex-grow: 10;
+ padding-left: 27px;
+ white-space: nowrap;
+}
+#dcaedt .dcae-main-container .i-sdc-header-caption .i-sdc-header-caption-text {
+ color: #445663;
+ font-family: omnes-medium, sans-serif;
+ font-size: 20px;
+ text-overflow: ellipsis;
+ overflow: hidden;
+}
+#dcaedt .dcae-main-container .i-sdc-header-caption .i-sdc-header-help {
+ color: #445663;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ cursor: pointer;
+ margin-left: 26px;
+ position: relative;
+ display: inline-block;
+}
+#dcaedt .dcae-main-container .i-sdc-header-caption .i-sdc-header-help::before {
+ background-color: #3b7b9b;
+ border-radius: 50%;
+ color: #ffffff;
+ content: '?';
+ display: block;
+ height: 20px;
+ position: absolute;
+ left: -26px;
+ text-align: center;
+ width: 20px;
+}
+#dcaedt .dcae-main-container .sdc-error-403-container-title {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 20px;
+}
+#dcaedt .dcae-main-container .full-height {
+ height: 100%;
+ background-color: #000000;
+}
+#dcaedt .dcae-main-container .w-sdc-main-container {
+ position: absolute;
+ top: 50px;
+ left: 0;
+ right: 0;
+ bottom: 89px;
+}
+#dcaedt .dcae-main-container .w-sdc-main-container .w-sdc-main-right-container {
+ background-color: #ECEFF3;
+ bottom: 0;
+ padding: 22px 12px;
+ position: absolute;
+ left: 240px;
+ right: 0;
+ top: 0;
+ overflow: hidden;
+}
+#dcaedt .dcae-main-container .w-sdc-main-container .w-sdc-main-right-container > div:first-child {
+ padding-bottom: 80px;
+}
+#dcaedt .dcae-main-container .w-sdc-main-container .w-sdc-main-right-container .sdc-tile-catalog {
+ margin: 10px;
+}
+#dcaedt .dcae-main-container .w-sdc-row-flex-items {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: row;
+ flex-direction: row;
+}
+#dcaedt .dcae-main-container .sdc-loading-page {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-box-pack: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ position: absolute;
+ height: 100%;
+ width: 100%;
+}
+#dcaedt .dcae-main-container .sdc-loading-page .caption1 {
+ color: #ffffff;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+ text-align: center;
+}
+#dcaedt .dcae-main-container .sdc-loading-page .caption2 {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ display: block;
+}
+#dcaedt .dcae-main-container .main-loader .loader {
+ position: relative;
+ margin: 0px auto;
+ width: 80px;
+}
+#dcaedt .dcae-main-container .main-loader .loader:before {
+ content: '';
+ display: block;
+ padding-top: 100%;
+}
+#dcaedt .dcae-main-container .main-loader .circular {
+ -webkit-animation: rotate 2s linear infinite;
+ animation: rotate 2s linear infinite;
+ height: 100%;
+ -webkit-transform-origin: center center;
+ transform-origin: center center;
+ width: 100%;
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ margin: auto;
+}
+#dcaedt .dcae-main-container .main-loader .path {
+ stroke-dasharray: 1,200;
+ stroke-dashoffset: 0;
+ -webkit-animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
+ animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
+ stroke-linecap: round;
+}
+@-webkit-keyframes rotate {
+ 100% {
+ -webkit-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
+@keyframes rotate {
+ 100% {
+ -webkit-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
+@-webkit-keyframes dash {
+ 0% {
+ stroke-dasharray: 1,200;
+ stroke-dashoffset: 0;
+ }
+ 50% {
+ stroke-dasharray: 89,200;
+ stroke-dashoffset: -35px;
+ }
+ 100% {
+ stroke-dasharray: 89,200;
+ stroke-dashoffset: -124px;
+ }
+}
+@keyframes dash {
+ 0% {
+ stroke-dasharray: 1,200;
+ stroke-dashoffset: 0;
+ }
+ 50% {
+ stroke-dasharray: 89,200;
+ stroke-dashoffset: -35px;
+ }
+ 100% {
+ stroke-dasharray: 89,200;
+ stroke-dashoffset: -124px;
+ }
+}
+@-webkit-keyframes color {
+ 100%,
+ 0% {
+ stroke: #eeeeee;
+ }
+ 40% {
+ stroke: #dddddd;
+ }
+ 66% {
+ stroke: #cccccc;
+ }
+ 80%,
+ 90% {
+ stroke: #bbbbbb;
+ }
+}
+@keyframes color {
+ 100%,
+ 0% {
+ stroke: #eeeeee;
+ }
+ 40% {
+ stroke: #dddddd;
+ }
+ 66% {
+ stroke: #cccccc;
+ }
+ 80%,
+ 90% {
+ stroke: #bbbbbb;
+ }
+}
+#dcaedt .dcae-main-container .w-sdc-left-sidebar {
+ width: 242px;
+ overflow: hidden;
+ background-color: #ffffff;
+ box-shadow: 1px 0px 4px 0px rgba(24, 24, 25, 0.17);
+ position: absolute;
+ left: 0;
+ top: 0;
+ bottom: 0;
+ padding: 12px 18px;
+ z-index: 1;
+}
+#dcaedt .dcae-main-container .w-sdc-left-sidebar-menu {
+ margin: 0;
+ padding: 0;
+}
+#dcaedt .dcae-main-container .w-sdc-left-sidebar-menu ul {
+ margin: 0;
+ padding: 0;
+}
+#dcaedt .dcae-main-container .i-sdc-left-sidebar-nav-item {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ cursor: pointer;
+ border-radius: 4px;
+ width: 220px;
+ height: 60px;
+ line-height: 19px;
+ margin: 0 auto 10px;
+ padding: 20px 10px 20px 60px;
+ box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.3);
+ text-align: left;
+}
+#dcaedt .dcae-main-container .i-sdc-left-sidebar-nav-item::before {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ content: '';
+ position: absolute;
+ left: 50px;
+ top: 18px;
+}
+#dcaedt .dcae-main-container .i-sdc-left-sidebar-nav-item.catalog {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+ background-color: #3b7b9b;
+ text-transform: uppercase;
+ position: relative;
+ text-indent: 20px;
+}
+#dcaedt .dcae-main-container .i-sdc-left-sidebar-nav-item.catalog:hover {
+ background-color: #2d5e76;
+}
+#dcaedt .dcae-main-container .i-sdc-left-sidebar-nav-item.catalog::before {
+ background-position: -53px -1303px;
+ width: 20px;
+ height: 20px;
+}
+#dcaedt .dcae-main-container .i-sdc-left-sidebar-nav-item.distribution {
+ background-color: #798996;
+ display: none;
+ position: relative;
+}
+#dcaedt .dcae-main-container .i-sdc-left-sidebar-nav-item.distribution::before {
+ background-position: -50px -1400px;
+ width: 24px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .i-sdc-left-sidebar-nav-item.support {
+ background-color: #3b7b9b;
+ position: relative;
+}
+#dcaedt .dcae-main-container .i-sdc-left-sidebar-nav-item.support::before {
+ background-position: -50px -1500px;
+ width: 22px;
+ height: 22px;
+}
+#dcaedt .dcae-main-container .i-sdc-left-sidebar-nav-item-hierachy {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ cursor: pointer;
+ border-radius: 4px;
+ width: 220px;
+ height: 60px;
+ line-height: 19px;
+ margin: 0 auto 10px;
+ padding: 20px 10px 20px 60px;
+ box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.3);
+ text-align: left;
+}
+#dcaedt .dcae-main-container .i-sdc-left-sidebar-nav-item-hierachy::before {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ content: '';
+ position: absolute;
+ left: 50px;
+ top: 18px;
+}
+#dcaedt .dcae-main-container .i-sdc-left-sidebar-nav-item-hierachy.catalog {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+ background-color: #3b7b9b;
+ text-transform: uppercase;
+ position: relative;
+ text-indent: 20px;
+}
+#dcaedt .dcae-main-container .i-sdc-left-sidebar-nav-item-hierachy.catalog:hover {
+ background-color: #2d5e76;
+}
+#dcaedt .dcae-main-container .i-sdc-left-sidebar-nav-item-hierachy.catalog::before {
+ background-position: -53px -1303px;
+ width: 20px;
+ height: 20px;
+}
+#dcaedt .dcae-main-container .i-sdc-left-sidebar-nav-item-hierachy.distribution {
+ background-color: #798996;
+ display: none;
+ position: relative;
+}
+#dcaedt .dcae-main-container .i-sdc-left-sidebar-nav-item-hierachy.distribution::before {
+ background-position: -50px -1400px;
+ width: 24px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .i-sdc-left-sidebar-nav-item-hierachy.support {
+ background-color: #3b7b9b;
+ position: relative;
+}
+#dcaedt .dcae-main-container .i-sdc-left-sidebar-nav-item-hierachy.support::before {
+ background-position: -50px -1500px;
+ width: 22px;
+ height: 22px;
+}
+#dcaedt .dcae-main-container .i-sdc-left-sidebar-item {
+ list-style: none;
+ color: #5a5a5a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ line-height: 24px;
+ /*&.selectedLink {
+ .c_7;
+ }*/
+}
+#dcaedt .dcae-main-container .i-sdc-left-sidebar-item.category-title {
+ text-transform: uppercase;
+ color: #000000;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ line-height: 30px;
+}
+#dcaedt .dcae-main-container .i-sdc-left-sidebar-item input[type="checkbox"] {
+ margin-right: 10px;
+ vertical-align: sub;
+}
+#dcaedt .dcae-main-container .i-sdc-left-sidebar-item .i-sdc-left-sidebar-item-state-count {
+ float: right;
+}
+#dcaedt .dcae-main-container .i-sdc-left-sidebar-item .sdc-element-checkbox {
+ display: -webkit-inline-box;
+ display: -ms-inline-flexbox;
+ display: inline-flex;
+}
+#dcaedt .dcae-main-container .i-sdc-left-sidebar-item-seperator {
+ border-bottom: solid 1px #f2f2f2;
+ width: 208px;
+}
+#dcaedt .dcae-main-container .modal {
+ text-align: center;
+ padding: 0!important;
+}
+#dcaedt .dcae-main-container .modal:before {
+ content: '';
+ display: inline-block;
+ height: 100%;
+ vertical-align: middle;
+ margin-right: -4px;
+}
+#dcaedt .dcae-main-container .modal-dialog.modal-sdc-xl {
+ width: 1200px;
+}
+#dcaedt .dcae-main-container .modal-dialog.modal-sdc-l {
+ width: 875px;
+}
+#dcaedt .dcae-main-container .modal-dialog.modal-sdc-md {
+ width: 650px;
+}
+#dcaedt .dcae-main-container .modal-dialog.modal-sdc-sm {
+ width: 552px;
+}
+#dcaedt .dcae-main-container .modal-dialog.modal-sdc-xsm {
+ width: 432px;
+}
+#dcaedt .dcae-main-container .modal-dialog {
+ /*
+ margin-top: 110px;
+ width: 1000px;
+ */
+ display: inline-block;
+ text-align: left;
+ vertical-align: middle;
+}
+#dcaedt .dcae-main-container .modal-content {
+ /*.border-radius(4px);
+ background-color: #ffffff;
+ box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.5);
+ min-height: 200px;*/
+}
+#dcaedt .dcae-main-container .modal-backdrop {
+ background-color: #111922;
+}
+#dcaedt .dcae-main-container .modal-type-standard.w-sdc-classic-modal .w-sdc-modal-head {
+ border-bottom: solid 3px #009fdb;
+}
+#dcaedt .dcae-main-container .modal-type-error.w-sdc-classic-modal .w-sdc-modal-head {
+ border-bottom: solid 3px #cf2a2a;
+}
+#dcaedt .dcae-main-container .modal-type-alert.w-sdc-classic-modal .w-sdc-modal-head {
+ border-bottom: solid 3px #ffb81c;
+}
+#dcaedt .dcae-main-container .w-sdc-classic-modal {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ border-radius: 4px;
+ background-color: #ffffff;
+ box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.5);
+ min-height: 165px;
+ min-width: 430px;
+ word-wrap: break-word;
+}
+#dcaedt .dcae-main-container .w-sdc-classic-modal .w-sdc-modal-head {
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ color: #191919;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+ height: 48px;
+ line-height: 48px;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ text-align: left;
+ border-bottom: solid 3px #009fdb;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+}
+#dcaedt .dcae-main-container .w-sdc-classic-modal .w-sdc-modal-head .w-sdc-modal-head-text {
+ color: #191919;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+ -webkit-box-flex: 999;
+ -ms-flex-positive: 999;
+ flex-grow: 999;
+}
+#dcaedt .dcae-main-container .w-sdc-classic-modal .w-sdc-modal-head .w-sdc-modal-close {
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -52px -4041px;
+ width: 10px;
+ height: 11px;
+ cursor: pointer;
+}
+#dcaedt .dcae-main-container .w-sdc-classic-modal .w-sdc-modal-body {
+ -webkit-box-flex: 999;
+ -ms-flex-positive: 999;
+ flex-grow: 999;
+ color: #5a5a5a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ padding-top: 20px;
+ position: relative;
+ border-bottom: none;
+}
+#dcaedt .dcae-main-container .w-sdc-classic-modal .w-sdc-modal-footer {
+ clear: both;
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-box-pack: end;
+ -ms-flex-pack: end;
+ justify-content: flex-end;
+ border-radius: 6px;
+ background-color: #f8f8f8;
+}
+#dcaedt .dcae-main-container .w-sdc-classic-modal .w-sdc-modal-footer button {
+ display: block;
+ margin-right: 11px;
+}
+#dcaedt .dcae-main-container .w-sdc-classic-modal .w-sdc-modal-footer button:last-child {
+ margin-right: 0;
+}
+#dcaedt .dcae-main-container .w-sdc-classic-top-line-modal {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ background-color: #ffffff;
+ box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.5);
+ min-height: 165px;
+ min-width: 430px;
+ border-top: solid 3px #009fdb;
+}
+#dcaedt .dcae-main-container .w-sdc-classic-top-line-modal .w-sdc-modal-head {
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ color: #191919;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+ height: 48px;
+ line-height: 48px;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ text-align: left;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+}
+#dcaedt .dcae-main-container .w-sdc-classic-top-line-modal .w-sdc-modal-head .w-sdc-modal-head-text {
+ color: #191919;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+ -webkit-box-flex: 999;
+ -ms-flex-positive: 999;
+ flex-grow: 999;
+}
+#dcaedt .dcae-main-container .w-sdc-classic-top-line-modal .w-sdc-modal-head .w-sdc-modal-close {
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -52px -4041px;
+ width: 10px;
+ height: 11px;
+ cursor: pointer;
+}
+#dcaedt .dcae-main-container .w-sdc-classic-top-line-modal .w-sdc-modal-body {
+ -webkit-box-flex: 999;
+ -ms-flex-positive: 999;
+ flex-grow: 999;
+ color: #5a5a5a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ padding-top: 10px;
+ position: relative;
+ border-bottom: none;
+}
+#dcaedt .dcae-main-container .w-sdc-classic-top-line-modal .w-sdc-modal-footer {
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-box-pack: end;
+ -ms-flex-pack: end;
+ justify-content: flex-end;
+}
+#dcaedt .dcae-main-container .w-sdc-classic-top-line-modal .w-sdc-modal-footer button {
+ display: block;
+ margin-right: 11px;
+}
+#dcaedt .dcae-main-container .w-sdc-classic-top-line-modal .w-sdc-modal-footer button:last-child {
+ margin-right: 0;
+}
+#dcaedt .dcae-main-container .modal-sdc-xl .w-sdc-classic-modal {
+ padding: 0 40px;
+}
+#dcaedt .dcae-main-container .modal-sdc-xl .w-sdc-classic-modal .w-sdc-modal-head {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 24px;
+ height: 60px;
+ line-height: 60px;
+}
+#dcaedt .dcae-main-container .modal-sdc-xl .w-sdc-classic-modal .w-sdc-modal-head .w-sdc-modal-head-text {
+ -webkit-box-flex: 999;
+ -ms-flex-positive: 999;
+ flex-grow: 999;
+}
+#dcaedt .dcae-main-container .modal-sdc-xl .w-sdc-classic-modal .w-sdc-modal-head .w-sdc-modal-close {
+ top: 27px;
+ right: 41px;
+}
+#dcaedt .dcae-main-container .modal-sdc-xl .w-sdc-classic-modal .w-sdc-modal-footer {
+ height: 80px;
+ margin: 0 -40px;
+ padding: 0 40px;
+ background-color: #f2f2f2;
+}
+#dcaedt .dcae-main-container .modal-sdc-xl .w-sdc-classic-top-line-modal,
+#dcaedt .dcae-main-container .modal-sdc-l .w-sdc-classic-top-line-modal,
+#dcaedt .dcae-main-container .modal-sdc-md .w-sdc-classic-top-line-modal,
+#dcaedt .dcae-main-container .modal-sdc-sm .w-sdc-classic-top-line-modal,
+#dcaedt .dcae-main-container .modal-sdc-xsm .w-sdc-classic-top-line-modal {
+ padding: 0 30px;
+}
+#dcaedt .dcae-main-container .modal-sdc-xl .w-sdc-classic-top-line-modal .w-sdc-modal-footer,
+#dcaedt .dcae-main-container .modal-sdc-l .w-sdc-classic-top-line-modal .w-sdc-modal-footer,
+#dcaedt .dcae-main-container .modal-sdc-md .w-sdc-classic-top-line-modal .w-sdc-modal-footer,
+#dcaedt .dcae-main-container .modal-sdc-sm .w-sdc-classic-top-line-modal .w-sdc-modal-footer,
+#dcaedt .dcae-main-container .modal-sdc-xsm .w-sdc-classic-top-line-modal .w-sdc-modal-footer {
+ margin: 0 -30px;
+ padding: 17px 30px;
+}
+#dcaedt .dcae-main-container .modal-sdc-xl .w-sdc-classic-modal,
+#dcaedt .dcae-main-container .modal-sdc-l .w-sdc-classic-modal,
+#dcaedt .dcae-main-container .modal-sdc-md .w-sdc-classic-modal,
+#dcaedt .dcae-main-container .modal-sdc-sm .w-sdc-classic-modal,
+#dcaedt .dcae-main-container .modal-sdc-xsm .w-sdc-classic-modal {
+ padding: 0 30px;
+}
+#dcaedt .dcae-main-container .modal-sdc-xl .w-sdc-classic-modal .w-sdc-modal-head,
+#dcaedt .dcae-main-container .modal-sdc-l .w-sdc-classic-modal .w-sdc-modal-head,
+#dcaedt .dcae-main-container .modal-sdc-md .w-sdc-classic-modal .w-sdc-modal-head,
+#dcaedt .dcae-main-container .modal-sdc-sm .w-sdc-classic-modal .w-sdc-modal-head,
+#dcaedt .dcae-main-container .modal-sdc-xsm .w-sdc-classic-modal .w-sdc-modal-head {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+ height: 50px;
+ line-height: 50px;
+}
+#dcaedt .dcae-main-container .modal-sdc-xl .w-sdc-classic-modal .w-sdc-modal-head .w-sdc-modal-close,
+#dcaedt .dcae-main-container .modal-sdc-l .w-sdc-classic-modal .w-sdc-modal-head .w-sdc-modal-close,
+#dcaedt .dcae-main-container .modal-sdc-md .w-sdc-classic-modal .w-sdc-modal-head .w-sdc-modal-close,
+#dcaedt .dcae-main-container .modal-sdc-sm .w-sdc-classic-modal .w-sdc-modal-head .w-sdc-modal-close,
+#dcaedt .dcae-main-container .modal-sdc-xsm .w-sdc-classic-modal .w-sdc-modal-head .w-sdc-modal-close {
+ top: 21px;
+ right: 30px;
+}
+#dcaedt .dcae-main-container .modal-sdc-xl .w-sdc-classic-modal .w-sdc-modal-footer,
+#dcaedt .dcae-main-container .modal-sdc-l .w-sdc-classic-modal .w-sdc-modal-footer,
+#dcaedt .dcae-main-container .modal-sdc-md .w-sdc-classic-modal .w-sdc-modal-footer,
+#dcaedt .dcae-main-container .modal-sdc-sm .w-sdc-classic-modal .w-sdc-modal-footer,
+#dcaedt .dcae-main-container .modal-sdc-xsm .w-sdc-classic-modal .w-sdc-modal-footer {
+ margin: 0 -30px;
+ padding: 17px 30px;
+}
+#dcaedt .dcae-main-container .first-level {
+ background-color: #eaeaea;
+ padding: 8px 20px 8px 8px !important;
+ border-bottom: 1px solid rgba(0, 0, 0, 0.1);
+ box-shadow: inset 0px -1px 0px 0px rgba(255, 255, 255, 0.7);
+ height: 40px;
+}
+#dcaedt .dcae-main-container .second-level {
+ background-color: #f8f8f8;
+ padding: 4px 20px 4px 37px !important;
+ border-bottom: 1px solid #d2d2d2;
+ height: 30px;
+}
+#dcaedt .dcae-main-container .expand-collapse-title-icon,
+#dcaedt .dcae-main-container .expand-collapse-title-text {
+ vertical-align: middle;
+}
+#dcaedt .dcae-main-container .expanded .first-level,
+#dcaedt .dcae-main-container .expanded .second-level {
+ background-color: #e6f6fb;
+ border-left: solid #009fdb 4px;
+ box-shadow: 0 0px 3px -1px rgba(0, 0, 0, 0.3);
+ margin-bottom: 2px;
+}
+#dcaedt .dcae-main-container .expanded .first-level {
+ padding-left: 4px !important;
+}
+#dcaedt .dcae-main-container .expanded .second-level {
+ padding-left: 33px !important;
+}
+#dcaedt .dcae-main-container .ps-container > .ps-scrollbar-y-rail > .ps-scrollbar-y {
+ background-color: #666666;
+ border-radius: 0px;
+ opacity: 1;
+ width: 6px;
+ margin: 0 2px;
+}
+#dcaedt .dcae-main-container .ps-container > .ps-scrollbar-y-rail {
+ border-radius: 0px;
+ width: 10px ;
+ background-color: rgba(255, 255, 255, 0.5);
+ z-index: 1000;
+}
+#dcaedt .dcae-main-container .table-container-flex {
+ /* height: 650px; */
+ margin-top: 35px;
+ clear: both;
+}
+#dcaedt .dcae-main-container .table-container-flex .table {
+ width: 100%;
+ border: 1px solid #d8d8d8;
+}
+#dcaedt .dcae-main-container .table-container-flex .table .head {
+ background-color: #eaeaea;
+}
+#dcaedt .dcae-main-container .table-container-flex .table .head .head-row {
+ color: #333333;
+ font-weight: bold;
+ text-align: center;
+ border-right: 1px solid rgba(120, 136, 148, 0.26);
+ padding: 8px 15px;
+}
+#dcaedt .dcae-main-container .table-container-flex .table .head .head-row:last-child {
+ border-right: none;
+}
+#dcaedt .dcae-main-container .table-container-flex .table .head .head-row .table-header-sort-arrow {
+ display: inline-block;
+ background-color: transparent;
+ border: none;
+ color: #AAA;
+ margin: 8px 0 0 5px;
+}
+#dcaedt .dcae-main-container .table-container-flex .table .head .head-row .table-header-sort-arrow.up {
+ border-left: 5px solid transparent;
+ border-right: 5px solid transparent;
+ border-bottom: 5px solid;
+}
+#dcaedt .dcae-main-container .table-container-flex .table .head .head-row .table-header-sort-arrow.down {
+ border-left: 5px solid transparent;
+ border-right: 5px solid transparent;
+ border-top: 5px solid;
+}
+#dcaedt .dcae-main-container .table-container-flex .table .body {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .table-container-flex .table .body .scrollbar-container {
+ max-height: 430px;
+ position: relative;
+ overflow: hidden;
+}
+#dcaedt .dcae-main-container .table-container-flex .table .body .data-row {
+ border-bottom: 1px solid rgba(120, 136, 148, 0.26);
+}
+#dcaedt .dcae-main-container .table-container-flex .table .body .data-row div {
+ border-right: 1px solid rgba(120, 136, 148, 0.26);
+}
+#dcaedt .dcae-main-container .table-container-flex .table .body .data-row div:last-child {
+ border-right: none;
+}
+#dcaedt .dcae-main-container .table-container-flex .table .body .data-row div .table-role-select {
+ background-color: transparent;
+ border: 0;
+ width: 100%;
+}
+#dcaedt .dcae-main-container .table-container-flex .table .body .data-row div .table-role-label {
+ margin-left: 4px;
+}
+#dcaedt .dcae-main-container .table-container-flex .table .body .data-row.selected {
+ background-color: #e6f6fb;
+}
+#dcaedt .dcae-main-container .table-container-flex .table .body .data-row + div.item-opened {
+ border-bottom: 1px solid rgba(120, 136, 148, 0.26);
+ padding: 10px 23px;
+ text-align: left;
+ word-break: break-all;
+}
+#dcaedt .dcae-main-container .table-container-flex .table .body .data-row:hover {
+ background-color: #D3DBE0;
+}
+#dcaedt .dcae-main-container .table-container-flex .table .body button.add-button {
+ margin: 10px auto;
+ display: block;
+ border: 1px solid #eaeaea;
+ background-color: #f2f2f2;
+ box-shadow: 0px 1px 1px 0px rgba(24, 24, 25, 0.05);
+ width: 297px;
+ height: 39px;
+ color: #666666;
+ font-size: 14px;
+ font-weight: bold;
+}
+#dcaedt .dcae-main-container .table-container-flex .table .body button.add-button:before {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -350px -125px;
+ width: 18px;
+ height: 18px;
+ float: left;
+ margin-left: 5px;
+ content: "";
+}
+#dcaedt .dcae-main-container .table-container-flex .table .no-row-text {
+ text-align: center;
+ margin-top: 25px;
+}
+#dcaedt .dcae-main-container .table-container-flex .table .no-row-text a {
+ cursor: pointer;
+}
+#dcaedt .dcae-main-container .table-container-flex .table .table-btn-col {
+ line-height: 0px;
+ text-align: center;
+}
+#dcaedt .dcae-main-container .table-container-flex .table .table-btn-col .table-delete-btn {
+ background-color: transparent;
+ border: none;
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -64px -2771px;
+ width: 11px;
+ height: 13px;
+ opacity: 0.8;
+}
+#dcaedt .dcae-main-container .table-container-flex .table .table-btn-col .table-edit-btn {
+ background-color: transparent;
+ border: none;
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -51px -3339px;
+ width: 12px;
+ height: 12px;
+ opacity: 0.8;
+ margin-right: 10px;
+}
+#dcaedt .dcae-main-container .table-container-flex .table .table-btn-col .table-save-btn {
+ background-color: transparent;
+ border: none;
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -157px -4089px;
+ width: 12px;
+ height: 12px;
+}
+#dcaedt .dcae-main-container .table-container-flex .table .table-btn-col .table-download-btn {
+ background-color: transparent;
+ border: none;
+ cursor: pointer;
+ margin-left: 10px;
+ opacity: 0.8;
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -51px -3390px;
+ width: 12px;
+ height: 11px;
+}
+#dcaedt .dcae-main-container .table-container-flex .no-row-text {
+ text-align: center;
+ font-size: 15px;
+ border-bottom: 1px solid #d8d8d8;
+ width: 300px;
+ margin: 26px auto;
+ padding-bottom: 22px;
+}
+#dcaedt .dcae-main-container .table-container-flex .flex-container {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+}
+#dcaedt .dcae-main-container .table-container-flex .flex-item {
+ width: 10px;
+ line-height: 25px;
+ padding: 5px 15px;
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ text-align: left;
+}
+#dcaedt .dcae-main-container .tlv-btn {
+ border-radius: 2px;
+ cursor: pointer;
+ display: inline-block;
+ font-family: omnes-medium, Sans-Serif;
+ height: 32px;
+ min-width: 96px;
+ line-height: 30px;
+ padding: 0 16px;
+ text-align: center;
+ vertical-align: middle;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .tlv-btn:disabled {
+ opacity: .4;
+ pointer-events: none;
+}
+#dcaedt .dcae-main-container .tlv-btn.blue {
+ background-color: #009fdb;
+ border: 1px solid #0091c8;
+ color: #fff;
+}
+#dcaedt .dcae-main-container .tlv-btn.blue:hover {
+ background-color: #1ec2ff;
+}
+#dcaedt .dcae-main-container .tlv-btn.blue:active {
+ background-color: #0091c7;
+ border: 1px solid #006186;
+ outline: none;
+}
+#dcaedt .dcae-main-container .tlv-btn.blue:focus {
+ border-color: #009fdb;
+ box-shadow: inset 0 0 0 1px #fff;
+ outline: none;
+}
+#dcaedt .dcae-main-container .tlv-btn.white {
+ background-color: #fff;
+ border: 1px solid #d8d8d8;
+ color: #959595;
+}
+#dcaedt .dcae-main-container .tlv-btn.white:hover {
+ border-color: #959595;
+}
+#dcaedt .dcae-main-container .tlv-btn.white:active {
+ background-color: #f2f2f2;
+ border: 1px solid #595959;
+ outline: none;
+}
+#dcaedt .dcae-main-container .tlv-btn.white:focus {
+ border-color: #959595;
+ box-shadow: inset 0 0 0 1px #fff, inset 0 0 0 2px #959595;
+ outline: none;
+}
+#dcaedt .dcae-main-container .tlv-btn.grey {
+ background-color: #f8f8f8;
+ border: 1px solid #d8d8d8;
+ color: #000;
+}
+#dcaedt .dcae-main-container .tlv-btn.grey:hover {
+ border-color: #959595;
+}
+#dcaedt .dcae-main-container .tlv-btn.grey:active {
+ background-color: #d7d7d7;
+ border: 1px solid #595959;
+ outline: none;
+}
+#dcaedt .dcae-main-container .tlv-btn.grey:focus {
+ background-color: #f8f8f8;
+ border-color: #959595;
+ box-shadow: inset 0 0 0 1px #ffffff, inset 0 0 0 2px #959595;
+ outline: none;
+}
+#dcaedt .dcae-main-container .tlv-btn.green {
+ background-color: #4ca90c;
+ border: 1px solid #45a006;
+ color: #fff;
+}
+#dcaedt .dcae-main-container .tlv-btn.green:hover {
+ background-color: #5ec616;
+}
+#dcaedt .dcae-main-container .tlv-btn.green:active {
+ background-color: #3f8c0a;
+ border: 1px solid #2c6604;
+ outline: none;
+}
+#dcaedt .dcae-main-container .tlv-btn.green:focus {
+ box-shadow: inset 0 0 0 1px #fff;
+ outline: none;
+}
+#dcaedt .dcae-main-container .tlv-btn.red {
+ background-color: #fc2727;
+ border: 1px solid #a01a1a;
+ color: #fff;
+}
+#dcaedt .dcae-main-container .tlv-btn.red:hover {
+ background-color: #fc2727;
+}
+#dcaedt .dcae-main-container .tlv-btn.red:active {
+ background-color: #a01a1a;
+ border: 1px solid #730202;
+ outline: none;
+}
+#dcaedt .dcae-main-container .tlv-btn.red:focus {
+ box-shadow: inset 0 0 0 1px #ffffff;
+ outline: none;
+}
+#dcaedt .dcae-main-container .tlv-btn.outline.blue {
+ background-color: #fff;
+ border: 1px solid #009fdb;
+ color: #009fdb;
+}
+#dcaedt .dcae-main-container .tlv-btn.outline.blue:hover {
+ background-color: #e5f5fb;
+}
+#dcaedt .dcae-main-container .tlv-btn.outline.blue:active {
+ background-color: #b2e2f4;
+ border: 1px solid #009fdb;
+ outline: none;
+}
+#dcaedt .dcae-main-container .tlv-btn.outline.blue:focus {
+ background-color: #fff;
+ border-color: #009fdb;
+ box-shadow: inset 0 0 0 1px #fff, inset 0 0 0 2px #009fdb;
+ outline: none;
+}
+#dcaedt .dcae-main-container .tlv-btn.outline.grey {
+ background-color: #ffffff;
+ border: 1px solid #959595;
+ color: #5a5a5a;
+}
+#dcaedt .dcae-main-container .tlv-btn.outline.grey:hover {
+ background-color: #f4f4f4;
+ border-color: #959595;
+}
+#dcaedt .dcae-main-container .tlv-btn.outline.grey:active {
+ background-color: #dfdfdf;
+ border: 1px solid #959595;
+ outline: none;
+}
+#dcaedt .dcae-main-container .tlv-btn.outline.grey:focus {
+ background-color: #fff;
+ border-color: #959595;
+ box-shadow: inset 0 0 0 1px #fff, inset 0 0 0 2px #959595;
+ outline: none;
+}
+#dcaedt .dcae-main-container .tlv-btn.outline.green {
+ background-color: #ffffff;
+ border: 1px solid #4ca90c;
+ color: #4ca90c;
+}
+#dcaedt .dcae-main-container .tlv-btn.outline.green:hover {
+ background-color: #edf6e6;
+ border-color: #4ca90c;
+}
+#dcaedt .dcae-main-container .tlv-btn.outline.green:active {
+ background-color: #c9e5b6;
+ border: 1px solid #4ca90c;
+ outline: none;
+}
+#dcaedt .dcae-main-container .tlv-btn.outline.green:focus {
+ background-color: #fff;
+ border-color: #4ca90c;
+ box-shadow: inset 0 0 0 1px #fff, inset 0 0 0 2px #4ca90c;
+ outline: none;
+}
+#dcaedt .dcae-main-container .tlv-btn.outline.red {
+ background-color: #ffffff;
+ border: 1px solid #cf2a2a;
+ color: #cf2a2a;
+}
+#dcaedt .dcae-main-container .tlv-btn.outline.red:hover {
+ background-color: #fae9e9;
+ border-color: #cf2a2a;
+}
+#dcaedt .dcae-main-container .tlv-btn.outline.red:active {
+ background-color: #c9e5b6;
+ border: 1px solid #cf2a2a;
+ outline: none;
+}
+#dcaedt .dcae-main-container .tlv-btn.outline.red:focus {
+ background-color: #fff;
+ border-color: #cf2a2a;
+ box-shadow: inset 0 0 0 1px #fff, inset 0 0 0 2px #cf2a2a;
+ outline: none;
+}
+#dcaedt .dcae-main-container .tlv-checkbox {
+ font-family: clearview-book, Sans-Serif;
+ font-size: 14px;
+ display: inline-block;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i {
+ height: 0;
+ /*visibility: hidden;*/
+ display: none;
+ width: 0;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:checked ~ .tlv-checkbox-label::before,
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:checked:hover ~ .tlv-checkbox-label::before {
+ background-image: url(/sdc1/scripts/images/tlv-sprite.068743809b588c3fce24.png);
+ display: inline-block;
+ vertical-align: middle;
+ background-position: -10px -120px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:checked ~ .tlv-checkbox-label::before.logo-blue,
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:checked:hover ~ .tlv-checkbox-label::before.logo-blue {
+ background-position: -10px -20px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:checked ~ .tlv-checkbox-label::before.user,
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:checked:hover ~ .tlv-checkbox-label::before.user {
+ background-position: -50px -20px;
+ width: 15px;
+ height: 20px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:checked ~ .tlv-checkbox-label::before .facebook,
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:checked:hover ~ .tlv-checkbox-label::before .facebook {
+ background-position: -10px -260px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:checked ~ .tlv-checkbox-label::before .facebook-hover,
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:checked:hover ~ .tlv-checkbox-label::before .facebook-hover {
+ background-position: -10px -300px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:checked ~ .tlv-checkbox-label::before .twitter,
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:checked:hover ~ .tlv-checkbox-label::before .twitter {
+ background-position: -50px -260px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:checked ~ .tlv-checkbox-label::before .twitter-hover,
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:checked:hover ~ .tlv-checkbox-label::before .twitter-hover {
+ background-position: -50px -300px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:checked ~ .tlv-checkbox-label::before .linkedin,
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:checked:hover ~ .tlv-checkbox-label::before .linkedin {
+ background-position: -89px -260px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:checked ~ .tlv-checkbox-label::before .linkedin-hover,
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:checked:hover ~ .tlv-checkbox-label::before .linkedin-hover {
+ background-position: -89px -300px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:checked ~ .tlv-checkbox-label::before .youtube,
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:checked:hover ~ .tlv-checkbox-label::before .youtube {
+ background-position: -130px -260px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:checked ~ .tlv-checkbox-label::before .youtube-hover,
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:checked:hover ~ .tlv-checkbox-label::before .youtube-hover {
+ background-position: -130px -300px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:checked ~ .tlv-checkbox-label::before .footer-open,
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:checked:hover ~ .tlv-checkbox-label::before .footer-open {
+ background-position: -250px -59px;
+ width: 14px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:checked ~ .tlv-checkbox-label::before .footer-open-hover,
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:checked:hover ~ .tlv-checkbox-label::before .footer-open-hover {
+ background-position: -250px -79px;
+ width: 14px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:checked ~ .tlv-checkbox-label::before .footer-close,
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:checked:hover ~ .tlv-checkbox-label::before .footer-close {
+ background-position: -230px -59px;
+ width: 14px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:checked ~ .tlv-checkbox-label::before .footer-close-hover,
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:checked:hover ~ .tlv-checkbox-label::before .footer-close-hover {
+ background-position: -230px -79px;
+ width: 14px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:checked ~ .tlv-checkbox-label::before .checkbox-disadbled,
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:checked:hover ~ .tlv-checkbox-label::before .checkbox-disadbled {
+ background-position: -10px -60px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:checked ~ .tlv-checkbox-label::before .checkbox,
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:checked:hover ~ .tlv-checkbox-label::before .checkbox {
+ background-position: -10px -60px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:checked ~ .tlv-checkbox-label::before .checkbox-hover,
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:checked:hover ~ .tlv-checkbox-label::before .checkbox-hover {
+ background-position: -10px -100px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:checked ~ .tlv-checkbox-label::before .checkbox-checked,
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:checked:hover ~ .tlv-checkbox-label::before .checkbox-checked {
+ background-position: -10px -120px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:checked ~ .tlv-checkbox-label::before .radio-disabled,
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:checked:hover ~ .tlv-checkbox-label::before .radio-disabled {
+ background-position: -50px -60px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:checked ~ .tlv-checkbox-label::before .radio,
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:checked:hover ~ .tlv-checkbox-label::before .radio {
+ background-position: -50px -80px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:checked ~ .tlv-checkbox-label::before .radio-checked,
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:checked:hover ~ .tlv-checkbox-label::before .radio-checked {
+ background-position: -50px -120px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:disabled ~ .tlv-checkbox-label {
+ pointer-events: none;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:hover ~ .tlv-checkbox-label::before {
+ background-image: url(/sdc1/scripts/images/tlv-sprite.068743809b588c3fce24.png);
+ display: inline-block;
+ vertical-align: middle;
+ background-position: -10px -100px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:hover ~ .tlv-checkbox-label::before.logo-blue {
+ background-position: -10px -20px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:hover ~ .tlv-checkbox-label::before.user {
+ background-position: -50px -20px;
+ width: 15px;
+ height: 20px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:hover ~ .tlv-checkbox-label::before .facebook {
+ background-position: -10px -260px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:hover ~ .tlv-checkbox-label::before .facebook-hover {
+ background-position: -10px -300px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:hover ~ .tlv-checkbox-label::before .twitter {
+ background-position: -50px -260px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:hover ~ .tlv-checkbox-label::before .twitter-hover {
+ background-position: -50px -300px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:hover ~ .tlv-checkbox-label::before .linkedin {
+ background-position: -89px -260px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:hover ~ .tlv-checkbox-label::before .linkedin-hover {
+ background-position: -89px -300px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:hover ~ .tlv-checkbox-label::before .youtube {
+ background-position: -130px -260px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:hover ~ .tlv-checkbox-label::before .youtube-hover {
+ background-position: -130px -300px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:hover ~ .tlv-checkbox-label::before .footer-open {
+ background-position: -250px -59px;
+ width: 14px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:hover ~ .tlv-checkbox-label::before .footer-open-hover {
+ background-position: -250px -79px;
+ width: 14px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:hover ~ .tlv-checkbox-label::before .footer-close {
+ background-position: -230px -59px;
+ width: 14px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:hover ~ .tlv-checkbox-label::before .footer-close-hover {
+ background-position: -230px -79px;
+ width: 14px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:hover ~ .tlv-checkbox-label::before .checkbox-disadbled {
+ background-position: -10px -60px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:hover ~ .tlv-checkbox-label::before .checkbox {
+ background-position: -10px -60px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:hover ~ .tlv-checkbox-label::before .checkbox-hover {
+ background-position: -10px -100px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:hover ~ .tlv-checkbox-label::before .checkbox-checked {
+ background-position: -10px -120px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:hover ~ .tlv-checkbox-label::before .radio-disabled {
+ background-position: -50px -60px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:hover ~ .tlv-checkbox-label::before .radio {
+ background-position: -50px -80px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-i:hover ~ .tlv-checkbox-label::before .radio-checked {
+ background-position: -50px -120px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-label {
+ /*display: inline-block;*/
+ display: block;
+ vertical-align: middle;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-label::before {
+ background-image: url(/sdc1/scripts/images/tlv-sprite.068743809b588c3fce24.png);
+ background-position: -10px -60px;
+ width: 14px;
+ height: 14px;
+ content: '';
+ display: inline-block;
+ margin-right: 4px;
+ margin-top: -2px;
+ vertical-align: middle;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-label::before.logo-blue {
+ background-position: -10px -20px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-label::before.user {
+ background-position: -50px -20px;
+ width: 15px;
+ height: 20px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-label::before .facebook {
+ background-position: -10px -260px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-label::before .facebook-hover {
+ background-position: -10px -300px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-label::before .twitter {
+ background-position: -50px -260px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-label::before .twitter-hover {
+ background-position: -50px -300px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-label::before .linkedin {
+ background-position: -89px -260px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-label::before .linkedin-hover {
+ background-position: -89px -300px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-label::before .youtube {
+ background-position: -130px -260px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-label::before .youtube-hover {
+ background-position: -130px -300px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-label::before .footer-open {
+ background-position: -250px -59px;
+ width: 14px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-label::before .footer-open-hover {
+ background-position: -250px -79px;
+ width: 14px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-label::before .footer-close {
+ background-position: -230px -59px;
+ width: 14px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-label::before .footer-close-hover {
+ background-position: -230px -79px;
+ width: 14px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-label::before .checkbox-disadbled {
+ background-position: -10px -60px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-label::before .checkbox {
+ background-position: -10px -60px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-label::before .checkbox-hover {
+ background-position: -10px -100px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-label::before .checkbox-checked {
+ background-position: -10px -120px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-label::before .radio-disabled {
+ background-position: -50px -60px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-label::before .radio {
+ background-position: -50px -80px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .tlv-checkbox .tlv-checkbox-label::before .radio-checked {
+ background-position: -50px -120px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .tlv-radio {
+ font-size: 14px;
+ display: inline-block;
+}
+#dcaedt .dcae-main-container .tlv-radio .tlv-radio-i {
+ height: 0;
+ visibility: hidden;
+ width: 0;
+}
+#dcaedt .dcae-main-container .tlv-radio .tlv-radio-i:checked ~ .tlv-radio-label::before {
+ background-image: url(/sdc1/scripts/images/tlv-sprite.068743809b588c3fce24.png);
+ display: inline-block;
+ vertical-align: middle;
+ background-position: -50px -120px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .tlv-radio .tlv-radio-i:checked ~ .tlv-radio-label::before.logo-blue {
+ background-position: -10px -20px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .tlv-radio .tlv-radio-i:checked ~ .tlv-radio-label::before.user {
+ background-position: -50px -20px;
+ width: 15px;
+ height: 20px;
+}
+#dcaedt .dcae-main-container .tlv-radio .tlv-radio-i:checked ~ .tlv-radio-label::before .facebook {
+ background-position: -10px -260px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .tlv-radio .tlv-radio-i:checked ~ .tlv-radio-label::before .facebook-hover {
+ background-position: -10px -300px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .tlv-radio .tlv-radio-i:checked ~ .tlv-radio-label::before .twitter {
+ background-position: -50px -260px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .tlv-radio .tlv-radio-i:checked ~ .tlv-radio-label::before .twitter-hover {
+ background-position: -50px -300px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .tlv-radio .tlv-radio-i:checked ~ .tlv-radio-label::before .linkedin {
+ background-position: -89px -260px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .tlv-radio .tlv-radio-i:checked ~ .tlv-radio-label::before .linkedin-hover {
+ background-position: -89px -300px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .tlv-radio .tlv-radio-i:checked ~ .tlv-radio-label::before .youtube {
+ background-position: -130px -260px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .tlv-radio .tlv-radio-i:checked ~ .tlv-radio-label::before .youtube-hover {
+ background-position: -130px -300px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .tlv-radio .tlv-radio-i:checked ~ .tlv-radio-label::before .footer-open {
+ background-position: -250px -59px;
+ width: 14px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .tlv-radio .tlv-radio-i:checked ~ .tlv-radio-label::before .footer-open-hover {
+ background-position: -250px -79px;
+ width: 14px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .tlv-radio .tlv-radio-i:checked ~ .tlv-radio-label::before .footer-close {
+ background-position: -230px -59px;
+ width: 14px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .tlv-radio .tlv-radio-i:checked ~ .tlv-radio-label::before .footer-close-hover {
+ background-position: -230px -79px;
+ width: 14px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .tlv-radio .tlv-radio-i:checked ~ .tlv-radio-label::before .checkbox-disadbled {
+ background-position: -10px -60px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .tlv-radio .tlv-radio-i:checked ~ .tlv-radio-label::before .checkbox {
+ background-position: -10px -60px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .tlv-radio .tlv-radio-i:checked ~ .tlv-radio-label::before .checkbox-hover {
+ background-position: -10px -100px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .tlv-radio .tlv-radio-i:checked ~ .tlv-radio-label::before .checkbox-checked {
+ background-position: -10px -120px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .tlv-radio .tlv-radio-i:checked ~ .tlv-radio-label::before .radio-disabled {
+ background-position: -50px -60px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .tlv-radio .tlv-radio-i:checked ~ .tlv-radio-label::before .radio {
+ background-position: -50px -80px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .tlv-radio .tlv-radio-i:checked ~ .tlv-radio-label::before .radio-checked {
+ background-position: -50px -120px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .tlv-radio .tlv-radio-i:disabled ~ .tlv-radio-label {
+ opacity: .6;
+}
+#dcaedt .dcae-main-container .tlv-radio .tlv-radio-label {
+ display: inline-block;
+ vertical-align: middle;
+ margin-bottom: 0;
+}
+#dcaedt .dcae-main-container .tlv-radio .tlv-radio-label::before {
+ background-image: url(/sdc1/scripts/images/tlv-sprite.068743809b588c3fce24.png);
+ background-position: -50px -80px;
+ width: 14px;
+ height: 14px;
+ content: '';
+ display: inline-block;
+ margin-right: 4px;
+ margin-top: -2px;
+ vertical-align: middle;
+}
+#dcaedt .dcae-main-container .tlv-radio .tlv-radio-label::before.logo-blue {
+ background-position: -10px -20px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .tlv-radio .tlv-radio-label::before.user {
+ background-position: -50px -20px;
+ width: 15px;
+ height: 20px;
+}
+#dcaedt .dcae-main-container .tlv-radio .tlv-radio-label::before .facebook {
+ background-position: -10px -260px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .tlv-radio .tlv-radio-label::before .facebook-hover {
+ background-position: -10px -300px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .tlv-radio .tlv-radio-label::before .twitter {
+ background-position: -50px -260px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .tlv-radio .tlv-radio-label::before .twitter-hover {
+ background-position: -50px -300px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .tlv-radio .tlv-radio-label::before .linkedin {
+ background-position: -89px -260px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .tlv-radio .tlv-radio-label::before .linkedin-hover {
+ background-position: -89px -300px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .tlv-radio .tlv-radio-label::before .youtube {
+ background-position: -130px -260px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .tlv-radio .tlv-radio-label::before .youtube-hover {
+ background-position: -130px -300px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .tlv-radio .tlv-radio-label::before .footer-open {
+ background-position: -250px -59px;
+ width: 14px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .tlv-radio .tlv-radio-label::before .footer-open-hover {
+ background-position: -250px -79px;
+ width: 14px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .tlv-radio .tlv-radio-label::before .footer-close {
+ background-position: -230px -59px;
+ width: 14px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .tlv-radio .tlv-radio-label::before .footer-close-hover {
+ background-position: -230px -79px;
+ width: 14px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .tlv-radio .tlv-radio-label::before .checkbox-disadbled {
+ background-position: -10px -60px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .tlv-radio .tlv-radio-label::before .checkbox {
+ background-position: -10px -60px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .tlv-radio .tlv-radio-label::before .checkbox-hover {
+ background-position: -10px -100px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .tlv-radio .tlv-radio-label::before .checkbox-checked {
+ background-position: -10px -120px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .tlv-radio .tlv-radio-label::before .radio-disabled {
+ background-position: -50px -60px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .tlv-radio .tlv-radio-label::before .radio {
+ background-position: -50px -80px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .tlv-radio .tlv-radio-label::before .radio-checked {
+ background-position: -50px -120px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .tlv-loader {
+ height: 63px;
+ width: 63px;
+ position: absolute;
+ top: 50%;
+ left: 50%;
+}
+#dcaedt .dcae-main-container .tlv-loader.small {
+ -webkit-transform: scale(0.26);
+ transform: scale(0.26);
+ margin-top: -36.5px;
+ margin-left: -36.5px;
+}
+#dcaedt .dcae-main-container .tlv-loader.medium {
+ -webkit-transform: scale(0.5);
+ transform: scale(0.5);
+ margin-top: -26.5px;
+ margin-left: -26.5px;
+}
+#dcaedt .dcae-main-container .tlv-loader.large {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ margin-top: -10.5px;
+ margin-left: -10.5px;
+}
+#dcaedt .dcae-main-container .tlv-loader::before {
+ background-color: #eaeaea;
+ border-radius: 50%;
+ box-shadow: 21px 21px 0px 0px #eaeaea, 0px 42px 0px 0px #eaeaea, -21px 21px 0px 0px #eaeaea;
+ content: '';
+ display: block;
+ height: 21px;
+ width: 21px;
+ position: absolute;
+ left: 50%;
+ margin-left: -10.5px;
+}
+#dcaedt .dcae-main-container .tlv-loader::after {
+ border-radius: 50%;
+ content: '';
+ display: block;
+ position: absolute;
+ height: 21px;
+ width: 21px;
+ -webkit-animation: dot-move-2 4.5s infinite ease-in;
+ animation: dot-move-2 4.5s infinite ease-in;
+}
+@-webkit-keyframes dot-move {
+ 0% {
+ background-color: #3bb2df;
+ left: 21px;
+ top: 0;
+ }
+ 25% {
+ background-color: #ffb81c;
+ left: 42px;
+ top: 21px;
+ }
+ 50% {
+ background-color: #caa2dd;
+ left: 21px;
+ top: 42px;
+ }
+ 75% {
+ background-color: #d9e51c;
+ left: 0;
+ top: 21px;
+ }
+ 100% {
+ background-color: #3bb2df;
+ left: 21px;
+ top: 0;
+ }
+}
+@keyframes dot-move {
+ 0% {
+ background-color: #3bb2df;
+ left: 21px;
+ top: 0;
+ }
+ 25% {
+ background-color: #ffb81c;
+ left: 42px;
+ top: 21px;
+ }
+ 50% {
+ background-color: #caa2dd;
+ left: 21px;
+ top: 42px;
+ }
+ 75% {
+ background-color: #d9e51c;
+ left: 0;
+ top: 21px;
+ }
+ 100% {
+ background-color: #3bb2df;
+ left: 21px;
+ top: 0;
+ }
+}
+@-webkit-keyframes dot-move-2 {
+ 0% {
+ background-color: #3bb2df;
+ left: 21px;
+ top: 0;
+ }
+ 6.25% {
+ background-color: #3bb2df;
+ left: 42px;
+ top: 21px;
+ }
+ 12.5% {
+ background-color: #3bb2df;
+ left: 21px;
+ top: 42px;
+ }
+ 18.75% {
+ background-color: #3bb2df;
+ left: 0;
+ top: 21px;
+ }
+ 25% {
+ background-color: #ffb81c;
+ left: 21px;
+ top: 0;
+ }
+ 31.25% {
+ background-color: #ffb81c;
+ left: 42px;
+ top: 21px;
+ }
+ 37.5% {
+ background-color: #ffb81c;
+ left: 21px;
+ top: 42px;
+ }
+ 43.75% {
+ background-color: #ffb81c;
+ left: 0;
+ top: 21px;
+ }
+ 50% {
+ background-color: #caa2dd;
+ left: 21px;
+ top: 0;
+ }
+ 56.25% {
+ background-color: #caa2dd;
+ left: 42px;
+ top: 21px;
+ }
+ 62.5% {
+ background-color: #caa2dd;
+ left: 21px;
+ top: 42px;
+ }
+ 68.75% {
+ background-color: #caa2dd;
+ left: 0;
+ top: 21px;
+ }
+ 75% {
+ background-color: #d9e51c;
+ left: 21px;
+ top: 0;
+ }
+ 81.25% {
+ background-color: #d9e51c;
+ left: 42px;
+ top: 21px;
+ }
+ 87.5% {
+ background-color: #d9e51c;
+ left: 21px;
+ top: 42px;
+ }
+ 93.75% {
+ background-color: #d9e51c;
+ left: 0;
+ top: 21px;
+ }
+ 100% {
+ background-color: #3bb2df;
+ left: 21px;
+ top: 0;
+ }
+}
+@keyframes dot-move-2 {
+ 0% {
+ background-color: #3bb2df;
+ left: 21px;
+ top: 0;
+ }
+ 6.25% {
+ background-color: #3bb2df;
+ left: 42px;
+ top: 21px;
+ }
+ 12.5% {
+ background-color: #3bb2df;
+ left: 21px;
+ top: 42px;
+ }
+ 18.75% {
+ background-color: #3bb2df;
+ left: 0;
+ top: 21px;
+ }
+ 25% {
+ background-color: #ffb81c;
+ left: 21px;
+ top: 0;
+ }
+ 31.25% {
+ background-color: #ffb81c;
+ left: 42px;
+ top: 21px;
+ }
+ 37.5% {
+ background-color: #ffb81c;
+ left: 21px;
+ top: 42px;
+ }
+ 43.75% {
+ background-color: #ffb81c;
+ left: 0;
+ top: 21px;
+ }
+ 50% {
+ background-color: #caa2dd;
+ left: 21px;
+ top: 0;
+ }
+ 56.25% {
+ background-color: #caa2dd;
+ left: 42px;
+ top: 21px;
+ }
+ 62.5% {
+ background-color: #caa2dd;
+ left: 21px;
+ top: 42px;
+ }
+ 68.75% {
+ background-color: #caa2dd;
+ left: 0;
+ top: 21px;
+ }
+ 75% {
+ background-color: #d9e51c;
+ left: 21px;
+ top: 0;
+ }
+ 81.25% {
+ background-color: #d9e51c;
+ left: 42px;
+ top: 21px;
+ }
+ 87.5% {
+ background-color: #d9e51c;
+ left: 21px;
+ top: 42px;
+ }
+ 93.75% {
+ background-color: #d9e51c;
+ left: 0;
+ top: 21px;
+ }
+ 100% {
+ background-color: #3bb2df;
+ left: 21px;
+ top: 0;
+ }
+}
+#dcaedt .dcae-main-container .tlv-sprite {
+ background-image: url(/sdc1/scripts/images/tlv-sprite.068743809b588c3fce24.png);
+ display: inline-block;
+ vertical-align: middle;
+}
+#dcaedt .dcae-main-container .tlv-sprite.logo-blue {
+ background-position: -10px -20px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .tlv-sprite.user {
+ background-position: -50px -20px;
+ width: 15px;
+ height: 20px;
+}
+#dcaedt .dcae-main-container .tlv-sprite .facebook {
+ background-position: -10px -260px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .tlv-sprite .facebook-hover {
+ background-position: -10px -300px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .tlv-sprite .twitter {
+ background-position: -50px -260px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .tlv-sprite .twitter-hover {
+ background-position: -50px -300px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .tlv-sprite .linkedin {
+ background-position: -89px -260px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .tlv-sprite .linkedin-hover {
+ background-position: -89px -300px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .tlv-sprite .youtube {
+ background-position: -130px -260px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .tlv-sprite .youtube-hover {
+ background-position: -130px -300px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .tlv-sprite .footer-open {
+ background-position: -250px -59px;
+ width: 14px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .tlv-sprite .footer-open-hover {
+ background-position: -250px -79px;
+ width: 14px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .tlv-sprite .footer-close {
+ background-position: -230px -59px;
+ width: 14px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .tlv-sprite .footer-close-hover {
+ background-position: -230px -79px;
+ width: 14px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .tlv-sprite .checkbox-disadbled {
+ background-position: -10px -60px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .tlv-sprite .checkbox {
+ background-position: -10px -60px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .tlv-sprite .checkbox-hover {
+ background-position: -10px -100px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .tlv-sprite .checkbox-checked {
+ background-position: -10px -120px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .tlv-sprite .radio-disabled {
+ background-position: -50px -60px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .tlv-sprite .radio {
+ background-position: -50px -80px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .tlv-sprite .radio-checked {
+ background-position: -50px -120px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .tlv-x-btn,
+#dcaedt .dcae-main-container .tlv-x-btn:hover {
+ background-position: -17px -147px;
+ width: 10px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container div.tooltips {
+ position: relative;
+ display: inline;
+ float: right;
+ z-index: 1;
+ top: 30px;
+ left: 85px;
+}
+#dcaedt .dcae-main-container div.tooltips span {
+ background-color: #000000;
+ position: absolute;
+ width: 230px;
+ color: #ffffff;
+ height: 30px;
+ line-height: 30px;
+ text-align: center;
+ border-radius: 6px;
+ visibility: hidden;
+}
+#dcaedt .dcae-main-container div.tooltips span:after {
+ content: '';
+ position: absolute;
+ top: 50%;
+ right: 100%;
+ margin-top: -8px;
+ width: 0;
+ height: 0;
+ border-right: 8px solid #000000;
+ border-top: 8px solid transparent;
+ border-bottom: 8px solid transparent;
+}
+#dcaedt .dcae-main-container .w-sdc-canvas-tooltip {
+ position: absolute;
+ z-index: 100;
+}
+#dcaedt .dcae-main-container .w-sdc-canvas-tooltip .w-sdc-custom-tooltip {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ position: relative;
+ color: white;
+ padding: 10px;
+ height: 25px;
+ min-width: 100px;
+ background-color: rgba(80, 99, 113, 0.9);
+ border-radius: 2px;
+ line-height: 2px;
+ text-align: center;
+}
+#dcaedt .dcae-main-container .w-sdc-canvas-tooltip .w-sdc-custom-tooltip .w-sdc-tooltip-arrow {
+ position: absolute;
+ bottom: 25px;
+ right: 20px;
+ width: 0;
+ height: 0;
+ border-left: 5px solid transparent;
+ border-right: 5px solid transparent;
+ border-bottom: 5px solid rgba(80, 99, 113, 0.9);
+ border-top: transparent;
+ border-width: 7px;
+ border-style: solid;
+}
+#dcaedt .dcae-main-container .qtip-custom {
+ border-radius: 2px;
+ background-color: #506371;
+ border-color: #506371;
+ color: white;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .tooltip-custom {
+ background-color: rgba(80, 99, 113, 0.9);
+ z-index: 1100;
+ border-radius: 2px;
+ max-width: 280px;
+ text-align: center;
+ word-break: normal;
+ word-wrap: break-word;
+ padding-right: 10px;
+ padding-left: 10px;
+}
+#dcaedt .dcae-main-container ._720kb-tooltip-caret:before {
+ border: 6px solid rgba(80, 99, 113, 0.9);
+}
+#dcaedt .dcae-main-container .tooltip-rightside {
+ right: 2px;
+ left: initial !important;
+}
+#dcaedt .dcae-main-container .tooltip-rightside ._720kb-tooltip-caret:before {
+ right: 21px;
+ left: initial;
+}
+#dcaedt .dcae-main-container .tab-tooltip {
+ max-width: 220px;
+ white-space: nowrap;
+}
+#dcaedt .dcae-main-container .break-word-tooltip {
+ word-break: break-all;
+ margin-right: 2px;
+}
+#dcaedt .dcae-main-container .icon-tooltip {
+ margin-left: 12px;
+ right: initial !important;
+}
+#dcaedt .dcae-main-container .icon-tooltip ._720kb-tooltip-caret:before {
+ left: 44px;
+ right: initial;
+}
+#dcaedt .dcae-main-container .uib-custom-tooltip {
+ z-index: 999999;
+}
+#dcaedt .dcae-main-container .uib-custom-tooltip .tooltip-inner {
+ background-color: rgba(80, 99, 113, 0.9);
+ padding: 5px 10px 5px 10px;
+ border-radius: 2px;
+}
+#dcaedt .dcae-main-container .tooltip {
+ /* &.right {
+ white-space: nowrap;
+ max-width: none;
+ .tooltip-arrow {
+ border-right-color: rgba(80, 99, 113, 0.9);
+ }
+ }
+ &.left {
+ white-space:nowrap;
+ max-width:none;
+ .tooltip-arrow {
+ border-left-color: rgba(80, 99, 113, 0.9);
+ }
+ }*/
+}
+#dcaedt .dcae-main-container .tooltip.bottom .tooltip-arrow {
+ margin-left: -6px !important;
+ border-width: 0 6px 6px !important;
+ border-bottom-color: rgba(80, 99, 113, 0.9) !important;
+}
+#dcaedt .dcae-main-container .sprite-welcome {
+ background-image: url(/sdc1/scripts/images/sprite.4ac353404a50a330a3e4.png);
+ display: inline-block;
+ vertical-align: middle;
+}
+#dcaedt .dcae-main-container .sprite-welcome.logo {
+ background-position: 0 0;
+ width: 149px;
+ height: 47px;
+ position: absolute;
+ top: 25px;
+ left: 20px;
+}
+#dcaedt .dcae-main-container .sprite-welcome.play {
+ background-position: 0 -60px;
+ width: 120px;
+ height: 120px;
+}
+#dcaedt .dcae-main-container .sprite-welcome.close {
+ background-position: -166px -11px;
+ width: 25px;
+ height: 25px;
+}
+#dcaedt .dcae-main-container .sprite-welcome.close_white {
+ background-position: -166px -37px;
+ width: 25px;
+ height: 25px;
+}
+#dcaedt .dcae-main-container .sprite-welcome.recycle {
+ background-position: -125px -60px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .sprite-welcome.idea {
+ background-position: -159px -57px;
+ width: 23px;
+ height: 25px;
+}
+#dcaedt .dcae-main-container .sprite-welcome.jigsaw {
+ background-position: -125px -94px;
+ width: 25px;
+ height: 25px;
+}
+#dcaedt .dcae-main-container .sprite-welcome.ball {
+ background-position: -159px -95px;
+ width: 23px;
+ height: 23px;
+}
+#dcaedt .dcae-main-container html,
+#dcaedt .dcae-main-container body {
+ height: 100%;
+}
+#dcaedt .dcae-main-container * {
+ box-sizing: border-box;
+}
+#dcaedt .dcae-main-container .sdc-welcome-new-page {
+ opacity: 0;
+ height: 100%;
+ background-color: #ffffff;
+}
+#dcaedt .dcae-main-container .sdc-welcome-new-page .sdc-welcome-close {
+ position: absolute;
+ right: 38px;
+ top: 30px;
+ z-index: 101;
+ cursor: pointer;
+ background-image: url(/sdc1/scripts/images/sprite.4ac353404a50a330a3e4.png);
+ display: inline-block;
+ vertical-align: middle;
+ background-position: -166px -11px;
+ width: 25px;
+ height: 25px;
+}
+#dcaedt .dcae-main-container .sdc-welcome-new-page .sdc-welcome-close.logo {
+ background-position: 0 0;
+ width: 149px;
+ height: 47px;
+ position: absolute;
+ top: 25px;
+ left: 20px;
+}
+#dcaedt .dcae-main-container .sdc-welcome-new-page .sdc-welcome-close.play {
+ background-position: 0 -60px;
+ width: 120px;
+ height: 120px;
+}
+#dcaedt .dcae-main-container .sdc-welcome-new-page .sdc-welcome-close.close {
+ background-position: -166px -11px;
+ width: 25px;
+ height: 25px;
+}
+#dcaedt .dcae-main-container .sdc-welcome-new-page .sdc-welcome-close.close_white {
+ background-position: -166px -37px;
+ width: 25px;
+ height: 25px;
+}
+#dcaedt .dcae-main-container .sdc-welcome-new-page .sdc-welcome-close.recycle {
+ background-position: -125px -60px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .sdc-welcome-new-page .sdc-welcome-close.idea {
+ background-position: -159px -57px;
+ width: 23px;
+ height: 25px;
+}
+#dcaedt .dcae-main-container .sdc-welcome-new-page .sdc-welcome-close.jigsaw {
+ background-position: -125px -94px;
+ width: 25px;
+ height: 25px;
+}
+#dcaedt .dcae-main-container .sdc-welcome-new-page .sdc-welcome-close.ball {
+ background-position: -159px -95px;
+ width: 23px;
+ height: 23px;
+}
+#dcaedt .dcae-main-container .sdc-welcome-new-page .sdc-welcome-close:hover {
+ background-position: -166px -37px;
+ width: 25px;
+ height: 25px;
+}
+#dcaedt .dcae-main-container .sdc-welcome-new-page .sdc-welcome-wrapper {
+ height: 100vh;
+ width: 100%;
+ background-size: cover;
+ position: relative;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-box-pack: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ background-image: url(/sdc1/scripts/images/002.0e8b873c6341b047550f.png);
+}
+#dcaedt .dcae-main-container .sdc-welcome-new-page .sdc-welcome-main {
+ text-align: center;
+ position: absolute;
+ bottom: 40%;
+ z-index: 1;
+ color: #fff;
+ left: 0;
+ width: 100%;
+}
+#dcaedt .dcae-main-container .sdc-welcome-new-page .sdc-welcome-cover {
+ position: absolute;
+ top: 0px;
+ right: 0;
+ left: 0;
+ bottom: 0;
+ background-color: rgba(14, 13, 12, 0.8);
+ z-index: 0;
+}
+#dcaedt .dcae-main-container .footer-wrapper {
+ position: fixed;
+ bottom: 0px;
+ left: 0px;
+ width: 100%;
+ background-color: #222222;
+ color: #ffffff;
+ font-family: "Arial";
+ font-size: 11px;
+ height: 89px;
+}
+#dcaedt .dcae-main-container .footer-wrapper a {
+ color: #ffffff;
+ margin: 0;
+ padding: 0;
+ text-decoration: underline;
+}
+#dcaedt .dcae-main-container .divider-footer-bottom {
+ margin: 0 auto;
+ width: 1020px;
+}
+#dcaedt .dcae-main-container .footer-copyright-text {
+ display: inline-block;
+ width: 612px;
+ margin-top: 18px;
+ margin-left: 50px;
+ text-align: left;
+ vertical-align: top;
+}
+#dcaedt .dcae-main-container .footer-logo1 {
+ display: inline-block;
+ margin-top: 20px;
+ margin-left: 124px;
+}
+#dcaedt .dcae-main-container .footer-logo2 {
+ margin-top: 22px;
+ margin-left: 9px;
+ display: inline-block;
+ font-size: 24px;
+ vertical-align: top;
+}
+#dcaedt .dcae-main-container .sdc-header-wrapper {
+ position: absolute;
+ top: 0;
+ right: 0;
+ left: 0;
+ z-index: 999;
+ /* LEVEL 1 */
+ /* LEVEL 2 */
+ /* LEVEL 3 */
+ /* LEVEL 4 */
+}
+#dcaedt .dcae-main-container .sdc-header-wrapper ul {
+ margin: 0;
+ padding: 0;
+}
+#dcaedt .dcae-main-container .sdc-header-wrapper .sdc-header {
+ background-color: #067ab4;
+ height: 60px;
+ line-height: 60px;
+ vertical-align: middle;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ padding: 0 20px;
+}
+#dcaedt .dcae-main-container .sdc-header-wrapper .sdc-header .sdc-menu {
+ -webkit-box-flex: 98;
+ -ms-flex-positive: 98;
+ flex-grow: 98;
+}
+#dcaedt .dcae-main-container .sdc-header-wrapper .sdc-menu-top-level {
+ list-style: none;
+}
+#dcaedt .dcae-main-container .sdc-header-wrapper .sdc-menu-top-level .sdc-menu-top-level-item:first-child {
+ margin-left: 0;
+}
+#dcaedt .dcae-main-container .sdc-header-wrapper .sdc-menu-top-level .sdc-menu-top-level-item {
+ display: inline-block;
+ margin: 0 20px;
+ position: relative;
+}
+#dcaedt .dcae-main-container .sdc-header-wrapper .sdc-menu-top-level .sdc-menu-top-level-item a {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ text-decoration: none;
+}
+#dcaedt .dcae-main-container .sdc-header-wrapper .sdc-menu-top-level .sdc-menu-top-level-item span.selected {
+ position: absolute;
+ bottom: 0;
+ width: 0;
+ height: 0;
+ border-left: 15px solid transparent;
+ border-right: 15px solid transparent;
+ border-bottom: 15px solid #f8f8f8;
+}
+#dcaedt .dcae-main-container .sdc-header-wrapper .sdc-menu-second-level {
+ background-color: #f8f8f8;
+ box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.33);
+ height: 60px;
+ list-style: none;
+ line-height: 60px;
+ vertical-align: middle;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ padding: 0 20px;
+ position: fixed;
+ left: 0;
+ right: 0;
+}
+#dcaedt .dcae-main-container .sdc-header-wrapper .sdc-menu-second-level .sdc-menu-second-level-item:first-child {
+ margin-left: 0;
+}
+#dcaedt .dcae-main-container .sdc-header-wrapper .sdc-menu-second-level .sdc-menu-second-level-item {
+ display: inline-block;
+ height: 60px;
+ line-height: 60px;
+}
+#dcaedt .dcae-main-container .sdc-header-wrapper .sdc-menu-second-level .sdc-menu-second-level-item.sdc-menu-item-hover {
+ border-bottom: 4px solid #067ab4;
+}
+#dcaedt .dcae-main-container .sdc-header-wrapper .sdc-menu-second-level .sdc-menu-second-level-item a {
+ color: #5a5a5a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ text-decoration: none;
+ text-align: center;
+ padding: 0 20px;
+ display: block;
+ /* fix jump when hovering text */
+}
+#dcaedt .dcae-main-container .sdc-header-wrapper .sdc-menu-second-level .sdc-menu-second-level-item a:hover {
+ color: #191919;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ font-weight: bold;
+}
+#dcaedt .dcae-main-container .sdc-header-wrapper .sdc-menu-second-level .sdc-menu-second-level-item a:active {
+ font-weight: bold;
+}
+#dcaedt .dcae-main-container .sdc-header-wrapper .sdc-menu-second-level .sdc-menu-second-level-item a:after {
+ display: block;
+ content: attr(title);
+ font-weight: bold;
+ height: 1px;
+ color: transparent;
+ overflow: hidden;
+ visibility: hidden;
+}
+#dcaedt .dcae-main-container .sdc-header-wrapper ul.sdc-menu-third-level {
+ background-color: #ffffff;
+ box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1);
+ min-height: 370px;
+ list-style: none;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ /*flex-wrap: wrap;*/
+ position: fixed;
+ top: 120px;
+ left: 0;
+ right: 0;
+ padding: 0 40px;
+}
+#dcaedt .dcae-main-container .sdc-header-wrapper ul.sdc-menu-third-level li.sdc-menu-third-level-item {
+ height: 40px;
+ line-height: 40px;
+ position: relative;
+ /*width: @max-item-width;*/
+ max-width: 250px;
+}
+#dcaedt .dcae-main-container .sdc-header-wrapper ul.sdc-menu-third-level li.sdc-menu-third-level-item .sdc-menu-third-level-title {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ text-decoration: none;
+ text-align: left;
+ display: block;
+ padding: 0 20px;
+ line-height: 20px;
+ margin-top: 20px;
+ font-weight: bold;
+ cursor: pointer;
+}
+#dcaedt .dcae-main-container .sdc-header-wrapper ul.sdc-menu-third-level li.sdc-menu-third-level-item .sdc-menu-four-level-seperator {
+ position: absolute;
+ border-right: solid 1px #e5e5e5;
+ height: 350px;
+ top: 10px;
+}
+#dcaedt .dcae-main-container .sdc-header-wrapper ul.sdc-menu-third-level li.sdc-menu-third-level-item:first-child .sdc-menu-four-level-seperator {
+ border: none;
+}
+#dcaedt .dcae-main-container .sdc-header-wrapper ul.sdc-menu-four-level {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ margin-top: 10px;
+}
+#dcaedt .dcae-main-container .sdc-header-wrapper ul.sdc-menu-four-level li.sdc-menu-four-level-item {
+ display: block;
+ /*width: @max-item-width;*/
+ max-width: 250px;
+ line-height: 20px;
+}
+#dcaedt .dcae-main-container .sdc-header-wrapper ul.sdc-menu-four-level li.sdc-menu-four-level-item a {
+ color: #5a5a5a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ text-decoration: none;
+ text-align: left;
+ display: block;
+}
+#dcaedt .dcae-main-container .sdc-header-wrapper ul.sdc-menu-four-level li.sdc-menu-four-level-item a:hover {
+ color: #191919;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ font-weight: bold;
+}
+#dcaedt .dcae-main-container .sdc-logo-wrapper {
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+ white-space: nowrap;
+ min-width: 210px;
+ text-align: left;
+ position: relative;
+}
+#dcaedt .dcae-main-container .sdc-logo-wrapper .sdc-logo {
+ background-image: url("/assets/styles/images/att_logo_white.png");
+ background-repeat: no-repeat;
+ display: inline-block;
+ vertical-align: middle;
+ width: 55px;
+ height: 55px;
+}
+#dcaedt .dcae-main-container .sdc-logo-wrapper .sdc-header-version {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 10px;
+ -moz-opacity: 0.8;
+ -khtml-opacity: 0.8;
+ -webkit-opacity: 0.8;
+ opacity: 0.8;
+ position: absolute;
+ top: 34px;
+ line-height: 20px;
+ left: 56px;
+}
+#dcaedt .dcae-main-container .sdc-logo-wrapper a.sdc-header-title {
+ color: #ffffff;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+ text-decoration: none;
+}
+#dcaedt .dcae-main-container .sdc-user-wrapper {
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ white-space: nowrap;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ height: 60px;
+}
+#dcaedt .dcae-main-container .sdc-user-wrapper .sdc-user-icon {
+ margin-right: 20px;
+ background-image: url(/sdc1/scripts/images/tlv-sprite.068743809b588c3fce24.png);
+ display: inline-block;
+ vertical-align: middle;
+ background-position: -50px -20px;
+ width: 15px;
+ height: 20px;
+}
+#dcaedt .dcae-main-container .sdc-user-wrapper .sdc-user-icon.logo-blue {
+ background-position: -10px -20px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .sdc-user-wrapper .sdc-user-icon.user {
+ background-position: -50px -20px;
+ width: 15px;
+ height: 20px;
+}
+#dcaedt .dcae-main-container .sdc-user-wrapper .sdc-user-icon .facebook {
+ background-position: -10px -260px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .sdc-user-wrapper .sdc-user-icon .facebook-hover {
+ background-position: -10px -300px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .sdc-user-wrapper .sdc-user-icon .twitter {
+ background-position: -50px -260px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .sdc-user-wrapper .sdc-user-icon .twitter-hover {
+ background-position: -50px -300px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .sdc-user-wrapper .sdc-user-icon .linkedin {
+ background-position: -89px -260px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .sdc-user-wrapper .sdc-user-icon .linkedin-hover {
+ background-position: -89px -300px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .sdc-user-wrapper .sdc-user-icon .youtube {
+ background-position: -130px -260px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .sdc-user-wrapper .sdc-user-icon .youtube-hover {
+ background-position: -130px -300px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .sdc-user-wrapper .sdc-user-icon .footer-open {
+ background-position: -250px -59px;
+ width: 14px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .sdc-user-wrapper .sdc-user-icon .footer-open-hover {
+ background-position: -250px -79px;
+ width: 14px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .sdc-user-wrapper .sdc-user-icon .footer-close {
+ background-position: -230px -59px;
+ width: 14px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .sdc-user-wrapper .sdc-user-icon .footer-close-hover {
+ background-position: -230px -79px;
+ width: 14px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .sdc-user-wrapper .sdc-user-icon .checkbox-disadbled {
+ background-position: -10px -60px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .sdc-user-wrapper .sdc-user-icon .checkbox {
+ background-position: -10px -60px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .sdc-user-wrapper .sdc-user-icon .checkbox-hover {
+ background-position: -10px -100px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .sdc-user-wrapper .sdc-user-icon .checkbox-checked {
+ background-position: -10px -120px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .sdc-user-wrapper .sdc-user-icon .radio-disabled {
+ background-position: -50px -60px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .sdc-user-wrapper .sdc-user-icon .radio {
+ background-position: -50px -80px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .sdc-user-wrapper .sdc-user-icon .radio-checked {
+ background-position: -50px -120px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .sdc-user-wrapper .sdc-user-details {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column;
+}
+#dcaedt .dcae-main-container .sdc-user-wrapper .sdc-user-details-name-role {
+ line-height: 20px;
+}
+#dcaedt .dcae-main-container .sdc-user-wrapper .sdc-user-details-name-role .sdc-user-details-name {
+ max-width: 160px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ vertical-align: bottom;
+ font-weight: bold;
+ display: inline-block;
+}
+#dcaedt .dcae-main-container .sdc-user-wrapper .sdc-user-details-name-role .sdc-user-details-role {
+ font-weight: bold;
+ display: inline-block;
+ margin-left: 6px;
+}
+#dcaedt .dcae-main-container .sdc-user-wrapper .sdc-user-details-name-role .sdc-user-details-role:before {
+ content: '';
+ margin-right: 8px;
+ border-left: 1px solid #a8b3b9;
+}
+#dcaedt .dcae-main-container .sdc-user-wrapper .sdc-user-details-last-login {
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ display: block;
+ line-height: 20px;
+ height: 20px;
+}
+#dcaedt .dcae-main-container .edit-name-popover {
+ max-width: none;
+ width: 310px;
+ left: initial !important;
+ right: 10px;
+ z-index: 100;
+}
+#dcaedt .dcae-main-container .edit-name-popover .arrow {
+ left: 95% !important;
+ border-width: 7px;
+ bottom: -8px !important;
+}
+#dcaedt .dcae-main-container .popover {
+ border-radius: 0;
+}
+#dcaedt .dcae-main-container .popover .top > .arrow {
+ bottom: -8px !important;
+}
+#dcaedt .dcae-main-container .popover .popover-title {
+ background-color: transparent;
+ border-bottom: 2px solid #40b7e4;
+ margin-left: 20px;
+ margin-right: 20px;
+ padding: 8px 14px 8px 0px;
+ font-family: omnes-medium, sans-serif;
+ font-weight: bold;
+}
+#dcaedt .dcae-main-container .popover .popover-content {
+ width: inherit;
+ padding: 9px 20px;
+}
+#dcaedt .dcae-main-container .popover .form-group {
+ margin-top: 9px;
+}
+#dcaedt .dcae-main-container .popover .popover-btn {
+ float: right;
+ margin-left: 10px;
+ margin-bottom: 20px;
+}
+#dcaedt .dcae-main-container .popover .close-popover-btn {
+ position: absolute;
+ top: 11px;
+ right: 25px;
+}
+#dcaedt .dcae-main-container .popover .close-popover-btn:hover {
+ cursor: pointer;
+}
+#dcaedt .dcae-main-container .popover .popover-input {
+ height: 47px;
+ margin-bottom: 5px;
+}
+#dcaedt .dcae-main-container .popover .popover-label {
+ text-overflow: ellipsis;
+ display: block;
+ white-space: nowrap;
+ margin-bottom: 10px;
+ font-family: omnes-medium, sans-serif;
+ color: #000000;
+}
+#dcaedt .dcae-main-container .popover .w-sdc-form .i-sdc-form-item {
+ margin-bottom: 0px;
+}
+#dcaedt .dcae-main-container label.tlv-checkbox {
+ font-weight: normal;
+}
+#dcaedt .dcae-main-container .ellipsis-directive-more-less {
+ color: #3b7b9b;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ font-weight: bold;
+ cursor: pointer;
+ float: right;
+ margin-right: 17px;
+ line-height: 23px;
+ text-decoration: underline;
+ text-align: left;
+}
+#dcaedt .dcae-main-container .i-sdc-form-file-upload {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ margin-top: 0;
+ width: 100%;
+ color: #8c8c8c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ background-color: #ffffff;
+ border-radius: 2px;
+ border: solid 1px #cfcfcf;
+ height: 30px;
+}
+#dcaedt .dcae-main-container .i-sdc-form-file-upload input[type="file"] {
+ cursor: inherit;
+ display: block;
+ filter: alpha(opacity=0);
+ width: 100px;
+ height: 30px;
+ opacity: 0;
+ position: absolute;
+ right: 0;
+ text-align: right;
+ top: 0;
+}
+#dcaedt .dcae-main-container .i-sdc-form-file-upload .i-sdc-form-file-name {
+ -webkit-box-flex: 999;
+ -ms-flex-positive: 999;
+ flex-grow: 999;
+ text-align: left;
+ padding: 3px 10px;
+ opacity: 0.6;
+ width: 80%;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ overflow: hidden;
+}
+#dcaedt .dcae-main-container .i-sdc-form-file-upload .i-sdc-form-file-upload-x-btn {
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -157px -4044px;
+ width: 8px;
+ height: 8px;
+ cursor: pointer;
+ top: 10px;
+ right: 9px;
+ width: 10px;
+ position: relative;
+}
+#dcaedt .dcae-main-container .i-sdc-form-file-upload .i-sdc-form-file-upload-label {
+ float: right;
+ width: 100px;
+ height: 100%;
+ background-color: #ECEFF3;
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .i-sdc-form-file-upload .i-sdc-form-file-upload-label .file-upload-browse-btn {
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ padding: 4px 6px;
+ cursor: pointer;
+ z-index: 999;
+ position: absolute;
+ width: 100px;
+ height: 28px;
+ text-align: center;
+}
+#dcaedt .dcae-main-container .i-sdc-form-file-upload .i-sdc-form-file-upload-label .file-upload-browse-btn.disabled {
+ cursor: default;
+}
+#dcaedt .dcae-main-container .i-sdc-form-file-upload.error {
+ border-color: #da1f3d;
+ outline: none;
+ box-sizing: border-box;
+}
+#dcaedt .dcae-main-container composition-graph {
+ display: block;
+ height: 100%;
+ width: 100%;
+}
+#dcaedt .dcae-main-container composition-graph .sdc-composition-graph-wrapper {
+ height: 100%;
+ width: 100%;
+}
+#dcaedt .dcae-main-container composition-graph .view-only {
+ background-color: #f8f8f8;
+}
+#dcaedt .dcae-main-container deployment-graph {
+ display: block;
+ height: 100%;
+ width: 100%;
+}
+#dcaedt .dcae-main-container deployment-graph .sdc-deployment-graph-wrapper {
+ height: 100%;
+ width: 100%;
+}
+#dcaedt .dcae-main-container deployment-graph .view-only {
+ background-color: #f8f8f8;
+}
+#dcaedt .dcae-main-container .drag-icon-border {
+ border: 7px solid red;
+ border-radius: 500px;
+ -webkit-border-radius: 500px;
+ -moz-border-radius: 500px;
+ width: 53px;
+ height: 53px;
+}
+#dcaedt .dcae-main-container .drag-icon-circle {
+ width: 60px;
+ height: 60px;
+ border-radius: 50%;
+ position: relative;
+}
+#dcaedt .dcae-main-container .drag-icon-circle .sprite-resource-icons {
+ position: absolute;
+ top: 10px;
+ left: 10px;
+}
+#dcaedt .dcae-main-container .drag-icon-circle.red {
+ background: rgba(218, 31, 61, 0.3);
+}
+#dcaedt .dcae-main-container .drag-icon-circle.green {
+ background: rgba(29, 154, 149, 0.3);
+}
+#dcaedt .dcae-main-container .node-substitute {
+ display: none;
+ position: absolute;
+ z-index: 9999;
+ height: 80px;
+ width: 80px;
+ border-radius: 50%;
+ text-align: center;
+}
+#dcaedt .dcae-main-container .node-substitute span {
+ display: inline-block;
+ vertical-align: middle;
+ height: 100%;
+}
+#dcaedt .dcae-main-container .node-substitute img {
+ height: 40px;
+ width: 40px;
+ box-shadow: 0 0 0 10px rgba(29, 154, 149, 0.3);
+ border-radius: 50%;
+ -webkit-user-drag: none;
+ -moz-user-drag: none;
+ user-drag: none;
+}
+#dcaedt .dcae-main-container .node-substitute.red img {
+ box-shadow: 0 0 0 10px rgba(218, 31, 61, 0.3);
+}
+#dcaedt .dcae-main-container .node-substitute.bounce img {
+ -webkit-animation: bounceOut 0.3s linear;
+ animation: bounceOut 0.3s linear;
+}
+@keyframes bounceOut {
+ 0% {
+ box-shadow: 0 0 0 10px rgba(29, 154, 149, 0.3);
+ width: 40px;
+ height: 40px;
+ }
+ 60% {
+ box-shadow: 0 0 0 0px rgba(29, 154, 149, 0.3);
+ width: 60px;
+ height: 60px;
+ }
+ 85% {
+ box-shadow: 0 0 0 0px rgba(29, 154, 149, 0.3);
+ width: 75px;
+ height: 75px;
+ }
+ 100% {
+ box-shadow: 0 0 0 0px rgba(29, 154, 149, 0.3);
+ width: 60px;
+ height: 60px;
+ }
+}
+@-webkit-keyframes bounceOut {
+ 0% {
+ box-shadow: 0 0 0 10px rgba(29, 154, 149, 0.3);
+ width: 40px;
+ height: 40px;
+ }
+ 60% {
+ box-shadow: 0 0 0 0px rgba(29, 154, 149, 0.3);
+ width: 60px;
+ height: 60px;
+ }
+ 85% {
+ box-shadow: 0 0 0 0px rgba(29, 154, 149, 0.3);
+ width: 75px;
+ height: 75px;
+ }
+ 100% {
+ box-shadow: 0 0 0 0px rgba(29, 154, 149, 0.3);
+ width: 60px;
+ height: 60px;
+ }
+}
+#dcaedt .dcae-main-container .link-menu-open {
+ display: block !important;
+ color: #5a5a5a;
+ font-size: 14px;
+ position: absolute;
+ z-index: 99999;
+ border-radius: 2px;
+ background-color: #ffffff;
+ box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.5);
+ width: 460px;
+ height: 418px;
+}
+#dcaedt .dcae-main-container .link-menu-open h4 {
+ width: 50%;
+ float: left;
+ background-color: #eaeaea;
+ font-size: 14px;
+ font-weight: bold;
+ line-height: 36px;
+ margin: 0;
+ padding: 0 15px;
+}
+#dcaedt .dcae-main-container .link-menu-open h4 + h4 {
+ border-left: #d8d8d8 1px solid;
+}
+#dcaedt .dcae-main-container .link-menu-open p {
+ clear: both;
+ text-indent: 15px;
+ border-bottom: #d8d8d8 1px solid;
+ line-height: 34px;
+ margin: 0;
+ color: #191919;
+}
+#dcaedt .dcae-main-container .link-menu-open .scrollbar-container {
+ height: 232px;
+ width: 50%;
+ float: left;
+ margin-bottom: 5px;
+ position: relative;
+ overflow: hidden;
+}
+#dcaedt .dcae-main-container .link-menu-open .scrollbar-container + .scrollbar-container {
+ border-left: #d8d8d8 1px solid;
+}
+#dcaedt .dcae-main-container .link-menu-open .scrollbar-container .inner-title {
+ width: 189px;
+ margin: 5px auto 3px auto;
+ color: #191919;
+ text-transform: uppercase;
+ font-weight: bold;
+}
+#dcaedt .dcae-main-container .link-menu-open .scrollbar-container .link-item {
+ padding: 0 10px;
+ line-height: 23px;
+ height: 23px;
+ text-indent: 5px;
+ cursor: pointer;
+}
+#dcaedt .dcae-main-container .link-menu-open .scrollbar-container .link-item.selected {
+ background-color: #e6f6fb;
+}
+#dcaedt .dcae-main-container .link-menu-open .vl-type {
+ height: 33px;
+ border-top: #d8d8d8 solid 1px;
+ clear: both;
+ padding: 0 10px;
+ line-height: 32px;
+ color: #5a5a5a;
+}
+#dcaedt .dcae-main-container .link-menu-open .vl-type.disabled {
+ background-color: #f2f2f2;
+ color: #a8b3b9;
+}
+#dcaedt .dcae-main-container .link-menu-open .vl-type .info-icon {
+ float: right;
+ margin-top: 9px;
+}
+#dcaedt .dcae-main-container .link-menu-open .vl-type .tlv-radio {
+ margin-right: 10px;
+}
+#dcaedt .dcae-main-container .link-menu-open .result {
+ background-color: #5a5a5a;
+ line-height: 29px;
+ color: #ffffff;
+ padding: 0 15px;
+}
+#dcaedt .dcae-main-container .link-menu-open button {
+ float: right;
+ margin-top: 9px;
+ margin-right: 10px;
+}
+#dcaedt .dcae-main-container .link-menu-item {
+ cursor: pointer;
+ line-height: 24px;
+ padding: 0 10px;
+}
+#dcaedt .dcae-main-container .link-menu-item:hover {
+ color: #3b7b9b;
+}
+#dcaedt .dcae-main-container .link-menu::before {
+ right: inherit !important;
+ left: 50px;
+}
+#dcaedt .dcae-main-container .i-sdc-designer-sidebar-capabilities-requirements {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+#dcaedt .dcae-main-container .i-sdc-designer-sidebar-capabilities-requirements.description {
+ margin-top: 28px;
+ white-space: normal;
+ word-wrap: break-word;
+}
+#dcaedt .dcae-main-container .i-sdc-designer-sidebar-capabilities-requirements .i-sdc-designer-sidebar-section-content-item-relations {
+ border-bottom: 1px solid #cdcdcd;
+ padding: 10px 10px 10px 18px;
+ position: relative;
+ cursor: default;
+}
+#dcaedt .dcae-main-container .i-sdc-designer-sidebar-capabilities-requirements .i-sdc-designer-sidebar-section-content-item-relations .i-sdc-designer-sidebar-section-content-item-button {
+ top: 15px;
+ line-height: 10px;
+}
+#dcaedt .dcae-main-container .i-sdc-designer-sidebar-capabilities-requirements .i-sdc-designer-sidebar-section-content-item-relations:hover {
+ background-color: #ffffff;
+}
+#dcaedt .dcae-main-container .i-sdc-designer-sidebar-capabilities-requirements .i-sdc-designer-sidebar-section-content-item-relations:hover .i-sdc-designer-sidebar-section-content-item-button {
+ display: block;
+}
+#dcaedt .dcae-main-container .i-sdc-designer-sidebar-capabilities-requirements .w-sdc-designer-sidebar-section-relations:not(:last-child) .i-sdc-designer-sidebar-section-content-item-relations-group:last-child .i-sdc-designer-sidebar-section-content-item-relations:last-child {
+ border-bottom: none;
+}
+#dcaedt .dcae-main-container .i-sdc-designer-sidebar-capabilities-requirements .i-sdc-designer-sidebar-section-content-item-relations.hand {
+ cursor: pointer;
+}
+#dcaedt .dcae-main-container .i-sdc-designer-sidebar-capabilities-requirements .i-sdc-designer-sidebar-section-content-item-relations-details {
+ display: inline-block;
+ margin-left: 5px;
+ vertical-align: middle;
+}
+#dcaedt .dcae-main-container .i-sdc-designer-sidebar-capabilities-requirements .i-sdc-designer-sidebar-section-content-item-relations-details-name {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ font-weight: bold;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ text-transform: capitalize;
+ max-width: 240px;
+ display: inline-block;
+}
+#dcaedt .dcae-main-container .i-sdc-designer-sidebar-capabilities-requirements .i-sdc-designer-sidebar-section-content-item-relations-details-ownerName {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+ font-weight: 400;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+#dcaedt .dcae-main-container .i-sdc-designer-sidebar-capabilities-requirements .i-sdc-designer-sidebar-section-content-item-relations-details-ownerName:before {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -262px -4041px;
+ width: 11px;
+ height: 10px;
+ content: '';
+}
+#dcaedt .dcae-main-container .i-sdc-designer-sidebar-capabilities-requirements .i-sdc-designer-sidebar-section-content-item-relations-details-desc {
+ color: #8c8c8c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ line-height: 14px;
+ word-wrap: break-word;
+ white-space: normal;
+ max-width: 265px;
+}
+#dcaedt .dcae-main-container .i-sdc-designer-sidebar-capabilities-requirements .i-sdc-designer-sidebar-section-content-item-relations-details-desc .i-sdc-designer-sidebar-section-content-item-relations-details-indent-box {
+ border-left: 1px #848586 solid;
+ height: 40px;
+ margin-left: 2px;
+ margin-top: 5px;
+ border-bottom: 1px #848586 solid;
+ width: 25px;
+ float: left;
+}
+#dcaedt .dcae-main-container .i-sdc-designer-sidebar-capabilities-requirements .i-sdc-designer-sidebar-section-content-item-relations-details-desc .i-sdc-designer-sidebar-section-content-item-relations-details-child {
+ margin-top: 30px;
+ float: left;
+ padding-left: 10px;
+ max-width: 230px;
+}
+#dcaedt .dcae-main-container .i-sdc-designer-sidebar-capabilities-requirements .i-sdc-designer-sidebar-section-content-item-relations-details-desc-label {
+ font-family: omnes-medium, sans-serif;
+}
+#dcaedt .dcae-main-container .i-sdc-designer-sidebar-capabilities-requirements .i-sdc-designer-sidebar-section-content-item-relations-view {
+ position: absolute;
+ right: 0;
+ top: 22px;
+ display: none;
+}
+#dcaedt .dcae-main-container .info-tooltip {
+ position: fixed;
+ z-index: 1070;
+ display: block;
+ width: 250px;
+}
+#dcaedt .dcae-main-container .info-tooltip .info-tooltip-arrow {
+ width: 0;
+ height: 0;
+ border-style: solid;
+ border-width: 0 5px 5px 5px;
+ border-color: transparent transparent #009fdb transparent;
+ position: relative;
+ left: 2px;
+}
+#dcaedt .dcae-main-container .info-tooltip .info-tooltip-content {
+ box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.5);
+ border: 1px solid #d2d2d2;
+ border-radius: 3px;
+ border-top: 3px solid #009fdb;
+ position: relative;
+ background-color: white;
+}
+#dcaedt .dcae-main-container .info-tooltip .info-tooltip-content.right {
+ left: -13px;
+}
+#dcaedt .dcae-main-container .info-tooltip .info-tooltip-content.left {
+ left: -223px;
+}
+#dcaedt .dcae-main-container .info-tooltip .info-tooltip-content .close-tooltip {
+ float: right;
+ margin: 5px;
+}
+#dcaedt .dcae-main-container .info-tooltip .info-tooltip-content .info-tooltip-message {
+ margin: 15px;
+ word-break: normal;
+ font-size: 14px;
+ font-weight: normal;
+ text-align: left;
+ line-height: normal;
+}
+#dcaedt .dcae-main-container .expanded .input-row {
+ background-color: #e6f6fb;
+}
+#dcaedt .dcae-main-container .input-row {
+ padding-left: 45px;
+ background: #f8f8f8;
+ border: #d2d2d2 solid 1px;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ cursor: pointer;
+ margin: 1px 0px 1px 0px;
+}
+#dcaedt .dcae-main-container .input-row.selected {
+ background-color: #e6f6fb;
+}
+#dcaedt .dcae-main-container .input-row .flex-item {
+ min-height: 60px;
+ padding: 0 15px;
+}
+#dcaedt .dcae-main-container .input-row .input-check-box {
+ padding-right: 10px;
+ margin-top: 9px;
+}
+#dcaedt .dcae-main-container .input-row > .title-text {
+ text-align: start;
+ padding: 4px 35px 0 35px;
+}
+#dcaedt .dcae-main-container .input-row .expand-collapse-inputs-table-icon {
+ margin-top: 15px;
+}
+#dcaedt .dcae-main-container .input-row .delete {
+ width: 50px;
+ padding: 0;
+ position: relative;
+}
+#dcaedt .dcae-main-container .input-row .remove-input-icon {
+ position: absolute;
+ top: 12px;
+ right: 18px;
+}
+#dcaedt .dcae-main-container .input-row .remove-input-icon:hover {
+ background-position: -702px -231px;
+ width: 11px;
+ height: 13px;
+}
+#dcaedt .dcae-main-container .input-row:hover {
+ background-color: #D3DBE0;
+}
+#dcaedt .dcae-main-container .property-row {
+ border-bottom: 1px solid rgba(120, 136, 148, 0.26);
+ padding-left: 10px;
+}
+#dcaedt .dcae-main-container .property-row .property-name-container {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-flex: 3;
+ -ms-flex-positive: 3;
+ flex-grow: 3;
+}
+#dcaedt .dcae-main-container .property-row .type-schema-container {
+ -webkit-box-flex: 2;
+ -ms-flex-positive: 2;
+ flex-grow: 2;
+ border-left: 1px solid rgba(120, 136, 148, 0.26);
+ text-align: left;
+ line-height: 30px;
+ text-transform: capitalize;
+ width: 10px;
+}
+#dcaedt .dcae-main-container .property-row .property-check-box {
+ padding-right: 10px;
+ margin-top: 9px;
+}
+#dcaedt .dcae-main-container .property-row:hover {
+ background-color: #f2f2f2;
+}
+#dcaedt .dcae-main-container .expanded .flex-container .expand-collapse-inputs-table-icon {
+ -webkit-transform: rotate(180deg);
+ transform: rotate(180deg);
+ left: 0px;
+}
+#dcaedt .dcae-main-container .top-nav {
+ position: fixed;
+ top: 0px;
+ background-color: #ffffff;
+ box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.33);
+ width: 100%;
+ height: 50px;
+ line-height: 50px;
+ z-index: 10;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+}
+#dcaedt .dcae-main-container .top-nav .asdc-app-title-wrapper {
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ line-height: 16px;
+ margin: 0 20px;
+}
+#dcaedt .dcae-main-container .top-nav .asdc-app-title-wrapper a.asdc-app-title {
+ color: #5a5a5a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+ text-decoration: none;
+}
+#dcaedt .dcae-main-container .top-nav .asdc-app-title-wrapper .asdc-version {
+ color: #5a5a5a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ -moz-opacity: 0.8;
+ -khtml-opacity: 0.8;
+ -webkit-opacity: 0.8;
+ opacity: 0.8;
+ line-height: 14px;
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+}
+#dcaedt .dcae-main-container .top-nav ul.top-menu {
+ list-style-type: none;
+ margin: 0 0 0 20px;
+ padding: 0;
+ -webkit-box-flex: 999;
+ -ms-flex-positive: 999;
+ flex-grow: 999;
+}
+#dcaedt .dcae-main-container .top-nav ul.top-menu > li {
+ float: left;
+ cursor: pointer;
+ line-height: 50px;
+ height: 50px;
+ padding: 0 20px;
+ /*&:hover {
+ border-bottom: solid 4px @main_color_a;
+ }*/
+}
+#dcaedt .dcae-main-container .top-nav ul.top-menu > li.selected {
+ border-bottom: solid 4px #009fdb;
+}
+#dcaedt .dcae-main-container .top-nav ul.top-menu > li.selected a {
+ color: #191919;
+}
+#dcaedt .dcae-main-container .top-nav ul.top-menu > li a {
+ font-family: omnes-medium, sans-serif;
+ color: #5a5a5a;
+ font-size: 18px;
+ display: block;
+ text-align: center;
+ text-decoration: none;
+}
+#dcaedt .dcae-main-container .top-nav ul.top-menu > li.triangle-dropdown {
+ padding: 0;
+ position: relative;
+}
+#dcaedt .dcae-main-container .top-nav ul.top-menu > li.triangle-dropdown div.triangle {
+ margin-top: 15px;
+ border-radius: 2px;
+ width: 17px;
+ height: 18px;
+ line-height: 18px;
+ text-align: center;
+ font-size: 10px;
+}
+#dcaedt .dcae-main-container .top-nav ul.top-menu > li.triangle-dropdown div.triangle:hover {
+ background-color: rgba(156, 156, 156, 0.2);
+}
+#dcaedt .dcae-main-container .top-nav ul.top-menu > li.triangle-dropdown div.triangle:hover span {
+ background-position: -600px -235px;
+ width: 5px;
+ height: 8px;
+}
+#dcaedt .dcae-main-container .top-nav ul.top-menu > li.triangle-dropdown + li a {
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .top-nav ul.top-menu > li.triangle-dropdown .ps-container {
+ position: relative;
+ position: absolute;
+ left: 0;
+ top: 40px;
+ z-index: 1;
+ overflow: hidden;
+ max-height: 0;
+ transition: max-height 200ms ease-in;
+}
+#dcaedt .dcae-main-container .top-nav ul.top-menu > li.triangle-dropdown .ps-container div ul {
+ padding: 0;
+ background-color: white;
+}
+#dcaedt .dcae-main-container .top-nav ul.top-menu > li.triangle-dropdown .ps-container div ul li {
+ height: 35px;
+ background-color: white;
+ font-size: 13px;
+ width: 150px;
+ line-height: 35px;
+ padding: 0 10px;
+}
+#dcaedt .dcae-main-container .top-nav ul.top-menu > li.triangle-dropdown .ps-container div ul li.disabled {
+ opacity: 1;
+}
+#dcaedt .dcae-main-container .top-nav ul.top-menu > li.triangle-dropdown .ps-container div ul li.selected {
+ background-color: #e6f6fb;
+ font-weight: bold;
+}
+#dcaedt .dcae-main-container .top-nav ul.top-menu > li.triangle-dropdown .ps-container div ul li:hover {
+ color: #009fdb;
+}
+#dcaedt .dcae-main-container .top-nav ul.top-menu > li.triangle-dropdown .ps-container div ul li span {
+ height: 35px;
+ width: 130px;
+ display: inline-block;
+}
+#dcaedt .dcae-main-container .top-nav ul.top-menu > li.triangle-dropdown.item-click:hover .ps-container,
+#dcaedt .dcae-main-container .top-nav ul.top-menu > li.triangle-dropdown.item-click:active .ps-container {
+ max-height: 500px;
+ border: 1px solid #0568ae;
+ border-radius: 2px;
+ box-shadow: 0px 2px 2px 0px rgba(24, 24, 25, 0.1);
+}
+#dcaedt .dcae-main-container .top-nav .top-search {
+ position: relative;
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ padding: 0 20px;
+}
+#dcaedt .dcae-main-container .top-nav .top-search input.search-text {
+ border-radius: 2px;
+ width: 245px;
+ height: 32px;
+ line-height: 32px;
+ border: 1px solid #d2d2d2;
+ outline: none;
+ text-indent: 10px;
+ /* Safari, Chrome and Opera */
+ /* Firefox 18- */
+ /* Firefox 19+ */
+ /* IE 10+ */
+ /* Edge */
+ /* font-style: italic;
+ }*/
+ /* Firefox 18- */
+ /* Firefox 19+ */
+ /* IE 10+ */
+ /* Edge */
+}
+#dcaedt .dcae-main-container .top-nav .top-search input.search-text::-webkit-input-placeholder {
+ font-style: italic;
+}
+#dcaedt .dcae-main-container .top-nav .top-search input.search-text:-moz-placeholder {
+ font-style: italic;
+}
+#dcaedt .dcae-main-container .top-nav .top-search input.search-text::-moz-placeholder {
+ font-style: italic;
+}
+#dcaedt .dcae-main-container .top-nav .top-search input.search-text:-ms-input-placeholder {
+ font-style: italic;
+}
+#dcaedt .dcae-main-container .top-nav .top-search input.search-text:-ms-input-placeholder {
+ font-style: italic;
+}
+#dcaedt .dcae-main-container .top-nav .top-search input.search-text::-moz-placeholder {
+ font-style: italic;
+}
+#dcaedt .dcae-main-container .top-nav .top-search input.search-text:-ms-input-placeholder {
+ font-style: italic;
+}
+#dcaedt .dcae-main-container .top-nav .top-search input.search-text:-ms-input-placeholder {
+ font-style: italic;
+}
+#dcaedt .dcae-main-container .top-nav .top-search .magnification {
+ position: absolute;
+ top: 19px;
+ right: 26px;
+}
+#dcaedt .dcae-main-container .top-nav .notification-icon {
+ cursor: pointer;
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ margin: 0 10px 6px 0;
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -54px -143px;
+ width: 26px;
+ height: 29px;
+}
+#dcaedt .dcae-main-container .top-nav .notification-icon:hover {
+ background-position: -154px -143px;
+ width: 26px;
+ height: 29px;
+}
+#dcaedt .dcae-main-container .top-nav .notification-icon:active {
+ background-position: -104px -143px;
+ width: 26px;
+ height: 29px;
+}
+#dcaedt .dcae-main-container .top-progress {
+ text-align: left;
+}
+#dcaedt .dcae-main-container .top-progress .sdc-progress-title {
+ color: #959595;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ height: 17px;
+ display: block;
+}
+#dcaedt .dcae-main-container .top-progress .sdc-progress-title .progress-percentage {
+ float: right;
+}
+#dcaedt .dcae-main-container .top-progress .sdc-progress {
+ position: relative;
+ display: block;
+ height: 6px;
+ background-color: #d2d2d2;
+ border-radius: 3px;
+ box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
+}
+#dcaedt .dcae-main-container .top-progress .sdc-progress .progress-bar {
+ border-radius: 3px;
+ background-color: #009fdb;
+}
+#dcaedt .dcae-main-container .top-progress .sdc-progress-success-wrapper {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: end;
+ -ms-flex-align: end;
+ align-items: flex-end;
+}
+#dcaedt .dcae-main-container .top-progress .sdc-progress-success-wrapper .sdc-progress-success-title {
+ color: #4ca90c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ margin-left: 10px;
+}
+#dcaedt .dcae-main-container .top-progress .sdc-progress-success-wrapper .sdc-progress-success {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -50px -703px;
+ width: 20px;
+ height: 20px;
+}
+#dcaedt .dcae-main-container .top-progress .sdc-progress-error-wrapper {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: end;
+ -ms-flex-align: end;
+ align-items: flex-end;
+}
+#dcaedt .dcae-main-container .top-progress .sdc-progress-error-wrapper .sdc-progress-error-title {
+ color: #cf2a2a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ margin-left: 10px;
+}
+#dcaedt .dcae-main-container .top-progress .sdc-progress-error-wrapper .sdc-progress-error {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -51px -751px;
+ width: 13px;
+ height: 11px;
+}
+#dcaedt .dcae-main-container .tlv-loader-back {
+ background-color: #ffffff;
+ position: fixed;
+ top: 50px;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ z-index: 9999;
+ opacity: 0.5;
+}
+#dcaedt .dcae-main-container .tlv-loader-relative {
+ position: absolute;
+ top: 0;
+}
+#dcaedt .dcae-main-container .tlv-loader {
+ z-index: 10002;
+}
+@keyframes fadein {
+ from {
+ opacity: 0;
+ }
+ to {
+ opacity: 0.8;
+ }
+}
+@-webkit-keyframes fadein {
+ from {
+ opacity: 0;
+ }
+ to {
+ opacity: 0.8;
+ }
+}
+@keyframes fadeout {
+ from {
+ opacity: 0.8;
+ }
+ to {
+ opacity: 0;
+ }
+}
+@-webkit-keyframes fadeout {
+ from {
+ opacity: 0.8;
+ }
+ to {
+ opacity: 0;
+ }
+}
+#dcaedt .dcae-main-container .ellipsis-directive-more-less {
+ color: #3b7b9b;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ font-weight: bold;
+ cursor: pointer;
+ float: right;
+ margin-right: 17px;
+ line-height: 23px;
+ text-decoration: underline;
+ text-align: left;
+}
+#dcaedt .dcae-main-container .data-type-fields-structure {
+ background-color: #e6f6fb;
+ padding: 10px;
+ display: table-caption;
+}
+#dcaedt .dcae-main-container .data-type-fields-structure .open-close {
+ position: relative;
+}
+#dcaedt .dcae-main-container .data-type-fields-structure .open-close .open-close-button {
+ position: absolute;
+ top: 50%;
+ margin-top: -7px;
+}
+#dcaedt .dcae-main-container .data-type-fields-structure .open-close .open-close-button.expand {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -378px -888px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .data-type-fields-structure .open-close .open-close-button.collapse {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -334px -888px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .data-type-fields-structure .data-type-name {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ margin-left: 22px;
+}
+#dcaedt .dcae-main-container .data-type-fields-structure .i-sdc-form-input:disabled {
+ opacity: 0.4 !important;
+ cursor: auto;
+ background-color: transparent;
+ pointer-events: none;
+}
+#dcaedt .dcae-main-container .data-type-fields-structure .property {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ min-width: 365px;
+ min-height: 46px;
+}
+#dcaedt .dcae-main-container .data-type-fields-structure .property input[type="text"],
+#dcaedt .dcae-main-container .data-type-fields-structure .property select {
+ width: 170px;
+}
+#dcaedt .dcae-main-container .data-type-fields-structure .property .property-name {
+ float: left;
+ margin-top: 8px;
+}
+#dcaedt .dcae-main-container .data-type-fields-structure .property .primitive-value-field {
+ float: right;
+ margin-top: 8px;
+ margin-left: 10px;
+}
+#dcaedt .dcae-main-container .data-type-fields-structure .property .inner-structure {
+ display: -webkit-box;
+}
+#dcaedt .dcae-main-container .data-type-fields-structure [ng-switch-when="map"] {
+ margin-top: 8px;
+ margin-left: 10px;
+}
+#dcaedt .dcae-main-container .data-type-fields-structure [ng-switch-when="map"] .map-item {
+ border: solid 1px #d2d2d2;
+ min-width: 401px;
+ min-height: 69px;
+ float: none !important;
+}
+#dcaedt .dcae-main-container .data-type-fields-structure [ng-switch-when="map"] .add-map-item {
+ width: auto;
+ float: none;
+}
+#dcaedt .dcae-main-container .data-type-fields-structure [ng-switch-when="map"] .add-map-item:nth-child(1) {
+ position: relative;
+ top: 6px;
+}
+#dcaedt .dcae-main-container .data-type-fields-structure [ng-switch-when="map"] .add-map-item .add-btn {
+ float: none;
+}
+#dcaedt .dcae-main-container .data-type-fields-structure [ng-switch-when="list"] {
+ float: left;
+ margin-top: 8px;
+ margin-left: 10px;
+ min-width: 280px;
+}
+#dcaedt .dcae-main-container .data-type-fields-structure [ng-switch-when="list"] .dt-list-item {
+ border: solid 1px #d2d2d2;
+}
+#dcaedt .dcae-main-container .data-type-fields-structure [ng-switch-when="list"] .list-value-items {
+ width: 280px;
+}
+#dcaedt .dcae-main-container .list-new-item {
+ float: left;
+ width: 50%;
+ min-width: 221px;
+ margin-right: 15px;
+}
+#dcaedt .dcae-main-container .list-new-item input {
+ min-width: 221px;
+}
+#dcaedt .dcae-main-container .list-value-items {
+ border-radius: 2px;
+ border: 1px solid #d2d2d2;
+ padding-bottom: 10px;
+ min-height: 100px;
+ clear: both;
+ background-color: white;
+}
+#dcaedt .dcae-main-container .list-value-items .list-value-item {
+ display: inline-block;
+ background-color: #e6f6fb;
+ margin: 10px 0 0 10px;
+ padding: 0 8px;
+}
+#dcaedt .dcae-main-container .list-value-items .list-value-item .delete-list-item {
+ margin: 0 0 0 2px;
+ cursor: pointer;
+}
+#dcaedt .dcae-main-container .add-btn {
+ color: #009fdb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ cursor: pointer;
+}
+#dcaedt .dcae-main-container .add-btn.add-list-item {
+ float: left;
+ margin-top: 5px;
+ width: 44px;
+}
+#dcaedt .dcae-main-container .add-btn:before {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -50px -231px;
+ width: 12px;
+ height: 12px;
+ margin-right: 5px;
+ content: "";
+}
+#dcaedt .dcae-main-container .add-btn:hover {
+ color: #056bae;
+}
+#dcaedt .dcae-main-container .add-btn:hover:before {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -100px -231px;
+ width: 12px;
+ height: 12px;
+}
+#dcaedt .dcae-main-container .dt-list {
+ display: table-caption;
+}
+#dcaedt .dcae-main-container .dt-list .dt-list-item {
+ border-radius: 3px;
+ background-color: #e6f6fb;
+ display: inline-block;
+}
+#dcaedt .dcae-main-container .dt-list .dt-list-item .delete-dt-list-item {
+ float: right;
+ position: relative;
+ top: 5px;
+ right: 5px;
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -675px -231px;
+ width: 11px;
+ height: 13px;
+}
+#dcaedt .dcae-main-container .dt-list .dt-list-item .delete-dt-list-item:hover {
+ background-position: -702px -231px;
+ width: 11px;
+ height: 13px;
+}
+#dcaedt .dcae-main-container .dt-list .dt-list-item .data-type-name {
+ margin-right: 16px;
+}
+#dcaedt .dcae-main-container .dt-list > .add-list-item {
+ float: none;
+}
+#dcaedt .dcae-main-container .add-map-item {
+ width: 400px;
+}
+#dcaedt .dcae-main-container .add-map-item:nth-child(odd) {
+ float: right;
+}
+#dcaedt .dcae-main-container .add-map-item:nth-child(1) {
+ float: none;
+}
+#dcaedt .dcae-main-container .add-map-item:nth-child(1) .add-btn {
+ float: none;
+}
+#dcaedt .dcae-main-container .add-map-item .add-btn {
+ width: 44px;
+ float: right;
+}
+#dcaedt .dcae-main-container .add-map-item.schema-data-type {
+ float: none;
+}
+#dcaedt .dcae-main-container .add-map-item.schema-data-type .add-btn {
+ float: none;
+}
+#dcaedt .dcae-main-container .add-btn {
+ color: #009fdb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ cursor: pointer;
+}
+#dcaedt .dcae-main-container .add-btn:before {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -50px -231px;
+ width: 12px;
+ height: 12px;
+ margin-right: 5px;
+ content: "";
+}
+#dcaedt .dcae-main-container .add-btn:hover {
+ color: #056bae;
+}
+#dcaedt .dcae-main-container .add-btn:hover:before {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -100px -231px;
+ width: 12px;
+ height: 12px;
+}
+#dcaedt .dcae-main-container .map-item {
+ min-width: 389px;
+ min-height: 65px;
+ background-color: #e6f6fb;
+ border-radius: 3px;
+ margin-bottom: 8px;
+ float: left;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+}
+#dcaedt .dcae-main-container .map-item:nth-child(even).primitive-value-map {
+ float: right;
+}
+#dcaedt .dcae-main-container .map-item .delete-map-item {
+ float: right;
+ position: relative;
+ top: 5px;
+ right: 5px;
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -675px -231px;
+ width: 11px;
+ height: 13px;
+}
+#dcaedt .dcae-main-container .map-item .delete-map-item:hover {
+ background-position: -702px -231px;
+ width: 11px;
+ height: 13px;
+}
+#dcaedt .dcae-main-container .map-item .map-item-field {
+ margin: 7px 12px !important;
+ float: left;
+ min-width: 170px;
+ min-height: 50px;
+}
+#dcaedt .dcae-main-container .map-item .map-item-field select {
+ width: 171px;
+}
+#dcaedt .dcae-main-container .map-item .map-item-field input[type="text"] {
+ width: 170px;
+}
+#dcaedt .dcae-main-container .map-item .map-item-field > .data-type-fields-structure {
+ padding: 0;
+}
+#dcaedt .dcae-main-container .sdc-tabs-body {
+ height: 100%;
+ width: 330px;
+}
+#dcaedt .dcae-main-container .sdc-tabs-body .sdc-tabs {
+ display: inline-block;
+ width: 40px;
+ vertical-align: top;
+ position: relative;
+ z-index: 99;
+}
+#dcaedt .dcae-main-container .sdc-tabs-body .sdc-tabs .sdc-tab-arrow {
+ cursor: pointer;
+ width: 40px;
+ height: 20px;
+ background-color: #eaeaea;
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.17);
+ text-align: center;
+ padding: 1px 4px 0px 0px;
+}
+#dcaedt .dcae-main-container .sdc-tabs-body .sdc-tabs .sdc-tab-arrow:hover {
+ background-color: #d2d2d2;
+}
+#dcaedt .dcae-main-container .sdc-tabs-body .sdc-tabs .sdc-tab {
+ cursor: pointer;
+ width: 40px;
+ height: 43px;
+ background-color: #eaeaea;
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.17);
+ text-align: center;
+}
+#dcaedt .dcae-main-container .sdc-tabs-body .sdc-tabs .sdc-tab .sdc-tab-icon {
+ margin-top: 12px;
+}
+#dcaedt .dcae-main-container .sdc-tabs-body .sdc-tabs .selected {
+ background-color: #f8f8f8;
+}
+#dcaedt .dcae-main-container .sdc-tabs-body .sdc-tabs .last-tab {
+ border-bottom-left-radius: 12px;
+}
+#dcaedt .dcae-main-container .sdc-tabs-body .not-active {
+ position: absolute;
+ right: 0px;
+}
+#dcaedt .dcae-main-container .sdc-tabs-body .sdc-single-tab-content {
+ padding: 15px 0px 0px 0px;
+ width: 290px;
+ background-color: #f8f8f8;
+ height: 100%;
+ display: inline-block;
+ bottom: 0;
+ top: 0;
+ position: absolute;
+ box-shadow: 0.3px 1px 3px rgba(24, 24, 25, 0.42);
+}
+#dcaedt .dcae-main-container .sdc-tabs-body .sdc-single-tab-content .sdc-single-tab-content-body {
+ height: 100%;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+}
+#dcaedt .dcae-main-container .selectPropertyType .tlv-radio-label {
+ margin-top: -7px;
+}
+#dcaedt .dcae-main-container .data-type-fields-structure {
+ background-color: #e6f6fb;
+ padding: 10px;
+ display: table-caption;
+}
+#dcaedt .dcae-main-container .data-type-fields-structure .open-close {
+ position: relative;
+}
+#dcaedt .dcae-main-container .data-type-fields-structure .open-close .open-close-button {
+ position: absolute;
+ top: 50%;
+ margin-top: -7px;
+}
+#dcaedt .dcae-main-container .data-type-fields-structure .open-close .open-close-button.expand {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -378px -888px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .data-type-fields-structure .open-close .open-close-button.collapse {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -334px -888px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .data-type-fields-structure .existInputContainer {
+ height: 30px;
+ width: 20px;
+ position: relative;
+}
+#dcaedt .dcae-main-container .data-type-fields-structure .existInput {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -101px -707px;
+ width: 10px;
+ height: 10px;
+ position: absolute;
+ top: 18px;
+ left: 3px;
+}
+#dcaedt .dcae-main-container .data-type-fields-structure .data-type-name {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ margin-left: 22px;
+}
+#dcaedt .dcae-main-container .data-type-fields-structure .i-sdc-form-input:disabled {
+ opacity: 0.4 !important;
+ cursor: auto;
+ background-color: transparent;
+ pointer-events: none;
+}
+#dcaedt .dcae-main-container .data-type-fields-structure .i-sdc-form-input:disabled[type="text"] {
+ opacity: 1 !important;
+ background-color: #f8f8f8;
+ color: black;
+}
+#dcaedt .dcae-main-container .data-type-fields-structure .property {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ min-width: 365px;
+ min-height: 46px;
+}
+#dcaedt .dcae-main-container .data-type-fields-structure .property input[type="text"],
+#dcaedt .dcae-main-container .data-type-fields-structure .property select {
+ width: 170px;
+}
+#dcaedt .dcae-main-container .data-type-fields-structure .property .property-name {
+ float: left;
+ margin-top: 8px;
+}
+#dcaedt .dcae-main-container .data-type-fields-structure .property .primitive-value-field {
+ float: right;
+ margin-top: 8px;
+ margin-left: 10px;
+}
+#dcaedt .dcae-main-container .data-type-fields-structure .property .inner-structure {
+ display: -webkit-box;
+}
+#dcaedt .dcae-main-container .data-type-fields-structure [ng-switch-when="map"] {
+ margin-top: 8px;
+ margin-left: 10px;
+}
+#dcaedt .dcae-main-container .data-type-fields-structure [ng-switch-when="map"] .map-item {
+ border: solid 1px #d2d2d2;
+ min-width: 401px;
+ min-height: 69px;
+ float: none !important;
+}
+#dcaedt .dcae-main-container .data-type-fields-structure [ng-switch-when="map"] .add-map-item {
+ width: auto;
+ float: none;
+}
+#dcaedt .dcae-main-container .data-type-fields-structure [ng-switch-when="map"] .add-map-item:nth-child(1) {
+ position: relative;
+ top: 6px;
+}
+#dcaedt .dcae-main-container .data-type-fields-structure [ng-switch-when="map"] .add-map-item .add-btn {
+ float: none;
+}
+#dcaedt .dcae-main-container .data-type-fields-structure [ng-switch-when="list"] {
+ float: left;
+ margin-top: 8px;
+ margin-left: 10px;
+ min-width: 280px;
+}
+#dcaedt .dcae-main-container .data-type-fields-structure [ng-switch-when="list"] .dt-list-item {
+ border: solid 1px #d2d2d2;
+}
+#dcaedt .dcae-main-container .data-type-fields-structure [ng-switch-when="list"] .list-value-items {
+ width: 280px;
+}
+#dcaedt .dcae-main-container .list-new-item {
+ float: left;
+ width: 50%;
+ min-width: 221px;
+ margin-right: 15px;
+}
+#dcaedt .dcae-main-container .list-new-item input {
+ min-width: 221px;
+}
+#dcaedt .dcae-main-container .list-value-items {
+ border-radius: 2px;
+ border: 1px solid #d2d2d2;
+ padding-bottom: 10px;
+ min-height: 100px;
+ clear: both;
+ background-color: white;
+}
+#dcaedt .dcae-main-container .list-value-items .list-value-item {
+ display: inline-block;
+ background-color: #e6f6fb;
+ margin: 10px 0 0 10px;
+ padding: 0 8px;
+}
+#dcaedt .dcae-main-container .list-value-items .list-value-item .delete-list-item {
+ margin: 0 0 0 2px;
+ cursor: pointer;
+}
+#dcaedt .dcae-main-container .add-btn {
+ color: #009fdb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ cursor: pointer;
+}
+#dcaedt .dcae-main-container .add-btn.add-list-item {
+ float: left;
+ margin-top: 5px;
+ width: 44px;
+}
+#dcaedt .dcae-main-container .add-btn:before {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -50px -231px;
+ width: 12px;
+ height: 12px;
+ margin-right: 5px;
+ content: "";
+}
+#dcaedt .dcae-main-container .add-btn:hover {
+ color: #056bae;
+}
+#dcaedt .dcae-main-container .add-btn:hover:before {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -100px -231px;
+ width: 12px;
+ height: 12px;
+}
+#dcaedt .dcae-main-container .dt-list {
+ display: table-caption;
+}
+#dcaedt .dcae-main-container .dt-list .dt-list-item {
+ border-radius: 3px;
+ background-color: #e6f6fb;
+ display: inline-block;
+}
+#dcaedt .dcae-main-container .dt-list .dt-list-item .delete-dt-list-item {
+ float: right;
+ position: relative;
+ top: 5px;
+ right: 5px;
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -675px -231px;
+ width: 11px;
+ height: 13px;
+}
+#dcaedt .dcae-main-container .dt-list .dt-list-item .delete-dt-list-item:hover {
+ background-position: -702px -231px;
+ width: 11px;
+ height: 13px;
+}
+#dcaedt .dcae-main-container .dt-list .dt-list-item .data-type-name {
+ margin-right: 16px;
+}
+#dcaedt .dcae-main-container .dt-list > .add-list-item {
+ float: none;
+}
+#dcaedt .dcae-main-container .add-map-item {
+ width: 400px;
+}
+#dcaedt .dcae-main-container .add-map-item:nth-child(odd) {
+ float: right;
+}
+#dcaedt .dcae-main-container .add-map-item:nth-child(1) {
+ float: none;
+}
+#dcaedt .dcae-main-container .add-map-item:nth-child(1) .add-btn {
+ float: none;
+}
+#dcaedt .dcae-main-container .add-map-item .add-btn {
+ width: 44px;
+ float: right;
+}
+#dcaedt .dcae-main-container .add-map-item.schema-data-type {
+ float: none;
+}
+#dcaedt .dcae-main-container .add-map-item.schema-data-type .add-btn {
+ float: none;
+}
+#dcaedt .dcae-main-container .add-btn {
+ color: #009fdb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ cursor: pointer;
+}
+#dcaedt .dcae-main-container .add-btn:before {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -50px -231px;
+ width: 12px;
+ height: 12px;
+ margin-right: 5px;
+ content: "";
+}
+#dcaedt .dcae-main-container .add-btn:hover {
+ color: #056bae;
+}
+#dcaedt .dcae-main-container .add-btn:hover:before {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -100px -231px;
+ width: 12px;
+ height: 12px;
+}
+#dcaedt .dcae-main-container .map-item {
+ min-width: 389px;
+ min-height: 65px;
+ background-color: #e6f6fb;
+ border-radius: 3px;
+ margin-bottom: 8px;
+ float: left;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+}
+#dcaedt .dcae-main-container .map-item:nth-child(even).primitive-value-map {
+ float: right;
+}
+#dcaedt .dcae-main-container .map-item .delete-map-item {
+ float: right;
+ position: relative;
+ top: 5px;
+ right: 5px;
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -675px -231px;
+ width: 11px;
+ height: 13px;
+}
+#dcaedt .dcae-main-container .map-item .delete-map-item:hover {
+ background-position: -702px -231px;
+ width: 11px;
+ height: 13px;
+}
+#dcaedt .dcae-main-container .map-item .map-item-field {
+ margin: 7px 12px !important;
+ float: left;
+ min-width: 170px;
+ min-height: 50px;
+}
+#dcaedt .dcae-main-container .map-item .map-item-field select {
+ width: 171px;
+}
+#dcaedt .dcae-main-container .map-item .map-item-field input[type="text"] {
+ width: 170px;
+}
+#dcaedt .dcae-main-container .map-item .map-item-field > .data-type-fields-structure {
+ padding: 0;
+}
+#dcaedt .dcae-main-container .structure-tree {
+ padding: 9px 0px 10px 30px;
+ position: relative;
+}
+#dcaedt .dcae-main-container .structure-tree ul {
+ position: relative;
+ list-style: none;
+ padding-left: 25px;
+}
+#dcaedt .dcae-main-container .structure-tree ul ::before {
+ content: "";
+ position: absolute;
+ left: -27px;
+}
+#dcaedt .dcae-main-container .structure-tree ul ::after {
+ content: "";
+ position: absolute;
+ left: -27px;
+}
+#dcaedt .dcae-main-container .structure-tree ul li {
+ position: relative;
+}
+#dcaedt .dcae-main-container .structure-tree ul li::before {
+ border-top: 1px solid #666666;
+ top: 20px;
+ width: 10px;
+ height: 0;
+}
+#dcaedt .dcae-main-container .structure-tree ul li::after {
+ border-left: 1px solid #666666;
+ height: 100%;
+ width: 0px;
+ top: -2px;
+}
+#dcaedt .dcae-main-container .structure-tree ul li:last-child::after {
+ height: 23px;
+}
+#dcaedt .dcae-main-container .structure-tree .component-container {
+ display: inline-block;
+ margin: 6px 0px 0px -16px;
+}
+#dcaedt .dcae-main-container .structure-tree .component-container-icon {
+ display: inline-block;
+}
+#dcaedt .dcae-main-container .structure-tree .component-container-text {
+ padding-left: 8px;
+ float: right;
+ text-overflow: ellipsis;
+ max-width: 120px;
+ display: inline-block;
+ white-space: nowrap;
+ font-size: 13px;
+ color: #666666;
+ overflow: hidden;
+ line-height: 28px;
+ float: none;
+}
+#dcaedt .dcae-main-container .structure-tree .non-certified {
+ position: relative;
+ left: 18px;
+ bottom: 8px;
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -157px -3386px;
+ width: 15px;
+ height: 15px;
+ display: block;
+}
+#dcaedt .dcae-main-container .sdc-tag {
+ background-color: #F2F2F2 ;
+ border-radius: 4px;
+ min-width: 150px;
+ height: 30px;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ padding: 0 10px;
+ margin: 2px;
+}
+#dcaedt .dcae-main-container .sdc-tag .tag {
+ display: inline-block;
+}
+#dcaedt .dcae-main-container .sdc-tag .category {
+ margin-right: 4px;
+ margin-left: 25px;
+ width: 25px;
+}
+#dcaedt .dcae-main-container .sdc-tag .relation-categoty-icon {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -100px -4351px;
+ width: 24px;
+ height: 24px;
+ cursor: pointer;
+ vertical-align: middle;
+}
+#dcaedt .dcae-main-container .sdc-tag .relation-categoty-icon:hover {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -52px -4351px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .dcae-main-container .sdc-tag .delete-icon {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -52px -4041px;
+ width: 10px;
+ height: 11px;
+ cursor: pointer;
+ vertical-align: middle;
+}
+#dcaedt .dcae-main-container .tag-tooltip-wrap {
+ background-color: rgba(80, 99, 113, 0.9);
+ position: relative;
+ display: inline-block;
+ margin: -5px -14px 0px -14px;
+}
+#dcaedt .dcae-main-container .w-sdc-header-user-container {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ width: 400px;
+ -ms-flex-preferred-size: 400px;
+ flex-basis: 400px;
+ -webkit-box-flex: 0;
+ -ms-flex-positive: 0;
+ flex-grow: 0;
+ -ms-flex-negative: 0;
+ flex-shrink: 0;
+ padding: 0 23px;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-pack: end;
+ -ms-flex-pack: end;
+ justify-content: flex-end;
+}
+#dcaedt .dcae-main-container .w-sdc-header-user-icon {
+ background: no-repeat url('/assets/styles/images/anonymous.jpg');
+ border-radius: 50%;
+ height: 47px;
+ width: 47px;
+ background-size: cover;
+ border: solid 2px #a8b3b9;
+ -ms-flex-preferred-size: 47px;
+ flex-basis: 47px;
+ -webkit-box-flex: 0;
+ -ms-flex-positive: 0;
+ flex-grow: 0;
+ -ms-flex-negative: 0;
+ flex-shrink: 0;
+}
+#dcaedt .dcae-main-container .w-sdc-header-user-details {
+ padding: 4px 4px 4px 14px;
+ display: table-cell;
+ vertical-align: middle;
+}
+#dcaedt .dcae-main-container .w-sdc-header-user-name {
+ max-width: 160px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ vertical-align: bottom;
+ font-weight: bold;
+ display: inline-block;
+}
+#dcaedt .dcae-main-container .w-sdc-header-user-role {
+ font-weight: bold;
+ display: inline-block;
+ margin-left: 6px;
+}
+#dcaedt .dcae-main-container .w-sdc-header-user-role:before {
+ content: '';
+ margin-right: 8px;
+ border-left: 1px solid #a8b3b9;
+}
+#dcaedt .dcae-main-container .w-sdc-header-user-last-login {
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ display: block;
+}
+#dcaedt .dcae-main-container .w-sdc-header-logout-icon {
+ background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAUCAYAAACAl21KAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjE5RjgxM0QxMDgzQTExRTVBQzA2OTg5ODlFNDVBNTZDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjE5RjgxM0QyMDgzQTExRTVBQzA2OTg5ODlFNDVBNTZDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTlGODEzQ0YwODNBMTFFNUFDMDY5ODk4OUU0NUE1NkMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MTlGODEzRDAwODNBMTFFNUFDMDY5ODk4OUU0NUE1NkMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6Riq1bAAAA20lEQVR42mJ0CUv+z0Aa+AvEertXzrmGLMgCpZcD8S4iDfoDxHfQBWEGnQLasICBAsDEQCUwcAa5hqeEAHEKNVykB8SzgYZVUGpQPRDPAOJ2oGHNZBsEjF1QussC4mlAXAM0rAM5+tHDwQJIVRBh7m0gLgeql6ZarLHgcP4JIBWAJ+YYgdQUIPYH4k6g+gpyop8RGj6gcGoGGYLTRQRAIxBnAHEl0JAOvF4jAC4BcSrQkDkEw4hA9K8ZGpkW5jUzYGwkkFCwrQJ68Rc2gyKhmNii9hwQoxS1AAEGAO5PP/+ClIDAAAAAAElFTkSuQmCC');
+ height: 20px;
+ width: 18px;
+ position: absolute;
+ right: 20px;
+ top: 29px;
+}
+#dcaedt .dcae-main-container .main-wrap {
+ text-align: center;
+}
+#dcaedt .dcae-main-container .main-wrap .header {
+ background-color: #c6e6f2;
+ height: 42px;
+ border-bottom: 1px solid rgba(0, 159, 219, 0.6);
+ border-top: 1px solid rgba(0, 159, 219, 0.6);
+}
+#dcaedt .dcae-main-container .main-wrap .header .title {
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ color: #000000;
+ font-weight: 400;
+ line-height: 42px;
+ padding-left: 18px;
+ float: left;
+}
+#dcaedt .dcae-main-container .main-wrap .header .buttons {
+ float: right;
+ padding-right: 11px;
+ line-height: 42px;
+}
+#dcaedt .dcae-main-container .main-wrap .header .buttons span {
+ vertical-align: middle;
+}
+#dcaedt .dcae-main-container .main-wrap .header .buttons .search,
+#dcaedt .dcae-main-container .main-wrap .header .buttons .order-by {
+ margin-right: 5px;
+}
+#dcaedt .dcae-main-container .main-wrap .header .buttons .search {
+ display: none;
+}
+#dcaedt .dcae-main-container .main-wrap .search-box {
+ border-radius: 2px;
+ height: 30px;
+ width: 275px;
+ border: 1px #067ab4 solid;
+ margin: 8px 0;
+ padding: 0 5px;
+}
+#dcaedt .dcae-main-container .expand-collapse-menu-box {
+ line-height: 20px;
+ background-color: #f8f8f8;
+}
+#dcaedt .dcae-main-container .expand-collapse-menu-box .expand-collapse-header {
+ border-bottom: 1px solid #d2d2d2;
+ height: 53px;
+ background-color: #ffffff;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+}
+#dcaedt .dcae-main-container .expand-collapse-menu-box .expand-collapse-menu-box-title {
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+ color: #009fdb;
+ cursor: pointer;
+}
+#dcaedt .dcae-main-container .expand-collapse-menu-box .expand-collapse-menu-box-title .w-sdc-designer-sidebar-section-title-text {
+ max-width: 185px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: inline-block;
+ white-space: nowrap;
+ padding: 8px 0;
+}
+#dcaedt .dcae-main-container .expand-collapse-menu-box .expand-collapse-menu-box-title.expanded .expand-collapse-menu-box-title-icon {
+ -webkit-transform: rotate(180deg);
+ transform: rotate(180deg);
+}
+#dcaedt .dcae-main-container .expand-collapse-menu-box .expand-collapse-menu-box-title-icon {
+ cursor: pointer;
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -350px -236px;
+ width: 12px;
+ height: 7px;
+ margin-right: 6px;
+ transition: .3s all;
+ position: relative;
+ vertical-align: text-top;
+ margin-left: 14px;
+ vertical-align: 14px;
+}
+#dcaedt .dcae-main-container .expand-collapse-menu-box .w-sdc-designer-sidebar-section-content {
+ overflow: hidden;
+}
+#dcaedt .dcae-main-container .expand-collapse-menu-box .w-sdc-designer-sidebar-section-content .expand-collapse-menu-box-item {
+ cursor: pointer;
+ padding-left: 14px;
+ font-family: omnes-medium, sans-serif;
+ color: #5a5a5a;
+ line-height: 18px;
+}
+#dcaedt .dcae-main-container .expand-collapse-menu-box .w-sdc-designer-sidebar-section-content .expand-collapse-menu-box-item.selected {
+ background-color: #009fdb;
+ color: #ffffff;
+}
+#dcaedt .dcae-main-container .ellipsis-directive-more-less {
+ color: #3b7b9b;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ font-weight: bold;
+ cursor: pointer;
+ float: right;
+ margin-right: 10px;
+ line-height: 23px;
+ text-decoration: underline;
+ text-align: left;
+}
+#dcaedt .dcae-main-container .tags-box {
+ height: 116px;
+ background-color: #ffffff;
+}
+#dcaedt .dcae-main-container .tags-box .perfect-scrollbar {
+ height: 85px;
+}
+#dcaedt .dcae-main-container .tags-box .new-tag-input {
+ display: block;
+ border-bottom-left-radius: 0 !important;
+ border-bottom-right-radius: 0 !important;
+ border: solid 1px #d8d8d8;
+ width: 100%;
+ height: 30px;
+ line-height: 30px;
+ padding: 2px 10px;
+ outline: none;
+}
+#dcaedt .dcae-main-container .tags-box .tags-wrapper {
+ padding: 10px;
+ border-bottom-left-radius: 2px;
+ border-bottom-right-radius: 2px;
+ border: solid 1px #d8d8d8;
+ border-top: none;
+}
+#dcaedt .dcae-main-container .tags-box .tags-wrapper .group-tag {
+ display: inline-block;
+}
+#dcaedt .dcae-main-container .tags-box .tags-wrapper .group-tag .sdc-tag {
+ border: solid 1px #959595;
+ background-color: #ffffff;
+ min-width: auto;
+}
+#dcaedt .dcae-main-container .tags-box .tags-wrapper .group-tag .sdc-tag .tag {
+ margin-right: 10px;
+}
+#dcaedt .dcae-main-container .tags-box .tags-wrapper.view-mode .group-tag {
+ opacity: 1;
+ background-color: #f8f8f8 !important;
+}
+#dcaedt .dcae-main-container .tags-box .tags-wrapper.view-mode .group-tag .sdc-tag {
+ background: none;
+ border-color: #d2d2d2;
+}
+#dcaedt .dcae-main-container .sdc-admin-container {
+ height: 100%;
+}
+#dcaedt .dcae-main-container .sdc-admin-container .sdc-admin-top-bar-menu {
+ background-color: #e1e7ec;
+ height: 44px;
+ padding-left: 260px;
+ box-shadow: -1px 0px 3px 0px rgba(0, 0, 0, 0.33);
+ position: absolute;
+ top: 0px;
+ left: 0;
+ right: 0;
+ z-index: 2;
+}
+#dcaedt .dcae-main-container .sdc-admin-container .sdc-admin-top-bar-menu .sdc-admin-top-bar-menu-tab {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 15px;
+ cursor: pointer;
+ height: 44px;
+ background-color: transparent;
+ position: relative;
+ padding: 0px 10px 0px 10px;
+ border: none;
+ outline: none;
+ margin-right: 15px;
+}
+#dcaedt .dcae-main-container .sdc-admin-container .sdc-admin-top-bar-menu .sdc-admin-top-bar-menu-tab.selected {
+ outline: none;
+ border-bottom: solid 4px #3196c9;
+}
+#dcaedt .dcae-main-container .sdc-admin-container .sdc-admin-top-bar-menu .sdc-admin-top-bar-menu-monitor-btn {
+ background-color: #3b7b9b;
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ float: right;
+ border: none;
+ position: relative;
+ padding: 11px 24px;
+}
+#dcaedt .dcae-main-container .sdc-admin-container .sdc-admin-body {
+ background-color: #ECEFF3;
+ padding: 40px 260px 60px 260px;
+ position: absolute;
+ top: 44px;
+ left: 0;
+ right: 0;
+ bottom: 0;
+}
+#dcaedt .dcae-main-container .category-management .row {
+ display: table;
+ width: 70%;
+ min-width: 800px;
+ margin: auto;
+}
+#dcaedt .dcae-main-container .category-management .row [class*="col-"] {
+ float: none;
+ display: table-cell;
+ vertical-align: top;
+ background-color: white;
+ border: 1px solid #c1c1c1;
+ padding: 0;
+}
+#dcaedt .dcae-main-container .category-management .row [class*="col-"]:not(:last-child) {
+ border-right: none;
+}
+#dcaedt .dcae-main-container .category-management .row [class*="col-"] h4 {
+ float: left;
+ color: white;
+ background-color: #9ba8b0;
+ margin: 0;
+ padding: 0px 0px 0px 16px;
+ width: 100%;
+ height: 31px;
+ font-size: 15px;
+}
+#dcaedt .dcae-main-container .category-management .row [class*="col-"] h4 span {
+ display: inline-block;
+ line-height: 30px;
+ margin-right: 5px;
+ padding: 0 7px;
+}
+#dcaedt .dcae-main-container .category-management .row [class*="col-"] h4 span.selected {
+ border-bottom: 2px #067ab4 solid;
+}
+#dcaedt .dcae-main-container .category-management .row [class*="col-"] h4 + span {
+ cursor: pointer;
+ float: right;
+ display: inline-block;
+ background-color: #3b7c9c;
+ text-align: center;
+ padding: 5.5px 0px;
+ width: 60px;
+ position: absolute;
+ top: 0;
+ right: 0;
+ z-index: 1;
+ color: white;
+}
+#dcaedt .dcae-main-container .category-management .row [class*="col-"] .perfect-scrollbar {
+ width: 100%;
+ height: 500px;
+ margin-top: 40px;
+ margin-bottom: 15px;
+}
+#dcaedt .dcae-main-container .category-management .row [class*="col-"] ul {
+ clear: both;
+ margin: 5px 0 10px 0;
+ list-style-type: none;
+ padding: 0;
+ position: relative;
+}
+#dcaedt .dcae-main-container .category-management .row [class*="col-"] ul li {
+ cursor: pointer;
+ padding: 0 8px;
+ text-indent: 9px;
+ font-size: 13px;
+ line-height: 25px;
+ border: 1px solid white;
+ border-right: none;
+ border-left: none;
+ margin-right: 5px;
+}
+#dcaedt .dcae-main-container .category-management .row [class*="col-"] ul li button {
+ background-color: transparent;
+ border: none;
+ float: right;
+ margin: 5px 3px;
+ display: none;
+}
+#dcaedt .dcae-main-container .category-management .row [class*="col-"] ul li:hover {
+ background-color: #d9e6ec;
+ color: #3b7b9b;
+ border-color: #d9e6ec;
+}
+#dcaedt .dcae-main-container .category-management .row [class*="col-"] ul li:hover button {
+ display: inline-block;
+}
+#dcaedt .dcae-main-container .category-management .row [class*="col-"] ul li.selected {
+ background-color: #dbe6ec;
+ color: #3b7b9b;
+ border-color: rgba(59, 123, 155, 0.42);
+}
+#dcaedt .dcae-main-container .category-management .row [class*="col-"] ul li.selected.gray {
+ background-color: rgba(155, 168, 176, 0.09);
+ border-color: white;
+}
+#dcaedt .dcae-main-container .sdc-user-management-top-bar {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ width: 100%;
+}
+#dcaedt .dcae-main-container .sdc-user-management-top-bar label {
+ color: #445663;
+ font-family: omnes-medium, sans-serif;
+ font-size: 15px;
+}
+#dcaedt .dcae-main-container .sdc-user-management-top-bar .sdc-user-management-top-bar-form-input,
+#dcaedt .dcae-main-container .sdc-user-management-top-bar .sdc-user-management-top-bar-form-select {
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ color: #666666;
+ height: 28px;
+ padding-left: 10px;
+ border-radius: 2px;
+ border: 1px solid #cfcfcf;
+}
+#dcaedt .dcae-main-container .sdc-user-management-top-bar .sdc-user-management-top-bar-search-container {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ position: relative;
+ width: 400px;
+}
+#dcaedt .dcae-main-container .sdc-user-management-top-bar .sdc-user-management-top-bar-search-container label {
+ margin-bottom: 20px;
+}
+#dcaedt .dcae-main-container .sdc-user-management-top-bar .sdc-user-management-top-bar-search-container .w-sdc-search-icon {
+ right: 11px;
+ top: 49px;
+}
+#dcaedt .dcae-main-container .sdc-user-management-top-bar .vertical-border-container {
+ min-width: 50px;
+ margin: 0px auto;
+}
+#dcaedt .dcae-main-container .sdc-user-management-top-bar .vertical-border-container .vertical-border {
+ width: 1px;
+ height: 70px;
+ background-color: #cdcdcd;
+ display: table;
+ margin: 0 auto;
+}
+#dcaedt .dcae-main-container .sdc-user-management-top-bar .sdc-user-management-top-bar-wrapper {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+}
+#dcaedt .dcae-main-container .sdc-user-management-top-bar .sdc-user-management-top-bar-title {
+ color: #445663;
+ font-family: omnes-medium, sans-serif;
+ font-size: 15px;
+ font-weight: bold;
+}
+#dcaedt .dcae-main-container .sdc-user-management-top-bar .sdc-user-management-top-bar-create-user-container {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ position: relative;
+ float: right;
+ padding-top: 0px;
+ text-align: left;
+ width: 650px;
+}
+#dcaedt .dcae-main-container .sdc-user-management-top-bar .sdc-user-management-top-bar-create-user-container label {
+ margin-bottom: 20px;
+}
+#dcaedt .dcae-main-container .sdc-user-management-top-bar .sdc-user-management-top-bar-create-user-container .sdc-user-management-top-bar-form-container {
+ width: 233px;
+ margin-right: 35px;
+}
+#dcaedt .dcae-main-container .sdc-user-management-top-bar .sdc-user-management-top-bar-create-user-container .sdc-user-management-top-bar-create-btn {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+ cursor: pointer;
+ border-radius: 5px;
+ border: 0;
+ height: 38px;
+ line-height: 38px;
+ width: 195px;
+ margin: 0 6px;
+ padding: 0;
+ vertical-align: middle;
+ outline: none;
+ background-color: #28bd6e;
+ height: 30px;
+ width: 100px;
+ line-height: 0px;
+ padding-bottom: 3px;
+ margin-right: 0px;
+}
+#dcaedt .dcae-main-container .sdc-user-management-top-bar .sdc-user-management-top-bar-create-user-container .sdc-user-management-top-bar-create-btn:disabled {
+ background-color: #cdcdcd;
+}
+#dcaedt .dcae-main-container .sdc-user-management-top-bar .sdc-user-management-top-bar-create-user-container .sdc-user-management-top-bar-create-btn:hover:enabled {
+ background-color: #1f9356;
+}
+#dcaedt .dcae-main-container .sdc-user-management-table-container-flex {
+ height: 650px;
+ margin-top: 35px;
+}
+#dcaedt .dcae-main-container .sdc-user-management-table-container-flex .sdc-user-management-table {
+ width: 100%;
+ border: 1px solid #a8b3b9;
+}
+#dcaedt .dcae-main-container .sdc-user-management-table-container-flex .sdc-user-management-table .head {
+ background-color: #a8b3b9;
+}
+#dcaedt .dcae-main-container .sdc-user-management-table-container-flex .sdc-user-management-table .head .head-row {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 15px;
+ font-weight: bold;
+ border-right: 1px solid rgba(120, 136, 148, 0.26);
+}
+#dcaedt .dcae-main-container .sdc-user-management-table-container-flex .sdc-user-management-table .head .head-row .sdc-user-management-table-header-sort-arrow {
+ display: inline-block;
+ background-color: transparent;
+ border: none;
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ width: 0;
+ height: 0;
+ float: right;
+ margin: 8px 8px 0px 0px;
+}
+#dcaedt .dcae-main-container .sdc-user-management-table-container-flex .sdc-user-management-table .head .head-row .sdc-user-management-table-header-sort-arrow.up {
+ border-left: 5px solid transparent;
+ border-right: 5px solid transparent;
+ border-bottom: 5px solid;
+}
+#dcaedt .dcae-main-container .sdc-user-management-table-container-flex .sdc-user-management-table .head .head-row .sdc-user-management-table-header-sort-arrow.down {
+ border-left: 5px solid transparent;
+ border-right: 5px solid transparent;
+ border-top: 5px solid;
+}
+#dcaedt .dcae-main-container .sdc-user-management-table-container-flex .sdc-user-management-table .head .sdc-user-management-table-header:hover {
+ background-color: #D3DBE0;
+}
+#dcaedt .dcae-main-container .sdc-user-management-table-container-flex .sdc-user-management-table .body {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .sdc-user-management-table-container-flex .sdc-user-management-table .body .scrollbar-container {
+ max-height: 421px;
+ position: relative;
+ overflow: hidden;
+}
+#dcaedt .dcae-main-container .sdc-user-management-table-container-flex .sdc-user-management-table .body .data-row:nth-of-type(odd) {
+ background-color: #ffffff;
+}
+#dcaedt .dcae-main-container .sdc-user-management-table-container-flex .sdc-user-management-table .body .data-row.sdc-user-management-table-new-user-row {
+ -webkit-animation: change 7s step-end both;
+ animation: change 7s step-end both;
+}
+@-webkit-keyframes change {
+ from {
+ color: #28bd6e;
+ }
+ to {
+ color: #666666;
+ }
+}
+@keyframes change {
+ from {
+ color: #28bd6e;
+ }
+ to {
+ color: #666666;
+ }
+}
+#dcaedt .dcae-main-container .sdc-user-management-table-container-flex .sdc-user-management-table .body .data-row.sdc-user-management-table-row-edit-mode {
+ background-color: #D3DBE0;
+}
+#dcaedt .dcae-main-container .sdc-user-management-table-container-flex .sdc-user-management-table .body .data-row div {
+ border-right: 1px solid rgba(120, 136, 148, 0.26);
+}
+#dcaedt .dcae-main-container .sdc-user-management-table-container-flex .sdc-user-management-table .body .data-row div:last-child {
+ border-right: none;
+}
+#dcaedt .dcae-main-container .sdc-user-management-table-container-flex .sdc-user-management-table .body .data-row div .sdc-user-management-table-role-select {
+ background-color: transparent;
+ border: 0;
+ width: 100%;
+}
+#dcaedt .dcae-main-container .sdc-user-management-table-container-flex .sdc-user-management-table .body .data-row div .sdc-user-management-table-role-label {
+ margin-left: 4px;
+}
+#dcaedt .dcae-main-container .sdc-user-management-table-container-flex .sdc-user-management-table .body .data-row:hover {
+ background-color: #D3DBE0;
+}
+#dcaedt .dcae-main-container .sdc-user-management-table-container-flex .sdc-user-management-table .sdc-user-management-table-btn-col {
+ line-height: 0px;
+ text-align: center;
+}
+#dcaedt .dcae-main-container .sdc-user-management-table-container-flex .sdc-user-management-table .sdc-user-management-table-btn-col .sdc-user-management-table-delete-btn {
+ background-color: transparent;
+ border: none;
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -64px -2771px;
+ width: 11px;
+ height: 13px;
+ opacity: 0.7;
+}
+#dcaedt .dcae-main-container .sdc-user-management-table-container-flex .sdc-user-management-table .sdc-user-management-table-btn-col .sdc-user-management-table-edit-btn {
+ background-color: transparent;
+ border: none;
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -51px -3339px;
+ width: 12px;
+ height: 12px;
+ opacity: 0.7;
+}
+#dcaedt .dcae-main-container .sdc-user-management-table-container-flex .sdc-user-management-table .sdc-user-management-table-btn-col .sdc-user-management-table-save-btn {
+ background-color: transparent;
+ border: none;
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -157px -4089px;
+ width: 12px;
+ height: 12px;
+}
+#dcaedt .dcae-main-container .sdc-user-management-table-container-flex .sdc-user-management-flex-container {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+}
+#dcaedt .dcae-main-container .sdc-user-management-table-container-flex .sdc-user-management-flex-item {
+ width: 10px;
+ padding: 5px;
+ text-align: center;
+}
+#dcaedt .dcae-main-container .sdc-user-management-table-container-flex .sdc-user-management-flex-item:nth-child(1) {
+ -webkit-box-flex: 5;
+ -ms-flex-positive: 5;
+ flex-grow: 5;
+}
+#dcaedt .dcae-main-container .sdc-user-management-table-container-flex .sdc-user-management-flex-item:nth-child(2) {
+ -webkit-box-flex: 7;
+ -ms-flex-positive: 7;
+ flex-grow: 7;
+}
+#dcaedt .dcae-main-container .sdc-user-management-table-container-flex .sdc-user-management-flex-item:nth-child(3) {
+ -webkit-box-flex: 4;
+ -ms-flex-positive: 4;
+ flex-grow: 4;
+}
+#dcaedt .dcae-main-container .sdc-user-management-table-container-flex .sdc-user-management-flex-item:nth-child(4) {
+ -webkit-box-flex: 8;
+ -ms-flex-positive: 8;
+ flex-grow: 8;
+}
+#dcaedt .dcae-main-container .sdc-user-management-table-container-flex .sdc-user-management-flex-item:nth-child(5) {
+ -webkit-box-flex: 8;
+ -ms-flex-positive: 8;
+ flex-grow: 8;
+}
+#dcaedt .dcae-main-container .sdc-user-management-table-container-flex .sdc-user-management-flex-item:nth-child(6) {
+ -webkit-box-flex: 8;
+ -ms-flex-positive: 8;
+ flex-grow: 8;
+}
+#dcaedt .dcae-main-container .sdc-user-management-table-container-flex .sdc-user-management-flex-item:nth-child(7) {
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+}
+#dcaedt .dcae-main-container .sdc-user-management-table-container-flex .sdc-user-management-flex-item:nth-child(8) {
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container {
+ /*Added by - Ikram */
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-categories-list-item {
+ font-weight: normal;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-content-ul {
+ padding: 0;
+ margin: 0;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-content-ul .i-sdc-catalog-subcategories-checkbox {
+ padding: 0 0 0 20px;
+ margin: 0;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-content-ul .i-sdc-catalog-subcategories-checkbox .i-sdc-catalog-grouping-checkbox {
+ padding: 0 0 0 20px;
+ margin: 0;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-content-li:last-child .i-sdc-categories-list-item {
+ margin: 0;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-categories-list-item {
+ display: block;
+ vertical-align: top;
+ font-weight: bold;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-subcategories-list-item {
+ display: block;
+ vertical-align: top;
+ font-weight: normal;
+ margin: 0;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-product-input,
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-product-select {
+ border: 1px solid #cfcfcf;
+ min-height: 30px;
+ padding: 0;
+ width: 100%;
+ margin: 1px 0;
+ background-color: #F2F2F2;
+ outline: none;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-product-input:disabled,
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-product-select:disabled {
+ opacity: 0.4 !important;
+ cursor: auto;
+ background-color: transparent;
+ pointer-events: none;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-product-input optgroup,
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-product-select optgroup {
+ color: #23aa63;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-product-input optgroup option,
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-product-select optgroup option {
+ color: #666666;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-categories-list-item-icon {
+ display: inline-block;
+ float: right;
+ position: relative;
+ right: -8px;
+ top: 6px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-categories-list-item {
+ margin-top: 7px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-categories-list-item.NOT_CERTIFIED_CHECKOUT .i-sdc-categories-list-item-icon,
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-categories-list-item.NOT_CERTIFIED_CHECKIN .i-sdc-categories-list-item-icon {
+ background: url('/assets/styles/images/sprites/sprite-global-old.png') no-repeat -53px -2889px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-categories-list-item.CERTIFIED .i-sdc-categories-list-item-icon {
+ background: url('/assets/styles/images/sprites/sprite-global-old.png') no-repeat -53px -3034px;
+ width: 14px;
+ height: 16px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-categories-list-item.READY_FOR_CERTIFICATION .i-sdc-categories-list-item-icon {
+ background: url('/assets/styles/images/sprites/sprite-global-old.png') no-repeat -53px -2985px;
+ width: 14px;
+ height: 16px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-categories-list-item.CERTIFICATION_IN_PROGRESS .i-sdc-categories-list-item-icon {
+ background: url('/assets/styles/images/sprites/sprite-global-old.png') no-repeat -53px -2934px;
+ width: 14px;
+ height: 16px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-categories-list-item.DISTRIBUTED .i-sdc-categories-list-item-icon,
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-categories-list-item.TBD .i-sdc-categories-list-item-icon {
+ background: url('/assets/styles/images/sprites/sprite-global-old.png') no-repeat -43px -3087px;
+ width: 24px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-categories-list-input {
+ margin: 8px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-subcategories-list-input {
+ margin: 8px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-subcategories-list-input-container {
+ margin: 0px 0px 0px 20px;
+ padding: 2px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .w-sdc-header-catalog-search-container {
+ display: table;
+ padding: 21px 0;
+ position: relative;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .w-sdc-header-catalog-search-container .w-sdc-designer-leftbar-search-input {
+ color: #000;
+ width: 300px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .w-sdc-catalog-main {
+ padding: 10px 12px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .w-sdc-dashboard-catalog-header {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ display: inline-block;
+ font-style: italic;
+ font-weight: bold;
+ padding-left: 10px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .w-sdc-dashboard-catalog-header-order {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ font-weight: 800;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .w-sdc-dashboard-catalog-sort {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ font-weight: bold;
+ white-space: pre;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .w-sdc-dashboard-catalog-sort:hover {
+ cursor: pointer;
+ text-decoration: none;
+ color: #3b7b9b;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .w-sdc-dashboard-catalog-sort.blue {
+ color: #3b7b9b;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .w-sdc-catalog-sort-arrow {
+ display: inline-block;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .w-sdc-catalog-sort-arrow.up {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ width: 0;
+ height: 0;
+ border-left: 5px solid transparent;
+ border-right: 5px solid transparent;
+ border-bottom: 5px solid ;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .w-sdc-catalog-sort-arrow.down {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ width: 0;
+ height: 0;
+ border-left: 5px solid transparent;
+ border-right: 5px solid transparent;
+ border-top: 5px solid;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .w-sdc-dashboard-catalog-header-right {
+ float: right;
+ display: inline-block;
+ padding-right: 34px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .w-sdc-header-catalog-search-input {
+ width: 420px;
+ display: table-cell;
+ padding: 0 25px 1px 10px;
+ border: 1px solid #bcbcbc;
+ border-radius: 10px;
+ height: 30px;
+ margin: 10px 30px;
+ outline: none;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .sdc-catalog-type-filter-container {
+ margin-top: -1px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title {
+ text-transform: uppercase;
+ color: #000000;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ line-height: 30px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon {
+ cursor: pointer;
+ background-image: url(/sdc1/scripts/images/tlv-sprite.068743809b588c3fce24.png);
+ display: inline-block;
+ vertical-align: middle;
+ background-position: -230px -59px;
+ width: 14px;
+ height: 10px;
+ transition: .3s all;
+ margin-top: -4px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon.logo-blue {
+ background-position: -10px -20px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon.user {
+ background-position: -50px -20px;
+ width: 15px;
+ height: 20px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .facebook {
+ background-position: -10px -260px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .facebook-hover {
+ background-position: -10px -300px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .twitter {
+ background-position: -50px -260px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .twitter-hover {
+ background-position: -50px -300px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .linkedin {
+ background-position: -89px -260px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .linkedin-hover {
+ background-position: -89px -300px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .youtube {
+ background-position: -130px -260px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .youtube-hover {
+ background-position: -130px -300px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .footer-open {
+ background-position: -250px -59px;
+ width: 14px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .footer-open-hover {
+ background-position: -250px -79px;
+ width: 14px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .footer-close {
+ background-position: -230px -59px;
+ width: 14px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .footer-close-hover {
+ background-position: -230px -79px;
+ width: 14px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .checkbox-disadbled {
+ background-position: -10px -60px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .checkbox {
+ background-position: -10px -60px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .checkbox-hover {
+ background-position: -10px -100px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .checkbox-checked {
+ background-position: -10px -120px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .radio-disabled {
+ background-position: -50px -60px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .radio {
+ background-position: -50px -80px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .radio-checked {
+ background-position: -50px -120px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-text {
+ margin-left: 20px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .seperator-left,
+#dcaedt .dcae-main-container .sdc-catalog-container .seperator-right {
+ border-right: solid 1px #a8b3b9;
+ display: table-cell;
+ width: 2px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title.expanded .i-sdc-designer-leftbar-section-title-icon {
+ -webkit-transform: rotate(180deg);
+ transform: rotate(180deg);
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title + .i-sdc-designer-leftbar-section-content {
+ max-height: 0px;
+ margin: 0 auto;
+ transition: all .3s;
+ overflow: hidden;
+ padding: 0 10px 0 18px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title.expanded + .i-sdc-designer-leftbar-section-content {
+ max-height: 9999px;
+ margin: 0 auto 1px;
+ transition: all .3s;
+ padding: 10px 18px 10px 18px;
+ overflow: hidden;
+}
+#dcaedt .dcae-main-container .w-sdc-search-icon {
+ position: absolute;
+ right: 40px;
+ top: 40px;
+}
+#dcaedt .dcae-main-container .w-sdc-search-icon.leftbar {
+ top: 19px;
+ right: 18px;
+}
+#dcaedt .dcae-main-container .w-sdc-search-icon.magnification {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -49px -3138px;
+ width: 12px;
+ height: 12px;
+ cursor: pointer;
+}
+#dcaedt .dcae-main-container .w-sdc-search-icon.cancel {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -104px -4040px;
+ width: 10px;
+ height: 11px;
+ cursor: pointer;
+}
+#dcaedt .dcae-main-container .sdc-dashboard-container .tlv-loader {
+ top: -110px;
+ left: 80px;
+}
+#dcaedt .dcae-main-container .sdc-dashboard-container .sdc-hide-popover .popover {
+ display: none !important;
+}
+#dcaedt .dcae-main-container .w-sdc-left-sidebar-nav {
+ margin-top: 46px;
+}
+#dcaedt .dcae-main-container .w-sdc-main-right-container-element {
+ float: left;
+ height: 217px;
+ width: 217px;
+ margin: 10px;
+ position: relative;
+}
+#dcaedt .dcae-main-container .w-sdc-main-right-container-element-details-container {
+ position: absolute;
+ top: 165px;
+ left: 50px;
+}
+#dcaedt .dcae-main-container .w-sdc-main-right-container-element-name {
+ font-weight: bold;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-new {
+ border: 2px dashed #a8b3b9;
+ border-radius: 2px;
+ cursor: pointer;
+ display: inline-block;
+ height: 198px;
+ margin: 11px;
+ position: relative;
+ vertical-align: middle;
+ width: 202px;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-new-content {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-pack: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ height: 100%;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-new-content-plus {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -50px -77px;
+ width: 23px;
+ height: 23px;
+ position: relative;
+ margin-bottom: 20px;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-new-content-plus:after {
+ color: #959595;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ content: 'ADD';
+ position: absolute;
+ top: 25px;
+ left: -3px;
+ vertical-align: -50%;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-import-content-plus {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -100px -81px;
+ width: 23px;
+ height: 23px;
+ position: relative;
+ margin-bottom: 20px;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-import-content-plus:after {
+ color: #959595;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ content: 'IMPORT';
+ position: absolute;
+ top: 25px;
+ left: -16px;
+ vertical-align: -50%;
+}
+#dcaedt .dcae-main-container .sdc-dashboard-create-element-container,
+#dcaedt .dcae-main-container .sdc-dashboard-import-element-container {
+ width: 140px;
+}
+#dcaedt .dcae-main-container .sdc-dashboard-create-element-container .tlv-btn.import-dcae,
+#dcaedt .dcae-main-container .sdc-dashboard-import-element-container .tlv-btn.import-dcae {
+ padding: 0;
+}
+#dcaedt .dcae-main-container .sdc-dashboard-create-element-container .tlv-btn,
+#dcaedt .dcae-main-container .sdc-dashboard-import-element-container .tlv-btn {
+ position: relative;
+ width: 100%;
+ margin-bottom: 10px;
+}
+#dcaedt .dcae-main-container .sdc-dashboard-create-element-container .tlv-btn:last-child,
+#dcaedt .dcae-main-container .sdc-dashboard-import-element-container .tlv-btn:last-child {
+ margin-bottom: 0;
+}
+#dcaedt .dcae-main-container .sdc-dashboard-create-element-container input[type="file"],
+#dcaedt .dcae-main-container .sdc-dashboard-import-element-container input[type="file"] {
+ cursor: inherit;
+ filter: alpha(opacity=0);
+ opacity: 0;
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 138px;
+ height: 30px;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card {
+ width: 204px;
+ height: 200px;
+ background-color: #ffffff;
+ border-radius: 2px;
+ box-shadow: 0px 2px 2px 0px rgba(24, 24, 25, 0.05);
+ display: inline-block;
+ margin: 10px;
+ position: relative;
+ vertical-align: middle;
+ border: solid 1px #ffffff;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card:hover {
+ border: solid 1px #d2d2d2;
+ box-shadow: 3px 3px 2px 0px rgba(24, 24, 25, 0.05);
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card:active {
+ border: solid 1px #71c5eb;
+ box-shadow: 3px 3px 2px 0px rgba(24, 24, 25, 0.05);
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-body {
+ cursor: pointer;
+ border-bottom: 1px solid #D3DBE0;
+ height: 155px;
+ position: relative;
+ text-align: center;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-description {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ cursor: pointer;
+ background-color: rgba(57, 73, 84, 0.9);
+ border-radius: 4px 4px 0 0;
+ bottom: 0;
+ left: 0;
+ opacity: 0;
+ padding: 10px;
+ position: absolute;
+ right: 0;
+ text-align: left;
+ top: 0;
+ word-wrap: break-word;
+ z-index: 4;
+ min-height: 100px;
+ overflow: hidden;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-schema {
+ margin-top: 30px;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-edit {
+ cursor: pointer;
+ position: absolute;
+ right: 13px;
+ top: 15px;
+ z-index: 2;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-footer {
+ padding: 3px 12px 10px 12px;
+ position: relative;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-avatar {
+ text-transform: uppercase;
+ border-radius: 50%;
+ display: inline-block;
+ position: absolute;
+ left: -6px;
+ text-align: center;
+ top: -6px;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-avatar span {
+ background-color: #ffffff;
+ border-radius: 15px;
+ color: #ffffff;
+ content: '';
+ height: 30px;
+ text-align: center;
+ display: block;
+ border: solid 2px #ECEFF3;
+ padding: 3px 10px 2px 10px;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-avatar span.VF {
+ color: #9063cd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-avatar span.VF::before {
+ content: 'VF';
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-avatar span.VFC {
+ color: #9063cd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-avatar span.VFC::before {
+ content: 'VFC';
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-avatar span.CP {
+ color: #9063cd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-avatar span.CP::before {
+ content: 'CP';
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-avatar span.VL {
+ color: #9063cd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-avatar span.VL::before {
+ content: 'VL';
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-avatar span.SERVICE {
+ color: #71c5eb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-avatar span.SERVICE::before {
+ content: 'S';
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-avatar span.PRODUCT {
+ color: #056bae;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-avatar span.PRODUCT::before {
+ content: 'P';
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-avatar span.green {
+ color: #1d9a95;
+ font-family: omnes-medium, sans-serif;
+ font-size: 17px;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-avatar span.green::before {
+ content: 'R';
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-avatar span.red {
+ color: #e85858;
+ font-family: omnes-medium, sans-serif;
+ font-size: 17px;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-avatar span.red::before {
+ content: 'S';
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-avatar span.dblack {
+ color: #000000;
+ font-family: omnes-medium, sans-serif;
+ font-size: 17px;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-avatar span.dblack::before {
+ content: 'P';
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-info {
+ display: inline-block;
+ vertical-align: middle;
+ max-width: 165px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-info-name-container {
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ margin: 0 0 2px 10px;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-info-name {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ display: inline-block;
+ vertical-align: middle;
+ max-width: 165px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-info-lifecycleState {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+ display: inline-block;
+ vertical-align: middle;
+ max-width: 165px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-info-user {
+ color: #959595;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ line-height: 18px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ width: 100%;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-menu-button {
+ display: inline-block;
+ padding: 12px 0 0 10px;
+ position: absolute;
+ right: 12px;
+ top: 8px;
+ border-left: solid 1px #e1e7ec;
+ height: 42px;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-menu-button:hover .w-sdc-dashboard-card-menu {
+ display: block;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-menu {
+ background-color: #ffffff;
+ border-radius: 0 0 4px 4px;
+ border-top: 3px solid #3b7b9b;
+ box-shadow: 0 2px 2px 0px rgba(0, 0, 0, 0.2);
+ color: #000000;
+ display: none;
+ min-height: 30px;
+ padding: 9px 0;
+ position: absolute;
+ right: -27px;
+ width: 208px;
+ z-index: 9;
+ max-height: 164px;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-menu::before {
+ background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAYAAAB4ka1VAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkE1OTIzNDI1MENFQjExRTU4ODRERTI1MDM2REZCOUYzIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkE1OTIzNDI2MENFQjExRTU4ODRERTI1MDM2REZCOUYzIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTU5MjM0MjMwQ0VCMTFFNTg4NERFMjUwMzZERkI5RjMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTU5MjM0MjQwQ0VCMTFFNTg4NERFMjUwMzZERkI5RjMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4gBXTlAAAAOElEQVR42mK0rp7NgASMgZgFiE/CBJjQJPcA8U4gNkdXAJMUAGJ+ZEVMaJIwAFfEhEUSRRFAgAEAVtgJyiLAPWAAAAAASUVORK5CYII=');
+ content: '';
+ display: block;
+ height: 21px;
+ position: absolute;
+ right: 24px;
+ top: -24px;
+ width: 184px;
+ background-repeat: no-repeat;
+ background-position: 175px 16px;
+}
+#dcaedt .dcae-main-container .i-sdc-dashboard-card-menu-item {
+ cursor: pointer;
+ line-height: 24px;
+ padding: 0 10px;
+}
+#dcaedt .dcae-main-container .i-sdc-dashboard-card-menu-item:hover {
+ color: #3b7b9b;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-info-lifecycleState-icon {
+ position: absolute;
+ bottom: 18px;
+ right: 10px;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-schema-image {
+ position: absolute;
+ top: 41%;
+ height: 45px;
+ width: 53px;
+ background-repeat: no-repeat;
+ margin: auto;
+ left: 0;
+ right: 0;
+ top: -10px;
+ bottom: 0;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-schema-image.service {
+ background-position: -60px -2654px;
+ width: 14px;
+ height: 17px;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-schema-image.resource {
+ background-position: -54px -2585px;
+ width: 16px;
+ height: 16px;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-edit.NOT_CERTIFIED_CHECKIN {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -47px -2839px;
+ width: 20px;
+ height: 19px;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-edit.NOT_CERTIFIED_CHECKOUT {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -53px -2889px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-edit.CERTIFIED {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -53px -3034px;
+ width: 14px;
+ height: 16px;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-edit.READY_FOR_CERTIFICATION {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -53px -2985px;
+ width: 14px;
+ height: 16px;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-edit.CERTIFICATION_IN_PROGRESS {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -53px -2934px;
+ width: 14px;
+ height: 16px;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-edit.DISTRIBUTED {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -43px -3087px;
+ width: 24px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-avatar.green + .w-sdc-dashboard-card-edit.NOT_CERTIFIED_CHECKIN {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -70px -2839px;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-avatar.green + .w-sdc-dashboard-card-edit.NOT_CERTIFIED_CHECKOUT {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -76px -2889px;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-avatar.green + .w-sdc-dashboard-card-edit.CERTIFIED {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -76px -3034px;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-avatar.green + .w-sdc-dashboard-card-edit.READY_FOR_CERTIFICATION {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -76px -2985px;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-avatar.green + .w-sdc-dashboard-card-edit.CERTIFICATION_IN_PROGRESS {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -76px -2934px;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-avatar.green + .w-sdc-dashboard-card-edit.DISTRIBUTED {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -76px -3087px;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-avatar.red + .w-sdc-dashboard-card-edit.NOT_CERTIFIED_CHECKIN {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -93px -2839px;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-avatar.red + .w-sdc-dashboard-card-edit.NOT_CERTIFIED_CHECKOUT {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -99px -2889px;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-avatar.red + .w-sdc-dashboard-card-edit.CERTIFIED {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -99px -3034px;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-avatar.red + .w-sdc-dashboard-card-edit.READY_FOR_CERTIFICATION {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -99px -2985px;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-avatar.red + .w-sdc-dashboard-card-edit.CERTIFICATION_IN_PROGRESS {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -99px -2934px;
+}
+#dcaedt .dcae-main-container .w-sdc-dashboard-card-avatar.red + .w-sdc-dashboard-card-edit.DISTRIBUTED {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -113px -3087px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container {
+ /*Added by - Ikram */
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-categories-list-item {
+ font-weight: normal;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-content-ul {
+ padding: 0;
+ margin: 0;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-content-ul .i-sdc-catalog-subcategories-checkbox {
+ padding: 0 0 0 20px;
+ margin: 0;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-content-ul .i-sdc-catalog-subcategories-checkbox .i-sdc-catalog-grouping-checkbox {
+ padding: 0 0 0 20px;
+ margin: 0;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-content-li:last-child .i-sdc-categories-list-item {
+ margin: 0;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-categories-list-item {
+ display: block;
+ vertical-align: top;
+ font-weight: bold;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-subcategories-list-item {
+ display: block;
+ vertical-align: top;
+ font-weight: normal;
+ margin: 0;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-product-input,
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-product-select {
+ border: 1px solid #cfcfcf;
+ min-height: 30px;
+ padding: 0;
+ width: 100%;
+ margin: 1px 0;
+ background-color: #F2F2F2;
+ outline: none;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-product-input:disabled,
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-product-select:disabled {
+ opacity: 0.4 !important;
+ cursor: auto;
+ background-color: transparent;
+ pointer-events: none;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-product-input optgroup,
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-product-select optgroup {
+ color: #23aa63;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-product-input optgroup option,
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-product-select optgroup option {
+ color: #666666;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-categories-list-item-icon {
+ display: inline-block;
+ float: right;
+ position: relative;
+ right: -8px;
+ top: 6px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-categories-list-item {
+ margin-top: 7px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-categories-list-item.NOT_CERTIFIED_CHECKOUT .i-sdc-categories-list-item-icon,
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-categories-list-item.NOT_CERTIFIED_CHECKIN .i-sdc-categories-list-item-icon {
+ background: url('/assets/styles/images/sprites/sprite-global-old.png') no-repeat -53px -2889px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-categories-list-item.CERTIFIED .i-sdc-categories-list-item-icon {
+ background: url('/assets/styles/images/sprites/sprite-global-old.png') no-repeat -53px -3034px;
+ width: 14px;
+ height: 16px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-categories-list-item.READY_FOR_CERTIFICATION .i-sdc-categories-list-item-icon {
+ background: url('/assets/styles/images/sprites/sprite-global-old.png') no-repeat -53px -2985px;
+ width: 14px;
+ height: 16px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-categories-list-item.CERTIFICATION_IN_PROGRESS .i-sdc-categories-list-item-icon {
+ background: url('/assets/styles/images/sprites/sprite-global-old.png') no-repeat -53px -2934px;
+ width: 14px;
+ height: 16px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-categories-list-item.DISTRIBUTED .i-sdc-categories-list-item-icon,
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-categories-list-item.TBD .i-sdc-categories-list-item-icon {
+ background: url('/assets/styles/images/sprites/sprite-global-old.png') no-repeat -43px -3087px;
+ width: 24px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-categories-list-input {
+ margin: 8px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-subcategories-list-input {
+ margin: 8px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-subcategories-list-input-container {
+ margin: 0px 0px 0px 20px;
+ padding: 2px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .w-sdc-header-catalog-search-container {
+ display: table;
+ padding: 21px 0;
+ position: relative;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .w-sdc-header-catalog-search-container .w-sdc-designer-leftbar-search-input {
+ color: #000;
+ width: 300px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .w-sdc-catalog-main {
+ padding: 10px 12px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .w-sdc-dashboard-catalog-header {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ display: inline-block;
+ font-style: italic;
+ font-weight: bold;
+ padding-left: 10px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .w-sdc-dashboard-catalog-header-order {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ font-weight: 800;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .w-sdc-dashboard-catalog-sort {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ font-weight: bold;
+ white-space: pre;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .w-sdc-dashboard-catalog-sort:hover {
+ cursor: pointer;
+ text-decoration: none;
+ color: #3b7b9b;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .w-sdc-dashboard-catalog-sort.blue {
+ color: #3b7b9b;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .w-sdc-catalog-sort-arrow {
+ display: inline-block;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .w-sdc-catalog-sort-arrow.up {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ width: 0;
+ height: 0;
+ border-left: 5px solid transparent;
+ border-right: 5px solid transparent;
+ border-bottom: 5px solid ;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .w-sdc-catalog-sort-arrow.down {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ width: 0;
+ height: 0;
+ border-left: 5px solid transparent;
+ border-right: 5px solid transparent;
+ border-top: 5px solid;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .w-sdc-dashboard-catalog-header-right {
+ float: right;
+ display: inline-block;
+ padding-right: 34px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .w-sdc-header-catalog-search-input {
+ width: 420px;
+ display: table-cell;
+ padding: 0 25px 1px 10px;
+ border: 1px solid #bcbcbc;
+ border-radius: 10px;
+ height: 30px;
+ margin: 10px 30px;
+ outline: none;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .sdc-catalog-type-filter-container {
+ margin-top: -1px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title {
+ text-transform: uppercase;
+ color: #000000;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ line-height: 30px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon {
+ cursor: pointer;
+ background-image: url(/sdc1/scripts/images/tlv-sprite.068743809b588c3fce24.png);
+ display: inline-block;
+ vertical-align: middle;
+ background-position: -230px -59px;
+ width: 14px;
+ height: 10px;
+ transition: .3s all;
+ margin-top: -4px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon.logo-blue {
+ background-position: -10px -20px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon.user {
+ background-position: -50px -20px;
+ width: 15px;
+ height: 20px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .facebook {
+ background-position: -10px -260px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .facebook-hover {
+ background-position: -10px -300px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .twitter {
+ background-position: -50px -260px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .twitter-hover {
+ background-position: -50px -300px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .linkedin {
+ background-position: -89px -260px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .linkedin-hover {
+ background-position: -89px -300px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .youtube {
+ background-position: -130px -260px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .youtube-hover {
+ background-position: -130px -300px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .footer-open {
+ background-position: -250px -59px;
+ width: 14px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .footer-open-hover {
+ background-position: -250px -79px;
+ width: 14px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .footer-close {
+ background-position: -230px -59px;
+ width: 14px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .footer-close-hover {
+ background-position: -230px -79px;
+ width: 14px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .checkbox-disadbled {
+ background-position: -10px -60px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .checkbox {
+ background-position: -10px -60px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .checkbox-hover {
+ background-position: -10px -100px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .checkbox-checked {
+ background-position: -10px -120px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .radio-disabled {
+ background-position: -50px -60px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .radio {
+ background-position: -50px -80px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .radio-checked {
+ background-position: -50px -120px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-text {
+ margin-left: 20px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .seperator-left,
+#dcaedt .dcae-main-container .sdc-catalog-container .seperator-right {
+ border-right: solid 1px #a8b3b9;
+ display: table-cell;
+ width: 2px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title.expanded .i-sdc-designer-leftbar-section-title-icon {
+ -webkit-transform: rotate(180deg);
+ transform: rotate(180deg);
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title + .i-sdc-designer-leftbar-section-content {
+ max-height: 0px;
+ margin: 0 auto;
+ transition: all .3s;
+ overflow: hidden;
+ padding: 0 10px 0 18px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title.expanded + .i-sdc-designer-leftbar-section-content {
+ max-height: 9999px;
+ margin: 0 auto 1px;
+ transition: all .3s;
+ padding: 10px 18px 10px 18px;
+ overflow: hidden;
+}
+#dcaedt .dcae-main-container .w-sdc-search-icon {
+ position: absolute;
+ right: 40px;
+ top: 40px;
+}
+#dcaedt .dcae-main-container .w-sdc-search-icon.leftbar {
+ top: 19px;
+ right: 18px;
+}
+#dcaedt .dcae-main-container .w-sdc-search-icon.magnification {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -49px -3138px;
+ width: 12px;
+ height: 12px;
+ cursor: pointer;
+}
+#dcaedt .dcae-main-container .w-sdc-search-icon.cancel {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -104px -4040px;
+ width: 10px;
+ height: 11px;
+ cursor: pointer;
+}
+#dcaedt .dcae-main-container .sdc-edit-artifact-form-container .w-sdc-form-note {
+ color: #da1f3d;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ display: block;
+ position: relative;
+ top: 13px;
+}
+#dcaedt .dcae-main-container .sdc-edit-artifact-form-container .i-sdc-form-textarea {
+ min-height: 95px;
+}
+#dcaedt .dcae-main-container .sdc-edit-artifact-form-container .i-sdc-form-url {
+ padding-bottom: 0px;
+}
+#dcaedt .dcae-main-container .sdc-edit-artifact-form-container.mandatory-artifact .w-sdc-form-column {
+ width: 100%;
+ padding: 0;
+ min-height: initial;
+}
+#dcaedt .dcae-main-container .sdc-edit-artifact-form-container .w-sdc-form .i-sdc-form-item.upload input[type="file"] {
+ display: none;
+}
+#dcaedt .dcae-main-container .sdc-edit-artifact-form-container .artifact-info {
+ text-align: left;
+ color: #8c8c8c;
+ font-size: 13px;
+ margin-top: -10px;
+ margin-bottom: 5px;
+ width: 100%;
+ min-height: initial;
+}
+#dcaedt .dcae-main-container .sdc-edit-artifact-form-container .artifact-info span {
+ color: #666666;
+ padding-left: 4px;
+}
+#dcaedt .dcae-main-container .sdc-env-form-container .w-sdc-modal-body {
+ padding: 20px 10px 2px 10px;
+}
+#dcaedt .dcae-main-container .sdc-env-form-container .w-sdc-modal-body-content {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ display: block;
+}
+#dcaedt .dcae-main-container .sdc-env-form-container .env-file-generation-label {
+ color: #8c8c8c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ font-weight: bold;
+ margin-bottom: 20px;
+}
+#dcaedt .dcae-main-container .w-sdc-env-form-container {
+ height: 650px;
+}
+#dcaedt .dcae-main-container .w-sdc-env-form-container .w-sdc-env-search {
+ padding: 10px 20px 20px 0;
+ white-space: nowrap;
+ position: relative;
+ width: 60%;
+ height: 64px;
+}
+#dcaedt .dcae-main-container .w-sdc-env-form-container .w-sdc-env-search .env-search-icon {
+ top: 9px;
+ right: 11px;
+}
+#dcaedt .dcae-main-container .w-sdc-env-form-container .w-sdc-env-search .magnification-white {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -434px -128px;
+ width: 14px;
+ height: 14px;
+ cursor: pointer;
+}
+#dcaedt .dcae-main-container .w-sdc-env-form-container .w-sdc-env-search .search-icon-container {
+ width: 35px;
+ height: 30px;
+ background-color: #009fdb;
+ white-space: nowrap;
+ float: right;
+ position: relative;
+ bottom: 31px;
+ right: 1px;
+ border-radius: 0px 4px 4px 0px;
+ cursor: pointer;
+}
+#dcaedt .dcae-main-container .w-sdc-env-form-container .w-sdc-env-search .w-sdc-env-search-input {
+ border: 1px solid #cdcdcd;
+ border-radius: 4px;
+ height: 32px;
+ margin: 0;
+ padding: 0px 28px 3px 10px;
+ vertical-align: 4px;
+ width: 100%;
+ outline: none;
+ font-style: italic;
+}
+#dcaedt .dcae-main-container .w-sdc-env-form-container .table-container-flex {
+ height: 570px;
+}
+#dcaedt .dcae-main-container .w-sdc-env-form-container .table-container-flex .table {
+ height: 100%;
+}
+#dcaedt .dcae-main-container .w-sdc-env-form-container .table-container-flex .table .flex-item:nth-child(1) {
+ -webkit-box-flex: 20;
+ -ms-flex-positive: 20;
+ flex-grow: 20;
+}
+#dcaedt .dcae-main-container .w-sdc-env-form-container .table-container-flex .table .flex-item:nth-child(1) .show-desc {
+ float: right;
+ top: 10px;
+ position: relative;
+}
+#dcaedt .dcae-main-container .w-sdc-env-form-container .table-container-flex .table .flex-item:nth-child(2) {
+ -webkit-box-flex: 10;
+ -ms-flex-positive: 10;
+ flex-grow: 10;
+}
+#dcaedt .dcae-main-container .w-sdc-env-form-container .table-container-flex .table .flex-item:nth-child(3) {
+ -webkit-box-flex: 10;
+ -ms-flex-positive: 10;
+ flex-grow: 10;
+}
+#dcaedt .dcae-main-container .w-sdc-env-form-container .table-container-flex .table .scrollbar-container {
+ max-height: 527px;
+}
+#dcaedt .dcae-main-container .w-sdc-env-form-container .table-container-flex .table .left-column-container .required-symbol {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ color: #f33;
+ display: none;
+ position: relative;
+ left: -4px;
+ top: 3px;
+}
+#dcaedt .dcae-main-container .w-sdc-env-form-container .table-container-flex .table .left-column-container .i-sdc-form-item {
+ border-right: none;
+ margin: 0px;
+}
+#dcaedt .dcae-main-container .w-sdc-env-form-container .table-container-flex .table .left-column-container .i-sdc-form-item .input-parameter {
+ border: none;
+ height: 30px;
+ width: 254px;
+ float: right;
+}
+#dcaedt .dcae-main-container .w-sdc-env-form-container .table-container-flex .table .left-column-container .i-sdc-form-item .input-parameter input {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+ width: 100%;
+ display: -webkit-inline-box;
+ display: -ms-inline-flexbox;
+ display: inline-flex;
+ padding-right: 33px;
+}
+#dcaedt .dcae-main-container .w-sdc-env-form-container .table-container-flex .table .left-column-container .i-sdc-form-item .input-parameter .action-button {
+ border-left: solid 1px #d2d2d2;
+ position: relative;
+ height: 20px;
+ width: 25px;
+ top: -25px;
+ left: 228px;
+ padding-left: 6px;
+ background-color: #ffffff;
+}
+#dcaedt .dcae-main-container .w-sdc-env-form-container .table-container-flex .table .left-column-container .i-sdc-form-item .input-parameter .action-button div:not(.disable) {
+ cursor: pointer;
+}
+#dcaedt .dcae-main-container .w-sdc-env-form-container .table-container-flex .table .left-column-container .i-sdc-form-item.required .required-symbol {
+ display: -webkit-inline-box;
+ display: -ms-inline-flexbox;
+ display: inline-flex;
+}
+#dcaedt .dcae-main-container .w-sdc-env-form-container .table-container-flex .table .left-column-container .i-sdc-form-item.required .input-parameter {
+ width: 250px;
+}
+#dcaedt .dcae-main-container .w-sdc-env-form-container .table-container-flex .table .left-column-container .i-sdc-form-item.required .action-button {
+ left: 224px;
+}
+#dcaedt .dcae-main-container .w-sdc-env-form-container .table-container-flex .text {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: inline-block;
+ white-space: nowrap;
+}
+#dcaedt .dcae-main-container .w-sdc-env-form-container .parameter-description {
+ background-color: #f2f2f2;
+ border-left: 4px solid #009fdb;
+ padding: 10px 30px;
+}
+#dcaedt .dcae-main-container .header-info {
+ float: right;
+}
+#dcaedt .dcae-main-container .parameter-description-popover {
+ z-index: 1100;
+ min-width: 210px;
+}
+#dcaedt .dcae-main-container .parameter-description-popover .arrow {
+ left: 20px !important;
+ border-width: 7px;
+ bottom: -8px !important;
+}
+#dcaedt .dcae-main-container .parameter-description-popover .popover-content {
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .sdc-edit-property-container .scrollbar-container {
+ height: 415px;
+ width: 830px;
+ position: relative;
+ overflow: hidden;
+}
+#dcaedt .dcae-main-container .sdc-edit-property-container form {
+ width: 813px;
+}
+#dcaedt .dcae-main-container .sdc-edit-property-container form [name="description"] {
+ min-height: 50px;
+}
+#dcaedt .dcae-main-container .sdc-edit-property-container .sdc-modal-top-bar {
+ height: 40px;
+}
+#dcaedt .dcae-main-container .sdc-edit-property-container .sdc-modal-top-bar .sdc-modal-top-bar-buttons {
+ float: right;
+}
+#dcaedt .dcae-main-container .sdc-edit-property-container .sdc-modal-top-bar .sdc-modal-top-bar-buttons > span:not(.delimiter) {
+ vertical-align: middle;
+ cursor: pointer;
+}
+#dcaedt .dcae-main-container .sdc-edit-property-container .sdc-modal-top-bar .sdc-modal-top-bar-buttons > span:not(.delimiter).sprite-new {
+ text-indent: 100%;
+}
+#dcaedt .dcae-main-container .sdc-edit-property-container .sdc-modal-top-bar .sdc-modal-top-bar-buttons > span:not(.delimiter).disabled,
+#dcaedt .dcae-main-container .sdc-edit-property-container .sdc-modal-top-bar .sdc-modal-top-bar-buttons > span:not(.delimiter):hover.disabled {
+ pointer-events: none;
+}
+#dcaedt .dcae-main-container .sdc-edit-property-container .sdc-modal-top-bar .sdc-modal-top-bar-buttons .delete-btn {
+ margin-right: 6px;
+}
+#dcaedt .dcae-main-container .sdc-edit-property-container .sdc-modal-top-bar .sdc-modal-top-bar-buttons .left-arrow {
+ margin-right: 8px;
+}
+#dcaedt .dcae-main-container .sdc-edit-property-container .sdc-modal-top-bar .sdc-modal-top-bar-buttons .delimiter {
+ height: 20px;
+ width: 1px;
+ background-color: #959595;
+ display: inline-block;
+ vertical-align: middle;
+ margin-right: 10px;
+}
+#dcaedt .dcae-main-container .sdc-edit-property-container .w-sdc-form-note {
+ color: #da1f3d;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ display: block;
+ position: relative;
+ top: 13px;
+}
+#dcaedt .dcae-main-container .sdc-edit-property-container .default-value-section {
+ border-top: solid 1px #009fdb;
+ padding-top: 15px;
+ margin-top: 15px;
+}
+#dcaedt .dcae-main-container .sdc-edit-property-container .scrollbar-container {
+ height: 415px;
+ width: 830px;
+ position: relative;
+ overflow: hidden;
+}
+#dcaedt .dcae-main-container .sdc-edit-property-container form {
+ width: 813px;
+}
+#dcaedt .dcae-main-container .sdc-edit-property-container form [name="description"] {
+ min-height: 50px;
+}
+#dcaedt .dcae-main-container .sdc-edit-property-container .sdc-modal-top-bar {
+ height: 40px;
+}
+#dcaedt .dcae-main-container .sdc-edit-property-container .sdc-modal-top-bar .sdc-modal-top-bar-buttons {
+ float: right;
+}
+#dcaedt .dcae-main-container .sdc-edit-property-container .sdc-modal-top-bar .sdc-modal-top-bar-buttons > span:not(.delimiter) {
+ vertical-align: middle;
+ cursor: pointer;
+}
+#dcaedt .dcae-main-container .sdc-edit-property-container .sdc-modal-top-bar .sdc-modal-top-bar-buttons > span:not(.delimiter).sprite-new {
+ text-indent: 100%;
+}
+#dcaedt .dcae-main-container .sdc-edit-property-container .sdc-modal-top-bar .sdc-modal-top-bar-buttons > span:not(.delimiter).disabled,
+#dcaedt .dcae-main-container .sdc-edit-property-container .sdc-modal-top-bar .sdc-modal-top-bar-buttons > span:not(.delimiter):hover.disabled {
+ pointer-events: none;
+}
+#dcaedt .dcae-main-container .sdc-edit-property-container .sdc-modal-top-bar .sdc-modal-top-bar-buttons .delete-btn {
+ margin-right: 6px;
+}
+#dcaedt .dcae-main-container .sdc-edit-property-container .sdc-modal-top-bar .sdc-modal-top-bar-buttons .left-arrow {
+ margin-right: 8px;
+}
+#dcaedt .dcae-main-container .sdc-edit-property-container .sdc-modal-top-bar .sdc-modal-top-bar-buttons .delimiter {
+ height: 20px;
+ width: 1px;
+ background-color: #959595;
+ display: inline-block;
+ vertical-align: middle;
+ margin-right: 10px;
+}
+#dcaedt .dcae-main-container .sdc-edit-property-container .w-sdc-form-note {
+ color: #da1f3d;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ display: block;
+ position: relative;
+ top: 13px;
+}
+#dcaedt .dcae-main-container .sdc-edit-property-container .default-value-section {
+ border-top: solid 1px #009fdb;
+ padding-top: 15px;
+ margin-top: 15px;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-resource-instance-name .w-sdc-modal-body {
+ overflow: visible;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-resource-instance-name .w-sdc-modal-action {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-box-pack: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-resource-instance-name .w-sdc-modal-resource-instance-input {
+ color: #8c8c8c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ border: solid 1px #8c8c8c;
+ height: 45px;
+ padding: 0 20px;
+ margin: 0 auto 0 auto;
+ display: block;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-resource-instance-name .w-sdc-modal-body {
+ border-bottom: none;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-resource-instance-name .w-sdc-form .i-sdc-form-item.error::after {
+ top: 13px;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-confirmation form.w-sdc-form {
+ padding: 0;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-confirmation .w-sdc-modal-body-content {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ word-break: break-word;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-confirmation .w-sdc-modal-body {
+ height: auto;
+ /* padding: 47px 60px 20px 60px; */
+ border-bottom: none;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-confirmation .w-sdc-modal-body-content {
+ padding: 0;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-confirmation .w-sdc-modal-body-comment {
+ width: 430px;
+ height: 127px;
+ border: solid 1px #cdcdcd;
+ margin: 20px 0 0 0;
+ padding: 15px;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-confirmation .w-sdc-modal-label {
+ color: #5a5a5a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ text-align: left;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-email .w-sdc-modal-body {
+ border-bottom: none;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-email form.w-sdc-form {
+ padding: 0;
+ /* I made the subject and to fields as input (for future use), but for now they look like labels: */
+}
+#dcaedt .dcae-main-container .w-sdc-modal-email form.w-sdc-form .i-sdc-form-item {
+ clear: both;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-email form.w-sdc-form .i-sdc-form-item label {
+ min-height: 30px;
+ padding-top: 4px;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-email form.w-sdc-form .i-sdc-form-item .col-sm-10 {
+ padding-right: 0;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-email form.w-sdc-form .w-sdc-modal-body-email {
+ border-style: solid;
+ border-width: 1px;
+ border-color: #cdcdcd;
+ box-sizing: border-box;
+ width: 100%;
+ height: 127px;
+ margin-bottom: 20px;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-email form.w-sdc-form label {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ text-align: left;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-email form.w-sdc-form input {
+ color: #5a5a5a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-email form.w-sdc-form textarea {
+ color: #5a5a5a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-email form.w-sdc-form input:disabled {
+ background-color: #ffffff;
+ border: none;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-email .w-sdc-modal-action {
+ background-color: #ffffff;
+ padding: 0 13px 0 0;
+ height: 90px;
+ line-height: 65px;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-email .w-sdc-modal-action button {
+ width: 174px;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-email .w-sdc-form .i-sdc-form-item label.required::before {
+ position: absolute;
+ left: -13px;
+}
+#dcaedt .dcae-main-container .sdc-error-403-container {
+ background-color: #ECEFF3;
+ width: 700px;
+ height: 400px;
+ margin: auto;
+ margin-top: 196px;
+}
+#dcaedt .dcae-main-container .sdc-error-403-container .w-sdc-error-403-text {
+ color: #b5b5b5;
+ font-family: omnes-medium, sans-serif;
+ font-size: 20px;
+ margin-top: 20px;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-onboarding {
+ width: 100%;
+ display: inline-block;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-onboarding .general-info-button {
+ position: relative;
+ top: -40px;
+ left: 86px;
+ float: left;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-onboarding .title-wrapper {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-pack: justify;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+ -webkit-box-align: end;
+ -ms-flex-align: end;
+ align-items: flex-end;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-onboarding .title-wrapper .sub-title {
+ color: #5a5a5a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ float: left;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-onboarding .w-sdc-classic-btn {
+ float: right;
+ margin-bottom: 10px;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-onboarding .table {
+ height: 472px;
+ margin-bottom: 0;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-onboarding .table-container-flex {
+ margin-top: 10px;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-onboarding .table-container-flex .table .body .data-row + div.item-opened {
+ word-wrap: break-word;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-pack: justify;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+ padding: 10px 0;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-onboarding .table-container-flex .table .body .data-row + div.item-opened .item-opened-description-title,
+#dcaedt .dcae-main-container .w-sdc-modal-onboarding .table-container-flex .table .body .data-row + div.item-opened .item-opened-metadata-title {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-onboarding .table-container-flex .table .body .data-row + div.item-opened .item-opened-description,
+#dcaedt .dcae-main-container .w-sdc-modal-onboarding .table-container-flex .table .body .data-row + div.item-opened .item-opened-metadata1,
+#dcaedt .dcae-main-container .w-sdc-modal-onboarding .table-container-flex .table .body .data-row + div.item-opened .item-opened-metadata2,
+#dcaedt .dcae-main-container .w-sdc-modal-onboarding .table-container-flex .table .body .data-row + div.item-opened .item-opened-metadata3 {
+ -ms-flex-preferred-size: 0;
+ flex-basis: 0;
+ overflow: hidden;
+ padding: 5px 15px;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-onboarding .table-container-flex .table .body .data-row + div.item-opened .item-opened-description .th,
+#dcaedt .dcae-main-container .w-sdc-modal-onboarding .table-container-flex .table .body .data-row + div.item-opened .item-opened-metadata1 .th,
+#dcaedt .dcae-main-container .w-sdc-modal-onboarding .table-container-flex .table .body .data-row + div.item-opened .item-opened-metadata2 .th,
+#dcaedt .dcae-main-container .w-sdc-modal-onboarding .table-container-flex .table .body .data-row + div.item-opened .item-opened-metadata3 .th {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-onboarding .table-container-flex .table .body .data-row + div.item-opened .item-opened-description,
+#dcaedt .dcae-main-container .w-sdc-modal-onboarding .table-container-flex .table .body .data-row + div.item-opened .item-opened-metadata3 {
+ border-right: 1px solid #d2d2d2;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-onboarding .table-container-flex .table .body .data-row + div.item-opened .item-opened-metadata2 {
+ word-break: break-word;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-onboarding .table-container-flex .table .body .data-row + div.item-opened .item-opened-metadata2 .note {
+ color: #cf2a2a;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-onboarding .table-container-flex .table .body .data-row + div.item-opened .item-opened-icon {
+ -ms-flex-preferred-size: 0;
+ flex-basis: 0;
+ overflow: hidden;
+ padding: 5px 15px;
+ -ms-flex-item-align: center;
+ -ms-grid-row-align: center;
+ align-self: center;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-onboarding .table-container-flex .table .body .data-row + div.item-opened .item-opened-description {
+ -webkit-box-flex: 25;
+ -ms-flex-positive: 25;
+ flex-grow: 25;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-onboarding .table-container-flex .table .body .data-row + div.item-opened .item-opened-metadata1 {
+ -webkit-box-flex: 25;
+ -ms-flex-positive: 25;
+ flex-grow: 25;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-onboarding .table-container-flex .table .body .data-row + div.item-opened .item-opened-metadata2 {
+ -webkit-box-flex: 30;
+ -ms-flex-positive: 30;
+ flex-grow: 30;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-onboarding .table-container-flex .table .body .data-row + div.item-opened .item-opened-metadata3 {
+ -webkit-box-flex: 10;
+ -ms-flex-positive: 10;
+ flex-grow: 10;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-onboarding .table-container-flex .table .body .data-row + div.item-opened .item-opened-metadata3 .info-button {
+ float: right;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-onboarding .table-container-flex .table .body .data-row + div.item-opened .item-opened-icon {
+ -webkit-box-flex: 10;
+ -ms-flex-positive: 10;
+ flex-grow: 10;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-onboarding .table-container-flex .flex-item:nth-child(1) {
+ -webkit-box-flex: 25;
+ -ms-flex-positive: 25;
+ flex-grow: 25;
+ cursor: pointer;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-onboarding .table-container-flex .flex-item:nth-child(1) span.table-arrow {
+ margin-right: 7px;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-onboarding .table-container-flex .flex-item:nth-child(2) {
+ -webkit-box-flex: 25;
+ -ms-flex-positive: 25;
+ flex-grow: 25;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-onboarding .table-container-flex .flex-item:nth-child(3) {
+ -webkit-box-flex: 30;
+ -ms-flex-positive: 30;
+ flex-grow: 30;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-onboarding .table-container-flex .flex-item:nth-child(4) {
+ -webkit-box-flex: 10;
+ -ms-flex-positive: 10;
+ flex-grow: 10;
+ text-align: center;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-onboarding .table-container-flex .flex-item:nth-child(5) {
+ -webkit-box-flex: 10;
+ -ms-flex-positive: 10;
+ flex-grow: 10;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-onboarding .download-file-btn {
+ cursor: pointer;
+ margin-left: 4px;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-onboarding .refresh-file-btn,
+#dcaedt .dcae-main-container .w-sdc-modal-onboarding .import-file-btn {
+ cursor: pointer;
+ margin-left: 20px;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-onboarding .top-search {
+ float: right;
+ position: relative;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-onboarding .top-search input.search-text {
+ border-radius: 2px;
+ width: 245px;
+ height: 32px;
+ line-height: 32px;
+ border: 1px solid #d2d2d2;
+ margin: 0;
+ outline: none;
+ text-indent: 10px;
+ /* Safari, Chrome and Opera */
+ /* Firefox 18- */
+ /* Firefox 19+ */
+ /* IE 10+ */
+ /* Edge */
+}
+#dcaedt .dcae-main-container .w-sdc-modal-onboarding .top-search input.search-text::-webkit-input-placeholder {
+ font-style: italic;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-onboarding .top-search input.search-text:-moz-placeholder {
+ font-style: italic;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-onboarding .top-search input.search-text::-moz-placeholder {
+ font-style: italic;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-onboarding .top-search input.search-text:-ms-input-placeholder {
+ font-style: italic;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-onboarding .top-search input.search-text:-ms-input-placeholder {
+ font-style: italic;
+}
+#dcaedt .dcae-main-container .w-sdc-modal-onboarding .top-search .magnification {
+ position: absolute;
+ top: 10px;
+ right: 10px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container {
+ /*Added by - Ikram */
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-categories-list-item {
+ font-weight: normal;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-content-ul {
+ padding: 0;
+ margin: 0;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-content-ul .i-sdc-catalog-subcategories-checkbox {
+ padding: 0 0 0 20px;
+ margin: 0;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-content-ul .i-sdc-catalog-subcategories-checkbox .i-sdc-catalog-grouping-checkbox {
+ padding: 0 0 0 20px;
+ margin: 0;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-content-li:last-child .i-sdc-categories-list-item {
+ margin: 0;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-categories-list-item {
+ display: block;
+ vertical-align: top;
+ font-weight: bold;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-subcategories-list-item {
+ display: block;
+ vertical-align: top;
+ font-weight: normal;
+ margin: 0;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-product-input,
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-product-select {
+ border: 1px solid #cfcfcf;
+ min-height: 30px;
+ padding: 0;
+ width: 100%;
+ margin: 1px 0;
+ background-color: #F2F2F2;
+ outline: none;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-product-input:disabled,
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-product-select:disabled {
+ opacity: 0.4 !important;
+ cursor: auto;
+ background-color: transparent;
+ pointer-events: none;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-product-input optgroup,
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-product-select optgroup {
+ color: #23aa63;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-product-input optgroup option,
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-product-select optgroup option {
+ color: #666666;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-categories-list-item-icon {
+ display: inline-block;
+ float: right;
+ position: relative;
+ right: -8px;
+ top: 6px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-categories-list-item {
+ margin-top: 7px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-categories-list-item.NOT_CERTIFIED_CHECKOUT .i-sdc-categories-list-item-icon,
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-categories-list-item.NOT_CERTIFIED_CHECKIN .i-sdc-categories-list-item-icon {
+ background: url('/assets/styles/images/sprites/sprite-global-old.png') no-repeat -53px -2889px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-categories-list-item.CERTIFIED .i-sdc-categories-list-item-icon {
+ background: url('/assets/styles/images/sprites/sprite-global-old.png') no-repeat -53px -3034px;
+ width: 14px;
+ height: 16px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-categories-list-item.READY_FOR_CERTIFICATION .i-sdc-categories-list-item-icon {
+ background: url('/assets/styles/images/sprites/sprite-global-old.png') no-repeat -53px -2985px;
+ width: 14px;
+ height: 16px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-categories-list-item.CERTIFICATION_IN_PROGRESS .i-sdc-categories-list-item-icon {
+ background: url('/assets/styles/images/sprites/sprite-global-old.png') no-repeat -53px -2934px;
+ width: 14px;
+ height: 16px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-categories-list-item.DISTRIBUTED .i-sdc-categories-list-item-icon,
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-categories-list-item.TBD .i-sdc-categories-list-item-icon {
+ background: url('/assets/styles/images/sprites/sprite-global-old.png') no-repeat -43px -3087px;
+ width: 24px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-categories-list-input {
+ margin: 8px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-subcategories-list-input {
+ margin: 8px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-subcategories-list-input-container {
+ margin: 0px 0px 0px 20px;
+ padding: 2px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .w-sdc-header-catalog-search-container {
+ display: table;
+ padding: 21px 0;
+ position: relative;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .w-sdc-header-catalog-search-container .w-sdc-designer-leftbar-search-input {
+ color: #000;
+ width: 300px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .w-sdc-catalog-main {
+ padding: 10px 12px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .w-sdc-dashboard-catalog-header {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ display: inline-block;
+ font-style: italic;
+ font-weight: bold;
+ padding-left: 10px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .w-sdc-dashboard-catalog-header-order {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ font-weight: 800;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .w-sdc-dashboard-catalog-sort {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ font-weight: bold;
+ white-space: pre;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .w-sdc-dashboard-catalog-sort:hover {
+ cursor: pointer;
+ text-decoration: none;
+ color: #3b7b9b;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .w-sdc-dashboard-catalog-sort.blue {
+ color: #3b7b9b;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .w-sdc-catalog-sort-arrow {
+ display: inline-block;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .w-sdc-catalog-sort-arrow.up {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ width: 0;
+ height: 0;
+ border-left: 5px solid transparent;
+ border-right: 5px solid transparent;
+ border-bottom: 5px solid ;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .w-sdc-catalog-sort-arrow.down {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ width: 0;
+ height: 0;
+ border-left: 5px solid transparent;
+ border-right: 5px solid transparent;
+ border-top: 5px solid;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .w-sdc-dashboard-catalog-header-right {
+ float: right;
+ display: inline-block;
+ padding-right: 34px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .w-sdc-header-catalog-search-input {
+ width: 420px;
+ display: table-cell;
+ padding: 0 25px 1px 10px;
+ border: 1px solid #bcbcbc;
+ border-radius: 10px;
+ height: 30px;
+ margin: 10px 30px;
+ outline: none;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .sdc-catalog-type-filter-container {
+ margin-top: -1px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title {
+ text-transform: uppercase;
+ color: #000000;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ line-height: 30px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon {
+ cursor: pointer;
+ background-image: url(/sdc1/scripts/images/tlv-sprite.068743809b588c3fce24.png);
+ display: inline-block;
+ vertical-align: middle;
+ background-position: -230px -59px;
+ width: 14px;
+ height: 10px;
+ transition: .3s all;
+ margin-top: -4px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon.logo-blue {
+ background-position: -10px -20px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon.user {
+ background-position: -50px -20px;
+ width: 15px;
+ height: 20px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .facebook {
+ background-position: -10px -260px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .facebook-hover {
+ background-position: -10px -300px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .twitter {
+ background-position: -50px -260px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .twitter-hover {
+ background-position: -50px -300px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .linkedin {
+ background-position: -89px -260px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .linkedin-hover {
+ background-position: -89px -300px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .youtube {
+ background-position: -130px -260px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .youtube-hover {
+ background-position: -130px -300px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .footer-open {
+ background-position: -250px -59px;
+ width: 14px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .footer-open-hover {
+ background-position: -250px -79px;
+ width: 14px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .footer-close {
+ background-position: -230px -59px;
+ width: 14px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .footer-close-hover {
+ background-position: -230px -79px;
+ width: 14px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .checkbox-disadbled {
+ background-position: -10px -60px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .checkbox {
+ background-position: -10px -60px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .checkbox-hover {
+ background-position: -10px -100px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .checkbox-checked {
+ background-position: -10px -120px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .radio-disabled {
+ background-position: -50px -60px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .radio {
+ background-position: -50px -80px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .radio-checked {
+ background-position: -50px -120px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title-text {
+ margin-left: 20px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .seperator-left,
+#dcaedt .dcae-main-container .sdc-catalog-container .seperator-right {
+ border-right: solid 1px #a8b3b9;
+ display: table-cell;
+ width: 2px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title.expanded .i-sdc-designer-leftbar-section-title-icon {
+ -webkit-transform: rotate(180deg);
+ transform: rotate(180deg);
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title + .i-sdc-designer-leftbar-section-content {
+ max-height: 0px;
+ margin: 0 auto;
+ transition: all .3s;
+ overflow: hidden;
+ padding: 0 10px 0 18px;
+}
+#dcaedt .dcae-main-container .sdc-catalog-container .i-sdc-designer-leftbar-section-title.expanded + .i-sdc-designer-leftbar-section-content {
+ max-height: 9999px;
+ margin: 0 auto 1px;
+ transition: all .3s;
+ padding: 10px 18px 10px 18px;
+ overflow: hidden;
+}
+#dcaedt .dcae-main-container .w-sdc-search-icon {
+ position: absolute;
+ right: 40px;
+ top: 40px;
+}
+#dcaedt .dcae-main-container .w-sdc-search-icon.leftbar {
+ top: 19px;
+ right: 18px;
+}
+#dcaedt .dcae-main-container .w-sdc-search-icon.magnification {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -49px -3138px;
+ width: 12px;
+ height: 12px;
+ cursor: pointer;
+}
+#dcaedt .dcae-main-container .w-sdc-search-icon.cancel {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -104px -4040px;
+ width: 10px;
+ height: 11px;
+ cursor: pointer;
+}
+#dcaedt .dcae-main-container .w-sdc-left-sidebar-in-progress,
+#dcaedt .dcae-main-container .w-sdc-left-sidebar-following {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .w-sdc-left-sidebar-following {
+ padding: 13px 0;
+}
+#dcaedt .dcae-main-container .sdc-general-tab {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ min-height: 100%;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-flow: column;
+ flex-flow: column;
+}
+#dcaedt .dcae-main-container .sdc-general-tab .sdc-edit-icon {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -51px -3339px;
+ width: 12px;
+ height: 12px;
+}
+#dcaedt .dcae-main-container .sdc-general-tab .sdc-general-tab-title {
+ color: #009fdb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ padding: 0px 0px 15px 20px;
+ border-bottom: 1px solid #d2d2d2;
+}
+#dcaedt .dcae-main-container .sdc-general-tab .sdc-general-tab-sub-title {
+ color: #009fdb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ padding: 15px 20px 15px 20px;
+}
+#dcaedt .dcae-main-container .sdc-general-tab .general-tab-scrollbar-container {
+ position: relative;
+ overflow: hidden;
+ width: 100%;
+}
+#dcaedt .dcae-main-container .sdc-general-tab .general-tab-expand-collapse.expanded .expand-collapse-title .expand-collapse-title-icon {
+ background-position: -378px -888px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .sdc-general-tab .general-tab-expand-collapse .expand-collapse-title {
+ padding: 8px 20px 4px 20px;
+ cursor: pointer;
+}
+#dcaedt .dcae-main-container .sdc-general-tab .general-tab-expand-collapse .expand-collapse-title:hover {
+ background-color: #d2d2d2;
+}
+#dcaedt .dcae-main-container .sdc-general-tab .general-tab-expand-collapse .expand-collapse-title .expand-collapse-title-icon {
+ cursor: pointer;
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -334px -888px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .sdc-general-tab .general-tab-expand-collapse .expand-collapse-title .expand-collapse-title-text {
+ max-width: 225px;
+ display: inline-block;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ padding-left: 10px;
+ line-height: 15px;
+}
+#dcaedt .dcae-main-container .sdc-general-tab .general-tab-expand-collapse .selected {
+ background-color: #009fdb;
+ color: #ffffff;
+}
+#dcaedt .dcae-main-container .sdc-general-tab .expand-collapse-sub-title {
+ max-width: 190px;
+ display: inline-block;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ padding: 10px 0 0 43px;
+}
+#dcaedt .dcae-main-container .sdc-general-tab .resizable-container {
+ -webkit-box-flex: 1;
+ -ms-flex: 1 1 auto;
+ flex: 1 1 auto;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ height: 90%;
+}
+#dcaedt .dcae-main-container .sdc-general-tab .resizable-container .resizable-section {
+ min-height: 50px;
+ -webkit-box-flex: 1;
+ -ms-flex: 1;
+ flex: 1;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-flow: column;
+ flex-flow: column;
+}
+#dcaedt .dcae-main-container .sdc-general-tab .resizable-container .resizable-section.resizable {
+ -webkit-box-flex: 0;
+ -ms-flex: 0 0 300px;
+ flex: 0 0 300px;
+}
+#dcaedt .dcae-main-container .sdc-general-tab .resizable-container .rg-top span {
+ margin-top: -5px;
+ border-top: 1px dotted #5a5a5a;
+ border-bottom: 1px dotted #5a5a5a;
+ width: 39px;
+ height: 4px;
+}
+#dcaedt .dcae-main-container .sdc-general-tab .resizable-container .rg-top span:before {
+ border-top: 1px dotted #5a5a5a;
+ content: '';
+ display: inline-block;
+ width: 39px;
+ height: 6px;
+}
+#dcaedt .dcae-main-container .hierarchy-tab {
+ width: 100%;
+}
+#dcaedt .dcae-main-container .hierarchy-tab .hierarchy-module-list-container {
+ padding: 0px 20px 0px 20px;
+}
+#dcaedt .dcae-main-container .hierarchy-tab .module-data-container {
+ width: 100%;
+ height: 100%;
+ background-color: #e6f6fb;
+ border: 1px solid #009fdb;
+ border-top: 4px solid #009fdb;
+ box-shadow: 0.3px 1px 2px rgba(24, 24, 25, 0.32);
+}
+#dcaedt .dcae-main-container .hierarchy-tab .module-data-container .module-data {
+ -moz-user-select: text;
+ -webkit-user-select: text;
+ -ms-user-select: text;
+ user-select: text;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ color: #009fdb;
+ padding: 10px 0px 10px 0px;
+ margin: 0px 20px 0px 20px;
+}
+#dcaedt .dcae-main-container .hierarchy-tab .module-data-container .module-data .module-name {
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ width: 87%;
+}
+#dcaedt .dcae-main-container .hierarchy-tab .module-data-container .module-data .small-font {
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .hierarchy-tab .module-data-container .list-item {
+ padding: 10px 0px 10px 0px;
+ margin: 0px 20px 0px 20px;
+}
+#dcaedt .dcae-main-container .hierarchy-tab .module-data-container .list-item:not(.last) {
+ border-bottom: 1px solid rgba(0, 159, 219, 0.6);
+}
+#dcaedt .dcae-main-container .hierarchy-tab .module-data-container .artifact-data {
+ -moz-user-select: text;
+ -webkit-user-select: text;
+ -ms-user-select: text;
+ user-select: text;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ color: #5a5a5a;
+}
+#dcaedt .dcae-main-container .hierarchy-tab .module-data-container .artifact-data .artifact-name {
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ font-weight: bold;
+}
+#dcaedt .dcae-main-container .hierarchy-tab .module-data-container .property-data .property-name {
+ width: 100%;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ font-weight: 400;
+ color: #009fdb;
+}
+#dcaedt .dcae-main-container .hierarchy-tab .module-data-container .property-data .property-info {
+ color: #191919;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ width: 100%;
+}
+#dcaedt .dcae-main-container .hierarchy-tab .module-data-container .module-text-overflow {
+ max-width: 240px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+#dcaedt .dcae-main-container .hierarchy-tab .hierarchy-modules-list .expand-collapse-title .expand-collapse-title-text {
+ max-width: 202px;
+}
+#dcaedt .dcae-main-container .hierarchy-tab .hierarchy-module-member-list {
+ overflow: hidden;
+ background-color: #ffffff;
+}
+#dcaedt .dcae-main-container .hierarchy-tab .edit-name-container {
+ float: right;
+ border-left: 1px solid #5cc1e7;
+ height: 20px;
+ width: 12%;
+}
+#dcaedt .dcae-main-container .hierarchy-tab .edit-name-container .sdc-edit-icon {
+ float: right;
+ cursor: pointer;
+ position: relative;
+ top: 4px;
+ right: 5px;
+}
+#dcaedt .dcae-main-container .sdc-tutorial-end-page {
+ background-color: #000000;
+ width: 100%;
+ height: 100%;
+ position: absolute;
+ top: 0;
+ left: 0;
+ z-index: 999;
+ -moz-opacity: 0.8;
+ -khtml-opacity: 0.8;
+ -webkit-opacity: 0.8;
+ opacity: 0.8;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ background-image: url('/assets/styles/images/welcome.png');
+ background-repeat: no-repeat;
+ background-position: bottom left;
+}
+#dcaedt .dcae-main-container .sdc-tutorial-end-page .sdc-tutorial-end-page-main {
+ width: 600px;
+ height: 400px;
+ margin: 100px auto 100px auto;
+ padding: 80px;
+}
+#dcaedt .dcae-main-container .sdc-tutorial-end-page h2 {
+ color: #3196c9;
+ font-family: omnes-medium, sans-serif;
+ font-size: 24px;
+ margin: 0;
+}
+#dcaedt .dcae-main-container .sdc-tutorial-end-page .sdc-tutorial-end-page-description1 {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 20px;
+ -moz-opacity: 0.8;
+ -khtml-opacity: 0.8;
+ -webkit-opacity: 0.8;
+ opacity: 0.8;
+ margin-top: 10px;
+ line-height: 22px;
+}
+#dcaedt .dcae-main-container .sdc-tutorial-end-page .w-sdc-btn-blue {
+ margin: 40px 10px 0 0;
+}
+#dcaedt .dcae-main-container .activity-log {
+ margin-top: 30px;
+}
+#dcaedt .dcae-main-container .activity-log .title-wrapper {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-pack: end;
+ -ms-flex-pack: end;
+ justify-content: flex-end;
+}
+#dcaedt .dcae-main-container .activity-log .table-container-flex .table .body .scrollbar-container {
+ max-height: 448px;
+}
+#dcaedt .dcae-main-container .activity-log .view-mode {
+ background-color: #ffffff;
+}
+#dcaedt .dcae-main-container .activity-log .table {
+ height: 490px;
+ margin-bottom: 0;
+}
+#dcaedt .dcae-main-container .activity-log .table-container-flex {
+ margin-top: 10px;
+}
+#dcaedt .dcae-main-container .activity-log .table-container-flex .flex-item:nth-child(1) {
+ width: 200px;
+}
+#dcaedt .dcae-main-container .activity-log .table-container-flex .flex-item:nth-child(2) {
+ -webkit-box-flex: 20;
+ -ms-flex-positive: 20;
+ flex-grow: 20;
+}
+#dcaedt .dcae-main-container .activity-log .table-container-flex .flex-item:nth-child(3) {
+ -webkit-box-flex: 30;
+ -ms-flex-positive: 30;
+ flex-grow: 30;
+}
+#dcaedt .dcae-main-container .activity-log .table-container-flex .flex-item:nth-child(4) {
+ -webkit-box-flex: 20;
+ -ms-flex-positive: 20;
+ flex-grow: 20;
+}
+#dcaedt .dcae-main-container .activity-log .table-container-flex .flex-item:nth-child(5) {
+ width: 80px;
+}
+#dcaedt .dcae-main-container .activity-log .table-container-flex .success {
+ position: absolute;
+ top: 11px;
+ right: 20px;
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -101px -707px;
+ width: 10px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .activity-log .table-container-flex .error {
+ position: absolute;
+ top: 11px;
+ right: 20px;
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -151px -707px;
+ width: 10px;
+ height: 10px;
+}
+#dcaedt .dcae-main-container .activity-log .data-row {
+ position: relative;
+}
+#dcaedt .dcae-main-container .activity-log .top-search {
+ float: right;
+ position: relative;
+}
+#dcaedt .dcae-main-container .activity-log .top-search input.search-text {
+ border-radius: 2px;
+ width: 245px;
+ height: 32px;
+ line-height: 32px;
+ border: 1px solid #d2d2d2;
+ margin: 0;
+ outline: none;
+ text-indent: 10px;
+ /* Safari, Chrome and Opera */
+ /* Firefox 18- */
+ /* Firefox 19+ */
+ /* IE 10+ */
+ /* Edge */
+}
+#dcaedt .dcae-main-container .activity-log .top-search input.search-text::-webkit-input-placeholder {
+ font-style: italic;
+}
+#dcaedt .dcae-main-container .activity-log .top-search input.search-text:-moz-placeholder {
+ font-style: italic;
+}
+#dcaedt .dcae-main-container .activity-log .top-search input.search-text::-moz-placeholder {
+ font-style: italic;
+}
+#dcaedt .dcae-main-container .activity-log .top-search input.search-text:-ms-input-placeholder {
+ font-style: italic;
+}
+#dcaedt .dcae-main-container .activity-log .top-search input.search-text:-ms-input-placeholder {
+ font-style: italic;
+}
+#dcaedt .dcae-main-container .activity-log .top-search .magnification {
+ position: absolute;
+ top: 10px;
+ right: 10px;
+}
+#dcaedt .dcae-main-container .workspace-attributes {
+ width: 93%;
+ display: inline-block;
+}
+#dcaedt .dcae-main-container .workspace-attributes .w-sdc-classic-btn {
+ float: right;
+ margin-bottom: 10px;
+}
+#dcaedt .dcae-main-container .workspace-attributes .table {
+ height: 490px;
+ margin-bottom: 0;
+}
+#dcaedt .dcae-main-container .workspace-attributes .table-container-flex {
+ margin-top: 27px;
+}
+#dcaedt .dcae-main-container .workspace-attributes .table-container-flex .text {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: inline-block;
+ white-space: nowrap;
+}
+#dcaedt .dcae-main-container .workspace-attributes .table-container-flex .flex-item:nth-child(1) {
+ -webkit-box-flex: 15;
+ -ms-flex-positive: 15;
+ flex-grow: 15;
+ cursor: pointer;
+}
+#dcaedt .dcae-main-container .workspace-attributes .table-container-flex .flex-item:nth-child(1) span.table-arrow {
+ margin-right: 7px;
+}
+#dcaedt .dcae-main-container .workspace-attributes .table-container-flex .flex-item:nth-child(2) {
+ -webkit-box-flex: 6;
+ -ms-flex-positive: 6;
+ flex-grow: 6;
+}
+#dcaedt .dcae-main-container .workspace-attributes .table-container-flex .flex-item:nth-child(3) {
+ -webkit-box-flex: 9;
+ -ms-flex-positive: 9;
+ flex-grow: 9;
+}
+#dcaedt .dcae-main-container .workspace-attributes .table-container-flex .flex-item:nth-child(4) {
+ -webkit-box-flex: 3;
+ -ms-flex-positive: 3;
+ flex-grow: 3;
+ padding-top: 10px;
+}
+#dcaedt .dcae-main-container .workspace-attributes .table-container-flex .flex-item:nth-child(5) {
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+}
+#dcaedt .dcae-main-container .composition .sdc-workspace-container .w-sdc-main-container .w-sdc-main-right-container {
+ left: 0;
+}
+#dcaedt .dcae-main-container .composition .sdc-workspace-container .w-sdc-main-container .w-sdc-main-right-container .sdc-workspace-top-bar {
+ padding-left: 295px;
+}
+#dcaedt .dcae-main-container .composition .sdc-workspace-container .w-sdc-main-container .w-sdc-main-right-container .sdc-workspace-top-bar .not-latest {
+ left: 270px;
+}
+#dcaedt .dcae-main-container .composition .sdc-workspace-container .w-sdc-main-container .w-sdc-main-right-container .w-sdc-main-container-body-content {
+ padding: 0 0 0 247px;
+}
+#dcaedt .dcae-main-container .composition .sdc-workspace-container .w-sdc-main-container .w-sdc-main-right-container > div:first-child {
+ padding: 0;
+}
+#dcaedt .dcae-main-container .workspace-composition {
+ height: 100%;
+ display: block;
+ text-align: left;
+ -webkit-box-align: left;
+ -ms-flex-align: left;
+ align-items: left;
+ padding: 0;
+ /*
+ .i-sdc-composition-leftbar-section-content-item-icon {
+ background-image: url('../../../styles/images/resource-icons/default.png');
+ // position: absolute;
+ right: 20px;
+ top: 10px;
+ height: 40px;
+ width: 40px;
+ background-size: 40px;
+ }
+ */
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-designer-sidebar-toggle {
+ background-color: #ffffff;
+ border-left: 1px solid #d2d2d2;
+ border-bottom: 1px solid #d2d2d2;
+ height: 21px;
+ position: absolute;
+ right: 0;
+ top: 53px;
+ width: 17px;
+ transition: right 0.2s;
+ z-index: 10;
+ box-shadow: -1px 1px 3px 0 #959595;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-designer-sidebar-toggle.active {
+ right: 302px;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-designer-sidebar-toggle.active .w-sdc-designer-sidebar-toggle-icon {
+ -webkit-transform: rotate(180deg);
+ transform: rotate(180deg);
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-designer-sidebar-toggle-icon {
+ margin-left: 6px;
+ margin-top: 6px;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-designer-sidebar {
+ background-color: #ffffff;
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ bottom: 89px;
+ position: fixed;
+ right: -302px;
+ width: 302px;
+ top: 102px;
+ transition: right 0.2s;
+ z-index: 9;
+ box-shadow: -7px -3px 6px -8px #959595;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-designer-sidebar-toggle.active + .w-sdc-designer-sidebar {
+ right: 0;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-designer-sidebar-head {
+ padding: 36px 30px 30px 30px;
+ height: 120px;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-designer-sidebar-logo-ph {
+ display: inline-block;
+ vertical-align: middle;
+ line-height: 48px;
+ height: 48px;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-designer-sidebar-logo {
+ color: #263d4d;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ display: inline-block;
+ margin-left: 10px;
+ font-weight: 500;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-designer-sidebar-logo-title {
+ color: #191919;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+ -moz-user-select: text;
+ -webkit-user-select: text;
+ -ms-user-select: text;
+ user-select: text;
+ vertical-align: middle;
+ text-overflow: ellipsis;
+ max-width: 167px;
+ display: inline-block;
+ white-space: nowrap;
+ overflow: hidden;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-designer-update-resource-icon {
+ cursor: pointer;
+ position: absolute;
+ right: 20px;
+ top: 10px;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-designer-delete-resource-icon {
+ cursor: pointer;
+ position: absolute;
+ right: 40px;
+ top: 10px;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-designer-sidebar-tabs {
+ background-color: #cdcdcd;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-designer-sidebar-tabs::after {
+ clear: both;
+ content: '';
+ display: table;
+}
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-designer-sidebar-tab {
+ background-color: #ffffff;
+ border: 1px solid #eaeaea;
+ border-left: none;
+ display: inline-block;
+ float: left;
+ height: 36px;
+ padding-top: 9px;
+ text-align: center;
+ width: 60px;
+ cursor: pointer;
+ /*for tooltip on disabled buttons*/
+}
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-designer-sidebar-tab:focus {
+ outline: none;
+}
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-designer-sidebar-tab.tab-disabled {
+ /* .disabled; */
+}
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-designer-sidebar-tab.active,
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-designer-sidebar-tab:hover:enabled {
+ background-color: #eaeaea;
+}
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-designer-sidebar-tab.active .i-sdc-designer-sidebar-tab-icon,
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-designer-sidebar-tab:hover:enabled .i-sdc-designer-sidebar-tab-icon {
+ opacity: 1;
+}
+#dcaedt .dcae-main-container div.workspace-composition .i-sdc-designer-sidebar-tab {
+ padding-top: 0;
+}
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-designer-sidebar-tab-icon {
+ margin-top: 5px ;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-designer-sidebar-tab-content {
+ position: relative;
+ overflow: hidden;
+ height: 100%;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-designer-sidebar-tab-content-view {
+ position: absolute;
+ top: 156px;
+ bottom: 0;
+ width: 100%;
+ padding-bottom: 10px;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-designer-sidebar-section-title {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ background-color: #eaeaea;
+ cursor: pointer;
+ clear: both;
+ height: 32px;
+ line-height: 32px;
+ margin-top: 1px;
+ padding: 0 40px 0 20px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ position: relative;
+ width: 100%;
+ display: block;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-designer-sidebar-section-title.expanded .w-sdc-designer-sidebar-section-title-icon {
+ -webkit-transform: rotate(180deg);
+ transform: rotate(180deg);
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-designer-sidebar-section-title-text {
+ max-width: 240px;
+ display: inline-block;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ position: relative;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-designer-sidebar-section-title-icon {
+ cursor: pointer;
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -350px -236px;
+ width: 12px;
+ height: 7px;
+ right: 16px;
+ top: 10px;
+ transition: .3s all;
+ position: absolute;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-designer-sidebar-section-content {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-designer-sidebar-section-title + .w-sdc-designer-sidebar-section-content {
+ margin: 0 auto;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-designer-sidebar-section-title.expanded + .w-sdc-designer-sidebar-section-content {
+ margin: 0 auto 1px;
+}
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-designer-sidebar-section-content-item {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-designer-sidebar-section-content-item.description {
+ margin-top: 28px;
+ white-space: normal;
+ word-wrap: break-word;
+}
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-designer-sidebar-section-content-item-tag {
+ color: #263d4d;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ background-color: #ffffff;
+ border-radius: 4px;
+ display: inline-block;
+ line-height: 25px;
+ margin: 0 4px 6px 0;
+ min-width: 50px;
+ padding: 0 9px;
+ text-align: center;
+ max-width: 280px;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-designer-sidebar-section-footer {
+ margin-top: 10px;
+ text-align: center;
+ width: 100%;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-designer-sidebar-section-footer-action {
+ width: 180px;
+ margin-top: 10px;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-designer-sidebar-section-requirements {
+ border-bottom: 1px solid #cdcdcd;
+ margin: 0 13px 20px 13px;
+ padding: 15px 0 0;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-designer-sidebar-section-requirements-item {
+ margin-bottom: 20px;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-designer-sidebar-section-requirements-label {
+ display: inline-block;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ vertical-align: middle;
+ white-space: nowrap;
+ width: 102px;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-designer-sidebar-section-requirements-select {
+ border: 1px solid #cdcdcd;
+ min-height: 30px;
+ padding: 4px 13px;
+ width: 168px;
+}
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-designer-sidebar-section-content-item-property-and-attribute {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ border-bottom: 1px solid #cdcdcd;
+ min-height: 72px;
+ padding: 15px 10px 10px 18px;
+ position: relative;
+}
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-designer-sidebar-section-content-item-property-and-attribute:hover {
+ background-color: #ffffff;
+ transition: all .3s;
+}
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-designer-sidebar-section-content-item-property-and-attribute:hover .i-sdc-designer-sidebar-section-content-item-button {
+ display: block;
+}
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-designer-sidebar-section-content-item-property-and-attribute-label {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ max-width: 200px;
+ white-space: nowrap;
+ display: inline-block;
+}
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-designer-sidebar-section-content-item-property-and-attribute-label:hover {
+ color: #3b7b9b;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-designer-sidebar-section-content-item-property-value {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ max-width: 200px;
+ display: inline-block;
+ white-space: nowrap;
+}
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-designer-sidebar-section-content-item-button {
+ display: none;
+ position: absolute;
+ top: 25px;
+}
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-designer-sidebar-section-content-item-button.update {
+ background-color: transparent;
+ border: 0;
+ right: 60px;
+}
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-designer-sidebar-section-content-item-button.delete {
+ background-color: transparent;
+ border: 0;
+ right: 13px;
+}
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-designer-sidebar-section-content-item-button.download {
+ background-color: transparent;
+ border: 0;
+ right: 35px;
+}
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-designer-sidebar-section-content-item-button.download-env {
+ background-color: transparent;
+ border: 0;
+ right: 35px;
+ margin-top: 65px;
+}
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-designer-sidebar-section-content-item-button.update-env {
+ background-color: transparent;
+ border: 0;
+ right: 15px;
+ margin-top: 65px;
+}
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-designer-sidebar-section-content-item-button.attach {
+ background-color: transparent;
+ border: 0;
+ right: 15px;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-designer-canvas {
+ height: 100%;
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ background-color: #ffffff;
+ bottom: 0;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-designer-canvas .view-mode {
+ background-color: #f8f8f8;
+ border: 0;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-designer-element {
+ cursor: pointer;
+ width: 200px;
+ height: 100px;
+ position: absolute;
+ text-align: center;
+ top: 50%;
+ margin-top: -200px;
+ left: 50%;
+ margin-left: -50px;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-designer-resource-label {
+ color: #b5b5b5;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-designer-resource-label-indicator {
+ background-color: #b5b5b5;
+ border-radius: 50%;
+ display: inline-block;
+ height: 10px;
+ margin-right: 6px;
+ vertical-align: middle;
+ width: 10px;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-designer-resource-label-indicator.valid {
+ background-color: #1e9a33;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-designer-resource-label-indicator.invalid {
+ background-color: #da1f3d;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-designer-leftbar {
+ background-color: #ffffff;
+ bottom: 0;
+ left: 0;
+ overflow-y: scroll;
+ overflow-x: hidden;
+ position: absolute;
+ top: 0;
+ width: 244px;
+ box-shadow: 7px -3px 6px -8px #959595;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-designer-leftbar-title {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ background-color: #959595;
+ line-height: 40px;
+ padding: 0 17px;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-designer-leftbar-title-count {
+ float: right;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-designer-leftbar-search {
+ background-color: #eaeaea;
+ padding: 10px;
+ white-space: nowrap;
+ position: relative;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-designer-leftbar-search-input {
+ border: 1px solid #cdcdcd;
+ border-radius: 4px;
+ height: 30px;
+ margin: 0;
+ padding: 0px 28px 3px 10px;
+ vertical-align: 4px;
+ width: 100%;
+ outline: none;
+ font-style: italic;
+}
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-designer-leftbar-section {
+ cursor: pointer;
+}
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-designer-leftbar-section-title {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ background-color: #eaeaea;
+ cursor: pointer;
+ clear: both;
+ height: 40px;
+ line-height: 40px;
+ margin-top: 1px;
+ padding: 0 10px;
+ position: relative;
+ text-transform: uppercase;
+ font-weight: bold;
+}
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-designer-leftbar-section-title-icon {
+ cursor: pointer;
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -350px -236px;
+ width: 12px;
+ height: 7px;
+ width: 15px;
+ height: 9px;
+ position: absolute;
+ right: 13px;
+ top: 18px;
+ transition: .3s all;
+}
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-designer-leftbar-section.expanded .i-sdc-designer-leftbar-section-title-icon {
+ -webkit-transform: rotate(180deg);
+ transform: rotate(180deg);
+ margin-right: 2px;
+}
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-designer-leftbar-section-content {
+ background-color: #d2d2d2;
+}
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-designer-leftbar-section-content-item {
+ background-color: #ffffff;
+ overflow: hidden;
+}
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-designer-leftbar-section-content-item:hover {
+ background-color: #ffffff;
+}
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-designer-leftbar-section-content-item .cp {
+ margin: 6px;
+}
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-designer-leftbar-section-content-item .vl {
+ margin: 6px;
+}
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-designer-leftbar-section-content-subcat {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ background-color: #f8f8f8;
+ line-height: 35px;
+ padding: 0 10px;
+ cursor: default;
+}
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-designer-leftbar-section-content-subcat:hover {
+ background-color: #f2f2f2;
+}
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-designer-leftbar-section .i-sdc-designer-leftbar-section-content .i-sdc-designer-leftbar-section-content-item {
+ max-height: 0px;
+ margin: 0 auto;
+ transition: all .3s;
+}
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-designer-leftbar-section.expanded .i-sdc-designer-leftbar-section-content .i-sdc-designer-leftbar-section-content-item {
+ max-height: 64px;
+ margin: 0 auto 1px auto;
+}
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-designer-leftbar-section.expanded .i-sdc-designer-leftbar-section-content .i-sdc-designer-leftbar-section-content-subcat {
+ margin: 0;
+}
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-designer-leftbar-section-content-item-icon-ph {
+ display: inline-block;
+ margin: 12px 0 12px 10px;
+ pointer-events: auto;
+}
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-designer-leftbar-section-content-item-icon-ph .non-certified {
+ position: relative;
+ left: 27px;
+ bottom: 6px;
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -157px -3386px;
+ width: 15px;
+ height: 15px;
+ display: block;
+}
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-designer-leftbar-section-content-item-icon-ph .non-certified.smaller-icon {
+ bottom: 6px;
+ left: 13px;
+}
+#dcaedt .dcae-main-container .workspace-composition .non-certified {
+ position: relative;
+ left: 43px;
+ bottom: 3px;
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -157px -3386px;
+ width: 15px;
+ height: 15px;
+ display: block;
+}
+#dcaedt .dcae-main-container .workspace-composition .non-certified.smaller-icon {
+ left: 35px;
+ bottom: -14px;
+}
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-designer-leftbar-section-content-item-info {
+ display: inline-block;
+ width: 160px;
+ padding: 0 0 0 10px;
+}
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-designer-leftbar-section-content-item-info-title {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ line-height: 14px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ text-transform: uppercase;
+ max-width: 120px;
+ display: inline-block;
+ white-space: nowrap;
+ vertical-align: bottom;
+}
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-designer-leftbar-section-content-item-info-text {
+ color: #8c8c8c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ line-height: 15px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-designer-leftbar-section-content-item-info-text-link {
+ color: #000000;
+ text-decoration: underline;
+ float: right;
+ position: absolute;
+ right: 17px;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-form-actions-container.add-property {
+ text-align: center;
+ width: 100%;
+ margin-top: 2px;
+ margin-bottom: 12px;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-form-actions-container.add-property .w-sdc-form-action {
+ width: 245px;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-form-actions-container.add-property .w-sdc-form-action.add-property-add-another {
+ background-color: #3b7b9b;
+ margin-left: 35px;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-form-actions-container.add-property .w-sdc-form-action.add-property-done {
+ margin-left: 312px;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-form-actions-container.add-property .w-sdc-form-action.save {
+ margin-left: 327px;
+ margin-bottom: 30px;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-header-menu {
+ padding: 25px 0;
+ text-align: center;
+ white-space: nowrap;
+}
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-header-menu-item {
+ cursor: pointer;
+ display: inline-block;
+ height: 43px;
+ min-width: 93px;
+ padding: 0 38px;
+ position: relative;
+ vertical-align: middle;
+}
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-header-menu-item::after {
+ border-right: 1px solid #a8b3b9;
+ content: '';
+ display: block;
+ height: 43px;
+ right: 0;
+ position: absolute;
+ top: 0;
+ width: 2px;
+}
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-header-menu-item:first-child::before {
+ border-right: 1px solid #a8b3b9;
+ content: '';
+ display: block;
+ height: 43px;
+ left: 0;
+ position: absolute;
+ top: 0;
+ width: 2px;
+}
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-header-menu-item-icon {
+ display: inline-block;
+ height: 20px;
+ width: 28px;
+}
+#dcaedt .dcae-main-container .workspace-composition .i-sdc-header-menu-item-label {
+ color: #263d4d;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ line-height: 18px;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-canvas-menu {
+ position: fixed;
+ z-index: 100;
+ border-style: solid;
+ border-width: 1px;
+ border-color: #d8d8d8;
+ box-sizing: border-box;
+ background-color: #ffffff;
+ box-shadow: 0px 2px 2px 0px rgba(24, 24, 25, 0.1);
+ width: 91px;
+ /* &.vl-type-select{
+ width: 173px;
+ }
+ */
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-canvas-menu h3 {
+ color: #191919;
+ font-size: 14px;
+ font-weight: bold;
+ margin: 0;
+ padding: 7px 11px;
+ border-bottom: 1px solid #e5e5e5;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-canvas-menu .w-sdc-canvas-menu-content {
+ padding: 5px 5px;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-canvas-menu .w-sdc-canvas-menu-content.vl-select {
+ border-bottom: #d8d8d8 solid 1px;
+ line-height: 15px;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-canvas-menu .w-sdc-canvas-menu-content.vl-select .tlv-radio {
+ padding: 3px 0px;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-canvas-menu .w-sdc-canvas-menu-content.vl-select .tlv-radio .tlv-radio-label {
+ padding: 3px 0px;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-canvas-menu .w-sdc-canvas-menu-content.vl-select .tlv-radio .tlv-radio-label::before {
+ margin-right: 10px;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-canvas-menu .w-sdc-canvas-menu-content .w-sdc-canvas-menu-content-update-button {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -64px -2771px;
+ width: 11px;
+ height: 13px;
+ cursor: pointer;
+ position: absolute;
+ top: 15px;
+ right: 10px;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-canvas-menu .w-sdc-canvas-menu-content .w-sdc-canvas-menu-content-delete-button {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -64px -2771px;
+ width: 11px;
+ height: 13px;
+ cursor: pointer;
+ margin: 0 8px 0 6px;
+}
+#dcaedt .dcae-main-container .workspace-composition .w-sdc-canvas-menu .w-sdc-canvas-menu-arrow {
+ background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAYAAAB4ka1VAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkE1OTIzNDI1MENFQjExRTU4ODRERTI1MDM2REZCOUYzIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkE1OTIzNDI2MENFQjExRTU4ODRERTI1MDM2REZCOUYzIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTU5MjM0MjMwQ0VCMTFFNTg4NERFMjUwMzZERkI5RjMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTU5MjM0MjQwQ0VCMTFFNTg4NERFMjUwMzZERkI5RjMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4gBXTlAAAAOElEQVR42mK0rp7NgASMgZgFiE/CBJjQJPcA8U4gNkdXAJMUAGJ+ZEVMaJIwAFfEhEUSRRFAgAEAVtgJyiLAPWAAAAAASUVORK5CYII=');
+ content: '';
+ display: block;
+ height: 21px;
+ position: absolute;
+ right: 12px;
+ top: -24px;
+ width: 184px;
+ background-repeat: no-repeat;
+ background-position: 175px 16px;
+}
+@-webkit-keyframes spin {
+ 0% {
+ -webkit-transform: rotate(0deg);
+ transform: rotate(0deg);
+ }
+ 100% {
+ -webkit-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
+@keyframes spin {
+ 0% {
+ -webkit-transform: rotate(0deg);
+ transform: rotate(0deg);
+ }
+ 100% {
+ -webkit-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
+#dcaedt .dcae-main-container .w-sdc-designer-sidebar-tab-content.artifacts .i-sdc-designer-sidebar-section-content-item-artifact.hand {
+ cursor: pointer;
+}
+#dcaedt .dcae-main-container .w-sdc-designer-sidebar-tab-content.artifacts .w-sdc-designer-sidebar-section-content {
+ padding: 0;
+}
+#dcaedt .dcae-main-container .w-sdc-designer-sidebar-tab-content.artifacts .w-sdc-designer-sidebar-section-title.expanded {
+ margin-bottom: 0;
+}
+#dcaedt .dcae-main-container .w-sdc-designer-sidebar-tab-content.artifacts .i-sdc-designer-sidebar-section-content-item-artifact-details {
+ display: inline-block;
+ margin-left: 5px;
+ vertical-align: middle;
+ width: 180px;
+}
+#dcaedt .dcae-main-container .w-sdc-designer-sidebar-tab-content.artifacts .i-sdc-designer-sidebar-section-content-item-artifact-details.heat {
+ line-height: 18px;
+ width: 250px;
+}
+#dcaedt .dcae-main-container .w-sdc-designer-sidebar-tab-content.artifacts .i-sdc-designer-sidebar-section-content-item-artifact-details-name {
+ color: #263d4d;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ max-width: 220px;
+ display: inline-block;
+}
+#dcaedt .dcae-main-container .w-sdc-designer-sidebar-tab-content.artifacts .i-sdc-designer-sidebar-section-content-item-artifact-details-name.enabled:hover {
+ color: #3b7b9b;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .w-sdc-designer-sidebar-tab-content.artifacts .i-sdc-designer-sidebar-section-content-item-artifact-heat-env {
+ color: #263d4d;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ margin-top: 6px;
+ line-height: 42px;
+ padding-top: 10px;
+ border-top: 1px solid #c8cdd1;
+}
+#dcaedt .dcae-main-container .w-sdc-designer-sidebar-tab-content.artifacts .i-sdc-designer-sidebar-section-content-item-artifact-heat-env .enabled:hover {
+ cursor: pointer;
+ color: #3b7b9b;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .w-sdc-designer-sidebar-tab-content.artifacts .i-sdc-designer-sidebar-section-content-item-artifact-filename {
+ color: #263d4d;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ max-width: 225px;
+ display: inline-block;
+ font-weight: bold;
+}
+#dcaedt .dcae-main-container .w-sdc-designer-sidebar-tab-content.artifacts .i-sdc-designer-sidebar-section-content-item-artifact-filename.enabled:hover {
+ color: #3b7b9b;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .w-sdc-designer-sidebar-tab-content.artifacts .i-sdc-designer-sidebar-section-content-item-file-link {
+ border-left: 1px #848586 solid;
+ height: 58px;
+ margin-left: -11px;
+ margin-top: 11px;
+ border-top: 1px #848586 solid;
+ border-bottom: 1px #848586 solid;
+ width: 12px;
+ float: left;
+}
+#dcaedt .dcae-main-container .w-sdc-designer-sidebar-tab-content.artifacts .i-sdc-designer-sidebar-section-content-item-artifact-details-desc {
+ display: none;
+ line-height: 16px;
+ word-wrap: break-word;
+ white-space: normal;
+}
+#dcaedt .dcae-main-container .w-sdc-designer-sidebar-tab-content.artifacts .i-sdc-designer-sidebar-section-content-item-artifact-details-desc-label {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .w-sdc-designer-sidebar-tab-content.artifacts .i-sdc-designer-sidebar-section-content-item-artifact {
+ border-bottom: 1px solid #c8cdd1;
+ padding: 5px 10px 5px 18px;
+ position: relative;
+ min-height: 61px;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+}
+#dcaedt .dcae-main-container .w-sdc-designer-sidebar-tab-content.artifacts .i-sdc-designer-sidebar-section-content-item-artifact .i-sdc-designer-sidebar-section-content-item-button {
+ top: 20px;
+ line-height: 10px;
+}
+#dcaedt .dcae-main-container .w-sdc-designer-sidebar-tab-content.artifacts .i-sdc-designer-sidebar-section-content-item-artifact:hover {
+ background-color: #ffffff;
+ transition: all .3s;
+}
+#dcaedt .dcae-main-container .w-sdc-designer-sidebar-tab-content.artifacts .i-sdc-designer-sidebar-section-content-item-artifact:hover .i-sdc-designer-sidebar-section-content-item-button {
+ display: block;
+}
+#dcaedt .dcae-main-container .i-sdc-designer-sidebar-section-content-item-lm {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ border-bottom: 1px solid #cdcdcd;
+ cursor: pointer;
+ height: 65px;
+ padding: 22px 0;
+ position: relative;
+}
+#dcaedt .dcae-main-container .i-sdc-designer-sidebar-section-content-item-lm:hover {
+ background-color: #e6e6e6;
+ margin-left: -10px;
+ margin-right: -10px;
+ padding: 22px 10px;
+}
+#dcaedt .dcae-main-container .i-sdc-designer-sidebar-section-content-item-lm:hover .i-sdc-designer-sidebar-section-content-item-lm-icon {
+ right: 16px;
+}
+#dcaedt .dcae-main-container .i-sdc-designer-sidebar-section-content-item-lm:first-child {
+ margin-top: -18px;
+}
+#dcaedt .dcae-main-container .i-sdc-designer-sidebar-section-content-item-lm-icon {
+ position: absolute;
+ right: 6px;
+}
+#dcaedt .dcae-main-container .i-sdc-designer-sidebar-section-content-item-lm-icon.icon-view {
+ background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAJCAYAAAACTR1pAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjdGMDNBRUJDMDkxNjExRTVCMjRBOEI5QzMxQTlBQjY4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjdGMDNBRUJEMDkxNjExRTVCMjRBOEI5QzMxQTlBQjY4Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6N0YwM0FFQkEwOTE2MTFFNUIyNEE4QjlDMzFBOUFCNjgiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6N0YwM0FFQkIwOTE2MTFFNUIyNEE4QjlDMzFBOUFCNjgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4U2decAAABRUlEQVR42pyRPUvDUBSG39t2UyyaBgvWQZMqKoFq4lBH0U0UqXSxKPaPieCoWPAPKIgdjG1ohaghOrSR1iaLKMXpmnMhQVfPcLmc8zxwPhjnHFE4rx3eMO/w4rr4+vwQuZHRMcwqClaMVeRnplnEskg8O7/g96YJSZLgBz5+R0bKIAgC6IaBvdKukBP0HJ+cctu2cVCtQsrIUFUVlcp+LE6EItWIIVaIV9c3/PnRRqlcxkJeYV2vi+/hEO/9QSx6b56oEUMsOal6/TacQcXinCpaGE+n0QnljufFIuUoiAlZTk6iWFyD6zpoWi3RwvrmBlLJZCzRn3IUxBBLjlgO9e06T9ja3sGyrqPX66NtWQLWCgVks5Owmg1c1mpQ8vM4OqywP1s1w1PkpnJY0jTIsizy/sDHQ7sFmt0ITxJtlf33jj8CDADhB52tEX6ifAAAAABJRU5ErkJggg==');
+ height: 9px;
+ top: 29px;
+ width: 14px;
+}
+#dcaedt .dcae-main-container .i-sdc-designer-sidebar-section-content-item-lm-icon.icon-alert {
+ background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAANCAYAAAB2HjRBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhBM0YxQTBCMDkyMDExRTVBNzlCQUYxNEYwMDUwOTQ5IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhBM0YxQTBDMDkyMDExRTVBNzlCQUYxNEYwMDUwOTQ5Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OEEzRjFBMDkwOTIwMTFFNUE3OUJBRjE0RjAwNTA5NDkiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OEEzRjFBMEEwOTIwMTFFNUE3OUJBRjE0RjAwNTA5NDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7exgceAAAB5klEQVR42oySy2tTQRTGfzN3cpvbpFTaUlzUjeCuVFyJf4DuCl34wL/CrbpUunLnwpUuFFy48IFiwYWhpYuW+gCLrbWKBQumaRIba5ub3MccJ5WECCV44MDMme873/lmBhGhnZulcn/3/sfrO7J/45R017pT0xUS2bC93vy2LAOLt5DfCeUn14RD4h/ysbHRDii/8pyo7DmFiP7VZ4Rbu9KT3I7i+qJklp7ibQt2J6HeNOhXV/gv8tDcbaLtXYLJKeTcZfxqSPPzvGu6ID3J1Q8z0ny/hIkM5swF8qenUFUfwixHCtd7Kwez04jOgEmc+hq6tuZ8N9E6xG5U+Pn2kRxKLs7eE7tRc0XlToRM2sD+2sGmDiY+kWsSFG528Kr1Xgfjfn0n5uElvFrrzVqVDHqkiTKjxCsV9LBx08QkgcY/eZH+89Oqo+x9eumkwQaQaoPEKWpsHHN8ArItgLt5UdiG6736mFLxixyQt+bviik8QPuaNFRIkjqQRZ2YJDo6QWydjTRtOcGPPdJKgnlxFfN9fVmGNhecR4U3mLrL6nPTRTQHXZO5+4jyyI4Iqs99GJvgBiKjcySlj3897y6/kbreI4w0QS7ASxrsa4/cXkxkIzK5PKmNqRMw7NfdeczA+Fn1R4ABAPnMAeCjkgf5AAAAAElFTkSuQmCC');
+ height: 13px;
+ top: 27px;
+ width: 15px;
+}
+#dcaedt .dcae-main-container .w-sdc-designer-sidebar-tab-content.details .w-sdc-designer-sidebar-section-title + .w-sdc-designer-sidebar-section-content {
+ padding: 0 10px 0 18px;
+}
+#dcaedt .dcae-main-container .w-sdc-designer-sidebar-tab-content.details .w-sdc-designer-sidebar-section-title.expanded + .w-sdc-designer-sidebar-section-content {
+ padding: 10px 10px 10px 18px;
+}
+#dcaedt .dcae-main-container .w-sdc-designer-sidebar-tab-content.details .i-sdc-designer-sidebar-section-content-item-label {
+ font-weight: bold;
+}
+#dcaedt .dcae-main-container .w-sdc-designer-sidebar-tab-content.details .i-sdc-designer-sidebar-section-content-item-label.additional-information {
+ max-width: 100px;
+ display: inline-block;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ vertical-align: bottom;
+}
+#dcaedt .dcae-main-container .w-sdc-designer-sidebar-tab-content.details .i-sdc-designer-sidebar-section-content-item-value {
+ padding-left: 10px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ display: inline-block;
+ max-width: 160px;
+ vertical-align: bottom;
+ font-weight: normal;
+}
+#dcaedt .dcae-main-container .w-sdc-designer-sidebar-tab-content.details .i-sdc-designer-sidebar-section-content-item-value.vendor-model-number {
+ max-width: 110px;
+}
+#dcaedt .dcae-main-container .w-sdc-designer-sidebar-tab-content.details .i-sdc-designer-sidebar-section-content-item-value.additional-information {
+ max-width: 160px;
+ display: inline-block;
+}
+#dcaedt .dcae-main-container .w-sdc-designer-sidebar-tab-content.details .i-sdc-designer-sidebar-section-content-item-value.i-sdc-form-select {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ border: 1px solid #cfcfcf;
+ width: 210px;
+ max-width: 210px;
+ padding-left: 4px;
+}
+#dcaedt .dcae-main-container .w-sdc-designer-sidebar-tab-content.details .i-sdc-designer-sidebar-section-content-item-value.i-sdc-form-select .select-instance-version {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .w-sdc-designer-sidebar-tab-content.details .i-sdc-designer-sidebar-section-content-item-value.i-sdc-form-select .select-instance-version.minor {
+ color: #da1f3d;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .w-sdc-designer-sidebar-tab-content.details .i-sdc-designer-sidebar-section-content-item-value.minor {
+ color: #da1f3d;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .w-sdc-designer-sidebar-tab-content.details .i-sdc-designer-sidebar-section-content-description-item-value {
+ max-width: none;
+ font-weight: normal;
+}
+#dcaedt .dcae-main-container .w-sdc-designer-sidebar-tab-content.details .customization-uuid {
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .w-sdc-designer-sidebar-tab-content.details .w-sdc-designer-sidebar-section.tags .i-sdc-designer-sidebar-section-content-item {
+ white-space: normal;
+}
+#dcaedt .dcae-main-container .w-sdc-designer-sidebar-tab-content.properties .i-sdc-designer-sidebar-section-content-item-property-and-attribute-label {
+ font-weight: bold;
+}
+#dcaedt .dcae-main-container .w-sdc-designer-sidebar-tab-content.properties .i-sdc-designer-sidebar-section-content-item-button.update {
+ right: 17px;
+}
+#dcaedt .dcae-main-container .w-sdc-designer-sidebar-tab-content.properties .i-sdc-designer-sidebar-section-content-item-button.delete {
+ right: 35px;
+}
+#dcaedt .dcae-main-container .w-sdc-designer-sidebar-tab-content.properties .w-sdc-designer-sidebar-properties-disabled {
+ color: #191919;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ padding: 20px 20px;
+}
+#dcaedt .dcae-main-container .w-sdc-designer-sidebar-tab-content.properties .vfci-properties-group {
+ background-color: #f2f2f2;
+}
+#dcaedt .dcae-main-container .w-sdc-designer-sidebar-tab-content.properties .expand-collapse-title-icon {
+ cursor: pointer;
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -334px -888px;
+ width: 14px;
+ height: 14px;
+ vertical-align: middle;
+ margin: 0 6px;
+}
+#dcaedt .dcae-main-container .w-sdc-designer-sidebar-tab-content.properties .expanded .expand-collapse-title-icon {
+ background-position: -378px -888px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-main-container .w-sdc-designer-sidebar-tab-content.properties .w-sdc-designer-sidebar-section-title-text {
+ vertical-align: middle;
+}
+#dcaedt .dcae-main-container .w-sdc-designer-sidebar-tab-content.relations .w-sdc-designer-sidebar-section-content {
+ padding: 0;
+}
+#dcaedt .dcae-main-container .w-sdc-designer-sidebar-tab-content.relations .w-sdc-designer-sidebar-section-title.expanded {
+ margin-bottom: 0;
+}
+#dcaedt .dcae-main-container .workspace-deployment-artifact {
+ width: 93%;
+ display: inline-block;
+}
+#dcaedt .dcae-main-container .workspace-deployment-artifact .table-container-flex .table .body .data-row + div.item-opened {
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ padding: 10px 40px 10px 30px;
+}
+#dcaedt .dcae-main-container .workspace-deployment-artifact .w-sdc-classic-btn {
+ float: right;
+ margin-bottom: 10px;
+}
+#dcaedt .dcae-main-container .workspace-deployment-artifact .heat-env-connect-container {
+ background-color: white;
+ position: absolute;
+ height: 70px;
+ width: 20px;
+ left: 0;
+ top: 0;
+}
+#dcaedt .dcae-main-container .workspace-deployment-artifact .heat-env-connect-container-view-mode {
+ background-color: #f8f8f8;
+}
+#dcaedt .dcae-main-container .workspace-deployment-artifact .heat-env-connect {
+ border-left: 1px #848586 solid;
+ height: 50px;
+ margin-left: 10px;
+ margin-top: 10px;
+ border-top: 1px #848586 solid;
+ border-bottom: 1px #848586 solid;
+ width: 11px;
+ float: left;
+}
+#dcaedt .dcae-main-container .workspace-deployment-artifact .artifact-name {
+ width: 85%;
+}
+#dcaedt .dcae-main-container .workspace-deployment-artifact .table-container-flex .table .body .data-row div .heat-env-connect-container {
+ border-right: none;
+}
+#dcaedt .dcae-main-container .workspace-deployment-artifact .i-sdc-designer-sidebar-section-content-item-file-link::before {
+ content: "";
+ background-color: white;
+ width: 12px;
+}
+#dcaedt .dcae-main-container .workspace-deployment-artifact .table {
+ height: 490px;
+ margin-bottom: 0;
+}
+#dcaedt .dcae-main-container .workspace-deployment-artifact .parameter-description {
+ background-color: #8c8c8c;
+ border-radius: 50%;
+ color: #ffffff;
+ content: '';
+ height: 18px;
+ width: 18px;
+ text-align: center;
+ display: block;
+ content: '?';
+ line-height: 18px;
+ vertical-align: middle;
+ margin-left: 5px;
+ cursor: default;
+ display: inline-block;
+ position: absolute;
+ top: 16px;
+}
+#dcaedt .dcae-main-container .workspace-deployment-artifact .table-container-flex {
+ margin-top: 27px;
+}
+#dcaedt .dcae-main-container .workspace-deployment-artifact .table-container-flex .text {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: inline-block;
+ white-space: nowrap;
+}
+#dcaedt .dcae-main-container .workspace-deployment-artifact .table-container-flex .flex-item:nth-child(1) {
+ -webkit-box-flex: 15;
+ -ms-flex-positive: 15;
+ flex-grow: 15;
+ cursor: pointer;
+ padding-left: 30px;
+ position: relative;
+}
+#dcaedt .dcae-main-container .workspace-deployment-artifact .table-container-flex .flex-item:nth-child(1) span.table-arrow {
+ margin-right: 7px;
+}
+#dcaedt .dcae-main-container .workspace-deployment-artifact .table-container-flex .flex-item:nth-child(1) .description-popover-icon {
+ float: right;
+ margin-top: 6px;
+}
+#dcaedt .dcae-main-container .workspace-deployment-artifact .table-container-flex .flex-item:nth-child(2) {
+ -webkit-box-flex: 6;
+ -ms-flex-positive: 6;
+ flex-grow: 6;
+}
+#dcaedt .dcae-main-container .workspace-deployment-artifact .table-container-flex .flex-item:nth-child(3) {
+ -webkit-box-flex: 9;
+ -ms-flex-positive: 9;
+ flex-grow: 9;
+}
+#dcaedt .dcae-main-container .workspace-deployment-artifact .table-container-flex .flex-item:nth-child(4) {
+ -webkit-box-flex: 3;
+ -ms-flex-positive: 3;
+ flex-grow: 3;
+}
+#dcaedt .dcae-main-container .workspace-deployment-artifact .table-container-flex .flex-item:nth-child(5) {
+ -webkit-box-flex: 20;
+ -ms-flex-positive: 20;
+ flex-grow: 20;
+}
+#dcaedt .dcae-main-container .workspace-deployment-artifact .table-container-flex .flex-item:nth-child(6) {
+ -webkit-box-flex: 5;
+ -ms-flex-positive: 5;
+ flex-grow: 5;
+}
+#dcaedt .dcae-main-container .workspace-deployment-artifact .table-container-flex .flex-item:nth-child(6).table-btn-col {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-pack: justify;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+}
+#dcaedt .dcae-main-container .workspace-deployment-artifact .table-container-flex .flex-item:nth-child(6).table-btn-col button {
+ -webkit-box-flex: 0;
+ -ms-flex: 0 1 auto;
+ flex: 0 1 auto;
+ background-color: transparent;
+ border: 0;
+ margin: 0;
+}
+#dcaedt .dcae-main-container .workspace-deployment-artifact .table-container-flex .flex-item:nth-child(6).table-btn-col .edit-paramtes-button {
+ -webkit-box-ordinal-group: 0;
+ -ms-flex-order: -1;
+ order: -1;
+}
+#dcaedt .dcae-main-container .workspace-deployment-artifact .w-sdc-form {
+ text-align: left;
+}
+#dcaedt .dcae-main-container .workspace-deployment-artifact .w-sdc-form .w-sdc-env-params {
+ border-top: 1px solid #cdcdcd;
+ margin: 25px 0 10px 0;
+}
+#dcaedt .dcae-main-container .workspace-deployment-artifact .w-sdc-form .i-sdc-form-textarea {
+ border: 1px solid #cdcdcd;
+ min-height: 60px;
+ padding: 10px 13px;
+ width: 100%;
+ resize: none;
+}
+#dcaedt .dcae-main-container .workspace-deployment-artifact .w-sdc-form .w-sdc-form-item.error .i-sdc-form-input,
+#dcaedt .dcae-main-container .workspace-deployment-artifact .w-sdc-form .w-sdc-form-item.error .i-sdc-form-select,
+#dcaedt .dcae-main-container .workspace-deployment-artifact .w-sdc-form .w-sdc-form-item.error .i-sdc-form-textarea {
+ border-color: #da1f3d;
+ outline: none;
+ box-sizing: border-box;
+}
+#dcaedt .dcae-main-container .workspace-deployment-artifact .w-sdc-form .i-sdc-env-form-label {
+ font-family: omnes-medium, sans-serif;
+ color: #5a5a5a;
+ overflow: hidden;
+ max-width: 450px;
+ text-overflow: ellipsis;
+ display: inline-block;
+ white-space: nowrap;
+ margin-top: 14px;
+}
+#dcaedt .dcae-main-container .workspace-deployment-artifact .w-sdc-form .i-sdc-env-form-label.required::before {
+ color: #f33;
+ content: '*';
+ margin-right: 4px;
+}
+#dcaedt .dcae-main-container .table-container-flex .table .body .scrollbar-container {
+ overflow-x: auto !important;
+}
+#dcaedt .dcae-main-container .parameter-description-popover.deployment-artifact-view {
+ margin-left: -22px;
+ z-index: 1040;
+ min-width: 300px;
+}
+#dcaedt .dcae-main-container .parameter-description-popover.deployment-artifact-view .input-error {
+ color: #cf2a2a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .parameter-description-popover.deployment-artifact-view .error textarea {
+ border-color: #ea7499;
+ color: #da1f3d;
+ outline: none;
+}
+#dcaedt .dcae-main-container .parameter-description-popover.deployment-artifact-view .popover-content textarea {
+ width: 100%;
+}
+#dcaedt .dcae-main-container .deployment-view {
+ display: inline-block;
+ text-align: left;
+ -webkit-box-align: left;
+ -ms-flex-align: left;
+ align-items: left;
+ padding: 0;
+ width: 100%;
+ height: 100%;
+}
+#dcaedt .dcae-main-container .deployment-view .w-sdc-deployment-canvas {
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ background-color: #ffffff;
+ bottom: 0;
+ width: 100%;
+ height: 100%;
+}
+#dcaedt .dcae-main-container .deployment-view .w-sdc-deployment-canvas .view-mode {
+ background-color: #f8f8f8;
+ border: 0;
+}
+#dcaedt .dcae-main-container .deployment-view .w-sdc-deployment-right-bar {
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ bottom: 0;
+ position: absolute;
+ right: 0px;
+ transition: right 0.2s;
+ z-index: 10000;
+ top: 53px;
+}
+#dcaedt .dcae-main-container .w-sdc-classic-top-line-modal .w-sdc-distribution-view .actions-buttons {
+ height: 29px;
+ padding: 0 25px 0 0px;
+}
+#dcaedt .dcae-main-container .w-sdc-classic-top-line-modal .w-sdc-distribution-view .actions-buttons span {
+ float: right;
+}
+#dcaedt .dcae-main-container .w-sdc-classic-top-line-modal .w-sdc-distribution-view .w-sdc-distribution-view-content {
+ height: 500px;
+}
+#dcaedt .dcae-main-container .w-sdc-classic-top-line-modal .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-components-block .omf-component-row .w-sdc-distribute-status-block {
+ margin-left: 0;
+}
+#dcaedt .dcae-main-container .w-sdc-classic-top-line-modal .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-components-block div {
+ padding-left: 0;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view {
+ text-align: left;
+ color: #263d4d;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ min-height: 500px;
+ background-color: #ffffff;
+ vertical-align: top;
+ padding: 30px 10px;
+ width: 100%;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-distributed-green-text {
+ color: #1e9a33;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ font-weight: bold;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-distributed-error-red-text {
+ color: #da1f3d;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ font-weight: bold;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-header {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-justify-content: space-between;
+ margin: 0 25px 5px 40px;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-header .header-spacer {
+ -webkit-box-flex: 5;
+ -ms-flex-positive: 5;
+ flex-grow: 5;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .top-search {
+ position: relative;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .top-search input.search-text {
+ height: 26px;
+ line-height: 26px;
+ margin: 0 18px 4px 20px;
+ padding-right: 25px;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .top-search .magnification {
+ top: 8px;
+ right: 25px;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content {
+ padding: 0 25px 0 0px;
+ margin-bottom: 25px;
+ height: 700px;
+ overflow: hidden;
+ position: relative;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-title {
+ color: #191919;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ line-height: 30px;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-title span {
+ padding-left: 5px;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .blue-font {
+ color: #009fdb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .red-font {
+ color: #cf2a2a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-block div {
+ display: inline-block;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section ul {
+ list-style-type: none;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .distribution-bth {
+ cursor: pointer;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .distribution-bth.disabled {
+ cursor: none;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .copy-link {
+ padding-right: 19px;
+ margin-left: 8px;
+ cursor: pointer;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-row-extends {
+ border-Left: solid 4px transparent;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-row-extends.extends {
+ border-left: solid 4px #71c5eb;
+ border-bottom: 1px solid #cfcfcf;
+ margin-bottom: 10px;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block {
+ border: 1px solid #d2d2d2;
+ width: 100%;
+ margin-bottom: 6px;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .status-icon {
+ vertical-align: middle;
+ margin-bottom: 4px;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block.extends {
+ background-color: #f8f8f8;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block :not(.disable-hover):hover {
+ background-color: #eaeaea;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .title-section {
+ display: inline-block;
+ margin-right: 10px;
+ -ms-flex-preferred-size: 0;
+ flex-basis: 0;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .title {
+ color: #000000;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+ font-weight: bold;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-content {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-box-pack: justify;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+ margin-left: 10px;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribution-arrow-btn {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -250px -237px;
+ width: 12px;
+ height: 6px;
+ margin: 0 6px;
+ display: inline-table;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .extends.w-sdc-distribution-arrow-btn {
+ -webkit-transform: rotate(180deg);
+ transform: rotate(180deg);
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-row {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-box-pack: justify;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-row .w-sdc-distribute-row-content {
+ margin: 15px 31px 10px 0;
+ width: 100%;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-row .w-sdc-distribute-row-content .w-sdc-distribute-status-block {
+ border-top: solid 1px #d2d2d2;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-row .w-sdc-distribute-row-content .item-1 {
+ -webkit-box-flex: 2;
+ -ms-flex-positive: 2;
+ flex-grow: 2;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-row .w-sdc-distribute-row-content .item-2 {
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-row .w-sdc-distribute-row-content .item-3 {
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-row .w-sdc-distribute-row-content .item-4 {
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-row .w-sdc-distribute-row-content .item-5 {
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-status-block {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-box-pack: justify;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+ margin: 10px 5px 0 5px;
+ padding: 5px 5px 0 5px;
+ width: 100%;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-status-block div {
+ border-left: 1px solid #d2d2d2;
+ padding: 0 12px;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-status-block .link {
+ color: #009fdb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ cursor: pointer;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-status-block .link:hover {
+ text-decoration: underline;
+ color: #056bae;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-status-block span {
+ padding: 2px;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-status-block .deployed {
+ margin-left: 10px;
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -170px -706px;
+ width: 12px;
+ height: 12px;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-status-block .error {
+ color: #cf2a2a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ margin-left: 10px;
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -51px -751px;
+ width: 13px;
+ height: 11px;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-status-block .status-item-1 {
+ border-left: 0;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-status-block .status-item-6 {
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ border-left: none;
+ text-align: right;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-components-block {
+ padding: 0;
+ padding-bottom: 5px;
+ list-style-type: none;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-components-block li {
+ margin: 5px 2px;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-components-block .omf-component-row {
+ border: 1px solid #cfcfcf;
+ padding-left: 3px;
+ background-color: white;
+ margin: 0 30px;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-components-block .omf-component-row.extends {
+ padding-left: 0;
+ border-Left: solid 4px #71c5eb;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-components-block .omf-component-row .w-sdc-distribute-status-block {
+ margin: 5px;
+ padding: 5px;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-components-block .omf-component-row .blue-font {
+ color: #009fdb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-components-block .omf-component-row:hover {
+ background-color: #eaeaea;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-omfComponent-block {
+ background-color: white;
+ margin: 0 30px;
+ padding: 8px 10px;
+ border: 1px solid #cfcfcf;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-omfComponent-block .omfComponent-table-head {
+ margin-bottom: 5px;
+ background-color: #eaeaea;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-omfComponent-block .omfComponent-table-head .title {
+ padding: 6px 10px;
+ border-left: 1px solid #cfcfcf;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-omfComponent-block .omfComponent-table-head .title:first-child {
+ border: none;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-omfComponent-block .omfComponent-table-row {
+ border-bottom: 1px solid #cfcfcf;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-omfComponent-block .omfComponent-table-row.row-0 {
+ border-top: 1px solid #cfcfcf;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-omfComponent-block .omfComponent-table-row .w-sdc-distribute-cell {
+ padding: 10px;
+ border-left: 1px solid #cfcfcf;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-omfComponent-block .omfComponent-table-row .w-sdc-distribute-cell:last-child {
+ border-right: 1px solid #cfcfcf;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-omfComponent-block .omfComponent-table-row .w-sdc-distribute-cell.item-5 {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-omfComponent-block .w-sdc-distribute-row.extends {
+ border-Left: solid 4px #71c5eb;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-omfComponent-block .w-sdc-distribute-row.extends .item-1 {
+ border: none;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-omfComponent-block .item-1 {
+ width: 20%;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-omfComponent-block .item-2 {
+ width: 20%;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-omfComponent-block .item-3 {
+ width: 24%;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-omfComponent-block .item-4 {
+ width: 18%;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-omfComponent-block .item-5 {
+ width: 18%;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-url-block {
+ padding: 10px 15px;
+ border: none;
+ border-right: 1px solid #cfcfcf;
+ border-bottom: 1px solid #cfcfcf;
+ width: 100%;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-url-block li {
+ border: none;
+}
+#dcaedt .dcae-main-container .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-url-block li span {
+ padding-right: 30px;
+ color: #5a5a5a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .sdc-workspace-general-step {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+}
+#dcaedt .dcae-main-container .sdc-workspace-general-step .w-sdc-form {
+ padding: 0;
+ -webkit-box-flex: 10;
+ -ms-flex-positive: 10;
+ flex-grow: 10;
+}
+#dcaedt .dcae-main-container .sdc-workspace-general-step .w-sdc-form .i-sdc-form-file-upload input[type="button"] {
+ cursor: pointer;
+ display: block;
+ filter: alpha(opacity=0);
+ width: 100px;
+ height: 30px;
+ opacity: 0;
+ position: absolute;
+ right: 0;
+ text-align: right;
+ top: 0;
+}
+#dcaedt .dcae-main-container .sdc-workspace-general-step .w-sdc-form .i-sdc-form-file-upload .file-upload-browse-btn {
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ background-color: #ECEFF3;
+ padding: 4px 6px;
+ cursor: pointer;
+ z-index: 999;
+ width: 100px;
+ height: 28px;
+ text-align: center;
+}
+#dcaedt .dcae-main-container .sdc-workspace-general-step .w-sdc-form .i-sdc-form-file-upload .file-upload-browse-btn.disabled {
+ cursor: default;
+}
+#dcaedt .dcae-main-container .sdc-workspace-general-step .w-sdc-form .description {
+ height: 116px;
+}
+#dcaedt .dcae-main-container .sdc-workspace-general-step .w-sdc-form .w-sdc-form-section-container {
+ text-align: center;
+}
+#dcaedt .dcae-main-container .sdc-workspace-general-step .w-sdc-form .i-sdc-form-item {
+ margin-bottom: 15px;
+}
+#dcaedt .dcae-main-container .sdc-workspace-general-step .w-sdc-form .i-sdc-form-item.upload {
+ margin-top: 0;
+ width: auto;
+ padding: 10px;
+}
+#dcaedt .dcae-main-container .sdc-workspace-general-step .w-sdc-form .template-desc {
+ border: 1px dashed #cfcfcf;
+ height: 130px;
+ overflow: hidden;
+ padding: 10px 6px 6px 6px;
+ margin-top: 10px;
+}
+#dcaedt .dcae-main-container .sdc-workspace-general-step .w-sdc-form .sdc-tag .tag {
+ max-width: 225px;
+}
+#dcaedt .dcae-main-container .sdc-workspace-general-step .meta-data {
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ padding-left: 6%;
+ text-align: left;
+ margin-top: 20px;
+}
+#dcaedt .dcae-main-container .sdc-workspace-general-step .meta-data .meta-data-item-value {
+ padding-bottom: 20px;
+}
+#dcaedt .dcae-main-container .workspace-icons {
+ width: 89%;
+ display: inline-block;
+ text-align: center;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+}
+#dcaedt .dcae-main-container .workspace-icons .w-sdc-form {
+ padding-top: 0px;
+ padding-bottom: 0px;
+}
+#dcaedt .dcae-main-container .workspace-icons .w-sdc-form .selected-icon-container {
+ text-align: left;
+ border: 1px solid #cfcfcf;
+ clear: both;
+ margin-bottom: 30px;
+ padding: 2px 0px 5px 5px;
+}
+#dcaedt .dcae-main-container .workspace-icons .w-sdc-form .selected-icon-container .selected-icon {
+ margin: 8px 5px 0px 6px;
+}
+#dcaedt .dcae-main-container .workspace-icons .w-sdc-form .suggested-icons-container {
+ text-align: left;
+ border: 1px solid #cfcfcf;
+ clear: both;
+ padding: 2px 0px 5px 5px;
+ height: 340px;
+ margin-bottom: 0px;
+}
+#dcaedt .dcae-main-container .workspace-icons .w-sdc-form .suggested-icons-container .suggested-icon-wrapper {
+ margin: 8px 5px 0px 6px;
+ display: inline-block;
+}
+#dcaedt .dcae-main-container .workspace-icons .w-sdc-form .suggested-icons-container .suggested-icon-wrapper.selected {
+ border: 2px solid #009fdb;
+ border-radius: 35px;
+ display: inline-block;
+ line-height: 0px;
+ padding: 3px;
+}
+#dcaedt .dcae-main-container .workspace-icons .w-sdc-form .suggested-icons-container .suggested-icon {
+ display: inline-block;
+}
+#dcaedt .dcae-main-container .workspace-icons .w-sdc-form .suggested-icons-container .suggested-icon.disable {
+ opacity: 0.4;
+}
+#dcaedt .dcae-main-container .workspace-icons .w-sdc-form .icons-label {
+ float: left;
+}
+#dcaedt .dcae-main-container .workspace-icons .w-sdc-form .icons-text {
+ text-align: left;
+ line-height: 32px;
+ padding-left: 10px;
+ width: 100%;
+ border: 1px solid #cfcfcf;
+ border-bottom: none;
+}
+#dcaedt .dcae-main-container .workspace-information-artifact {
+ width: 93%;
+ display: inline-block;
+}
+#dcaedt .dcae-main-container .workspace-information-artifact .w-sdc-classic-btn {
+ float: right;
+ margin-bottom: 10px;
+}
+#dcaedt .dcae-main-container .workspace-information-artifact .table {
+ height: 490px;
+ margin-bottom: 0;
+}
+#dcaedt .dcae-main-container .workspace-information-artifact .table-container-flex {
+ margin-top: 27px;
+}
+#dcaedt .dcae-main-container .workspace-information-artifact .table-container-flex .item-opened {
+ word-wrap: break-word;
+}
+#dcaedt .dcae-main-container .workspace-information-artifact .table-container-flex .text {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: inline-block;
+ white-space: nowrap;
+}
+#dcaedt .dcae-main-container .workspace-information-artifact .table-container-flex .flex-item:nth-child(1) {
+ -webkit-box-flex: 15;
+ -ms-flex-positive: 15;
+ flex-grow: 15;
+ cursor: pointer;
+}
+#dcaedt .dcae-main-container .workspace-information-artifact .table-container-flex .flex-item:nth-child(1) span.table-arrow {
+ margin-right: 7px;
+}
+#dcaedt .dcae-main-container .workspace-information-artifact .table-container-flex .flex-item:nth-child(2) {
+ -webkit-box-flex: 6;
+ -ms-flex-positive: 6;
+ flex-grow: 6;
+}
+#dcaedt .dcae-main-container .workspace-information-artifact .table-container-flex .flex-item:nth-child(3) {
+ -webkit-box-flex: 3;
+ -ms-flex-positive: 3;
+ flex-grow: 3;
+}
+#dcaedt .dcae-main-container .workspace-information-artifact .table-container-flex .flex-item:nth-child(4) {
+ -webkit-box-flex: 20;
+ -ms-flex-positive: 20;
+ flex-grow: 20;
+}
+#dcaedt .dcae-main-container .workspace-information-artifact .table-container-flex .flex-item:nth-child(5) {
+ -webkit-box-flex: 5;
+ -ms-flex-positive: 5;
+ flex-grow: 5;
+ padding-top: 10px;
+}
+#dcaedt .dcae-main-container .workspace-inputs {
+ width: 100%;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+}
+#dcaedt .dcae-main-container .workspace-inputs .sdc-workspace-container .w-sdc-main-right-container .w-sdc-main-container-body-content {
+ padding: 25px 8% 25px 8%;
+}
+#dcaedt .dcae-main-container .workspace-inputs .w-sdc-main-container .w-sdc-main-right-container > div:first-child {
+ /* scroll fix */
+ padding-bottom: 0px;
+}
+#dcaedt .dcae-main-container .workspace-inputs .text {
+ padding-left: 15px;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ white-space: nowrap;
+}
+#dcaedt .dcae-main-container .workspace-inputs .title-text {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+ font-weight: bold;
+ text-overflow: ellipsis;
+ overflow: hidden;
+}
+#dcaedt .dcae-main-container .workspace-inputs .no-overflow {
+ text-overflow: ellipsis;
+ overflow: hidden;
+ white-space: nowrap;
+}
+#dcaedt .dcae-main-container .workspace-inputs .title-blue-text {
+ color: #009fdb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .workspace-inputs .title-blue-text.property-name-text {
+ padding-right: 13px;
+ border-right: 1px solid rgba(120, 136, 148, 0.26);
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ white-space: nowrap;
+}
+#dcaedt .dcae-main-container .workspace-inputs .instance-name-text {
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+}
+#dcaedt .dcae-main-container .workspace-inputs ng-include {
+ width: 45%;
+}
+#dcaedt .dcae-main-container .workspace-inputs .w-sdc-inputs-search {
+ padding: 10px 20px 20px 0;
+ white-space: nowrap;
+ position: relative;
+ width: 60%;
+ height: 64px;
+}
+#dcaedt .dcae-main-container .workspace-inputs .w-sdc-inputs-search .inputs-search-icon {
+ top: 9px;
+ right: 11px;
+}
+#dcaedt .dcae-main-container .workspace-inputs .w-sdc-inputs-search .magnification-white {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -434px -128px;
+ width: 14px;
+ height: 14px;
+ cursor: pointer;
+}
+#dcaedt .dcae-main-container .workspace-inputs .w-sdc-inputs-search .search-icon-container {
+ width: 35px;
+ height: 30px;
+ background-color: #009fdb;
+ white-space: nowrap;
+ float: right;
+ position: relative;
+ bottom: 31px;
+ right: 1px;
+ border-radius: 0px 4px 4px 0px;
+ cursor: pointer;
+}
+#dcaedt .dcae-main-container .workspace-inputs .total-inputs-count {
+ width: 100%;
+ font-weight: bold;
+ text-align: left;
+}
+#dcaedt .dcae-main-container .workspace-inputs .new-input-button {
+ margin: 9px 0 0 0;
+}
+#dcaedt .dcae-main-container .workspace-inputs .w-sdc-inputs-search-input {
+ border: 1px solid #cdcdcd;
+ border-radius: 4px;
+ height: 32px;
+ margin: 0;
+ padding: 0px 28px 3px 10px;
+ vertical-align: 4px;
+ width: 100%;
+ outline: none;
+ font-style: italic;
+}
+#dcaedt .dcae-main-container .workspace-inputs .w-sdc-classic-btn {
+ float: right;
+ margin-bottom: 10px;
+}
+#dcaedt .dcae-main-container .workspace-inputs .prop-to-input-button {
+ position: absolute;
+ top: 50%;
+ margin-right: -20px;
+ margin-bottom: -10px;
+}
+#dcaedt .dcae-main-container .workspace-inputs .table-container-flex .flex-item {
+ line-height: 22px;
+}
+#dcaedt .dcae-main-container .workspace-inputs .table-container-flex .expand-collapse-table-row .data-row {
+ background: #eaeaea;
+ cursor: pointer;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ padding: 0 12px;
+ margin: 1px 0px 1px 0px;
+ min-height: 40px;
+}
+#dcaedt .dcae-main-container .workspace-inputs .table-container-flex .expand-collapse-table-row .data-row:hover {
+ background-color: #D3DBE0;
+}
+#dcaedt .dcae-main-container .workspace-inputs .table {
+ height: 640px;
+ margin-bottom: 0;
+ clear: both;
+}
+#dcaedt .dcae-main-container .workspace-inputs .table .empty-row {
+ padding: 3px;
+}
+#dcaedt .dcae-main-container .workspace-inputs .table .flex-item {
+ line-height: 22px;
+}
+#dcaedt .dcae-main-container .workspace-inputs .table .table-header {
+ line-height: 14px;
+ background-color: #009fdb;
+ color: #ffffff;
+ text-align: left;
+ padding: 7px 5px 7px 10px;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .workspace-inputs .table .head {
+ background-color: #e6e6e6;
+}
+#dcaedt .dcae-main-container .workspace-inputs .table .body .scrollbar-container {
+ position: relative;
+ overflow: hidden;
+ max-height: 610px;
+}
+#dcaedt .dcae-main-container .workspace-inputs .table .body .expand-collapse-inputs-table-icon {
+ cursor: pointer;
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -350px -236px;
+ width: 12px;
+ height: 7px;
+ transition: .3s all;
+ position: relative;
+ left: 8px;
+ border: none !important;
+ padding: 0px 10px 0px 10px;
+}
+#dcaedt .dcae-main-container .workspace-inputs .table .body .table-col-text {
+ margin-left: 14px;
+}
+#dcaedt .dcae-main-container .workspace-inputs .inputs-header {
+ width: 100%;
+ position: relative;
+ bottom: 31px;
+}
+#dcaedt .dcae-main-container .workspace-inputs .inputs-tables-container {
+ width: 100%;
+ min-width: 100%;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+}
+#dcaedt .dcae-main-container .workspace-inputs .inputs-button-container {
+ width: 8%;
+ min-width: 8%;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+}
+#dcaedt .dcae-main-container .workspace-inputs .inputs-button-container .right-arrow-btn {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -650px -619px;
+ width: 29px;
+ height: 29px;
+ margin: auto;
+ cursor: pointer;
+}
+#dcaedt .dcae-main-container .workspace-inputs .table-container-flex {
+ margin-top: 27px;
+ width: 46%;
+ min-width: 46%;
+ display: inline-block;
+ float: left;
+}
+#dcaedt .dcae-main-container .workspace-inputs .property-row .input-check-box {
+ text-align: center;
+}
+#dcaedt .dcae-main-container .workspace-inputs .service-inputs-view .table-container-flex {
+ width: 100% !important;
+}
+#dcaedt .dcae-main-container .workspace-inputs .service-inputs-view .table-loader {
+ position: relative;
+ top: 215px;
+}
+#dcaedt .dcae-main-container .workspace-inputs .infinite-scroll {
+ overflow-y: scroll;
+ overflow-x: hidden;
+ max-height: 400px;
+}
+#dcaedt .dcae-main-container .workspace-inputs .class_with_css_props_leading_to_a_scroll {
+ height: 100%;
+ overflow-y: auto;
+}
+#dcaedt .dcae-main-container .workspace-inputs .table-container-flex .expand-collapse-table-row .service-input-row {
+ padding-left: 15px;
+ border: none;
+ border-bottom: rgba(120, 136, 148, 0.26) solid 1px;
+}
+#dcaedt .dcae-main-container .workspace-inputs .table-container-flex .expand-collapse-table-row .service-input-row.service-input-row {
+ background: #eaeaea;
+}
+#dcaedt .dcae-main-container .workspace-inputs .table-container-flex .expand-collapse-table-row .service-input-row.service-input-row.new-input {
+ background: #e6f6fb;
+}
+#dcaedt .dcae-main-container .workspace-hierarchy {
+ display: inline-block;
+ width: 93%;
+}
+#dcaedt .dcae-main-container .workspace-hierarchy .scrollbar-container {
+ max-height: 400px;
+ position: relative;
+ overflow: hidden;
+}
+#dcaedt .dcae-main-container .workspace-hierarchy .dropdown-container {
+ position: relative;
+ display: inline-block;
+ width: 100%;
+}
+#dcaedt .dcae-main-container .workspace-hierarchy .dropdown-container:after {
+ top: 47%;
+ right: 1%;
+ border: solid transparent;
+ content: " ";
+ height: 0;
+ width: 0;
+ position: absolute;
+ pointer-events: none;
+ border-color: rgba(0, 0, 0, 0);
+ border-top-color: black;
+ border-width: 4px;
+ margin-left: -4px;
+}
+#dcaedt .dcae-main-container .workspace-hierarchy .dropdown-container .dropdown-input-text {
+ width: 100%;
+ padding: 4px 10px;
+}
+#dcaedt .dcae-main-container .workspace-hierarchy .dropdown-container .dropdown-content {
+ position: relative;
+ border: 1px solid #d8d8d8;
+ display: none;
+ position: absolute;
+ overflow: hidden;
+ width: 100%;
+ background-color: #ffffff;
+ max-height: 400px;
+ z-index: 999999;
+}
+#dcaedt .dcae-main-container .workspace-hierarchy .dropdown-container .dropdown-content .dropdown-option {
+ border-bottom: 1px solid #d8d8d8;
+ display: inline-block;
+ width: 100%;
+}
+#dcaedt .dcae-main-container .workspace-hierarchy .dropdown-container .dropdown-content .category-container {
+ width: 250px;
+ float: left;
+ padding-left: 5px;
+}
+#dcaedt .dcae-main-container .workspace-hierarchy .dropdown-container .dropdown-content .category-container .category {
+ font-weight: bold;
+ padding: 3px 3px 2px 3px;
+}
+#dcaedt .dcae-main-container .workspace-hierarchy .dropdown-container .dropdown-content .category-container .category:after {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -262px -4041px;
+ width: 11px;
+ height: 10px;
+ content: '';
+ margin-left: 5px;
+ -webkit-transform: rotate(180deg);
+ transform: rotate(180deg);
+}
+#dcaedt .dcae-main-container .workspace-hierarchy .dropdown-container .dropdown-content .category-container .subcategory {
+ padding-left: 3px;
+}
+#dcaedt .dcae-main-container .workspace-hierarchy .dropdown-container .dropdown-content .groupings-container {
+ display: inline-block;
+ width: 424px;
+ border-left: 1px solid #d8d8d8;
+ min-height: 55px;
+}
+#dcaedt .dcae-main-container .workspace-hierarchy .dropdown-container .dropdown-content .groupings-container .group {
+ padding: 3px 3px 3px 10px;
+}
+#dcaedt .dcae-main-container .workspace-hierarchy .dropdown-container .dropdown-content .groupings-container .group:hover {
+ cursor: pointer;
+ background-color: #ECEFF3;
+}
+#dcaedt .dcae-main-container .workspace-hierarchy .dropdown-container .dropdown-content .groupings-container .group.disabled-group {
+ opacity: 0.5;
+}
+#dcaedt .dcae-main-container .workspace-hierarchy .dropdown-container .dropdown-content .groupings-container .group.disabled-group:hover {
+ cursor: auto;
+ background-color: #ffffff;
+}
+#dcaedt .dcae-main-container .workspace-hierarchy .dropdown-container .dropdown-content .seperator {
+ height: 1px;
+ width: 100%;
+ background-color: #D3DBE0;
+ margin: 5px 0px;
+}
+#dcaedt .dcae-main-container .workspace-hierarchy .dropdown-container .show {
+ display: block;
+}
+#dcaedt .dcae-main-container .workspace-hierarchy .hierarchy-groups-container {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ width: 100%;
+ border: 1px solid #d8d8d8;
+ height: 425px;
+ padding: 15px;
+ text-align: center;
+}
+#dcaedt .dcae-main-container .workspace-hierarchy .hierarchy-groups-container .scrollbar-container {
+ z-index: 0;
+}
+#dcaedt .dcae-main-container .workspace-hierarchy .hierarchy-groups-container .no-group-text {
+ text-align: center;
+ margin-top: 25px;
+}
+#dcaedt .dcae-main-container .workspace-hierarchy .hierarchy-groups-container .no-group-text a {
+ cursor: pointer;
+}
+#dcaedt .dcae-main-container .workspace-hierarchy .hierarchy-groups-container .group-tag {
+ display: inline-block;
+ float: left;
+}
+#dcaedt .dcae-main-container .workspace-properties {
+ width: 93%;
+ display: inline-block;
+}
+#dcaedt .dcae-main-container .workspace-properties #left-top-bar {
+ float: left;
+ width: 155px;
+}
+#dcaedt .dcae-main-container .workspace-properties #left-top-bar ::-webkit-input-placeholder {
+ font-style: italic;
+}
+#dcaedt .dcae-main-container .workspace-properties #left-top-bar :-moz-placeholder {
+ font-style: italic;
+}
+#dcaedt .dcae-main-container .workspace-properties #left-top-bar ::-moz-placeholder {
+ font-style: italic;
+}
+#dcaedt .dcae-main-container .workspace-properties #left-top-bar :-ms-input-placeholder {
+ font-style: italic;
+}
+#dcaedt .dcae-main-container .workspace-properties #left-top-bar #properties-count {
+ font-weight: bold;
+ float: left;
+}
+#dcaedt .dcae-main-container .workspace-properties #left-top-bar #search-by-name {
+ border-radius: 2px;
+ width: 245px;
+ height: 32px;
+ line-height: 32px;
+ border: 1px solid #d2d2d2;
+ text-indent: 10px;
+}
+#dcaedt .dcae-main-container .workspace-properties #left-top-bar .search-button {
+ cursor: pointer;
+ float: right;
+ position: relative;
+ top: -22px;
+ right: -80px;
+}
+#dcaedt .dcae-main-container .workspace-properties .add-btn {
+ margin: 36px 0 0 0;
+}
+#dcaedt .dcae-main-container .workspace-properties .delete-col-header {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -64px -2771px;
+ width: 11px;
+ height: 13px;
+}
+#dcaedt .dcae-main-container .workspace-properties .w-sdc-classic-btn {
+ float: right;
+ margin-bottom: 10px;
+}
+#dcaedt .dcae-main-container .workspace-properties .table {
+ height: 490px;
+ margin-bottom: 0;
+}
+#dcaedt .dcae-main-container .workspace-properties .data-row .table-delete-btn {
+ display: none !important;
+}
+#dcaedt .dcae-main-container .workspace-properties .data-row:hover .table-delete-btn {
+ display: inline-block !important;
+}
+#dcaedt .dcae-main-container .workspace-properties .table-container-flex {
+ margin-top: 27px;
+}
+#dcaedt .dcae-main-container .workspace-properties .table-container-flex .text {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: inline-block;
+ white-space: nowrap;
+}
+#dcaedt .dcae-main-container .workspace-properties .table-container-flex .flex-item:nth-child(1) {
+ -webkit-box-flex: 15;
+ -ms-flex-positive: 15;
+ flex-grow: 15;
+}
+#dcaedt .dcae-main-container .workspace-properties .table-container-flex .flex-item:nth-child(1) a {
+ cursor: pointer;
+}
+#dcaedt .dcae-main-container .workspace-properties .table-container-flex .flex-item:nth-child(2) {
+ -webkit-box-flex: 6;
+ -ms-flex-positive: 6;
+ flex-grow: 6;
+}
+#dcaedt .dcae-main-container .workspace-properties .table-container-flex .flex-item:nth-child(3) {
+ -webkit-box-flex: 6;
+ -ms-flex-positive: 6;
+ flex-grow: 6;
+}
+#dcaedt .dcae-main-container .workspace-properties .table-container-flex .flex-item:nth-child(4) {
+ -webkit-box-flex: 20;
+ -ms-flex-positive: 20;
+ flex-grow: 20;
+}
+#dcaedt .dcae-main-container .workspace-properties .table-container-flex .flex-item:nth-child(5) {
+ -webkit-box-flex: 3;
+ -ms-flex-positive: 3;
+ flex-grow: 3;
+ padding-top: 10px;
+}
+#dcaedt .dcae-main-container .workspace-req-and-cap {
+ width: 93%;
+ display: inline-block;
+}
+#dcaedt .dcae-main-container .workspace-req-and-cap .tabs {
+ float: left;
+ position: relative;
+ top: 6px;
+}
+#dcaedt .dcae-main-container .workspace-req-and-cap .tabs button {
+ float: left;
+ width: 233px;
+ height: 38px;
+ background-color: #f8f8f8;
+ border: 1px solid #d2d2d2;
+ color: black;
+}
+#dcaedt .dcae-main-container .workspace-req-and-cap .tabs button:nth-child(1) {
+ border-radius: 10px 0 0 0;
+}
+#dcaedt .dcae-main-container .workspace-req-and-cap .tabs button:nth-child(2) {
+ border-radius: 0 10px 0 0;
+}
+#dcaedt .dcae-main-container .workspace-req-and-cap .tabs button.selected {
+ background-color: #009fdb;
+ border: 1px solid #009fdb;
+ color: white;
+}
+#dcaedt .dcae-main-container .workspace-req-and-cap .search {
+ margin-bottom: 12px;
+ float: right;
+}
+#dcaedt .dcae-main-container .workspace-req-and-cap .search ::-webkit-input-placeholder {
+ font-style: italic;
+}
+#dcaedt .dcae-main-container .workspace-req-and-cap .search :-moz-placeholder {
+ font-style: italic;
+}
+#dcaedt .dcae-main-container .workspace-req-and-cap .search ::-moz-placeholder {
+ font-style: italic;
+}
+#dcaedt .dcae-main-container .workspace-req-and-cap .search :-ms-input-placeholder {
+ font-style: italic;
+}
+#dcaedt .dcae-main-container .workspace-req-and-cap .search #search-box {
+ border-radius: 2px 0 0 2px;
+ width: 213px;
+ height: 32px;
+ line-height: 32px;
+ border: 1px solid #d2d2d2;
+ text-indent: 10px;
+ float: left;
+}
+#dcaedt .dcae-main-container .workspace-req-and-cap .search .search-icon-container {
+ background-color: #009fdb;
+ height: 32px;
+ width: 32px;
+ border-radius: 0 2px 2px 0;
+ float: left;
+}
+#dcaedt .dcae-main-container .workspace-req-and-cap .search .search-icon-container .search-icon {
+ position: relative;
+ top: 9px;
+}
+#dcaedt .dcae-main-container .workspace-req-and-cap .expand-collapse-buttons {
+ float: right;
+ width: 44px;
+ margin-left: 11px;
+ margin-top: 10px;
+}
+#dcaedt .dcae-main-container .workspace-req-and-cap .expand-collapse-buttons span {
+ vertical-align: bottom;
+ cursor: pointer;
+}
+#dcaedt .dcae-main-container .workspace-req-and-cap .table {
+ height: 490px;
+ margin-bottom: 0;
+}
+#dcaedt .dcae-main-container .workspace-req-and-cap .arrow-up-small.opened {
+ background-position: -300px -237px;
+ width: 12px;
+ height: 6px;
+}
+#dcaedt .dcae-main-container .workspace-req-and-cap .item-opened {
+ background-color: #f8f8f8;
+}
+#dcaedt .dcae-main-container .workspace-req-and-cap .properties-title {
+ margin: 0;
+ font-weight: bold;
+}
+#dcaedt .dcae-main-container .workspace-req-and-cap .table-container-flex {
+ margin-top: 10px;
+}
+#dcaedt .dcae-main-container .workspace-req-and-cap .table-container-flex .text {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: inline-block;
+ white-space: nowrap;
+}
+#dcaedt .dcae-main-container .workspace-req-and-cap .table-container-flex.requirements-table {
+ border-top: 4px solid #009fdb;
+}
+#dcaedt .dcae-main-container .workspace-req-and-cap .table-container-flex.requirements-table .flex-item:nth-child(1) {
+ -webkit-box-flex: 20;
+ -ms-flex-positive: 20;
+ flex-grow: 20;
+}
+#dcaedt .dcae-main-container .workspace-req-and-cap .table-container-flex.requirements-table .flex-item:nth-child(2) {
+ -webkit-box-flex: 20;
+ -ms-flex-positive: 20;
+ flex-grow: 20;
+}
+#dcaedt .dcae-main-container .workspace-req-and-cap .table-container-flex.requirements-table .flex-item:nth-child(3) {
+ -webkit-box-flex: 20;
+ -ms-flex-positive: 20;
+ flex-grow: 20;
+}
+#dcaedt .dcae-main-container .workspace-req-and-cap .table-container-flex.requirements-table .flex-item:nth-child(4) {
+ -webkit-box-flex: 20;
+ -ms-flex-positive: 20;
+ flex-grow: 20;
+}
+#dcaedt .dcae-main-container .workspace-req-and-cap .table-container-flex.requirements-table .flex-item:nth-child(5) {
+ -webkit-box-flex: 20;
+ -ms-flex-positive: 20;
+ flex-grow: 20;
+}
+#dcaedt .dcae-main-container .workspace-req-and-cap .table-container-flex.requirements-table .flex-item:nth-child(6) {
+ -webkit-box-flex: 20;
+ -ms-flex-positive: 20;
+ flex-grow: 20;
+}
+#dcaedt .dcae-main-container .workspace-req-and-cap .table-container-flex.capabilities-table {
+ border-top: 4px solid #009fdb;
+}
+#dcaedt .dcae-main-container .workspace-req-and-cap .table-container-flex.capabilities-table .selected .flex-item:nth-child(1) {
+ border-left: 4px solid #009fdb;
+ padding-right: 11px;
+}
+#dcaedt .dcae-main-container .workspace-req-and-cap .table-container-flex.capabilities-table .flex-item:nth-child(1) {
+ -webkit-box-flex: 10;
+ -ms-flex-positive: 10;
+ flex-grow: 10;
+}
+#dcaedt .dcae-main-container .workspace-req-and-cap .table-container-flex.capabilities-table .flex-item:nth-child(2) {
+ -webkit-box-flex: 10;
+ -ms-flex-positive: 10;
+ flex-grow: 10;
+}
+#dcaedt .dcae-main-container .workspace-req-and-cap .table-container-flex.capabilities-table .flex-item:nth-child(3) {
+ -webkit-box-flex: 10;
+ -ms-flex-positive: 10;
+ flex-grow: 10;
+}
+#dcaedt .dcae-main-container .workspace-req-and-cap .table-container-flex.capabilities-table .flex-item:nth-child(4) {
+ -webkit-box-flex: 10;
+ -ms-flex-positive: 10;
+ flex-grow: 10;
+}
+#dcaedt .dcae-main-container .workspace-req-and-cap .table-container-flex.capabilities-table .flex-item:nth-child(5) {
+ -webkit-box-flex: 10;
+ -ms-flex-positive: 10;
+ flex-grow: 10;
+}
+#dcaedt .dcae-main-container .workspace-req-and-cap .table-container-flex.properties-table .table {
+ height: auto;
+}
+#dcaedt .dcae-main-container .workspace-req-and-cap .table-container-flex.properties-table .flex-item:nth-child(1) {
+ -webkit-box-flex: 15;
+ -ms-flex-positive: 15;
+ flex-grow: 15;
+}
+#dcaedt .dcae-main-container .workspace-req-and-cap .table-container-flex.properties-table .flex-item:nth-child(1) a {
+ cursor: pointer;
+}
+#dcaedt .dcae-main-container .workspace-req-and-cap .table-container-flex.properties-table .flex-item:nth-child(2) {
+ -webkit-box-flex: 6;
+ -ms-flex-positive: 6;
+ flex-grow: 6;
+}
+#dcaedt .dcae-main-container .workspace-req-and-cap .table-container-flex.properties-table .flex-item:nth-child(3) {
+ -webkit-box-flex: 6;
+ -ms-flex-positive: 6;
+ flex-grow: 6;
+}
+#dcaedt .dcae-main-container .workspace-req-and-cap .table-container-flex.properties-table .flex-item:nth-child(4) {
+ -webkit-box-flex: 20;
+ -ms-flex-positive: 20;
+ flex-grow: 20;
+}
+#dcaedt .dcae-main-container .workspace-tosca-artifact {
+ width: 93%;
+ display: inline-block;
+}
+#dcaedt .dcae-main-container .workspace-tosca-artifact .w-sdc-classic-btn {
+ float: right;
+ margin-bottom: 10px;
+}
+#dcaedt .dcae-main-container .workspace-tosca-artifact .details-title {
+ font-weight: bold;
+ margin-right: 5px;
+}
+#dcaedt .dcae-main-container .workspace-tosca-artifact .table {
+ height: 490px;
+ margin-bottom: 0;
+}
+#dcaedt .dcae-main-container .workspace-tosca-artifact .table-container-flex {
+ margin-top: 27px;
+}
+#dcaedt .dcae-main-container .workspace-tosca-artifact .table-container-flex .item-opened {
+ word-wrap: break-word;
+}
+#dcaedt .dcae-main-container .workspace-tosca-artifact .table-container-flex .flex-item:nth-child(1) {
+ -webkit-box-flex: 15;
+ -ms-flex-positive: 15;
+ flex-grow: 15;
+ cursor: pointer;
+}
+#dcaedt .dcae-main-container .workspace-tosca-artifact .table-container-flex .flex-item:nth-child(1) span.table-arrow {
+ margin-right: 7px;
+}
+#dcaedt .dcae-main-container .workspace-tosca-artifact .table-container-flex .flex-item:nth-child(2) {
+ -webkit-box-flex: 6;
+ -ms-flex-positive: 6;
+ flex-grow: 6;
+}
+#dcaedt .dcae-main-container .workspace-tosca-artifact .table-container-flex .flex-item:nth-child(3) {
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+}
+#dcaedt .dcae-main-container .workspace-tosca-artifact .table-container-flex .flex-item:nth-child(4) {
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+}
+#dcaedt .dcae-main-container .workspace-tosca-artifact .table-container-flex .table-download-btn.tosca {
+ margin-left: 0;
+ margin-top: 8px;
+}
+#dcaedt .dcae-main-container .workspace-tosca-artifact .table-container-flex .download-icon-container {
+ position: relative;
+}
+#dcaedt .dcae-main-container .workspace-tosca-artifact .table-container-flex .download-icon-container .loader {
+ left: 60%;
+ top: 45px;
+ border: none;
+ background-color: transparent;
+ height: 0px;
+ width: 63px;
+ outline: none;
+}
+#dcaedt .dcae-main-container .sdc-workspace-container {
+ background-color: #8c8c8c;
+}
+#dcaedt .dcae-main-container .sdc-workspace-container .add-btn {
+ color: #009fdb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+ cursor: pointer;
+ float: right;
+ margin-bottom: 15px;
+}
+#dcaedt .dcae-main-container .sdc-workspace-container .add-btn:before {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -50px -231px;
+ width: 12px;
+ height: 12px;
+ margin-right: 5px;
+ content: "";
+}
+#dcaedt .dcae-main-container .sdc-workspace-container .add-btn:hover {
+ color: #056bae;
+}
+#dcaedt .dcae-main-container .sdc-workspace-container .add-btn:hover:before {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -100px -231px;
+ width: 12px;
+ height: 12px;
+}
+#dcaedt .dcae-main-container .sdc-workspace-container .w-sdc-left-sidebar {
+ padding: 3px 3px 0px 0px;
+ background-color: #ffffff;
+ box-shadow: 7px -3px 6px -8px #959595;
+ z-index: 2;
+}
+#dcaedt .dcae-main-container .sdc-workspace-container .sdc-asset-creation-info {
+ color: #959595;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ float: right;
+ margin: 8px 20px 0 0;
+}
+#dcaedt .dcae-main-container .sdc-workspace-container .w-sdc-main-right-container {
+ padding: 0px 0px 0px 0px;
+ background-color: #ffffff;
+ z-index: 1;
+}
+#dcaedt .dcae-main-container .sdc-workspace-container .w-sdc-main-right-container .sdc-workspace-top-bar {
+ height: 53px;
+ padding: 12px 10px 0px 50px;
+ border-bottom: 1px solid #d2d2d2;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-pack: justify;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+}
+#dcaedt .dcae-main-container .sdc-workspace-container .w-sdc-main-right-container .sdc-workspace-top-bar .progress-container {
+ -webkit-box-flex: 4;
+ -ms-flex-positive: 4;
+ flex-grow: 4;
+ z-index: 10000000;
+}
+#dcaedt .dcae-main-container .sdc-workspace-container .w-sdc-main-right-container .sdc-workspace-top-bar .progress-container .general-view-top-progress {
+ width: 30%;
+ margin: 0 auto;
+ min-width: 200px;
+}
+#dcaedt .dcae-main-container .sdc-workspace-container .w-sdc-main-right-container .sdc-workspace-top-bar .not-latest {
+ position: absolute;
+ left: 24px;
+ top: 20px;
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -100px -748px;
+ width: 17px;
+ height: 15px;
+}
+#dcaedt .dcae-main-container .sdc-workspace-container .w-sdc-main-right-container .sdc-workspace-top-bar .sdc-workspace-top-bar-buttons > button,
+#dcaedt .dcae-main-container .sdc-workspace-container .w-sdc-main-right-container .sdc-workspace-top-bar .sdc-workspace-top-bar-buttons > span:not(.delimiter) {
+ margin-right: 10px;
+ vertical-align: middle;
+ cursor: pointer;
+}
+#dcaedt .dcae-main-container .sdc-workspace-container .w-sdc-main-right-container .sdc-workspace-top-bar .sdc-workspace-top-bar-buttons > button.sprite-new,
+#dcaedt .dcae-main-container .sdc-workspace-container .w-sdc-main-right-container .sdc-workspace-top-bar .sdc-workspace-top-bar-buttons > span:not(.delimiter).sprite-new {
+ text-indent: 100%;
+}
+#dcaedt .dcae-main-container .sdc-workspace-container .w-sdc-main-right-container .sdc-workspace-top-bar .sdc-workspace-top-bar-buttons > button.disabled,
+#dcaedt .dcae-main-container .sdc-workspace-container .w-sdc-main-right-container .sdc-workspace-top-bar .sdc-workspace-top-bar-buttons > span:not(.delimiter).disabled,
+#dcaedt .dcae-main-container .sdc-workspace-container .w-sdc-main-right-container .sdc-workspace-top-bar .sdc-workspace-top-bar-buttons > button:hover.disabled,
+#dcaedt .dcae-main-container .sdc-workspace-container .w-sdc-main-right-container .sdc-workspace-top-bar .sdc-workspace-top-bar-buttons > span:not(.delimiter):hover.disabled {
+ pointer-events: none;
+}
+#dcaedt .dcae-main-container .sdc-workspace-container .w-sdc-main-right-container .sdc-workspace-top-bar .sdc-workspace-top-bar-buttons .delimiter {
+ height: 32px;
+ width: 1px;
+ background-color: #959595;
+ display: inline-block;
+ vertical-align: middle;
+ margin-right: 20px;
+}
+#dcaedt .dcae-main-container .sdc-workspace-container .w-sdc-main-right-container .sdc-workspace-top-bar .lifecycle-state {
+ padding: 7px 0 0 10px;
+ margin: 2px 0 7px 10px;
+ border-left: 1px solid #d2d2d2;
+ line-height: 15px;
+ font-family: omnes-medium, sans-serif;
+ color: #5a5a5a;
+}
+#dcaedt .dcae-main-container .sdc-workspace-container .w-sdc-main-right-container .sdc-workspace-top-bar .lifecycle-state .lifecycle-state-icon {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+}
+#dcaedt .dcae-main-container .sdc-workspace-container .w-sdc-main-right-container .sdc-workspace-top-bar .lifecycle-state .lifecycle-state-text {
+ font-weight: bold;
+ text-transform: uppercase;
+ vertical-align: top;
+ padding: 3px;
+}
+#dcaedt .dcae-main-container .sdc-workspace-container .w-sdc-main-right-container .sdc-workspace-top-bar .version-selector {
+ background-color: transparent;
+ border: none;
+ margin-top: 6px;
+}
+#dcaedt .dcae-main-container .sdc-workspace-container .w-sdc-main-right-container .w-sdc-main-container-body-content {
+ height: calc(47%);
+ text-align: center;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ padding: 40px 14% 20px 14%;
+}
+#dcaedt .dcae-main-container .sdc-workspace-container .w-sdc-main-right-container .w-sdc-main-container-body-content.third-party {
+ text-align: left;
+ padding: 0;
+ position: absolute;
+ top: 53px;
+ left: 0;
+ right: 0;
+ bottom: 0;
+}
+#dcaedt .dcae-main-container .properties-assignment .sdc-workspace-container .w-sdc-main-right-container .w-sdc-main-container-body-content {
+ padding: 80px 2% 40px 2%;
+}
+#dcaedt .dcae-main-container .sdc-bc-blue {
+ background-color: #009fdb;
+}
+#dcaedt .dcae-main-container .sdc-bc-dark-blue {
+ background-color: #0568ae;
+}
+#dcaedt .dcae-main-container .sdc-bc-light-blue {
+ background-color: #71c5e8;
+}
+#dcaedt .dcae-main-container .sdc-bc-green {
+ background-color: #4ca90c;
+}
+#dcaedt .dcae-main-container .sdc-bc-dark-green {
+ background-color: #007a3e;
+}
+#dcaedt .dcae-main-container .sdc-bc-light-green {
+ background-color: #b5bd00;
+}
+#dcaedt .dcae-main-container .sdc-bc-orange {
+ background-color: #ea7400;
+}
+#dcaedt .dcae-main-container .sdc-bc-yellow {
+ background-color: #ffb81c;
+}
+#dcaedt .dcae-main-container .sdc-bc-dark-purple {
+ background-color: #702f8a;
+}
+#dcaedt .dcae-main-container .sdc-bc-purple {
+ background-color: #9063cd;
+}
+#dcaedt .dcae-main-container .sdc-bc-light-purple {
+ background-color: #caa2dd;
+}
+#dcaedt .dcae-main-container .sdc-bc-black {
+ background-color: #000000;
+}
+#dcaedt .dcae-main-container .sdc-bc-dark-gray {
+ background-color: #5a5a5a;
+}
+#dcaedt .dcae-main-container .sdc-bc-gray {
+ background-color: #959595;
+}
+#dcaedt .dcae-main-container .sdc-bc-light-gray {
+ background-color: #d2d2d2;
+}
+#dcaedt .dcae-main-container .sdc-bc-white {
+ background-color: #ffffff;
+}
+#dcaedt .dcae-main-container html {
+ font-size: 100%;
+ height: 100%;
+}
+#dcaedt .dcae-main-container body {
+ /* scrollbar styling for Internet Explorer */
+ scrollbar-face-color: #191919;
+ scrollbar-track-color: #191919;
+ height: 100%;
+}
+#dcaedt .dcae-main-container ::-webkit-scrollbar {
+ width: 8px;
+ height: 8px;
+}
+#dcaedt .dcae-main-container ::-webkit-scrollbar-track {
+ background-color: transparent;
+ border-radius: 10px;
+}
+#dcaedt .dcae-main-container ::-webkit-scrollbar-thumb {
+ border-radius: 10px;
+ background-color: #d2d2d2;
+ border-right: 2px solid #ffffff;
+}
+#dcaedt .dcae-main-container ul {
+ list-style: none;
+}
+#dcaedt .dcae-main-container h1,
+#dcaedt .dcae-main-container h2,
+#dcaedt .dcae-main-container h3,
+#dcaedt .dcae-main-container h4,
+#dcaedt .dcae-main-container h5,
+#dcaedt .dcae-main-container h6,
+#dcaedt .dcae-main-container ul {
+ margin: 0;
+ padding: 0;
+}
+#dcaedt .dcae-main-container .disabled {
+ opacity: 0.7 !important;
+}
+#dcaedt .dcae-main-container fieldset {
+ border: none;
+}
+#dcaedt .dcae-main-container fieldset label {
+ display: inline-block;
+}
+#dcaedt .dcae-main-container .nav-tabs > li > a:focus,
+#dcaedt .dcae-main-container .btn:focus,
+#dcaedt .dcae-main-container .btn:active:focus,
+#dcaedt .dcae-main-container .btn.active:focus {
+ outline: none;
+}
+#dcaedt .dcae-main-container .text-lowercase {
+ text-transform: lowercase;
+}
+#dcaedt .dcae-main-container .text-uppercase,
+#dcaedt .dcae-main-container .heading-3-light,
+#dcaedt .dcae-main-container .heading-3,
+#dcaedt .dcae-main-container .heading-3-medium {
+ text-transform: uppercase;
+}
+#dcaedt .dcae-main-container .text-capitalize {
+ text-transform: capitalize;
+}
+#dcaedt .dcae-main-container .heading-1 {
+ font-weight: 300;
+ font-size: 36px;
+}
+#dcaedt .dcae-main-container .heading-2 {
+ font-weight: 300;
+ font-size: 24px;
+}
+#dcaedt .dcae-main-container .heading-3-light {
+ font-weight: 300;
+ font-size: 20px;
+}
+#dcaedt .dcae-main-container .heading-3 {
+ font-weight: 400;
+ font-size: 20px;
+}
+#dcaedt .dcae-main-container .heading-3-medium {
+ font-weight: 600;
+ font-size: 20px;
+}
+#dcaedt .dcae-main-container .heading-4 {
+ font-weight: 400;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .heading-4-medium {
+ font-weight: 600;
+ font-size: 18px;
+}
+#dcaedt .dcae-main-container .heading-5 {
+ font-weight: 400;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .heading-5-medium,
+#dcaedt .dcae-main-container .catalog-tile .catalog-tile-top .catalog-tile-item-name,
+#dcaedt .dcae-main-container .sdc-tile-catalog .sdc-tile-content .sdc-tile-content-info .sdc-tile-content-info-item-name {
+ font-weight: 400;
+ line-height: 16px;
+ font-size: 16px;
+}
+#dcaedt .dcae-main-container .body-1 {
+ font-weight: 400;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .body-1-medium {
+ font-weight: 600;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .body-1-light {
+ font-weight: 300;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .body-2,
+#dcaedt .dcae-main-container .catalog-tile .catalog-tile-top .catalog-tile-entity-details .catalog-tile-version-info .catalog-tile-item-version,
+#dcaedt .dcae-main-container .catalog-tile .catalog-tile-content .catalog-tile-locking-user-name,
+#dcaedt .dcae-main-container .sdc-tile-catalog .sdc-tile-content .sdc-tile-content-info .sdc-tile-content-info-version-info .sdc-tile-content-info-version-info-text,
+#dcaedt .dcae-main-container .sdc-tile-catalog .sdc-tile-footer .sdc-tile-footer-text {
+ font-weight: 400;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .body-2-medium,
+#dcaedt .dcae-main-container .catalog-tile .catalog-tile-content {
+ font-weight: 600;
+ font-size: 13px;
+}
+#dcaedt .dcae-main-container .body-3 {
+ font-weight: 400;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .body-3-medium,
+#dcaedt .dcae-main-container .catalog-tile .catalog-tile-top .catalog-tile-entity-details .catalog-tile-vendor-name,
+#dcaedt .dcae-main-container .catalog-tile.vendor-type .catalog-tile-top .catalog-tile-vsp-count,
+#dcaedt .dcae-main-container .sdc-tile-catalog .sdc-tile-content .sdc-tile-content-info .sdc-tile-content-info-vendor-name {
+ font-weight: 600;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .body-3-light {
+ font-weight: 300;
+ font-size: 12px;
+}
+#dcaedt .dcae-main-container .circle-icon-text {
+ font-weight: 600;
+ font-size: 14px;
+}
+#dcaedt .dcae-main-container .sdc-icon {
+ display: inline-block;
+ text-rendering: auto;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ width: 16px;
+ height: 16px;
+}
+#dcaedt .dcae-main-container .sdc-icon-locked {
+ background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='11' height='15' viewBox='0 0 11 15' id='locked_icon'> <metadata><?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?><x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Adobe XMP Core 5.6-c138 79.159824, 2016/09/14-01:09:01 '> <rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'> <rdf:Description rdf:about=''/> </rdf:RDF></x:xmpmeta><?xpacket end='w'?></metadata><defs> <style> .cls-1 { fill: #959595; fill-rule: evenodd; } </style> </defs> <path id='Shape_77_copy_10' data-name='Shape 77 copy 10' class='cls-1' d='M445,359a16.71,16.71,0,0,0-2.1-.009c-1.945.045-3.195,0.049-3.9,0.009v-5a1.743,1.743,0,0,1,2-2h1a1.743,1.743,0,0,1,2,2v5c0.474,0.063.343-.073,1,0,0.266,0.029,0,.279,0,0v-5a2.726,2.726,0,0,0-3-3h-1.142c-1.72-.125-2.715,1.562-2.858,3,0.088,0.009,0,7.338,0,5h0a1.891,1.891,0,0,0-2,1.689v3.461A1.823,1.823,0,0,0,437.775,366h7.448A1.823,1.823,0,0,0,447,364.15v-3.461A2.018,2.018,0,0,0,445,359Z' transform='translate(-436 -351)'/></svg>");
+ background-repeat: no-repeat;
+}
+#dcaedt .dcae-main-container .sdc-icon-plus {
+ background-image: url("data:image/svg+xml;utf8,<?xml version='1.0' encoding='utf-8'?><!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --><svg version='1.1' id='plus_icon' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 19 19' style='enable-background:new 0 0 19 19;' xml:space='preserve'><g><rect y='8' width='19' height='3'/><path id='Rectangle_2139_copy' d='M8,19V0h3v19H8z'/></g></svg>");
+ background-repeat: no-repeat;
+}
+#dcaedt .dcae-main-container .sdc-icon-unlocked {
+ background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='11' height='18' viewBox='0 0 11 18' id='unlocked_icon'> <metadata><?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?><x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Adobe XMP Core 5.6-c138 79.159824, 2016/09/14-01:09:01 '> <rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'> <rdf:Description rdf:about=''/> </rdf:RDF></x:xmpmeta><?xpacket end='w'?></metadata><defs> <style> .cls-1 { fill: #959595; fill-rule: evenodd; } </style> </defs> <path id='Shape_77_copy_16' data-name='Shape 77 copy 16' class='cls-1' d='M663,358a16.723,16.723,0,0,0-2.1-.009c-1.944.045-3.194,0.049-3.9,0.009v-7a1.743,1.743,0,0,1,2-2h1a1.743,1.743,0,0,1,2,2v2c0.474,0.064.343-.073,1,0,0.266,0.029,0,.279,0,0v-2a2.726,2.726,0,0,0-3-3h-1.142c-1.72-.125-2.715,1.562-2.858,3,0.088,0.009,0,9.338,0,7h0a1.891,1.891,0,0,0-2,1.689v4.461a1.823,1.823,0,0,0,1.775,1.85h7.448A1.823,1.823,0,0,0,665,364.15v-4.461A2.018,2.018,0,0,0,663,358Zm1.05,6.15a0.827,0.827,0,0,1-.8.836H655.8a0.827,0.827,0,0,1-.8-0.836l0-4.15a1.164,1.164,0,0,1,.8-1.147h7.448A1.129,1.129,0,0,1,664,360Z' transform='translate(-654 -348)'/></svg>");
+ background-repeat: no-repeat;
+}
+#dcaedt .dcae-main-container .sdc-icon-vendor {
+ background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 53 47' id='vendor_icon'><title>vendor</title><g id='Layer_2' data-name='Layer 2'><g id='vlm_icon' data-name='vlm icon'><path d='M49,7,38.5,7V5.92A5.92,5.92,0,0,0,32.58,0H20.42A5.92,5.92,0,0,0,14.5,5.92V7.15L4,7.2a3.8,3.8,0,0,0-4,3.5V43.5C0,45.4,2,47,4.2,47L49,46.8a3.8,3.8,0,0,0,4-3.5V10.5A3.8,3.8,0,0,0,49,7ZM16.5,5.92A3.92,3.92,0,0,1,20.42,2H32.58A3.92,3.92,0,0,1,36.5,5.92V7.06l-20,.09ZM2,10.8A1.9,1.9,0,0,1,4,9l45-.2a1.9,1.9,0,0,1,2,1.8v8.87L32.94,24.18a6.49,6.49,0,0,0-12.89,0L2,19.51V10.8ZM31,25a4.5,4.5,0,1,1-4.5-4.5A4.5,4.5,0,0,1,31,25ZM49,45,4,45.2A1.9,1.9,0,0,1,2,43.4V21.57l18.13,4.73a6.5,6.5,0,0,0,12.74,0L51,21.53V43.21A1.9,1.9,0,0,1,49,45Z'/></g></g></svg>");
+ background-repeat: no-repeat;
+}
+#dcaedt .dcae-main-container .sdc-icon-vlm {
+ background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 45 53'><title>vlm_new_icon</title><g id='Layer_2' data-name='Layer 2'><g id='vlm_icon' data-name='vlm icon'><path d='M41,2a2,2,0,0,1,2,2l.19,45a2,2,0,0,1-2,2H4a2,2,0,0,1-2-2L1.81,4a2,2,0,0,1,2-2H41m-.15-2H4A4.2,4.2,0,0,0,0,4.24L.19,49a4,4,0,0,0,4,4H41a4,4,0,0,0,4-4L44.81,4a4,4,0,0,0-4-4Z'/><rect x='14' y='11' width='17' height='2'/><rect x='14' y='18' width='10' height='2'/><polygon points='20.56 38.85 13.87 33.14 15.16 31.62 20.39 36.08 29.08 26.63 30.55 27.98 20.56 38.85'/></g></g></svg>");
+ background-repeat: no-repeat;
+}
+#dcaedt .dcae-main-container .sdc-icon-vsp {
+ background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 59.5 40' id='vsp_icon'><title>vsp_new_icon</title><g id='Layer_2' data-name='Layer 2'><g id='vlm_icon' data-name='vlm icon'><path d='M58.28,30.74c-1.49-1.82-3-2.7-4.67-2.74a8.5,8.5,0,0,0-16.22-2.44,6.93,6.93,0,0,0-4.06.66A7.23,7.23,0,0,0,36.42,40H53.5a6,6,0,0,0,6-6A5.18,5.18,0,0,0,58.28,30.74ZM53.5,38H36.42a5.25,5.25,0,0,1-5.21-5.91,5.32,5.32,0,0,1,3-4.06,5,5,0,0,1,2.21-.53,5.25,5.25,0,0,1,1.35.18l.92.24L39,27A6.5,6.5,0,0,1,51.67,29v1.3l1.17-.2c1-.17,2.17-.17,3.91,2a3.18,3.18,0,0,1,.76,2A4,4,0,0,1,53.5,38Z'/><path d='M49,0,4,.17A3.79,3.79,0,0,0,0,3.69V7.94H0v2H0V36.31C0,38.35,2,40,4.25,40l20.84-.08a1,1,0,0,0,0-1.92L4,38.08a1.89,1.89,0,0,1-2-1.76V10H51v7a1,1,0,0,0,2,0V3.53A3.79,3.79,0,0,0,49,0ZM2,8V3.76A1.89,1.89,0,0,1,4,2l45-.16a1.89,1.89,0,0,1,2,1.76V8Z'/></g></g></svg>");
+ background-repeat: no-repeat;
+}
+#dcaedt .dcae-main-container .svg-icon.purple {
+ fill: #9063cd;
+}
+#dcaedt .dcae-main-container .svg-icon.purple-hover {
+ fill: #9063cd;
+}
+#dcaedt .dcae-main-container .svg-icon.purple-hover:hover {
+ fill: #caa2dd;
+}
+#dcaedt .dcae-main-container .svg-icon.blue {
+ fill: #009fdb;
+}
+#dcaedt .dcae-main-container .svg-icon.blue-hover {
+ fill: #009fdb;
+}
+#dcaedt .dcae-main-container .svg-icon.blue-hover:hover {
+ fill: #71c5e8;
+}
+#dcaedt .dcae-main-container .svg-icon.gray {
+ fill: #959595;
+}
+#dcaedt .dcae-main-container .svg-icon.gray-hover {
+ fill: #000000;
+}
+#dcaedt .dcae-main-container .svg-icon.gray-hover:hover {
+ fill: #d2d2d2;
+}
+#dcaedt .dcae-main-container .svg-icon.black {
+ fill: #000000;
+}
+#dcaedt .dcae-main-container .svg-icon.black-hover {
+ fill: #000000;
+}
+#dcaedt .dcae-main-container .svg-icon.black-hover:hover {
+ fill: #d2d2d2;
+}
+#dcaedt .dcae-main-container .sdc-tile,
+#dcaedt .dcae-main-container .sdc-tile-catalog {
+ box-sizing: border-box;
+ background-color: #ffffff;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ padding: 10px;
+ cursor: pointer;
+ border: 1px solid #eaeaea;
+ box-shadow: 0.5px 0.8px 4px 0 rgba(24, 24, 25, 0.05);
+}
+#dcaedt .dcae-main-container .sdc-tile:active,
+#dcaedt .dcae-main-container .sdc-tile-catalog:active {
+ border: 1px solid #71c5e8;
+}
+#dcaedt .dcae-main-container .sdc-tile:hover,
+#dcaedt .dcae-main-container .sdc-tile-catalog:hover {
+ box-shadow: 0.3px 5px 12.8px 1.3px rgba(24, 24, 25, 0.15);
+ border: 1px solid #d2d2d2;
+}
+#dcaedt .dcae-main-container .sdc-tile .sdc-tile-header,
+#dcaedt .dcae-main-container .sdc-tile-catalog .sdc-tile-header {
+ position: relative;
+ -ms-flex-negative: 0;
+ flex-shrink: 0;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: start;
+ -ms-flex-align: start;
+ align-items: flex-start;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column;
+}
+#dcaedt .dcae-main-container .sdc-tile .sdc-tile-content,
+#dcaedt .dcae-main-container .sdc-tile-catalog .sdc-tile-content {
+ position: relative;
+ -webkit-box-flex: 1;
+ -ms-flex: 1;
+ flex: 1;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: start;
+ -ms-flex-align: start;
+ align-items: flex-start;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ overflow: auto;
+ -webkit-box-pack: justify;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+}
+#dcaedt .dcae-main-container .sdc-tile .sdc-tile-footer,
+#dcaedt .dcae-main-container .sdc-tile-catalog .sdc-tile-footer {
+ position: relative;
+ -ms-flex-negative: 0;
+ flex-shrink: 0;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: start;
+ -ms-flex-align: start;
+ align-items: flex-start;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column;
+}
+#dcaedt .dcae-main-container .sdc-tile-catalog {
+ width: 204px;
+ height: 200px;
+}
+#dcaedt .dcae-main-container .sdc-tile-catalog .sdc-tile-header {
+ line-height: 16px;
+}
+#dcaedt .dcae-main-container .sdc-tile-catalog .sdc-tile-header .sdc-tile-header-type {
+ font-size: 16px;
+ text-transform: uppercase;
+}
+#dcaedt .dcae-main-container .sdc-tile-catalog .sdc-tile-header .sdc-tile-header-type.purple {
+ color: #9063cd;
+}
+#dcaedt .dcae-main-container .sdc-tile-catalog .sdc-tile-header .sdc-tile-header-type.blue {
+ color: #009fdb;
+}
+#dcaedt .dcae-main-container .sdc-tile-catalog .sdc-tile-content .sdc-tile-content-icon {
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ width: 100%;
+ padding-top: 25px;
+}
+#dcaedt .dcae-main-container .sdc-tile-catalog .sdc-tile-content .sdc-tile-content-icon svg {
+ width: 60px;
+ height: 40px;
+}
+#dcaedt .dcae-main-container .sdc-tile-catalog .sdc-tile-content .sdc-tile-content-info {
+ padding-bottom: 4px;
+ width: 180px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ width: auto;
+ white-space: nowrap;
+ display: inline-block;
+ max-width: 178px;
+}
+#dcaedt .dcae-main-container .sdc-tile-catalog .sdc-tile-content .sdc-tile-content-info .sdc-tile-content-info-vendor-name {
+ color: #959595;
+ line-height: 12px;
+}
+#dcaedt .dcae-main-container .sdc-tile-catalog .sdc-tile-content .sdc-tile-content-info .sdc-tile-content-info-item-name {
+ color: #191919;
+}
+#dcaedt .dcae-main-container .sdc-tile-catalog .sdc-tile-content .sdc-tile-content-info .sdc-tile-content-info-version-info {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-pack: justify;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+}
+#dcaedt .dcae-main-container .sdc-tile-catalog .sdc-tile-footer {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ border-top: 1px solid #eaeaea;
+ padding: 0;
+ width: 180px;
+ height: 20px;
+}
+#dcaedt .dcae-main-container .sdc-tile-catalog .sdc-tile-footer .sdc-tile-footer-text {
+ -webkit-box-flex: 1;
+ -ms-flex: 1;
+ flex: 1;
+ padding-top: 5px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ width: auto;
+ white-space: nowrap;
+ display: inline-block;
+ max-width: 164px;
+}
+#dcaedt .dcae-main-container .sdc-tile-catalog .sdc-tile-footer .sdc-tile-footer-icon {
+ -ms-flex-negative: 1;
+ flex-shrink: 1;
+ overflow: hidden;
+ padding-top: 5px;
+}
+#dcaedt .dcae-main-container .sdc-tile-catalog .sdc-tile-footer .sdc-tile-footer-icon svg {
+ width: 16px;
+ height: 20px;
+}
+#dcaedt .sprite-resource-icons {
+ background-image: url('images/sprites/sprite-resource-icons.png');
+ display: inline-block;
+}
+#dcaedt .sprite-resource-icons.disable {
+ opacity: 0.5;
+}
+#dcaedt .sprite-resource-icons.borderElement {
+ background-position: -282px -41px;
+ width: 66px;
+ height: 58px;
+}
+#dcaedt .sprite-resource-icons.borderElement.small {
+ background-position: -210px -71px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .sprite-resource-icons.borderElement.medium {
+ background-position: -140px -59px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .sprite-resource-icons.borderElement.large {
+ background-position: -70px -39px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.router {
+ background-position: -282px -109px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.router.small {
+ background-position: -210px -141px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .sprite-resource-icons.router.medium {
+ background-position: -140px -129px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .sprite-resource-icons.router.large {
+ background-position: -70px -109px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.database {
+ background-position: -282px -180px;
+ width: 63px;
+ height: 56px;
+}
+#dcaedt .sprite-resource-icons.database.small {
+ background-position: -210px -211px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .sprite-resource-icons.database.medium {
+ background-position: -140px -199px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .sprite-resource-icons.database.large {
+ background-position: -70px -179px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.network {
+ background-position: -282px -252px;
+ width: 57px;
+ height: 57px;
+}
+#dcaedt .sprite-resource-icons.network.small {
+ background-position: -210px -281px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .sprite-resource-icons.network.medium {
+ background-position: -140px -269px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .sprite-resource-icons.network.large {
+ background-position: -70px -249px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.applicationServer {
+ background-position: -282px -327px;
+ width: 37px;
+ height: 51px;
+}
+#dcaedt .sprite-resource-icons.applicationServer.small {
+ background-position: -210px -351px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .sprite-resource-icons.applicationServer.medium {
+ background-position: -140px -339px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .sprite-resource-icons.applicationServer.large {
+ background-position: -70px -319px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.server {
+ background-position: -282px -398px;
+ width: 31px;
+ height: 51px;
+}
+#dcaedt .sprite-resource-icons.server.small {
+ background-position: -210px -421px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .sprite-resource-icons.server.medium {
+ background-position: -140px -409px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .sprite-resource-icons.server.large {
+ background-position: -70px -389px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.port {
+ background-position: -281px -484px;
+ width: 41px;
+ height: 35px;
+}
+#dcaedt .sprite-resource-icons.port.small {
+ background-position: -210px -491px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .sprite-resource-icons.port.medium {
+ background-position: -140px -479px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .sprite-resource-icons.port.large {
+ background-position: -70px -459px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.loadBalancer {
+ background-position: -282px -539px;
+ width: 45px;
+ height: 49px;
+}
+#dcaedt .sprite-resource-icons.loadBalancer.small {
+ background-position: -210px -561px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .sprite-resource-icons.loadBalancer.medium {
+ background-position: -140px -549px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .sprite-resource-icons.loadBalancer.large {
+ background-position: -70px -529px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.objectStorage {
+ background-position: -282px -611px;
+ width: 50px;
+ height: 47px;
+}
+#dcaedt .sprite-resource-icons.objectStorage.small {
+ background-position: -210px -631px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .sprite-resource-icons.objectStorage.medium {
+ background-position: -140px -619px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .sprite-resource-icons.objectStorage.large {
+ background-position: -70px -599px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.compute {
+ background-position: -282px -683px;
+ width: 45px;
+ height: 45px;
+}
+#dcaedt .sprite-resource-icons.compute.small {
+ background-position: -210px -701px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .sprite-resource-icons.compute.medium {
+ background-position: -141px -688px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .sprite-resource-icons.compute.large {
+ background-position: -70px -669px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.gateway {
+ background-position: -282px -758px;
+ width: 45px;
+ height: 41px;
+}
+#dcaedt .sprite-resource-icons.gateway.small {
+ background-position: -210px -772px;
+ width: 28px;
+ height: 27px;
+}
+#dcaedt .sprite-resource-icons.gateway.medium {
+ background-position: -140px -759px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .sprite-resource-icons.gateway.large {
+ background-position: -70px -739px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.connector {
+ background-position: -282px -830px;
+ width: 44px;
+ height: 38px;
+}
+#dcaedt .sprite-resource-icons.connector.small {
+ background-position: -210px -842px;
+ width: 28px;
+ height: 27px;
+}
+#dcaedt .sprite-resource-icons.connector.medium {
+ background-position: -140px -829px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .sprite-resource-icons.connector.large {
+ background-position: -70px -809px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.brocade {
+ background-position: -282px -922px;
+ width: 91px;
+ height: 16px;
+}
+#dcaedt .sprite-resource-icons.brocade.small {
+ background-position: -210px -911px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .sprite-resource-icons.brocade.medium {
+ background-position: -140px -899px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .sprite-resource-icons.brocade.large {
+ background-position: -70px -879px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.cisco {
+ background-position: -282px -975px;
+ width: 63px;
+ height: 33px;
+}
+#dcaedt .sprite-resource-icons.cisco.small {
+ background-position: -210px -981px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .sprite-resource-icons.cisco.medium {
+ background-position: -140px -969px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .sprite-resource-icons.cisco.large {
+ background-position: -70px -949px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.ericsson {
+ background-position: -282px -1059px;
+ width: 101px;
+ height: 20px;
+}
+#dcaedt .sprite-resource-icons.ericsson.small {
+ background-position: -210px -1051px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .sprite-resource-icons.ericsson.medium {
+ background-position: -140px -1039px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .sprite-resource-icons.ericsson.large {
+ background-position: -70px -1019px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.tropo {
+ background-position: -282px -1109px;
+ width: 48px;
+ height: 39px;
+}
+#dcaedt .sprite-resource-icons.tropo.small {
+ background-position: -210px -1121px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .sprite-resource-icons.tropo.medium {
+ background-position: -140px -1109px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .sprite-resource-icons.tropo.large {
+ background-position: -70px -1089px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.mySql {
+ background-position: -282px -1172px;
+ width: 89px;
+ height: 46px;
+}
+#dcaedt .sprite-resource-icons.mySql.small {
+ background-position: -210px -1191px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .sprite-resource-icons.mySql.medium {
+ background-position: -140px -1179px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .sprite-resource-icons.mySql.large {
+ background-position: -70px -1159px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.oracle {
+ background-position: -282px -1277px;
+ width: 97px;
+ height: 11px;
+}
+#dcaedt .sprite-resource-icons.oracle.small {
+ background-position: -210px -1261px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .sprite-resource-icons.oracle.medium {
+ background-position: -140px -1249px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .sprite-resource-icons.oracle.large {
+ background-position: -70px -1229px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.defaulticon {
+ background-position: -282px -2069px;
+ width: 62px;
+ height: 62px;
+}
+#dcaedt .sprite-resource-icons.defaulticon.small {
+ background-position: -210px -2101px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .sprite-resource-icons.defaulticon.medium {
+ background-position: -141px -2089px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .sprite-resource-icons.defaulticon.large {
+ background-position: -70px -2069px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.fortinet {
+ background-position: -282px -1419px;
+ width: 94px;
+ height: 10px;
+}
+#dcaedt .sprite-resource-icons.fortinet.small {
+ background-position: -210px -1401px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .sprite-resource-icons.fortinet.medium {
+ background-position: -140px -1389px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .sprite-resource-icons.fortinet.large {
+ background-position: -70px -1369px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.nokia_siemens {
+ background-position: -281px -1474px;
+ width: 89px;
+ height: 25px;
+}
+#dcaedt .sprite-resource-icons.nokia_siemens.small {
+ background-position: -210px -1471px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .sprite-resource-icons.nokia_siemens.medium {
+ background-position: -140px -1459px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .sprite-resource-icons.nokia_siemens.large {
+ background-position: -70px -1439px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.att {
+ background-position: -281px -1538px;
+ width: 77px;
+ height: 31px;
+}
+#dcaedt .sprite-resource-icons.att.small {
+ background-position: -210px -1541px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .sprite-resource-icons.att.medium {
+ background-position: -140px -1529px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .sprite-resource-icons.att.large {
+ background-position: -70px -1509px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.juniper {
+ background-position: -281px -1609px;
+ width: 93px;
+ height: 31px;
+}
+#dcaedt .sprite-resource-icons.juniper.small {
+ background-position: -210px -1611px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .sprite-resource-icons.juniper.medium {
+ background-position: -140px -1599px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .sprite-resource-icons.juniper.large {
+ background-position: -70px -1579px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.cloud {
+ background-position: -281px -1664px;
+ width: 44px;
+ height: 45px;
+}
+#dcaedt .sprite-resource-icons.cloud.small {
+ background-position: -210px -1681px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .sprite-resource-icons.cloud.medium {
+ background-position: -140px -1669px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .sprite-resource-icons.cloud.large {
+ background-position: -70px -1649px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.call_controll {
+ background-position: -278px -1739px;
+ width: 35px;
+ height: 40px;
+}
+#dcaedt .sprite-resource-icons.call_controll.small {
+ background-position: -210px -1751px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .sprite-resource-icons.call_controll.medium {
+ background-position: -140px -1739px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .sprite-resource-icons.call_controll.large {
+ background-position: -70px -1719px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.broadsoft {
+ background-position: -282px -1824px;
+ width: 108px;
+ height: 22px;
+}
+#dcaedt .sprite-resource-icons.broadsoft.small {
+ background-position: -210px -1821px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .sprite-resource-icons.broadsoft.medium {
+ background-position: -140px -1809px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .sprite-resource-icons.broadsoft.large {
+ background-position: -70px -1789px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.alcatelLucent {
+ background-position: -281px -1901px;
+ width: 118px;
+ height: 25px;
+}
+#dcaedt .sprite-resource-icons.alcatelLucent.small {
+ background-position: -210px -1891px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .sprite-resource-icons.alcatelLucent.medium {
+ background-position: -140px -1879px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .sprite-resource-icons.alcatelLucent.large {
+ background-position: -70px -1859px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.metaswitch {
+ background-position: -282px -1961px;
+ width: 115px;
+ height: 27px;
+}
+#dcaedt .sprite-resource-icons.metaswitch.small {
+ background-position: -210px -1961px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .sprite-resource-icons.metaswitch.medium {
+ background-position: -140px -1949px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .sprite-resource-icons.metaswitch.large {
+ background-position: -70px -1929px;
+ width: 61px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.aricent {
+ background-position: -282px -2046px;
+ width: 93px;
+ height: 13px;
+}
+#dcaedt .sprite-resource-icons.aricent.small {
+ background-position: -210px -2031px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .sprite-resource-icons.aricent.medium {
+ background-position: -140px -2019px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .sprite-resource-icons.aricent.large {
+ background-position: -70px -1999px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.cp {
+ background-position: -90px -4038px;
+ width: 21px;
+ height: 21px;
+}
+#dcaedt .sprite-resource-icons.cp.small {
+ background-position: -90px -4038px;
+ width: 21px;
+ height: 21px;
+}
+#dcaedt .sprite-resource-icons.cp.medium {
+ background-position: -151px -4048px;
+ width: 21px;
+ height: 21px;
+}
+#dcaedt .sprite-resource-icons.cp.large {
+ background-position: -194px -4034px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.vl {
+ background-position: -210px -2591px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .sprite-resource-icons.vl.small {
+ background-position: -210px -2591px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .sprite-resource-icons.vl.medium {
+ background-position: -141px -2579px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .sprite-resource-icons.vl.large {
+ background-position: -70px -2560px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.cloudep {
+ background-position: -282px -2225px;
+ width: 63px;
+ height: 43px;
+}
+#dcaedt .sprite-resource-icons.cloudep.small {
+ background-position: -209px -2241px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .sprite-resource-icons.cloudep.medium {
+ background-position: -141px -2229px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .sprite-resource-icons.cloudep.large {
+ background-position: -70px -2209px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.personep {
+ background-position: -282px -2292px;
+ width: 47px;
+ height: 47px;
+}
+#dcaedt .sprite-resource-icons.personep.small {
+ background-position: -210px -2311px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .sprite-resource-icons.personep.medium {
+ background-position: -141px -2299px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .sprite-resource-icons.personep.large {
+ background-position: -70px -2279px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.premisesep {
+ background-position: -281px -2360px;
+ width: 41px;
+ height: 50px;
+}
+#dcaedt .sprite-resource-icons.premisesep.small {
+ background-position: -210px -2380px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .sprite-resource-icons.premisesep.medium {
+ background-position: -141px -2368px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .sprite-resource-icons.premisesep.large {
+ background-position: -70px -2349px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.ossep {
+ background-position: -281px -2420px;
+ width: 67px;
+ height: 59px;
+}
+#dcaedt .sprite-resource-icons.ossep.small {
+ background-position: -210px -2451px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .sprite-resource-icons.ossep.medium {
+ background-position: -141px -2439px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .sprite-resource-icons.ossep.large {
+ background-position: -70px -2419px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.firewall {
+ background-position: -282px -3257px;
+ width: 73px;
+ height: 74px;
+}
+#dcaedt .sprite-resource-icons.firewall.small {
+ background-position: -210px -3301px;
+ width: 29px;
+ height: 29px;
+}
+#dcaedt .sprite-resource-icons.firewall.medium {
+ background-position: -141px -3289px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .sprite-resource-icons.firewall.large {
+ background-position: -70px -3270px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.vfw {
+ background-position: -282px -3257px;
+ width: 73px;
+ height: 74px;
+}
+#dcaedt .sprite-resource-icons.vfw.small {
+ background-position: -210px -3301px;
+ width: 29px;
+ height: 29px;
+}
+#dcaedt .sprite-resource-icons.vfw.medium {
+ background-position: -141px -3289px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .sprite-resource-icons.vfw.large {
+ background-position: -70px -3270px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.ucpe {
+ background-position: -282px -3120px;
+ width: 59px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.ucpe.small {
+ background-position: -210px -3150px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .sprite-resource-icons.ucpe.medium {
+ background-position: -141px -3137px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .sprite-resource-icons.ucpe.large {
+ background-position: -70px -3119px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.vrouter {
+ background-position: -282px -3066px;
+ width: 69px;
+ height: 43px;
+}
+#dcaedt .sprite-resource-icons.vrouter.small {
+ background-position: -210px -3080px;
+ width: 29px;
+ height: 29px;
+}
+#dcaedt .sprite-resource-icons.vrouter.medium {
+ background-position: -141px -3068px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .sprite-resource-icons.vrouter.large {
+ background-position: -70px -3049px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.wanx {
+ background-position: -283px -2992px;
+ width: 58px;
+ height: 47px;
+}
+#dcaedt .sprite-resource-icons.wanx.small {
+ background-position: -210px -3009px;
+ width: 30px;
+ height: 30px;
+}
+#dcaedt .sprite-resource-icons.wanx.medium {
+ background-position: -141px -2998px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .sprite-resource-icons.wanx.large {
+ background-position: -70px -2979px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.networkrules {
+ background-position: -282px -4731px;
+ width: 49px;
+ height: 58px;
+}
+#dcaedt .sprite-resource-icons.networkrules.small {
+ background-position: -210px -4749px;
+ width: 31px;
+ height: 36px;
+}
+#dcaedt .sprite-resource-icons.networkrules.medium {
+ background-position: -141px -4737px;
+ width: 42px;
+ height: 47px;
+}
+#dcaedt .sprite-resource-icons.networkrules.large {
+ background-position: -70px -4718px;
+ width: 60px;
+ height: 67px;
+}
+#dcaedt .sprite-resource-icons.securityrules {
+ background-position: -282px -4651px;
+ width: 49px;
+ height: 58px;
+}
+#dcaedt .sprite-resource-icons.securityrules.small {
+ background-position: -210px -4669px;
+ width: 31px;
+ height: 36px;
+}
+#dcaedt .sprite-resource-icons.securityrules.medium {
+ background-position: -141px -4657px;
+ width: 42px;
+ height: 47px;
+}
+#dcaedt .sprite-resource-icons.securityrules.large {
+ background-position: -70px -4638px;
+ width: 60px;
+ height: 67px;
+}
+#dcaedt .sprite-resource-icons.dcae_source {
+ background-position: -282px -4563px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.dcae_source.small {
+ background-position: -210px -4588px;
+ width: 29px;
+ height: 29px;
+}
+#dcaedt .sprite-resource-icons.dcae_source.medium {
+ background-position: -141px -4576px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .sprite-resource-icons.dcae_source.large {
+ background-position: -70px -4558px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.dcae_collector {
+ background-position: -280px -4500px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.dcae_collector.small {
+ background-position: -210px -4508px;
+ width: 29px;
+ height: 29px;
+}
+#dcaedt .sprite-resource-icons.dcae_collector.medium {
+ background-position: -141px -4496px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .sprite-resource-icons.dcae_collector.large {
+ background-position: -69px -4477px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.dcae_utilty {
+ background-position: -283px -4246px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.dcae_utilty.small {
+ background-position: -210px -4268px;
+ width: 29px;
+ height: 29px;
+}
+#dcaedt .sprite-resource-icons.dcae_utilty.medium {
+ background-position: -141px -4256px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .sprite-resource-icons.dcae_utilty.large {
+ background-position: -70px -4238px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.dcae_microservice {
+ background-position: -281px -4167px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.dcae_microservice.small {
+ background-position: -210px -4188px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .sprite-resource-icons.dcae_microservice.medium {
+ background-position: -140px -4176px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .sprite-resource-icons.dcae_microservice.large {
+ background-position: -71px -4157px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.dcae_analytics {
+ background-position: -282px -4409px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.dcae_analytics.small {
+ background-position: -210px -4424px;
+ width: 29px;
+ height: 29px;
+}
+#dcaedt .sprite-resource-icons.dcae_analytics.medium {
+ background-position: -141px -4413px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .sprite-resource-icons.dcae_analytics.large {
+ background-position: -70px -4394px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.dcae_database {
+ background-position: -282px -180px;
+ width: 63px;
+ height: 56px;
+}
+#dcaedt .sprite-resource-icons.dcae_database.small {
+ background-position: -210px -211px;
+ width: 29px;
+ height: 29px;
+}
+#dcaedt .sprite-resource-icons.dcae_database.medium {
+ background-position: -140px -199px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .sprite-resource-icons.dcae_database.large {
+ background-position: -70px -179px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.dcae_policy {
+ background-position: -282px -4332px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.dcae_policy.small {
+ background-position: -210px -4348px;
+ width: 29px;
+ height: 29px;
+}
+#dcaedt .sprite-resource-icons.dcae_policy.medium {
+ background-position: -141px -4336px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .sprite-resource-icons.dcae_policy.large {
+ background-position: -70px -4317px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.monitoring_template {
+ background-position: -283px -4824px;
+ width: 54px;
+ height: 36px;
+}
+#dcaedt .sprite-resource-icons.monitoring_template.small {
+ background-position: -211px -4831px;
+ width: 29px;
+ height: 29px;
+}
+#dcaedt .sprite-resource-icons.monitoring_template.medium {
+ background-position: -142px -4819px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .sprite-resource-icons.monitoring_template.large {
+ background-position: -71px -4800px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-resource-icons.allotted_resource {
+ background-position: -283px -4896px;
+ width: 44px;
+ height: 44px;
+}
+#dcaedt .sprite-resource-icons.allotted_resource.small {
+ background-position: -210px -4910px;
+ width: 29px;
+ height: 29px;
+}
+#dcaedt .sprite-resource-icons.allotted_resource.medium {
+ background-position: -141px -4898px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .sprite-resource-icons.allotted_resource.large {
+ background-position: -70px -4879px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-services-icons {
+ background-image: url('images/sprites/sprite-services-icons.png');
+ display: inline-block;
+}
+#dcaedt .sprite-services-icons.disable {
+ opacity: 0.5;
+}
+#dcaedt .sprite-services-icons.compute {
+ background-position: -282px -46px;
+ width: 55px;
+ height: 53px;
+}
+#dcaedt .sprite-services-icons.compute.small {
+ background-position: -210px -71px;
+ width: 29px;
+ height: 28px;
+}
+#dcaedt .sprite-services-icons.compute.medium {
+ background-position: -140px -59px;
+ width: 41px;
+ height: 40px;
+}
+#dcaedt .sprite-services-icons.compute.large {
+ background-position: -70px -41px;
+ width: 61px;
+ height: 60px;
+}
+#dcaedt .sprite-services-icons.platform {
+ background-position: -282px -122px;
+ width: 55px;
+ height: 45px;
+}
+#dcaedt .sprite-services-icons.platform.small {
+ background-position: -210px -140px;
+ width: 29px;
+ height: 29px;
+}
+#dcaedt .sprite-services-icons.platform.medium {
+ background-position: -140px -128px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .sprite-services-icons.platform.large {
+ background-position: -70px -109px;
+ width: 61px;
+ height: 60px;
+}
+#dcaedt .sprite-services-icons.storage {
+ background-position: -282px -194px;
+ width: 55px;
+ height: 44px;
+}
+#dcaedt .sprite-services-icons.storage.small {
+ background-position: -210px -210px;
+ width: 29px;
+ height: 29px;
+}
+#dcaedt .sprite-services-icons.storage.medium {
+ background-position: -140px -198px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .sprite-services-icons.storage.large {
+ background-position: -70px -178px;
+ width: 61px;
+ height: 61px;
+}
+#dcaedt .sprite-services-icons.call_controll {
+ background-position: -282px -268px;
+ width: 36px;
+ height: 41px;
+}
+#dcaedt .sprite-services-icons.call_controll.small {
+ background-position: -210px -280px;
+ width: 29px;
+ height: 29px;
+}
+#dcaedt .sprite-services-icons.call_controll.medium {
+ background-position: -140px -268px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .sprite-services-icons.call_controll.large {
+ background-position: -70px -248px;
+ width: 61px;
+ height: 61px;
+}
+#dcaedt .sprite-services-icons.collaboration {
+ background-position: -282px -335px;
+ width: 43px;
+ height: 44px;
+}
+#dcaedt .sprite-services-icons.collaboration.small {
+ background-position: -210px -350px;
+ width: 29px;
+ height: 29px;
+}
+#dcaedt .sprite-services-icons.collaboration.medium {
+ background-position: -140px -338px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .sprite-services-icons.collaboration.large {
+ background-position: -70px -318px;
+ width: 61px;
+ height: 61px;
+}
+#dcaedt .sprite-services-icons.collaboration1 {
+ background-position: -280px -417px;
+ width: 49px;
+ height: 32px;
+}
+#dcaedt .sprite-services-icons.collaboration1.small {
+ background-position: -209px -419px;
+ width: 29px;
+ height: 29px;
+}
+#dcaedt .sprite-services-icons.collaboration1.medium {
+ background-position: -140px -408px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .sprite-services-icons.collaboration1.large {
+ background-position: -70px -388px;
+ width: 61px;
+ height: 61px;
+}
+#dcaedt .sprite-services-icons.messaging {
+ background-position: -282px -482px;
+ width: 43px;
+ height: 40px;
+}
+#dcaedt .sprite-services-icons.messaging.small {
+ background-position: -210px -491px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .sprite-services-icons.messaging.medium {
+ background-position: -140px -478px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .sprite-services-icons.messaging.large {
+ background-position: -70px -458px;
+ width: 61px;
+ height: 61px;
+}
+#dcaedt .sprite-services-icons.notification {
+ background-position: -282px -538px;
+ width: 43px;
+ height: 52px;
+}
+#dcaedt .sprite-services-icons.notification.small {
+ background-position: -210px -561px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .sprite-services-icons.notification.medium {
+ background-position: -140px -548px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .sprite-services-icons.notification.large {
+ background-position: -70px -528px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-services-icons.mobility {
+ background-position: -282px -598px;
+ width: 64px;
+ height: 62px;
+}
+#dcaedt .sprite-services-icons.mobility.small {
+ background-position: -210px -630px;
+ width: 29px;
+ height: 29px;
+}
+#dcaedt .sprite-services-icons.mobility.medium {
+ background-position: -140px -618px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .sprite-services-icons.mobility.large {
+ background-position: -70px -601px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-services-icons.network_l_1-3 {
+ background-position: -282px -672px;
+ width: 63px;
+ height: 57px;
+}
+#dcaedt .sprite-services-icons.network_l_1-3.small {
+ background-position: -210px -701px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .sprite-services-icons.network_l_1-3.medium {
+ background-position: -139px -688px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .sprite-services-icons.network_l_1-3.large {
+ background-position: -70px -671px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-services-icons.network_l_4 {
+ background-position: -286px -744px;
+ width: 63px;
+ height: 57px;
+}
+#dcaedt .sprite-services-icons.network_l_4.small {
+ background-position: -210px -771px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .sprite-services-icons.network_l_4.medium {
+ background-position: -140px -758px;
+ width: 41px;
+ height: 41px;
+}
+#dcaedt .sprite-services-icons.network_l_4.large {
+ background-position: -70px -740px;
+ width: 61px;
+ height: 61px;
+}
+#dcaedt .sprite-services-icons.defaulticon {
+ background-position: -270px -810px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .sprite-services-icons.defaulticon.small {
+ background-position: -220px -842px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .sprite-services-icons.defaulticon.medium {
+ background-position: -169px -830px;
+ width: 40px;
+ height: 40px;
+}
+#dcaedt .sprite-services-icons.defaulticon.large {
+ background-position: -70px -809px;
+ width: 60px;
+ height: 60px;
+}
+#dcaedt .logo-white {
+ background: url('images/att_logo.png') no-repeat 0 0;
+ width: 56px;
+ height: 56px;
+}
+#dcaedt .sprite-new {
+ background-image: url('images/sprites/sprite-global.png');
+ display: inline-block;
+}
+#dcaedt .add-icon {
+ background-position: -50px -77px;
+ width: 23px;
+ height: 23px;
+}
+#dcaedt .add-icon-hover {
+ background-position: -150px -77px;
+ width: 23px;
+ height: 23px;
+}
+#dcaedt .import-icon {
+ background-position: -100px -81px;
+ width: 23px;
+ height: 23px;
+}
+#dcaedt .add-icon-blue {
+ background-position: -350px -125px;
+ width: 18px;
+ height: 18px;
+}
+#dcaedt .add-icon-blue-hover {
+ background-position: -400px -125px;
+ width: 18px;
+ height: 18px;
+}
+#dcaedt .video-icon {
+ background-position: -54px -113px;
+ width: 33px;
+ height: 26px;
+}
+#dcaedt .video-icon_1 {
+ background-position: -104px -113px;
+ width: 33px;
+ height: 26px;
+}
+#dcaedt .video-icon_2 {
+ background-position: -154px -113px;
+ width: 33px;
+ height: 26px;
+}
+#dcaedt .video-icon_disabled {
+ background-position: -204px -113px;
+ width: 33px;
+ height: 26px;
+}
+#dcaedt .video-icon_focus {
+ background-position: -250px -111px;
+ width: 41px;
+ height: 32px;
+}
+#dcaedt .vsp-list-icon {
+ background-position: -54px -143px;
+ width: 26px;
+ height: 29px;
+}
+#dcaedt .vsp-list-icon-active {
+ background-position: -104px -143px;
+ width: 26px;
+ height: 29px;
+}
+#dcaedt .vsp-list-icon:active:not(.disable) {
+ background-position: -104px -143px;
+ width: 26px;
+ height: 29px;
+}
+#dcaedt .vsp-list-icon-hover {
+ background-position: -154px -143px;
+ width: 26px;
+ height: 29px;
+}
+#dcaedt .vsp-list-icon:hover:not(.disable) {
+ background-position: -154px -143px;
+ width: 26px;
+ height: 29px;
+}
+#dcaedt .vsp-list-icon.disable {
+ background-position: -204px -143px;
+ width: 26px;
+ height: 29px;
+}
+#dcaedt .info-icon {
+ background-position: -50px -179px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .info-icon_1 {
+ background-position: -100px -179px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .plus-icon {
+ background-position: -50px -231px;
+ width: 12px;
+ height: 12px;
+}
+#dcaedt .plus-icon-hover {
+ background-position: -100px -231px;
+ width: 12px;
+ height: 12px;
+}
+#dcaedt .delete-icon {
+ background-position: -650px -231px;
+ width: 11px;
+ height: 13px;
+}
+#dcaedt .delete-icon-hover {
+ background-position: -702px -231px;
+ width: 11px;
+ height: 13px;
+}
+#dcaedt .arrow-up {
+ background-position: -350px -236px;
+ width: 12px;
+ height: 7px;
+}
+#dcaedt .arrow-up-hover {
+ background-position: -400px -236px;
+ width: 12px;
+ height: 7px;
+}
+#dcaedt .arrow-up-small {
+ background-position: -250px -237px;
+ width: 12px;
+ height: 6px;
+}
+#dcaedt .arrow-up-small-hover {
+ background-position: -300px -237px;
+ width: 12px;
+ height: 6px;
+}
+#dcaedt .sort-arrows {
+ background-position: -450px -231px;
+ width: 8px;
+ height: 12px;
+}
+#dcaedt .sort-arrows-hover {
+ background-position: -500px -231px;
+ width: 8px;
+ height: 12px;
+}
+#dcaedt .arrow-right {
+ background-position: -550px -235px;
+ width: 5px;
+ height: 8px;
+}
+#dcaedt .arrow-right-hover {
+ background-position: -600px -235px;
+ width: 5px;
+ height: 8px;
+}
+#dcaedt .menu-open-left {
+ background-position: -350px -283px;
+ width: 6px;
+ height: 10px;
+}
+#dcaedt .menu-open-right {
+ background-position: -400px -283px;
+ width: 6px;
+ height: 10px;
+}
+#dcaedt .private-status-icon {
+ background-position: -50px -326px;
+ width: 21px;
+ height: 17px;
+}
+#dcaedt .in-design-status-icon {
+ background-position: -307px -327px;
+ width: 16px;
+ height: 16px;
+}
+#dcaedt .checkout-editable-status-icon {
+ background-position: -100px -326px;
+ width: 24px;
+ height: 17px;
+}
+#dcaedt .checkin-status-icon {
+ background-position: -200px -326px;
+ width: 24px;
+ height: 17px;
+}
+#dcaedt .checkout-not-editable-status-icon {
+ background-position: -150px -326px;
+ width: 24px;
+ height: 17px;
+}
+#dcaedt .x-btn {
+ background-position: -50px -419px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .x-btn:hover {
+ background-position: -50px -447px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .x-btn:active {
+ background-position: -50px -479px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .delete-btn {
+ background-position: -140px -419px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .delete-btn:hover:not(.disable) {
+ background-position: -140px -447px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .delete-btn:active:not(.disable) {
+ background-position: -140px -479px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .delete-btn.disable {
+ background-position: -140px -539px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .save-btn {
+ background-position: -230px -419px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .save-btn:hover:not(.disable) {
+ background-position: -230px -447px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .save-btn:active:not(.disable) {
+ background-position: -230px -479px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .save-btn.disable {
+ background-position: -230px -539px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .revert-btn {
+ background-position: -200px -419px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .revert-btn:hover:not(.disable) {
+ background-position: -200px -447px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .revert-btn:active:not(.disable) {
+ background-position: -200px -479px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .revert-btn.disable {
+ background-position: -200px -539px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .success-circle {
+ background-position: -50px -703px;
+ width: 20px;
+ height: 20px;
+}
+#dcaedt .success-circle-small {
+ background-position: -170px -706px;
+ width: 12px;
+ height: 12px;
+}
+#dcaedt .sdc-success {
+ background-position: -101px -707px;
+ width: 10px;
+ height: 10px;
+}
+#dcaedt .sdc-error {
+ background-position: -151px -707px;
+ width: 10px;
+ height: 10px;
+}
+#dcaedt .print-screen-btn {
+ background-position: -259px -419px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .print-screen-btn:hover:not(.disable) {
+ background-position: -259px -447px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .print-screen-btn:active:not(.disable) {
+ background-position: -259px -479px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .print-screen-btn.disable {
+ background-position: -259px -539px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .url-btn {
+ background-position: -636px -424px;
+ width: 19px;
+ height: 19px;
+}
+#dcaedt .url-btn:hover {
+ background-position: -636px -424px;
+ width: 19px;
+ height: 19px;
+}
+#dcaedt .url-btn:active {
+ background-position: -636px -482px;
+ width: 19px;
+ height: 19px;
+}
+#dcaedt .sprite-new.info {
+ background-position: -51px -631px;
+ width: 18px;
+ height: 18px;
+}
+#dcaedt .sprite-new.info:active {
+ background-position: -51px -669px;
+ width: 18px;
+ height: 18px;
+}
+#dcaedt .active > .sprite-new.info {
+ background-position: -51px -669px;
+ width: 18px;
+ height: 18px;
+}
+#dcaedt .sprite-new.structure {
+ background-position: -101px -630px;
+ width: 18px;
+ height: 17px;
+}
+#dcaedt .sprite-new.structure:active {
+ background-position: -101px -668px;
+ width: 18px;
+ height: 17px;
+}
+#dcaedt .active > .sprite-new.structure {
+ background-position: -101px -668px;
+ width: 18px;
+ height: 17px;
+}
+#dcaedt .sprite-new.deployment-artifacts {
+ background-position: -150px -629px;
+ width: 17px;
+ height: 19px;
+}
+#dcaedt .sprite-new.deployment-artifacts:active {
+ background-position: -150px -667px;
+ width: 17px;
+ height: 19px;
+}
+#dcaedt .active > .deployment-artifacts {
+ background-position: -150px -667px;
+ width: 17px;
+ height: 19px;
+}
+#dcaedt .sprite-new.inputs {
+ background-position: -200px -634px;
+ width: 20px;
+ height: 12px;
+}
+#dcaedt .sprite-new.inputs:active {
+ background-position: -200px -672px;
+ width: 20px;
+ height: 12px;
+}
+#dcaedt .active > .sprite-new.inputs {
+ background-position: -200px -672px;
+ width: 20px;
+ height: 12px;
+}
+#dcaedt .sprite-new.information-artifacts {
+ background-position: -250px -631px;
+ width: 17px;
+ height: 19px;
+}
+#dcaedt .sprite-new.information-artifacts:active {
+ background-position: -250px -669px;
+ width: 17px;
+ height: 19px;
+}
+#dcaedt .active > .sprite-new.information-artifacts {
+ background-position: -250px -669px;
+ width: 17px;
+ height: 19px;
+}
+#dcaedt .sprite-new.relations {
+ background-position: -300px -632px;
+ width: 20px;
+ height: 20px;
+}
+#dcaedt .sprite-new.relations:active {
+ background-position: -300px -632px;
+ width: 20px;
+ height: 20px;
+}
+#dcaedt .active > .sprite-new.relations {
+ background-position: -300px -632px;
+ width: 20px;
+ height: 20px;
+}
+#dcaedt .sprite-new.api {
+ background-position: -400px -631px;
+ width: 23px;
+ height: 19px;
+}
+#dcaedt .sprite-new.api:active {
+ background-position: -400px -671px;
+ width: 23px;
+ height: 19px;
+}
+#dcaedt .active > .sprite-new.api {
+ background-position: -400px -671px;
+ width: 23px;
+ height: 19px;
+}
+#dcaedt .sprite-new.properties {
+ background-position: -350px -631px;
+ width: 19px;
+ height: 19px;
+}
+#dcaedt .sprite-new.properties:active {
+ background-position: -350px -671px;
+ width: 19px;
+ height: 19px;
+}
+#dcaedt .active > .sprite-new.properties {
+ background-position: -350px -671px;
+ width: 19px;
+ height: 19px;
+}
+#dcaedt .sprite-new.distribution-bth {
+ background-position: -399px -716px;
+ width: 55px;
+ height: 21px;
+}
+#dcaedt .sprite-new.distribution-bth.disable {
+ background-position: -464px -716px;
+ width: 55px;
+ height: 21px;
+}
+#dcaedt .Distributed {
+ background-position: -547px -718px;
+ width: 16px;
+ height: 16px;
+}
+#dcaedt .Deployed {
+ background-position: -573px -718px;
+ width: 16px;
+ height: 16px;
+}
+#dcaedt .error-icon {
+ background-position: -51px -751px;
+ width: 13px;
+ height: 11px;
+}
+#dcaedt .asdc-warning {
+ background-position: -100px -748px;
+ width: 17px;
+ height: 15px;
+}
+#dcaedt .link-btn {
+ background-position: -636px -424px;
+ width: 19px;
+ height: 19px;
+}
+#dcaedt .link-btn:hover {
+ background-position: -636px -453px;
+ width: 19px;
+ height: 19px;
+}
+#dcaedt .link-btn:active {
+ background-position: -636px -482px;
+ width: 19px;
+ height: 19px;
+}
+#dcaedt .refresh-btn {
+ background-position: -293px -419px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .refresh-btn:hover:not(.disable) {
+ background-position: -293px -447px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .refresh-btn:active:not(.disable) {
+ background-position: -293px -479px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .refresh-btn.focus {
+ background-position: -293px -508px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .refresh-btn.disable {
+ background-position: -293px -539px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .download-btn {
+ background-position: -530px -419px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .download-btn:hover:not(.disable) {
+ background-position: -530px -448px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .download-btn:active:not(.disable) {
+ background-position: -530px -479px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .download-btn.focus {
+ background-position: -530px -508px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .download-btn.disable {
+ background-position: -530px -539px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .expand-collapse-plus-icon {
+ background-position: -334px -888px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .expand-collapse-plus-icon.hover {
+ background-position: -422px -888px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .expand-collapse-minus-icon {
+ background-position: -378px -888px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .expand-collapse-minus-icon.hover {
+ background-position: -466px -888px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .close-open-left-arrow {
+ background-position: -507px -942px;
+ width: 6px;
+ height: 10px;
+}
+#dcaedt .close-open-right-arrow {
+ background-position: -506px -922px;
+ width: 6px;
+ height: 10px;
+}
+#dcaedt .hierarchy {
+ background-position: -560px -887px;
+ width: 21px;
+ height: 15px;
+}
+#dcaedt .hierarchy.hover {
+ background-position: -500px -887px;
+ width: 21px;
+ height: 15px;
+}
+#dcaedt .hierarchy.disable {
+ background-position: -531px -887px;
+ width: 21px;
+ height: 15px;
+}
+#dcaedt .hierarchy.selected {
+ background-position: -500px -887px;
+ width: 21px;
+ height: 15px;
+}
+#dcaedt .refresh-small-btn {
+ background-position: -598px -419px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .refresh-small-btn:hover:not(.disable) {
+ background-position: -598px -448px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .refresh-small-btn:active:not(.disable) {
+ background-position: -598px -479px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .refresh-small-btn.focus {
+ background-position: -598px -508px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .refresh-small-btn.disable {
+ background-position: -598px -539px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .download-file-btn {
+ background-position: -673px -419px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .download-file-btn:hover:not(.disable) {
+ background-position: -673px -448px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .download-file-btn:active:not(.disable) {
+ background-position: -673px -479px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .download-file-btn.focus {
+ background-position: -673px -508px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .download-file-btn.disable {
+ background-position: -673px -539px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .refresh-file-btn {
+ background-position: -707px -419px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .refresh-file-btn:hover:not(.disable) {
+ background-position: -707px -448px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .refresh-file-btn:active:not(.disable) {
+ background-position: -707px -479px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .refresh-file-btn.focus {
+ background-position: -707px -508px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .refresh-file-btn.disable {
+ background-position: -707px -539px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .import-file-btn {
+ background-position: -745px -419px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .import-file-btn:hover:not(.disable) {
+ background-position: -745px -448px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .import-file-btn:active:not(.disable) {
+ background-position: -745px -479px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .import-file-btn.focus {
+ background-position: -745px -508px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .import-file-btn.disable {
+ background-position: -745px -539px;
+ width: 24px;
+ height: 24px;
+}
+#dcaedt .left-arrow {
+ background-position: -590px -876px;
+ width: 26px;
+ height: 26px;
+}
+#dcaedt .left-arrow:hover {
+ background-position: -662px -876px;
+ width: 26px;
+ height: 26px;
+}
+#dcaedt .right-arrow {
+ background-position: -626px -876px;
+ width: 26px;
+ height: 26px;
+}
+#dcaedt .right-arrow:hover {
+ background-position: -698px -876px;
+ width: 26px;
+ height: 26px;
+}
+#dcaedt .search-white-icon {
+ background-position: -434px -128px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .blue-right-arrow-circle {
+ background-position: -650px -619px;
+ width: 29px;
+ height: 29px;
+}
+#dcaedt .blue-right-arrow-circle:hover {
+ background-position: -689px -619px;
+ width: 29px;
+ height: 29px;
+}
+#dcaedt .small-x-button {
+ background-position: -190px -282px;
+ width: 11px;
+ height: 11px;
+}
+#dcaedt .small-x-button:hover {
+ background-position: -210px -283px;
+ width: 11px;
+ height: 11px;
+}
+#dcaedt .close-info-tooltip-button {
+ background-position: -190px -282px;
+ width: 11px;
+ height: 11px;
+}
+#dcaedt .close-info-tooltip-button:hover {
+ background-position: -230px -283px;
+ width: 11px;
+ height: 11px;
+}
+#dcaedt .expand-all {
+ background-position: -500px -420px;
+ width: 20px;
+ height: 22px;
+}
+#dcaedt .expand-all:hover {
+ background-position: -500px -449px;
+ width: 20px;
+ height: 22px;
+}
+#dcaedt .collapse-all {
+ background-position: -465px -420px;
+ width: 20px;
+ height: 22px;
+}
+#dcaedt .collapse-all:hover {
+ background-position: -465px -449px;
+ width: 20px;
+ height: 22px;
+}
+#dcaedt .delete-param:hover {
+ background-position: -702px -231px;
+ width: 12px;
+ height: 13px;
+}
+#dcaedt .delete-param {
+ background-position: -675px -231px;
+ width: 12px;
+ height: 13px;
+}
+#dcaedt .revert-param:hover {
+ background-position: -700px -48px;
+ width: 12px;
+ height: 11px;
+}
+#dcaedt .revert-param {
+ background-position: -676px -48px;
+ width: 12px;
+ height: 11px;
+}
+#dcaedt .show-desc:hover {
+ background-position: -635px -75px;
+ width: 13px;
+ height: 14px;
+}
+#dcaedt .show-desc {
+ background-position: -599px -75px;
+ width: 13px;
+ height: 14px;
+}
+#dcaedt .tlv-sprite {
+ background-image: url("images/sprites/tlv-sprite.png");
+ display: inline-block;
+ vertical-align: middle;
+}
+#dcaedt .tlv-sprite.logo-blue {
+ background-position: -10px -20px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .tlv-sprite.user {
+ background-position: -50px -20px;
+ width: 15px;
+ height: 20px;
+}
+#dcaedt .tlv-sprite .facebook {
+ background-position: -10px -260px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .tlv-sprite .facebook-hover {
+ background-position: -10px -300px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .tlv-sprite .twitter {
+ background-position: -50px -260px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .tlv-sprite .twitter-hover {
+ background-position: -50px -300px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .tlv-sprite .linkedin {
+ background-position: -89px -260px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .tlv-sprite .linkedin-hover {
+ background-position: -89px -300px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .tlv-sprite .youtube {
+ background-position: -130px -260px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .tlv-sprite .youtube-hover {
+ background-position: -130px -300px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .tlv-sprite .footer-open {
+ background-position: -250px -59px;
+ width: 14px;
+ height: 10px;
+}
+#dcaedt .tlv-sprite .footer-open-hover {
+ background-position: -250px -79px;
+ width: 14px;
+ height: 10px;
+}
+#dcaedt .tlv-sprite .footer-close {
+ background-position: -230px -59px;
+ width: 14px;
+ height: 10px;
+}
+#dcaedt .tlv-sprite .footer-close-hover {
+ background-position: -230px -79px;
+ width: 14px;
+ height: 10px;
+}
+#dcaedt .tlv-sprite .checkbox-disadbled {
+ background-position: -10px -60px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .tlv-sprite .checkbox {
+ background-position: -10px -60px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .tlv-sprite .checkbox-hover {
+ background-position: -10px -100px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .tlv-sprite .checkbox-checked {
+ background-position: -10px -120px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .tlv-sprite .radio-disabled {
+ background-position: -50px -60px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .tlv-sprite .radio {
+ background-position: -50px -80px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .tlv-sprite .radio-checked {
+ background-position: -50px -120px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .tlv-x-btn,
+#dcaedt .tlv-x-btn:hover {
+ background-position: -17px -147px;
+ width: 10px;
+ height: 10px;
+}
+#dcaedt #header .header {
+ background-color: yellow;
+}
+#dcaedt #header {
+ background-color: #1370A3;
+ height: 80px;
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+}
+#dcaedt #header .header-logo {
+ color: #ffffff;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+ background: url('images/att_logo.png') no-repeat 0 0;
+ width: 56px;
+ height: 56px;
+ width: 300px;
+ margin: 0 30px;
+ vertical-align: middle;
+ line-height: 56px;
+ text-indent: 55px;
+}
+#dcaedt #header ul.header-top-menu {
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+ margin: 0;
+}
+#dcaedt #header ul.header-top-menu li {
+ list-style: none;
+ margin: 0 20px;
+}
+#dcaedt #header ul.header-top-menu li a {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+ text-decoration: none;
+}
+#dcaedt #header .header-right {
+ margin: 0 30px;
+ display: flex;
+ flex-direction: row;
+ justify-content: flex-end;
+}
+#dcaedt #layout-content-only {
+ /*background: url('images/top.jpg') no-repeat 0 0;*/
+}
+#dcaedt #layout-content-with-header {
+ /*background: url('images/top.jpg') no-repeat 0 0;*/
+}
+#dcaedt .content-container {
+ padding: 20px;
+ background-color: #ffffff;
+}
+#dcaedt #full-page-with-header {
+ /*background: url('images/top.jpg') no-repeat 0 0;*/
+ /* =============================================================================
+ Header
+ ========================================================================== */
+ /* Transparent Header */
+}
+#dcaedt #full-page-with-header #content {
+ padding-top: 70px;
+}
+#dcaedt #full-page-with-header .banner {
+ -webkit-box-shadow: 0 1px 2px rgba(43, 48, 51, 0.08);
+ -moz-box-shadow: 0 1px 2px rgba(43, 48, 51, 0.08);
+ box-shadow: 0 1px 2px rgba(43, 48, 51, 0.08);
+ z-index: 20;
+}
+#dcaedt #full-page-with-header .navbar {
+ background-color: #fff;
+ margin-bottom: 0;
+}
+#dcaedt #full-page-with-header #logo {
+ float: left;
+ display: block;
+ margin: 20px 0;
+}
+#dcaedt #full-page-with-header #logo .logo-trans {
+ display: none;
+}
+#dcaedt #full-page-with-header .navbar .navbar-nav {
+ float: right;
+ text-align: right;
+ margin: 20px 0 0 0;
+}
+#dcaedt #full-page-with-header .navbar .navbar-nav > li > a {
+ position: relative;
+ color: #828282;
+ font-weight: 600;
+ padding-top: 0;
+ padding-bottom: 15px;
+ -webkit-transition: all 0.1s linear;
+ -moz-transition: all 0.1s linear;
+ transition: all 0.1s linear;
+}
+#dcaedt #full-page-with-header .navbar .navbar-nav > li > a:after {
+ position: absolute;
+ bottom: 7px;
+ left: 50%;
+ content: '';
+ width: 10px;
+ height: 0px;
+ margin-left: -5px;
+ background-color: #fff;
+ -webkit-transition: all 0.1s linear;
+ -moz-transition: all 0.1s linear;
+ transition: all 0.1s linear;
+}
+#dcaedt #full-page-with-header .navbar .navbar-nav > li > a:hover {
+ color: #828282;
+}
+#dcaedt #full-page-with-header .navbar .navbar-nav > li > a:hover:after,
+#dcaedt #full-page-with-header .navbar .navbar-nav > li.active > a:after,
+#dcaedt #full-page-with-header .navbar .navbar-nav > li.active > a:hover:after,
+#dcaedt #full-page-with-header .navbar .navbar-nav > li.active > a:focus:after {
+ position: absolute;
+ bottom: 9px;
+ left: 50%;
+ content: '';
+ width: 20px;
+ height: 2px;
+ margin-left: -10px;
+ background-color: #2b8dd6;
+}
+#dcaedt #full-page-with-header .navbar-nav > li + li {
+ margin-left: 2px;
+}
+#dcaedt #full-page-with-header .navbar .navbar-nav > li.active > a,
+#dcaedt #full-page-with-header .navbar .navbar-nav > li.active > a:hover,
+#dcaedt #full-page-with-header .navbar .navbar-nav > li.active > a:focus {
+ color: #828282;
+ background-color: transparent;
+}
+#dcaedt #full-page-with-header .navbar .navbar-nav .dropdown-menu {
+ border-radius: 0 !important;
+}
+#dcaedt #full-page-with-header .navbar .navbar-nav .dropdown-menu li a {
+ position: relative;
+}
+#dcaedt #full-page-with-header .navbar .navbar-nav .dropdown-menu li a:after {
+ position: absolute;
+ bottom: 2px;
+ left: 30px;
+ content: '';
+ width: 20px;
+ height: 0px;
+ margin-left: -10px;
+ background-color: #fff;
+ -webkit-transition: all 0.1s linear;
+ -moz-transition: all 0.1s linear;
+ transition: all 0.1s linear;
+}
+#dcaedt #full-page-with-header .navbar .navbar-nav .dropdown-menu li a:hover:after {
+ position: absolute;
+ bottom: 3px;
+ left: 30px;
+ content: '';
+ width: 20px;
+ height: 2px;
+ margin-left: -10px;
+ background-color: #e2e2e2;
+}
+#dcaedt #full-page-with-header .navbar .navbar-nav .dropdown-menu li.active a {
+ background-color: transparent;
+ color: #2b8dd6;
+}
+#dcaedt #full-page-with-header .navbar .navbar-nav .dropdown-menu li a:hover,
+#dcaedt #full-page-with-header .navbar .navbar-nav .dropdown-menu li.active a:hover {
+ color: #2b8dd6;
+ background-color: transparent;
+}
+#dcaedt #full-page-with-header .navbar-collapse {
+ max-height: none;
+}
+#dcaedt #full-page-with-header .navbar-collapse ul {
+ margin-bottom: 10px;
+}
+#dcaedt #full-page-with-header .banner[data-transparent-header="true"] {
+ width: 100%;
+ top: 0;
+ left: 0;
+ position: absolute;
+ overflow: visible !important;
+ z-index: 9998;
+ background-color: transparent;
+ box-shadow: none;
+ -webkit-box-shadow: none;
+ -moz-box-shadow: none;
+ -o-box-shadow: none;
+ border-bottom: 1px solid rgba(255, 255, 255, 0.25) !important;
+}
+#dcaedt #full-page-with-header .boxed-mode .banner[data-transparent-header="true"] {
+ left: 0;
+ right: 0;
+ margin: 0 auto;
+}
+#dcaedt #full-page-with-header .banner[data-transparent-header="true"] #logo .logo-trans {
+ display: inline;
+}
+#dcaedt #full-page-with-header .banner[data-transparent-header="true"] #logo .logo-main {
+ display: none;
+}
+#dcaedt #full-page-with-header .banner[data-transparent-header="true"] .navbar-nav > li > a,
+#dcaedt #full-page-with-header .banner[data-transparent-header="true"] .navbar-nav > li.active > a {
+ color: #fff;
+}
+#dcaedt #full-page-with-header .banner[data-transparent-header="true"] .navbar-nav > li > a:hover,
+#dcaedt #full-page-with-header .banner[data-transparent-header="true"] .navbar-nav > li.active > a:hover {
+ color: #fff;
+}
+#dcaedt #full-page-with-header .banner[data-transparent-header="true"] .navbar-nav > li > a:hover:after,
+#dcaedt #full-page-with-header .banner[data-transparent-header="true"] .navbar-nav > li.active > a:after,
+#dcaedt #full-page-with-header .banner[data-transparent-header="true"] .navbar-nav > li.active > a:hover:after,
+#dcaedt #full-page-with-header .banner[data-transparent-header="true"] .navbar-nav > li.active > a:focus:after {
+ background-color: #fff;
+}
+#dcaedt #full-page-with-header .menu-seperator {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+}
+#dcaedt #full-page-with-header .menu-login a {
+ padding-right: 4px;
+}
+#dcaedt #full-page-with-header .menu-signup a {
+ padding-left: 4px;
+}
+#dcaedt .content-container {
+ padding: 20px;
+}
+#dcaedt #navigation {
+ background-color: #dddddd;
+ height: 40px;
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+}
+#dcaedt #navigation ul.navigation-top-menu {
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+ margin: 0;
+}
+#dcaedt #navigation ul.navigation-top-menu li {
+ list-style: none;
+ margin: 0 20px;
+}
+#dcaedt #navigation ul.navigation-top-menu li a {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ text-decoration: none;
+}
+#dcaedt .about h1 {
+ font-size: 160px;
+}
+#dcaedt .about h1 {
+ font-size: 40px;
+}
+#dcaedt .home ul.users li {
+ font-size: 20px;
+}
+#dcaedt .sdc-dashboard-container .tlv-loader {
+ top: -110px;
+ left: 80px;
+}
+#dcaedt .sdc-dashboard-container .sdc-hide-popover .popover {
+ display: none !important;
+}
+#dcaedt .dcae-s-sdc-service {
+ background-position: -60px -2654px;
+ width: 14px;
+ height: 17px;
+}
+#dcaedt .dcae-s-sdc-resource {
+ background-position: -54px -2585px;
+ width: 16px;
+ height: 16px;
+}
+#dcaedt .dcae-sprite {
+ background-image: url('images/sprites/sprite-global-old.png');
+ display: inline-block;
+}
+#dcaedt .dcae-sprite-new {
+ background-image: url('images/sprites/sprite-global.png');
+ display: inline-block;
+}
+#dcaedt .dcae-sprite.logo {
+ background-position: -50px -100px;
+ width: 39px;
+ height: 32px;
+}
+#dcaedt .dcae-sprite.white-arrow-down {
+ background-position: -50px -200px;
+ width: 15px;
+ height: 9px;
+}
+#dcaedt .dcae-sprite.white-arrow-up {
+ background-position: -100px -200px;
+ width: 15px;
+ height: 9px;
+}
+#dcaedt .arrow-left {
+ background-position: -262px -4041px;
+ width: 11px;
+ height: 10px;
+}
+#dcaedt .dcae-sprite.tab-info {
+ background-position: -50px -300px;
+ width: 18px;
+ height: 20px;
+}
+#dcaedt .dcae-sprite.edit {
+ background-position: -51px -689px;
+ width: 31px;
+ height: 30px;
+}
+#dcaedt .dcae-sprite.details {
+ background-position: -50px -900px;
+ width: 19px;
+ height: 19px;
+}
+#dcaedt .dcae-sprite.structure {
+ background-position: -212px -3880px;
+ width: 23px;
+ height: 21px;
+}
+#dcaedt .dcae-sprite.artifacts {
+ background-position: -50px -1098px;
+ width: 20px;
+ height: 20px;
+}
+#dcaedt .dcae-sprite.menu {
+ background-position: -50px -1200px;
+ width: 17px;
+ height: 14px;
+}
+#dcaedt .dcae-sprite.catalog {
+ background-position: -53px -1303px;
+ width: 20px;
+ height: 20px;
+}
+#dcaedt .dcae-sprite.distribution {
+ background-position: -50px -1400px;
+ width: 24px;
+ height: 14px;
+}
+#dcaedt .dcae-sprite.support {
+ background-position: -50px -1500px;
+ width: 22px;
+ height: 22px;
+}
+#dcaedt .dcae-sprite.filter {
+ background-position: -50px -1600px;
+ width: 15px;
+ height: 16px;
+}
+#dcaedt .dcae-sprite.card-menu {
+ background-position: -50px -2000px;
+ width: 4px;
+ height: 16px;
+}
+#dcaedt .dcae-sprite.relationships {
+ background-position: -50px -2097px;
+ width: 26px;
+ height: 19px;
+}
+#dcaedt .dcae-sprite.lifecycle {
+ background-position: -50px -2200px;
+ width: 20px;
+ height: 20px;
+}
+#dcaedt .dcae-sprite.properties {
+ background-position: -50px -2300px;
+ width: 19px;
+ height: 19px;
+}
+#dcaedt .dcae-sprite.e-sdc-small-icon-delete {
+ background-position: -64px -2771px;
+ width: 11px;
+ height: 13px;
+}
+#dcaedt .dcae-sprite.magnification-glass {
+ background-position: -49px -3138px;
+ width: 12px;
+ height: 12px;
+}
+#dcaedt .dcae-sprite.clear-text {
+ background-position: -104px -4040px;
+ width: 10px;
+ height: 11px;
+}
+#dcaedt .dcae-sprite.info {
+ background-position: -105px -3583px;
+ width: 18px;
+ height: 18px;
+}
+#dcaedt .dcae-sprite.information-artifacts {
+ background-position: -105px -3632px;
+ width: 20px;
+ height: 21px;
+}
+#dcaedt .dcae-sprite.deployment-artifacts {
+ background-position: -105px -3682px;
+ width: 19px;
+ height: 19px;
+}
+#dcaedt .dcae-sprite.properties {
+ background-position: -105px -3733px;
+ width: 18px;
+ height: 18px;
+}
+#dcaedt .dcae-sprite.relations {
+ background-position: -105px -3781px;
+ width: 20px;
+ height: 20px;
+}
+#dcaedt .dcae-sprite.inputs {
+ background-position: -104px -3887px;
+ width: 18px;
+ height: 14px;
+}
+#dcaedt .dcae-sprite.api {
+ background-position: -104px -3930px;
+ width: 25px;
+ height: 21px;
+}
+#dcaedt .dcae-main-right-container {
+ background-color: #ffffff;
+ bottom: 0;
+ padding: 22px 12px;
+ position: absolute;
+ left: 240px;
+ right: 0;
+ top: 0px;
+ overflow: scroll;
+}
+#dcaedt .dcae-left-sidebar {
+ width: 242px;
+ overflow: hidden;
+ background-color: #f8f8f8;
+ -webkit-box-shadow: 1px 0 4px 0 rgba(24, 24, 25, 0.17);
+ -moz-box-shadow: 1px 0 4px 0 rgba(24, 24, 25, 0.17);
+ box-shadow: 1px 0 4px 0 rgba(24, 24, 25, 0.17);
+ position: absolute;
+ left: 0;
+ top: 0;
+ bottom: 0;
+ padding: 12px 18px;
+ z-index: 1;
+}
+#dcaedt .dcae-left-sidebar-nav {
+ margin-top: 46px;
+}
+#dcaedt .dcae-menu-item.selected {
+ border-left: 4px solid #009fdb;
+ padding-left: 18px;
+ color: #009fdb;
+}
+#dcaedt .dcae-menu-item {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ width: 100%;
+ white-space: nowrap;
+ display: inline-block;
+ max-width: none;
+ white-space: normal;
+ cursor: pointer;
+}
+#dcaedt .dcae-dashboard-card-new {
+ border: 2px dashed #a8b3b9;
+ -webkit-border-radius: 2px;
+ -moz-border-radius: 2px;
+ border-radius: 2px;
+ cursor: pointer;
+ display: inline-block;
+ margin: 9px;
+ position: relative;
+ vertical-align: middle;
+ height: 190px;
+ width: 190px;
+}
+#dcaedt .dcae-dashboard-card-new-content {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ flex-direction: column;
+ height: 100%;
+ cursor: pointer;
+}
+#dcaedt .dcae-dashboard-card-new-content-plus {
+ background-image: url('images/sprites/sprite-global.png');
+ display: inline-block;
+ background-position: -50px -77px;
+ width: 23px;
+ height: 23px;
+ position: relative;
+ margin-bottom: 20px;
+}
+#dcaedt .dcae-dashboard-card-new-content-plus:after {
+ color: #959595;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ content: 'ADD';
+ position: absolute;
+ top: 25px;
+ left: -3px;
+ vertical-align: -50%;
+}
+#dcaedt .dcae-dashboard-card-import-content-plus {
+ background-image: url('images/sprites/sprite-global.png');
+ display: inline-block;
+ background-position: -100px -81px;
+ width: 23px;
+ height: 23px;
+ position: relative;
+ margin-bottom: 20px;
+}
+#dcaedt .dcae-dashboard-card-import-content-plus:after {
+ color: #959595;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ content: 'IMPORT';
+ position: absolute;
+ top: 25px;
+ left: -16px;
+ vertical-align: -50%;
+}
+#dcaedt .sdc-dashboard-create-element-container,
+#dcaedt .sdc-dashboard-import-element-container {
+ width: 140px;
+}
+#dcaedt .sdc-dashboard-create-element-container .tlv-btn.import-dcae,
+#dcaedt .sdc-dashboard-import-element-container .tlv-btn.import-dcae {
+ padding: 0;
+}
+#dcaedt .sdc-dashboard-create-element-container .tlv-btn,
+#dcaedt .sdc-dashboard-import-element-container .tlv-btn {
+ position: relative;
+ width: 100%;
+ margin-bottom: 10px;
+}
+#dcaedt .sdc-dashboard-create-element-container .tlv-btn:last-child,
+#dcaedt .sdc-dashboard-import-element-container .tlv-btn:last-child {
+ margin-bottom: 0;
+}
+#dcaedt .sdc-dashboard-create-element-container input[type="file"],
+#dcaedt .sdc-dashboard-import-element-container input[type="file"] {
+ cursor: inherit;
+ filter: alpha(opacity=0);
+ opacity: 0;
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 138px;
+ height: 30px;
+}
+#dcaedt .dcae-dashboard-card {
+ width: 190px;
+ height: 190px;
+ background-color: #fff;
+ -webkit-border-radius: 2px;
+ -moz-border-radius: 2px;
+ border-radius: 2px;
+ -webkit-box-shadow: 0px 2px 2px 0px rgba(24, 24, 25, 0.05);
+ -moz-box-shadow: 0px 2px 2px 0px rgba(24, 24, 25, 0.05);
+ box-shadow: 0px 2px 2px 0px rgba(24, 24, 25, 0.05);
+ display: inline-block;
+ margin: 10px;
+ position: relative;
+ vertical-align: middle;
+ border: solid 1px #e4e1e1;
+}
+#dcaedt .dcae-dashboard-card:hover {
+ border: solid 1px #d2d2d2;
+ -webkit-box-shadow: 3px 3px 2px 0px rgba(24, 24, 25, 0.05);
+ -moz-box-shadow: 3px 3px 2px 0px rgba(24, 24, 25, 0.05);
+ box-shadow: 3px 3px 2px 0px rgba(24, 24, 25, 0.05);
+}
+#dcaedt .dcae-dashboard-card:active {
+ border: solid 1px #71c5eb;
+ -webkit-box-shadow: 3px 3px 2px 0px rgba(24, 24, 25, 0.05);
+ -moz-box-shadow: 3px 3px 2px 0px rgba(24, 24, 25, 0.05);
+ box-shadow: 3px 3px 2px 0px rgba(24, 24, 25, 0.05);
+}
+#dcaedt .dcae-dashboard-card-body {
+ cursor: pointer;
+ border-bottom: 1px solid #ffffff;
+ height: 155px;
+ position: relative;
+ text-align: center;
+}
+#dcaedt .dcae-dashboard-card-description {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ cursor: pointer;
+ background-color: rgba(57, 73, 84, 0.9);
+ border-radius: 4px 4px 0 0;
+ bottom: 0;
+ left: 0;
+ opacity: 0;
+ padding: 10px;
+ position: absolute;
+ right: 0;
+ text-align: left;
+ top: 0;
+ word-wrap: break-word;
+ z-index: 4;
+ min-height: 100px;
+ overflow: hidden;
+}
+#dcaedt .dcae-workspace-top-bar {
+ height: 26px;
+ padding: 12px 10px 0px 50px;
+ border-bottom: 1px solid #d2d2d2;
+ display: flex;
+ justify-content: space-between;
+}
+#dcaedt .dcae-workspace-top-bar .progress-container {
+ flex-grow: 4;
+ z-index: 10000000;
+}
+#dcaedt .dcae-workspace-top-bar .progress-container .general-view-top-progress {
+ width: 30%;
+ margin: 0 auto;
+}
+#dcaedt .dcae-workspace-top-bar .not-latest {
+ position: absolute;
+ left: 24px;
+ top: 20px;
+ background-image: url('images/sprites/sprite-global.png');
+ display: inline-block;
+ background-position: -100px -748px;
+ width: 17px;
+ height: 15px;
+}
+#dcaedt .dcae-workspace-top-bar .sdc-workspace-top-bar-buttons > button,
+#dcaedt .dcae-workspace-top-bar .sdc-workspace-top-bar-buttons > span:not(.delimiter) {
+ margin-right: 10px;
+ vertical-align: middle;
+ cursor: pointer;
+}
+#dcaedt .dcae-workspace-top-bar .sdc-workspace-top-bar-buttons > button.dcae-sprite-new,
+#dcaedt .dcae-workspace-top-bar .sdc-workspace-top-bar-buttons > span:not(.delimiter).dcae-sprite-new {
+ text-indent: 100%;
+}
+#dcaedt .dcae-workspace-top-bar .sdc-workspace-top-bar-buttons > button.disabled,
+#dcaedt .dcae-workspace-top-bar .sdc-workspace-top-bar-buttons > span:not(.delimiter).disabled,
+#dcaedt .dcae-workspace-top-bar .sdc-workspace-top-bar-buttons > button:hover.disabled,
+#dcaedt .dcae-workspace-top-bar .sdc-workspace-top-bar-buttons > span:not(.delimiter):hover.disabled {
+ pointer-events: none;
+}
+#dcaedt .dcae-workspace-top-bar .sdc-workspace-top-bar-buttons .delimiter {
+ height: 32px;
+ width: 1px;
+ background-color: #959595;
+ display: inline-block;
+ vertical-align: middle;
+ margin-right: 20px;
+}
+#dcaedt .dcae-workspace-top-bar .lifecycle-state {
+ padding: 7px 0 0 10px;
+ margin: 2px 0 7px 10px;
+ border-left: 1px solid #d2d2d2;
+ line-height: 15px;
+ font-family: omnes-medium, sans-serif;
+ color: #d2d2d2;
+}
+#dcaedt .dcae-workspace-top-bar .lifecycle-state .lifecycle-state-icon {
+ background-image: url('images/sprites/sprite-global.png');
+ display: inline-block;
+}
+#dcaedt .dcae-workspace-top-bar .lifecycle-state .lifecycle-state-text {
+ font-weight: bold;
+ text-transform: uppercase;
+ vertical-align: top;
+ padding: 3px;
+}
+#dcaedt .dcae-workspace-top-bar .version-selector {
+ background-color: transparent;
+ border: none;
+ margin-top: 6px;
+}
+#dcaedt .dcae-asset-creation-info {
+ color: #959595;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ margin: 8px 20px 0 0;
+}
+#dcaedt .dcae-dashboard-card-schema {
+ margin-top: 30px;
+}
+#dcaedt .dcae-dashboard-card-edit {
+ cursor: pointer;
+ position: absolute;
+ right: 13px;
+ top: 15px;
+ z-index: 2;
+}
+#dcaedt .dcae-vfcmt-title {
+ text-align: left;
+ margin: 7px;
+ color: #009fdb;
+}
+#dcaedt .dcae-dashboard-card-footer {
+ border-top: 1px solid #eaeaea;
+ margin: 0px 5px;
+ position: relative;
+}
+#dcaedt .dcae-dashboard-card-avatar {
+ text-transform: uppercase;
+ border-radius: 50%;
+ display: inline-block;
+ position: absolute;
+ left: -6px;
+ text-align: center;
+ top: -6px;
+}
+#dcaedt .dcae-dashboard-card-avatar span {
+ background-color: #ffffff;
+ -webkit-border-radius: 15px;
+ -moz-border-radius: 15px;
+ border-radius: 15px;
+ color: #ffffff;
+ content: '';
+ height: 30px;
+ text-align: center;
+ display: block;
+ border: solid 2px #ECEFF3;
+ padding: 3px 10px 2px 10px;
+}
+#dcaedt .dcae-dashboard-card-avatar span.VF {
+ color: #9063cd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-dashboard-card-avatar span.VF::before {
+ content: 'VF';
+}
+#dcaedt .dcae-dashboard-card-avatar span.VFC {
+ color: #9063cd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-dashboard-card-avatar span.VFC::before {
+ content: 'VFC';
+}
+#dcaedt .dcae-dashboard-card-avatar span.CP {
+ color: #9063cd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-dashboard-card-avatar span.CP::before {
+ content: 'CP';
+}
+#dcaedt .dcae-dashboard-card-avatar span.VL {
+ color: #9063cd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-dashboard-card-avatar span.VL::before {
+ content: 'VL';
+}
+#dcaedt .dcae-dashboard-card-avatar span.SERVICE {
+ color: #71c5eb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-dashboard-card-avatar span.SERVICE::before {
+ content: 'S';
+}
+#dcaedt .dcae-dashboard-card-avatar span.PRODUCT {
+ color: #056bae;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-dashboard-card-avatar span.PRODUCT::before {
+ content: 'P';
+}
+#dcaedt .dcae-dashboard-card-avatar span.green {
+ color: #1d9a95;
+ font-family: omnes-medium, sans-serif;
+ font-size: 17px;
+}
+#dcaedt .dcae-dashboard-card-avatar span.green::before {
+ content: 'R';
+}
+#dcaedt .dcae-dashboard-card-avatar span.red {
+ color: #e85858;
+ font-family: omnes-medium, sans-serif;
+ font-size: 17px;
+}
+#dcaedt .dcae-dashboard-card-avatar span.red::before {
+ content: 'S';
+}
+#dcaedt .dcae-dashboard-card-avatar span.dblack {
+ color: #000000;
+ font-family: omnes-medium, sans-serif;
+ font-size: 17px;
+}
+#dcaedt .dcae-dashboard-card-avatar span.dblack::before {
+ content: 'P';
+}
+#dcaedt .dcae-dashboard-card-info {
+ display: inline-block;
+ vertical-align: middle;
+ max-width: 165px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+#dcaedt .dcae-dashboard-card-info-name-container {
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ margin: 0 0 2px 10px;
+}
+#dcaedt .dcae-dashboard-card-info-name {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ display: inline-block;
+ vertical-align: middle;
+ max-width: 165px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+#dcaedt .dcae-dashboard-card-info-lifecycleState {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+ display: inline-block;
+ vertical-align: middle;
+ max-width: 165px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+#dcaedt .dcae-dashboard-card-info-user {
+ color: #959595;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ text-align: left;
+ line-height: 18px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ width: 100%;
+}
+#dcaedt .dcae-dashboard-card-menu-button {
+ display: inline-block;
+ padding: 12px 0 0 10px;
+ position: absolute;
+ right: 12px;
+ top: 8px;
+ border-left: solid 1px #e1e7ec;
+ height: 42px;
+}
+#dcaedt .dcae-dashboard-card-menu-button:hover .dcae-dashboard-card-menu {
+ display: block;
+}
+#dcaedt .dcae-dashboard-card-menu {
+ background-color: #ffffff;
+ border-radius: 0 0 4px 4px;
+ border-top: 3px solid #3b7b9b;
+ box-shadow: 0 2px 2px 0px rgba(0, 0, 0, 0.2);
+ color: #000000;
+ display: none;
+ min-height: 30px;
+ padding: 9px 0;
+ position: absolute;
+ right: -27px;
+ width: 208px;
+ z-index: 9;
+ max-height: 164px;
+}
+#dcaedt .dcae-dashboard-card-menu::before {
+ background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAYAAAB4ka1VAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkE1OTIzNDI1MENFQjExRTU4ODRERTI1MDM2REZCOUYzIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkE1OTIzNDI2MENFQjExRTU4ODRERTI1MDM2REZCOUYzIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTU5MjM0MjMwQ0VCMTFFNTg4NERFMjUwMzZERkI5RjMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTU5MjM0MjQwQ0VCMTFFNTg4NERFMjUwMzZERkI5RjMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4gBXTlAAAAOElEQVR42mK0rp7NgASMgZgFiE/CBJjQJPcA8U4gNkdXAJMUAGJ+ZEVMaJIwAFfEhEUSRRFAgAEAVtgJyiLAPWAAAAAASUVORK5CYII=');
+ content: '';
+ display: block;
+ height: 21px;
+ position: absolute;
+ right: 24px;
+ top: -24px;
+ width: 184px;
+ background-repeat: no-repeat;
+ background-position: 175px 16px;
+}
+#dcaedt .i-sdc-dashboard-card-menu-item {
+ cursor: pointer;
+ line-height: 24px;
+ padding: 0 10px;
+}
+#dcaedt .i-sdc-dashboard-card-menu-item:hover {
+ color: #3b7b9b;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-dashboard-card-info-lifecycleState-icon {
+ position: absolute;
+ bottom: 18px;
+ right: 10px;
+}
+#dcaedt .dcae-dashboard-card-schema-image {
+ position: absolute;
+ top: 41%;
+ height: 45px;
+ width: 53px;
+ background-repeat: no-repeat;
+ margin: auto;
+ left: 0;
+ right: 0;
+ top: -10px;
+ bottom: 0;
+}
+#dcaedt .dcae-dashboard-card-schema-image.service {
+ background-position: -60px -2654px;
+ width: 14px;
+ height: 17px;
+}
+#dcaedt .dcae-dashboard-card-schema-image.resource {
+ background-position: -54px -2585px;
+ width: 16px;
+ height: 16px;
+}
+#dcaedt .dcae-dashboard-card-edit.NOT_CERTIFIED_CHECKIN {
+ background-image: url('images/sprites/sprite-global-old.png');
+ display: inline-block;
+ background-position: -47px -2839px;
+ width: 20px;
+ height: 19px;
+}
+#dcaedt .dcae-dashboard-card-edit.NOT_CERTIFIED_CHECKOUT {
+ background-image: url('images/sprites/sprite-global-old.png');
+ display: inline-block;
+ background-position: -53px -2889px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-dashboard-card-edit.CERTIFIED {
+ background-image: url('images/sprites/sprite-global-old.png');
+ display: inline-block;
+ background-position: -53px -3034px;
+ width: 14px;
+ height: 16px;
+}
+#dcaedt .dcae-dashboard-card-edit.READY_FOR_CERTIFICATION {
+ background-image: url('images/sprites/sprite-global-old.png');
+ display: inline-block;
+ background-position: -53px -2985px;
+ width: 14px;
+ height: 16px;
+}
+#dcaedt .dcae-dashboard-card-edit.CERTIFICATION_IN_PROGRESS {
+ background-image: url('images/sprites/sprite-global-old.png');
+ display: inline-block;
+ background-position: -53px -2934px;
+ width: 14px;
+ height: 16px;
+}
+#dcaedt .dcae-dashboard-card-edit.DISTRIBUTED {
+ background-image: url('images/sprites/sprite-global-old.png');
+ display: inline-block;
+ background-position: -43px -3087px;
+ width: 24px;
+ height: 14px;
+}
+#dcaedt .dcae-dashboard-card-avatar.green + .dcae-dashboard-card-edit.NOT_CERTIFIED_CHECKIN {
+ background-image: url('images/sprites/sprite-global-old.png');
+ display: inline-block;
+ background-position: -70px -2839px;
+}
+#dcaedt .dcae-dashboard-card-avatar.green + .dcae-dashboard-card-edit.NOT_CERTIFIED_CHECKOUT {
+ background-image: url('images/sprites/sprite-global-old.png');
+ display: inline-block;
+ background-position: -76px -2889px;
+}
+#dcaedt .dcae-dashboard-card-avatar.green + .dcae-dashboard-card-edit.CERTIFIED {
+ background-image: url('images/sprites/sprite-global-old.png');
+ display: inline-block;
+ background-position: -76px -3034px;
+}
+#dcaedt .dcae-dashboard-card-avatar.green + .dcae-dashboard-card-edit.READY_FOR_CERTIFICATION {
+ background-image: url('images/sprites/sprite-global-old.png');
+ display: inline-block;
+ background-position: -76px -2985px;
+}
+#dcaedt .dcae-dashboard-card-avatar.green + .dcae-dashboard-card-edit.CERTIFICATION_IN_PROGRESS {
+ background-image: url('images/sprites/sprite-global-old.png');
+ display: inline-block;
+ background-position: -76px -2934px;
+}
+#dcaedt .dcae-dashboard-card-avatar.green + .dcae-dashboard-card-edit.DISTRIBUTED {
+ background-image: url('images/sprites/sprite-global-old.png');
+ display: inline-block;
+ background-position: -76px -3087px;
+}
+#dcaedt .dcae-dashboard-card-avatar.red + .dcae-dashboard-card-edit.NOT_CERTIFIED_CHECKIN {
+ background-image: url('images/sprites/sprite-global-old.png');
+ display: inline-block;
+ background-position: -93px -2839px;
+}
+#dcaedt .dcae-dashboard-card-avatar.red + .dcae-dashboard-card-edit.NOT_CERTIFIED_CHECKOUT {
+ background-image: url('images/sprites/sprite-global-old.png');
+ display: inline-block;
+ background-position: -99px -2889px;
+}
+#dcaedt .dcae-dashboard-card-avatar.red + .dcae-dashboard-card-edit.CERTIFIED {
+ background-image: url('images/sprites/sprite-global-old.png');
+ display: inline-block;
+ background-position: -99px -3034px;
+}
+#dcaedt .dcae-dashboard-card-avatar.red + .dcae-dashboard-card-edit.READY_FOR_CERTIFICATION {
+ background-image: url('images/sprites/sprite-global-old.png');
+ display: inline-block;
+ background-position: -99px -2985px;
+}
+#dcaedt .dcae-dashboard-card-avatar.red + .dcae-dashboard-card-edit.CERTIFICATION_IN_PROGRESS {
+ background-image: url('images/sprites/sprite-global-old.png');
+ display: inline-block;
+ background-position: -99px -2934px;
+}
+#dcaedt .dcae-dashboard-card-avatar.red + .dcae-dashboard-card-edit.DISTRIBUTED {
+ background-image: url('images/sprites/sprite-global-old.png');
+ display: inline-block;
+ background-position: -113px -3087px;
+}
+#dcaedt .w-sdc-main-container {
+ height: 100%;
+}
+#dcaedt .sdc-catalog-container {
+ height: 100%;
+ /*Added by - Ikram */
+}
+#dcaedt .sdc-catalog-container .i-sdc-categories-list-item {
+ font-weight: normal;
+}
+#dcaedt .sdc-catalog-container .i-sdc-designer-leftbar-section-content-ul {
+ padding: 0;
+ margin: 0;
+}
+#dcaedt .sdc-catalog-container .i-sdc-designer-leftbar-section-content-ul .i-sdc-catalog-subcategories-checkbox {
+ padding: 0 0 0 20px;
+ margin: 0;
+}
+#dcaedt .sdc-catalog-container .i-sdc-designer-leftbar-section-content-ul .i-sdc-catalog-subcategories-checkbox .i-sdc-catalog-grouping-checkbox {
+ padding: 0 0 0 20px;
+ margin: 0;
+}
+#dcaedt .sdc-catalog-container .i-sdc-designer-leftbar-section-content-li:last-child .i-sdc-categories-list-item {
+ margin: 0;
+}
+#dcaedt .sdc-catalog-container .i-sdc-categories-list-item {
+ display: block;
+ vertical-align: top;
+ font-weight: bold;
+}
+#dcaedt .sdc-catalog-container .i-sdc-subcategories-list-item {
+ display: block;
+ vertical-align: top;
+ font-weight: normal;
+ margin: 0;
+}
+#dcaedt .sdc-catalog-container .i-sdc-product-input,
+#dcaedt .sdc-catalog-container .i-sdc-product-select {
+ border: 1px solid #cfcfcf;
+ min-height: 30px;
+ padding: 0;
+ width: 100%;
+ margin: 1px 0;
+ background-color: #F2F2F2;
+ outline: none;
+}
+#dcaedt .sdc-catalog-container .i-sdc-product-input:disabled,
+#dcaedt .sdc-catalog-container .i-sdc-product-select:disabled {
+ opacity: 0.4 !important;
+ cursor: auto;
+ background-color: transparent;
+ pointer-events: none;
+}
+#dcaedt .sdc-catalog-container .i-sdc-product-input optgroup,
+#dcaedt .sdc-catalog-container .i-sdc-product-select optgroup {
+ color: #23aa63;
+}
+#dcaedt .sdc-catalog-container .i-sdc-product-input optgroup option,
+#dcaedt .sdc-catalog-container .i-sdc-product-select optgroup option {
+ color: #666666;
+}
+#dcaedt .sdc-catalog-container .i-sdc-categories-list-item-icon {
+ display: inline-block;
+ float: right;
+ position: relative;
+ right: -8px;
+ top: 6px;
+}
+#dcaedt .sdc-catalog-container .i-sdc-categories-list-item {
+ margin-top: 7px;
+}
+#dcaedt .sdc-catalog-container .i-sdc-categories-list-item.NOT_CERTIFIED_CHECKOUT .i-sdc-categories-list-item-icon,
+#dcaedt .sdc-catalog-container .i-sdc-categories-list-item.NOT_CERTIFIED_CHECKIN .i-sdc-categories-list-item-icon {
+ background: url('images/sprites/sprite-global-old.png') no-repeat -53px -2889px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .sdc-catalog-container .i-sdc-categories-list-item.CERTIFIED .i-sdc-categories-list-item-icon {
+ background: url('images/sprites/sprite-global-old.png') no-repeat -53px -3034px;
+ width: 14px;
+ height: 16px;
+}
+#dcaedt .sdc-catalog-container .i-sdc-categories-list-item.READY_FOR_CERTIFICATION .i-sdc-categories-list-item-icon {
+ background: url('images/sprites/sprite-global-old.png') no-repeat -53px -2985px;
+ width: 14px;
+ height: 16px;
+}
+#dcaedt .sdc-catalog-container .i-sdc-categories-list-item.CERTIFICATION_IN_PROGRESS .i-sdc-categories-list-item-icon {
+ background: url('images/sprites/sprite-global-old.png') no-repeat -53px -2934px;
+ width: 14px;
+ height: 16px;
+}
+#dcaedt .sdc-catalog-container .i-sdc-categories-list-item.DISTRIBUTED .i-sdc-categories-list-item-icon,
+#dcaedt .sdc-catalog-container .i-sdc-categories-list-item.TBD .i-sdc-categories-list-item-icon {
+ background: url('images/sprites/sprite-global-old.png') no-repeat -43px -3087px;
+ width: 24px;
+ height: 14px;
+}
+#dcaedt .sdc-catalog-container .i-sdc-categories-list-input {
+ margin: 8px;
+}
+#dcaedt .sdc-catalog-container .i-sdc-subcategories-list-input {
+ margin: 8px;
+}
+#dcaedt .sdc-catalog-container .i-sdc-subcategories-list-input-container {
+ margin: 0px 0px 0px 20px;
+ padding: 2px;
+}
+#dcaedt .sdc-catalog-container .dcae-header-catalog-search-container {
+ display: table;
+ padding: 21px 0;
+ position: relative;
+}
+#dcaedt .sdc-catalog-container .dcae-header-catalog-search-container .dcae-designer-leftbar-search-input {
+ color: #000;
+ width: 300px;
+}
+#dcaedt .sdc-catalog-container .dcae-catalog-main {
+ padding: 10px 12px;
+}
+#dcaedt .sdc-catalog-container .dcae-dashboard-catalog-header {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ display: inline-block;
+ font-style: italic;
+ font-weight: bold;
+ padding-left: 10px;
+}
+#dcaedt .sdc-catalog-container .dcae-dashboard-catalog-header-order {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ font-weight: 800;
+}
+#dcaedt .sdc-catalog-container .dcae-dashboard-catalog-sort {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ font-weight: bold;
+ white-space: pre;
+}
+#dcaedt .sdc-catalog-container .dcae-dashboard-catalog-sort:hover {
+ cursor: pointer;
+ text-decoration: none;
+ color: #3b7b9b;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .sdc-catalog-container .dcae-dashboard-catalog-sort.blue {
+ color: #3b7b9b;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+}
+#dcaedt .sdc-catalog-container .dcae-catalog-sort-arrow {
+ display: inline-block;
+}
+#dcaedt .sdc-catalog-container .dcae-catalog-sort-arrow.up {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ width: 0;
+ height: 0;
+ border-left: 5px solid transparent;
+ border-right: 5px solid transparent;
+ border-bottom: 5px solid ;
+}
+#dcaedt .sdc-catalog-container .dcae-catalog-sort-arrow.down {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ width: 0;
+ height: 0;
+ border-left: 5px solid transparent;
+ border-right: 5px solid transparent;
+ border-top: 5px solid;
+}
+#dcaedt .sdc-catalog-container .dcae-dashboard-catalog-header-right {
+ float: right;
+ display: inline-block;
+ padding-right: 34px;
+}
+#dcaedt .sdc-catalog-container .dcae-dashboard-catalog-header-right-vf {
+ top: 0px;
+ overflow: scroll;
+}
+#dcaedt .sdc-catalog-container .dcae-header-catalog-search-input {
+ width: 420px;
+ display: table-cell;
+ padding: 0 25px 1px 10px;
+ border: 1px solid #bcbcbc;
+ -webkit-border-radius: 10px;
+ -moz-border-radius: 10px;
+ border-radius: 10px;
+ height: 30px;
+ margin: 10px 30px;
+ outline: none;
+}
+#dcaedt .sdc-catalog-container .sdc-catalog-type-filter-container {
+ margin-top: -1px;
+}
+#dcaedt .sdc-catalog-container .i-sdc-designer-leftbar-section-title {
+ text-transform: uppercase;
+ color: #000000;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ line-height: 30px;
+}
+#dcaedt .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon {
+ cursor: pointer;
+ background-image: url("images/sprites/tlv-sprite.png");
+ display: inline-block;
+ vertical-align: middle;
+ background-position: -230px -59px;
+ width: 14px;
+ height: 10px;
+ transition: .3s all;
+ margin-top: -4px;
+}
+#dcaedt .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon.logo-blue {
+ background-position: -10px -20px;
+ width: 28px;
+ height: 28px;
+}
+#dcaedt .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon.user {
+ background-position: -50px -20px;
+ width: 15px;
+ height: 20px;
+}
+#dcaedt .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .facebook {
+ background-position: -10px -260px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .facebook-hover {
+ background-position: -10px -300px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .twitter {
+ background-position: -50px -260px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .twitter-hover {
+ background-position: -50px -300px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .linkedin {
+ background-position: -89px -260px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .linkedin-hover {
+ background-position: -89px -300px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .youtube {
+ background-position: -130px -260px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .youtube-hover {
+ background-position: -130px -300px;
+ width: 36px;
+ height: 36px;
+}
+#dcaedt .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .footer-open {
+ background-position: -250px -59px;
+ width: 14px;
+ height: 10px;
+}
+#dcaedt .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .footer-open-hover {
+ background-position: -250px -79px;
+ width: 14px;
+ height: 10px;
+}
+#dcaedt .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .footer-close {
+ background-position: -230px -59px;
+ width: 14px;
+ height: 10px;
+}
+#dcaedt .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .footer-close-hover {
+ background-position: -230px -79px;
+ width: 14px;
+ height: 10px;
+}
+#dcaedt .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .checkbox-disadbled {
+ background-position: -10px -60px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .checkbox {
+ background-position: -10px -60px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .checkbox-hover {
+ background-position: -10px -100px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .checkbox-checked {
+ background-position: -10px -120px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .radio-disabled {
+ background-position: -50px -60px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .radio {
+ background-position: -50px -80px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .radio-checked {
+ background-position: -50px -120px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .sdc-catalog-container .i-sdc-designer-leftbar-section-title-text {
+ margin-left: 20px;
+}
+#dcaedt .sdc-catalog-container .seperator-left,
+#dcaedt .sdc-catalog-container .seperator-right {
+ border-right: solid 1px #a8b3b9;
+ display: table-cell;
+ width: 2px;
+}
+#dcaedt .sdc-catalog-container .i-sdc-designer-leftbar-section-title.expanded .i-sdc-designer-leftbar-section-title-icon {
+ transform: rotate(180deg);
+}
+#dcaedt .sdc-catalog-container .i-sdc-designer-leftbar-section-title + .i-sdc-designer-leftbar-section-content {
+ max-height: 0px;
+ margin: 0 auto;
+ transition: all .3s;
+ overflow: hidden;
+ padding: 0 10px 0 18px;
+}
+#dcaedt .sdc-catalog-container .i-sdc-designer-leftbar-section-title.expanded + .i-sdc-designer-leftbar-section-content {
+ max-height: 9999px;
+ margin: 0 auto 1px;
+ transition: all .3s;
+ padding: 10px 18px 10px 18px;
+ overflow: hidden;
+}
+#dcaedt .dcae-search-icon {
+ position: absolute;
+ right: 40px;
+ top: 40px;
+}
+#dcaedt .dcae-search-icon.leftbar {
+ top: 19px;
+ right: 18px;
+}
+#dcaedt .dcae-search-icon.magnification {
+ background-image: url('images/sprites/sprite-global-old.png');
+ display: inline-block;
+ background-position: -49px -3138px;
+ width: 12px;
+ height: 12px;
+ cursor: pointer;
+}
+#dcaedt .dcae-search-icon.cancel {
+ background-image: url('images/sprites/sprite-global-old.png');
+ display: inline-block;
+ background-position: -104px -4040px;
+ width: 10px;
+ height: 11px;
+ cursor: pointer;
+}
+#dcaedt .dcae-main-container {
+ background-color: #ECEFF3;
+ position: absolute;
+ /*top: 0px;*/
+ left: 0;
+ right: 0;
+ /*bottom: 0px;*/
+ height: 100%;
+ overflow: auto;
+}
+#dcaedt .dcae-input-text:read-only {
+ background-color: #eaeaea;
+}
+#dcaedt .dcae-image-text-btn {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+}
+#dcaedt .dcae-round-btn {
+ position: relative;
+ z-index: 2;
+ display: inline-block;
+ color: #fff;
+ overflow: hidden;
+ z-index: 1;
+ width: 75px;
+ height: 75px;
+ line-height: 40px;
+ padding: 0;
+ background-color: #009fdb;
+ border-radius: 50%;
+ transition: .3s;
+ cursor: pointer;
+ vertical-align: middle;
+ border: 0;
+}
+#dcaedt .dcae-round-btn:disabled {
+ opacity: 0.5;
+ cursor: not-allowed !important;
+}
+#dcaedt .dcae-main-container .dcae-main-right-container {
+ background-color: #ffffff;
+ bottom: 0;
+ padding: 22px 12px;
+ position: absolute;
+ left: 240px;
+ right: 0;
+ top: 0px;
+ overflow: scroll;
+}
+#dcaedt .dcae-main-container .dcae-main-right-container > div:first-child {
+ /* scroll fix */
+ padding-bottom: 53px;
+}
+#dcaedt .sdc-loading-page {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ flex-direction: column;
+ position: absolute;
+ height: 100%;
+ width: 100%;
+}
+#dcaedt .sdc-loading-page .caption1 {
+ color: #ffffff;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+ text-align: center;
+}
+#dcaedt .sdc-loading-page .caption2 {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ display: block;
+}
+#dcaedt .dcae-dashboard-card-new {
+ border: 2px dashed #a8b3b9;
+ -webkit-border-radius: 2px;
+ -moz-border-radius: 2px;
+ border-radius: 2px;
+ cursor: pointer;
+ display: inline-block;
+ margin: 9px;
+ position: relative;
+ vertical-align: middle;
+ height: 190px;
+ width: 190px;
+}
+#dcaedt .dcae-dashboard-card-new-content {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ flex-direction: column;
+ height: 100%;
+}
+#dcaedt .dcae-import-icon {
+ background: url('images/import.svg') no-repeat center;
+ display: inline-block;
+ width: 23px;
+ height: 23px;
+ position: relative;
+}
+#dcaedt .dcae-dashboard-card-new-content-plus {
+ background: url('images/Add.png') no-repeat center;
+ display: inline-block;
+ width: 45px;
+ height: 45px;
+ position: relative;
+}
+#dcaedt .dcae-dashboard-card-new-content-plus:after {
+ color: #009fdb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ content: 'Create New Asset';
+ position: absolute;
+ top: 50px;
+ left: -36px;
+ vertical-align: -50%;
+ width: 120px;
+}
+#dcaedt .dcae-dashboard-card-import-content-plus {
+ background-image: url('images/sprites/sprite-global.png');
+ display: inline-block;
+ background-position: -100px -81px;
+ width: 23px;
+ height: 23px;
+ position: relative;
+ margin-bottom: 20px;
+}
+#dcaedt .dcae-dashboard-card-import-content-plus:after {
+ color: #959595;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ content: 'IMPORT';
+ position: absolute;
+ top: 25px;
+ left: -16px;
+ vertical-align: -50%;
+}
+#dcaedt .sdc-dashboard-create-element-container,
+#dcaedt .sdc-dashboard-import-element-container {
+ width: 140px;
+}
+#dcaedt .sdc-dashboard-create-element-container .tlv-btn.import-dcae,
+#dcaedt .sdc-dashboard-import-element-container .tlv-btn.import-dcae {
+ padding: 0;
+}
+#dcaedt .sdc-dashboard-create-element-container .tlv-btn,
+#dcaedt .sdc-dashboard-import-element-container .tlv-btn {
+ position: relative;
+ width: 100%;
+ margin-bottom: 10px;
+}
+#dcaedt .sdc-dashboard-create-element-container .tlv-btn:last-child,
+#dcaedt .sdc-dashboard-import-element-container .tlv-btn:last-child {
+ margin-bottom: 0;
+}
+#dcaedt .sdc-dashboard-create-element-container input[type="file"],
+#dcaedt .sdc-dashboard-import-element-container input[type="file"] {
+ cursor: inherit;
+ filter: alpha(opacity=0);
+ opacity: 0;
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 138px;
+ height: 30px;
+}
+#dcaedt .dcae-dashboard-card:hover {
+ border: solid 1px #d2d2d2;
+ -webkit-box-shadow: 3px 3px 2px 0px rgba(24, 24, 25, 0.05);
+ -moz-box-shadow: 3px 3px 2px 0px rgba(24, 24, 25, 0.05);
+ box-shadow: 3px 3px 2px 0px rgba(24, 24, 25, 0.05);
+}
+#dcaedt .dcae-dashboard-card:active {
+ border: solid 1px #71c5eb;
+ -webkit-box-shadow: 3px 3px 2px 0px rgba(24, 24, 25, 0.05);
+ -moz-box-shadow: 3px 3px 2px 0px rgba(24, 24, 25, 0.05);
+ box-shadow: 3px 3px 2px 0px rgba(24, 24, 25, 0.05);
+}
+#dcaedt .dcae-dashboard-card-description {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ cursor: pointer;
+ background-color: rgba(57, 73, 84, 0.9);
+ border-radius: 4px 4px 0 0;
+ bottom: 0;
+ left: 0;
+ opacity: 0;
+ padding: 10px;
+ position: absolute;
+ right: 0;
+ text-align: left;
+ top: 0;
+ word-wrap: break-word;
+ z-index: 4;
+ min-height: 100px;
+ overflow: hidden;
+}
+#dcaedt .dcae-dashboard-card-schema {
+ margin-top: 30px;
+}
+#dcaedt .dcae-dashboard-card-edit {
+ cursor: pointer;
+ position: absolute;
+ right: 13px;
+ top: 15px;
+ z-index: 2;
+}
+#dcaedt .dcae-dashboard-card-footer {
+ padding: 0 5px;
+ position: relative;
+}
+#dcaedt .dcae-dashboard-card-avatar {
+ text-transform: uppercase;
+ border-radius: 50%;
+ display: inline-block;
+ position: absolute;
+ left: -6px;
+ text-align: center;
+ top: -6px;
+}
+#dcaedt .dcae-dashboard-card-avatar span {
+ background-color: #ffffff;
+ -webkit-border-radius: 15px;
+ -moz-border-radius: 15px;
+ border-radius: 15px;
+ color: #ffffff;
+ content: '';
+ height: 30px;
+ text-align: center;
+ display: block;
+ border: solid 2px #ECEFF3;
+ padding: 3px 10px 2px 10px;
+}
+#dcaedt .dcae-dashboard-card-avatar span.VF {
+ color: #9063cd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-dashboard-card-avatar span.VF::before {
+ content: 'VF';
+}
+#dcaedt .dcae-dashboard-card-avatar span.VFC {
+ color: #9063cd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-dashboard-card-avatar span.VFC::before {
+ content: 'VFC';
+}
+#dcaedt .dcae-dashboard-card-avatar span.VFCMT {
+ color: #9063cd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-dashboard-card-avatar span.VFCMT::before {
+ content: 'VFCMT';
+}
+#dcaedt .dcae-dashboard-card-avatar span.CP {
+ color: #9063cd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-dashboard-card-avatar span.CP::before {
+ content: 'CP';
+}
+#dcaedt .dcae-dashboard-card-avatar span.VL {
+ color: #9063cd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-dashboard-card-avatar span.VL::before {
+ content: 'VL';
+}
+#dcaedt .dcae-dashboard-card-avatar span.SERVICE {
+ color: #71c5eb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-dashboard-card-avatar span.SERVICE::before {
+ content: 'S';
+}
+#dcaedt .dcae-dashboard-card-avatar span.PRODUCT {
+ color: #056bae;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+}
+#dcaedt .dcae-dashboard-card-avatar span.PRODUCT::before {
+ content: 'P';
+}
+#dcaedt .dcae-dashboard-card-avatar span.green {
+ color: #1d9a95;
+ font-family: omnes-medium, sans-serif;
+ font-size: 17px;
+}
+#dcaedt .dcae-dashboard-card-avatar span.green::before {
+ content: 'R';
+}
+#dcaedt .dcae-dashboard-card-avatar span.red {
+ color: #e85858;
+ font-family: omnes-medium, sans-serif;
+ font-size: 17px;
+}
+#dcaedt .dcae-dashboard-card-avatar span.red::before {
+ content: 'S';
+}
+#dcaedt .dcae-dashboard-card-avatar span.dblack {
+ color: #000000;
+ font-family: omnes-medium, sans-serif;
+ font-size: 17px;
+}
+#dcaedt .dcae-dashboard-card-avatar span.dblack::before {
+ content: 'P';
+}
+#dcaedt .dcae-dashboard-card-info {
+ display: inline-block;
+ vertical-align: middle;
+ max-width: 165px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+#dcaedt .dcae-dashboard-card-info-name-container {
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ margin: 0 0 2px 10px;
+}
+#dcaedt .dcae-dashboard-card-info-name {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ display: inline-block;
+ vertical-align: middle;
+ max-width: 165px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+#dcaedt .dcae-dashboard-card-info-lifecycleState {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+ display: inline-block;
+ vertical-align: middle;
+ max-width: 165px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+#dcaedt .dcae-dashboard-card-info-user {
+ color: #959595;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ line-height: 18px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ width: 100%;
+}
+#dcaedt .dcae-dashboard-card-menu-button {
+ display: inline-block;
+ padding: 12px 0 0 10px;
+ position: absolute;
+ right: 12px;
+ top: 8px;
+ border-left: solid 1px #e1e7ec;
+ height: 42px;
+}
+#dcaedt .dcae-dashboard-card-menu-button:hover .dcae-dashboard-card-menu {
+ display: block;
+}
+#dcaedt .dcae-dashboard-card-menu {
+ background-color: #ffffff;
+ border-radius: 0 0 4px 4px;
+ border-top: 3px solid #3b7b9b;
+ box-shadow: 0 2px 2px 0px rgba(0, 0, 0, 0.2);
+ color: #000000;
+ display: none;
+ min-height: 30px;
+ padding: 9px 0;
+ position: absolute;
+ right: -27px;
+ width: 208px;
+ z-index: 9;
+ max-height: 164px;
+}
+#dcaedt .dcae-dashboard-card-menu::before {
+ background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAYAAAB4ka1VAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkE1OTIzNDI1MENFQjExRTU4ODRERTI1MDM2REZCOUYzIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkE1OTIzNDI2MENFQjExRTU4ODRERTI1MDM2REZCOUYzIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTU5MjM0MjMwQ0VCMTFFNTg4NERFMjUwMzZERkI5RjMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTU5MjM0MjQwQ0VCMTFFNTg4NERFMjUwMzZERkI5RjMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4gBXTlAAAAOElEQVR42mK0rp7NgASMgZgFiE/CBJjQJPcA8U4gNkdXAJMUAGJ+ZEVMaJIwAFfEhEUSRRFAgAEAVtgJyiLAPWAAAAAASUVORK5CYII=');
+ content: '';
+ display: block;
+ height: 21px;
+ position: absolute;
+ right: 24px;
+ top: -24px;
+ width: 184px;
+ background-repeat: no-repeat;
+ background-position: 175px 16px;
+}
+#dcaedt .perfect-scrollbar {
+ position: relative;
+ overflow: hidden;
+}
+#dcaedt .scroller {
+ white-space: pre-line;
+ height: 500px;
+ overflow-y: hidden;
+ position: relative;
+}
+#dcaedt .ps-container > .ps-scrollbar-y-rail > .ps-scrollbar-y {
+ background-color: #666666;
+ -webkit-border-radius: 0px;
+ -moz-border-radius: 0px;
+ border-radius: 0px;
+ opacity: 1;
+ width: 6px;
+ margin: 0 2px;
+}
+#dcaedt .ps-container > .ps-scrollbar-y-rail {
+ -webkit-border-radius: 0px;
+ -moz-border-radius: 0px;
+ border-radius: 0px;
+ width: 10px ;
+ background-color: rgba(255, 255, 255, 0.5);
+ z-index: 1000;
+}
+#dcaedt .dcae-s-sdc-state.NOT_CERTIFIED_CHECKIN {
+ background-position: -47px -2839px;
+ width: 20px;
+ height: 19px;
+}
+#dcaedt .dcae-s-sdc-state.NOT_CERTIFIED_CHECKIN.green {
+ background-position: -70px -2839px;
+}
+#dcaedt .dcae-s-sdc-state.NOT_CERTIFIED_CHECKIN.red {
+ background-position: -93px -2839px;
+}
+#dcaedt .dcae-s-sdc-state.NOT_CERTIFIED_CHECKOUT {
+ background-position: -53px -2889px;
+ width: 14px;
+ height: 14px;
+}
+#dcaedt .dcae-s-sdc-state.NOT_CERTIFIED_CHECKOUT.green {
+ background-position: -76px -2889px;
+}
+#dcaedt .dcae-s-sdc-state.NOT_CERTIFIED_CHECKOUT.red {
+ background-position: -99px -2889px;
+}
+#dcaedt .dcae-s-sdc-state.CERTIFIED {
+ background-position: -53px -3034px;
+ width: 14px;
+ height: 16px;
+}
+#dcaedt .dcae-s-sdc-state.CERTIFIED.green {
+ background-position: -76px -3034px;
+}
+#dcaedt .dcae-s-sdc-state.CERTIFIED.red {
+ background-position: -99px -3034px;
+}
+#dcaedt .dcae-s-sdc-state.READY_FOR_CERTIFICATION {
+ background-position: -53px -2985px;
+ width: 14px;
+ height: 16px;
+}
+#dcaedt .dcae-s-sdc-state.READY_FOR_CERTIFICATION.green {
+ background-position: -76px -2985px;
+}
+#dcaedt .dcae-s-sdc-state.READY_FOR_CERTIFICATION.red {
+ background-position: -99px -2985px;
+}
+#dcaedt .dcae-s-sdc-state.CERTIFICATION_IN_PROGRESS {
+ background-position: -53px -2934px;
+ width: 14px;
+ height: 16px;
+}
+#dcaedt .dcae-s-sdc-state.CERTIFICATION_IN_PROGRESS.green {
+ background-position: -76px -2934px;
+}
+#dcaedt .dcae-s-sdc-state.CERTIFICATION_IN_PROGRESS.red {
+ background-position: -99px -2934px;
+}
+#dcaedt .dcae-s-sdc-state.DISTRIBUTED {
+ background-position: -43px -3087px;
+ width: 24px;
+ height: 14px;
+}
+#dcaedt .dcae-s-sdc-state.DISTRIBUTED.green {
+ background-position: -76px -3087px;
+}
+#dcaedt .dcae-s-sdc-state.DISTRIBUTED.red {
+ background-position: -113px -3087px;
+}
+#dcaedt .home h1 {
+ font-size: 160px;
+}
diff --git a/app/styles/app.less b/app/styles/app.less
new file mode 100755
index 0000000..54d90af
--- /dev/null
+++ b/app/styles/app.less
@@ -0,0 +1,23 @@
+#dcaedt{
+ // injector:less
+ @import '../styles/mixins.less';
+ @import '../styles/mixins_old.less';
+ @import '../styles/sdc.less';
+ @import '../styles/sprite-resource-icons.less';
+ @import '../styles/sprite-services-icons.less';
+ @import '../styles/sprite.less';
+ @import '../styles/tlv-sprite.less';
+ @import '../styles/variables.less';
+ @import '../core/header/layouts/content-with-header/header.less';
+ @import '../core/header/layouts/horizontal-navigation/header.less';
+ @import '../core/layouts/content-only/content-only.less';
+ @import '../core/layouts/content-with-header/content-with-header.less';
+ @import '../core/layouts/content-with-navigation/content-with-navigation.less';
+ @import '../core/layouts/full-page-with-header/full-page-with-header.less';
+ @import '../core/layouts/header-navigation-content/header-navigation-content.less';
+ @import '../core/navigation/layouts/horizontal-navigation/navigation.less';
+ @import '../main/dashboard/about/about.less';
+ @import '../main/dashboard/dcaedt/dcae.less';
+ @import '../main/dashboard/home/home.less';
+ // endinjector:less
+}
diff --git a/app/styles/catalog.css b/app/styles/catalog.css
new file mode 100644
index 0000000..ce3b985
--- /dev/null
+++ b/app/styles/catalog.css
@@ -0,0 +1,223 @@
+.product {
+ font-size: 140%;
+}
+#catalog {
+ width: auto;
+ overflow:hidden;
+ height: 100%;
+ font-family: helvetica;
+ //font-weight: 200;
+}
+#catalogitemlist {
+ display:inline-block;
+ overflow-x:hidden;
+ max-height: 95%;
+ width: 360px;
+ pointer-events: all;
+ //margin-top: 10px;
+ margin: 4px;
+ padding: 6px;
+ border: 1px solid rgba(50,50,50,0.5);
+ //border-radius: 11px;
+ //background: rgba(238,238,238,0.4);
+ transition: 1s;
+}
+#catalogitemlist:hover {
+ //background: rgba(238,238,238,0.9);
+}
+.catalogitems {
+ overflow-y: visible;
+ overflow-x:hidden;
+}
+.catalogitem {
+ display: unset;
+ margin: 5px;
+ //width: 320px;
+ padding: 15px;
+ padding-left: 15px;
+ padding-bottom: 15px;
+ //border-radius: 10px;
+ border: 1px dotted rgba(50,50,50,0.5);
+ overflow-x: hidden;
+}
+.catalogitem:hover {
+ border: 1px dotted rgba(50,50,50,0.5);
+}
+.inflight {
+ transform: scale(.5);
+}
+.template {
+ padding-left: 15px;
+}
+.node {
+ margin-left: 10px;
+ padding: 2px;
+ border-radius: 8px;
+}
+.node:hover {
+ background-color: rgba(0,0,0,0.15);
+}
+.nodebody {
+ padding-left: 15px;
+}
+.propinput {
+ padding-left: 15px;
+}
+.notes {
+ display: inline-block;
+ vertical-align: top;
+ text-align: left;
+ font-size: 16px;
+ padding-left: 8px;
+ width: 300px;
+}
+.dotbox {
+ width: 300px;
+ margin: 4px;
+ outline: 1px dotted rgba(50,50,50,0.5);
+}
+.nodebox {
+ max-width: 310px;
+ margin: 4px;
+ margin-left: 15px;
+ overflow:hidden;
+ line-spacing: 1.1;
+}
+.dace-label {
+ display: inline-block;
+ width: 100px;
+ text-align: left top;
+}
+.dragover {
+ background-color: gray;
+}
+.dace-input {
+ color: black;
+ border: 1px dotted rgba(50,50,50,0.5);
+ background-color: rgba(0,0,0,0);
+ font-size: 100%;
+ font-family: Raleway;
+}
+.dace-input:focus {
+ outline: 1px solid rgba(50,50,50,0.5);
+}
+#dragcover {
+ z-index: -1;
+ position:absolute;
+ left:0;
+ bottom:0;
+ width: 600;
+ height: 600;
+ -webkit-transform: scale(0.3);
+ -webkit-transform-origin: bottom left;
+ padding: 4px;
+ overflow: hidden;
+ background: #eeeeee;
+}
+#dragdiv {
+ z-index: -2;
+ position:absolute;
+ left:0;
+ bottom:0;
+ width: 600px;
+ height: auto;
+ -webkit-transform: scale(0.3);
+ -webkit-transform-origin: bottom left;
+ padding: 4px;
+ overflow: hidden;
+}
+#dragtext {
+ font-size: 350%;
+}
+#innerdragdiv {
+ width: 380px;
+ height: auto;
+ margin-left: 30px;
+ border-radius: 15;
+ overflow: hidden;
+}
+#top {
+ font-size: 200%;
+}
+#search {
+ font-size: 120%;
+ position:absolute;
+ left: 10px;
+ max-width: 900px;
+ //height: 400px;
+ line-height: 2.3;
+ overflow-x: visible;
+ margin: 0 auto;
+}
+body::-webkit-scrollbar {
+ width: 1px;
+}
+#searchfield {
+ display: block;
+ float: left;
+}
+#searchitems {
+ display: block;
+ float: left;
+ pointer-events: all;
+ height: auto;
+ width: auto;
+ max-width: 400px;
+ max-height: 300px;
+ padding: 4px;
+ margin-left: 12px;
+ overflow-x: hidden;
+ overflow-y: auto;
+ line-height: 2;
+ background: #eeeeee;
+ box-shadow: 4px 4px 50px rgba(0,0,0,1);
+}
+#searchbox {
+ font-family: Raleway;
+ pointer-events: all;
+ margin-bottom: 10px;
+}
+.searchitem {
+ pointer-events: all;
+ margin: 2px;
+ padding: 5px;
+ outline: 1px dotted rgba(50,50,50,0.5);
+}
+.searchitem:hover {
+ outline: 1px solid rgba(50,50,50,0.5);
+}
+
+
+.folder {
+ margin: 5px;
+ //width: 320px;
+ padding: 15px;
+ padding-left: 15px;
+ padding-bottom: 15px;
+ //border-radius: 10px;
+ outline: 1px dotted rgba(50,50,50,0.5);
+ overflow-x: hidden;
+}
+
+.folder:hover {
+ outline: 2px solid rgba(50,50,50,0.5);
+ //background: rgba(255,0,0,0.2);
+}
+
+.draggable {
+ //background: rgba(0,0,0,0.1);
+}
+
+.item.draggable:hover {
+ outline: 1px solid rgba(0,0,0,0.8);
+ //background: rgba(255,255,255,0.6);
+}
+
+.item {
+ padding: 2px;
+ margin: 1px;
+ margin-left: 20px;
+ display: inline-block;
+ outline: 1px solid rgba(0,0,0,0);
+}
+
diff --git a/app/styles/images/Add.png b/app/styles/images/Add.png
new file mode 100644
index 0000000..937d77d
--- /dev/null
+++ b/app/styles/images/Add.png
Binary files differ
diff --git a/app/styles/images/att_logo.png b/app/styles/images/att_logo.png
new file mode 100755
index 0000000..6321b75
--- /dev/null
+++ b/app/styles/images/att_logo.png
Binary files differ
diff --git a/app/styles/images/import.png b/app/styles/images/import.png
new file mode 100644
index 0000000..cc2171c
--- /dev/null
+++ b/app/styles/images/import.png
Binary files differ
diff --git a/app/styles/images/import.svg b/app/styles/images/import.svg
new file mode 100644
index 0000000..8329c0a
--- /dev/null
+++ b/app/styles/images/import.svg
@@ -0,0 +1,39 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="29" height="26" viewBox="0 0 29 26">
+ <metadata><?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
+<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.6-c138 79.159824, 2016/09/14-01:09:01 ">
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+ <rdf:Description rdf:about=""/>
+ </rdf:RDF>
+</x:xmpmeta>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<?xpacket end="w"?></metadata>
+<defs>
+ <style>
+ .cls-1 {
+ fill: #fff;
+ fill-rule: evenodd;
+ }
+ </style>
+ </defs>
+ <path id="Shape_127_copy" data-name="Shape 127 copy" class="cls-1" d="M353.993,160a1.21,1.21,0,0,1-.724-0.3l-6.947-6.608a1.1,1.1,0,0,1-.041-1.521,1.067,1.067,0,0,1,1.489-.042l5.171,4.909V142.076a1.053,1.053,0,1,1,2.105,0v14.357l5.17-4.909a1.065,1.065,0,0,1,1.448,1.563l-6.947,6.608A0.924,0.924,0,0,1,353.993,160Zm-14.107-1.058a1,1,0,0,0-.891,1.02V166a1,1,0,0,0,1,1h27a1,1,0,0,0,1-1V159.96a1,1,0,1,0-2-.029v5.062H341V159.96a1,1,0,0,0-.978-1.025A0.743,0.743,0,0,0,339.886,158.94Z" transform="translate(-339 -141)"/>
+</svg>
diff --git a/app/styles/images/sprites/sprite-global-old.png b/app/styles/images/sprites/sprite-global-old.png
new file mode 100644
index 0000000..a1014f5
--- /dev/null
+++ b/app/styles/images/sprites/sprite-global-old.png
Binary files differ
diff --git a/app/styles/images/sprites/sprite-global.png b/app/styles/images/sprites/sprite-global.png
new file mode 100644
index 0000000..ad6dc7a
--- /dev/null
+++ b/app/styles/images/sprites/sprite-global.png
Binary files differ
diff --git a/app/styles/images/sprites/sprite-product-icons.png b/app/styles/images/sprites/sprite-product-icons.png
new file mode 100644
index 0000000..e85467a
--- /dev/null
+++ b/app/styles/images/sprites/sprite-product-icons.png
Binary files differ
diff --git a/app/styles/images/sprites/sprite-resource-icons.png b/app/styles/images/sprites/sprite-resource-icons.png
new file mode 100644
index 0000000..90874f7
--- /dev/null
+++ b/app/styles/images/sprites/sprite-resource-icons.png
Binary files differ
diff --git a/app/styles/images/sprites/sprite-services-icons.png b/app/styles/images/sprites/sprite-services-icons.png
new file mode 100644
index 0000000..ac19fa1
--- /dev/null
+++ b/app/styles/images/sprites/sprite-services-icons.png
Binary files differ
diff --git a/app/styles/images/sprites/tlv-sprite.png b/app/styles/images/sprites/tlv-sprite.png
new file mode 100644
index 0000000..7f11c2e
--- /dev/null
+++ b/app/styles/images/sprites/tlv-sprite.png
Binary files differ
diff --git a/app/styles/mixins.less b/app/styles/mixins.less
new file mode 100755
index 0000000..2f4148f
--- /dev/null
+++ b/app/styles/mixins.less
@@ -0,0 +1,217 @@
+@import "variables";
+
+.f-color {
+ .a {color: @main_color_a;}
+ .b {color: @main_color_b;}
+ .c {color: @main_color_c;}
+ .d {color: @main_color_d;}
+ .e {color: @main_color_e;}
+ .f {color: @main_color_f;}
+ .g {color: @main_color_g;}
+ .h {color: @main_color_h;}
+ .i {color: @main_color_i;}
+ .j {color: @main_color_j;}
+ .k {color: @main_color_k;}
+ .l {color: @main_color_l;}
+ .m {color: @main_color_m;}
+ .n {color: @main_color_n;}
+ .o {color: @main_color_o;}
+ .p {color: @main_color_p;}
+
+ .q {color: @func_color_q;}
+ .r {color: @func_color_r;}
+ .s {color: @func_color_s;}
+
+ .t {color: @tlv_color_t;}
+ .u {color: @tlv_color_u;}
+ .v {color: @tlv_color_v;}
+
+
+}
+
+.f-type {
+ ._36 {
+ font-family: @font-omnes-light;
+ font-size: 36px;
+ }
+ ._24 {
+ font-family: @font-omnes-light;
+ font-size: 24px;
+ }
+ ._18_r {
+ font-family: @font-omnes-regular;
+ font-size: 18px;
+ }
+ ._18_m {
+ font-family: @font-omnes-medium;
+ font-size: 18px;
+ }
+ ._16_r {
+ font-family: @font-omnes-regular;
+ font-size: 16px;
+ }
+ ._16_m {
+ font-family: @font-omnes-medium;
+ font-size: 16px;
+ }
+ ._14_r {
+ font-family: @font-omnes-regular;
+ font-size: 14px;
+ }
+ ._14_m {
+ font-family: @font-omnes-medium;
+ font-size: 14px;
+ }
+ ._14_i {
+ font-family: @font-omnes-medium-italic;
+ font-size: 14px;
+ }
+ ._13_r {
+ font-family: @font-omnes-regular;
+ font-size: 13px;
+ }
+ ._13_m {
+ font-family: @font-omnes-medium;
+ font-size: 13px;
+ }
+ ._13_i {
+ font-family: @font-omnes-medium-italic;
+ font-size: 13px;
+ }
+ ._12_r {
+ font-family: @font-omnes-regular;
+ font-size: 12px;
+ }
+ ._12_m {
+ font-family: @font-omnes-medium;
+ font-size: 12px;
+ }
+ ._12_i {
+ font-family: @font-omnes-medium-italic;
+ font-size: 12px;
+ }
+}
+
+.buildForColor(a);
+.buildForColor(b);
+.buildForColor(c);
+.buildForColor(d);
+.buildForColor(e);
+.buildForColor(f);
+.buildForColor(g);
+.buildForColor(h);
+.buildForColor(i);
+.buildForColor(j);
+.buildForColor(k);
+.buildForColor(l);
+.buildForColor(m);
+.buildForColor(n);
+.buildForColor(o);
+.buildForColor(p);
+
+.buildForFuncColor(q);
+.buildForFuncColor(r);
+.buildForFuncColor(s);
+
+.buildForTlvColor(t);
+.buildForTlvColor(u);
+.buildForTlvColor(v);
+
+
+.buildForColor(@c){
+ .@{c}_36 { color: ~"@{main_color_@{c}}"; .f-type > ._36;}
+ .@{c}_24 { color: ~"@{main_color_@{c}}"; .f-type > ._24;}
+ .@{c}_18_r { color: ~"@{main_color_@{c}}"; .f-type > ._18_r;}
+ .@{c}_18_m { color: ~"@{main_color_@{c}}"; .f-type > ._18_m;}
+ .@{c}_16_r { color: ~"@{main_color_@{c}}"; .f-type > ._16_r;}
+ .@{c}_16_m { color: ~"@{main_color_@{c}}"; .f-type > ._16_m;}
+ .@{c}_14_r { color: ~"@{main_color_@{c}}"; .f-type > ._14_r;}
+ .@{c}_14_m { color: ~"@{main_color_@{c}}"; .f-type > ._14_m;}
+ .@{c}_14_i { color: ~"@{main_color_@{c}}"; .f-type > ._14_i;}
+ .@{c}_13_r { color: ~"@{main_color_@{c}}"; .f-type > ._13_r;}
+ .@{c}_13_m { color: ~"@{main_color_@{c}}"; .f-type > ._13_m;}
+ .@{c}_13_i { color: ~"@{main_color_@{c}}"; .f-type > ._13_i;}
+ .@{c}_12_r { color: ~"@{main_color_@{c}}"; .f-type > ._12_r;}
+ .@{c}_12_m { color: ~"@{main_color_@{c}}"; .f-type > ._12_m;}
+ .@{c}_12_i { color: ~"@{main_color_@{c}}"; .f-type > ._12_i;}
+}
+
+.buildForFuncColor(@c){
+ .@{c}_36 { color: ~"@{func_color_@{c}}"; .f-type > ._36;}
+ .@{c}_24 { color: ~"@{func_color_@{c}}"; .f-type > ._24;}
+ .@{c}_18_r { color: ~"@{func_color_@{c}}"; .f-type > ._18_r;}
+ .@{c}_18_m { color: ~"@{func_color_@{c}}"; .f-type > ._18_m;}
+ .@{c}_16_r { color: ~"@{func_color_@{c}}"; .f-type > ._16_r;}
+ .@{c}_16_m { color: ~"@{func_color_@{c}}"; .f-type > ._16_m;}
+ .@{c}_14_r { color: ~"@{func_color_@{c}}"; .f-type > ._14_r;}
+ .@{c}_14_m { color: ~"@{func_color_@{c}}"; .f-type > ._14_m;}
+ .@{c}_14_i { color: ~"@{func_color_@{c}}"; .f-type > ._14_i;}
+ .@{c}_13_r { color: ~"@{func_color_@{c}}"; .f-type > ._13_r;}
+ .@{c}_13_m { color: ~"@{func_color_@{c}}"; .f-type > ._13_m;}
+ .@{c}_13_i { color: ~"@{func_color_@{c}}"; .f-type > ._13_i;}
+ .@{c}_12_r { color: ~"@{func_color_@{c}}"; .f-type > ._12_r;}
+ .@{c}_12_m { color: ~"@{func_color_@{c}}"; .f-type > ._12_m;}
+ .@{c}_12_i { color: ~"@{func_color_@{c}}"; .f-type > ._12_i;}
+}
+
+
+.buildForTlvColor(@c){
+ .@{c}_36 { color: ~"@{tlv_color_@{c}}"; .f-type > ._36;}
+ .@{c}_24 { color: ~"@{tlv_color_@{c}}"; .f-type > ._24;}
+ .@{c}_18_r { color: ~"@{tlv_color_@{c}}"; .f-type > ._18_r;}
+ .@{c}_18_m { color: ~"@{tlv_color_@{c}}"; .f-type > ._18_m;}
+ .@{c}_16_r { color: ~"@{tlv_color_@{c}}"; .f-type > ._16_r;}
+ .@{c}_16_m { color: ~"@{tlv_color_@{c}}"; .f-type > ._16_m;}
+ .@{c}_14_r { color: ~"@{tlv_color_@{c}}"; .f-type > ._14_r;}
+ .@{c}_14_m { color: ~"@{tlv_color_@{c}}"; .f-type > ._14_m;}
+ .@{c}_14_i { color: ~"@{tlv_color_@{c}}"; .f-type > ._14_i;}
+ .@{c}_13_r { color: ~"@{tlv_color_@{c}}"; .f-type > ._13_r;}
+ .@{c}_13_m { color: ~"@{tlv_color_@{c}}"; .f-type > ._13_m;}
+ .@{c}_13_i { color: ~"@{tlv_color_@{c}}"; .f-type > ._13_i;}
+ .@{c}_12_r { color: ~"@{tlv_color_@{c}}"; .f-type > ._12_r;}
+ .@{c}_12_m { color: ~"@{tlv_color_@{c}}"; .f-type > ._12_m;}
+ .@{c}_12_i { color: ~"@{tlv_color_@{c}}"; .f-type > ._12_i;}
+}
+
+.disabled {
+ opacity: 0.4 !important;
+ cursor: auto;
+ background-color: transparent;
+ pointer-events: none;
+}
+
+/* I'm not using hidden name, can not override bower_components/bootstrap/dist/css/less/responsive-utilities.less */
+.hideme {
+ visibility: hidden;
+}
+
+.view-mode {
+ opacity: 1;
+ border: solid 1px @main_color_o;
+ background-color: #f8f8f8;
+ cursor: auto;
+
+ & + &:not(.icons-text), &.no-border-top {
+ border-top: none;
+ }
+}
+
+.no-pointer-events {
+ pointer-events: none;
+}
+
+.unselectable {
+ -moz-user-select: -moz-none;
+ -khtml-user-select: none;
+ -webkit-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+
+.selectable {
+ -moz-user-select: text;
+ -khtml-user-select: text;
+ -webkit-user-select: text;
+ -ms-user-select: text;
+ user-select: text;
+}
diff --git a/app/styles/mixins_old.less b/app/styles/mixins_old.less
new file mode 100644
index 0000000..ec7f72e
--- /dev/null
+++ b/app/styles/mixins_old.less
@@ -0,0 +1,555 @@
+
+.border-radius(@radius) {
+ -webkit-border-radius: @radius;
+ -moz-border-radius: @radius;
+ border-radius: @radius;
+}
+
+.border-radius-top-left(@radius) {
+ -webkit-border-top-left-radius: @radius;
+ -moz-border-radius-topleft: @radius;
+ -khtml-border-top-left-radius: @radius;
+ border-top-left-radius: @radius;
+}
+
+.border-radius-top-right(@radius) {
+ -webkit-border-top-right-radius: @radius;
+ -moz-border-radius-topright: @radius;
+ -khtml-border-top-right-radius: @radius;
+ border-top-right-radius: @radius;
+}
+
+.border-radius-bottom-left(@radius) {
+ -webkit-border-bottom-left-radius: @radius;
+ -moz-border-radius-bottomleft: @radius;
+ -khtml-border-bottom-left-radius: @radius;
+ border-bottom-left-radius: @radius;
+}
+
+.border-radius-bottom-right(@radius) {
+ -webkit-border-bottom-right-radius: @radius;
+ -moz-border-radius-bottomright: @radius;
+ -khtml-border-bottom-right-radius: @radius;
+ border-bottom-right-radius: @radius;
+}
+
+.opacity(@opacity: 0.5) {
+ -moz-opacity: @opacity;
+ -khtml-opacity: @opacity;
+ -webkit-opacity: @opacity;
+ opacity: @opacity;
+}
+
+.box-shadow(@arguments) {
+ -webkit-box-shadow: @arguments;
+ -moz-box-shadow: @arguments;
+ box-shadow: @arguments;
+}
+
+.backgroundColor {
+ .a {background-color: @color_a;}
+ .b {background-color: @color_b;}
+ .c {background-color: @color_c;}
+ .d {background-color: @color_d;}
+ .e {background-color: @color_e;}
+ .f {background-color: @color_f;}
+ .g {background-color: @color_g;}
+ .h {background-color: @color_h;}
+ .i {background-color: @color_i;}
+ .j {background-color: @color_j;}
+ .k {background-color: @color_k;}
+ .l {background-color: @color_l;}
+ .m {background-color: @color_m;}
+ .n {background-color: @color_n;}
+ .o {background-color: @color_o;}
+ .p {background-color: @color_p;}
+ .q {background-color: @color_q;}
+ .r {background-color: @color_r;}
+ .s {background-color: @color_s;}
+ .t {background-color: @color_t;}
+ .u {background-color: @color_u;}
+ .v {background-color: @color_v;}
+ .w {background-color: @color_w;}
+ .x {background-color: @color_x;}
+ .y {background-color: @color_y;}
+ .z {background-color: @color_z;}
+ .zz {background-color: @color_zz;}
+
+ .hover {
+ .a {background-color: @color_a_hover;}
+ .b {background-color: @color_b_hover;}
+ .c {background-color: @color_c_hover;}
+ .d {background-color: @color_d_hover;}
+ .e {background-color: @color_e_hover;}
+ .f {background-color: @color_f_hover;}
+ .g {background-color: @color_g_hover;}
+ .h {background-color: @color_h_hover;}
+ .i {background-color: @color_i_hover;}
+ .j {background-color: @color_j_hover;}
+ .k {background-color: @color_k_hover;}
+ .l {background-color: @color_l_hover;}
+ .m {background-color: @color_m_hover;}
+ .n {background-color: @color_n_hover;}
+ .o {background-color: @color_o_hover;}
+ .p {background-color: @color_p_hover;}
+ .q {background-color: @color_q_hover;}
+ .r {background-color: @color_r_hover;}
+ .s {background-color: @color_s_hover;}
+ .t {background-color: @color_t_hover;}
+ .u {background-color: @color_u_hover;}
+ .v {background-color: @color_v_hover;}
+ .w {background-color: @color_w_hover;}
+ .x {background-color: @color_x_hover;}
+ .y {background-color: @color_y_hover;}
+ .z {background-color: @color_z_hover;}
+ .zz {background-color: @color_zz_hover;}
+ }
+}
+
+.bg_a {.backgroundColor > .a;}
+.bg_b {.backgroundColor > .b;}
+.bg_c {.backgroundColor > .c;}
+.bg_d {.backgroundColor > .d;}
+.bg_e {.backgroundColor > .e;}
+.bg_f {.backgroundColor > .f;}
+.bg_g {.backgroundColor > .g;}
+.bg_h {.backgroundColor > .h;}
+.bg_i {.backgroundColor > .i;}
+.bg_j {.backgroundColor > .j;}
+.bg_k {.backgroundColor > .k;}
+.bg_l {.backgroundColor > .l;}
+.bg_m {.backgroundColor > .m;}
+.bg_n {.backgroundColor > .n;}
+.bg_o {.backgroundColor > .o;}
+.bg_p {.backgroundColor > .p;}
+.bg_q {.backgroundColor > .q;}
+.bg_r {.backgroundColor > .r;}
+.bg_s {.backgroundColor > .s;}
+.bg_t {.backgroundColor > .t;}
+.bg_u {.backgroundColor > .u;}
+.bg_v {.backgroundColor > .v;}
+.bg_w {.backgroundColor > .w;}
+.bg_x {.backgroundColor > .x;}
+.bg_y {.backgroundColor > .y;}
+.bg_z {.backgroundColor > .z;}
+.bg_zz {.backgroundColor > .zz;}
+
+.bg_a_hover {.backgroundColor > .hover > .a;}
+.bg_b_hover {.backgroundColor > .hover > .b;}
+.bg_c_hover {.backgroundColor > .hover > .c;}
+.bg_d_hover {.backgroundColor > .hover > .d;}
+.bg_e_hover {.backgroundColor > .hover > .e;}
+.bg_f_hover {.backgroundColor > .hover > .f;}
+.bg_g_hover {.backgroundColor > .hover > .g;}
+.bg_h_hover {.backgroundColor > .hover > .h;}
+.bg_i_hover {.backgroundColor > .hover > .i;}
+.bg_j_hover {.backgroundColor > .hover > .j;}
+.bg_l_hover {.backgroundColor > .hover > .l;}
+.bg_m_hover {.backgroundColor > .hover > .m;}
+.bg_n_hover {.backgroundColor > .hover > .n;}
+.bg_o_hover {.backgroundColor > .hover > .o;}
+.bg_p_hover {.backgroundColor > .hover > .p;}
+.bg_q_hover {.backgroundColor > .hover > .q;}
+.bg_r_hover {.backgroundColor > .hover > .r;}
+.bg_s_hover {.backgroundColor > .hover > .s;}
+.bg_t_hover {.backgroundColor > .hover > .t;}
+.bg_u_hover {.backgroundColor > .hover > .u;}
+.bg_v_hover {.backgroundColor > .hover > .v;}
+.bg_w_hover {.backgroundColor > .hover > .w;}
+.bg_x_hover {.backgroundColor > .hover > .x;}
+.bg_y_hover {.backgroundColor > .hover > .y;}
+.bg_z_hover {.backgroundColor > .hover > .z;}
+.bg_zz_hover {.backgroundColor > .hover > .zz;}
+
+.center {margin: 0 auto;}
+.vcenter {display: table-cell;vertical-align: middle;}
+.left {float: left;}
+.right {float: right;}
+.hand {cursor: pointer;}
+.default-pointer {cursor: default;}
+.text-center {text-align: center;}
+.display-none {display: none;}
+.nowrap {white-space: nowrap;}
+.bold {font-weight: bold;}
+.full-height {height: 100%;}
+.uppercase {text-transform: uppercase;}
+.capitalize {text-transform: capitalize;}
+.disabled {
+ //background-color: #f2f2f2;
+ //border-color: #d8d8d8;
+ //background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAIklEQVQIW2NkQAKrVq36zwjjgzhhYWGMYAEYB8RmROaABADeOQ8CXl/xfgAAAABJRU5ErkJggg==) repeat;
+ //color: @color_m;
+}
+
+.font-color {
+ .a {color: @color_a;}
+ .b {color: @color_b;}
+ .c {color: @color_c;}
+ .d {color: @color_d;}
+ .e {color: @color_e;}
+ .f {color: @color_f;}
+ .g {color: @color_g;}
+ .h {color: @color_h;}
+ .i {color: @color_i;}
+ .j {color: @color_j;}
+ .k {color: @color_k;}
+ .l {color: @color_l;}
+ .m {color: @color_m;}
+ .n {color: @color_n;}
+ .o {color: @color_o;}
+ .p {color: @color_p;}
+ .q {color: @color_q;}
+ .r {color: @color_r;}
+ .s {color: @color_s;}
+ .t {color: @color_t;}
+ .u {color: @color_t;}
+ .v {color: @color_t;}
+ .w {color: @color_t;}
+ .x {color: @color_t;}
+ .y {color: @color_t;}
+ .z {color: @color_z;}
+ .zz {color: @color_zz;}
+ }
+
+.font-type {
+ ._1 {
+ font-family: @font-omnes-regular;
+ font-size: 14px;
+ }
+ ._2 {
+ font-family: @font-omnes-regular;
+ font-size: 20px;
+ }
+ ._3 {
+ font-family: @font-omnes-regular;
+ font-size: 12px;
+ }
+ ._4 {
+ font-family: @font-omnes-regular;
+ font-size: 16px;
+ }
+ ._5 {
+ font-family: @font-omnes-medium;
+ font-size: 30px;
+ }
+ ._6 {
+ font-family: @font-omnes-medium;
+ font-size: 16px;
+ }
+ ._7 {
+ font-family: @font-omnes-medium;
+ font-size: 14px;
+ }
+ ._8 {
+ font-family: @font-omnes-regular;
+ font-size: 11px;
+ }
+ ._9 {
+ font-family: @font-omnes-regular;
+ font-size: 13px;
+ }
+ ._10 {
+ font-family: @font-omnes-regular;
+ font-size: 18px;
+ }
+ ._11 {
+ font-family: @font-omnes-medium;
+ font-size: 20px;
+ }
+ ._12 {
+ font-family: @font-omnes-medium;
+ font-size: 17px;
+ }
+ ._13 {
+ font-family: @font-omnes-medium;
+ font-size: 12px;
+ }
+ ._14 {
+ font-family: @font-omnes-medium;
+ font-size: 11px;
+ }
+ ._15 {
+ font-family: @font-omnes-medium;
+ font-size: 24px;
+ }
+ ._16 {
+ font-family: @font-omnes-regular;
+ font-size: 10px;
+ }
+ ._17 {
+ font-family: @font-omnes-medium;
+ font-size: 15px;
+ }
+ ._18 {
+ font-family: @font-omnes-regular;
+ font-size: 15px;
+ }
+ ._19 {
+ font-family: @font-omnes-medium;
+ font-size: 18px;
+ }
+}
+
+.a_1 {.font-color > .a; .font-type > ._1;}
+.a_2 {.font-color > .a; .font-type > ._2;}
+.a_3 {.font-color > .a; .font-type > ._3;}
+.a_4 {.font-color > .a; .font-type > ._4;}
+.a_5 {.font-color > .a; .font-type > ._5;}
+.a_6 {.font-color > .a; .font-type > ._6;}
+.a_7 {.font-color > .a; .font-type > ._7;}
+.a_8 {.font-color > .a; .font-type > ._8;}
+.a_9 {.font-color > .a; .font-type > ._9;}
+.a_10 {.font-color > .a; .font-type > ._10;}
+.a_15 {.font-color > .a; .font-type > ._15;}
+
+.b_1 {.font-color > .b; .font-type > ._1;}
+.b_3 {.font-color > .b; .font-type > ._3;}
+.b_4 {.font-color > .b; .font-type > ._4;}
+.b_5 {.font-color > .b; .font-type > ._5;}
+.b_6 {.font-color > .b; .font-type > ._6;}
+.b_7 {.font-color > .b; .font-type > ._7;}
+.b_9 {.font-color > .b; .font-type > ._9;}
+.b_10 {.font-color > .b; .font-type > ._10;}
+.b_11 {.font-color > .b; .font-type > ._11;}
+.b_13 {.font-color > .b; .font-type > ._13;}
+.b_15 {.font-color > .b; .font-type > ._15;}
+.b_17 {.font-color > .b; .font-type > ._17;}
+.b_19 {.font-color > .b; .font-type > ._19;}
+
+.c_1 {.font-color > .c; .font-type > ._1;}
+.c_2 {.font-color > .c; .font-type > ._2;}
+.c_3 {.font-color > .c; .font-type > ._3;}
+.c_4 {.font-color > .c; .font-type > ._4;}
+.c_5 {.font-color > .c; .font-type > ._5;}
+.c_6 {.font-color > .c; .font-type > ._6;}
+.c_7 {.font-color > .c; .font-type > ._7;}
+.c_8 {.font-color > .c; .font-type > ._8;}
+.c_9 {.font-color > .c; .font-type > ._9;}
+.c_10 {.font-color > .c; .font-type > ._10;}
+.c_11 {.font-color > .c; .font-type > ._11;}
+.c_15 {.font-color > .c; .font-type > ._15;}
+.c_16 {.font-color > .c; .font-type > ._16;}
+.c_17 {.font-color > .c; .font-type > ._17;}
+.c_18 {.font-color > .c; .font-type > ._18;}
+
+.d_1 {.font-color > .d; .font-type > ._1;}
+.d_2 {.font-color > .d; .font-type > ._2;}
+.d_3 {.font-color > .d; .font-type > ._3;}
+.d_4 {.font-color > .d; .font-type > ._4;}
+.d_5 {.font-color > .d; .font-type > ._5;}
+.d_6 {.font-color > .d; .font-type > ._6;}
+.d_12 {.font-color > .d; .font-type > ._12;}
+
+.e_1 {.font-color > .e; .font-type > ._1;}
+.e_2 {.font-color > .e; .font-type > ._2;}
+.e_3 {.font-color > .e; .font-type > ._3;}
+.e_4 {.font-color > .e; .font-type > ._4;}
+.e_5 {.font-color > .e; .font-type > ._5;}
+.e_6 {.font-color > .e; .font-type > ._6;}
+.e_7 {.font-color > .e; .font-type > ._7;}
+
+.f_1 {.font-color > .f; .font-type > ._1;}
+.f_2 {.font-color > .f; .font-type > ._2;}
+
+.g_1 {.font-color > .g; .font-type > ._1;}
+.g_2 {.font-color > .g; .font-type > ._2;}
+.g_3 {.font-color > .g; .font-type > ._3;}
+.g_4 {.font-color > .g; .font-type > ._4;}
+.g_5 {.font-color > .g; .font-type > ._5;}
+.g_6 {.font-color > .g; .font-type > ._6;}
+.g_7 {.font-color > .g; .font-type > ._7;}
+.g_8 {.font-color > .g; .font-type > ._8;}
+.g_9 {.font-color > .g; .font-type > ._9;}
+.g_10 {.font-color > .g; .font-type > ._10;}
+.g_13 {.font-color > .g; .font-type > ._13;}
+.g_14 {.font-color > .g; .font-type > ._14;}
+
+.h_1 {.font-color > .h; .font-type > ._1;}
+.h_7 {.font-color > .h; .font-type > ._7;}
+.h_9 {.font-color > .h; .font-type > ._9;}
+
+.i_1 {.font-color > .i; .font-type > ._1;}
+.i_6 {.font-color > .i; .font-type > ._6;}
+.i_11 {.font-color > .i; .font-type > ._11;}
+.i_17 {.font-color > .i; .font-type > ._17;}
+
+.l_1 {.font-color > .l; .font-type > ._1;}
+.l_9 {.font-color > .l; .font-type > ._9;}
+
+.m_4 {.font-color > .m; .font-type > ._4;}
+.m_7 {.font-color > .m; .font-type > ._7;}
+
+.p_1 {.font-color > .p; .font-type > ._1;}
+.p_3 {.font-color > .p; .font-type > ._3;}
+.p_9 {.font-color > .p; .font-type > ._9;}
+
+.q_7 {.font-color > .q; .font-type > ._7;}
+.q_9 {.font-color > .q; .font-type > ._9;}
+.q_11 {.font-color > .q; .font-type > ._11;}
+
+.r_12 {.font-color > .r; .font-type > ._12;}
+
+.t_1 {.font-color > .t; .font-type > ._1;}
+.t_7 {.font-color > .t; .font-type > ._7;}
+.t_15 {.font-color > .t; .font-type > ._15;}
+/* Added by ikram - */
+.s_12 {.font-color > .s; .font-type > ._12;}
+
+@color_a: #3b7b9b; // product category
+@color_b: #666666;
+@color_c: #ffffff;
+@color_d: #1d9a95; // dashboard service (S at the top left of the card)
+@color_e: #cdcdcd;
+@color_f: #506472; // #e0e5e9 composition right side tabs
+@color_g: #263d4d; // dashboard left sidebar categories
+@color_h: #da1f3d; // not valid
+@color_i: #445663; // dashboard left sidebar
+@color_j: #D3DBE0; // dashboard header | view left side
+@color_k: #e1e7ec; // composition item | composition right side background
+@color_l: #1e9a33; // valid
+@color_m: #a8b3b9; // composition sub category
+@color_n: #ECEFF3; // dashboard main section
+@color_o: #798996; // composition category
+@color_p: #8c8c8c; // composition relation tab?
+@color_q: #b5b5b5; // Liz please change from b6b5b5 to b5b5b5
+@color_r: #e85858; // dashboard resource (R at the top left of the card)
+@color_s: #000000; // #62727f
+@color_t: #3196c9; // #346d8a
+@color_u: #23aa63;
+@color_v: #198682;
+@color_w: #384752;
+@color_x: #c91d39;
+@color_y: #697a87;
+@color_z: #28bd6e;
+@color_zz: #93deb6;
+
+.bg_a {.backgroundColor > .a;}
+.bg_b {.backgroundColor > .b;}
+.bg_c {.backgroundColor > .c;}
+.bg_d {.backgroundColor > .d;}
+.bg_e {.backgroundColor > .e;}
+.bg_f {.backgroundColor > .f;}
+.bg_g {.backgroundColor > .g;}
+.bg_h {.backgroundColor > .h;}
+.bg_i {.backgroundColor > .i;}
+.bg_j {.backgroundColor > .j;}
+.bg_k {.backgroundColor > .k;}
+.bg_l {.backgroundColor > .l;}
+.bg_m {.backgroundColor > .m;}
+.bg_n {.backgroundColor > .n;}
+.bg_o {.backgroundColor > .o;}
+.bg_p {.backgroundColor > .p;}
+.bg_q {.backgroundColor > .q;}
+.bg_r {.backgroundColor > .r;}
+.bg_s {.backgroundColor > .s;}
+.bg_t {.backgroundColor > .t;}
+.bg_u {.backgroundColor > .u;}
+.bg_v {.backgroundColor > .v;}
+.bg_w {.backgroundColor > .w;}
+.bg_x {.backgroundColor > .x;}
+.bg_y {.backgroundColor > .y;}
+.bg_z {.backgroundColor > .z;}
+.bg_zz {.backgroundColor > .zz;}
+
+.bg_a_hover {.backgroundColor > .hover > .a;}
+.bg_b_hover {.backgroundColor > .hover > .b;}
+.bg_c_hover {.backgroundColor > .hover > .c;}
+.bg_d_hover {.backgroundColor > .hover > .d;}
+.bg_e_hover {.backgroundColor > .hover > .e;}
+.bg_f_hover {.backgroundColor > .hover > .f;}
+.bg_g_hover {.backgroundColor > .hover > .g;}
+.bg_h_hover {.backgroundColor > .hover > .h;}
+.bg_i_hover {.backgroundColor > .hover > .i;}
+.bg_j_hover {.backgroundColor > .hover > .j;}
+.bg_l_hover {.backgroundColor > .hover > .l;}
+.bg_m_hover {.backgroundColor > .hover > .m;}
+.bg_n_hover {.backgroundColor > .hover > .n;}
+.bg_o_hover {.backgroundColor > .hover > .o;}
+.bg_p_hover {.backgroundColor > .hover > .p;}
+.bg_q_hover {.backgroundColor > .hover > .q;}
+.bg_r_hover {.backgroundColor > .hover > .r;}
+.bg_s_hover {.backgroundColor > .hover > .s;}
+.bg_t_hover {.backgroundColor > .hover > .t;}
+.bg_u_hover {.backgroundColor > .hover > .u;}
+.bg_v_hover {.backgroundColor > .hover > .v;}
+.bg_w_hover {.backgroundColor > .hover > .w;}
+.bg_x_hover {.backgroundColor > .hover > .x;}
+.bg_y_hover {.backgroundColor > .hover > .y;}
+.bg_z_hover {.backgroundColor > .hover > .z;}
+.bg_zz_hover {.backgroundColor > .hover > .zz;}
+
+//Variables.css
+// Colors
+@color_a: #3b7b9b; // product category
+@color_b: #666666;
+@color_c: #ffffff;
+@color_d: #1d9a95; // dashboard service (S at the top left of the card)
+@color_e: #cdcdcd;
+@color_f: #506472; // #e0e5e9 composition right side tabs
+@color_g: #263d4d; // dashboard left sidebar categories
+@color_h: #da1f3d; // not valid
+@color_i: #445663; // dashboard left sidebar
+@color_j: #D3DBE0; // dashboard header | view left side
+@color_k: #e1e7ec; // composition item | composition right side background
+@color_l: #1e9a33; // valid
+@color_m: #a8b3b9; // composition sub category
+@color_n: #ECEFF3; // dashboard main section
+@color_o: #798996; // composition category
+@color_p: #8c8c8c; // composition relation tab?
+@color_q: #b5b5b5; // Liz please change from b6b5b5 to b5b5b5
+@color_r: #e85858; // dashboard resource (R at the top left of the card)
+@color_s: #000000; // #62727f
+@color_t: #3196c9; // #346d8a
+@color_u: #23aa63;
+@color_v: #198682;
+@color_w: #384752;
+@color_x: #c91d39;
+@color_y: #697a87;
+@color_z: #28bd6e;
+@color_zz: #93deb6;
+
+
+// Color hover
+@color_a_hover: darken(@color_a, 10.0%);
+@color_b_hover: darken(@color_b, 10.0%);
+@color_c_hover: darken(@color_c, 10.0%);
+@color_d_hover: darken(@color_d, 10.0%);
+@color_e_hover: darken(@color_e, 10.0%);
+@color_f_hover: darken(@color_f, 10.0%);
+@color_g_hover: darken(@color_g, 10.0%);
+@color_h_hover: darken(@color_h, 10.0%);
+@color_i_hover: darken(@color_i, 10.0%);
+@color_j_hover: darken(@color_j, 10.0%);
+@color_k_hover: darken(@color_k, 10.0%);
+@color_l_hover: darken(@color_l, 10.0%);
+@color_m_hover: darken(@color_m, 10.0%);
+@color_n_hover: darken(@color_n, 10.0%);
+@color_o_hover: darken(@color_o, 10.0%);
+@color_q_hover: darken(@color_q, 10.0%);
+@color_p_hover: darken(@color_p, 10.0%);
+@color_r_hover: darken(@color_r, 10.0%);
+@color_s_hover: darken(@color_s, 10.0%);
+@color_t_hover: darken(@color_t, 10.0%);
+@color_u_hover: darken(@color_u, 10.0%);
+@color_v_hover: darken(@color_v, 10.0%);
+@color_w_hover: darken(@color_w, 10.0%);
+@color_x_hover: darken(@color_x, 10.0%);
+@color_y_hover: darken(@color_y, 10.0%);
+@color_z_hover: darken(@color_z, 10.0%);
+@color_zz_hover: darken(@color_zz, 10.0%);
+
+/* to check if can delete */
+@border_color_a: #1D3A52;
+@border_color_c: #C1CDD5;
+@border_color_d: rgba(120, 136, 148, 0.26);
+@border_color_e: rgba(59, 123, 155, 0.5);
+@border_color_f: #cfcfcf;
+@border_color_g: @color_a;
+@border_color_view-mode: #ededed;
+
+// Fonts
+@font-omnes-light: omnes-light, sans-serif;
+@font-omnes-regular: omnes-regular, sans-serif;
+@font-omnes-medium: omnes-medium, sans-serif;
+@font-omnes-medium-italic: omnes-medium-italic, sans-serif;
+@font-omnes-bold: omnes-bold, sans-serif; \ No newline at end of file
diff --git a/app/styles/sdc.less b/app/styles/sdc.less
new file mode 100644
index 0000000..b26b834
--- /dev/null
+++ b/app/styles/sdc.less
@@ -0,0 +1,18385 @@
+@charset "UTF-8";
+
+.dcae-main-container {
+
+ /* Colors */
+ .sdc-bc-blue {
+ background-color: #009fdb; }
+
+ .sdc-bc-dark-blue {
+ background-color: #0568ae; }
+
+ .sdc-bc-light-blue {
+ background-color: #71c5e8; }
+
+ .sdc-bc-green {
+ background-color: #4ca90c; }
+
+ .sdc-bc-dark-green {
+ background-color: #007a3e; }
+
+ .sdc-bc-light-green {
+ background-color: #b5bd00; }
+
+ .sdc-bc-orange {
+ background-color: #ea7400; }
+
+ .sdc-bc-yellow {
+ background-color: #ffb81c; }
+
+ .sdc-bc-dark-purple {
+ background-color: #702f8a; }
+
+ .sdc-bc-purple {
+ background-color: #9063cd; }
+
+ .sdc-bc-light-purple {
+ background-color: #caa2dd; }
+
+ .sdc-bc-black {
+ background-color: #000000; }
+
+ .sdc-bc-dark-gray {
+ background-color: #5a5a5a; }
+
+ .sdc-bc-gray {
+ background-color: #959595; }
+
+ .sdc-bc-light-gray {
+ background-color: #d2d2d2; }
+
+ .sdc-bc-white {
+ background-color: #ffffff; }
+
+ /* Prefix */
+ /* Value Prefix*/
+ /* Box sizing */
+ /* Borders & Shadows */
+ /* Opacity */
+ /* Ellipsis */
+ /* Vertical placement of multuple lines of text */
+ /* transform-rotate */
+ /* transform-translate */
+ /* transform-scale */
+ /**/
+ /**/
+ /*body {*/
+ /*-webkit-touch-callout: none;*/
+ /*-webkit-user-select: none;*/
+ /*-moz-user-select: none;*/
+ /*-ms-user-select: none;*/
+ /*user-select: none; }*/
+
+ html {
+ font-size: 100%;
+ height: 100%; }
+
+ body {
+ /* scrollbar styling for Internet Explorer */
+ scrollbar-face-color: #191919;
+ scrollbar-track-color: #191919;
+ height: 100%; }
+
+ /* scrollbar styling for Google Chrome | Safari | Opera */
+ ::-webkit-scrollbar {
+ width: 8px;
+ height: 8px; }
+
+ ::-webkit-scrollbar-track {
+ background-color: transparent;
+ border-radius: 10px; }
+
+ ::-webkit-scrollbar-thumb {
+ border-radius: 10px;
+ background-color: #d2d2d2;
+ border-right: 2px solid #ffffff; }
+
+ /* Mozilla Firefox currently doesn't support scrollbar styling */
+ ul {
+ list-style: none; }
+
+ h1, h2, h3, h4, h5, h6, ul {
+ margin: 0;
+ padding: 0; }
+
+ .disabled {
+ opacity: 0.7 !important; }
+
+ fieldset {
+ border: none; }
+
+ fieldset label {
+ display: inline-block; }
+
+ .nav-tabs > li > a:focus,
+ .btn:focus,
+ .btn:active:focus,
+ .btn.active:focus {
+ outline: none; }
+
+ /* Fonts */
+ .text-lowercase {
+ text-transform: lowercase; }
+
+ .text-uppercase, .heading-3-light, .heading-3, .heading-3-medium {
+ text-transform: uppercase; }
+
+ .text-capitalize {
+ text-transform: capitalize; }
+
+ .heading-1 {
+ font-weight: 300;
+ font-size: 36px; }
+
+ .heading-2 {
+ font-weight: 300;
+ font-size: 24px; }
+
+ .heading-3-light {
+ font-weight: 300;
+ font-size: 20px; }
+
+ .heading-3 {
+ font-weight: 400;
+ font-size: 20px; }
+
+ .heading-3-medium {
+ font-weight: 600;
+ font-size: 20px; }
+
+ .heading-4 {
+ font-weight: 400;
+ font-size: 18px; }
+
+ .heading-4-medium {
+ font-weight: 600;
+ font-size: 18px; }
+
+ .heading-5 {
+ font-weight: 400;
+ font-size: 16px; }
+
+ .heading-5-medium, .catalog-tile .catalog-tile-top .catalog-tile-item-name, .sdc-tile-catalog .sdc-tile-content .sdc-tile-content-info .sdc-tile-content-info-item-name {
+ font-weight: 400;
+ line-height: 16px;
+ font-size: 16px; }
+
+ .body-1 {
+ font-weight: 400;
+ font-size: 14px; }
+
+ .body-1-medium {
+ font-weight: 600;
+ font-size: 14px; }
+
+ .body-1-light {
+ font-weight: 300;
+ font-size: 14px; }
+
+ .body-2, .catalog-tile .catalog-tile-top .catalog-tile-entity-details .catalog-tile-version-info .catalog-tile-item-version, .catalog-tile .catalog-tile-content .catalog-tile-locking-user-name, .sdc-tile-catalog .sdc-tile-content .sdc-tile-content-info .sdc-tile-content-info-version-info .sdc-tile-content-info-version-info-text, .sdc-tile-catalog .sdc-tile-footer .sdc-tile-footer-text {
+ font-weight: 400;
+ font-size: 13px; }
+
+ .body-2-medium, .catalog-tile .catalog-tile-content {
+ font-weight: 600;
+ font-size: 13px; }
+
+ .body-3 {
+ font-weight: 400;
+ font-size: 12px; }
+
+ .body-3-medium, .catalog-tile .catalog-tile-top .catalog-tile-entity-details .catalog-tile-vendor-name, .catalog-tile.vendor-type .catalog-tile-top .catalog-tile-vsp-count, .sdc-tile-catalog .sdc-tile-content .sdc-tile-content-info .sdc-tile-content-info-vendor-name {
+ font-weight: 600;
+ font-size: 12px; }
+
+ .body-3-light {
+ font-weight: 300;
+ font-size: 12px; }
+
+ .circle-icon-text {
+ font-weight: 600;
+ font-size: 14px; }
+
+ .sdc-icon {
+ display: inline-block;
+ text-rendering: auto;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ width: 16px;
+ height: 16px; }
+
+ .sdc-icon-locked {
+ background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='11' height='15' viewBox='0 0 11 15' id='locked_icon'> <metadata><?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?><x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Adobe XMP Core 5.6-c138 79.159824, 2016/09/14-01:09:01 '> <rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'> <rdf:Description rdf:about=''/> </rdf:RDF></x:xmpmeta><?xpacket end='w'?></metadata><defs> <style> .cls-1 { fill: #959595; fill-rule: evenodd; } </style> </defs> <path id='Shape_77_copy_10' data-name='Shape 77 copy 10' class='cls-1' d='M445,359a16.71,16.71,0,0,0-2.1-.009c-1.945.045-3.195,0.049-3.9,0.009v-5a1.743,1.743,0,0,1,2-2h1a1.743,1.743,0,0,1,2,2v5c0.474,0.063.343-.073,1,0,0.266,0.029,0,.279,0,0v-5a2.726,2.726,0,0,0-3-3h-1.142c-1.72-.125-2.715,1.562-2.858,3,0.088,0.009,0,7.338,0,5h0a1.891,1.891,0,0,0-2,1.689v3.461A1.823,1.823,0,0,0,437.775,366h7.448A1.823,1.823,0,0,0,447,364.15v-3.461A2.018,2.018,0,0,0,445,359Z' transform='translate(-436 -351)'/></svg>");
+ background-repeat: no-repeat; }
+
+ .sdc-icon-plus {
+ background-image: url("data:image/svg+xml;utf8,<?xml version='1.0' encoding='utf-8'?><!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --><svg version='1.1' id='plus_icon' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 19 19' style='enable-background:new 0 0 19 19;' xml:space='preserve'><g><rect y='8' width='19' height='3'/><path id='Rectangle_2139_copy' d='M8,19V0h3v19H8z'/></g></svg>");
+ background-repeat: no-repeat; }
+
+ .sdc-icon-unlocked {
+ background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='11' height='18' viewBox='0 0 11 18' id='unlocked_icon'> <metadata><?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?><x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Adobe XMP Core 5.6-c138 79.159824, 2016/09/14-01:09:01 '> <rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'> <rdf:Description rdf:about=''/> </rdf:RDF></x:xmpmeta><?xpacket end='w'?></metadata><defs> <style> .cls-1 { fill: #959595; fill-rule: evenodd; } </style> </defs> <path id='Shape_77_copy_16' data-name='Shape 77 copy 16' class='cls-1' d='M663,358a16.723,16.723,0,0,0-2.1-.009c-1.944.045-3.194,0.049-3.9,0.009v-7a1.743,1.743,0,0,1,2-2h1a1.743,1.743,0,0,1,2,2v2c0.474,0.064.343-.073,1,0,0.266,0.029,0,.279,0,0v-2a2.726,2.726,0,0,0-3-3h-1.142c-1.72-.125-2.715,1.562-2.858,3,0.088,0.009,0,9.338,0,7h0a1.891,1.891,0,0,0-2,1.689v4.461a1.823,1.823,0,0,0,1.775,1.85h7.448A1.823,1.823,0,0,0,665,364.15v-4.461A2.018,2.018,0,0,0,663,358Zm1.05,6.15a0.827,0.827,0,0,1-.8.836H655.8a0.827,0.827,0,0,1-.8-0.836l0-4.15a1.164,1.164,0,0,1,.8-1.147h7.448A1.129,1.129,0,0,1,664,360Z' transform='translate(-654 -348)'/></svg>");
+ background-repeat: no-repeat; }
+
+ .sdc-icon-vendor {
+ background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 53 47' id='vendor_icon'><title>vendor</title><g id='Layer_2' data-name='Layer 2'><g id='vlm_icon' data-name='vlm icon'><path d='M49,7,38.5,7V5.92A5.92,5.92,0,0,0,32.58,0H20.42A5.92,5.92,0,0,0,14.5,5.92V7.15L4,7.2a3.8,3.8,0,0,0-4,3.5V43.5C0,45.4,2,47,4.2,47L49,46.8a3.8,3.8,0,0,0,4-3.5V10.5A3.8,3.8,0,0,0,49,7ZM16.5,5.92A3.92,3.92,0,0,1,20.42,2H32.58A3.92,3.92,0,0,1,36.5,5.92V7.06l-20,.09ZM2,10.8A1.9,1.9,0,0,1,4,9l45-.2a1.9,1.9,0,0,1,2,1.8v8.87L32.94,24.18a6.49,6.49,0,0,0-12.89,0L2,19.51V10.8ZM31,25a4.5,4.5,0,1,1-4.5-4.5A4.5,4.5,0,0,1,31,25ZM49,45,4,45.2A1.9,1.9,0,0,1,2,43.4V21.57l18.13,4.73a6.5,6.5,0,0,0,12.74,0L51,21.53V43.21A1.9,1.9,0,0,1,49,45Z'/></g></g></svg>");
+ background-repeat: no-repeat; }
+
+ .sdc-icon-vlm {
+ background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 45 53'><title>vlm_new_icon</title><g id='Layer_2' data-name='Layer 2'><g id='vlm_icon' data-name='vlm icon'><path d='M41,2a2,2,0,0,1,2,2l.19,45a2,2,0,0,1-2,2H4a2,2,0,0,1-2-2L1.81,4a2,2,0,0,1,2-2H41m-.15-2H4A4.2,4.2,0,0,0,0,4.24L.19,49a4,4,0,0,0,4,4H41a4,4,0,0,0,4-4L44.81,4a4,4,0,0,0-4-4Z'/><rect x='14' y='11' width='17' height='2'/><rect x='14' y='18' width='10' height='2'/><polygon points='20.56 38.85 13.87 33.14 15.16 31.62 20.39 36.08 29.08 26.63 30.55 27.98 20.56 38.85'/></g></g></svg>");
+ background-repeat: no-repeat; }
+
+ .sdc-icon-vsp {
+ background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 59.5 40' id='vsp_icon'><title>vsp_new_icon</title><g id='Layer_2' data-name='Layer 2'><g id='vlm_icon' data-name='vlm icon'><path d='M58.28,30.74c-1.49-1.82-3-2.7-4.67-2.74a8.5,8.5,0,0,0-16.22-2.44,6.93,6.93,0,0,0-4.06.66A7.23,7.23,0,0,0,36.42,40H53.5a6,6,0,0,0,6-6A5.18,5.18,0,0,0,58.28,30.74ZM53.5,38H36.42a5.25,5.25,0,0,1-5.21-5.91,5.32,5.32,0,0,1,3-4.06,5,5,0,0,1,2.21-.53,5.25,5.25,0,0,1,1.35.18l.92.24L39,27A6.5,6.5,0,0,1,51.67,29v1.3l1.17-.2c1-.17,2.17-.17,3.91,2a3.18,3.18,0,0,1,.76,2A4,4,0,0,1,53.5,38Z'/><path d='M49,0,4,.17A3.79,3.79,0,0,0,0,3.69V7.94H0v2H0V36.31C0,38.35,2,40,4.25,40l20.84-.08a1,1,0,0,0,0-1.92L4,38.08a1.89,1.89,0,0,1-2-1.76V10H51v7a1,1,0,0,0,2,0V3.53A3.79,3.79,0,0,0,49,0ZM2,8V3.76A1.89,1.89,0,0,1,4,2l45-.16a1.89,1.89,0,0,1,2,1.76V8Z'/></g></g></svg>");
+ background-repeat: no-repeat; }
+
+ .svg-icon.purple {
+ fill: #9063cd; }
+
+ .svg-icon.purple-hover {
+ fill: #9063cd; }
+ .svg-icon.purple-hover:hover {
+ fill: #caa2dd; }
+
+ .svg-icon.blue {
+ fill: #009fdb; }
+
+ .svg-icon.blue-hover {
+ fill: #009fdb; }
+ .svg-icon.blue-hover:hover {
+ fill: #71c5e8; }
+
+ .svg-icon.gray {
+ fill: #959595; }
+
+ .svg-icon.gray-hover {
+ fill: #000000; }
+ .svg-icon.gray-hover:hover {
+ fill: #d2d2d2; }
+
+ .svg-icon.black {
+ fill: #000000; }
+
+ .svg-icon.black-hover {
+ fill: #000000; }
+ .svg-icon.black-hover:hover {
+ fill: #d2d2d2; }
+
+ .sdc-tile, .sdc-tile-catalog {
+ box-sizing: border-box;
+ background-color: #ffffff;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ padding: 10px;
+ cursor: pointer;
+ border: 1px solid #eaeaea;
+ box-shadow: 0.5px 0.8px 4px 0 rgba(24, 24, 25, 0.05); }
+ .sdc-tile:active, .sdc-tile-catalog:active {
+ border: 1px solid #71c5e8; }
+ .sdc-tile:hover, .sdc-tile-catalog:hover {
+ box-shadow: 0.3px 5px 12.8px 1.3px rgba(24, 24, 25, 0.15);
+ border: 1px solid #d2d2d2; }
+ .sdc-tile .sdc-tile-header, .sdc-tile-catalog .sdc-tile-header {
+ position: relative;
+ -ms-flex-negative: 0;
+ flex-shrink: 0;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: start;
+ -ms-flex-align: start;
+ align-items: flex-start;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column; }
+ .sdc-tile .sdc-tile-content, .sdc-tile-catalog .sdc-tile-content {
+ position: relative;
+ -webkit-box-flex: 1;
+ -ms-flex: 1;
+ flex: 1;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: start;
+ -ms-flex-align: start;
+ align-items: flex-start;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ overflow: auto;
+ -webkit-box-pack: justify;
+ -ms-flex-pack: justify;
+ justify-content: space-between; }
+ .sdc-tile .sdc-tile-footer, .sdc-tile-catalog .sdc-tile-footer {
+ position: relative;
+ -ms-flex-negative: 0;
+ flex-shrink: 0;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: start;
+ -ms-flex-align: start;
+ align-items: flex-start;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column; }
+
+ .sdc-tile-catalog {
+ width: 204px;
+ height: 200px; }
+ .sdc-tile-catalog .sdc-tile-header {
+ line-height: 16px; }
+ .sdc-tile-catalog .sdc-tile-header .sdc-tile-header-type {
+ font-size: 16px;
+ text-transform: uppercase; }
+ .sdc-tile-catalog .sdc-tile-header .sdc-tile-header-type.purple {
+ color: #9063cd; }
+ .sdc-tile-catalog .sdc-tile-header .sdc-tile-header-type.blue {
+ color: #009fdb; }
+ .sdc-tile-catalog .sdc-tile-content .sdc-tile-content-icon {
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ width: 100%;
+ padding-top: 25px; }
+ .sdc-tile-catalog .sdc-tile-content .sdc-tile-content-icon svg {
+ width: 60px;
+ height: 40px; }
+ .sdc-tile-catalog .sdc-tile-content .sdc-tile-content-info {
+ padding-bottom: 4px;
+ width: 180px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ width: auto;
+ white-space: nowrap;
+ display: inline-block;
+ max-width: 178px; }
+ .sdc-tile-catalog .sdc-tile-content .sdc-tile-content-info .sdc-tile-content-info-vendor-name {
+ color: #959595;
+ line-height: 12px; }
+ .sdc-tile-catalog .sdc-tile-content .sdc-tile-content-info .sdc-tile-content-info-item-name {
+ color: #191919; }
+ .sdc-tile-catalog .sdc-tile-content .sdc-tile-content-info .sdc-tile-content-info-version-info {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-pack: justify;
+ -ms-flex-pack: justify;
+ justify-content: space-between; }
+ .sdc-tile-catalog .sdc-tile-footer {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ border-top: 1px solid #eaeaea;
+ padding: 0;
+ width: 180px;
+ height: 20px; }
+ .sdc-tile-catalog .sdc-tile-footer .sdc-tile-footer-text {
+ -webkit-box-flex: 1;
+ -ms-flex: 1;
+ flex: 1;
+ padding-top: 5px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ width: auto;
+ white-space: nowrap;
+ display: inline-block;
+ max-width: 164px; }
+ .sdc-tile-catalog .sdc-tile-footer .sdc-tile-footer-icon {
+ -ms-flex-negative: 1;
+ flex-shrink: 1;
+ overflow: hidden;
+ padding-top: 5px; }
+ .sdc-tile-catalog .sdc-tile-footer .sdc-tile-footer-icon svg {
+ width: 16px;
+ height: 20px; }
+
+ /* You can add global styles to this file, and also import other style files */
+ .sdc-main-container {
+ width: 100%;
+ height: 100%;
+ }
+ /* Fonts */
+ /*---------------------------------------------- General ----------------------------------------------*/
+ /* Main Colors */
+ /* Functional Colors */
+ /* Tlv Colors */
+ /*---------------------------------------------- Parameters ----------------------------------------------*/
+ /*---------------------------------------------- General ----------------------------------------------*/
+ /* Colors */
+ /* Color hover */
+ /* to check if can delete */
+ /* Fonts */
+ .f-color .a {
+ color: #009fdb;
+ }
+ .f-color .b {
+ color: #056bae;
+ }
+ .f-color .c {
+ color: #71c5eb;
+ }
+ .f-color .d {
+ color: #4ca90c;
+ }
+ .f-color .e {
+ color: #007a3e;
+ }
+ .f-color .f {
+ color: #b5bd00;
+ }
+ .f-color .g {
+ color: #ea7499;
+ }
+ .f-color .h {
+ color: #ffb81c;
+ }
+ .f-color .i {
+ color: #702f8a;
+ }
+ .f-color .j {
+ color: #9063cd;
+ }
+ .f-color .k {
+ color: #caa2dd;
+ }
+ .f-color .l {
+ color: #000000;
+ }
+ .f-color .m {
+ color: #5a5a5a;
+ }
+ .f-color .n {
+ color: #959595;
+ }
+ .f-color .o {
+ color: #d2d2d2;
+ }
+ .f-color .p {
+ color: #ffffff;
+ }
+ .f-color .q {
+ color: #cf2a2a;
+ }
+ .f-color .r {
+ color: #f2f2f2;
+ }
+ .f-color .s {
+ color: #191919;
+ }
+ .f-color .t {
+ color: #f8f8f8;
+ }
+ .f-color .u {
+ color: #eaeaea;
+ }
+ .f-color .v {
+ color: #e6f6fb;
+ }
+ .f-type ._36 {
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+ }
+ .f-type ._24 {
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+ }
+ .f-type ._18_r {
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+ }
+ .f-type ._18_m {
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+ }
+ .f-type ._16_r {
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+ }
+ .f-type ._16_m {
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ }
+ .f-type ._14_r {
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ }
+ .f-type ._14_m {
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .f-type ._14_i {
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+ }
+ .f-type ._13_r {
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ }
+ .f-type ._13_m {
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+ }
+ .f-type ._13_i {
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+ }
+ .f-type ._12_r {
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ }
+ .f-type ._12_m {
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+ }
+ .f-type ._12_i {
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+ }
+ .a_36 {
+ color: #009fdb;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+ }
+ .a_24 {
+ color: #009fdb;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+ }
+ .a_18_r {
+ color: #009fdb;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+ }
+ .a_18_m {
+ color: #009fdb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+ }
+ .a_16_r {
+ color: #009fdb;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+ }
+ .a_16_m {
+ color: #009fdb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ }
+ .a_14_r {
+ color: #009fdb;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ }
+ .a_14_m {
+ color: #009fdb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .a_14_i {
+ color: #009fdb;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+ }
+ .a_13_r {
+ color: #009fdb;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ }
+ .a_13_m {
+ color: #009fdb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+ }
+ .a_13_i {
+ color: #009fdb;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+ }
+ .a_12_r {
+ color: #009fdb;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ }
+ .a_12_m {
+ color: #009fdb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+ }
+ .a_12_i {
+ color: #009fdb;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+ }
+ .b_36 {
+ color: #056bae;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+ }
+ .b_24 {
+ color: #056bae;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+ }
+ .b_18_r {
+ color: #056bae;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+ }
+ .b_18_m {
+ color: #056bae;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+ }
+ .b_16_r {
+ color: #056bae;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+ }
+ .b_16_m {
+ color: #056bae;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ }
+ .b_14_r {
+ color: #056bae;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ }
+ .b_14_m {
+ color: #056bae;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .b_14_i {
+ color: #056bae;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+ }
+ .b_13_r {
+ color: #056bae;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ }
+ .b_13_m {
+ color: #056bae;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+ }
+ .b_13_i {
+ color: #056bae;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+ }
+ .b_12_r {
+ color: #056bae;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ }
+ .b_12_m {
+ color: #056bae;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+ }
+ .b_12_i {
+ color: #056bae;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+ }
+ .c_36 {
+ color: #71c5eb;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+ }
+ .c_24 {
+ color: #71c5eb;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+ }
+ .c_18_r {
+ color: #71c5eb;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+ }
+ .c_18_m {
+ color: #71c5eb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+ }
+ .c_16_r {
+ color: #71c5eb;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+ }
+ .c_16_m {
+ color: #71c5eb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ }
+ .c_14_r {
+ color: #71c5eb;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ }
+ .c_14_m {
+ color: #71c5eb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .c_14_i {
+ color: #71c5eb;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+ }
+ .c_13_r {
+ color: #71c5eb;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ }
+ .c_13_m {
+ color: #71c5eb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+ }
+ .c_13_i {
+ color: #71c5eb;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+ }
+ .c_12_r {
+ color: #71c5eb;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ }
+ .c_12_m {
+ color: #71c5eb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+ }
+ .c_12_i {
+ color: #71c5eb;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+ }
+ .d_36 {
+ color: #4ca90c;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+ }
+ .d_24 {
+ color: #4ca90c;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+ }
+ .d_18_r {
+ color: #4ca90c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+ }
+ .d_18_m {
+ color: #4ca90c;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+ }
+ .d_16_r {
+ color: #4ca90c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+ }
+ .d_16_m {
+ color: #4ca90c;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ }
+ .d_14_r {
+ color: #4ca90c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ }
+ .d_14_m {
+ color: #4ca90c;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .d_14_i {
+ color: #4ca90c;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+ }
+ .d_13_r {
+ color: #4ca90c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ }
+ .d_13_m {
+ color: #4ca90c;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+ }
+ .d_13_i {
+ color: #4ca90c;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+ }
+ .d_12_r {
+ color: #4ca90c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ }
+ .d_12_m {
+ color: #4ca90c;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+ }
+ .d_12_i {
+ color: #4ca90c;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+ }
+ .e_36 {
+ color: #007a3e;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+ }
+ .e_24 {
+ color: #007a3e;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+ }
+ .e_18_r {
+ color: #007a3e;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+ }
+ .e_18_m {
+ color: #007a3e;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+ }
+ .e_16_r {
+ color: #007a3e;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+ }
+ .e_16_m {
+ color: #007a3e;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ }
+ .e_14_r {
+ color: #007a3e;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ }
+ .e_14_m {
+ color: #007a3e;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .e_14_i {
+ color: #007a3e;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+ }
+ .e_13_r {
+ color: #007a3e;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ }
+ .e_13_m {
+ color: #007a3e;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+ }
+ .e_13_i {
+ color: #007a3e;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+ }
+ .e_12_r {
+ color: #007a3e;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ }
+ .e_12_m {
+ color: #007a3e;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+ }
+ .e_12_i {
+ color: #007a3e;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+ }
+ .f_36 {
+ color: #b5bd00;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+ }
+ .f_24 {
+ color: #b5bd00;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+ }
+ .f_18_r {
+ color: #b5bd00;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+ }
+ .f_18_m {
+ color: #b5bd00;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+ }
+ .f_16_r {
+ color: #b5bd00;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+ }
+ .f_16_m {
+ color: #b5bd00;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ }
+ .f_14_r {
+ color: #b5bd00;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ }
+ .f_14_m {
+ color: #b5bd00;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .f_14_i {
+ color: #b5bd00;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+ }
+ .f_13_r {
+ color: #b5bd00;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ }
+ .f_13_m {
+ color: #b5bd00;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+ }
+ .f_13_i {
+ color: #b5bd00;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+ }
+ .f_12_r {
+ color: #b5bd00;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ }
+ .f_12_m {
+ color: #b5bd00;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+ }
+ .f_12_i {
+ color: #b5bd00;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+ }
+ .g_36 {
+ color: #ea7499;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+ }
+ .g_24 {
+ color: #ea7499;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+ }
+ .g_18_r {
+ color: #ea7499;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+ }
+ .g_18_m {
+ color: #ea7499;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+ }
+ .g_16_r {
+ color: #ea7499;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+ }
+ .g_16_m {
+ color: #ea7499;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ }
+ .g_14_r {
+ color: #ea7499;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ }
+ .g_14_m {
+ color: #ea7499;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .g_14_i {
+ color: #ea7499;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+ }
+ .g_13_r {
+ color: #ea7499;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ }
+ .g_13_m {
+ color: #ea7499;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+ }
+ .g_13_i {
+ color: #ea7499;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+ }
+ .g_12_r {
+ color: #ea7499;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ }
+ .g_12_m {
+ color: #ea7499;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+ }
+ .g_12_i {
+ color: #ea7499;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+ }
+ .h_36 {
+ color: #ffb81c;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+ }
+ .h_24 {
+ color: #ffb81c;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+ }
+ .h_18_r {
+ color: #ffb81c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+ }
+ .h_18_m {
+ color: #ffb81c;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+ }
+ .h_16_r {
+ color: #ffb81c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+ }
+ .h_16_m {
+ color: #ffb81c;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ }
+ .h_14_r {
+ color: #ffb81c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ }
+ .h_14_m {
+ color: #ffb81c;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .h_14_i {
+ color: #ffb81c;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+ }
+ .h_13_r {
+ color: #ffb81c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ }
+ .h_13_m {
+ color: #ffb81c;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+ }
+ .h_13_i {
+ color: #ffb81c;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+ }
+ .h_12_r {
+ color: #ffb81c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ }
+ .h_12_m {
+ color: #ffb81c;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+ }
+ .h_12_i {
+ color: #ffb81c;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+ }
+ .i_36 {
+ color: #702f8a;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+ }
+ .i_24 {
+ color: #702f8a;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+ }
+ .i_18_r {
+ color: #702f8a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+ }
+ .i_18_m {
+ color: #702f8a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+ }
+ .i_16_r {
+ color: #702f8a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+ }
+ .i_16_m {
+ color: #702f8a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ }
+ .i_14_r {
+ color: #702f8a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ }
+ .i_14_m {
+ color: #702f8a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .i_14_i {
+ color: #702f8a;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+ }
+ .i_13_r {
+ color: #702f8a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ }
+ .i_13_m {
+ color: #702f8a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+ }
+ .i_13_i {
+ color: #702f8a;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+ }
+ .i_12_r {
+ color: #702f8a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ }
+ .i_12_m {
+ color: #702f8a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+ }
+ .i_12_i {
+ color: #702f8a;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+ }
+ .j_36 {
+ color: #9063cd;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+ }
+ .j_24 {
+ color: #9063cd;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+ }
+ .j_18_r {
+ color: #9063cd;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+ }
+ .j_18_m {
+ color: #9063cd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+ }
+ .j_16_r {
+ color: #9063cd;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+ }
+ .j_16_m {
+ color: #9063cd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ }
+ .j_14_r {
+ color: #9063cd;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ }
+ .j_14_m {
+ color: #9063cd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .j_14_i {
+ color: #9063cd;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+ }
+ .j_13_r {
+ color: #9063cd;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ }
+ .j_13_m {
+ color: #9063cd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+ }
+ .j_13_i {
+ color: #9063cd;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+ }
+ .j_12_r {
+ color: #9063cd;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ }
+ .j_12_m {
+ color: #9063cd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+ }
+ .j_12_i {
+ color: #9063cd;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+ }
+ .k_36 {
+ color: #caa2dd;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+ }
+ .k_24 {
+ color: #caa2dd;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+ }
+ .k_18_r {
+ color: #caa2dd;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+ }
+ .k_18_m {
+ color: #caa2dd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+ }
+ .k_16_r {
+ color: #caa2dd;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+ }
+ .k_16_m {
+ color: #caa2dd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ }
+ .k_14_r {
+ color: #caa2dd;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ }
+ .k_14_m {
+ color: #caa2dd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .k_14_i {
+ color: #caa2dd;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+ }
+ .k_13_r {
+ color: #caa2dd;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ }
+ .k_13_m {
+ color: #caa2dd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+ }
+ .k_13_i {
+ color: #caa2dd;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+ }
+ .k_12_r {
+ color: #caa2dd;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ }
+ .k_12_m {
+ color: #caa2dd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+ }
+ .k_12_i {
+ color: #caa2dd;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+ }
+ .l_36 {
+ color: #000000;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+ }
+ .l_24 {
+ color: #000000;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+ }
+ .l_18_r {
+ color: #000000;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+ }
+ .l_18_m {
+ color: #000000;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+ }
+ .l_16_r {
+ color: #000000;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+ }
+ .l_16_m {
+ color: #000000;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ }
+ .l_14_r {
+ color: #000000;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ }
+ .l_14_m {
+ color: #000000;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .l_14_i {
+ color: #000000;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+ }
+ .l_13_r {
+ color: #000000;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ }
+ .l_13_m {
+ color: #000000;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+ }
+ .l_13_i {
+ color: #000000;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+ }
+ .l_12_r {
+ color: #000000;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ }
+ .l_12_m {
+ color: #000000;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+ }
+ .l_12_i {
+ color: #000000;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+ }
+ .m_36 {
+ color: #5a5a5a;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+ }
+ .m_24 {
+ color: #5a5a5a;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+ }
+ .m_18_r {
+ color: #5a5a5a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+ }
+ .m_18_m {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+ }
+ .m_16_r {
+ color: #5a5a5a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+ }
+ .m_16_m {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ }
+ .m_14_r {
+ color: #5a5a5a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ }
+ .m_14_m {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .m_14_i {
+ color: #5a5a5a;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+ }
+ .m_13_r {
+ color: #5a5a5a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ }
+ .m_13_m {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+ }
+ .m_13_i {
+ color: #5a5a5a;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+ }
+ .m_12_r {
+ color: #5a5a5a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ }
+ .m_12_m {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+ }
+ .m_12_i {
+ color: #5a5a5a;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+ }
+ .n_36 {
+ color: #959595;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+ }
+ .n_24 {
+ color: #959595;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+ }
+ .n_18_r {
+ color: #959595;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+ }
+ .n_18_m {
+ color: #959595;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+ }
+ .n_16_r {
+ color: #959595;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+ }
+ .n_16_m {
+ color: #959595;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ }
+ .n_14_r {
+ color: #959595;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ }
+ .n_14_m {
+ color: #959595;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .n_14_i {
+ color: #959595;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+ }
+ .n_13_r {
+ color: #959595;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ }
+ .n_13_m {
+ color: #959595;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+ }
+ .n_13_i {
+ color: #959595;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+ }
+ .n_12_r {
+ color: #959595;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ }
+ .n_12_m {
+ color: #959595;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+ }
+ .n_12_i {
+ color: #959595;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+ }
+ .o_36 {
+ color: #d2d2d2;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+ }
+ .o_24 {
+ color: #d2d2d2;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+ }
+ .o_18_r {
+ color: #d2d2d2;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+ }
+ .o_18_m {
+ color: #d2d2d2;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+ }
+ .o_16_r {
+ color: #d2d2d2;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+ }
+ .o_16_m {
+ color: #d2d2d2;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ }
+ .o_14_r {
+ color: #d2d2d2;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ }
+ .o_14_m {
+ color: #d2d2d2;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .o_14_i {
+ color: #d2d2d2;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+ }
+ .o_13_r {
+ color: #d2d2d2;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ }
+ .o_13_m {
+ color: #d2d2d2;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+ }
+ .o_13_i {
+ color: #d2d2d2;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+ }
+ .o_12_r {
+ color: #d2d2d2;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ }
+ .o_12_m {
+ color: #d2d2d2;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+ }
+ .o_12_i {
+ color: #d2d2d2;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+ }
+ .p_36 {
+ color: #ffffff;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+ }
+ .p_24 {
+ color: #ffffff;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+ }
+ .p_18_r {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+ }
+ .p_18_m {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+ }
+ .p_16_r {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+ }
+ .p_16_m {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ }
+ .p_14_r {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ }
+ .p_14_m {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .p_14_i {
+ color: #ffffff;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+ }
+ .p_13_r {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ }
+ .p_13_m {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+ }
+ .p_13_i {
+ color: #ffffff;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+ }
+ .p_12_r {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ }
+ .p_12_m {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+ }
+ .p_12_i {
+ color: #ffffff;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+ }
+ .q_36 {
+ color: #cf2a2a;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+ }
+ .q_24 {
+ color: #cf2a2a;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+ }
+ .q_18_r {
+ color: #cf2a2a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+ }
+ .q_18_m {
+ color: #cf2a2a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+ }
+ .q_16_r {
+ color: #cf2a2a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+ }
+ .q_16_m {
+ color: #cf2a2a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ }
+ .q_14_r {
+ color: #cf2a2a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ }
+ .q_14_m {
+ color: #cf2a2a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .q_14_i {
+ color: #cf2a2a;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+ }
+ .q_13_r {
+ color: #cf2a2a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ }
+ .q_13_m {
+ color: #cf2a2a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+ }
+ .q_13_i {
+ color: #cf2a2a;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+ }
+ .q_12_r {
+ color: #cf2a2a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ }
+ .q_12_m {
+ color: #cf2a2a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+ }
+ .q_12_i {
+ color: #cf2a2a;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+ }
+ .r_36 {
+ color: #f2f2f2;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+ }
+ .r_24 {
+ color: #f2f2f2;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+ }
+ .r_18_r {
+ color: #f2f2f2;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+ }
+ .r_18_m {
+ color: #f2f2f2;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+ }
+ .r_16_r {
+ color: #f2f2f2;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+ }
+ .r_16_m {
+ color: #f2f2f2;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ }
+ .r_14_r {
+ color: #f2f2f2;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ }
+ .r_14_m {
+ color: #f2f2f2;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .r_14_i {
+ color: #f2f2f2;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+ }
+ .r_13_r {
+ color: #f2f2f2;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ }
+ .r_13_m {
+ color: #f2f2f2;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+ }
+ .r_13_i {
+ color: #f2f2f2;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+ }
+ .r_12_r {
+ color: #f2f2f2;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ }
+ .r_12_m {
+ color: #f2f2f2;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+ }
+ .r_12_i {
+ color: #f2f2f2;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+ }
+ .s_36 {
+ color: #191919;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+ }
+ .s_24 {
+ color: #191919;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+ }
+ .s_18_r {
+ color: #191919;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+ }
+ .s_18_m {
+ color: #191919;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+ }
+ .s_16_r {
+ color: #191919;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+ }
+ .s_16_m {
+ color: #191919;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ }
+ .s_14_r {
+ color: #191919;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ }
+ .s_14_m {
+ color: #191919;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .s_14_i {
+ color: #191919;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+ }
+ .s_13_r {
+ color: #191919;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ }
+ .s_13_m {
+ color: #191919;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+ }
+ .s_13_i {
+ color: #191919;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+ }
+ .s_12_r {
+ color: #191919;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ }
+ .s_12_m {
+ color: #191919;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+ }
+ .s_12_i {
+ color: #191919;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+ }
+ .t_36 {
+ color: #f8f8f8;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+ }
+ .t_24 {
+ color: #f8f8f8;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+ }
+ .t_18_r {
+ color: #f8f8f8;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+ }
+ .t_18_m {
+ color: #f8f8f8;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+ }
+ .t_16_r {
+ color: #f8f8f8;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+ }
+ .t_16_m {
+ color: #f8f8f8;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ }
+ .t_14_r {
+ color: #f8f8f8;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ }
+ .t_14_m {
+ color: #f8f8f8;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .t_14_i {
+ color: #f8f8f8;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+ }
+ .t_13_r {
+ color: #f8f8f8;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ }
+ .t_13_m {
+ color: #f8f8f8;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+ }
+ .t_13_i {
+ color: #f8f8f8;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+ }
+ .t_12_r {
+ color: #f8f8f8;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ }
+ .t_12_m {
+ color: #f8f8f8;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+ }
+ .t_12_i {
+ color: #f8f8f8;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+ }
+ .u_36 {
+ color: #eaeaea;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+ }
+ .u_24 {
+ color: #eaeaea;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+ }
+ .u_18_r {
+ color: #eaeaea;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+ }
+ .u_18_m {
+ color: #eaeaea;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+ }
+ .u_16_r {
+ color: #eaeaea;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+ }
+ .u_16_m {
+ color: #eaeaea;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ }
+ .u_14_r {
+ color: #eaeaea;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ }
+ .u_14_m {
+ color: #eaeaea;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .u_14_i {
+ color: #eaeaea;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+ }
+ .u_13_r {
+ color: #eaeaea;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ }
+ .u_13_m {
+ color: #eaeaea;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+ }
+ .u_13_i {
+ color: #eaeaea;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+ }
+ .u_12_r {
+ color: #eaeaea;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ }
+ .u_12_m {
+ color: #eaeaea;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+ }
+ .u_12_i {
+ color: #eaeaea;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+ }
+ .v_36 {
+ color: #e6f6fb;
+ font-family: omnes-light, sans-serif;
+ font-size: 36px;
+ }
+ .v_24 {
+ color: #e6f6fb;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+ }
+ .v_18_r {
+ color: #e6f6fb;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+ }
+ .v_18_m {
+ color: #e6f6fb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+ }
+ .v_16_r {
+ color: #e6f6fb;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+ }
+ .v_16_m {
+ color: #e6f6fb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ }
+ .v_14_r {
+ color: #e6f6fb;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ }
+ .v_14_m {
+ color: #e6f6fb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .v_14_i {
+ color: #e6f6fb;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 14px;
+ }
+ .v_13_r {
+ color: #e6f6fb;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ }
+ .v_13_m {
+ color: #e6f6fb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+ }
+ .v_13_i {
+ color: #e6f6fb;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 13px;
+ }
+ .v_12_r {
+ color: #e6f6fb;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ }
+ .v_12_m {
+ color: #e6f6fb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+ }
+ .v_12_i {
+ color: #e6f6fb;
+ font-family: omnes-medium-italic, sans-serif;
+ font-size: 12px;
+ }
+ .disabled {
+ opacity: 0.4 !important;
+ cursor: auto;
+ background-color: transparent;
+ pointer-events: none;
+ }
+ /* I'm not using hidden name, can not override bower_components/bootstrap/dist/css/less/responsive-utilities.less */
+ .hideme {
+ visibility: hidden;
+ }
+ .view-mode {
+ opacity: 1;
+ border: solid 1px #d2d2d2;
+ background-color: #f8f8f8;
+ cursor: auto;
+ }
+ .view-mode + .view-mode:not(.icons-text),
+ .view-mode.no-border-top {
+ border-top: none;
+ }
+ .no-pointer-events {
+ pointer-events: none;
+ }
+ .unselectable {
+ -moz-user-select: -moz-none;
+ -webkit-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ }
+ .selectable {
+ -moz-user-select: text;
+ -webkit-user-select: text;
+ -ms-user-select: text;
+ user-select: text;
+ }
+ .font-color .a {
+ color: #3b7b9b;
+ }
+ .font-color .b {
+ color: #666666;
+ }
+ .font-color .c {
+ color: #ffffff;
+ }
+ .font-color .d {
+ color: #1d9a95;
+ }
+ .font-color .e {
+ color: #cdcdcd;
+ }
+ .font-color .f {
+ color: #506472;
+ }
+ .font-color .g {
+ color: #263d4d;
+ }
+ .font-color .h {
+ color: #da1f3d;
+ }
+ .font-color .i {
+ color: #445663;
+ }
+ .font-color .j {
+ color: #D3DBE0;
+ }
+ .font-color .k {
+ color: #e1e7ec;
+ }
+ .font-color .l {
+ color: #1e9a33;
+ }
+ .font-color .m {
+ color: #a8b3b9;
+ }
+ .font-color .n {
+ color: #ECEFF3;
+ }
+ .font-color .o {
+ color: #798996;
+ }
+ .font-color .p {
+ color: #8c8c8c;
+ }
+ .font-color .q {
+ color: #b5b5b5;
+ }
+ .font-color .r {
+ color: #e85858;
+ }
+ .font-color .s {
+ color: #000000;
+ }
+ .font-color .t {
+ color: #3196c9;
+ }
+ .font-color .u {
+ color: #3196c9;
+ }
+ .font-color .v {
+ color: #3196c9;
+ }
+ .font-color .w {
+ color: #3196c9;
+ }
+ .font-color .x {
+ color: #3196c9;
+ }
+ .font-color .y {
+ color: #3196c9;
+ }
+ .font-color .z {
+ color: #28bd6e;
+ }
+ .font-color .zz {
+ color: #93deb6;
+ }
+ .font-color .hover .a {
+ color: #2d5e76;
+ }
+ .font-color .hover .b {
+ color: #4d4d4d;
+ }
+ .font-color .hover .c {
+ color: #e6e6e6;
+ }
+ .font-color .hover .d {
+ color: #156f6b;
+ }
+ .font-color .hover .e {
+ color: #b4b4b4;
+ }
+ .font-color .hover .f {
+ color: #3b4a54;
+ }
+ .font-color .hover .g {
+ color: #15222b;
+ }
+ .font-color .hover .h {
+ color: #ad1931;
+ }
+ .font-color .hover .i {
+ color: #2f3c45;
+ }
+ .font-color .hover .j {
+ color: #b5c3cb;
+ }
+ .font-color .hover .k {
+ color: #c2ced8;
+ }
+ .font-color .hover .l {
+ color: #166f25;
+ }
+ .font-color .hover .m {
+ color: #8c9aa2;
+ }
+ .font-color .hover .n {
+ color: #cdd5df;
+ }
+ .font-color .hover .o {
+ color: #616f7b;
+ }
+ .font-color .hover .p {
+ color: #737373;
+ }
+ .font-color .hover .q {
+ color: #9c9c9c;
+ }
+ .font-color .hover .r {
+ color: #e22b2b;
+ }
+ .font-color .hover .s {
+ color: #000000;
+ }
+ .font-color .hover .t {
+ color: #2777a0;
+ }
+ .font-color .hover .u {
+ color: #1a804a;
+ }
+ .font-color .hover .v {
+ color: #115b58;
+ }
+ .font-color .hover .w {
+ color: #232d34;
+ }
+ .font-color .hover .x {
+ color: #9c172c;
+ }
+ .font-color .hover .y {
+ color: #53606a;
+ }
+ .font-color .hover .z {
+ color: #1f9356;
+ }
+ .font-color .hover .zz {
+ color: #6cd29c;
+ }
+ .font-type ._1 {
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ }
+ .font-type ._2 {
+ font-family: omnes-regular, sans-serif;
+ font-size: 20px;
+ }
+ .font-type ._3 {
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ }
+ .font-type ._4 {
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+ }
+ .font-type ._5 {
+ font-family: omnes-medium, sans-serif;
+ font-size: 30px;
+ }
+ .font-type ._6 {
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ }
+ .font-type ._7 {
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .font-type ._8 {
+ font-family: omnes-regular, sans-serif;
+ font-size: 11px;
+ }
+ .font-type ._9 {
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ }
+ .font-type ._10 {
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+ }
+ .font-type ._11 {
+ font-family: omnes-medium, sans-serif;
+ font-size: 20px;
+ }
+ .font-type ._12 {
+ font-family: omnes-medium, sans-serif;
+ font-size: 17px;
+ }
+ .font-type ._13 {
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+ }
+ .font-type ._14 {
+ font-family: omnes-medium, sans-serif;
+ font-size: 11px;
+ }
+ .font-type ._15 {
+ font-family: omnes-medium, sans-serif;
+ font-size: 24px;
+ }
+ .font-type ._16 {
+ font-family: omnes-regular, sans-serif;
+ font-size: 10px;
+ }
+ .font-type ._17 {
+ font-family: omnes-medium, sans-serif;
+ font-size: 15px;
+ }
+ .font-type ._18 {
+ font-family: omnes-regular, sans-serif;
+ font-size: 15px;
+ }
+ .font-type ._19 {
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+ }
+ .a_1 {
+ color: #3b7b9b;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ }
+ .a_2 {
+ color: #3b7b9b;
+ font-family: omnes-regular, sans-serif;
+ font-size: 20px;
+ }
+ .a_3 {
+ color: #3b7b9b;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ }
+ .a_4 {
+ color: #3b7b9b;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+ }
+ .a_5 {
+ color: #3b7b9b;
+ font-family: omnes-medium, sans-serif;
+ font-size: 30px;
+ }
+ .a_6 {
+ color: #3b7b9b;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ }
+ .a_7 {
+ color: #3b7b9b;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .a_8 {
+ color: #3b7b9b;
+ font-family: omnes-regular, sans-serif;
+ font-size: 11px;
+ }
+ .a_9 {
+ color: #3b7b9b;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ }
+ .a_10 {
+ color: #3b7b9b;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+ }
+ .a_15 {
+ color: #3b7b9b;
+ font-family: omnes-medium, sans-serif;
+ font-size: 24px;
+ }
+ .b_1 {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ }
+ .b_3 {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ }
+ .b_4 {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+ }
+ .b_5 {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 30px;
+ }
+ .b_6 {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ }
+ .b_7 {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .b_9 {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ }
+ .b_10 {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+ }
+ .b_11 {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 20px;
+ }
+ .b_13 {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+ }
+ .b_15 {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 24px;
+ }
+ .b_17 {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 15px;
+ }
+ .b_19 {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+ }
+ .c_1 {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ }
+ .c_2 {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 20px;
+ }
+ .c_3 {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ }
+ .c_4 {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+ }
+ .c_5 {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 30px;
+ }
+ .c_6 {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ }
+ .c_7 {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .c_8 {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 11px;
+ }
+ .c_9 {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ }
+ .c_10 {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+ }
+ .c_11 {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 20px;
+ }
+ .c_15 {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 24px;
+ }
+ .c_16 {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 10px;
+ }
+ .c_17 {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 15px;
+ }
+ .c_18 {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 15px;
+ }
+ .d_1 {
+ color: #1d9a95;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ }
+ .d_2 {
+ color: #1d9a95;
+ font-family: omnes-regular, sans-serif;
+ font-size: 20px;
+ }
+ .d_3 {
+ color: #1d9a95;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ }
+ .d_4 {
+ color: #1d9a95;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+ }
+ .d_5 {
+ color: #1d9a95;
+ font-family: omnes-medium, sans-serif;
+ font-size: 30px;
+ }
+ .d_6 {
+ color: #1d9a95;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ }
+ .d_12 {
+ color: #1d9a95;
+ font-family: omnes-medium, sans-serif;
+ font-size: 17px;
+ }
+ .e_1 {
+ color: #cdcdcd;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ }
+ .e_2 {
+ color: #cdcdcd;
+ font-family: omnes-regular, sans-serif;
+ font-size: 20px;
+ }
+ .e_3 {
+ color: #cdcdcd;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ }
+ .e_4 {
+ color: #cdcdcd;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+ }
+ .e_5 {
+ color: #cdcdcd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 30px;
+ }
+ .e_6 {
+ color: #cdcdcd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ }
+ .e_7 {
+ color: #cdcdcd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .f_1 {
+ color: #506472;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ }
+ .f_2 {
+ color: #506472;
+ font-family: omnes-regular, sans-serif;
+ font-size: 20px;
+ }
+ .g_1 {
+ color: #263d4d;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ }
+ .g_2 {
+ color: #263d4d;
+ font-family: omnes-regular, sans-serif;
+ font-size: 20px;
+ }
+ .g_3 {
+ color: #263d4d;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ }
+ .g_4 {
+ color: #263d4d;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+ }
+ .g_5 {
+ color: #263d4d;
+ font-family: omnes-medium, sans-serif;
+ font-size: 30px;
+ }
+ .g_6 {
+ color: #263d4d;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ }
+ .g_7 {
+ color: #263d4d;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .g_8 {
+ color: #263d4d;
+ font-family: omnes-regular, sans-serif;
+ font-size: 11px;
+ }
+ .g_9 {
+ color: #263d4d;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ }
+ .g_10 {
+ color: #263d4d;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+ }
+ .g_13 {
+ color: #263d4d;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+ }
+ .g_14 {
+ color: #263d4d;
+ font-family: omnes-medium, sans-serif;
+ font-size: 11px;
+ }
+ .h_1 {
+ color: #da1f3d;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ }
+ .h_7 {
+ color: #da1f3d;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .h_9 {
+ color: #da1f3d;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ }
+ .i_1 {
+ color: #445663;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ }
+ .i_6 {
+ color: #445663;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ }
+ .i_11 {
+ color: #445663;
+ font-family: omnes-medium, sans-serif;
+ font-size: 20px;
+ }
+ .i_17 {
+ color: #445663;
+ font-family: omnes-medium, sans-serif;
+ font-size: 15px;
+ }
+ .l_1 {
+ color: #1e9a33;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ }
+ .l_9 {
+ color: #1e9a33;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ }
+ .m_4 {
+ color: #a8b3b9;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+ }
+ .m_7 {
+ color: #a8b3b9;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .p_1 {
+ color: #8c8c8c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ }
+ .p_3 {
+ color: #8c8c8c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ }
+ .p_9 {
+ color: #8c8c8c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ }
+ .q_7 {
+ color: #b5b5b5;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .q_9 {
+ color: #b5b5b5;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ }
+ .q_11 {
+ color: #b5b5b5;
+ font-family: omnes-medium, sans-serif;
+ font-size: 20px;
+ }
+ .r_12 {
+ color: #e85858;
+ font-family: omnes-medium, sans-serif;
+ font-size: 17px;
+ }
+ .t_1 {
+ color: #3196c9;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ }
+ .t_7 {
+ color: #3196c9;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .t_15 {
+ color: #3196c9;
+ font-family: omnes-medium, sans-serif;
+ font-size: 24px;
+ }
+ /* Added by ikram - */
+ .s_12 {
+ color: #000000;
+ font-family: omnes-medium, sans-serif;
+ font-size: 17px;
+ }
+ .z_9 {
+ color: #28bd6e;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ }
+ .backgroundColor .a {
+ background-color: #3b7b9b;
+ }
+ .backgroundColor .b {
+ background-color: #666666;
+ }
+ .backgroundColor .c {
+ background-color: #ffffff;
+ }
+ .backgroundColor .d {
+ background-color: #1d9a95;
+ }
+ .backgroundColor .e {
+ background-color: #cdcdcd;
+ }
+ .backgroundColor .f {
+ background-color: #506472;
+ }
+ .backgroundColor .g {
+ background-color: #263d4d;
+ }
+ .backgroundColor .h {
+ background-color: #da1f3d;
+ }
+ .backgroundColor .i {
+ background-color: #445663;
+ }
+ .backgroundColor .j {
+ background-color: #D3DBE0;
+ }
+ .backgroundColor .k {
+ background-color: #e1e7ec;
+ }
+ .backgroundColor .l {
+ background-color: #1e9a33;
+ }
+ .backgroundColor .m {
+ background-color: #a8b3b9;
+ }
+ .backgroundColor .n {
+ background-color: #ECEFF3;
+ }
+ .backgroundColor .o {
+ background-color: #798996;
+ }
+ .backgroundColor .p {
+ background-color: #8c8c8c;
+ }
+ .backgroundColor .q {
+ background-color: #b5b5b5;
+ }
+ .backgroundColor .r {
+ background-color: #e85858;
+ }
+ .backgroundColor .s {
+ background-color: #000000;
+ }
+ .backgroundColor .t {
+ background-color: #3196c9;
+ }
+ .backgroundColor .u {
+ background-color: #23aa63;
+ }
+ .backgroundColor .v {
+ background-color: #198682;
+ }
+ .backgroundColor .w {
+ background-color: #384752;
+ }
+ .backgroundColor .x {
+ background-color: #c91d39;
+ }
+ .backgroundColor .y {
+ background-color: #697a87;
+ }
+ .backgroundColor .z {
+ background-color: #28bd6e;
+ }
+ .backgroundColor .zz {
+ background-color: #93deb6;
+ }
+ .backgroundColor .hover .a {
+ background-color: #2d5e76;
+ }
+ .backgroundColor .hover .b {
+ background-color: #4d4d4d;
+ }
+ .backgroundColor .hover .c {
+ background-color: #e6e6e6;
+ }
+ .backgroundColor .hover .d {
+ background-color: #156f6b;
+ }
+ .backgroundColor .hover .e {
+ background-color: #b4b4b4;
+ }
+ .backgroundColor .hover .f {
+ background-color: #3b4a54;
+ }
+ .backgroundColor .hover .g {
+ background-color: #15222b;
+ }
+ .backgroundColor .hover .h {
+ background-color: #ad1931;
+ }
+ .backgroundColor .hover .i {
+ background-color: #2f3c45;
+ }
+ .backgroundColor .hover .j {
+ background-color: #b5c3cb;
+ }
+ .backgroundColor .hover .k {
+ background-color: #c2ced8;
+ }
+ .backgroundColor .hover .l {
+ background-color: #166f25;
+ }
+ .backgroundColor .hover .m {
+ background-color: #8c9aa2;
+ }
+ .backgroundColor .hover .n {
+ background-color: #cdd5df;
+ }
+ .backgroundColor .hover .o {
+ background-color: #616f7b;
+ }
+ .backgroundColor .hover .p {
+ background-color: #737373;
+ }
+ .backgroundColor .hover .q {
+ background-color: #9c9c9c;
+ }
+ .backgroundColor .hover .r {
+ background-color: #e22b2b;
+ }
+ .backgroundColor .hover .s {
+ background-color: #000000;
+ }
+ .backgroundColor .hover .t {
+ background-color: #2777a0;
+ }
+ .backgroundColor .hover .u {
+ background-color: #1a804a;
+ }
+ .backgroundColor .hover .v {
+ background-color: #115b58;
+ }
+ .backgroundColor .hover .w {
+ background-color: #232d34;
+ }
+ .backgroundColor .hover .x {
+ background-color: #9c172c;
+ }
+ .backgroundColor .hover .y {
+ background-color: #53606a;
+ }
+ .backgroundColor .hover .z {
+ background-color: #1f9356;
+ }
+ .backgroundColor .hover .zz {
+ background-color: #6cd29c;
+ }
+ .bg_a {
+ background-color: #3b7b9b;
+ }
+ .bg_b {
+ background-color: #666666;
+ }
+ .bg_c {
+ background-color: #ffffff;
+ }
+ .bg_d {
+ background-color: #1d9a95;
+ }
+ .bg_e {
+ background-color: #cdcdcd;
+ }
+ .bg_f {
+ background-color: #506472;
+ }
+ .bg_g {
+ background-color: #263d4d;
+ }
+ .bg_h {
+ background-color: #da1f3d;
+ }
+ .bg_i {
+ background-color: #445663;
+ }
+ .bg_j {
+ background-color: #D3DBE0;
+ }
+ .bg_k {
+ background-color: #e1e7ec;
+ }
+ .bg_l {
+ background-color: #1e9a33;
+ }
+ .bg_m {
+ background-color: #a8b3b9;
+ }
+ .bg_n {
+ background-color: #ECEFF3;
+ }
+ .bg_o {
+ background-color: #798996;
+ }
+ .bg_p {
+ background-color: #8c8c8c;
+ }
+ .bg_q {
+ background-color: #b5b5b5;
+ }
+ .bg_r {
+ background-color: #e85858;
+ }
+ .bg_s {
+ background-color: #000000;
+ }
+ .bg_t {
+ background-color: #3196c9;
+ }
+ .bg_u {
+ background-color: #23aa63;
+ }
+ .bg_v {
+ background-color: #198682;
+ }
+ .bg_w {
+ background-color: #384752;
+ }
+ .bg_x {
+ background-color: #c91d39;
+ }
+ .bg_y {
+ background-color: #697a87;
+ }
+ .bg_z {
+ background-color: #28bd6e;
+ }
+ .bg_zz {
+ background-color: #93deb6;
+ }
+ .bg_a_hover {
+ background-color: #2d5e76;
+ }
+ .bg_b_hover {
+ background-color: #4d4d4d;
+ }
+ .bg_c_hover {
+ background-color: #e6e6e6;
+ }
+ .bg_d_hover {
+ background-color: #156f6b;
+ }
+ .bg_e_hover {
+ background-color: #b4b4b4;
+ }
+ .bg_f_hover {
+ background-color: #3b4a54;
+ }
+ .bg_g_hover {
+ background-color: #15222b;
+ }
+ .bg_h_hover {
+ background-color: #ad1931;
+ }
+ .bg_i_hover {
+ background-color: #2f3c45;
+ }
+ .bg_j_hover {
+ background-color: #b5c3cb;
+ }
+ .bg_l_hover {
+ background-color: #166f25;
+ }
+ .bg_m_hover {
+ background-color: #8c9aa2;
+ }
+ .bg_n_hover {
+ background-color: #cdd5df;
+ }
+ .bg_o_hover {
+ background-color: #616f7b;
+ }
+ .bg_p_hover {
+ background-color: #737373;
+ }
+ .bg_q_hover {
+ background-color: #9c9c9c;
+ }
+ .bg_r_hover {
+ background-color: #e22b2b;
+ }
+ .bg_s_hover {
+ background-color: #000000;
+ }
+ .bg_t_hover {
+ background-color: #2777a0;
+ }
+ .bg_u_hover {
+ background-color: #1a804a;
+ }
+ .bg_v_hover {
+ background-color: #115b58;
+ }
+ .bg_w_hover {
+ background-color: #232d34;
+ }
+ .bg_x_hover {
+ background-color: #9c172c;
+ }
+ .bg_y_hover {
+ background-color: #53606a;
+ }
+ .bg_z_hover {
+ background-color: #1f9356;
+ }
+ .bg_zz_hover {
+ background-color: #6cd29c;
+ }
+ .center {
+ margin: 0 auto;
+ }
+ .vcenter {
+ display: table-cell;
+ vertical-align: middle;
+ }
+ .left {
+ float: left;
+ }
+ .right {
+ float: right;
+ }
+ .hand {
+ cursor: pointer;
+ }
+ .default-pointer {
+ cursor: default;
+ }
+ .text-center {
+ text-align: center;
+ }
+ .display-none {
+ display: none;
+ }
+ .nowrap {
+ white-space: nowrap;
+ }
+ .bold {
+ font-weight: bold;
+ }
+ .full-height {
+ height: 100%;
+ }
+ .uppercase {
+ text-transform: uppercase;
+ }
+ .capitalize {
+ text-transform: capitalize;
+ }
+ .selfClear:after {
+ content: ".";
+ display: block;
+ height: 0px;
+ clear: both;
+ visibility: hidden;
+ }
+ .selfClear {
+ display: inline-block;
+ }
+ .clearfix:after {
+ content: ".";
+ display: block;
+ clear: both;
+ visibility: hidden;
+ line-height: 0;
+ height: 0;
+ }
+ .clearfix {
+ display: inline-block;
+ clear: both;
+ }
+ .hyphenate {
+ -ms-word-break: break-all;
+ word-break: break-all;
+ word-break: break-word;
+ -webkit-hyphens: auto;
+ -ms-hyphens: auto;
+ hyphens: auto;
+ }
+ .perfect-scrollbar {
+ position: relative;
+ overflow: hidden;
+ }
+ .noselect {
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ }
+ .sdc-ellipsis {
+ text-overflow: ellipsis;
+ overflow: hidden;
+ display: inline-block;
+ white-space: nowrap;
+ }
+ html {
+ height: 100%;
+ }
+ body {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ height: 100%;
+ margin: auto;
+ position: relative;
+ }
+ * {
+ box-sizing: border-box;
+ margin: 0;
+ }
+ html,
+ body {
+ height: 100%;
+ overflow: hidden;
+ }
+ a {
+ text-decoration: none;
+ }
+ canvas {
+ outline: none;
+ }
+ .download-artifact {
+ cursor: pointer;
+ }
+ html .w-sdc-resource-container {
+ padding: 20px 0;
+ }
+ html .ui-notification.clickable:hover {
+ opacity: 1;
+ }
+ .sprite {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ }
+ .sprite.logo {
+ background-position: -50px -100px;
+ width: 39px;
+ height: 32px;
+ }
+ .sprite.white-arrow-down {
+ background-position: -50px -200px;
+ width: 15px;
+ height: 9px;
+ }
+ .sprite.white-arrow-up {
+ background-position: -100px -200px;
+ width: 15px;
+ height: 9px;
+ }
+ .arrow-left {
+ background-position: -262px -4041px;
+ width: 11px;
+ height: 10px;
+ }
+ .sprite.tab-info {
+ background-position: -50px -300px;
+ width: 18px;
+ height: 20px;
+ }
+ .sprite.edit {
+ background-position: -51px -689px;
+ width: 31px;
+ height: 30px;
+ }
+ .sprite.details {
+ background-position: -50px -900px;
+ width: 19px;
+ height: 19px;
+ }
+ .sprite.structure {
+ background-position: -212px -3880px;
+ width: 23px;
+ height: 21px;
+ }
+ .sprite.artifacts {
+ background-position: -50px -1098px;
+ width: 20px;
+ height: 20px;
+ }
+ .sprite.menu {
+ background-position: -50px -1200px;
+ width: 17px;
+ height: 14px;
+ }
+ .sprite.catalog {
+ background-position: -53px -1303px;
+ width: 20px;
+ height: 20px;
+ }
+ .sprite.distribution {
+ background-position: -50px -1400px;
+ width: 24px;
+ height: 14px;
+ }
+ .sprite.support {
+ background-position: -50px -1500px;
+ width: 22px;
+ height: 22px;
+ }
+ .sprite.filter {
+ background-position: -50px -1600px;
+ width: 15px;
+ height: 16px;
+ }
+ .sprite.card-menu {
+ background-position: -50px -2000px;
+ width: 4px;
+ height: 16px;
+ }
+ .sprite.relationships {
+ background-position: -50px -2097px;
+ width: 26px;
+ height: 19px;
+ }
+ .sprite.lifecycle {
+ background-position: -50px -2200px;
+ width: 20px;
+ height: 20px;
+ }
+ .sprite.properties {
+ background-position: -50px -2300px;
+ width: 19px;
+ height: 19px;
+ }
+ .sprite.e-sdc-small-icon-delete {
+ background-position: -64px -2771px;
+ width: 11px;
+ height: 13px;
+ }
+ .sprite.magnification-glass {
+ background-position: -49px -3138px;
+ width: 12px;
+ height: 12px;
+ }
+ .sprite.clear-text {
+ background-position: -104px -4040px;
+ width: 10px;
+ height: 11px;
+ }
+ /*new tabs icons*/
+ .sprite.info {
+ background-position: -105px -3583px;
+ width: 18px;
+ height: 18px;
+ }
+ .sprite.information-artifacts {
+ background-position: -105px -3632px;
+ width: 20px;
+ height: 21px;
+ }
+ .sprite.deployment-artifacts {
+ background-position: -105px -3682px;
+ width: 19px;
+ height: 19px;
+ }
+ .sprite.properties {
+ background-position: -105px -3733px;
+ width: 18px;
+ height: 18px;
+ }
+ .sprite.relations {
+ background-position: -105px -3781px;
+ width: 20px;
+ height: 20px;
+ }
+ .sprite.inputs {
+ background-position: -104px -3887px;
+ width: 18px;
+ height: 14px;
+ }
+ .sprite.api {
+ background-position: -104px -3930px;
+ width: 25px;
+ height: 21px;
+ }
+ .sprite.NOT_CERTIFIED_CHECKOUT {
+ background-position: -54px -2887px;
+ width: 13px;
+ height: 13px;
+ }
+ .sprite.CERTIFICATION_IN_PROGRESS {
+ background-position: -54px -2934px;
+ width: 13px;
+ height: 16px;
+ }
+ .sprite.NOT_CERTIFIED_CHECKIN {
+ background-position: -54px -2985px;
+ width: 13px;
+ height: 15px;
+ }
+ .sprite.CERTIFIED {
+ background-position: -54px -3034px;
+ width: 13px;
+ height: 16px;
+ }
+ .sprite.READY_FOR_CERTIFICATION {
+ background-position: -49px -3087px;
+ width: 23px;
+ height: 16px;
+ }
+ .message-DEBUG {
+ background-position: -51px -3187px;
+ width: 47px;
+ height: 47px;
+ }
+ .message-INFO {
+ background-position: -51px -3187px;
+ width: 47px;
+ height: 47px;
+ }
+ .message-WARNING {
+ background-position: -51px -3187px;
+ width: 47px;
+ height: 47px;
+ }
+ .message-ERROR {
+ background-position: -51px -3187px;
+ width: 47px;
+ height: 47px;
+ }
+ .e-sdc-small-icon-eye {
+ background-position: -60px -2722px;
+ width: 20px;
+ height: 20px;
+ }
+ .e-sdc-small-icon-pencil {
+ background-position: -51px -3339px;
+ width: 12px;
+ height: 12px;
+ }
+ .e-sdc-small-icon-pad {
+ background-position: -157px -2772px;
+ width: 15px;
+ height: 12px;
+ }
+ .sprite.e-sdc-small-icon-trash {
+ background-position: -48px -300px;
+ width: 20px;
+ height: 20px;
+ }
+ .sprite.e-sdc-small-check {
+ background-position: -48px -399px;
+ width: 20px;
+ height: 20px;
+ }
+ .sprite.e-sdc-small-clone {
+ background-position: -49px -501px;
+ width: 20px;
+ height: 20px;
+ }
+ .sprite.e-sdc-small-print-screen {
+ background-position: -49px -351px;
+ width: 19px;
+ height: 20px;
+ }
+ .sprite.e-sdc-small-certification {
+ background-position: -48px -602px;
+ width: 20px;
+ height: 20px;
+ }
+ .sprite.e-sdc-small-download {
+ background-position: -51px -3390px;
+ width: 12px;
+ height: 11px;
+ }
+ .sprite.e-sdc-cloud {
+ background-position: -51px -3278px;
+ width: 24px;
+ height: 23px;
+ }
+ .sprite.e-sdc-pencil {
+ background-position: -53px -2404px;
+ width: 16px;
+ height: 16px;
+ }
+ .sprite.e-sdc-green-save {
+ background-position: -157px -4089px;
+ width: 12px;
+ height: 12px;
+ }
+ /* canvas items non-certified indicator */
+ .s-sdc-state-non-certified {
+ background-position: -157px -3386px;
+ width: 15px;
+ height: 15px;
+ }
+ /* dashboard card main icons */
+ .s-sdc-service {
+ background-position: -60px -2654px;
+ width: 14px;
+ height: 17px;
+ }
+ .s-sdc-resource {
+ background-position: -54px -2585px;
+ width: 16px;
+ height: 16px;
+ }
+ /* dashboard card statuses icons */
+ .s-sdc-state.NOT_CERTIFIED_CHECKIN {
+ background-position: -47px -2839px;
+ width: 20px;
+ height: 19px;
+ }
+ .s-sdc-state.NOT_CERTIFIED_CHECKIN.green {
+ background-position: -70px -2839px;
+ }
+ .s-sdc-state.NOT_CERTIFIED_CHECKIN.red {
+ background-position: -93px -2839px;
+ }
+ .s-sdc-state.NOT_CERTIFIED_CHECKOUT {
+ background-position: -53px -2889px;
+ width: 14px;
+ height: 14px;
+ }
+ .s-sdc-state.NOT_CERTIFIED_CHECKOUT.green {
+ background-position: -76px -2889px;
+ }
+ .s-sdc-state.NOT_CERTIFIED_CHECKOUT.red {
+ background-position: -99px -2889px;
+ }
+ .s-sdc-state.CERTIFIED {
+ background-position: -53px -3034px;
+ width: 14px;
+ height: 16px;
+ }
+ .s-sdc-state.CERTIFIED.green {
+ background-position: -76px -3034px;
+ }
+ .s-sdc-state.CERTIFIED.red {
+ background-position: -99px -3034px;
+ }
+ .s-sdc-state.READY_FOR_CERTIFICATION {
+ background-position: -53px -2985px;
+ width: 14px;
+ height: 16px;
+ }
+ .s-sdc-state.READY_FOR_CERTIFICATION.green {
+ background-position: -76px -2985px;
+ }
+ .s-sdc-state.READY_FOR_CERTIFICATION.red {
+ background-position: -99px -2985px;
+ }
+ .s-sdc-state.CERTIFICATION_IN_PROGRESS {
+ background-position: -53px -2934px;
+ width: 14px;
+ height: 16px;
+ }
+ .s-sdc-state.CERTIFICATION_IN_PROGRESS.green {
+ background-position: -76px -2934px;
+ }
+ .s-sdc-state.CERTIFICATION_IN_PROGRESS.red {
+ background-position: -99px -2934px;
+ }
+ .s-sdc-state.DISTRIBUTED {
+ background-position: -43px -3087px;
+ width: 24px;
+ height: 14px;
+ }
+ .s-sdc-state.DISTRIBUTED.green {
+ background-position: -76px -3087px;
+ }
+ .s-sdc-state.DISTRIBUTED.red {
+ background-position: -113px -3087px;
+ }
+ .sprite.e-sdc-small-blue-down-arrow {
+ background-position: -51px -3262px;
+ width: 10px;
+ height: 7px;
+ }
+ .sprite.e-sdc-small-blue-up-arrow {
+ background-position: -111px -3262px;
+ width: 10px;
+ height: 7px;
+ }
+ .e-checkbox-unchecked {
+ background-position: -51px -3490px;
+ width: 12px;
+ height: 11px;
+ }
+ .e-checkbox-checked {
+ background-position: -103px -3490px;
+ width: 12px;
+ height: 11px;
+ }
+ .e-checkbox-unchecked-disabled {
+ background-position: -265px -3490px;
+ width: 12px;
+ height: 11px;
+ }
+ /* viewer modal */
+ .sprite.x-btn {
+ background-position: -50px -3438px;
+ width: 14px;
+ height: 13px;
+ }
+ .sprite.x-btn:hover {
+ background-position: -103px -3438px;
+ width: 14px;
+ height: 13px;
+ }
+ .sprite.x-btn-white {
+ background-position: -157px -3437px;
+ width: 14px;
+ height: 13px;
+ }
+ .sprite.x-btn-white:hover {
+ background-position: -211px -3438px;
+ width: 14px;
+ height: 13px;
+ }
+ .sprite.x-btn-black {
+ background-position: -52px -4041px;
+ width: 10px;
+ height: 11px;
+ }
+ .sprite.x-btn-black:hover {
+ background-position: -104px -4041px;
+ width: 10px;
+ height: 11px;
+ }
+ .sprite.small-x-btn-black {
+ background-position: -157px -4044px;
+ width: 8px;
+ height: 8px;
+ }
+ .sprite.small-x-btn-black:hover {
+ background-position: -211px -4044px;
+ width: 8px;
+ height: 8px;
+ }
+ /* input file upload icons */
+ .sprite.upload-icon {
+ background-position: -51px -3286px;
+ width: 16px;
+ height: 15px;
+ }
+ .sprite.upload-icon-hover {
+ background-position: -104px -3286px;
+ }
+ .sprite.uploaded {
+ background-position: -143px -3283px;
+ width: 18px;
+ height: 18px;
+ }
+ .sprite.change-file {
+ background-position: -261px -3285px;
+ width: 22px;
+ height: 16px;
+ }
+ .sprite.change-file-hover {
+ background-position: -211px -3285px;
+ }
+ .sprite.e-sdc-small-icon-upload {
+ background-position: -104px -4188px;
+ width: 12px;
+ height: 13px;
+ }
+ /* error messages icons */
+ .exclamation-mark-white-icon {
+ background-position: -51px -3990px;
+ width: 13px;
+ height: 11px;
+ }
+ .exclamation-mark-red-icon {
+ background-position: -212px -3990px;
+ width: 13px;
+ height: 11px;
+ }
+ .question-message-icon-gray {
+ background-position: -104px -3987px;
+ width: 14px;
+ height: 14px;
+ }
+ .question-message-icon-white {
+ background-position: -158px -3987px;
+ width: 14px;
+ height: 14px;
+ }
+ /* wizard icons */
+ .sprite.table-arrow {
+ background-position: -57px -4241px;
+ width: 7px;
+ height: 10px;
+ }
+ .sprite.table-arrow.opened {
+ background-position: -54px -4295px;
+ width: 10px;
+ height: 6px;
+ }
+ .sprite-green-tick {
+ background-position: -157px -3290px;
+ width: 15px;
+ height: 11px;
+ }
+ /* tags category relation icon*/
+ .sprite.relation-icon {
+ background-position: -100px -4351px;
+ width: 24px;
+ height: 24px;
+ }
+ .sprite.relation-icon-hover {
+ background-position: -52px -4351px;
+ width: 24px;
+ height: 24px;
+ }
+ .sprite-new {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ }
+ .add-icon {
+ background-position: -50px -77px;
+ width: 23px;
+ height: 23px;
+ }
+ .add-icon-hover {
+ background-position: -150px -77px;
+ width: 23px;
+ height: 23px;
+ }
+ .import-icon {
+ background-position: -100px -81px;
+ width: 23px;
+ height: 23px;
+ }
+ .add-icon-blue {
+ background-position: -350px -125px;
+ width: 18px;
+ height: 18px;
+ }
+ .add-icon-blue-hover {
+ background-position: -400px -125px;
+ width: 18px;
+ height: 18px;
+ }
+ .video-icon {
+ background-position: -54px -113px;
+ width: 33px;
+ height: 26px;
+ }
+ .video-icon_1 {
+ background-position: -104px -113px;
+ width: 33px;
+ height: 26px;
+ }
+ .video-icon_2 {
+ background-position: -154px -113px;
+ width: 33px;
+ height: 26px;
+ }
+ .video-icon_disabled {
+ background-position: -204px -113px;
+ width: 33px;
+ height: 26px;
+ }
+ .video-icon_focus {
+ background-position: -250px -111px;
+ width: 41px;
+ height: 32px;
+ }
+ .vsp-list-icon {
+ background-position: -54px -143px;
+ width: 26px;
+ height: 29px;
+ }
+ .vsp-list-icon-active {
+ background-position: -104px -143px;
+ width: 26px;
+ height: 29px;
+ }
+ .vsp-list-icon:active:not(.disable) {
+ background-position: -104px -143px;
+ width: 26px;
+ height: 29px;
+ }
+ .vsp-list-icon-hover {
+ background-position: -154px -143px;
+ width: 26px;
+ height: 29px;
+ }
+ .vsp-list-icon:hover:not(.disable) {
+ background-position: -154px -143px;
+ width: 26px;
+ height: 29px;
+ }
+ .vsp-list-icon.disable {
+ background-position: -204px -143px;
+ width: 26px;
+ height: 29px;
+ }
+ .info-icon {
+ background-position: -50px -179px;
+ width: 14px;
+ height: 14px;
+ }
+ .info-icon_1 {
+ background-position: -100px -179px;
+ width: 14px;
+ height: 14px;
+ }
+ .plus-icon {
+ background-position: -50px -231px;
+ width: 12px;
+ height: 12px;
+ }
+ .plus-icon-hover {
+ background-position: -100px -231px;
+ width: 12px;
+ height: 12px;
+ }
+ .delete-icon {
+ background-position: -675px -231px;
+ width: 11px;
+ height: 13px;
+ }
+ .delete-icon-hover {
+ background-position: -702px -231px;
+ width: 11px;
+ height: 13px;
+ }
+ .arrow-up {
+ background-position: -350px -236px;
+ width: 12px;
+ height: 7px;
+ }
+ .arrow-up-hover {
+ background-position: -400px -236px;
+ width: 12px;
+ height: 7px;
+ }
+ .arrow-up-small {
+ background-position: -250px -237px;
+ width: 12px;
+ height: 6px;
+ }
+ .arrow-up-small-hover {
+ background-position: -300px -237px;
+ width: 12px;
+ height: 6px;
+ }
+ .sort-arrows {
+ background-position: -450px -231px;
+ width: 8px;
+ height: 12px;
+ }
+ .sort-arrows-hover {
+ background-position: -500px -231px;
+ width: 8px;
+ height: 12px;
+ }
+ .arrow-right {
+ background-position: -550px -235px;
+ width: 5px;
+ height: 8px;
+ }
+ .arrow-right-hover {
+ background-position: -600px -235px;
+ width: 5px;
+ height: 8px;
+ }
+ .menu-open-left {
+ background-position: -350px -283px;
+ width: 6px;
+ height: 10px;
+ }
+ .menu-open-right {
+ background-position: -400px -283px;
+ width: 6px;
+ height: 10px;
+ }
+ .private-status-icon {
+ background-position: -50px -326px;
+ width: 21px;
+ height: 17px;
+ }
+ .in-design-status-icon {
+ background-position: -307px -327px;
+ width: 16px;
+ height: 16px;
+ }
+ .checkout-editable-status-icon {
+ background-position: -100px -326px;
+ width: 24px;
+ height: 17px;
+ }
+ .checkin-status-icon {
+ background-position: -200px -326px;
+ width: 24px;
+ height: 17px;
+ }
+ .checkout-not-editable-status-icon {
+ background-position: -150px -326px;
+ width: 24px;
+ height: 17px;
+ }
+ .x-btn {
+ background-position: -50px -419px;
+ width: 24px;
+ height: 24px;
+ }
+ .x-btn:hover {
+ background-position: -50px -447px;
+ width: 24px;
+ height: 24px;
+ }
+ .x-btn:active {
+ background-position: -50px -479px;
+ width: 24px;
+ height: 24px;
+ }
+ .delete-btn {
+ background-position: -140px -419px;
+ width: 24px;
+ height: 24px;
+ }
+ .delete-btn:hover:not(.disable) {
+ background-position: -140px -447px;
+ width: 24px;
+ height: 24px;
+ }
+ .delete-btn:active:not(.disable) {
+ background-position: -140px -479px;
+ width: 24px;
+ height: 24px;
+ }
+ .delete-btn.disable {
+ background-position: -140px -539px;
+ width: 24px;
+ height: 24px;
+ }
+ .save-btn {
+ background-position: -230px -419px;
+ width: 24px;
+ height: 24px;
+ }
+ .save-btn:hover:not(.disable) {
+ background-position: -230px -447px;
+ width: 24px;
+ height: 24px;
+ }
+ .save-btn:active:not(.disable) {
+ background-position: -230px -479px;
+ width: 24px;
+ height: 24px;
+ }
+ .save-btn.disable {
+ background-position: -230px -539px;
+ width: 24px;
+ height: 24px;
+ }
+ .revert-btn {
+ background-position: -200px -419px;
+ width: 24px;
+ height: 24px;
+ }
+ .revert-btn:hover:not(.disable) {
+ background-position: -200px -447px;
+ width: 24px;
+ height: 24px;
+ }
+ .revert-btn:active:not(.disable) {
+ background-position: -200px -479px;
+ width: 24px;
+ height: 24px;
+ }
+ .revert-btn.disable {
+ background-position: -200px -539px;
+ width: 24px;
+ height: 24px;
+ }
+ .success-circle {
+ background-position: -50px -703px;
+ width: 20px;
+ height: 20px;
+ }
+ .success-circle-small {
+ background-position: -170px -706px;
+ width: 12px;
+ height: 12px;
+ }
+ .sdc-success {
+ background-position: -101px -707px;
+ width: 10px;
+ height: 10px;
+ }
+ .sdc-error {
+ background-position: -151px -707px;
+ width: 10px;
+ height: 10px;
+ }
+ .print-screen-btn {
+ background-position: -259px -419px;
+ width: 24px;
+ height: 24px;
+ }
+ .print-screen-btn:hover:not(.disable) {
+ background-position: -259px -447px;
+ width: 24px;
+ height: 24px;
+ }
+ .print-screen-btn:active:not(.disable) {
+ background-position: -259px -479px;
+ width: 24px;
+ height: 24px;
+ }
+ .print-screen-btn.disable {
+ background-position: -259px -539px;
+ width: 24px;
+ height: 24px;
+ }
+ .url-btn {
+ background-position: -636px -424px;
+ width: 19px;
+ height: 19px;
+ }
+ .url-btn:hover {
+ background-position: -636px -424px;
+ width: 19px;
+ height: 19px;
+ }
+ .url-btn:active {
+ background-position: -636px -482px;
+ width: 19px;
+ height: 19px;
+ }
+ /*new tabs icons*/
+ .sprite-new.info {
+ background-position: -51px -631px;
+ width: 18px;
+ height: 18px;
+ }
+ .sprite-new.info:active {
+ background-position: -51px -669px;
+ width: 18px;
+ height: 18px;
+ }
+ .active > .sprite-new.info {
+ background-position: -51px -669px;
+ width: 18px;
+ height: 18px;
+ }
+ .sprite-new.structure {
+ background-position: -101px -630px;
+ width: 18px;
+ height: 17px;
+ }
+ .sprite-new.structure:active {
+ background-position: -101px -668px;
+ width: 18px;
+ height: 17px;
+ }
+ .active > .sprite-new.structure {
+ background-position: -101px -668px;
+ width: 18px;
+ height: 17px;
+ }
+ .sprite-new.deployment-artifacts {
+ background-position: -150px -629px;
+ width: 17px;
+ height: 19px;
+ }
+ .sprite-new.deployment-artifacts:active {
+ background-position: -150px -667px;
+ width: 17px;
+ height: 19px;
+ }
+ .active > .deployment-artifacts {
+ background-position: -150px -667px;
+ width: 17px;
+ height: 19px;
+ }
+ .sprite-new.inputs {
+ background-position: -200px -634px;
+ width: 20px;
+ height: 12px;
+ }
+ .sprite-new.inputs:active {
+ background-position: -200px -672px;
+ width: 20px;
+ height: 12px;
+ }
+ .active > .sprite-new.inputs {
+ background-position: -200px -672px;
+ width: 20px;
+ height: 12px;
+ }
+ .sprite-new.information-artifacts {
+ background-position: -250px -631px;
+ width: 17px;
+ height: 19px;
+ }
+ .sprite-new.information-artifacts:active {
+ background-position: -250px -669px;
+ width: 17px;
+ height: 19px;
+ }
+ .active > .sprite-new.information-artifacts {
+ background-position: -250px -669px;
+ width: 17px;
+ height: 19px;
+ }
+ .sprite-new.relations {
+ background-position: -300px -632px;
+ width: 20px;
+ height: 20px;
+ }
+ .sprite-new.relations:active {
+ background-position: -300px -632px;
+ width: 20px;
+ height: 20px;
+ }
+ .active > .sprite-new.relations {
+ background-position: -300px -632px;
+ width: 20px;
+ height: 20px;
+ }
+ .sprite-new.api {
+ background-position: -400px -631px;
+ width: 23px;
+ height: 19px;
+ }
+ .sprite-new.api:active {
+ background-position: -400px -671px;
+ width: 23px;
+ height: 19px;
+ }
+ .active > .sprite-new.api {
+ background-position: -400px -671px;
+ width: 23px;
+ height: 19px;
+ }
+ .sprite-new.properties {
+ background-position: -350px -631px;
+ width: 19px;
+ height: 19px;
+ }
+ .sprite-new.properties:active {
+ background-position: -350px -671px;
+ width: 19px;
+ height: 19px;
+ }
+ .active > .sprite-new.properties {
+ background-position: -350px -671px;
+ width: 19px;
+ height: 19px;
+ }
+ .sprite-new.distribution-bth {
+ background-position: -399px -716px;
+ width: 55px;
+ height: 21px;
+ }
+ .sprite-new.distribution-bth.disable {
+ background-position: -464px -716px;
+ width: 55px;
+ height: 21px;
+ }
+ .Distributed {
+ background-position: -547px -718px;
+ width: 16px;
+ height: 16px;
+ }
+ .Deployed {
+ background-position: -573px -718px;
+ width: 16px;
+ height: 16px;
+ }
+ .error-icon {
+ background-position: -51px -751px;
+ width: 13px;
+ height: 11px;
+ }
+ .asdc-warning {
+ background-position: -100px -748px;
+ width: 17px;
+ height: 15px;
+ }
+ .link-btn {
+ background-position: -636px -424px;
+ width: 19px;
+ height: 19px;
+ }
+ .link-btn:hover {
+ background-position: -636px -453px;
+ width: 19px;
+ height: 19px;
+ }
+ .link-btn:active {
+ background-position: -636px -482px;
+ width: 19px;
+ height: 19px;
+ }
+ .refresh-btn {
+ background-position: -293px -419px;
+ width: 24px;
+ height: 24px;
+ }
+ .refresh-btn:hover:not(.disable) {
+ background-position: -293px -447px;
+ width: 24px;
+ height: 24px;
+ }
+ .refresh-btn:active:not(.disable) {
+ background-position: -293px -479px;
+ width: 24px;
+ height: 24px;
+ }
+ .refresh-btn.focus {
+ background-position: -293px -508px;
+ width: 24px;
+ height: 24px;
+ }
+ .refresh-btn.disable {
+ background-position: -293px -539px;
+ width: 24px;
+ height: 24px;
+ }
+ .download-btn {
+ background-position: -530px -419px;
+ width: 24px;
+ height: 24px;
+ }
+ .download-btn:hover:not(.disable) {
+ background-position: -530px -448px;
+ width: 24px;
+ height: 24px;
+ }
+ .download-btn:active:not(.disable) {
+ background-position: -530px -479px;
+ width: 24px;
+ height: 24px;
+ }
+ .download-btn.focus {
+ background-position: -530px -508px;
+ width: 24px;
+ height: 24px;
+ }
+ .download-btn.disable {
+ background-position: -530px -539px;
+ width: 24px;
+ height: 24px;
+ }
+ .expand-collapse-plus-icon {
+ background-position: -334px -888px;
+ width: 14px;
+ height: 14px;
+ }
+ .expand-collapse-plus-icon:hover {
+ background-position: -422px -888px;
+ width: 14px;
+ height: 14px;
+ }
+ .expand-collapse-minus-icon {
+ background-position: -378px -888px;
+ width: 14px;
+ height: 14px;
+ }
+ .expand-collapse-minus-icon:hover {
+ background-position: -466px -888px;
+ width: 14px;
+ height: 14px;
+ }
+ .close-open-left-arrow {
+ background-position: -507px -942px;
+ width: 6px;
+ height: 10px;
+ }
+ .close-open-right-arrow {
+ background-position: -506px -922px;
+ width: 6px;
+ height: 10px;
+ }
+ .hierarchy {
+ background-position: -560px -887px;
+ width: 21px;
+ height: 15px;
+ }
+ .hierarchy.hover {
+ background-position: -500px -887px;
+ width: 21px;
+ height: 15px;
+ }
+ .hierarchy.disable {
+ background-position: -531px -887px;
+ width: 21px;
+ height: 15px;
+ }
+ .hierarchy.selected {
+ background-position: -500px -887px;
+ width: 21px;
+ height: 15px;
+ }
+ .refresh-small-btn {
+ background-position: -598px -419px;
+ width: 24px;
+ height: 24px;
+ }
+ .refresh-small-btn:hover:not(.disable) {
+ background-position: -598px -448px;
+ width: 24px;
+ height: 24px;
+ }
+ .refresh-small-btn:active:not(.disable) {
+ background-position: -598px -479px;
+ width: 24px;
+ height: 24px;
+ }
+ .refresh-small-btn.focus {
+ background-position: -598px -508px;
+ width: 24px;
+ height: 24px;
+ }
+ .refresh-small-btn.disable {
+ background-position: -598px -539px;
+ width: 24px;
+ height: 24px;
+ }
+ .download-file-btn {
+ background-position: -673px -419px;
+ width: 24px;
+ height: 24px;
+ }
+ .download-file-btn:hover:not(.disable) {
+ background-position: -673px -448px;
+ width: 24px;
+ height: 24px;
+ }
+ .download-file-btn:active:not(.disable) {
+ background-position: -673px -479px;
+ width: 24px;
+ height: 24px;
+ }
+ .download-file-btn.focus {
+ background-position: -673px -508px;
+ width: 24px;
+ height: 24px;
+ }
+ .download-file-btn.disable {
+ background-position: -673px -539px;
+ width: 24px;
+ height: 24px;
+ }
+ .refresh-file-btn {
+ background-position: -707px -419px;
+ width: 24px;
+ height: 24px;
+ }
+ .refresh-file-btn:hover:not(.disable) {
+ background-position: -707px -448px;
+ width: 24px;
+ height: 24px;
+ }
+ .refresh-file-btn:active:not(.disable) {
+ background-position: -707px -479px;
+ width: 24px;
+ height: 24px;
+ }
+ .refresh-file-btn.focus {
+ background-position: -707px -508px;
+ width: 24px;
+ height: 24px;
+ }
+ .refresh-file-btn.disable {
+ background-position: -707px -539px;
+ width: 24px;
+ height: 24px;
+ }
+ .import-file-btn {
+ background-position: -745px -419px;
+ width: 24px;
+ height: 24px;
+ }
+ .import-file-btn:hover:not(.disable) {
+ background-position: -745px -448px;
+ width: 24px;
+ height: 24px;
+ }
+ .import-file-btn:active:not(.disable) {
+ background-position: -745px -479px;
+ width: 24px;
+ height: 24px;
+ }
+ .import-file-btn.focus {
+ background-position: -745px -508px;
+ width: 24px;
+ height: 24px;
+ }
+ .import-file-btn.disable {
+ background-position: -745px -539px;
+ width: 24px;
+ height: 24px;
+ }
+ .left-arrow {
+ background-position: -590px -876px;
+ width: 26px;
+ height: 26px;
+ }
+ .left-arrow:hover {
+ background-position: -662px -876px;
+ width: 26px;
+ height: 26px;
+ }
+ .right-arrow {
+ background-position: -626px -876px;
+ width: 26px;
+ height: 26px;
+ }
+ .right-arrow:hover {
+ background-position: -698px -876px;
+ width: 26px;
+ height: 26px;
+ }
+ .search-white-icon {
+ background-position: -434px -128px;
+ width: 14px;
+ height: 14px;
+ }
+ .blue-right-arrow-circle {
+ background-position: -650px -619px;
+ width: 29px;
+ height: 29px;
+ }
+ .blue-right-arrow-circle:hover {
+ background-position: -689px -619px;
+ width: 29px;
+ height: 29px;
+ }
+ .small-x-button {
+ background-position: -190px -282px;
+ width: 11px;
+ height: 11px;
+ }
+ .small-x-button:hover {
+ background-position: -210px -283px;
+ width: 11px;
+ height: 11px;
+ }
+ .close-info-tooltip-button {
+ background-position: -190px -282px;
+ width: 11px;
+ height: 11px;
+ }
+ .close-info-tooltip-button:hover {
+ background-position: -230px -283px;
+ width: 11px;
+ height: 11px;
+ }
+ .expand-all {
+ background-position: -500px -420px;
+ width: 20px;
+ height: 22px;
+ }
+ .expand-all:hover {
+ background-position: -500px -449px;
+ width: 20px;
+ height: 22px;
+ }
+ .collapse-all {
+ background-position: -465px -420px;
+ width: 20px;
+ height: 22px;
+ }
+ .collapse-all:hover {
+ background-position: -465px -449px;
+ width: 20px;
+ height: 22px;
+ }
+ .delete-param:hover {
+ background-position: -702px -231px;
+ width: 12px;
+ height: 13px;
+ }
+ .delete-param {
+ background-position: -675px -231px;
+ width: 12px;
+ height: 13px;
+ }
+ .revert-param:hover {
+ background-position: -700px -48px;
+ width: 12px;
+ height: 11px;
+ }
+ .revert-param {
+ background-position: -676px -48px;
+ width: 12px;
+ height: 11px;
+ }
+ .show-desc:hover {
+ background-position: -635px -75px;
+ width: 13px;
+ height: 14px;
+ }
+ .show-desc {
+ background-position: -599px -75px;
+ width: 13px;
+ height: 14px;
+ }
+ .expand-list {
+ background-position: -812px -66px;
+ width: 21px;
+ height: 21px;
+ }
+ .expand-list:hover {
+ background-position: -812px -96px;
+ width: 21px;
+ height: 21px;
+ }
+ .expand-list.open {
+ background-position: -853px -66px;
+ width: 21px;
+ height: 21px;
+ }
+ .expand-list.open:hover {
+ background-position: -853px -96px;
+ width: 21px;
+ height: 21px;
+ }
+ .search-icon:hover,
+ .search-icon.selected {
+ background-position: -894px -101px;
+ width: 14px;
+ height: 14px;
+ }
+ .search-icon {
+ background-position: -894px -71px;
+ width: 14px;
+ height: 14px;
+ }
+ .asc {
+ background-position: -924px -71px;
+ width: 8px;
+ height: 12px;
+ }
+ .desc {
+ background-position: -924px -101px;
+ width: 8px;
+ height: 12px;
+ }
+ .delete-item-icon {
+ background-position: -140px -1119px;
+ width: 11px;
+ height: 15px;
+ }
+ .delete-item-icon:hover {
+ background-position: -167px -1119px;
+ width: 11px;
+ height: 15px;
+ }
+ .filter-icon {
+ background-position: -48px -1040px;
+ width: 19px;
+ height: 20px;
+ }
+ .filter-icon:hover {
+ background-position: -99px -1040px;
+ width: 19px;
+ height: 20px;
+ }
+ .filled-checkbox-icon {
+ background-position: -100px -1079px;
+ width: 14px;
+ height: 14px;
+ }
+ .round-checked-icon {
+ background-position: -50px -1157px;
+ width: 16px;
+ height: 18px;
+ }
+ .round-checked-icon.disabled {
+ background-position: -100px -1157px;
+ width: 16px;
+ height: 18px;
+ }
+ .round-expand-icon {
+ background-position: -50px -1188px;
+ width: 15px;
+ height: 15px;
+ }
+ .round-expand-icon:hover {
+ background-position: -100px -1188px;
+ width: 15px;
+ height: 15px;
+ }
+ .round-expand-icon.open {
+ background-position: -50px -1216px;
+ width: 15px;
+ height: 15px;
+ }
+ .round-expand-icon.open:hover {
+ background-position: -100px -1216px;
+ width: 15px;
+ height: 15px;
+ }
+ /*
+ .sprite-new.expand-asset-icon { background-position: -740px -590px; width: 40px; height: 40px; }
+ .sprite-new.view-info-icon { background-position: -739px -621px; width: 40px; height: 40px; }
+ .sprite-new.cp-icon { background-position: -741px -652px; width: 40px; height: 40px; }
+ .sprite-new.vl-icon { background-position: -740px -682px; width: 40px; height:40px; }
+ .sprite-new.trash-icon { background-position: -740px -712px; width: 40px; height: 40px; }
+
+ .sprite-new.expand-asset-icon:hover { background-position: -780px -590px; }
+ .sprite-new.view-info-icon:hover { background-position: -779px -621px; }
+ .sprite-new.cp-icon:hover { background-position: -781px -652px; }
+ .sprite-new.vl-icon:hover { background-position: -780px -682px; }
+ .sprite-new.trash-icon:hover { background-position: -780px -712px; }
+
+ .sprite-new.expand-asset-icon:active, .sprite-new.expand-asset-icon.disabled-icon { background-position: -820px -590px;}
+ .sprite-new.view-info-icon:active, .sprite-new.view-info-icon.disabled-icon { background-position: -819px -621px; }
+ .sprite-new.cp-icon:active, .sprite-new.cp-icon.disabled-icon { background-position: -821px -652px; }
+ .sprite-new.vl-icon:active, .sprite-new.vl-icon.disabled-icon { background-position: -820px -682px; }
+ .sprite-new.trash-icon:active, .sprite-new.trash-icon.disabled-icon { background-position: -820px -712px; }
+ */
+ .sprite-product-icons {
+ background-image: url(/sdc1/scripts/images/sprite-product-icons.b8058459efff5dc1dca7.png);
+ display: inline-block;
+ }
+ .sprite-product-icons.disable {
+ opacity: 0.5;
+ }
+ .sprite-product-icons.setting {
+ background-position: -291px -102px;
+ width: 61px;
+ height: 67px;
+ }
+ .sprite-product-icons.setting.small {
+ background-position: -217px -142px;
+ width: 29px;
+ height: 28px;
+ }
+ .sprite-product-icons.setting.medium {
+ background-position: -148px -130px;
+ width: 41px;
+ height: 40px;
+ }
+ .sprite-product-icons.setting.large {
+ background-position: -77px -110px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-product-icons.cloud {
+ background-position: -290px -215px;
+ width: 64px;
+ height: 43px;
+ }
+ .sprite-product-icons.cloud.small {
+ background-position: -217px -232px;
+ width: 29px;
+ height: 28px;
+ }
+ .sprite-product-icons.cloud.medium {
+ background-position: -148px -220px;
+ width: 41px;
+ height: 40px;
+ }
+ .sprite-product-icons.cloud.large {
+ background-position: -77px -200px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-product-icons.security {
+ background-position: -289px -293px;
+ width: 50px;
+ height: 57px;
+ }
+ .sprite-product-icons.security.small {
+ background-position: -217px -321px;
+ width: 29px;
+ height: 28px;
+ }
+ .sprite-product-icons.security.medium {
+ background-position: -148px -310px;
+ width: 41px;
+ height: 40px;
+ }
+ .sprite-product-icons.security.large {
+ background-position: -77px -290px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-product-icons.network {
+ background-position: -290px -383px;
+ width: 56px;
+ height: 57px;
+ }
+ .sprite-product-icons.network.small {
+ background-position: -217px -411px;
+ width: 29px;
+ height: 29px;
+ }
+ .sprite-product-icons.network.medium {
+ background-position: -148px -399px;
+ width: 41px;
+ height: 41px;
+ }
+ .sprite-product-icons.network.large {
+ background-position: -77px -380px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-product-icons.orphan {
+ background-position: -290px -478px;
+ width: 52px;
+ height: 52px;
+ }
+ .sprite-product-icons.orphan.small {
+ background-position: -217px -500px;
+ width: 29px;
+ height: 29px;
+ }
+ .sprite-product-icons.orphan.medium {
+ background-position: -148px -488px;
+ width: 41px;
+ height: 41px;
+ }
+ .sprite-product-icons.orphan.large {
+ background-position: -77px -470px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-product-icons.defaulticon {
+ background-position: -290px -478px;
+ width: 52px;
+ height: 52px;
+ }
+ .sprite-product-icons.defaulticon.small {
+ background-position: -217px -500px;
+ width: 29px;
+ height: 29px;
+ }
+ .sprite-product-icons.defaulticon.medium {
+ background-position: -148px -488px;
+ width: 41px;
+ height: 41px;
+ }
+ .sprite-product-icons.defaulticon.large {
+ background-position: -77px -470px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-product-icons.vfw {
+ background-position: -289px -548px;
+ width: 73px;
+ height: 73px;
+ }
+ .sprite-product-icons.vfw.small {
+ background-position: -217px -591px;
+ width: 29px;
+ height: 29px;
+ }
+ .sprite-product-icons.vfw.medium {
+ background-position: -148px -580px;
+ width: 41px;
+ height: 41px;
+ }
+ .sprite-product-icons.vfw.large {
+ background-position: -77px -560px;
+ width: 60px;
+ height: 61px;
+ }
+ .sprite-product-icons.wanx {
+ background-position: -290px -664px;
+ width: 59px;
+ height: 47px;
+ }
+ .sprite-product-icons.wanx.small {
+ background-position: -217px -681px;
+ width: 30px;
+ height: 30px;
+ }
+ .sprite-product-icons.wanx.medium {
+ background-position: -148px -670px;
+ width: 41px;
+ height: 41px;
+ }
+ .sprite-product-icons.wanx.large {
+ background-position: -77px -651px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-product-icons.vrouter {
+ background-position: -289px -758px;
+ width: 69px;
+ height: 43px;
+ }
+ .sprite-product-icons.vrouter.small {
+ background-position: -217px -772px;
+ width: 29px;
+ height: 29px;
+ }
+ .sprite-product-icons.vrouter.medium {
+ background-position: -148px -760px;
+ width: 41px;
+ height: 41px;
+ }
+ .sprite-product-icons.vrouter.large {
+ background-position: -77px -741px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-product-icons.ucpe {
+ background-position: -289px -832px;
+ width: 59px;
+ height: 60px;
+ }
+ .sprite-product-icons.ucpe.small {
+ background-position: -217px -862px;
+ width: 28px;
+ height: 29px;
+ }
+ .sprite-product-icons.ucpe.medium {
+ background-position: -148px -849px;
+ width: 41px;
+ height: 41px;
+ }
+ .sprite-product-icons.ucpe.large {
+ background-position: -77px -831px;
+ width: 60px;
+ height: 61px;
+ }
+ .sprite-product-icons.mobility {
+ background-position: -288px -919px;
+ width: 64px;
+ height: 62px;
+ }
+ .sprite-product-icons.mobility.small {
+ background-position: -216px -952px;
+ width: 29px;
+ height: 29px;
+ }
+ .sprite-product-icons.mobility.medium {
+ background-position: -147px -940px;
+ width: 41px;
+ height: 41px;
+ }
+ .sprite-product-icons.mobility.large {
+ background-position: -76px -921px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-product-icons.wanx_customer_managed {
+ background-position: -290px -1024px;
+ width: 58px;
+ height: 62px;
+ }
+ .sprite-product-icons.wanx.small_customer_managed {
+ background-position: -217px -1041px;
+ width: 30px;
+ height: 38px;
+ }
+ .sprite-product-icons.wanx.medium_customer_managed {
+ background-position: -148px -1030px;
+ width: 42px;
+ height: 47px;
+ }
+ .sprite-product-icons.wanx.large_customer_managed {
+ background-position: -77px -1011px;
+ width: 61px;
+ height: 66px;
+ }
+ .sprite-product-icons.wanx_attr_managed {
+ background-position: -290px -1114px;
+ width: 59px;
+ height: 62px;
+ }
+ .sprite-product-icons.wanx.small_att_managed {
+ background-position: -218px -1131px;
+ width: 31px;
+ height: 36px;
+ }
+ .sprite-product-icons.wanx.medium_att_managed {
+ background-position: -149px -1120px;
+ width: 42px;
+ height: 47px;
+ }
+ .sprite-product-icons.wanx.large_att_managed {
+ background-position: -77px -1101px;
+ width: 60px;
+ height: 67px;
+ }
+ .sprite-resource-icons {
+ background-image: url(/sdc1/scripts/images/sprite-resource-icons.96bcf003ae43a918aab0.png);
+ display: inline-block;
+ }
+ .sprite-resource-icons.disable {
+ opacity: 0.5;
+ }
+ .sprite-resource-icons.borderElement {
+ background-position: -282px -41px;
+ width: 66px;
+ height: 58px;
+ }
+ .sprite-resource-icons.borderElement.small {
+ background-position: -210px -71px;
+ width: 28px;
+ height: 28px;
+ }
+ .sprite-resource-icons.borderElement.medium {
+ background-position: -140px -59px;
+ width: 40px;
+ height: 40px;
+ }
+ .sprite-resource-icons.borderElement.large {
+ background-position: -70px -39px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.router {
+ background-position: -282px -109px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.router.small {
+ background-position: -210px -141px;
+ width: 28px;
+ height: 28px;
+ }
+ .sprite-resource-icons.router.medium {
+ background-position: -140px -129px;
+ width: 40px;
+ height: 40px;
+ }
+ .sprite-resource-icons.router.large {
+ background-position: -70px -109px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.database {
+ background-position: -282px -180px;
+ width: 63px;
+ height: 56px;
+ }
+ .sprite-resource-icons.database.small {
+ background-position: -210px -211px;
+ width: 28px;
+ height: 28px;
+ }
+ .sprite-resource-icons.database.medium {
+ background-position: -140px -199px;
+ width: 40px;
+ height: 40px;
+ }
+ .sprite-resource-icons.database.large {
+ background-position: -70px -179px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.network {
+ background-position: -282px -252px;
+ width: 57px;
+ height: 57px;
+ }
+ .sprite-resource-icons.network.small {
+ background-position: -210px -281px;
+ width: 28px;
+ height: 28px;
+ }
+ .sprite-resource-icons.network.medium {
+ background-position: -140px -269px;
+ width: 40px;
+ height: 40px;
+ }
+ .sprite-resource-icons.network.large {
+ background-position: -70px -249px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.applicationServer {
+ background-position: -282px -327px;
+ width: 37px;
+ height: 51px;
+ }
+ .sprite-resource-icons.applicationServer.small {
+ background-position: -210px -351px;
+ width: 28px;
+ height: 28px;
+ }
+ .sprite-resource-icons.applicationServer.medium {
+ background-position: -140px -339px;
+ width: 40px;
+ height: 40px;
+ }
+ .sprite-resource-icons.applicationServer.large {
+ background-position: -70px -319px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.server {
+ background-position: -282px -398px;
+ width: 31px;
+ height: 51px;
+ }
+ .sprite-resource-icons.server.small {
+ background-position: -210px -421px;
+ width: 28px;
+ height: 28px;
+ }
+ .sprite-resource-icons.server.medium {
+ background-position: -140px -409px;
+ width: 40px;
+ height: 40px;
+ }
+ .sprite-resource-icons.server.large {
+ background-position: -70px -389px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.port {
+ background-position: -281px -484px;
+ width: 41px;
+ height: 35px;
+ }
+ .sprite-resource-icons.port.small {
+ background-position: -210px -491px;
+ width: 28px;
+ height: 28px;
+ }
+ .sprite-resource-icons.port.medium {
+ background-position: -140px -479px;
+ width: 40px;
+ height: 40px;
+ }
+ .sprite-resource-icons.port.large {
+ background-position: -70px -459px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.loadBalancer {
+ background-position: -282px -539px;
+ width: 45px;
+ height: 49px;
+ }
+ .sprite-resource-icons.loadBalancer.small {
+ background-position: -210px -561px;
+ width: 28px;
+ height: 28px;
+ }
+ .sprite-resource-icons.loadBalancer.medium {
+ background-position: -140px -549px;
+ width: 40px;
+ height: 40px;
+ }
+ .sprite-resource-icons.loadBalancer.large {
+ background-position: -70px -529px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.objectStorage {
+ background-position: -282px -611px;
+ width: 50px;
+ height: 47px;
+ }
+ .sprite-resource-icons.objectStorage.small {
+ background-position: -210px -631px;
+ width: 28px;
+ height: 28px;
+ }
+ .sprite-resource-icons.objectStorage.medium {
+ background-position: -140px -619px;
+ width: 40px;
+ height: 40px;
+ }
+ .sprite-resource-icons.objectStorage.large {
+ background-position: -70px -599px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.compute {
+ background-position: -282px -683px;
+ width: 45px;
+ height: 45px;
+ }
+ .sprite-resource-icons.compute.small {
+ background-position: -210px -701px;
+ width: 28px;
+ height: 28px;
+ }
+ .sprite-resource-icons.compute.medium {
+ background-position: -141px -688px;
+ width: 40px;
+ height: 40px;
+ }
+ .sprite-resource-icons.compute.large {
+ background-position: -70px -669px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.gateway {
+ background-position: -282px -758px;
+ width: 45px;
+ height: 41px;
+ }
+ .sprite-resource-icons.gateway.small {
+ background-position: -210px -772px;
+ width: 28px;
+ height: 27px;
+ }
+ .sprite-resource-icons.gateway.medium {
+ background-position: -140px -759px;
+ width: 40px;
+ height: 40px;
+ }
+ .sprite-resource-icons.gateway.large {
+ background-position: -70px -739px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.connector {
+ background-position: -282px -830px;
+ width: 44px;
+ height: 38px;
+ }
+ .sprite-resource-icons.connector.small {
+ background-position: -210px -842px;
+ width: 28px;
+ height: 27px;
+ }
+ .sprite-resource-icons.connector.medium {
+ background-position: -140px -829px;
+ width: 40px;
+ height: 40px;
+ }
+ .sprite-resource-icons.connector.large {
+ background-position: -70px -809px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.brocade {
+ background-position: -282px -922px;
+ width: 91px;
+ height: 16px;
+ }
+ .sprite-resource-icons.brocade.small {
+ background-position: -210px -911px;
+ width: 28px;
+ height: 28px;
+ }
+ .sprite-resource-icons.brocade.medium {
+ background-position: -140px -899px;
+ width: 40px;
+ height: 40px;
+ }
+ .sprite-resource-icons.brocade.large {
+ background-position: -70px -879px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.cisco {
+ background-position: -282px -975px;
+ width: 63px;
+ height: 33px;
+ }
+ .sprite-resource-icons.cisco.small {
+ background-position: -210px -981px;
+ width: 28px;
+ height: 28px;
+ }
+ .sprite-resource-icons.cisco.medium {
+ background-position: -140px -969px;
+ width: 40px;
+ height: 40px;
+ }
+ .sprite-resource-icons.cisco.large {
+ background-position: -70px -949px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.ericsson {
+ background-position: -282px -1059px;
+ width: 101px;
+ height: 20px;
+ }
+ .sprite-resource-icons.ericsson.small {
+ background-position: -210px -1051px;
+ width: 28px;
+ height: 28px;
+ }
+ .sprite-resource-icons.ericsson.medium {
+ background-position: -140px -1039px;
+ width: 40px;
+ height: 40px;
+ }
+ .sprite-resource-icons.ericsson.large {
+ background-position: -70px -1019px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.tropo {
+ background-position: -282px -1109px;
+ width: 48px;
+ height: 39px;
+ }
+ .sprite-resource-icons.tropo.small {
+ background-position: -210px -1121px;
+ width: 28px;
+ height: 28px;
+ }
+ .sprite-resource-icons.tropo.medium {
+ background-position: -140px -1109px;
+ width: 40px;
+ height: 40px;
+ }
+ .sprite-resource-icons.tropo.large {
+ background-position: -70px -1089px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.mySql {
+ background-position: -282px -1172px;
+ width: 89px;
+ height: 46px;
+ }
+ .sprite-resource-icons.mySql.small {
+ background-position: -210px -1191px;
+ width: 28px;
+ height: 28px;
+ }
+ .sprite-resource-icons.mySql.medium {
+ background-position: -140px -1179px;
+ width: 40px;
+ height: 40px;
+ }
+ .sprite-resource-icons.mySql.large {
+ background-position: -70px -1159px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.oracle {
+ background-position: -282px -1277px;
+ width: 97px;
+ height: 11px;
+ }
+ .sprite-resource-icons.oracle.small {
+ background-position: -210px -1261px;
+ width: 28px;
+ height: 28px;
+ }
+ .sprite-resource-icons.oracle.medium {
+ background-position: -140px -1249px;
+ width: 40px;
+ height: 40px;
+ }
+ .sprite-resource-icons.oracle.large {
+ background-position: -70px -1229px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.defaulticon {
+ background-position: -282px -2069px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.defaulticon.small {
+ background-position: -210px -2101px;
+ width: 28px;
+ height: 28px;
+ }
+ .sprite-resource-icons.defaulticon.medium {
+ background-position: -141px -2089px;
+ width: 40px;
+ height: 40px;
+ }
+ .sprite-resource-icons.defaulticon.large {
+ background-position: -70px -2069px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.fortinet {
+ background-position: -282px -1419px;
+ width: 94px;
+ height: 10px;
+ }
+ .sprite-resource-icons.fortinet.small {
+ background-position: -210px -1401px;
+ width: 28px;
+ height: 28px;
+ }
+ .sprite-resource-icons.fortinet.medium {
+ background-position: -140px -1389px;
+ width: 40px;
+ height: 40px;
+ }
+ .sprite-resource-icons.fortinet.large {
+ background-position: -70px -1369px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.nokia_siemens {
+ background-position: -281px -1474px;
+ width: 89px;
+ height: 25px;
+ }
+ .sprite-resource-icons.nokia_siemens.small {
+ background-position: -210px -1471px;
+ width: 28px;
+ height: 28px;
+ }
+ .sprite-resource-icons.nokia_siemens.medium {
+ background-position: -140px -1459px;
+ width: 40px;
+ height: 40px;
+ }
+ .sprite-resource-icons.nokia_siemens.large {
+ background-position: -70px -1439px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.att {
+ background-position: -281px -1538px;
+ width: 77px;
+ height: 31px;
+ }
+ .sprite-resource-icons.att.small {
+ background-position: -210px -1541px;
+ width: 28px;
+ height: 28px;
+ }
+ .sprite-resource-icons.att.medium {
+ background-position: -140px -1529px;
+ width: 40px;
+ height: 40px;
+ }
+ .sprite-resource-icons.att.large {
+ background-position: -70px -1509px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.juniper {
+ background-position: -281px -1609px;
+ width: 93px;
+ height: 31px;
+ }
+ .sprite-resource-icons.juniper.small {
+ background-position: -210px -1611px;
+ width: 28px;
+ height: 28px;
+ }
+ .sprite-resource-icons.juniper.medium {
+ background-position: -140px -1599px;
+ width: 40px;
+ height: 40px;
+ }
+ .sprite-resource-icons.juniper.large {
+ background-position: -70px -1579px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.cloud {
+ background-position: -281px -1664px;
+ width: 44px;
+ height: 45px;
+ }
+ .sprite-resource-icons.cloud.small {
+ background-position: -210px -1681px;
+ width: 28px;
+ height: 28px;
+ }
+ .sprite-resource-icons.cloud.medium {
+ background-position: -140px -1669px;
+ width: 40px;
+ height: 40px;
+ }
+ .sprite-resource-icons.cloud.large {
+ background-position: -70px -1649px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.call_controll {
+ background-position: -278px -1739px;
+ width: 35px;
+ height: 40px;
+ }
+ .sprite-resource-icons.call_controll.small {
+ background-position: -210px -1751px;
+ width: 28px;
+ height: 28px;
+ }
+ .sprite-resource-icons.call_controll.medium {
+ background-position: -140px -1739px;
+ width: 40px;
+ height: 40px;
+ }
+ .sprite-resource-icons.call_controll.large {
+ background-position: -70px -1719px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.broadsoft {
+ background-position: -282px -1824px;
+ width: 108px;
+ height: 22px;
+ }
+ .sprite-resource-icons.broadsoft.small {
+ background-position: -210px -1821px;
+ width: 28px;
+ height: 28px;
+ }
+ .sprite-resource-icons.broadsoft.medium {
+ background-position: -140px -1809px;
+ width: 40px;
+ height: 40px;
+ }
+ .sprite-resource-icons.broadsoft.large {
+ background-position: -70px -1789px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.alcatelLucent {
+ background-position: -281px -1901px;
+ width: 118px;
+ height: 25px;
+ }
+ .sprite-resource-icons.alcatelLucent.small {
+ background-position: -210px -1891px;
+ width: 28px;
+ height: 28px;
+ }
+ .sprite-resource-icons.alcatelLucent.medium {
+ background-position: -140px -1879px;
+ width: 40px;
+ height: 40px;
+ }
+ .sprite-resource-icons.alcatelLucent.large {
+ background-position: -70px -1859px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.metaswitch {
+ background-position: -282px -1961px;
+ width: 115px;
+ height: 27px;
+ }
+ .sprite-resource-icons.metaswitch.small {
+ background-position: -210px -1961px;
+ width: 28px;
+ height: 28px;
+ }
+ .sprite-resource-icons.metaswitch.medium {
+ background-position: -140px -1949px;
+ width: 40px;
+ height: 40px;
+ }
+ .sprite-resource-icons.metaswitch.large {
+ background-position: -70px -1929px;
+ width: 61px;
+ height: 60px;
+ }
+ .sprite-resource-icons.aricent {
+ background-position: -282px -2046px;
+ width: 93px;
+ height: 13px;
+ }
+ .sprite-resource-icons.aricent.small {
+ background-position: -210px -2031px;
+ width: 28px;
+ height: 28px;
+ }
+ .sprite-resource-icons.aricent.medium {
+ background-position: -140px -2019px;
+ width: 40px;
+ height: 40px;
+ }
+ .sprite-resource-icons.aricent.large {
+ background-position: -70px -1999px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.cp {
+ background-position: -90px -4038px;
+ width: 21px;
+ height: 21px;
+ }
+ .sprite-resource-icons.cp.small {
+ background-position: -90px -4038px;
+ width: 21px;
+ height: 21px;
+ }
+ .sprite-resource-icons.cp.medium {
+ background-position: -151px -4048px;
+ width: 21px;
+ height: 21px;
+ }
+ .sprite-resource-icons.cp.large {
+ background-position: -194px -4034px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.vl {
+ background-position: -210px -2591px;
+ width: 28px;
+ height: 28px;
+ }
+ .sprite-resource-icons.vl.small {
+ background-position: -210px -2591px;
+ width: 28px;
+ height: 28px;
+ }
+ .sprite-resource-icons.vl.medium {
+ background-position: -141px -2579px;
+ width: 40px;
+ height: 40px;
+ }
+ .sprite-resource-icons.vl.large {
+ background-position: -70px -2560px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.cloudep {
+ background-position: -282px -2225px;
+ width: 63px;
+ height: 43px;
+ }
+ .sprite-resource-icons.cloudep.small {
+ background-position: -209px -2241px;
+ width: 28px;
+ height: 28px;
+ }
+ .sprite-resource-icons.cloudep.medium {
+ background-position: -141px -2229px;
+ width: 40px;
+ height: 40px;
+ }
+ .sprite-resource-icons.cloudep.large {
+ background-position: -70px -2209px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.personep {
+ background-position: -282px -2292px;
+ width: 47px;
+ height: 47px;
+ }
+ .sprite-resource-icons.personep.small {
+ background-position: -210px -2311px;
+ width: 28px;
+ height: 28px;
+ }
+ .sprite-resource-icons.personep.medium {
+ background-position: -141px -2299px;
+ width: 40px;
+ height: 40px;
+ }
+ .sprite-resource-icons.personep.large {
+ background-position: -70px -2279px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.premisesep {
+ background-position: -281px -2360px;
+ width: 41px;
+ height: 50px;
+ }
+ .sprite-resource-icons.premisesep.small {
+ background-position: -210px -2380px;
+ width: 28px;
+ height: 28px;
+ }
+ .sprite-resource-icons.premisesep.medium {
+ background-position: -141px -2368px;
+ width: 40px;
+ height: 40px;
+ }
+ .sprite-resource-icons.premisesep.large {
+ background-position: -70px -2349px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.ossep {
+ background-position: -281px -2420px;
+ width: 67px;
+ height: 59px;
+ }
+ .sprite-resource-icons.ossep.small {
+ background-position: -210px -2451px;
+ width: 28px;
+ height: 28px;
+ }
+ .sprite-resource-icons.ossep.medium {
+ background-position: -141px -2439px;
+ width: 40px;
+ height: 40px;
+ }
+ .sprite-resource-icons.ossep.large {
+ background-position: -70px -2419px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.firewall {
+ background-position: -282px -3257px;
+ width: 73px;
+ height: 74px;
+ }
+ .sprite-resource-icons.firewall.small {
+ background-position: -210px -3301px;
+ width: 29px;
+ height: 29px;
+ }
+ .sprite-resource-icons.firewall.medium {
+ background-position: -141px -3289px;
+ width: 41px;
+ height: 41px;
+ }
+ .sprite-resource-icons.firewall.large {
+ background-position: -70px -3270px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.vfw {
+ background-position: -282px -3257px;
+ width: 73px;
+ height: 74px;
+ }
+ .sprite-resource-icons.vfw.small {
+ background-position: -210px -3301px;
+ width: 29px;
+ height: 29px;
+ }
+ .sprite-resource-icons.vfw.medium {
+ background-position: -141px -3289px;
+ width: 41px;
+ height: 41px;
+ }
+ .sprite-resource-icons.vfw.large {
+ background-position: -70px -3270px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.ucpe {
+ background-position: -282px -3120px;
+ width: 59px;
+ height: 60px;
+ }
+ .sprite-resource-icons.ucpe.small {
+ background-position: -210px -3150px;
+ width: 28px;
+ height: 28px;
+ }
+ .sprite-resource-icons.ucpe.medium {
+ background-position: -141px -3137px;
+ width: 41px;
+ height: 41px;
+ }
+ .sprite-resource-icons.ucpe.large {
+ background-position: -70px -3119px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.vrouter {
+ background-position: -282px -3066px;
+ width: 69px;
+ height: 43px;
+ }
+ .sprite-resource-icons.vrouter.small {
+ background-position: -210px -3080px;
+ width: 29px;
+ height: 29px;
+ }
+ .sprite-resource-icons.vrouter.medium {
+ background-position: -141px -3068px;
+ width: 41px;
+ height: 41px;
+ }
+ .sprite-resource-icons.vrouter.large {
+ background-position: -70px -3049px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.wanx {
+ background-position: -283px -2992px;
+ width: 58px;
+ height: 47px;
+ }
+ .sprite-resource-icons.wanx.small {
+ background-position: -210px -3009px;
+ width: 30px;
+ height: 30px;
+ }
+ .sprite-resource-icons.wanx.medium {
+ background-position: -141px -2998px;
+ width: 41px;
+ height: 41px;
+ }
+ .sprite-resource-icons.wanx.large {
+ background-position: -70px -2979px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.networkrules {
+ background-position: -282px -4731px;
+ width: 49px;
+ height: 58px;
+ }
+ .sprite-resource-icons.networkrules.small {
+ background-position: -210px -4749px;
+ width: 31px;
+ height: 36px;
+ }
+ .sprite-resource-icons.networkrules.medium {
+ background-position: -141px -4737px;
+ width: 42px;
+ height: 47px;
+ }
+ .sprite-resource-icons.networkrules.large {
+ background-position: -70px -4718px;
+ width: 60px;
+ height: 67px;
+ }
+ .sprite-resource-icons.securityrules {
+ background-position: -282px -4651px;
+ width: 49px;
+ height: 58px;
+ }
+ .sprite-resource-icons.securityrules.small {
+ background-position: -210px -4669px;
+ width: 31px;
+ height: 36px;
+ }
+ .sprite-resource-icons.securityrules.medium {
+ background-position: -141px -4657px;
+ width: 42px;
+ height: 47px;
+ }
+ .sprite-resource-icons.securityrules.large {
+ background-position: -70px -4638px;
+ width: 60px;
+ height: 67px;
+ }
+ .sprite-resource-icons.dcae_source {
+ background-position: -282px -4563px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.dcae_source.small {
+ background-position: -210px -4588px;
+ width: 29px;
+ height: 29px;
+ }
+ .sprite-resource-icons.dcae_source.medium {
+ background-position: -141px -4576px;
+ width: 41px;
+ height: 41px;
+ }
+ .sprite-resource-icons.dcae_source.large {
+ background-position: -70px -4558px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.dcae_collector {
+ background-position: -280px -4500px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.dcae_collector.small {
+ background-position: -210px -4508px;
+ width: 29px;
+ height: 29px;
+ }
+ .sprite-resource-icons.dcae_collector.medium {
+ background-position: -141px -4496px;
+ width: 41px;
+ height: 41px;
+ }
+ .sprite-resource-icons.dcae_collector.large {
+ background-position: -69px -4477px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.dcae_utilty {
+ background-position: -283px -4246px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.dcae_utilty.small {
+ background-position: -210px -4268px;
+ width: 29px;
+ height: 29px;
+ }
+ .sprite-resource-icons.dcae_utilty.medium {
+ background-position: -141px -4256px;
+ width: 41px;
+ height: 41px;
+ }
+ .sprite-resource-icons.dcae_utilty.large {
+ background-position: -70px -4238px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.dcae_microservice {
+ background-position: -281px -4167px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.dcae_microservice.small {
+ background-position: -210px -4188px;
+ width: 28px;
+ height: 28px;
+ }
+ .sprite-resource-icons.dcae_microservice.medium {
+ background-position: -140px -4176px;
+ width: 41px;
+ height: 41px;
+ }
+ .sprite-resource-icons.dcae_microservice.large {
+ background-position: -71px -4157px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.dcae_analytics {
+ background-position: -282px -4409px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.dcae_analytics.small {
+ background-position: -210px -4424px;
+ width: 29px;
+ height: 29px;
+ }
+ .sprite-resource-icons.dcae_analytics.medium {
+ background-position: -141px -4413px;
+ width: 41px;
+ height: 41px;
+ }
+ .sprite-resource-icons.dcae_analytics.large {
+ background-position: -70px -4394px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.dcae_database {
+ background-position: -282px -180px;
+ width: 63px;
+ height: 56px;
+ }
+ .sprite-resource-icons.dcae_database.small {
+ background-position: -210px -211px;
+ width: 29px;
+ height: 29px;
+ }
+ .sprite-resource-icons.dcae_database.medium {
+ background-position: -140px -199px;
+ width: 40px;
+ height: 40px;
+ }
+ .sprite-resource-icons.dcae_database.large {
+ background-position: -70px -179px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.dcae_policy {
+ background-position: -282px -4332px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.dcae_policy.small {
+ background-position: -210px -4348px;
+ width: 29px;
+ height: 29px;
+ }
+ .sprite-resource-icons.dcae_policy.medium {
+ background-position: -141px -4336px;
+ width: 41px;
+ height: 41px;
+ }
+ .sprite-resource-icons.dcae_policy.large {
+ background-position: -70px -4317px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.monitoring_template {
+ background-position: -283px -4824px;
+ width: 54px;
+ height: 36px;
+ }
+ .sprite-resource-icons.monitoring_template.small {
+ background-position: -211px -4831px;
+ width: 29px;
+ height: 29px;
+ }
+ .sprite-resource-icons.monitoring_template.medium {
+ background-position: -142px -4819px;
+ width: 41px;
+ height: 41px;
+ }
+ .sprite-resource-icons.monitoring_template.large {
+ background-position: -71px -4800px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-resource-icons.allotted_resource {
+ background-position: -283px -4896px;
+ width: 44px;
+ height: 44px;
+ }
+ .sprite-resource-icons.allotted_resource.small {
+ background-position: -210px -4910px;
+ width: 29px;
+ height: 29px;
+ }
+ .sprite-resource-icons.allotted_resource.medium {
+ background-position: -141px -4898px;
+ width: 41px;
+ height: 41px;
+ }
+ .sprite-resource-icons.allotted_resource.large {
+ background-position: -70px -4879px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-services-icons {
+ background-image: url(/sdc1/scripts/images/sprite-services-icons.638019588f5319701849.png);
+ display: inline-block;
+ }
+ .sprite-services-icons.disable {
+ opacity: 0.5;
+ }
+ .sprite-services-icons.compute {
+ background-position: -282px -46px;
+ width: 55px;
+ height: 53px;
+ }
+ .sprite-services-icons.compute.small {
+ background-position: -210px -71px;
+ width: 29px;
+ height: 28px;
+ }
+ .sprite-services-icons.compute.medium {
+ background-position: -140px -59px;
+ width: 41px;
+ height: 40px;
+ }
+ .sprite-services-icons.compute.large {
+ background-position: -70px -41px;
+ width: 61px;
+ height: 60px;
+ }
+ .sprite-services-icons.platform {
+ background-position: -282px -122px;
+ width: 55px;
+ height: 45px;
+ }
+ .sprite-services-icons.platform.small {
+ background-position: -210px -140px;
+ width: 29px;
+ height: 29px;
+ }
+ .sprite-services-icons.platform.medium {
+ background-position: -140px -128px;
+ width: 41px;
+ height: 41px;
+ }
+ .sprite-services-icons.platform.large {
+ background-position: -70px -109px;
+ width: 61px;
+ height: 60px;
+ }
+ .sprite-services-icons.storage {
+ background-position: -282px -194px;
+ width: 55px;
+ height: 44px;
+ }
+ .sprite-services-icons.storage.small {
+ background-position: -210px -210px;
+ width: 29px;
+ height: 29px;
+ }
+ .sprite-services-icons.storage.medium {
+ background-position: -140px -198px;
+ width: 41px;
+ height: 41px;
+ }
+ .sprite-services-icons.storage.large {
+ background-position: -70px -178px;
+ width: 61px;
+ height: 61px;
+ }
+ .sprite-services-icons.call_controll {
+ background-position: -282px -268px;
+ width: 36px;
+ height: 41px;
+ }
+ .sprite-services-icons.call_controll.small {
+ background-position: -210px -280px;
+ width: 29px;
+ height: 29px;
+ }
+ .sprite-services-icons.call_controll.medium {
+ background-position: -140px -268px;
+ width: 41px;
+ height: 41px;
+ }
+ .sprite-services-icons.call_controll.large {
+ background-position: -70px -248px;
+ width: 61px;
+ height: 61px;
+ }
+ .sprite-services-icons.collaboration {
+ background-position: -282px -335px;
+ width: 43px;
+ height: 44px;
+ }
+ .sprite-services-icons.collaboration.small {
+ background-position: -210px -350px;
+ width: 29px;
+ height: 29px;
+ }
+ .sprite-services-icons.collaboration.medium {
+ background-position: -140px -338px;
+ width: 41px;
+ height: 41px;
+ }
+ .sprite-services-icons.collaboration.large {
+ background-position: -70px -318px;
+ width: 61px;
+ height: 61px;
+ }
+ .sprite-services-icons.collaboration1 {
+ background-position: -280px -417px;
+ width: 49px;
+ height: 32px;
+ }
+ .sprite-services-icons.collaboration1.small {
+ background-position: -209px -419px;
+ width: 29px;
+ height: 29px;
+ }
+ .sprite-services-icons.collaboration1.medium {
+ background-position: -140px -408px;
+ width: 41px;
+ height: 41px;
+ }
+ .sprite-services-icons.collaboration1.large {
+ background-position: -70px -388px;
+ width: 61px;
+ height: 61px;
+ }
+ .sprite-services-icons.messaging {
+ background-position: -282px -482px;
+ width: 43px;
+ height: 40px;
+ }
+ .sprite-services-icons.messaging.small {
+ background-position: -210px -491px;
+ width: 28px;
+ height: 28px;
+ }
+ .sprite-services-icons.messaging.medium {
+ background-position: -140px -478px;
+ width: 41px;
+ height: 41px;
+ }
+ .sprite-services-icons.messaging.large {
+ background-position: -70px -458px;
+ width: 61px;
+ height: 61px;
+ }
+ .sprite-services-icons.notification {
+ background-position: -282px -538px;
+ width: 43px;
+ height: 52px;
+ }
+ .sprite-services-icons.notification.small {
+ background-position: -210px -561px;
+ width: 28px;
+ height: 28px;
+ }
+ .sprite-services-icons.notification.medium {
+ background-position: -140px -548px;
+ width: 41px;
+ height: 41px;
+ }
+ .sprite-services-icons.notification.large {
+ background-position: -70px -528px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-services-icons.mobility {
+ background-position: -282px -598px;
+ width: 64px;
+ height: 62px;
+ }
+ .sprite-services-icons.mobility.small {
+ background-position: -210px -630px;
+ width: 29px;
+ height: 29px;
+ }
+ .sprite-services-icons.mobility.medium {
+ background-position: -140px -618px;
+ width: 41px;
+ height: 41px;
+ }
+ .sprite-services-icons.mobility.large {
+ background-position: -70px -601px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-services-icons.network_l_1-3 {
+ background-position: -282px -672px;
+ width: 63px;
+ height: 57px;
+ }
+ .sprite-services-icons.network_l_1-3.small {
+ background-position: -210px -701px;
+ width: 28px;
+ height: 28px;
+ }
+ .sprite-services-icons.network_l_1-3.medium {
+ background-position: -139px -688px;
+ width: 41px;
+ height: 41px;
+ }
+ .sprite-services-icons.network_l_1-3.large {
+ background-position: -70px -671px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-services-icons.network_l_4 {
+ background-position: -286px -744px;
+ width: 63px;
+ height: 57px;
+ }
+ .sprite-services-icons.network_l_4.small {
+ background-position: -210px -771px;
+ width: 28px;
+ height: 28px;
+ }
+ .sprite-services-icons.network_l_4.medium {
+ background-position: -140px -758px;
+ width: 41px;
+ height: 41px;
+ }
+ .sprite-services-icons.network_l_4.large {
+ background-position: -70px -740px;
+ width: 61px;
+ height: 61px;
+ }
+ .sprite-services-icons.defaulticon {
+ background-position: -270px -810px;
+ width: 60px;
+ height: 60px;
+ }
+ .sprite-services-icons.defaulticon.small {
+ background-position: -220px -842px;
+ width: 28px;
+ height: 28px;
+ }
+ .sprite-services-icons.defaulticon.medium {
+ background-position: -169px -830px;
+ width: 40px;
+ height: 40px;
+ }
+ .sprite-services-icons.defaulticon.large {
+ background-position: -70px -809px;
+ width: 60px;
+ height: 60px;
+ }
+ /* ============ flash ============ */
+ @-webkit-keyframes flash {
+ 0% {
+ opacity: 1;
+ }
+ 20% {
+ opacity: 1;
+ }
+ 50% {
+ opacity: 0;
+ }
+ 80% {
+ opacity: 1;
+ }
+ 100% {
+ opacity: 1;
+ }
+ }
+ /* Safari, Chrome and Opera > 12.1 */
+ /* Firefox < 16 */
+ /* Opera < 12.1 */
+ /* Internet Explorer */
+ @keyframes flash {
+ 0% {
+ opacity: 1;
+ }
+ 20% {
+ opacity: 1;
+ }
+ 50% {
+ opacity: 0;
+ }
+ 80% {
+ opacity: 1;
+ }
+ 100% {
+ opacity: 1;
+ }
+ }
+ /* ============ fadein ============ */
+ @-webkit-keyframes fadein {
+ from {
+ opacity: 0;
+ }
+ to {
+ opacity: 1;
+ }
+ }
+ /* Safari, Chrome and Opera > 12.1 */
+ /* Firefox < 16 */
+ /* Opera < 12.1 */
+ /* Internet Explorer */
+ @keyframes fadein {
+ from {
+ opacity: 0;
+ }
+ to {
+ opacity: 1;
+ }
+ }
+ /* ============ fadeout ============ */
+ @-webkit-keyframes fadeout {
+ from {
+ opacity: 1;
+ }
+ to {
+ opacity: 0;
+ }
+ }
+ /* Safari, Chrome and Opera > 12.1 */
+ /* Firefox < 16 */
+ /* Opera < 12.1 */
+ /* Internet Explorer */
+ @keyframes fadeout {
+ from {
+ opacity: 1;
+ }
+ to {
+ opacity: 0;
+ }
+ }
+ .w-sdc-btn {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+ cursor: pointer;
+ border-radius: 5px;
+ border: 0;
+ height: 38px;
+ line-height: 38px;
+ width: 195px;
+ margin: 0 6px;
+ padding: 0;
+ vertical-align: middle;
+ outline: none;
+ }
+ .w-sdc-btn:disabled {
+ background-color: #cdcdcd;
+ }
+ .w-sdc-btn-small {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ cursor: pointer;
+ border-radius: 5px;
+ border: 0;
+ height: 30px;
+ line-height: 30px;
+ width: 71px;
+ margin: 0 6px;
+ padding: 0;
+ outline: none;
+ vertical-align: middle;
+ position: relative;
+ }
+ .w-sdc-btn-small:disabled {
+ background-color: #cdcdcd;
+ }
+ .w-sdc-btn-red-small {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ cursor: pointer;
+ border-radius: 5px;
+ border: 0;
+ height: 30px;
+ line-height: 30px;
+ width: 71px;
+ margin: 0 6px;
+ padding: 0;
+ outline: none;
+ vertical-align: middle;
+ position: relative;
+ background-color: #da1f3d;
+ padding-left: 15px;
+ }
+ .w-sdc-btn-red-small:disabled {
+ background-color: #cdcdcd;
+ }
+ .w-sdc-btn-red-small:hover:enabled {
+ background-color: #ad1931;
+ }
+ .w-sdc-btn-red-small span {
+ position: absolute;
+ top: 7px;
+ left: 10px;
+ }
+ .w-sdc-btn-green-small {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ cursor: pointer;
+ border-radius: 5px;
+ border: 0;
+ height: 30px;
+ line-height: 30px;
+ width: 71px;
+ margin: 0 6px;
+ padding: 0;
+ outline: none;
+ vertical-align: middle;
+ position: relative;
+ background-color: #28bd6e;
+ }
+ .w-sdc-btn-green-small:disabled {
+ background-color: #cdcdcd;
+ }
+ .w-sdc-btn-green-small:hover:enabled {
+ background-color: #1f9356;
+ }
+ .w-sdc-btn-light-green {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+ cursor: pointer;
+ border-radius: 5px;
+ border: 0;
+ height: 38px;
+ line-height: 38px;
+ width: 195px;
+ margin: 0 6px;
+ padding: 0;
+ vertical-align: middle;
+ outline: none;
+ background-color: #28bd6e;
+ }
+ .w-sdc-btn-light-green:disabled {
+ background-color: #cdcdcd;
+ }
+ .w-sdc-btn-light-green:hover:enabled {
+ background-color: #1f9356;
+ }
+ .w-sdc-btn-green {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+ cursor: pointer;
+ border-radius: 5px;
+ border: 0;
+ height: 38px;
+ line-height: 38px;
+ width: 195px;
+ margin: 0 6px;
+ padding: 0;
+ vertical-align: middle;
+ outline: none;
+ background-color: #1d9a95;
+ }
+ .w-sdc-btn-green:disabled {
+ background-color: #cdcdcd;
+ }
+ .w-sdc-btn-green:hover:enabled {
+ background-color: #156f6b;
+ }
+ .w-sdc-btn-blue {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+ cursor: pointer;
+ border-radius: 5px;
+ border: 0;
+ height: 38px;
+ line-height: 38px;
+ width: 195px;
+ margin: 0 6px;
+ padding: 0;
+ vertical-align: middle;
+ outline: none;
+ background-color: #3b7b9b;
+ }
+ .w-sdc-btn-blue:disabled {
+ background-color: #cdcdcd;
+ }
+ .w-sdc-btn-blue:hover:enabled {
+ background-color: #2d5e76;
+ }
+ .w-sdc-btn-dark-gray {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+ cursor: pointer;
+ border-radius: 5px;
+ border: 0;
+ height: 38px;
+ line-height: 38px;
+ width: 195px;
+ margin: 0 6px;
+ padding: 0;
+ vertical-align: middle;
+ outline: none;
+ background-color: #445663;
+ }
+ .w-sdc-btn-dark-gray:disabled {
+ background-color: #cdcdcd;
+ }
+ .w-sdc-btn-dark-gray:hover:enabled {
+ background-color: #2f3c45;
+ }
+ .w-sdc-form-action {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ background-color: #28bd6e;
+ border-radius: 5px;
+ cursor: pointer;
+ border: 0;
+ height: 38px;
+ line-height: 38px;
+ width: 264px;
+ }
+ .w-sdc-form-action:hover {
+ background-color: #23aa63;
+ }
+ .w-sdc-form-action:disabled {
+ background-color: #93deb6;
+ }
+ /*
+ CLASSIC BUTTON
+ Examples:
+ -------------------------------------------------------------------
+ <button class="w-sdc-classic-btn blue">Text 1</button>
+ <button class="w-sdc-classic-btn green">Text 1</button>
+ <button class="w-sdc-classic-btn gray">Text 1</button>
+ <button class="w-sdc-classic-btn white">Text 1</button>
+ <button class="w-sdc-classic-btn blue disabled">Text 5</button>
+ */
+ .w-sdc-classic-btn {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ text-align: center;
+ border-radius: 2px;
+ border-style: solid;
+ border-width: 1px;
+ width: 94px;
+ height: 30px;
+ display: block;
+ vertical-align: middle;
+ line-height: 30px;
+ cursor: pointer;
+ text-decoration: none;
+ box-sizing: border-box;
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ position: relative;
+ }
+ .w-sdc-classic-btn:focus,
+ .w-sdc-classic-btn:active:focus {
+ outline: 0 none;
+ }
+ .w-sdc-classic-btn.primary {
+ border-color: #056bae;
+ background-color: #009fdb;
+ color: #ffffff;
+ }
+ .w-sdc-classic-btn.primary:hover {
+ background-color: #1ec2ff;
+ }
+ .w-sdc-classic-btn.blue {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ border-color: #036698;
+ background-color: #3b7b9b;
+ box-shadow: 0px 1px 0.99px 0.01px #023c59;
+ }
+ .w-sdc-classic-btn.blue:hover {
+ border-color: #036698;
+ background-color: #458eb2;
+ box-shadow: 0px 1px 0.99px 0.01px #023c59;
+ }
+ .w-sdc-classic-btn.blue:active {
+ border-color: #036698;
+ background-color: #336c88;
+ box-shadow: 0px 1px 0.99px 0.01px #023c59;
+ }
+ .w-sdc-classic-btn.blue:focus:before {
+ content: " ";
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ right: 0px;
+ bottom: -1px;
+ border: 1px solid #ffffff;
+ z-index: 1;
+ border-radius: 2px;
+ }
+ .w-sdc-classic-btn.blue:disabled,
+ .w-sdc-classic-btn.blue.disabled {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ opacity: 0.3;
+ border-color: #036698;
+ background-color: #3b7b9b;
+ box-shadow: 0px 1px 0.99px 0.01px #023c59;
+ }
+ .w-sdc-classic-btn.green {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ border-color: #25a762;
+ background-color: #28bd6e;
+ box-shadow: 0px 1px 0.99px 0.01px #235600;
+ }
+ .w-sdc-classic-btn.green:hover {
+ border-color: #25a762;
+ background-color: #2bcd77;
+ box-shadow: 0px 1px 0.99px 0.01px #235600;
+ }
+ .w-sdc-classic-btn.green:active {
+ border-color: #45a006;
+ background-color: #24a862;
+ box-shadow: 0px 1px 0.99px 0.01px #235600;
+ }
+ .w-sdc-classic-btn.green:focus:before {
+ content: " ";
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ right: 0px;
+ bottom: -1px;
+ border: 1px solid #ffffff;
+ z-index: 1;
+ border-radius: 2px;
+ }
+ .w-sdc-classic-btn.green:disabled,
+ .w-sdc-classic-btn.green.disabled {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ opacity: 0.3;
+ border-color: #45a006;
+ background-color: #28bd6e;
+ box-shadow: 0px 1px 0.99px 0.01px #235600;
+ }
+ .w-sdc-classic-btn.gray {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ border-color: #d8d8d8;
+ background-color: #f6f6f6;
+ box-shadow: 0px 1px 0.99px 0.01px #aaaaaa;
+ }
+ .w-sdc-classic-btn.gray:hover {
+ border-color: #d8d8d8;
+ background-color: #ececec;
+ box-shadow: 0px 1px 0.99px 0.01px #aaaaaa;
+ }
+ .w-sdc-classic-btn.gray:active {
+ border-color: #d8d8d8;
+ background-color: #d7d7d7;
+ box-shadow: 0px 1px 0.99px 0.01px #aaaaaa;
+ }
+ .w-sdc-classic-btn.gray:focus:before {
+ content: " ";
+ position: absolute;
+ top: -1px;
+ left: -1px;
+ right: -1px;
+ bottom: -2px;
+ border: 1px solid #666666;
+ z-index: 1;
+ border-radius: 2px;
+ }
+ .w-sdc-classic-btn.gray:disabled,
+ .w-sdc-classic-btn.gray.disabled {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ opacity: 0.3;
+ border-color: #d8d8d8;
+ background-color: #f6f6f6;
+ box-shadow: 0px 1px 0.99px 0.01px #aaaaaa;
+ }
+ .w-sdc-classic-btn.white {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ border-color: #d8d8d8;
+ background-color: #ffffff;
+ box-shadow: 0px 1px 0.99px 0.01px #aaaaaa;
+ }
+ .w-sdc-classic-btn.white:hover {
+ border-color: #d8d8d8;
+ background-color: #f6f6f6;
+ box-shadow: 0px 1px 0.99px 0.01px #aaaaaa;
+ }
+ .w-sdc-classic-btn.white:active {
+ border-color: #d8d8d8;
+ background-color: #ececec;
+ box-shadow: 0px 1px 0.99px 0.01px #aaaaaa;
+ }
+ .w-sdc-classic-btn.white:focus:before {
+ content: " ";
+ position: absolute;
+ top: -1px;
+ left: -1px;
+ right: -1px;
+ bottom: -2px;
+ border: 1px solid #666666;
+ z-index: 1;
+ border-radius: 2px;
+ }
+ .w-sdc-classic-btn.white:disabled,
+ .w-sdc-classic-btn.white.disabled {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ opacity: 0.3;
+ border-color: #d8d8d8;
+ background-color: #ffffff;
+ box-shadow: 0px 1px 0.99px 0.01px #aaaaaa;
+ }
+ /*
+ WIZARD STEP CIRCLE BUTTON
+ Examples:
+ -------------------------------------------------------------------
+ <button class="w-sdc-wizard-step-btn">1</button>
+ <button class="w-sdc-wizard-step-btn selected">2</button>
+ <button class="w-sdc-wizard-step-btn valid">3</button>
+ <button class="w-sdc-wizard-step-btn">4</button>
+ <button class="w-sdc-wizard-step-btn disabled">5</button>
+ */
+ .w-sdc-wizard-step-btn {
+ background-color: #f6f6f6;
+ border-radius: 50%;
+ color: #ffffff;
+ content: '';
+ height: 36px;
+ width: 36px;
+ text-align: center;
+ display: block;
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ outline: 0 none;
+ position: relative;
+ vertical-align: top;
+ cursor: pointer;
+ vertical-align: middle;
+ border: none;
+ box-shadow: inset 0px 0px 0px 1px #d8d8d8;
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 15px;
+ }
+ .w-sdc-wizard-step-btn:active {
+ box-shadow: none;
+ background-color: #eaeaea;
+ }
+ .w-sdc-wizard-step-btn.disabled {
+ color: #a8b3b9;
+ cursor: default;
+ }
+ .w-sdc-wizard-step-btn.disabled:active {
+ box-shadow: inset 0px 0px 0px 1px #d8d8d8;
+ background-color: #f6f6f6;
+ }
+ .w-sdc-wizard-step-btn.valid {
+ background-color: #ffffff;
+ border-radius: 50%;
+ color: #ffffff;
+ content: '';
+ height: 36px;
+ width: 36px;
+ text-align: center;
+ display: block;
+ box-shadow: inset 0px 0px 0px 2px #28bd6e;
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 15px;
+ }
+ .w-sdc-wizard-step-btn.selected {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 15px;
+ background-color: #3b7b9b;
+ box-shadow: none;
+ }
+ .w-sdc-wizard-step-btn.selected:active {
+ background-color: #336c88;
+ }
+ .w-sdc-dark-header {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 20px;
+ background-color: #445663;
+ height: 94px;
+ width: 100%;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ }
+ .w-sdc-dark-header .w-sdc-dark-header-logo {
+ cursor: pointer;
+ height: 92px;
+ width: 240px;
+ padding: 28px 28px 28px 60px;
+ -ms-flex-preferred-size: 240px;
+ flex-basis: 240px;
+ -webkit-box-flex: 0;
+ -ms-flex-positive: 0;
+ flex-grow: 0;
+ -ms-flex-negative: 0;
+ flex-shrink: 0;
+ }
+ .w-sdc-dark-header .w-sdc-dark-header-logo .w-sdc-dark-header-logo-icon {
+ display: inline-block;
+ margin-right: 8px;
+ vertical-align: -6px;
+ }
+ .w-sdc-dark-header .w-sdc-dark-header-logo a.w-sdc-dark-header-logo-link {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 30px;
+ text-decoration: none;
+ }
+ .w-sdc-dark-header .w-sdc-dark-header-logo .w-sdc-dark-header-version {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 10px;
+ -moz-opacity: 0.6;
+ -khtml-opacity: 0.6;
+ -webkit-opacity: 0.6;
+ opacity: 0.6;
+ }
+ .w-sdc-dark-header .i-sdc-dark-header-caption {
+ min-width: 175px;
+ text-align: left;
+ cursor: default;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ -webkit-box-flex: 10;
+ -ms-flex-positive: 10;
+ flex-grow: 10;
+ padding-left: 27px;
+ white-space: nowrap;
+ }
+ .w-sdc-dark-header .i-sdc-dark-header-caption .i-sdc-dark-header-caption-text {
+ text-overflow: ellipsis;
+ overflow: hidden;
+ }
+ .w-sdc-dark-header .w-sdc-header-user-container {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ @font-face {
+ font-family: omnes-italic;
+ src: url(/sdc1/scripts/fonts/Omnes_ATTW02Italic.92ae9d8d38675c8ce81b.eot);
+ src: url(/sdc1/scripts/fonts/Omnes_ATTW02Italic.92ae9d8d38675c8ce81b.eot?#iefix) format('embedded-opentype'), url(/sdc1/scripts/images/Omnes_ATTW02Italic.71faeb25a3e646f1f582.ttf);
+ }
+ @font-face {
+ font-family: omnes-light;
+ src: url(/sdc1/scripts/fonts/Omnes_ATTW02Light.266078b8b4f60ce325d6.eot);
+ src: url(/sdc1/scripts/fonts/Omnes_ATTW02Light.266078b8b4f60ce325d6.eot?#iefix) format('embedded-opentype'), url(/sdc1/scripts/images/Omnes_ATTW02Light.2e91f88ec67c43a8d74e.ttf);
+ }
+ @font-face {
+ font-family: omnes-light-italic;
+ src: url(/sdc1/scripts/fonts/Omnes_ATTW02LightItalic.466b2c6938e44a0493d4.eot);
+ src: url(/sdc1/scripts/fonts/Omnes_ATTW02LightItalic.466b2c6938e44a0493d4.eot?#iefix) format('embedded-opentype'), url(/sdc1/scripts/images/Omnes_ATTW02LightItalic.ad98ee7578e718507898.ttf);
+ }
+ @font-face {
+ font-family: omnes-medium;
+ src: url(/sdc1/scripts/fonts/Omnes_ATTW02Medium.0009fcca5ac8f2cec489.eot);
+ src: url(/sdc1/scripts/fonts/Omnes_ATTW02Medium.0009fcca5ac8f2cec489.eot?#iefix) format('embedded-opentype'), url(/sdc1/scripts/images/Omnes_ATTW02Medium.ca4734481095ac177dfb.ttf);
+ }
+ @font-face {
+ font-family: omnes-medium-italic;
+ src: url(/sdc1/scripts/fonts/Omnes_ATTW02MediumItalic.2677fce2a36bc2e3affd.eot);
+ src: url(/sdc1/scripts/fonts/Omnes_ATTW02MediumItalic.2677fce2a36bc2e3affd.eot?#iefix) format('embedded-opentype'), url(/sdc1/scripts/images/Omnes_ATTW02MediumItalic.763cd1721c06205c692c.ttf);
+ }
+ @font-face {
+ font-family: omnes-regular;
+ src: url(/sdc1/scripts/fonts/Omnes_ATTW02.6272f8a5338048798717.eot);
+ src: url(/sdc1/scripts/fonts/Omnes_ATTW02.6272f8a5338048798717.eot?#iefix) format('embedded-opentype'), url(/sdc1/scripts/images/Omnes_ATTW02.2e3bc36d7f8cc45d419b.ttf);
+ }
+ @font-face {
+ font-family: omnes-bold;
+ src: url(/sdc1/scripts/fonts/Omnes_ATTW02Bold.1a6357a3b57418a36cc9.eot);
+ src: url(/sdc1/scripts/fonts/Omnes_ATTW02Bold.1a6357a3b57418a36cc9.eot?#iefix) format('embedded-opentype'), url(/sdc1/scripts/images/Omnes_ATTW02Bold.4640921ff47586654de8.ttf);
+ }
+ @font-face {
+ font-family: omnes-bold-italic;
+ src: url(/sdc1/scripts/fonts/OmnesATTW02BoldItalic.f3f71dc7a8f1c8a49547.eot);
+ src: url(/sdc1/scripts/fonts/OmnesATTW02BoldItalic.f3f71dc7a8f1c8a49547.eot?#iefix) format('embedded-opentype'), url(/sdc1/scripts/images/OmnesATTW02BoldItalic.3e6fb2d2d79bfbc4282a.ttf);
+ }
+ @font-face {
+ font-family: clearview-book;
+ src: url(/sdc1/scripts/fonts/ClearviewATT-Bk.607c223b4dd673a27e94.eot);
+ src: url(/sdc1/scripts/fonts/ClearviewATT-Bk.607c223b4dd673a27e94.eot?#iefix) format('embedded-opentype'), url(/sdc1/scripts/images/ClearviewATT-Bk.5fcd57f750c5e22fdf43.ttf);
+ }
+ .w-sdc-form {
+ padding: 0;
+ }
+ .w-sdc-form .w-sdc-form-actions-container {
+ margin: 20px auto;
+ width: 100%;
+ }
+ .w-sdc-form .w-sdc-form-columns-wrapper {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-pack: justify;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+ }
+ .w-sdc-form .w-sdc-form-columns-wrapper .w-sdc-form-column {
+ width: 100%;
+ margin: 0;
+ padding: 0 6% 0 0;
+ text-align: left;
+ }
+ .w-sdc-form .w-sdc-form-columns-wrapper .w-sdc-form-column:last-child {
+ padding: 0;
+ }
+ .w-sdc-form .i-sdc-form-item {
+ margin-bottom: 10px;
+ position: relative;
+ text-align: left;
+ }
+ .w-sdc-form .i-sdc-form-item.error input[type="text"],
+ .w-sdc-form .i-sdc-form-item.error input[type="url"],
+ .w-sdc-form .i-sdc-form-item.error input[type="number"],
+ .w-sdc-form .i-sdc-form-item.error input[type="password"],
+ .w-sdc-form .i-sdc-form-item.error select,
+ .w-sdc-form .i-sdc-form-item.error textarea {
+ color: #da1f3d;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ border-color: #ea7499;
+ outline: none;
+ box-sizing: border-box;
+ }
+ .w-sdc-form .i-sdc-form-item.error input[type="text"]:hover,
+ .w-sdc-form .i-sdc-form-item.error input[type="url"]:hover,
+ .w-sdc-form .i-sdc-form-item.error input[type="number"]:hover,
+ .w-sdc-form .i-sdc-form-item.error input[type="password"]:hover,
+ .w-sdc-form .i-sdc-form-item.error select:hover,
+ .w-sdc-form .i-sdc-form-item.error textarea:hover {
+ color: #da1f3d;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ border-color: #ea7499;
+ }
+ .w-sdc-form .i-sdc-form-item.error label {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .w-sdc-form .i-sdc-form-item label {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ margin: 0 0 2px 0;
+ padding: 0;
+ display: block;
+ }
+ .w-sdc-form .i-sdc-form-item label.required::before {
+ color: #f33;
+ content: '*';
+ margin: 0 4px 0 0;
+ }
+ .w-sdc-form .i-sdc-form-item input[type="text"],
+ .w-sdc-form .i-sdc-form-item input[type="url"],
+ .w-sdc-form .i-sdc-form-item input[type="number"],
+ .w-sdc-form .i-sdc-form-item input[type="password"],
+ .w-sdc-form .i-sdc-form-item select,
+ .w-sdc-form .i-sdc-form-item textarea {
+ color: #5a5a5a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ background-color: #ffffff;
+ border-radius: 2px;
+ margin: 0;
+ padding: 0;
+ border: solid 1px #d2d2d2;
+ height: 30px;
+ width: 100%;
+ display: block;
+ /* Safari, Chrome and Opera */
+ /* Firefox 18- */
+ /* Firefox 19+ */
+ /* IE 10+ */
+ /* Edge */
+ }
+ .w-sdc-form .i-sdc-form-item input[type="text"]::-webkit-input-placeholder,
+ .w-sdc-form .i-sdc-form-item input[type="url"]::-webkit-input-placeholder,
+ .w-sdc-form .i-sdc-form-item input[type="number"]::-webkit-input-placeholder,
+ .w-sdc-form .i-sdc-form-item input[type="password"]::-webkit-input-placeholder,
+ .w-sdc-form .i-sdc-form-item select::-webkit-input-placeholder,
+ .w-sdc-form .i-sdc-form-item textarea::-webkit-input-placeholder {
+ font-style: italic;
+ }
+ .w-sdc-form .i-sdc-form-item input[type="text"]:-moz-placeholder,
+ .w-sdc-form .i-sdc-form-item input[type="url"]:-moz-placeholder,
+ .w-sdc-form .i-sdc-form-item input[type="number"]:-moz-placeholder,
+ .w-sdc-form .i-sdc-form-item input[type="password"]:-moz-placeholder,
+ .w-sdc-form .i-sdc-form-item select:-moz-placeholder,
+ .w-sdc-form .i-sdc-form-item textarea:-moz-placeholder {
+ font-style: italic;
+ }
+ .w-sdc-form .i-sdc-form-item input[type="text"]::-moz-placeholder,
+ .w-sdc-form .i-sdc-form-item input[type="url"]::-moz-placeholder,
+ .w-sdc-form .i-sdc-form-item input[type="number"]::-moz-placeholder,
+ .w-sdc-form .i-sdc-form-item input[type="password"]::-moz-placeholder,
+ .w-sdc-form .i-sdc-form-item select::-moz-placeholder,
+ .w-sdc-form .i-sdc-form-item textarea::-moz-placeholder {
+ font-style: italic;
+ }
+ .w-sdc-form .i-sdc-form-item input[type="text"]:-ms-input-placeholder,
+ .w-sdc-form .i-sdc-form-item input[type="url"]:-ms-input-placeholder,
+ .w-sdc-form .i-sdc-form-item input[type="number"]:-ms-input-placeholder,
+ .w-sdc-form .i-sdc-form-item input[type="password"]:-ms-input-placeholder,
+ .w-sdc-form .i-sdc-form-item select:-ms-input-placeholder,
+ .w-sdc-form .i-sdc-form-item textarea:-ms-input-placeholder {
+ font-style: italic;
+ }
+ .w-sdc-form .i-sdc-form-item input[type="text"]:-ms-input-placeholder,
+ .w-sdc-form .i-sdc-form-item input[type="url"]:-ms-input-placeholder,
+ .w-sdc-form .i-sdc-form-item input[type="number"]:-ms-input-placeholder,
+ .w-sdc-form .i-sdc-form-item input[type="password"]:-ms-input-placeholder,
+ .w-sdc-form .i-sdc-form-item select:-ms-input-placeholder,
+ .w-sdc-form .i-sdc-form-item textarea:-ms-input-placeholder {
+ font-style: italic;
+ }
+ .w-sdc-form .i-sdc-form-item input[type="text"]:disabled,
+ .w-sdc-form .i-sdc-form-item input[type="url"]:disabled,
+ .w-sdc-form .i-sdc-form-item input[type="number"]:disabled,
+ .w-sdc-form .i-sdc-form-item input[type="password"]:disabled,
+ .w-sdc-form .i-sdc-form-item select:disabled,
+ .w-sdc-form .i-sdc-form-item textarea:disabled {
+ opacity: 0.4;
+ }
+ .w-sdc-form .i-sdc-form-item input[type="text"].view-mode,
+ .w-sdc-form .i-sdc-form-item input[type="url"].view-mode,
+ .w-sdc-form .i-sdc-form-item input[type="number"].view-mode,
+ .w-sdc-form .i-sdc-form-item input[type="password"].view-mode,
+ .w-sdc-form .i-sdc-form-item select.view-mode,
+ .w-sdc-form .i-sdc-form-item textarea.view-mode {
+ opacity: 1;
+ border: solid 1px #d2d2d2;
+ background-color: #f8f8f8 !important;
+ pointer-events: none;
+ cursor: auto;
+ }
+ .w-sdc-form .i-sdc-form-item input[type="text"],
+ .w-sdc-form .i-sdc-form-item input[type="url"],
+ .w-sdc-form .i-sdc-form-item input[type="number"],
+ .w-sdc-form .i-sdc-form-item input[type="password"] {
+ padding: 4px 10px;
+ }
+ .w-sdc-form .i-sdc-form-item select {
+ padding: 4px 7px;
+ }
+ .w-sdc-form .i-sdc-form-item textarea {
+ padding: 6px 10px;
+ }
+ .w-sdc-form .i-sdc-form-item select optgroup {
+ color: #3b7b9b;
+ }
+ .w-sdc-form .i-sdc-form-item select optgroup option {
+ color: #666666;
+ }
+ .w-sdc-form .i-sdc-form-item textarea {
+ min-height: 110px;
+ resize: none;
+ }
+ .w-sdc-form .i-sdc-form-item-error-icon {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -212px -3990px;
+ width: 13px;
+ height: 11px;
+ position: absolute;
+ }
+ .w-sdc-form .i-sdc-form-item-error-icon .i-sdc-form-item-error-message {
+ background-color: #da1f3d;
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ cursor: default;
+ position: absolute;
+ top: -10px;
+ left: -8px;
+ height: 30px;
+ padding: 6px 10px 6px 30px;
+ z-index: 999;
+ text-align: left;
+ border-top-right-radius: 4px;
+ border-bottom-right-radius: 4px;
+ box-shadow: 0px 1px 1px 0px rgba(24, 24, 25, 0.43);
+ }
+ .w-sdc-form .i-sdc-form-item-error-icon .i-sdc-form-item-error-message:before {
+ content: '';
+ position: absolute;
+ top: 50%;
+ right: 100%;
+ margin-top: -5px;
+ width: 0;
+ height: 0;
+ border-right: 5px solid #da1f3d;
+ border-top: 5px solid transparent;
+ border-bottom: 5px solid transparent;
+ }
+ .w-sdc-form .i-sdc-form-item-error-icon .i-sdc-form-item-error-message span {
+ white-space: nowrap;
+ }
+ .w-sdc-form .i-sdc-form-item-error-icon .i-sdc-form-item-error-message span.error {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -212px -3990px;
+ width: 13px;
+ height: 11px;
+ position: absolute;
+ top: 9px;
+ left: 8px;
+ }
+ .w-sdc-form .i-sdc-form-item-error-icon .i-sdc-form-item-error-message span.ok {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ cursor: pointer;
+ position: absolute;
+ right: 10px;
+ text-decoration: underline;
+ }
+ .w-sdc-form .i-sdc-form-item-error-icon .i-sdc-form-item-error-message .i-sdc-form-item-error-icon-open {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -51px -3990px;
+ width: 13px;
+ height: 11px;
+ position: absolute;
+ top: 9px;
+ left: 8px;
+ }
+ .w-sdc-form .input-error {
+ color: #cf2a2a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+ text-align: left;
+ }
+ .w-sdc-form .input-error-file-upload {
+ color: #cf2a2a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+ text-align: left;
+ margin-top: -10px;
+ margin-bottom: 10px;
+ }
+ .w-sdc-header {
+ background-color: #D3DBE0;
+ border-bottom: 1px solid #C1CDD5;
+ height: 94px;
+ width: 100%;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ }
+ .w-sdc-header-logo {
+ background-color: #445663;
+ cursor: pointer;
+ border-bottom: 1px solid #1D3A52;
+ height: 94px;
+ width: 240px;
+ padding: 28px;
+ -ms-flex-preferred-size: 240px;
+ flex-basis: 240px;
+ -webkit-box-flex: 0;
+ -ms-flex-positive: 0;
+ flex-grow: 0;
+ -ms-flex-negative: 0;
+ flex-shrink: 0;
+ z-index: 1020;
+ }
+ .w-sdc-header-logo-icon {
+ display: inline-block;
+ margin-right: 8px;
+ vertical-align: -6px;
+ }
+ a.w-sdc-header-logo-link {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 30px;
+ text-decoration: none;
+ }
+ .w-sdc-header-version {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 10px;
+ -moz-opacity: 0.6;
+ -khtml-opacity: 0.6;
+ -webkit-opacity: 0.6;
+ opacity: 0.6;
+ }
+ .i-sdc-header-caption {
+ min-width: 175px;
+ text-align: left;
+ cursor: default;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ -webkit-box-flex: 10;
+ -ms-flex-positive: 10;
+ flex-grow: 10;
+ padding-left: 27px;
+ white-space: nowrap;
+ }
+ .i-sdc-header-caption .i-sdc-header-caption-text {
+ color: #445663;
+ font-family: omnes-medium, sans-serif;
+ font-size: 20px;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ }
+ .i-sdc-header-caption .i-sdc-header-help {
+ color: #445663;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ cursor: pointer;
+ margin-left: 26px;
+ position: relative;
+ display: inline-block;
+ }
+ .i-sdc-header-caption .i-sdc-header-help::before {
+ background-color: #3b7b9b;
+ border-radius: 50%;
+ color: #ffffff;
+ content: '?';
+ display: block;
+ height: 20px;
+ position: absolute;
+ left: -26px;
+ text-align: center;
+ width: 20px;
+ }
+ .sdc-error-403-container-title {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 20px;
+ }
+ .full-height {
+ height: 100%;
+ background-color: #000000;
+ }
+ .w-sdc-main-container {
+ position: absolute;
+ top: 50px;
+ left: 0;
+ right: 0;
+ bottom: 89px;
+ }
+ .w-sdc-main-container .w-sdc-main-right-container {
+ background-color: #ECEFF3;
+ bottom: 0;
+ padding: 22px 12px;
+ position: absolute;
+ left: 240px;
+ right: 0;
+ top: 0;
+ overflow: hidden;
+ }
+ .w-sdc-main-container .w-sdc-main-right-container > div:first-child {
+ padding-bottom: 80px;
+ }
+ .w-sdc-main-container .w-sdc-main-right-container .sdc-tile-catalog {
+ margin: 10px;
+ }
+ .w-sdc-row-flex-items {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ }
+ .sdc-loading-page {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-box-pack: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ position: absolute;
+ height: 100%;
+ width: 100%;
+ }
+ .sdc-loading-page .caption1 {
+ color: #ffffff;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+ text-align: center;
+ }
+ .sdc-loading-page .caption2 {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ display: block;
+ }
+ .main-loader .loader {
+ position: relative;
+ margin: 0px auto;
+ width: 80px;
+ }
+ .main-loader .loader:before {
+ content: '';
+ display: block;
+ padding-top: 100%;
+ }
+ .main-loader .circular {
+ -webkit-animation: rotate 2s linear infinite;
+ animation: rotate 2s linear infinite;
+ height: 100%;
+ -webkit-transform-origin: center center;
+ transform-origin: center center;
+ width: 100%;
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ margin: auto;
+ }
+ .main-loader .path {
+ stroke-dasharray: 1,200;
+ stroke-dashoffset: 0;
+ -webkit-animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
+ animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
+ stroke-linecap: round;
+ }
+ @-webkit-keyframes rotate {
+ 100% {
+ -webkit-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+ }
+ @keyframes rotate {
+ 100% {
+ -webkit-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+ }
+ @-webkit-keyframes dash {
+ 0% {
+ stroke-dasharray: 1,200;
+ stroke-dashoffset: 0;
+ }
+ 50% {
+ stroke-dasharray: 89,200;
+ stroke-dashoffset: -35px;
+ }
+ 100% {
+ stroke-dasharray: 89,200;
+ stroke-dashoffset: -124px;
+ }
+ }
+ @keyframes dash {
+ 0% {
+ stroke-dasharray: 1,200;
+ stroke-dashoffset: 0;
+ }
+ 50% {
+ stroke-dasharray: 89,200;
+ stroke-dashoffset: -35px;
+ }
+ 100% {
+ stroke-dasharray: 89,200;
+ stroke-dashoffset: -124px;
+ }
+ }
+ @-webkit-keyframes color {
+ 100%,
+ 0% {
+ stroke: #eeeeee;
+ }
+ 40% {
+ stroke: #dddddd;
+ }
+ 66% {
+ stroke: #cccccc;
+ }
+ 80%,
+ 90% {
+ stroke: #bbbbbb;
+ }
+ }
+ @keyframes color {
+ 100%,
+ 0% {
+ stroke: #eeeeee;
+ }
+ 40% {
+ stroke: #dddddd;
+ }
+ 66% {
+ stroke: #cccccc;
+ }
+ 80%,
+ 90% {
+ stroke: #bbbbbb;
+ }
+ }
+ .w-sdc-left-sidebar {
+ width: 242px;
+ overflow: hidden;
+ background-color: #ffffff;
+ box-shadow: 1px 0px 4px 0px rgba(24, 24, 25, 0.17);
+ position: absolute;
+ left: 0;
+ top: 0;
+ bottom: 0;
+ padding: 12px 18px;
+ z-index: 1;
+ }
+ .w-sdc-left-sidebar-menu {
+ margin: 0;
+ padding: 0;
+ }
+ .w-sdc-left-sidebar-menu ul {
+ margin: 0;
+ padding: 0;
+ }
+ /* Catalog */
+ .i-sdc-left-sidebar-nav-item {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ cursor: pointer;
+ border-radius: 4px;
+ width: 220px;
+ height: 60px;
+ line-height: 19px;
+ margin: 0 auto 10px;
+ padding: 20px 10px 20px 60px;
+ box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.3);
+ text-align: left;
+ }
+ .i-sdc-left-sidebar-nav-item::before {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ content: '';
+ position: absolute;
+ left: 50px;
+ top: 18px;
+ }
+ .i-sdc-left-sidebar-nav-item.catalog {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+ background-color: #3b7b9b;
+ text-transform: uppercase;
+ position: relative;
+ text-indent: 20px;
+ }
+ .i-sdc-left-sidebar-nav-item.catalog:hover {
+ background-color: #2d5e76;
+ }
+ .i-sdc-left-sidebar-nav-item.catalog::before {
+ background-position: -53px -1303px;
+ width: 20px;
+ height: 20px;
+ }
+ .i-sdc-left-sidebar-nav-item.distribution {
+ background-color: #798996;
+ display: none;
+ position: relative;
+ }
+ .i-sdc-left-sidebar-nav-item.distribution::before {
+ background-position: -50px -1400px;
+ width: 24px;
+ height: 14px;
+ }
+ .i-sdc-left-sidebar-nav-item.support {
+ background-color: #3b7b9b;
+ position: relative;
+ }
+ .i-sdc-left-sidebar-nav-item.support::before {
+ background-position: -50px -1500px;
+ width: 22px;
+ height: 22px;
+ }
+ /* */
+ .i-sdc-left-sidebar-nav-item-hierachy {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ cursor: pointer;
+ border-radius: 4px;
+ width: 220px;
+ height: 60px;
+ line-height: 19px;
+ margin: 0 auto 10px;
+ padding: 20px 10px 20px 60px;
+ box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.3);
+ text-align: left;
+ }
+ .i-sdc-left-sidebar-nav-item-hierachy::before {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ content: '';
+ position: absolute;
+ left: 50px;
+ top: 18px;
+ }
+ .i-sdc-left-sidebar-nav-item-hierachy.catalog {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+ background-color: #3b7b9b;
+ text-transform: uppercase;
+ position: relative;
+ text-indent: 20px;
+ }
+ .i-sdc-left-sidebar-nav-item-hierachy.catalog:hover {
+ background-color: #2d5e76;
+ }
+ .i-sdc-left-sidebar-nav-item-hierachy.catalog::before {
+ background-position: -53px -1303px;
+ width: 20px;
+ height: 20px;
+ }
+ .i-sdc-left-sidebar-nav-item-hierachy.distribution {
+ background-color: #798996;
+ display: none;
+ position: relative;
+ }
+ .i-sdc-left-sidebar-nav-item-hierachy.distribution::before {
+ background-position: -50px -1400px;
+ width: 24px;
+ height: 14px;
+ }
+ .i-sdc-left-sidebar-nav-item-hierachy.support {
+ background-color: #3b7b9b;
+ position: relative;
+ }
+ .i-sdc-left-sidebar-nav-item-hierachy.support::before {
+ background-position: -50px -1500px;
+ width: 22px;
+ height: 22px;
+ }
+ /* Dashboard (Non Catalog) */
+ .i-sdc-left-sidebar-item {
+ list-style: none;
+ color: #5a5a5a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ line-height: 24px;
+ /*&.selectedLink {
+ .c_7;
+ }*/
+ }
+ .i-sdc-left-sidebar-item.category-title {
+ text-transform: uppercase;
+ color: #000000;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ line-height: 30px;
+ }
+ .i-sdc-left-sidebar-item input[type="checkbox"] {
+ margin-right: 10px;
+ vertical-align: sub;
+ }
+ .i-sdc-left-sidebar-item .i-sdc-left-sidebar-item-state-count {
+ float: right;
+ }
+ .i-sdc-left-sidebar-item .sdc-element-checkbox {
+ display: -webkit-inline-box;
+ display: -ms-inline-flexbox;
+ display: inline-flex;
+ }
+ .i-sdc-left-sidebar-item-seperator {
+ border-bottom: solid 1px #f2f2f2;
+ width: 208px;
+ }
+ /* -----------------------------------------------------
+ OVERRIDE BOOTSTRAP TO CENTER MODAL VERTICALLY.
+ ----------------------------------------------------- */
+ .modal {
+ text-align: center;
+ padding: 0!important;
+ }
+ .modal:before {
+ content: '';
+ display: inline-block;
+ height: 100%;
+ vertical-align: middle;
+ margin-right: -4px;
+ }
+ /* -----------------------------------------------------
+ MODAL SIZES
+ ----------------------------------------------------- */
+ .modal-dialog.modal-sdc-xl {
+ width: 1200px;
+ }
+ .modal-dialog.modal-sdc-l {
+ width: 875px;
+ }
+ .modal-dialog.modal-sdc-md {
+ width: 650px;
+ }
+ .modal-dialog.modal-sdc-sm {
+ width: 552px;
+ }
+ .modal-dialog.modal-sdc-xsm {
+ width: 432px;
+ }
+ /* -----------------------------------------------------
+ MODAL WRAPPER
+ ----------------------------------------------------- */
+ .modal-dialog {
+ /*
+ margin-top: 110px;
+ width: 1000px;
+ */
+ display: inline-block;
+ text-align: left;
+ vertical-align: middle;
+ }
+ .modal-content {
+ /*.border-radius(4px);
+ background-color: #ffffff;
+ box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.5);
+ min-height: 200px;*/
+ }
+ .modal-backdrop {
+ background-color: #111922;
+ }
+ /* -----------------------------------------------------
+ PREVIOUS MODAL
+ ----------------------------------------------------- */
+ /*.w-sdc-modal,
+ .modal-dialog,
+ .w-sdc-modal-confirmation {
+
+ .w-sdc-modal-head {
+ .s_18_r;
+ height: 48px;
+ line-height: 48px;
+ text-align: center;
+ }
+
+ .w-sdc-modal-body {
+ height: auto;
+ padding: 20px 40px 20px 40px;
+ border-bottom: solid 1px @color_a;
+ position: relative;
+ }
+
+ .w-sdc-modal-body-content {
+ .b_1;
+ padding: 10px 0 0 0;
+ }
+
+ .w-sdc-modal-icon {
+ display: inline-block;
+ }
+
+ .w-sdc-modal-icon-DEBUG { .sprite; .message-DEBUG;}
+ .w-sdc-modal-icon-INFO { .sprite; .message-INFO;}
+ .w-sdc-modal-icon-WARNING { .sprite; .message-WARNING;}
+ .w-sdc-modal-icon-ERROR { .sprite; .message-ERROR;}
+
+ .w-sdc-modal-caption {
+ .a_6;
+ display: inline-block;
+ padding: 0 0 0 25px;
+ vertical-align: top;
+ }
+
+ .w-sdc-modal-action {
+ height: 99px;
+ text-align: center;
+ vertical-align: middle;
+ line-height: 105px;
+ }
+
+ .sdc-resource-viewer-modal-head {
+ .c_2;
+ border-radius: 6px 6px 0 0;
+ height: 30px;
+ line-height: 30px;
+ text-align: center;
+ }
+
+ .w-sdc-modal-close {
+ background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAANCAYAAACdKY9CAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkZDQUM1MUVFMDg1NDExRTVBMzdBQ0IxMzM2OTYwNjM2IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkZDQUM1MUVGMDg1NDExRTVBMzdBQ0IxMzM2OTYwNjM2Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkNBQzUxRUMwODU0MTFFNUEzN0FDQjEzMzY5NjA2MzYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RkNBQzUxRUQwODU0MTFFNUEzN0FDQjEzMzY5NjA2MzYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4EGRD0AAAAhElEQVR42mL8/+8fAxAIAvF7BvwArIYJSKQB8V0gNsajGKEGaMMZIP4PxO+A2BhkIxpOg8qDcAdIQBCPJmTFM8HOh0pg04ShGFkDNk0YitE1wDTdRVK8Ct1P+DyINSAY8HgQa0DgDA1coYdLMc7QQ464mVgiDV0TPOLKcShG1gRWAxBgACObyGI1tr+eAAAAAElFTkSuQmCC');
+ color: #3499F7; //TODO: Replace the color, should be sprite
+ .hand;
+ position: absolute;
+ right: 20px;
+ top: 20px;
+ display: block;
+ height: 13px;
+ width: 12px;
+ border-radius: 50%;
+ }
+
+ .w-sdc-resource-viewer-modal-close {
+ color: #3499F7; //TODO: Replace the color, should be sprite
+ .hand;
+ position: absolute;
+ right: 20px;
+ top: 5px;
+ display: block;
+ line-height: normal;
+ font-size: 18px;
+ font-weight: bold;
+ }
+
+ }*/
+ /* -----------------------------------------------------
+ NEW DESIGN MODAL
+ ----------------------------------------------------- */
+ .modal-type-standard.w-sdc-classic-modal .w-sdc-modal-head {
+ border-bottom: solid 3px #009fdb;
+ }
+ .modal-type-error.w-sdc-classic-modal .w-sdc-modal-head {
+ border-bottom: solid 3px #cf2a2a;
+ }
+ .modal-type-alert.w-sdc-classic-modal .w-sdc-modal-head {
+ border-bottom: solid 3px #ffb81c;
+ }
+ .w-sdc-classic-modal {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ border-radius: 4px;
+ background-color: #ffffff;
+ box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.5);
+ min-height: 165px;
+ min-width: 430px;
+ word-wrap: break-word;
+ }
+ .w-sdc-classic-modal .w-sdc-modal-head {
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ color: #191919;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+ height: 48px;
+ line-height: 48px;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ text-align: left;
+ border-bottom: solid 3px #009fdb;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ }
+ .w-sdc-classic-modal .w-sdc-modal-head .w-sdc-modal-head-text {
+ color: #191919;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+ -webkit-box-flex: 999;
+ -ms-flex-positive: 999;
+ flex-grow: 999;
+ }
+ .w-sdc-classic-modal .w-sdc-modal-head .w-sdc-modal-close {
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -52px -4041px;
+ width: 10px;
+ height: 11px;
+ cursor: pointer;
+ }
+ .w-sdc-classic-modal .w-sdc-modal-body {
+ -webkit-box-flex: 999;
+ -ms-flex-positive: 999;
+ flex-grow: 999;
+ color: #5a5a5a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ padding-top: 20px;
+ position: relative;
+ border-bottom: none;
+ }
+ .w-sdc-classic-modal .w-sdc-modal-footer {
+ clear: both;
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-box-pack: end;
+ -ms-flex-pack: end;
+ justify-content: flex-end;
+ border-radius: 6px;
+ background-color: #f8f8f8;
+ }
+ .w-sdc-classic-modal .w-sdc-modal-footer button {
+ display: block;
+ margin-right: 11px;
+ }
+ .w-sdc-classic-modal .w-sdc-modal-footer button:last-child {
+ margin-right: 0;
+ }
+ .w-sdc-classic-top-line-modal {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ background-color: #ffffff;
+ box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.5);
+ min-height: 165px;
+ min-width: 430px;
+ border-top: solid 3px #009fdb;
+ }
+ .w-sdc-classic-top-line-modal .w-sdc-modal-head {
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ color: #191919;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+ height: 48px;
+ line-height: 48px;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ text-align: left;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ }
+ .w-sdc-classic-top-line-modal .w-sdc-modal-head .w-sdc-modal-head-text {
+ color: #191919;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+ -webkit-box-flex: 999;
+ -ms-flex-positive: 999;
+ flex-grow: 999;
+ }
+ .w-sdc-classic-top-line-modal .w-sdc-modal-head .w-sdc-modal-close {
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -52px -4041px;
+ width: 10px;
+ height: 11px;
+ cursor: pointer;
+ }
+ .w-sdc-classic-top-line-modal .w-sdc-modal-body {
+ -webkit-box-flex: 999;
+ -ms-flex-positive: 999;
+ flex-grow: 999;
+ color: #5a5a5a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ padding-top: 10px;
+ position: relative;
+ border-bottom: none;
+ }
+ .w-sdc-classic-top-line-modal .w-sdc-modal-footer {
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-box-pack: end;
+ -ms-flex-pack: end;
+ justify-content: flex-end;
+ }
+ .w-sdc-classic-top-line-modal .w-sdc-modal-footer button {
+ display: block;
+ margin-right: 11px;
+ }
+ .w-sdc-classic-top-line-modal .w-sdc-modal-footer button:last-child {
+ margin-right: 0;
+ }
+ .modal-sdc-xl .w-sdc-classic-modal {
+ padding: 0 40px;
+ }
+ .modal-sdc-xl .w-sdc-classic-modal .w-sdc-modal-head {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 24px;
+ height: 60px;
+ line-height: 60px;
+ }
+ .modal-sdc-xl .w-sdc-classic-modal .w-sdc-modal-head .w-sdc-modal-head-text {
+ -webkit-box-flex: 999;
+ -ms-flex-positive: 999;
+ flex-grow: 999;
+ }
+ .modal-sdc-xl .w-sdc-classic-modal .w-sdc-modal-head .w-sdc-modal-close {
+ top: 27px;
+ right: 41px;
+ }
+ .modal-sdc-xl .w-sdc-classic-modal .w-sdc-modal-footer {
+ height: 80px;
+ margin: 0 -40px;
+ padding: 0 40px;
+ background-color: #f2f2f2;
+ }
+ .modal-sdc-xl .w-sdc-classic-top-line-modal,
+ .modal-sdc-l .w-sdc-classic-top-line-modal,
+ .modal-sdc-md .w-sdc-classic-top-line-modal,
+ .modal-sdc-sm .w-sdc-classic-top-line-modal,
+ .modal-sdc-xsm .w-sdc-classic-top-line-modal {
+ padding: 0 30px;
+ }
+ .modal-sdc-xl .w-sdc-classic-top-line-modal .w-sdc-modal-footer,
+ .modal-sdc-l .w-sdc-classic-top-line-modal .w-sdc-modal-footer,
+ .modal-sdc-md .w-sdc-classic-top-line-modal .w-sdc-modal-footer,
+ .modal-sdc-sm .w-sdc-classic-top-line-modal .w-sdc-modal-footer,
+ .modal-sdc-xsm .w-sdc-classic-top-line-modal .w-sdc-modal-footer {
+ margin: 0 -30px;
+ padding: 17px 30px;
+ }
+ .modal-sdc-xl .w-sdc-classic-modal,
+ .modal-sdc-l .w-sdc-classic-modal,
+ .modal-sdc-md .w-sdc-classic-modal,
+ .modal-sdc-sm .w-sdc-classic-modal,
+ .modal-sdc-xsm .w-sdc-classic-modal {
+ padding: 0 30px;
+ }
+ .modal-sdc-xl .w-sdc-classic-modal .w-sdc-modal-head,
+ .modal-sdc-l .w-sdc-classic-modal .w-sdc-modal-head,
+ .modal-sdc-md .w-sdc-classic-modal .w-sdc-modal-head,
+ .modal-sdc-sm .w-sdc-classic-modal .w-sdc-modal-head,
+ .modal-sdc-xsm .w-sdc-classic-modal .w-sdc-modal-head {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+ height: 50px;
+ line-height: 50px;
+ }
+ .modal-sdc-xl .w-sdc-classic-modal .w-sdc-modal-head .w-sdc-modal-close,
+ .modal-sdc-l .w-sdc-classic-modal .w-sdc-modal-head .w-sdc-modal-close,
+ .modal-sdc-md .w-sdc-classic-modal .w-sdc-modal-head .w-sdc-modal-close,
+ .modal-sdc-sm .w-sdc-classic-modal .w-sdc-modal-head .w-sdc-modal-close,
+ .modal-sdc-xsm .w-sdc-classic-modal .w-sdc-modal-head .w-sdc-modal-close {
+ top: 21px;
+ right: 30px;
+ }
+ .modal-sdc-xl .w-sdc-classic-modal .w-sdc-modal-footer,
+ .modal-sdc-l .w-sdc-classic-modal .w-sdc-modal-footer,
+ .modal-sdc-md .w-sdc-classic-modal .w-sdc-modal-footer,
+ .modal-sdc-sm .w-sdc-classic-modal .w-sdc-modal-footer,
+ .modal-sdc-xsm .w-sdc-classic-modal .w-sdc-modal-footer {
+ margin: 0 -30px;
+ padding: 17px 30px;
+ }
+ .first-level {
+ background-color: #eaeaea;
+ padding: 8px 20px 8px 8px !important;
+ border-bottom: 1px solid rgba(0, 0, 0, 0.1);
+ box-shadow: inset 0px -1px 0px 0px rgba(255, 255, 255, 0.7);
+ height: 40px;
+ }
+ .second-level {
+ background-color: #f8f8f8;
+ padding: 4px 20px 4px 37px !important;
+ border-bottom: 1px solid #d2d2d2;
+ height: 30px;
+ }
+ .expand-collapse-title-icon,
+ .expand-collapse-title-text {
+ vertical-align: middle;
+ }
+ .expanded .first-level,
+ .expanded .second-level {
+ background-color: #e6f6fb;
+ border-left: solid #009fdb 4px;
+ box-shadow: 0 0px 3px -1px rgba(0, 0, 0, 0.3);
+ margin-bottom: 2px;
+ }
+ .expanded .first-level {
+ padding-left: 4px !important;
+ }
+ .expanded .second-level {
+ padding-left: 33px !important;
+ }
+ .ps-container > .ps-scrollbar-y-rail > .ps-scrollbar-y {
+ background-color: #666666;
+ border-radius: 0px;
+ opacity: 1;
+ width: 6px;
+ margin: 0 2px;
+ }
+ .ps-container > .ps-scrollbar-y-rail {
+ border-radius: 0px;
+ width: 10px ;
+ background-color: rgba(255, 255, 255, 0.5);
+ z-index: 1000;
+ }
+ .table-container-flex {
+ /* height: 650px; */
+ margin-top: 35px;
+ clear: both;
+ }
+ .table-container-flex .table {
+ width: 100%;
+ border: 1px solid #d8d8d8;
+ }
+ .table-container-flex .table .head {
+ background-color: #eaeaea;
+ }
+ .table-container-flex .table .head .head-row {
+ color: #333333;
+ font-weight: bold;
+ text-align: center;
+ border-right: 1px solid rgba(120, 136, 148, 0.26);
+ padding: 8px 15px;
+ }
+ .table-container-flex .table .head .head-row:last-child {
+ border-right: none;
+ }
+ .table-container-flex .table .head .head-row .table-header-sort-arrow {
+ display: inline-block;
+ background-color: transparent;
+ border: none;
+ color: #AAA;
+ margin: 8px 0 0 5px;
+ }
+ .table-container-flex .table .head .head-row .table-header-sort-arrow.up {
+ border-left: 5px solid transparent;
+ border-right: 5px solid transparent;
+ border-bottom: 5px solid;
+ }
+ .table-container-flex .table .head .head-row .table-header-sort-arrow.down {
+ border-left: 5px solid transparent;
+ border-right: 5px solid transparent;
+ border-top: 5px solid;
+ }
+ .table-container-flex .table .body {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ }
+ .table-container-flex .table .body .scrollbar-container {
+ max-height: 430px;
+ position: relative;
+ overflow: hidden;
+ }
+ .table-container-flex .table .body .data-row {
+ border-bottom: 1px solid rgba(120, 136, 148, 0.26);
+ }
+ .table-container-flex .table .body .data-row div {
+ border-right: 1px solid rgba(120, 136, 148, 0.26);
+ }
+ .table-container-flex .table .body .data-row div:last-child {
+ border-right: none;
+ }
+ .table-container-flex .table .body .data-row div .table-role-select {
+ background-color: transparent;
+ border: 0;
+ width: 100%;
+ }
+ .table-container-flex .table .body .data-row div .table-role-label {
+ margin-left: 4px;
+ }
+ .table-container-flex .table .body .data-row.selected {
+ background-color: #e6f6fb;
+ }
+ .table-container-flex .table .body .data-row + div.item-opened {
+ border-bottom: 1px solid rgba(120, 136, 148, 0.26);
+ padding: 10px 23px;
+ text-align: left;
+ word-break: break-all;
+ }
+ .table-container-flex .table .body .data-row:hover {
+ background-color: #D3DBE0;
+ }
+ .table-container-flex .table .body button.add-button {
+ margin: 10px auto;
+ display: block;
+ border: 1px solid #eaeaea;
+ background-color: #f2f2f2;
+ box-shadow: 0px 1px 1px 0px rgba(24, 24, 25, 0.05);
+ width: 297px;
+ height: 39px;
+ color: #666666;
+ font-size: 14px;
+ font-weight: bold;
+ }
+ .table-container-flex .table .body button.add-button:before {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -350px -125px;
+ width: 18px;
+ height: 18px;
+ float: left;
+ margin-left: 5px;
+ content: "";
+ }
+ .table-container-flex .table .no-row-text {
+ text-align: center;
+ margin-top: 25px;
+ }
+ .table-container-flex .table .no-row-text a {
+ cursor: pointer;
+ }
+ .table-container-flex .table .table-btn-col {
+ line-height: 0px;
+ text-align: center;
+ }
+ .table-container-flex .table .table-btn-col .table-delete-btn {
+ background-color: transparent;
+ border: none;
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -64px -2771px;
+ width: 11px;
+ height: 13px;
+ opacity: 0.8;
+ }
+ .table-container-flex .table .table-btn-col .table-edit-btn {
+ background-color: transparent;
+ border: none;
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -51px -3339px;
+ width: 12px;
+ height: 12px;
+ opacity: 0.8;
+ margin-right: 10px;
+ }
+ .table-container-flex .table .table-btn-col .table-save-btn {
+ background-color: transparent;
+ border: none;
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -157px -4089px;
+ width: 12px;
+ height: 12px;
+ }
+ .table-container-flex .table .table-btn-col .table-download-btn {
+ background-color: transparent;
+ border: none;
+ cursor: pointer;
+ margin-left: 10px;
+ opacity: 0.8;
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -51px -3390px;
+ width: 12px;
+ height: 11px;
+ }
+ .table-container-flex .no-row-text {
+ text-align: center;
+ font-size: 15px;
+ border-bottom: 1px solid #d8d8d8;
+ width: 300px;
+ margin: 26px auto;
+ padding-bottom: 22px;
+ }
+ .table-container-flex .flex-container {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ }
+ .table-container-flex .flex-item {
+ width: 10px;
+ line-height: 25px;
+ padding: 5px 15px;
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ text-align: left;
+ }
+ .tlv-btn {
+ border-radius: 2px;
+ cursor: pointer;
+ display: inline-block;
+ font-family: omnes-medium, Sans-Serif;
+ height: 32px;
+ min-width: 96px;
+ line-height: 30px;
+ padding: 0 16px;
+ text-align: center;
+ vertical-align: middle;
+ font-size: 14px;
+ }
+ .tlv-btn:disabled {
+ opacity: .4;
+ pointer-events: none;
+ }
+ .tlv-btn.blue {
+ background-color: #009fdb;
+ border: 1px solid #0091c8;
+ color: #fff;
+ }
+ .tlv-btn.blue:hover {
+ background-color: #1ec2ff;
+ }
+ .tlv-btn.blue:active {
+ background-color: #0091c7;
+ border: 1px solid #006186;
+ outline: none;
+ }
+ .tlv-btn.blue:focus {
+ border-color: #009fdb;
+ box-shadow: inset 0 0 0 1px #fff;
+ outline: none;
+ }
+ .tlv-btn.white {
+ background-color: #fff;
+ border: 1px solid #d8d8d8;
+ color: #959595;
+ }
+ .tlv-btn.white:hover {
+ border-color: #959595;
+ }
+ .tlv-btn.white:active {
+ background-color: #f2f2f2;
+ border: 1px solid #595959;
+ outline: none;
+ }
+ .tlv-btn.white:focus {
+ border-color: #959595;
+ box-shadow: inset 0 0 0 1px #fff, inset 0 0 0 2px #959595;
+ outline: none;
+ }
+ .tlv-btn.grey {
+ background-color: #f8f8f8;
+ border: 1px solid #d8d8d8;
+ color: #000;
+ }
+ .tlv-btn.grey:hover {
+ border-color: #959595;
+ }
+ .tlv-btn.grey:active {
+ background-color: #d7d7d7;
+ border: 1px solid #595959;
+ outline: none;
+ }
+ .tlv-btn.grey:focus {
+ background-color: #f8f8f8;
+ border-color: #959595;
+ box-shadow: inset 0 0 0 1px #ffffff, inset 0 0 0 2px #959595;
+ outline: none;
+ }
+ .tlv-btn.green {
+ background-color: #4ca90c;
+ border: 1px solid #45a006;
+ color: #fff;
+ }
+ .tlv-btn.green:hover {
+ background-color: #5ec616;
+ }
+ .tlv-btn.green:active {
+ background-color: #3f8c0a;
+ border: 1px solid #2c6604;
+ outline: none;
+ }
+ .tlv-btn.green:focus {
+ box-shadow: inset 0 0 0 1px #fff;
+ outline: none;
+ }
+ .tlv-btn.red {
+ background-color: #fc2727;
+ border: 1px solid #a01a1a;
+ color: #fff;
+ }
+ .tlv-btn.red:hover {
+ background-color: #fc2727;
+ }
+ .tlv-btn.red:active {
+ background-color: #a01a1a;
+ border: 1px solid #730202;
+ outline: none;
+ }
+ .tlv-btn.red:focus {
+ box-shadow: inset 0 0 0 1px #ffffff;
+ outline: none;
+ }
+ .tlv-btn.outline.blue {
+ background-color: #fff;
+ border: 1px solid #009fdb;
+ color: #009fdb;
+ }
+ .tlv-btn.outline.blue:hover {
+ background-color: #e5f5fb;
+ }
+ .tlv-btn.outline.blue:active {
+ background-color: #b2e2f4;
+ border: 1px solid #009fdb;
+ outline: none;
+ }
+ .tlv-btn.outline.blue:focus {
+ background-color: #fff;
+ border-color: #009fdb;
+ box-shadow: inset 0 0 0 1px #fff, inset 0 0 0 2px #009fdb;
+ outline: none;
+ }
+ .tlv-btn.outline.grey {
+ background-color: #ffffff;
+ border: 1px solid #959595;
+ color: #5a5a5a;
+ }
+ .tlv-btn.outline.grey:hover {
+ background-color: #f4f4f4;
+ border-color: #959595;
+ }
+ .tlv-btn.outline.grey:active {
+ background-color: #dfdfdf;
+ border: 1px solid #959595;
+ outline: none;
+ }
+ .tlv-btn.outline.grey:focus {
+ background-color: #fff;
+ border-color: #959595;
+ box-shadow: inset 0 0 0 1px #fff, inset 0 0 0 2px #959595;
+ outline: none;
+ }
+ .tlv-btn.outline.green {
+ background-color: #ffffff;
+ border: 1px solid #4ca90c;
+ color: #4ca90c;
+ }
+ .tlv-btn.outline.green:hover {
+ background-color: #edf6e6;
+ border-color: #4ca90c;
+ }
+ .tlv-btn.outline.green:active {
+ background-color: #c9e5b6;
+ border: 1px solid #4ca90c;
+ outline: none;
+ }
+ .tlv-btn.outline.green:focus {
+ background-color: #fff;
+ border-color: #4ca90c;
+ box-shadow: inset 0 0 0 1px #fff, inset 0 0 0 2px #4ca90c;
+ outline: none;
+ }
+ .tlv-btn.outline.red {
+ background-color: #ffffff;
+ border: 1px solid #cf2a2a;
+ color: #cf2a2a;
+ }
+ .tlv-btn.outline.red:hover {
+ background-color: #fae9e9;
+ border-color: #cf2a2a;
+ }
+ .tlv-btn.outline.red:active {
+ background-color: #c9e5b6;
+ border: 1px solid #cf2a2a;
+ outline: none;
+ }
+ .tlv-btn.outline.red:focus {
+ background-color: #fff;
+ border-color: #cf2a2a;
+ box-shadow: inset 0 0 0 1px #fff, inset 0 0 0 2px #cf2a2a;
+ outline: none;
+ }
+ .tlv-checkbox {
+ font-family: clearview-book, Sans-Serif;
+ font-size: 14px;
+ display: inline-block;
+ }
+ .tlv-checkbox .tlv-checkbox-i {
+ height: 0;
+ /*visibility: hidden;*/
+ display: none;
+ width: 0;
+ }
+ .tlv-checkbox .tlv-checkbox-i:checked ~ .tlv-checkbox-label::before,
+ .tlv-checkbox .tlv-checkbox-i:checked:hover ~ .tlv-checkbox-label::before {
+ background-image: url(/sdc1/scripts/images/tlv-sprite.068743809b588c3fce24.png);
+ display: inline-block;
+ vertical-align: middle;
+ background-position: -10px -120px;
+ width: 14px;
+ height: 14px;
+ }
+ .tlv-checkbox .tlv-checkbox-i:checked ~ .tlv-checkbox-label::before.logo-blue,
+ .tlv-checkbox .tlv-checkbox-i:checked:hover ~ .tlv-checkbox-label::before.logo-blue {
+ background-position: -10px -20px;
+ width: 28px;
+ height: 28px;
+ }
+ .tlv-checkbox .tlv-checkbox-i:checked ~ .tlv-checkbox-label::before.user,
+ .tlv-checkbox .tlv-checkbox-i:checked:hover ~ .tlv-checkbox-label::before.user {
+ background-position: -50px -20px;
+ width: 15px;
+ height: 20px;
+ }
+ .tlv-checkbox .tlv-checkbox-i:checked ~ .tlv-checkbox-label::before .facebook,
+ .tlv-checkbox .tlv-checkbox-i:checked:hover ~ .tlv-checkbox-label::before .facebook {
+ background-position: -10px -260px;
+ width: 36px;
+ height: 36px;
+ }
+ .tlv-checkbox .tlv-checkbox-i:checked ~ .tlv-checkbox-label::before .facebook-hover,
+ .tlv-checkbox .tlv-checkbox-i:checked:hover ~ .tlv-checkbox-label::before .facebook-hover {
+ background-position: -10px -300px;
+ width: 36px;
+ height: 36px;
+ }
+ .tlv-checkbox .tlv-checkbox-i:checked ~ .tlv-checkbox-label::before .twitter,
+ .tlv-checkbox .tlv-checkbox-i:checked:hover ~ .tlv-checkbox-label::before .twitter {
+ background-position: -50px -260px;
+ width: 36px;
+ height: 36px;
+ }
+ .tlv-checkbox .tlv-checkbox-i:checked ~ .tlv-checkbox-label::before .twitter-hover,
+ .tlv-checkbox .tlv-checkbox-i:checked:hover ~ .tlv-checkbox-label::before .twitter-hover {
+ background-position: -50px -300px;
+ width: 36px;
+ height: 36px;
+ }
+ .tlv-checkbox .tlv-checkbox-i:checked ~ .tlv-checkbox-label::before .linkedin,
+ .tlv-checkbox .tlv-checkbox-i:checked:hover ~ .tlv-checkbox-label::before .linkedin {
+ background-position: -89px -260px;
+ width: 36px;
+ height: 36px;
+ }
+ .tlv-checkbox .tlv-checkbox-i:checked ~ .tlv-checkbox-label::before .linkedin-hover,
+ .tlv-checkbox .tlv-checkbox-i:checked:hover ~ .tlv-checkbox-label::before .linkedin-hover {
+ background-position: -89px -300px;
+ width: 36px;
+ height: 36px;
+ }
+ .tlv-checkbox .tlv-checkbox-i:checked ~ .tlv-checkbox-label::before .youtube,
+ .tlv-checkbox .tlv-checkbox-i:checked:hover ~ .tlv-checkbox-label::before .youtube {
+ background-position: -130px -260px;
+ width: 36px;
+ height: 36px;
+ }
+ .tlv-checkbox .tlv-checkbox-i:checked ~ .tlv-checkbox-label::before .youtube-hover,
+ .tlv-checkbox .tlv-checkbox-i:checked:hover ~ .tlv-checkbox-label::before .youtube-hover {
+ background-position: -130px -300px;
+ width: 36px;
+ height: 36px;
+ }
+ .tlv-checkbox .tlv-checkbox-i:checked ~ .tlv-checkbox-label::before .footer-open,
+ .tlv-checkbox .tlv-checkbox-i:checked:hover ~ .tlv-checkbox-label::before .footer-open {
+ background-position: -250px -59px;
+ width: 14px;
+ height: 10px;
+ }
+ .tlv-checkbox .tlv-checkbox-i:checked ~ .tlv-checkbox-label::before .footer-open-hover,
+ .tlv-checkbox .tlv-checkbox-i:checked:hover ~ .tlv-checkbox-label::before .footer-open-hover {
+ background-position: -250px -79px;
+ width: 14px;
+ height: 10px;
+ }
+ .tlv-checkbox .tlv-checkbox-i:checked ~ .tlv-checkbox-label::before .footer-close,
+ .tlv-checkbox .tlv-checkbox-i:checked:hover ~ .tlv-checkbox-label::before .footer-close {
+ background-position: -230px -59px;
+ width: 14px;
+ height: 10px;
+ }
+ .tlv-checkbox .tlv-checkbox-i:checked ~ .tlv-checkbox-label::before .footer-close-hover,
+ .tlv-checkbox .tlv-checkbox-i:checked:hover ~ .tlv-checkbox-label::before .footer-close-hover {
+ background-position: -230px -79px;
+ width: 14px;
+ height: 10px;
+ }
+ .tlv-checkbox .tlv-checkbox-i:checked ~ .tlv-checkbox-label::before .checkbox-disadbled,
+ .tlv-checkbox .tlv-checkbox-i:checked:hover ~ .tlv-checkbox-label::before .checkbox-disadbled {
+ background-position: -10px -60px;
+ width: 14px;
+ height: 14px;
+ }
+ .tlv-checkbox .tlv-checkbox-i:checked ~ .tlv-checkbox-label::before .checkbox,
+ .tlv-checkbox .tlv-checkbox-i:checked:hover ~ .tlv-checkbox-label::before .checkbox {
+ background-position: -10px -60px;
+ width: 14px;
+ height: 14px;
+ }
+ .tlv-checkbox .tlv-checkbox-i:checked ~ .tlv-checkbox-label::before .checkbox-hover,
+ .tlv-checkbox .tlv-checkbox-i:checked:hover ~ .tlv-checkbox-label::before .checkbox-hover {
+ background-position: -10px -100px;
+ width: 14px;
+ height: 14px;
+ }
+ .tlv-checkbox .tlv-checkbox-i:checked ~ .tlv-checkbox-label::before .checkbox-checked,
+ .tlv-checkbox .tlv-checkbox-i:checked:hover ~ .tlv-checkbox-label::before .checkbox-checked {
+ background-position: -10px -120px;
+ width: 14px;
+ height: 14px;
+ }
+ .tlv-checkbox .tlv-checkbox-i:checked ~ .tlv-checkbox-label::before .radio-disabled,
+ .tlv-checkbox .tlv-checkbox-i:checked:hover ~ .tlv-checkbox-label::before .radio-disabled {
+ background-position: -50px -60px;
+ width: 14px;
+ height: 14px;
+ }
+ .tlv-checkbox .tlv-checkbox-i:checked ~ .tlv-checkbox-label::before .radio,
+ .tlv-checkbox .tlv-checkbox-i:checked:hover ~ .tlv-checkbox-label::before .radio {
+ background-position: -50px -80px;
+ width: 14px;
+ height: 14px;
+ }
+ .tlv-checkbox .tlv-checkbox-i:checked ~ .tlv-checkbox-label::before .radio-checked,
+ .tlv-checkbox .tlv-checkbox-i:checked:hover ~ .tlv-checkbox-label::before .radio-checked {
+ background-position: -50px -120px;
+ width: 14px;
+ height: 14px;
+ }
+ .tlv-checkbox .tlv-checkbox-i:disabled ~ .tlv-checkbox-label {
+ pointer-events: none;
+ }
+ .tlv-checkbox .tlv-checkbox-i:hover ~ .tlv-checkbox-label::before {
+ background-image: url(/sdc1/scripts/images/tlv-sprite.068743809b588c3fce24.png);
+ display: inline-block;
+ vertical-align: middle;
+ background-position: -10px -100px;
+ width: 14px;
+ height: 14px;
+ }
+ .tlv-checkbox .tlv-checkbox-i:hover ~ .tlv-checkbox-label::before.logo-blue {
+ background-position: -10px -20px;
+ width: 28px;
+ height: 28px;
+ }
+ .tlv-checkbox .tlv-checkbox-i:hover ~ .tlv-checkbox-label::before.user {
+ background-position: -50px -20px;
+ width: 15px;
+ height: 20px;
+ }
+ .tlv-checkbox .tlv-checkbox-i:hover ~ .tlv-checkbox-label::before .facebook {
+ background-position: -10px -260px;
+ width: 36px;
+ height: 36px;
+ }
+ .tlv-checkbox .tlv-checkbox-i:hover ~ .tlv-checkbox-label::before .facebook-hover {
+ background-position: -10px -300px;
+ width: 36px;
+ height: 36px;
+ }
+ .tlv-checkbox .tlv-checkbox-i:hover ~ .tlv-checkbox-label::before .twitter {
+ background-position: -50px -260px;
+ width: 36px;
+ height: 36px;
+ }
+ .tlv-checkbox .tlv-checkbox-i:hover ~ .tlv-checkbox-label::before .twitter-hover {
+ background-position: -50px -300px;
+ width: 36px;
+ height: 36px;
+ }
+ .tlv-checkbox .tlv-checkbox-i:hover ~ .tlv-checkbox-label::before .linkedin {
+ background-position: -89px -260px;
+ width: 36px;
+ height: 36px;
+ }
+ .tlv-checkbox .tlv-checkbox-i:hover ~ .tlv-checkbox-label::before .linkedin-hover {
+ background-position: -89px -300px;
+ width: 36px;
+ height: 36px;
+ }
+ .tlv-checkbox .tlv-checkbox-i:hover ~ .tlv-checkbox-label::before .youtube {
+ background-position: -130px -260px;
+ width: 36px;
+ height: 36px;
+ }
+ .tlv-checkbox .tlv-checkbox-i:hover ~ .tlv-checkbox-label::before .youtube-hover {
+ background-position: -130px -300px;
+ width: 36px;
+ height: 36px;
+ }
+ .tlv-checkbox .tlv-checkbox-i:hover ~ .tlv-checkbox-label::before .footer-open {
+ background-position: -250px -59px;
+ width: 14px;
+ height: 10px;
+ }
+ .tlv-checkbox .tlv-checkbox-i:hover ~ .tlv-checkbox-label::before .footer-open-hover {
+ background-position: -250px -79px;
+ width: 14px;
+ height: 10px;
+ }
+ .tlv-checkbox .tlv-checkbox-i:hover ~ .tlv-checkbox-label::before .footer-close {
+ background-position: -230px -59px;
+ width: 14px;
+ height: 10px;
+ }
+ .tlv-checkbox .tlv-checkbox-i:hover ~ .tlv-checkbox-label::before .footer-close-hover {
+ background-position: -230px -79px;
+ width: 14px;
+ height: 10px;
+ }
+ .tlv-checkbox .tlv-checkbox-i:hover ~ .tlv-checkbox-label::before .checkbox-disadbled {
+ background-position: -10px -60px;
+ width: 14px;
+ height: 14px;
+ }
+ .tlv-checkbox .tlv-checkbox-i:hover ~ .tlv-checkbox-label::before .checkbox {
+ background-position: -10px -60px;
+ width: 14px;
+ height: 14px;
+ }
+ .tlv-checkbox .tlv-checkbox-i:hover ~ .tlv-checkbox-label::before .checkbox-hover {
+ background-position: -10px -100px;
+ width: 14px;
+ height: 14px;
+ }
+ .tlv-checkbox .tlv-checkbox-i:hover ~ .tlv-checkbox-label::before .checkbox-checked {
+ background-position: -10px -120px;
+ width: 14px;
+ height: 14px;
+ }
+ .tlv-checkbox .tlv-checkbox-i:hover ~ .tlv-checkbox-label::before .radio-disabled {
+ background-position: -50px -60px;
+ width: 14px;
+ height: 14px;
+ }
+ .tlv-checkbox .tlv-checkbox-i:hover ~ .tlv-checkbox-label::before .radio {
+ background-position: -50px -80px;
+ width: 14px;
+ height: 14px;
+ }
+ .tlv-checkbox .tlv-checkbox-i:hover ~ .tlv-checkbox-label::before .radio-checked {
+ background-position: -50px -120px;
+ width: 14px;
+ height: 14px;
+ }
+ .tlv-checkbox .tlv-checkbox-label {
+ /*display: inline-block;*/
+ display: block;
+ vertical-align: middle;
+ }
+ .tlv-checkbox .tlv-checkbox-label::before {
+ background-image: url(/sdc1/scripts/images/tlv-sprite.068743809b588c3fce24.png);
+ background-position: -10px -60px;
+ width: 14px;
+ height: 14px;
+ content: '';
+ display: inline-block;
+ margin-right: 4px;
+ margin-top: -2px;
+ vertical-align: middle;
+ }
+ .tlv-checkbox .tlv-checkbox-label::before.logo-blue {
+ background-position: -10px -20px;
+ width: 28px;
+ height: 28px;
+ }
+ .tlv-checkbox .tlv-checkbox-label::before.user {
+ background-position: -50px -20px;
+ width: 15px;
+ height: 20px;
+ }
+ .tlv-checkbox .tlv-checkbox-label::before .facebook {
+ background-position: -10px -260px;
+ width: 36px;
+ height: 36px;
+ }
+ .tlv-checkbox .tlv-checkbox-label::before .facebook-hover {
+ background-position: -10px -300px;
+ width: 36px;
+ height: 36px;
+ }
+ .tlv-checkbox .tlv-checkbox-label::before .twitter {
+ background-position: -50px -260px;
+ width: 36px;
+ height: 36px;
+ }
+ .tlv-checkbox .tlv-checkbox-label::before .twitter-hover {
+ background-position: -50px -300px;
+ width: 36px;
+ height: 36px;
+ }
+ .tlv-checkbox .tlv-checkbox-label::before .linkedin {
+ background-position: -89px -260px;
+ width: 36px;
+ height: 36px;
+ }
+ .tlv-checkbox .tlv-checkbox-label::before .linkedin-hover {
+ background-position: -89px -300px;
+ width: 36px;
+ height: 36px;
+ }
+ .tlv-checkbox .tlv-checkbox-label::before .youtube {
+ background-position: -130px -260px;
+ width: 36px;
+ height: 36px;
+ }
+ .tlv-checkbox .tlv-checkbox-label::before .youtube-hover {
+ background-position: -130px -300px;
+ width: 36px;
+ height: 36px;
+ }
+ .tlv-checkbox .tlv-checkbox-label::before .footer-open {
+ background-position: -250px -59px;
+ width: 14px;
+ height: 10px;
+ }
+ .tlv-checkbox .tlv-checkbox-label::before .footer-open-hover {
+ background-position: -250px -79px;
+ width: 14px;
+ height: 10px;
+ }
+ .tlv-checkbox .tlv-checkbox-label::before .footer-close {
+ background-position: -230px -59px;
+ width: 14px;
+ height: 10px;
+ }
+ .tlv-checkbox .tlv-checkbox-label::before .footer-close-hover {
+ background-position: -230px -79px;
+ width: 14px;
+ height: 10px;
+ }
+ .tlv-checkbox .tlv-checkbox-label::before .checkbox-disadbled {
+ background-position: -10px -60px;
+ width: 14px;
+ height: 14px;
+ }
+ .tlv-checkbox .tlv-checkbox-label::before .checkbox {
+ background-position: -10px -60px;
+ width: 14px;
+ height: 14px;
+ }
+ .tlv-checkbox .tlv-checkbox-label::before .checkbox-hover {
+ background-position: -10px -100px;
+ width: 14px;
+ height: 14px;
+ }
+ .tlv-checkbox .tlv-checkbox-label::before .checkbox-checked {
+ background-position: -10px -120px;
+ width: 14px;
+ height: 14px;
+ }
+ .tlv-checkbox .tlv-checkbox-label::before .radio-disabled {
+ background-position: -50px -60px;
+ width: 14px;
+ height: 14px;
+ }
+ .tlv-checkbox .tlv-checkbox-label::before .radio {
+ background-position: -50px -80px;
+ width: 14px;
+ height: 14px;
+ }
+ .tlv-checkbox .tlv-checkbox-label::before .radio-checked {
+ background-position: -50px -120px;
+ width: 14px;
+ height: 14px;
+ }
+ .tlv-radio {
+ font-size: 14px;
+ display: inline-block;
+ }
+ .tlv-radio .tlv-radio-i {
+ height: 0;
+ visibility: hidden;
+ width: 0;
+ }
+ .tlv-radio .tlv-radio-i:checked ~ .tlv-radio-label::before {
+ background-image: url(/sdc1/scripts/images/tlv-sprite.068743809b588c3fce24.png);
+ display: inline-block;
+ vertical-align: middle;
+ background-position: -50px -120px;
+ width: 14px;
+ height: 14px;
+ }
+ .tlv-radio .tlv-radio-i:checked ~ .tlv-radio-label::before.logo-blue {
+ background-position: -10px -20px;
+ width: 28px;
+ height: 28px;
+ }
+ .tlv-radio .tlv-radio-i:checked ~ .tlv-radio-label::before.user {
+ background-position: -50px -20px;
+ width: 15px;
+ height: 20px;
+ }
+ .tlv-radio .tlv-radio-i:checked ~ .tlv-radio-label::before .facebook {
+ background-position: -10px -260px;
+ width: 36px;
+ height: 36px;
+ }
+ .tlv-radio .tlv-radio-i:checked ~ .tlv-radio-label::before .facebook-hover {
+ background-position: -10px -300px;
+ width: 36px;
+ height: 36px;
+ }
+ .tlv-radio .tlv-radio-i:checked ~ .tlv-radio-label::before .twitter {
+ background-position: -50px -260px;
+ width: 36px;
+ height: 36px;
+ }
+ .tlv-radio .tlv-radio-i:checked ~ .tlv-radio-label::before .twitter-hover {
+ background-position: -50px -300px;
+ width: 36px;
+ height: 36px;
+ }
+ .tlv-radio .tlv-radio-i:checked ~ .tlv-radio-label::before .linkedin {
+ background-position: -89px -260px;
+ width: 36px;
+ height: 36px;
+ }
+ .tlv-radio .tlv-radio-i:checked ~ .tlv-radio-label::before .linkedin-hover {
+ background-position: -89px -300px;
+ width: 36px;
+ height: 36px;
+ }
+ .tlv-radio .tlv-radio-i:checked ~ .tlv-radio-label::before .youtube {
+ background-position: -130px -260px;
+ width: 36px;
+ height: 36px;
+ }
+ .tlv-radio .tlv-radio-i:checked ~ .tlv-radio-label::before .youtube-hover {
+ background-position: -130px -300px;
+ width: 36px;
+ height: 36px;
+ }
+ .tlv-radio .tlv-radio-i:checked ~ .tlv-radio-label::before .footer-open {
+ background-position: -250px -59px;
+ width: 14px;
+ height: 10px;
+ }
+ .tlv-radio .tlv-radio-i:checked ~ .tlv-radio-label::before .footer-open-hover {
+ background-position: -250px -79px;
+ width: 14px;
+ height: 10px;
+ }
+ .tlv-radio .tlv-radio-i:checked ~ .tlv-radio-label::before .footer-close {
+ background-position: -230px -59px;
+ width: 14px;
+ height: 10px;
+ }
+ .tlv-radio .tlv-radio-i:checked ~ .tlv-radio-label::before .footer-close-hover {
+ background-position: -230px -79px;
+ width: 14px;
+ height: 10px;
+ }
+ .tlv-radio .tlv-radio-i:checked ~ .tlv-radio-label::before .checkbox-disadbled {
+ background-position: -10px -60px;
+ width: 14px;
+ height: 14px;
+ }
+ .tlv-radio .tlv-radio-i:checked ~ .tlv-radio-label::before .checkbox {
+ background-position: -10px -60px;
+ width: 14px;
+ height: 14px;
+ }
+ .tlv-radio .tlv-radio-i:checked ~ .tlv-radio-label::before .checkbox-hover {
+ background-position: -10px -100px;
+ width: 14px;
+ height: 14px;
+ }
+ .tlv-radio .tlv-radio-i:checked ~ .tlv-radio-label::before .checkbox-checked {
+ background-position: -10px -120px;
+ width: 14px;
+ height: 14px;
+ }
+ .tlv-radio .tlv-radio-i:checked ~ .tlv-radio-label::before .radio-disabled {
+ background-position: -50px -60px;
+ width: 14px;
+ height: 14px;
+ }
+ .tlv-radio .tlv-radio-i:checked ~ .tlv-radio-label::before .radio {
+ background-position: -50px -80px;
+ width: 14px;
+ height: 14px;
+ }
+ .tlv-radio .tlv-radio-i:checked ~ .tlv-radio-label::before .radio-checked {
+ background-position: -50px -120px;
+ width: 14px;
+ height: 14px;
+ }
+ .tlv-radio .tlv-radio-i:disabled ~ .tlv-radio-label {
+ opacity: .6;
+ }
+ .tlv-radio .tlv-radio-label {
+ display: inline-block;
+ vertical-align: middle;
+ margin-bottom: 0;
+ }
+ .tlv-radio .tlv-radio-label::before {
+ background-image: url(/sdc1/scripts/images/tlv-sprite.068743809b588c3fce24.png);
+ background-position: -50px -80px;
+ width: 14px;
+ height: 14px;
+ content: '';
+ display: inline-block;
+ margin-right: 4px;
+ margin-top: -2px;
+ vertical-align: middle;
+ }
+ .tlv-radio .tlv-radio-label::before.logo-blue {
+ background-position: -10px -20px;
+ width: 28px;
+ height: 28px;
+ }
+ .tlv-radio .tlv-radio-label::before.user {
+ background-position: -50px -20px;
+ width: 15px;
+ height: 20px;
+ }
+ .tlv-radio .tlv-radio-label::before .facebook {
+ background-position: -10px -260px;
+ width: 36px;
+ height: 36px;
+ }
+ .tlv-radio .tlv-radio-label::before .facebook-hover {
+ background-position: -10px -300px;
+ width: 36px;
+ height: 36px;
+ }
+ .tlv-radio .tlv-radio-label::before .twitter {
+ background-position: -50px -260px;
+ width: 36px;
+ height: 36px;
+ }
+ .tlv-radio .tlv-radio-label::before .twitter-hover {
+ background-position: -50px -300px;
+ width: 36px;
+ height: 36px;
+ }
+ .tlv-radio .tlv-radio-label::before .linkedin {
+ background-position: -89px -260px;
+ width: 36px;
+ height: 36px;
+ }
+ .tlv-radio .tlv-radio-label::before .linkedin-hover {
+ background-position: -89px -300px;
+ width: 36px;
+ height: 36px;
+ }
+ .tlv-radio .tlv-radio-label::before .youtube {
+ background-position: -130px -260px;
+ width: 36px;
+ height: 36px;
+ }
+ .tlv-radio .tlv-radio-label::before .youtube-hover {
+ background-position: -130px -300px;
+ width: 36px;
+ height: 36px;
+ }
+ .tlv-radio .tlv-radio-label::before .footer-open {
+ background-position: -250px -59px;
+ width: 14px;
+ height: 10px;
+ }
+ .tlv-radio .tlv-radio-label::before .footer-open-hover {
+ background-position: -250px -79px;
+ width: 14px;
+ height: 10px;
+ }
+ .tlv-radio .tlv-radio-label::before .footer-close {
+ background-position: -230px -59px;
+ width: 14px;
+ height: 10px;
+ }
+ .tlv-radio .tlv-radio-label::before .footer-close-hover {
+ background-position: -230px -79px;
+ width: 14px;
+ height: 10px;
+ }
+ .tlv-radio .tlv-radio-label::before .checkbox-disadbled {
+ background-position: -10px -60px;
+ width: 14px;
+ height: 14px;
+ }
+ .tlv-radio .tlv-radio-label::before .checkbox {
+ background-position: -10px -60px;
+ width: 14px;
+ height: 14px;
+ }
+ .tlv-radio .tlv-radio-label::before .checkbox-hover {
+ background-position: -10px -100px;
+ width: 14px;
+ height: 14px;
+ }
+ .tlv-radio .tlv-radio-label::before .checkbox-checked {
+ background-position: -10px -120px;
+ width: 14px;
+ height: 14px;
+ }
+ .tlv-radio .tlv-radio-label::before .radio-disabled {
+ background-position: -50px -60px;
+ width: 14px;
+ height: 14px;
+ }
+ .tlv-radio .tlv-radio-label::before .radio {
+ background-position: -50px -80px;
+ width: 14px;
+ height: 14px;
+ }
+ .tlv-radio .tlv-radio-label::before .radio-checked {
+ background-position: -50px -120px;
+ width: 14px;
+ height: 14px;
+ }
+ .tlv-loader {
+ height: 63px;
+ width: 63px;
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ }
+ .tlv-loader.small {
+ -webkit-transform: scale(0.26);
+ transform: scale(0.26);
+ margin-top: -36.5px;
+ margin-left: -36.5px;
+ }
+ .tlv-loader.medium {
+ -webkit-transform: scale(0.5);
+ transform: scale(0.5);
+ margin-top: -26.5px;
+ margin-left: -26.5px;
+ }
+ .tlv-loader.large {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ margin-top: -10.5px;
+ margin-left: -10.5px;
+ }
+ .tlv-loader::before {
+ background-color: #eaeaea;
+ border-radius: 50%;
+ box-shadow: 21px 21px 0px 0px #eaeaea, 0px 42px 0px 0px #eaeaea, -21px 21px 0px 0px #eaeaea;
+ content: '';
+ display: block;
+ height: 21px;
+ width: 21px;
+ position: absolute;
+ left: 50%;
+ margin-left: -10.5px;
+ }
+ .tlv-loader::after {
+ border-radius: 50%;
+ content: '';
+ display: block;
+ position: absolute;
+ height: 21px;
+ width: 21px;
+ -webkit-animation: dot-move-2 4.5s infinite ease-in;
+ animation: dot-move-2 4.5s infinite ease-in;
+ }
+ @-webkit-keyframes dot-move {
+ 0% {
+ background-color: #3bb2df;
+ left: 21px;
+ top: 0;
+ }
+ 25% {
+ background-color: #ffb81c;
+ left: 42px;
+ top: 21px;
+ }
+ 50% {
+ background-color: #caa2dd;
+ left: 21px;
+ top: 42px;
+ }
+ 75% {
+ background-color: #d9e51c;
+ left: 0;
+ top: 21px;
+ }
+ 100% {
+ background-color: #3bb2df;
+ left: 21px;
+ top: 0;
+ }
+ }
+ @keyframes dot-move {
+ 0% {
+ background-color: #3bb2df;
+ left: 21px;
+ top: 0;
+ }
+ 25% {
+ background-color: #ffb81c;
+ left: 42px;
+ top: 21px;
+ }
+ 50% {
+ background-color: #caa2dd;
+ left: 21px;
+ top: 42px;
+ }
+ 75% {
+ background-color: #d9e51c;
+ left: 0;
+ top: 21px;
+ }
+ 100% {
+ background-color: #3bb2df;
+ left: 21px;
+ top: 0;
+ }
+ }
+ @-webkit-keyframes dot-move-2 {
+ 0% {
+ background-color: #3bb2df;
+ left: 21px;
+ top: 0;
+ }
+ 6.25% {
+ background-color: #3bb2df;
+ left: 42px;
+ top: 21px;
+ }
+ 12.5% {
+ background-color: #3bb2df;
+ left: 21px;
+ top: 42px;
+ }
+ 18.75% {
+ background-color: #3bb2df;
+ left: 0;
+ top: 21px;
+ }
+ 25% {
+ background-color: #ffb81c;
+ left: 21px;
+ top: 0;
+ }
+ 31.25% {
+ background-color: #ffb81c;
+ left: 42px;
+ top: 21px;
+ }
+ 37.5% {
+ background-color: #ffb81c;
+ left: 21px;
+ top: 42px;
+ }
+ 43.75% {
+ background-color: #ffb81c;
+ left: 0;
+ top: 21px;
+ }
+ 50% {
+ background-color: #caa2dd;
+ left: 21px;
+ top: 0;
+ }
+ 56.25% {
+ background-color: #caa2dd;
+ left: 42px;
+ top: 21px;
+ }
+ 62.5% {
+ background-color: #caa2dd;
+ left: 21px;
+ top: 42px;
+ }
+ 68.75% {
+ background-color: #caa2dd;
+ left: 0;
+ top: 21px;
+ }
+ 75% {
+ background-color: #d9e51c;
+ left: 21px;
+ top: 0;
+ }
+ 81.25% {
+ background-color: #d9e51c;
+ left: 42px;
+ top: 21px;
+ }
+ 87.5% {
+ background-color: #d9e51c;
+ left: 21px;
+ top: 42px;
+ }
+ 93.75% {
+ background-color: #d9e51c;
+ left: 0;
+ top: 21px;
+ }
+ 100% {
+ background-color: #3bb2df;
+ left: 21px;
+ top: 0;
+ }
+ }
+ @keyframes dot-move-2 {
+ 0% {
+ background-color: #3bb2df;
+ left: 21px;
+ top: 0;
+ }
+ 6.25% {
+ background-color: #3bb2df;
+ left: 42px;
+ top: 21px;
+ }
+ 12.5% {
+ background-color: #3bb2df;
+ left: 21px;
+ top: 42px;
+ }
+ 18.75% {
+ background-color: #3bb2df;
+ left: 0;
+ top: 21px;
+ }
+ 25% {
+ background-color: #ffb81c;
+ left: 21px;
+ top: 0;
+ }
+ 31.25% {
+ background-color: #ffb81c;
+ left: 42px;
+ top: 21px;
+ }
+ 37.5% {
+ background-color: #ffb81c;
+ left: 21px;
+ top: 42px;
+ }
+ 43.75% {
+ background-color: #ffb81c;
+ left: 0;
+ top: 21px;
+ }
+ 50% {
+ background-color: #caa2dd;
+ left: 21px;
+ top: 0;
+ }
+ 56.25% {
+ background-color: #caa2dd;
+ left: 42px;
+ top: 21px;
+ }
+ 62.5% {
+ background-color: #caa2dd;
+ left: 21px;
+ top: 42px;
+ }
+ 68.75% {
+ background-color: #caa2dd;
+ left: 0;
+ top: 21px;
+ }
+ 75% {
+ background-color: #d9e51c;
+ left: 21px;
+ top: 0;
+ }
+ 81.25% {
+ background-color: #d9e51c;
+ left: 42px;
+ top: 21px;
+ }
+ 87.5% {
+ background-color: #d9e51c;
+ left: 21px;
+ top: 42px;
+ }
+ 93.75% {
+ background-color: #d9e51c;
+ left: 0;
+ top: 21px;
+ }
+ 100% {
+ background-color: #3bb2df;
+ left: 21px;
+ top: 0;
+ }
+ }
+ .tlv-sprite {
+ background-image: url(/sdc1/scripts/images/tlv-sprite.068743809b588c3fce24.png);
+ display: inline-block;
+ vertical-align: middle;
+ }
+ .tlv-sprite.logo-blue {
+ background-position: -10px -20px;
+ width: 28px;
+ height: 28px;
+ }
+ .tlv-sprite.user {
+ background-position: -50px -20px;
+ width: 15px;
+ height: 20px;
+ }
+ .tlv-sprite .facebook {
+ background-position: -10px -260px;
+ width: 36px;
+ height: 36px;
+ }
+ .tlv-sprite .facebook-hover {
+ background-position: -10px -300px;
+ width: 36px;
+ height: 36px;
+ }
+ .tlv-sprite .twitter {
+ background-position: -50px -260px;
+ width: 36px;
+ height: 36px;
+ }
+ .tlv-sprite .twitter-hover {
+ background-position: -50px -300px;
+ width: 36px;
+ height: 36px;
+ }
+ .tlv-sprite .linkedin {
+ background-position: -89px -260px;
+ width: 36px;
+ height: 36px;
+ }
+ .tlv-sprite .linkedin-hover {
+ background-position: -89px -300px;
+ width: 36px;
+ height: 36px;
+ }
+ .tlv-sprite .youtube {
+ background-position: -130px -260px;
+ width: 36px;
+ height: 36px;
+ }
+ .tlv-sprite .youtube-hover {
+ background-position: -130px -300px;
+ width: 36px;
+ height: 36px;
+ }
+ .tlv-sprite .footer-open {
+ background-position: -250px -59px;
+ width: 14px;
+ height: 10px;
+ }
+ .tlv-sprite .footer-open-hover {
+ background-position: -250px -79px;
+ width: 14px;
+ height: 10px;
+ }
+ .tlv-sprite .footer-close {
+ background-position: -230px -59px;
+ width: 14px;
+ height: 10px;
+ }
+ .tlv-sprite .footer-close-hover {
+ background-position: -230px -79px;
+ width: 14px;
+ height: 10px;
+ }
+ .tlv-sprite .checkbox-disadbled {
+ background-position: -10px -60px;
+ width: 14px;
+ height: 14px;
+ }
+ .tlv-sprite .checkbox {
+ background-position: -10px -60px;
+ width: 14px;
+ height: 14px;
+ }
+ .tlv-sprite .checkbox-hover {
+ background-position: -10px -100px;
+ width: 14px;
+ height: 14px;
+ }
+ .tlv-sprite .checkbox-checked {
+ background-position: -10px -120px;
+ width: 14px;
+ height: 14px;
+ }
+ .tlv-sprite .radio-disabled {
+ background-position: -50px -60px;
+ width: 14px;
+ height: 14px;
+ }
+ .tlv-sprite .radio {
+ background-position: -50px -80px;
+ width: 14px;
+ height: 14px;
+ }
+ .tlv-sprite .radio-checked {
+ background-position: -50px -120px;
+ width: 14px;
+ height: 14px;
+ }
+ .tlv-x-btn,
+ .tlv-x-btn:hover {
+ background-position: -17px -147px;
+ width: 10px;
+ height: 10px;
+ }
+ div.tooltips {
+ position: relative;
+ display: inline;
+ float: right;
+ z-index: 1;
+ top: 30px;
+ left: 85px;
+ }
+ div.tooltips span {
+ background-color: #000000;
+ position: absolute;
+ width: 230px;
+ color: #ffffff;
+ height: 30px;
+ line-height: 30px;
+ text-align: center;
+ border-radius: 6px;
+ visibility: hidden;
+ }
+ div.tooltips span:after {
+ content: '';
+ position: absolute;
+ top: 50%;
+ right: 100%;
+ margin-top: -8px;
+ width: 0;
+ height: 0;
+ border-right: 8px solid #000000;
+ border-top: 8px solid transparent;
+ border-bottom: 8px solid transparent;
+ }
+ .w-sdc-canvas-tooltip {
+ position: absolute;
+ z-index: 100;
+ }
+ .w-sdc-canvas-tooltip .w-sdc-custom-tooltip {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ position: relative;
+ color: white;
+ padding: 10px;
+ height: 25px;
+ min-width: 100px;
+ background-color: rgba(80, 99, 113, 0.9);
+ border-radius: 2px;
+ line-height: 2px;
+ text-align: center;
+ }
+ .w-sdc-canvas-tooltip .w-sdc-custom-tooltip .w-sdc-tooltip-arrow {
+ position: absolute;
+ bottom: 25px;
+ right: 20px;
+ width: 0;
+ height: 0;
+ border-left: 5px solid transparent;
+ border-right: 5px solid transparent;
+ border-bottom: 5px solid rgba(80, 99, 113, 0.9);
+ border-top: transparent;
+ border-width: 7px;
+ border-style: solid;
+ }
+ .qtip-custom {
+ border-radius: 2px;
+ background-color: #506371;
+ border-color: #506371;
+ color: white;
+ font-size: 13px;
+ }
+ .tooltip-custom {
+ background-color: rgba(80, 99, 113, 0.9);
+ z-index: 1100;
+ border-radius: 2px;
+ max-width: 280px;
+ text-align: center;
+ word-break: normal;
+ word-wrap: break-word;
+ padding-right: 10px;
+ padding-left: 10px;
+ }
+ ._720kb-tooltip-caret:before {
+ border: 6px solid rgba(80, 99, 113, 0.9);
+ }
+ .tooltip-rightside {
+ right: 2px;
+ left: initial !important;
+ }
+ .tooltip-rightside ._720kb-tooltip-caret:before {
+ right: 21px;
+ left: initial;
+ }
+ .tab-tooltip {
+ max-width: 220px;
+ white-space: nowrap;
+ }
+ .break-word-tooltip {
+ word-break: break-all;
+ margin-right: 2px;
+ }
+ .icon-tooltip {
+ margin-left: 12px;
+ right: initial !important;
+ }
+ .icon-tooltip ._720kb-tooltip-caret:before {
+ left: 44px;
+ right: initial;
+ }
+ .uib-custom-tooltip {
+ z-index: 999999;
+ }
+ .uib-custom-tooltip .tooltip-inner {
+ background-color: rgba(80, 99, 113, 0.9);
+ padding: 5px 10px 5px 10px;
+ border-radius: 2px;
+ }
+ .tooltip {
+ /* &.right {
+ white-space: nowrap;
+ max-width: none;
+ .tooltip-arrow {
+ border-right-color: rgba(80, 99, 113, 0.9);
+ }
+ }
+ &.left {
+ white-space:nowrap;
+ max-width:none;
+ .tooltip-arrow {
+ border-left-color: rgba(80, 99, 113, 0.9);
+ }
+ }*/
+ }
+ .tooltip.bottom .tooltip-arrow {
+ margin-left: -6px !important;
+ border-width: 0 6px 6px !important;
+ border-bottom-color: rgba(80, 99, 113, 0.9) !important;
+ }
+ .sprite-welcome {
+ background-image: url(/sdc1/scripts/images/sprite.4ac353404a50a330a3e4.png);
+ display: inline-block;
+ vertical-align: middle;
+ }
+ .sprite-welcome.logo {
+ background-position: 0 0;
+ width: 149px;
+ height: 47px;
+ position: absolute;
+ top: 25px;
+ left: 20px;
+ }
+ .sprite-welcome.play {
+ background-position: 0 -60px;
+ width: 120px;
+ height: 120px;
+ }
+ .sprite-welcome.close {
+ background-position: -166px -11px;
+ width: 25px;
+ height: 25px;
+ }
+ .sprite-welcome.close_white {
+ background-position: -166px -37px;
+ width: 25px;
+ height: 25px;
+ }
+ .sprite-welcome.recycle {
+ background-position: -125px -60px;
+ width: 24px;
+ height: 24px;
+ }
+ .sprite-welcome.idea {
+ background-position: -159px -57px;
+ width: 23px;
+ height: 25px;
+ }
+ .sprite-welcome.jigsaw {
+ background-position: -125px -94px;
+ width: 25px;
+ height: 25px;
+ }
+ .sprite-welcome.ball {
+ background-position: -159px -95px;
+ width: 23px;
+ height: 23px;
+ }
+ html,
+ body {
+ height: 100%;
+ }
+ * {
+ box-sizing: border-box;
+ }
+ .sdc-welcome-new-page {
+ opacity: 0;
+ height: 100%;
+ background-color: #ffffff;
+ }
+ .sdc-welcome-new-page .sdc-welcome-close {
+ position: absolute;
+ right: 38px;
+ top: 30px;
+ z-index: 101;
+ cursor: pointer;
+ background-image: url(/sdc1/scripts/images/sprite.4ac353404a50a330a3e4.png);
+ display: inline-block;
+ vertical-align: middle;
+ background-position: -166px -11px;
+ width: 25px;
+ height: 25px;
+ }
+ .sdc-welcome-new-page .sdc-welcome-close.logo {
+ background-position: 0 0;
+ width: 149px;
+ height: 47px;
+ position: absolute;
+ top: 25px;
+ left: 20px;
+ }
+ .sdc-welcome-new-page .sdc-welcome-close.play {
+ background-position: 0 -60px;
+ width: 120px;
+ height: 120px;
+ }
+ .sdc-welcome-new-page .sdc-welcome-close.close {
+ background-position: -166px -11px;
+ width: 25px;
+ height: 25px;
+ }
+ .sdc-welcome-new-page .sdc-welcome-close.close_white {
+ background-position: -166px -37px;
+ width: 25px;
+ height: 25px;
+ }
+ .sdc-welcome-new-page .sdc-welcome-close.recycle {
+ background-position: -125px -60px;
+ width: 24px;
+ height: 24px;
+ }
+ .sdc-welcome-new-page .sdc-welcome-close.idea {
+ background-position: -159px -57px;
+ width: 23px;
+ height: 25px;
+ }
+ .sdc-welcome-new-page .sdc-welcome-close.jigsaw {
+ background-position: -125px -94px;
+ width: 25px;
+ height: 25px;
+ }
+ .sdc-welcome-new-page .sdc-welcome-close.ball {
+ background-position: -159px -95px;
+ width: 23px;
+ height: 23px;
+ }
+ .sdc-welcome-new-page .sdc-welcome-close:hover {
+ background-position: -166px -37px;
+ width: 25px;
+ height: 25px;
+ }
+ .sdc-welcome-new-page .sdc-welcome-wrapper {
+ height: 100vh;
+ width: 100%;
+ background-size: cover;
+ position: relative;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-box-pack: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ background-image: url(/sdc1/scripts/images/002.0e8b873c6341b047550f.png);
+ }
+ .sdc-welcome-new-page .sdc-welcome-main {
+ text-align: center;
+ position: absolute;
+ bottom: 40%;
+ z-index: 1;
+ color: #fff;
+ left: 0;
+ width: 100%;
+ }
+ .sdc-welcome-new-page .sdc-welcome-cover {
+ position: absolute;
+ top: 0px;
+ right: 0;
+ left: 0;
+ bottom: 0;
+ background-color: rgba(14, 13, 12, 0.8);
+ z-index: 0;
+ }
+ .footer-wrapper {
+ position: fixed;
+ bottom: 0px;
+ left: 0px;
+ width: 100%;
+ background-color: #222222;
+ color: #ffffff;
+ font-family: "Arial";
+ font-size: 11px;
+ height: 89px;
+ }
+ .footer-wrapper a {
+ color: #ffffff;
+ margin: 0;
+ padding: 0;
+ text-decoration: underline;
+ }
+ .divider-footer-bottom {
+ margin: 0 auto;
+ width: 1020px;
+ }
+ .footer-copyright-text {
+ display: inline-block;
+ width: 612px;
+ margin-top: 18px;
+ margin-left: 50px;
+ text-align: left;
+ vertical-align: top;
+ }
+ .footer-logo1 {
+ display: inline-block;
+ margin-top: 20px;
+ margin-left: 124px;
+ }
+ .footer-logo2 {
+ margin-top: 22px;
+ margin-left: 9px;
+ display: inline-block;
+ font-size: 24px;
+ vertical-align: top;
+ }
+ .sdc-header-wrapper {
+ position: absolute;
+ top: 0;
+ right: 0;
+ left: 0;
+ z-index: 999;
+ /* LEVEL 1 */
+ /* LEVEL 2 */
+ /* LEVEL 3 */
+ /* LEVEL 4 */
+ }
+ .sdc-header-wrapper ul {
+ margin: 0;
+ padding: 0;
+ }
+ .sdc-header-wrapper .sdc-header {
+ background-color: #067ab4;
+ height: 60px;
+ line-height: 60px;
+ vertical-align: middle;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ padding: 0 20px;
+ }
+ .sdc-header-wrapper .sdc-header .sdc-menu {
+ -webkit-box-flex: 98;
+ -ms-flex-positive: 98;
+ flex-grow: 98;
+ }
+ .sdc-header-wrapper .sdc-menu-top-level {
+ list-style: none;
+ }
+ .sdc-header-wrapper .sdc-menu-top-level .sdc-menu-top-level-item:first-child {
+ margin-left: 0;
+ }
+ .sdc-header-wrapper .sdc-menu-top-level .sdc-menu-top-level-item {
+ display: inline-block;
+ margin: 0 20px;
+ position: relative;
+ }
+ .sdc-header-wrapper .sdc-menu-top-level .sdc-menu-top-level-item a {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ text-decoration: none;
+ }
+ .sdc-header-wrapper .sdc-menu-top-level .sdc-menu-top-level-item span.selected {
+ position: absolute;
+ bottom: 0;
+ width: 0;
+ height: 0;
+ border-left: 15px solid transparent;
+ border-right: 15px solid transparent;
+ border-bottom: 15px solid #f8f8f8;
+ }
+ .sdc-header-wrapper .sdc-menu-second-level {
+ background-color: #f8f8f8;
+ box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.33);
+ height: 60px;
+ list-style: none;
+ line-height: 60px;
+ vertical-align: middle;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ padding: 0 20px;
+ position: fixed;
+ left: 0;
+ right: 0;
+ }
+ .sdc-header-wrapper .sdc-menu-second-level .sdc-menu-second-level-item:first-child {
+ margin-left: 0;
+ }
+ .sdc-header-wrapper .sdc-menu-second-level .sdc-menu-second-level-item {
+ display: inline-block;
+ height: 60px;
+ line-height: 60px;
+ }
+ .sdc-header-wrapper .sdc-menu-second-level .sdc-menu-second-level-item.sdc-menu-item-hover {
+ border-bottom: 4px solid #067ab4;
+ }
+ .sdc-header-wrapper .sdc-menu-second-level .sdc-menu-second-level-item a {
+ color: #5a5a5a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ text-decoration: none;
+ text-align: center;
+ padding: 0 20px;
+ display: block;
+ /* fix jump when hovering text */
+ }
+ .sdc-header-wrapper .sdc-menu-second-level .sdc-menu-second-level-item a:hover {
+ color: #191919;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ font-weight: bold;
+ }
+ .sdc-header-wrapper .sdc-menu-second-level .sdc-menu-second-level-item a:active {
+ font-weight: bold;
+ }
+ .sdc-header-wrapper .sdc-menu-second-level .sdc-menu-second-level-item a:after {
+ display: block;
+ content: attr(title);
+ font-weight: bold;
+ height: 1px;
+ color: transparent;
+ overflow: hidden;
+ visibility: hidden;
+ }
+ .sdc-header-wrapper ul.sdc-menu-third-level {
+ background-color: #ffffff;
+ box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1);
+ min-height: 370px;
+ list-style: none;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ /*flex-wrap: wrap;*/
+ position: fixed;
+ top: 120px;
+ left: 0;
+ right: 0;
+ padding: 0 40px;
+ }
+ .sdc-header-wrapper ul.sdc-menu-third-level li.sdc-menu-third-level-item {
+ height: 40px;
+ line-height: 40px;
+ position: relative;
+ /*width: @max-item-width;*/
+ max-width: 250px;
+ }
+ .sdc-header-wrapper ul.sdc-menu-third-level li.sdc-menu-third-level-item .sdc-menu-third-level-title {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ text-decoration: none;
+ text-align: left;
+ display: block;
+ padding: 0 20px;
+ line-height: 20px;
+ margin-top: 20px;
+ font-weight: bold;
+ cursor: pointer;
+ }
+ .sdc-header-wrapper ul.sdc-menu-third-level li.sdc-menu-third-level-item .sdc-menu-four-level-seperator {
+ position: absolute;
+ border-right: solid 1px #e5e5e5;
+ height: 350px;
+ top: 10px;
+ }
+ .sdc-header-wrapper ul.sdc-menu-third-level li.sdc-menu-third-level-item:first-child .sdc-menu-four-level-seperator {
+ border: none;
+ }
+ .sdc-header-wrapper ul.sdc-menu-four-level {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ margin-top: 10px;
+ }
+ .sdc-header-wrapper ul.sdc-menu-four-level li.sdc-menu-four-level-item {
+ display: block;
+ /*width: @max-item-width;*/
+ max-width: 250px;
+ line-height: 20px;
+ }
+ .sdc-header-wrapper ul.sdc-menu-four-level li.sdc-menu-four-level-item a {
+ color: #5a5a5a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ text-decoration: none;
+ text-align: left;
+ display: block;
+ }
+ .sdc-header-wrapper ul.sdc-menu-four-level li.sdc-menu-four-level-item a:hover {
+ color: #191919;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ font-weight: bold;
+ }
+ .sdc-logo-wrapper {
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+ white-space: nowrap;
+ min-width: 210px;
+ text-align: left;
+ position: relative;
+ }
+ .sdc-logo-wrapper .sdc-logo {
+ background-image: url("/assets/styles/images/att_logo_white.png");
+ background-repeat: no-repeat;
+ display: inline-block;
+ vertical-align: middle;
+ width: 55px;
+ height: 55px;
+ }
+ .sdc-logo-wrapper .sdc-header-version {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 10px;
+ -moz-opacity: 0.8;
+ -khtml-opacity: 0.8;
+ -webkit-opacity: 0.8;
+ opacity: 0.8;
+ position: absolute;
+ top: 34px;
+ line-height: 20px;
+ left: 56px;
+ }
+ .sdc-logo-wrapper a.sdc-header-title {
+ color: #ffffff;
+ font-family: omnes-light, sans-serif;
+ font-size: 24px;
+ text-decoration: none;
+ }
+ .sdc-user-wrapper {
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ white-space: nowrap;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ height: 60px;
+ }
+ .sdc-user-wrapper .sdc-user-icon {
+ margin-right: 20px;
+ background-image: url(/sdc1/scripts/images/tlv-sprite.068743809b588c3fce24.png);
+ display: inline-block;
+ vertical-align: middle;
+ background-position: -50px -20px;
+ width: 15px;
+ height: 20px;
+ }
+ .sdc-user-wrapper .sdc-user-icon.logo-blue {
+ background-position: -10px -20px;
+ width: 28px;
+ height: 28px;
+ }
+ .sdc-user-wrapper .sdc-user-icon.user {
+ background-position: -50px -20px;
+ width: 15px;
+ height: 20px;
+ }
+ .sdc-user-wrapper .sdc-user-icon .facebook {
+ background-position: -10px -260px;
+ width: 36px;
+ height: 36px;
+ }
+ .sdc-user-wrapper .sdc-user-icon .facebook-hover {
+ background-position: -10px -300px;
+ width: 36px;
+ height: 36px;
+ }
+ .sdc-user-wrapper .sdc-user-icon .twitter {
+ background-position: -50px -260px;
+ width: 36px;
+ height: 36px;
+ }
+ .sdc-user-wrapper .sdc-user-icon .twitter-hover {
+ background-position: -50px -300px;
+ width: 36px;
+ height: 36px;
+ }
+ .sdc-user-wrapper .sdc-user-icon .linkedin {
+ background-position: -89px -260px;
+ width: 36px;
+ height: 36px;
+ }
+ .sdc-user-wrapper .sdc-user-icon .linkedin-hover {
+ background-position: -89px -300px;
+ width: 36px;
+ height: 36px;
+ }
+ .sdc-user-wrapper .sdc-user-icon .youtube {
+ background-position: -130px -260px;
+ width: 36px;
+ height: 36px;
+ }
+ .sdc-user-wrapper .sdc-user-icon .youtube-hover {
+ background-position: -130px -300px;
+ width: 36px;
+ height: 36px;
+ }
+ .sdc-user-wrapper .sdc-user-icon .footer-open {
+ background-position: -250px -59px;
+ width: 14px;
+ height: 10px;
+ }
+ .sdc-user-wrapper .sdc-user-icon .footer-open-hover {
+ background-position: -250px -79px;
+ width: 14px;
+ height: 10px;
+ }
+ .sdc-user-wrapper .sdc-user-icon .footer-close {
+ background-position: -230px -59px;
+ width: 14px;
+ height: 10px;
+ }
+ .sdc-user-wrapper .sdc-user-icon .footer-close-hover {
+ background-position: -230px -79px;
+ width: 14px;
+ height: 10px;
+ }
+ .sdc-user-wrapper .sdc-user-icon .checkbox-disadbled {
+ background-position: -10px -60px;
+ width: 14px;
+ height: 14px;
+ }
+ .sdc-user-wrapper .sdc-user-icon .checkbox {
+ background-position: -10px -60px;
+ width: 14px;
+ height: 14px;
+ }
+ .sdc-user-wrapper .sdc-user-icon .checkbox-hover {
+ background-position: -10px -100px;
+ width: 14px;
+ height: 14px;
+ }
+ .sdc-user-wrapper .sdc-user-icon .checkbox-checked {
+ background-position: -10px -120px;
+ width: 14px;
+ height: 14px;
+ }
+ .sdc-user-wrapper .sdc-user-icon .radio-disabled {
+ background-position: -50px -60px;
+ width: 14px;
+ height: 14px;
+ }
+ .sdc-user-wrapper .sdc-user-icon .radio {
+ background-position: -50px -80px;
+ width: 14px;
+ height: 14px;
+ }
+ .sdc-user-wrapper .sdc-user-icon .radio-checked {
+ background-position: -50px -120px;
+ width: 14px;
+ height: 14px;
+ }
+ .sdc-user-wrapper .sdc-user-details {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ }
+ .sdc-user-wrapper .sdc-user-details-name-role {
+ line-height: 20px;
+ }
+ .sdc-user-wrapper .sdc-user-details-name-role .sdc-user-details-name {
+ max-width: 160px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ vertical-align: bottom;
+ font-weight: bold;
+ display: inline-block;
+ }
+ .sdc-user-wrapper .sdc-user-details-name-role .sdc-user-details-role {
+ font-weight: bold;
+ display: inline-block;
+ margin-left: 6px;
+ }
+ .sdc-user-wrapper .sdc-user-details-name-role .sdc-user-details-role:before {
+ content: '';
+ margin-right: 8px;
+ border-left: 1px solid #a8b3b9;
+ }
+ .sdc-user-wrapper .sdc-user-details-last-login {
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ display: block;
+ line-height: 20px;
+ height: 20px;
+ }
+ .edit-name-popover {
+ max-width: none;
+ width: 310px;
+ left: initial !important;
+ right: 10px;
+ z-index: 100;
+ }
+ .edit-name-popover .arrow {
+ left: 95% !important;
+ border-width: 7px;
+ bottom: -8px !important;
+ }
+ .popover {
+ border-radius: 0;
+ }
+ .popover .top > .arrow {
+ bottom: -8px !important;
+ }
+ .popover .popover-title {
+ background-color: transparent;
+ border-bottom: 2px solid #40b7e4;
+ margin-left: 20px;
+ margin-right: 20px;
+ padding: 8px 14px 8px 0px;
+ font-family: omnes-medium, sans-serif;
+ font-weight: bold;
+ }
+ .popover .popover-content {
+ width: inherit;
+ padding: 9px 20px;
+ }
+ .popover .form-group {
+ margin-top: 9px;
+ }
+ .popover .popover-btn {
+ float: right;
+ margin-left: 10px;
+ margin-bottom: 20px;
+ }
+ .popover .close-popover-btn {
+ position: absolute;
+ top: 11px;
+ right: 25px;
+ }
+ .popover .close-popover-btn:hover {
+ cursor: pointer;
+ }
+ .popover .popover-input {
+ height: 47px;
+ margin-bottom: 5px;
+ }
+ .popover .popover-label {
+ text-overflow: ellipsis;
+ display: block;
+ white-space: nowrap;
+ margin-bottom: 10px;
+ font-family: omnes-medium, sans-serif;
+ color: #000000;
+ }
+ .popover .w-sdc-form .i-sdc-form-item {
+ margin-bottom: 0px;
+ }
+ label.tlv-checkbox {
+ font-weight: normal;
+ }
+ /*
+ input[type="checkbox"] {
+ display:none;
+ }
+
+ input[type="checkbox"] + label span {
+ margin-right: 6px;
+ vertical-align: text-bottom;
+ .sprite-new;
+ .checkbox_unchecked;
+ cursor:pointer;
+ }
+
+ input[type="checkbox"]:checked + label span {
+ vertical-align: text-bottom;
+ .sprite-new;
+ .checkbox_checked;
+ }
+
+ input[type="checkbox"]:focus + label span {
+ vertical-align: text-bottom;
+ .sprite-new;
+ .checkbox_focus;
+ }
+
+ input[type="checkbox"][disabled] + label{
+ vertical-align: text-bottom;
+ .sprite-new;
+ .checkbox_disabled;
+ }
+ */
+ .ellipsis-directive-more-less {
+ color: #3b7b9b;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ font-weight: bold;
+ cursor: pointer;
+ float: right;
+ margin-right: 17px;
+ line-height: 23px;
+ text-decoration: underline;
+ text-align: left;
+ }
+ .i-sdc-form-file-upload {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ margin-top: 0;
+ width: 100%;
+ color: #8c8c8c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ background-color: #ffffff;
+ border-radius: 2px;
+ border: solid 1px #cfcfcf;
+ height: 30px;
+ }
+ .i-sdc-form-file-upload input[type="file"] {
+ cursor: inherit;
+ display: block;
+ filter: alpha(opacity=0);
+ width: 100px;
+ height: 30px;
+ opacity: 0;
+ position: absolute;
+ right: 0;
+ text-align: right;
+ top: 0;
+ }
+ .i-sdc-form-file-upload .i-sdc-form-file-name {
+ -webkit-box-flex: 999;
+ -ms-flex-positive: 999;
+ flex-grow: 999;
+ text-align: left;
+ padding: 3px 10px;
+ opacity: 0.6;
+ width: 80%;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ overflow: hidden;
+ }
+ .i-sdc-form-file-upload .i-sdc-form-file-upload-x-btn {
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -157px -4044px;
+ width: 8px;
+ height: 8px;
+ cursor: pointer;
+ top: 10px;
+ right: 9px;
+ width: 10px;
+ position: relative;
+ }
+ .i-sdc-form-file-upload .i-sdc-form-file-upload-label {
+ float: right;
+ width: 100px;
+ height: 100%;
+ background-color: #ECEFF3;
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ }
+ .i-sdc-form-file-upload .i-sdc-form-file-upload-label .file-upload-browse-btn {
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ padding: 4px 6px;
+ cursor: pointer;
+ z-index: 999;
+ position: absolute;
+ width: 100px;
+ height: 28px;
+ text-align: center;
+ }
+ .i-sdc-form-file-upload .i-sdc-form-file-upload-label .file-upload-browse-btn.disabled {
+ cursor: default;
+ }
+ .i-sdc-form-file-upload.error {
+ border-color: #da1f3d;
+ outline: none;
+ box-sizing: border-box;
+ }
+ composition-graph {
+ display: block;
+ height: 100%;
+ width: 100%;
+ }
+ composition-graph .sdc-composition-graph-wrapper {
+ height: 100%;
+ width: 100%;
+ }
+ composition-graph .view-only {
+ background-color: #f8f8f8;
+ }
+ deployment-graph {
+ display: block;
+ height: 100%;
+ width: 100%;
+ }
+ deployment-graph .sdc-deployment-graph-wrapper {
+ height: 100%;
+ width: 100%;
+ }
+ deployment-graph .view-only {
+ background-color: #f8f8f8;
+ }
+ .drag-icon-border {
+ border: 7px solid red;
+ border-radius: 500px;
+ -webkit-border-radius: 500px;
+ -moz-border-radius: 500px;
+ width: 53px;
+ height: 53px;
+ }
+ .drag-icon-circle {
+ width: 60px;
+ height: 60px;
+ border-radius: 50%;
+ position: relative;
+ }
+ .drag-icon-circle .sprite-resource-icons {
+ position: absolute;
+ top: 10px;
+ left: 10px;
+ }
+ .drag-icon-circle.red {
+ background: rgba(218, 31, 61, 0.3);
+ }
+ .drag-icon-circle.green {
+ background: rgba(29, 154, 149, 0.3);
+ }
+ .node-substitute {
+ display: none;
+ position: absolute;
+ z-index: 9999;
+ height: 80px;
+ width: 80px;
+ border-radius: 50%;
+ text-align: center;
+ }
+ .node-substitute span {
+ display: inline-block;
+ vertical-align: middle;
+ height: 100%;
+ }
+ .node-substitute img {
+ height: 40px;
+ width: 40px;
+ box-shadow: 0 0 0 10px rgba(29, 154, 149, 0.3);
+ border-radius: 50%;
+ -webkit-user-drag: none;
+ -moz-user-drag: none;
+ user-drag: none;
+ }
+ .node-substitute.red img {
+ box-shadow: 0 0 0 10px rgba(218, 31, 61, 0.3);
+ }
+ .node-substitute.bounce img {
+ -webkit-animation: bounceOut 0.3s linear;
+ animation: bounceOut 0.3s linear;
+ }
+ @keyframes bounceOut {
+ 0% {
+ box-shadow: 0 0 0 10px rgba(29, 154, 149, 0.3);
+ width: 40px;
+ height: 40px;
+ }
+ 60% {
+ box-shadow: 0 0 0 0px rgba(29, 154, 149, 0.3);
+ width: 60px;
+ height: 60px;
+ }
+ 85% {
+ box-shadow: 0 0 0 0px rgba(29, 154, 149, 0.3);
+ width: 75px;
+ height: 75px;
+ }
+ 100% {
+ box-shadow: 0 0 0 0px rgba(29, 154, 149, 0.3);
+ width: 60px;
+ height: 60px;
+ }
+ }
+ @-webkit-keyframes bounceOut {
+ 0% {
+ box-shadow: 0 0 0 10px rgba(29, 154, 149, 0.3);
+ width: 40px;
+ height: 40px;
+ }
+ 60% {
+ box-shadow: 0 0 0 0px rgba(29, 154, 149, 0.3);
+ width: 60px;
+ height: 60px;
+ }
+ 85% {
+ box-shadow: 0 0 0 0px rgba(29, 154, 149, 0.3);
+ width: 75px;
+ height: 75px;
+ }
+ 100% {
+ box-shadow: 0 0 0 0px rgba(29, 154, 149, 0.3);
+ width: 60px;
+ height: 60px;
+ }
+ }
+ .link-menu-open {
+ display: block !important;
+ color: #5a5a5a;
+ font-size: 14px;
+ position: absolute;
+ z-index: 99999;
+ border-radius: 2px;
+ background-color: #ffffff;
+ box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.5);
+ width: 460px;
+ height: 418px;
+ }
+ .link-menu-open h4 {
+ width: 50%;
+ float: left;
+ background-color: #eaeaea;
+ font-size: 14px;
+ font-weight: bold;
+ line-height: 36px;
+ margin: 0;
+ padding: 0 15px;
+ }
+ .link-menu-open h4 + h4 {
+ border-left: #d8d8d8 1px solid;
+ }
+ .link-menu-open p {
+ clear: both;
+ text-indent: 15px;
+ border-bottom: #d8d8d8 1px solid;
+ line-height: 34px;
+ margin: 0;
+ color: #191919;
+ }
+ .link-menu-open .scrollbar-container {
+ height: 232px;
+ width: 50%;
+ float: left;
+ margin-bottom: 5px;
+ position: relative;
+ overflow: hidden;
+ }
+ .link-menu-open .scrollbar-container + .scrollbar-container {
+ border-left: #d8d8d8 1px solid;
+ }
+ .link-menu-open .scrollbar-container .inner-title {
+ width: 189px;
+ margin: 5px auto 3px auto;
+ color: #191919;
+ text-transform: uppercase;
+ font-weight: bold;
+ }
+ .link-menu-open .scrollbar-container .link-item {
+ padding: 0 10px;
+ line-height: 23px;
+ height: 23px;
+ text-indent: 5px;
+ cursor: pointer;
+ }
+ .link-menu-open .scrollbar-container .link-item.selected {
+ background-color: #e6f6fb;
+ }
+ .link-menu-open .vl-type {
+ height: 33px;
+ border-top: #d8d8d8 solid 1px;
+ clear: both;
+ padding: 0 10px;
+ line-height: 32px;
+ color: #5a5a5a;
+ }
+ .link-menu-open .vl-type.disabled {
+ background-color: #f2f2f2;
+ color: #a8b3b9;
+ }
+ .link-menu-open .vl-type .info-icon {
+ float: right;
+ margin-top: 9px;
+ }
+ .link-menu-open .vl-type .tlv-radio {
+ margin-right: 10px;
+ }
+ .link-menu-open .result {
+ background-color: #5a5a5a;
+ line-height: 29px;
+ color: #ffffff;
+ padding: 0 15px;
+ }
+ .link-menu-open button {
+ float: right;
+ margin-top: 9px;
+ margin-right: 10px;
+ }
+ .link-menu-item {
+ cursor: pointer;
+ line-height: 24px;
+ padding: 0 10px;
+ }
+ .link-menu-item:hover {
+ color: #3b7b9b;
+ }
+ .link-menu::before {
+ right: inherit !important;
+ left: 50px;
+ }
+ .i-sdc-designer-sidebar-capabilities-requirements {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ }
+ .i-sdc-designer-sidebar-capabilities-requirements.description {
+ margin-top: 28px;
+ white-space: normal;
+ word-wrap: break-word;
+ }
+ .i-sdc-designer-sidebar-capabilities-requirements .i-sdc-designer-sidebar-section-content-item-relations {
+ border-bottom: 1px solid #cdcdcd;
+ padding: 10px 10px 10px 18px;
+ position: relative;
+ cursor: default;
+ }
+ .i-sdc-designer-sidebar-capabilities-requirements .i-sdc-designer-sidebar-section-content-item-relations .i-sdc-designer-sidebar-section-content-item-button {
+ top: 15px;
+ line-height: 10px;
+ }
+ .i-sdc-designer-sidebar-capabilities-requirements .i-sdc-designer-sidebar-section-content-item-relations:hover {
+ background-color: #ffffff;
+ }
+ .i-sdc-designer-sidebar-capabilities-requirements .i-sdc-designer-sidebar-section-content-item-relations:hover .i-sdc-designer-sidebar-section-content-item-button {
+ display: block;
+ }
+ .i-sdc-designer-sidebar-capabilities-requirements .w-sdc-designer-sidebar-section-relations:not(:last-child) .i-sdc-designer-sidebar-section-content-item-relations-group:last-child .i-sdc-designer-sidebar-section-content-item-relations:last-child {
+ border-bottom: none;
+ }
+ .i-sdc-designer-sidebar-capabilities-requirements .i-sdc-designer-sidebar-section-content-item-relations.hand {
+ cursor: pointer;
+ }
+ .i-sdc-designer-sidebar-capabilities-requirements .i-sdc-designer-sidebar-section-content-item-relations-details {
+ display: inline-block;
+ margin-left: 5px;
+ vertical-align: middle;
+ }
+ .i-sdc-designer-sidebar-capabilities-requirements .i-sdc-designer-sidebar-section-content-item-relations-details-name {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ font-weight: bold;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ text-transform: capitalize;
+ max-width: 240px;
+ display: inline-block;
+ }
+ .i-sdc-designer-sidebar-capabilities-requirements .i-sdc-designer-sidebar-section-content-item-relations-details-ownerName {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+ font-weight: 400;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ }
+ .i-sdc-designer-sidebar-capabilities-requirements .i-sdc-designer-sidebar-section-content-item-relations-details-ownerName:before {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -262px -4041px;
+ width: 11px;
+ height: 10px;
+ content: '';
+ }
+ .i-sdc-designer-sidebar-capabilities-requirements .i-sdc-designer-sidebar-section-content-item-relations-details-desc {
+ color: #8c8c8c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ line-height: 14px;
+ word-wrap: break-word;
+ white-space: normal;
+ max-width: 265px;
+ }
+ .i-sdc-designer-sidebar-capabilities-requirements .i-sdc-designer-sidebar-section-content-item-relations-details-desc .i-sdc-designer-sidebar-section-content-item-relations-details-indent-box {
+ border-left: 1px #848586 solid;
+ height: 40px;
+ margin-left: 2px;
+ margin-top: 5px;
+ border-bottom: 1px #848586 solid;
+ width: 25px;
+ float: left;
+ }
+ .i-sdc-designer-sidebar-capabilities-requirements .i-sdc-designer-sidebar-section-content-item-relations-details-desc .i-sdc-designer-sidebar-section-content-item-relations-details-child {
+ margin-top: 30px;
+ float: left;
+ padding-left: 10px;
+ max-width: 230px;
+ }
+ .i-sdc-designer-sidebar-capabilities-requirements .i-sdc-designer-sidebar-section-content-item-relations-details-desc-label {
+ font-family: omnes-medium, sans-serif;
+ }
+ .i-sdc-designer-sidebar-capabilities-requirements .i-sdc-designer-sidebar-section-content-item-relations-view {
+ position: absolute;
+ right: 0;
+ top: 22px;
+ display: none;
+ }
+ .info-tooltip {
+ position: fixed;
+ z-index: 1070;
+ display: block;
+ width: 250px;
+ }
+ .info-tooltip .info-tooltip-arrow {
+ width: 0;
+ height: 0;
+ border-style: solid;
+ border-width: 0 5px 5px 5px;
+ border-color: transparent transparent #009fdb transparent;
+ position: relative;
+ left: 2px;
+ }
+ .info-tooltip .info-tooltip-content {
+ box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.5);
+ border: 1px solid #d2d2d2;
+ border-radius: 3px;
+ border-top: 3px solid #009fdb;
+ position: relative;
+ background-color: white;
+ }
+ .info-tooltip .info-tooltip-content.right {
+ left: -13px;
+ }
+ .info-tooltip .info-tooltip-content.left {
+ left: -223px;
+ }
+ .info-tooltip .info-tooltip-content .close-tooltip {
+ float: right;
+ margin: 5px;
+ }
+ .info-tooltip .info-tooltip-content .info-tooltip-message {
+ margin: 15px;
+ word-break: normal;
+ font-size: 14px;
+ font-weight: normal;
+ text-align: left;
+ line-height: normal;
+ }
+ .expanded .input-row {
+ background-color: #e6f6fb;
+ }
+ .input-row {
+ padding-left: 45px;
+ background: #f8f8f8;
+ border: #d2d2d2 solid 1px;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ cursor: pointer;
+ margin: 1px 0px 1px 0px;
+ }
+ .input-row.selected {
+ background-color: #e6f6fb;
+ }
+ .input-row .flex-item {
+ min-height: 60px;
+ padding: 0 15px;
+ }
+ .input-row .input-check-box {
+ padding-right: 10px;
+ margin-top: 9px;
+ }
+ .input-row > .title-text {
+ text-align: start;
+ padding: 4px 35px 0 35px;
+ }
+ .input-row .expand-collapse-inputs-table-icon {
+ margin-top: 15px;
+ }
+ .input-row .delete {
+ width: 50px;
+ padding: 0;
+ position: relative;
+ }
+ .input-row .remove-input-icon {
+ position: absolute;
+ top: 12px;
+ right: 18px;
+ }
+ .input-row .remove-input-icon:hover {
+ background-position: -702px -231px;
+ width: 11px;
+ height: 13px;
+ }
+ .input-row:hover {
+ background-color: #D3DBE0;
+ }
+ .property-row {
+ border-bottom: 1px solid rgba(120, 136, 148, 0.26);
+ padding-left: 10px;
+ }
+ .property-row .property-name-container {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-flex: 3;
+ -ms-flex-positive: 3;
+ flex-grow: 3;
+ }
+ .property-row .type-schema-container {
+ -webkit-box-flex: 2;
+ -ms-flex-positive: 2;
+ flex-grow: 2;
+ border-left: 1px solid rgba(120, 136, 148, 0.26);
+ text-align: left;
+ line-height: 30px;
+ text-transform: capitalize;
+ width: 10px;
+ }
+ .property-row .property-check-box {
+ padding-right: 10px;
+ margin-top: 9px;
+ }
+ .property-row:hover {
+ background-color: #f2f2f2;
+ }
+ .expanded .flex-container .expand-collapse-inputs-table-icon {
+ -webkit-transform: rotate(180deg);
+ transform: rotate(180deg);
+ left: 0px;
+ }
+ .top-nav {
+ position: fixed;
+ top: 0px;
+ background-color: #ffffff;
+ box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.33);
+ width: 100%;
+ height: 50px;
+ line-height: 50px;
+ z-index: 10;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ }
+ .top-nav .asdc-app-title-wrapper {
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ line-height: 16px;
+ margin: 0 20px;
+ }
+ .top-nav .asdc-app-title-wrapper a.asdc-app-title {
+ color: #5a5a5a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 18px;
+ text-decoration: none;
+ }
+ .top-nav .asdc-app-title-wrapper .asdc-version {
+ color: #5a5a5a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ -moz-opacity: 0.8;
+ -khtml-opacity: 0.8;
+ -webkit-opacity: 0.8;
+ opacity: 0.8;
+ line-height: 14px;
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ }
+ .top-nav ul.top-menu {
+ list-style-type: none;
+ margin: 0 0 0 20px;
+ padding: 0;
+ -webkit-box-flex: 999;
+ -ms-flex-positive: 999;
+ flex-grow: 999;
+ }
+ .top-nav ul.top-menu > li {
+ float: left;
+ cursor: pointer;
+ line-height: 50px;
+ height: 50px;
+ padding: 0 20px;
+ /*&:hover {
+ border-bottom: solid 4px @main_color_a;
+ }*/
+ }
+ .top-nav ul.top-menu > li.selected {
+ border-bottom: solid 4px #009fdb;
+ }
+ .top-nav ul.top-menu > li.selected a {
+ color: #191919;
+ }
+ .top-nav ul.top-menu > li a {
+ font-family: omnes-medium, sans-serif;
+ color: #5a5a5a;
+ font-size: 18px;
+ display: block;
+ text-align: center;
+ text-decoration: none;
+ }
+ .top-nav ul.top-menu > li.triangle-dropdown {
+ padding: 0;
+ position: relative;
+ }
+ .top-nav ul.top-menu > li.triangle-dropdown div.triangle {
+ margin-top: 15px;
+ border-radius: 2px;
+ width: 17px;
+ height: 18px;
+ line-height: 18px;
+ text-align: center;
+ font-size: 10px;
+ }
+ .top-nav ul.top-menu > li.triangle-dropdown div.triangle:hover {
+ background-color: rgba(156, 156, 156, 0.2);
+ }
+ .top-nav ul.top-menu > li.triangle-dropdown div.triangle:hover span {
+ background-position: -600px -235px;
+ width: 5px;
+ height: 8px;
+ }
+ .top-nav ul.top-menu > li.triangle-dropdown + li a {
+ font-size: 16px;
+ }
+ .top-nav ul.top-menu > li.triangle-dropdown .ps-container {
+ position: relative;
+ position: absolute;
+ left: 0;
+ top: 40px;
+ z-index: 1;
+ overflow: hidden;
+ max-height: 0;
+ transition: max-height 200ms ease-in;
+ }
+ .top-nav ul.top-menu > li.triangle-dropdown .ps-container div ul {
+ padding: 0;
+ background-color: white;
+ }
+ .top-nav ul.top-menu > li.triangle-dropdown .ps-container div ul li {
+ height: 35px;
+ background-color: white;
+ font-size: 13px;
+ width: 150px;
+ line-height: 35px;
+ padding: 0 10px;
+ }
+ .top-nav ul.top-menu > li.triangle-dropdown .ps-container div ul li.disabled {
+ opacity: 1;
+ }
+ .top-nav ul.top-menu > li.triangle-dropdown .ps-container div ul li.selected {
+ background-color: #e6f6fb;
+ font-weight: bold;
+ }
+ .top-nav ul.top-menu > li.triangle-dropdown .ps-container div ul li:hover {
+ color: #009fdb;
+ }
+ .top-nav ul.top-menu > li.triangle-dropdown .ps-container div ul li span {
+ height: 35px;
+ width: 130px;
+ display: inline-block;
+ }
+ .top-nav ul.top-menu > li.triangle-dropdown.item-click:hover .ps-container,
+ .top-nav ul.top-menu > li.triangle-dropdown.item-click:active .ps-container {
+ max-height: 500px;
+ border: 1px solid #0568ae;
+ border-radius: 2px;
+ box-shadow: 0px 2px 2px 0px rgba(24, 24, 25, 0.1);
+ }
+ .top-nav .top-search {
+ position: relative;
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ padding: 0 20px;
+ }
+ .top-nav .top-search input.search-text {
+ border-radius: 2px;
+ width: 245px;
+ height: 32px;
+ line-height: 32px;
+ border: 1px solid #d2d2d2;
+ outline: none;
+ text-indent: 10px;
+ /* Safari, Chrome and Opera */
+ /* Firefox 18- */
+ /* Firefox 19+ */
+ /* IE 10+ */
+ /* Edge */
+ /* font-style: italic;
+ }*/
+ /* Firefox 18- */
+ /* Firefox 19+ */
+ /* IE 10+ */
+ /* Edge */
+ }
+ .top-nav .top-search input.search-text::-webkit-input-placeholder {
+ font-style: italic;
+ }
+ .top-nav .top-search input.search-text:-moz-placeholder {
+ font-style: italic;
+ }
+ .top-nav .top-search input.search-text::-moz-placeholder {
+ font-style: italic;
+ }
+ .top-nav .top-search input.search-text:-ms-input-placeholder {
+ font-style: italic;
+ }
+ .top-nav .top-search input.search-text:-ms-input-placeholder {
+ font-style: italic;
+ }
+ .top-nav .top-search input.search-text::-moz-placeholder {
+ font-style: italic;
+ }
+ .top-nav .top-search input.search-text:-ms-input-placeholder {
+ font-style: italic;
+ }
+ .top-nav .top-search input.search-text:-ms-input-placeholder {
+ font-style: italic;
+ }
+ .top-nav .top-search .magnification {
+ position: absolute;
+ top: 19px;
+ right: 26px;
+ }
+ .top-nav .notification-icon {
+ cursor: pointer;
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ margin: 0 10px 6px 0;
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -54px -143px;
+ width: 26px;
+ height: 29px;
+ }
+ .top-nav .notification-icon:hover {
+ background-position: -154px -143px;
+ width: 26px;
+ height: 29px;
+ }
+ .top-nav .notification-icon:active {
+ background-position: -104px -143px;
+ width: 26px;
+ height: 29px;
+ }
+ .top-progress {
+ text-align: left;
+ }
+ .top-progress .sdc-progress-title {
+ color: #959595;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ height: 17px;
+ display: block;
+ }
+ .top-progress .sdc-progress-title .progress-percentage {
+ float: right;
+ }
+ .top-progress .sdc-progress {
+ position: relative;
+ display: block;
+ height: 6px;
+ background-color: #d2d2d2;
+ border-radius: 3px;
+ box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
+ }
+ .top-progress .sdc-progress .progress-bar {
+ border-radius: 3px;
+ background-color: #009fdb;
+ }
+ .top-progress .sdc-progress-success-wrapper {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: end;
+ -ms-flex-align: end;
+ align-items: flex-end;
+ }
+ .top-progress .sdc-progress-success-wrapper .sdc-progress-success-title {
+ color: #4ca90c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ margin-left: 10px;
+ }
+ .top-progress .sdc-progress-success-wrapper .sdc-progress-success {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -50px -703px;
+ width: 20px;
+ height: 20px;
+ }
+ .top-progress .sdc-progress-error-wrapper {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: end;
+ -ms-flex-align: end;
+ align-items: flex-end;
+ }
+ .top-progress .sdc-progress-error-wrapper .sdc-progress-error-title {
+ color: #cf2a2a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ margin-left: 10px;
+ }
+ .top-progress .sdc-progress-error-wrapper .sdc-progress-error {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -51px -751px;
+ width: 13px;
+ height: 11px;
+ }
+ .tlv-loader-back {
+ background-color: #ffffff;
+ position: fixed;
+ top: 50px;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ z-index: 9999;
+ opacity: 0.5;
+ }
+ .tlv-loader-relative {
+ position: absolute;
+ top: 0;
+ }
+ .tlv-loader {
+ z-index: 10002;
+ }
+ @keyframes fadein {
+ from {
+ opacity: 0;
+ }
+ to {
+ opacity: 0.8;
+ }
+ }
+ /* Firefox < 16 */
+ /* Safari, Chrome and Opera > 12.1 */
+ @-webkit-keyframes fadein {
+ from {
+ opacity: 0;
+ }
+ to {
+ opacity: 0.8;
+ }
+ }
+ /* Internet Explorer */
+ /* Opera < 12.1 */
+ @keyframes fadeout {
+ from {
+ opacity: 0.8;
+ }
+ to {
+ opacity: 0;
+ }
+ }
+ /* Firefox < 16 */
+ /* Safari, Chrome and Opera > 12.1 */
+ @-webkit-keyframes fadeout {
+ from {
+ opacity: 0.8;
+ }
+ to {
+ opacity: 0;
+ }
+ }
+ /* Internet Explorer */
+ /* Opera < 12.1 */
+ .ellipsis-directive-more-less {
+ color: #3b7b9b;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ font-weight: bold;
+ cursor: pointer;
+ float: right;
+ margin-right: 17px;
+ line-height: 23px;
+ text-decoration: underline;
+ text-align: left;
+ }
+ .data-type-fields-structure {
+ background-color: #e6f6fb;
+ padding: 10px;
+ display: table-caption;
+ }
+ .data-type-fields-structure .open-close {
+ position: relative;
+ }
+ .data-type-fields-structure .open-close .open-close-button {
+ position: absolute;
+ top: 50%;
+ margin-top: -7px;
+ }
+ .data-type-fields-structure .open-close .open-close-button.expand {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -378px -888px;
+ width: 14px;
+ height: 14px;
+ }
+ .data-type-fields-structure .open-close .open-close-button.collapse {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -334px -888px;
+ width: 14px;
+ height: 14px;
+ }
+ .data-type-fields-structure .data-type-name {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ margin-left: 22px;
+ }
+ .data-type-fields-structure .i-sdc-form-input:disabled {
+ opacity: 0.4 !important;
+ cursor: auto;
+ background-color: transparent;
+ pointer-events: none;
+ }
+ .data-type-fields-structure .property {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ min-width: 365px;
+ min-height: 46px;
+ }
+ .data-type-fields-structure .property input[type="text"],
+ .data-type-fields-structure .property select {
+ width: 170px;
+ }
+ .data-type-fields-structure .property .property-name {
+ float: left;
+ margin-top: 8px;
+ }
+ .data-type-fields-structure .property .primitive-value-field {
+ float: right;
+ margin-top: 8px;
+ margin-left: 10px;
+ }
+ .data-type-fields-structure .property .inner-structure {
+ display: -webkit-box;
+ }
+ .data-type-fields-structure [ng-switch-when="map"] {
+ margin-top: 8px;
+ margin-left: 10px;
+ }
+ .data-type-fields-structure [ng-switch-when="map"] .map-item {
+ border: solid 1px #d2d2d2;
+ min-width: 401px;
+ min-height: 69px;
+ float: none !important;
+ }
+ .data-type-fields-structure [ng-switch-when="map"] .add-map-item {
+ width: auto;
+ float: none;
+ }
+ .data-type-fields-structure [ng-switch-when="map"] .add-map-item:nth-child(1) {
+ position: relative;
+ top: 6px;
+ }
+ .data-type-fields-structure [ng-switch-when="map"] .add-map-item .add-btn {
+ float: none;
+ }
+ .data-type-fields-structure [ng-switch-when="list"] {
+ float: left;
+ margin-top: 8px;
+ margin-left: 10px;
+ min-width: 280px;
+ }
+ .data-type-fields-structure [ng-switch-when="list"] .dt-list-item {
+ border: solid 1px #d2d2d2;
+ }
+ .data-type-fields-structure [ng-switch-when="list"] .list-value-items {
+ width: 280px;
+ }
+ .list-new-item {
+ float: left;
+ width: 50%;
+ min-width: 221px;
+ margin-right: 15px;
+ }
+ .list-new-item input {
+ min-width: 221px;
+ }
+ .list-value-items {
+ border-radius: 2px;
+ border: 1px solid #d2d2d2;
+ padding-bottom: 10px;
+ min-height: 100px;
+ clear: both;
+ background-color: white;
+ }
+ .list-value-items .list-value-item {
+ display: inline-block;
+ background-color: #e6f6fb;
+ margin: 10px 0 0 10px;
+ padding: 0 8px;
+ }
+ .list-value-items .list-value-item .delete-list-item {
+ margin: 0 0 0 2px;
+ cursor: pointer;
+ }
+ .add-btn {
+ color: #009fdb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ cursor: pointer;
+ }
+ .add-btn.add-list-item {
+ float: left;
+ margin-top: 5px;
+ width: 44px;
+ }
+ .add-btn:before {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -50px -231px;
+ width: 12px;
+ height: 12px;
+ margin-right: 5px;
+ content: "";
+ }
+ .add-btn:hover {
+ color: #056bae;
+ }
+ .add-btn:hover:before {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -100px -231px;
+ width: 12px;
+ height: 12px;
+ }
+ .dt-list {
+ display: table-caption;
+ }
+ .dt-list .dt-list-item {
+ border-radius: 3px;
+ background-color: #e6f6fb;
+ display: inline-block;
+ }
+ .dt-list .dt-list-item .delete-dt-list-item {
+ float: right;
+ position: relative;
+ top: 5px;
+ right: 5px;
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -675px -231px;
+ width: 11px;
+ height: 13px;
+ }
+ .dt-list .dt-list-item .delete-dt-list-item:hover {
+ background-position: -702px -231px;
+ width: 11px;
+ height: 13px;
+ }
+ .dt-list .dt-list-item .data-type-name {
+ margin-right: 16px;
+ }
+ .dt-list > .add-list-item {
+ float: none;
+ }
+ .add-map-item {
+ width: 400px;
+ }
+ .add-map-item:nth-child(odd) {
+ float: right;
+ }
+ .add-map-item:nth-child(1) {
+ float: none;
+ }
+ .add-map-item:nth-child(1) .add-btn {
+ float: none;
+ }
+ .add-map-item .add-btn {
+ width: 44px;
+ float: right;
+ }
+ .add-map-item.schema-data-type {
+ float: none;
+ }
+ .add-map-item.schema-data-type .add-btn {
+ float: none;
+ }
+ .add-btn {
+ color: #009fdb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ cursor: pointer;
+ }
+ .add-btn:before {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -50px -231px;
+ width: 12px;
+ height: 12px;
+ margin-right: 5px;
+ content: "";
+ }
+ .add-btn:hover {
+ color: #056bae;
+ }
+ .add-btn:hover:before {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -100px -231px;
+ width: 12px;
+ height: 12px;
+ }
+ .map-item {
+ min-width: 389px;
+ min-height: 65px;
+ background-color: #e6f6fb;
+ border-radius: 3px;
+ margin-bottom: 8px;
+ float: left;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ }
+ .map-item:nth-child(even).primitive-value-map {
+ float: right;
+ }
+ .map-item .delete-map-item {
+ float: right;
+ position: relative;
+ top: 5px;
+ right: 5px;
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -675px -231px;
+ width: 11px;
+ height: 13px;
+ }
+ .map-item .delete-map-item:hover {
+ background-position: -702px -231px;
+ width: 11px;
+ height: 13px;
+ }
+ .map-item .map-item-field {
+ margin: 7px 12px !important;
+ float: left;
+ min-width: 170px;
+ min-height: 50px;
+ }
+ .map-item .map-item-field select {
+ width: 171px;
+ }
+ .map-item .map-item-field input[type="text"] {
+ width: 170px;
+ }
+ .map-item .map-item-field > .data-type-fields-structure {
+ padding: 0;
+ }
+ .sdc-tabs-body {
+ height: 100%;
+ width: 330px;
+ }
+ .sdc-tabs-body .sdc-tabs {
+ display: inline-block;
+ width: 40px;
+ vertical-align: top;
+ position: relative;
+ z-index: 99;
+ }
+ .sdc-tabs-body .sdc-tabs .sdc-tab-arrow {
+ cursor: pointer;
+ width: 40px;
+ height: 20px;
+ background-color: #eaeaea;
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.17);
+ text-align: center;
+ padding: 1px 4px 0px 0px;
+ }
+ .sdc-tabs-body .sdc-tabs .sdc-tab-arrow:hover {
+ background-color: #d2d2d2;
+ }
+ .sdc-tabs-body .sdc-tabs .sdc-tab {
+ cursor: pointer;
+ width: 40px;
+ height: 43px;
+ background-color: #eaeaea;
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.17);
+ text-align: center;
+ }
+ .sdc-tabs-body .sdc-tabs .sdc-tab .sdc-tab-icon {
+ margin-top: 12px;
+ }
+ .sdc-tabs-body .sdc-tabs .selected {
+ background-color: #f8f8f8;
+ }
+ .sdc-tabs-body .sdc-tabs .last-tab {
+ border-bottom-left-radius: 12px;
+ }
+ .sdc-tabs-body .not-active {
+ position: absolute;
+ right: 0px;
+ }
+ .sdc-tabs-body .sdc-single-tab-content {
+ padding: 15px 0px 0px 0px;
+ width: 290px;
+ background-color: #f8f8f8;
+ height: 100%;
+ display: inline-block;
+ bottom: 0;
+ top: 0;
+ position: absolute;
+ box-shadow: 0.3px 1px 3px rgba(24, 24, 25, 0.42);
+ }
+ .sdc-tabs-body .sdc-single-tab-content .sdc-single-tab-content-body {
+ height: 100%;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ }
+ .selectPropertyType .tlv-radio-label {
+ margin-top: -7px;
+ }
+ .data-type-fields-structure {
+ background-color: #e6f6fb;
+ padding: 10px;
+ display: table-caption;
+ }
+ .data-type-fields-structure .open-close {
+ position: relative;
+ }
+ .data-type-fields-structure .open-close .open-close-button {
+ position: absolute;
+ top: 50%;
+ margin-top: -7px;
+ }
+ .data-type-fields-structure .open-close .open-close-button.expand {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -378px -888px;
+ width: 14px;
+ height: 14px;
+ }
+ .data-type-fields-structure .open-close .open-close-button.collapse {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -334px -888px;
+ width: 14px;
+ height: 14px;
+ }
+ .data-type-fields-structure .existInputContainer {
+ height: 30px;
+ width: 20px;
+ position: relative;
+ }
+ .data-type-fields-structure .existInput {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -101px -707px;
+ width: 10px;
+ height: 10px;
+ position: absolute;
+ top: 18px;
+ left: 3px;
+ }
+ .data-type-fields-structure .data-type-name {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ margin-left: 22px;
+ }
+ .data-type-fields-structure .i-sdc-form-input:disabled {
+ opacity: 0.4 !important;
+ cursor: auto;
+ background-color: transparent;
+ pointer-events: none;
+ }
+ .data-type-fields-structure .i-sdc-form-input:disabled[type="text"] {
+ opacity: 1 !important;
+ background-color: #f8f8f8;
+ color: black;
+ }
+ .data-type-fields-structure .property {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ min-width: 365px;
+ min-height: 46px;
+ }
+ .data-type-fields-structure .property input[type="text"],
+ .data-type-fields-structure .property select {
+ width: 170px;
+ }
+ .data-type-fields-structure .property .property-name {
+ float: left;
+ margin-top: 8px;
+ }
+ .data-type-fields-structure .property .primitive-value-field {
+ float: right;
+ margin-top: 8px;
+ margin-left: 10px;
+ }
+ .data-type-fields-structure .property .inner-structure {
+ display: -webkit-box;
+ }
+ .data-type-fields-structure [ng-switch-when="map"] {
+ margin-top: 8px;
+ margin-left: 10px;
+ }
+ .data-type-fields-structure [ng-switch-when="map"] .map-item {
+ border: solid 1px #d2d2d2;
+ min-width: 401px;
+ min-height: 69px;
+ float: none !important;
+ }
+ .data-type-fields-structure [ng-switch-when="map"] .add-map-item {
+ width: auto;
+ float: none;
+ }
+ .data-type-fields-structure [ng-switch-when="map"] .add-map-item:nth-child(1) {
+ position: relative;
+ top: 6px;
+ }
+ .data-type-fields-structure [ng-switch-when="map"] .add-map-item .add-btn {
+ float: none;
+ }
+ .data-type-fields-structure [ng-switch-when="list"] {
+ float: left;
+ margin-top: 8px;
+ margin-left: 10px;
+ min-width: 280px;
+ }
+ .data-type-fields-structure [ng-switch-when="list"] .dt-list-item {
+ border: solid 1px #d2d2d2;
+ }
+ .data-type-fields-structure [ng-switch-when="list"] .list-value-items {
+ width: 280px;
+ }
+ .list-new-item {
+ float: left;
+ width: 50%;
+ min-width: 221px;
+ margin-right: 15px;
+ }
+ .list-new-item input {
+ min-width: 221px;
+ }
+ .list-value-items {
+ border-radius: 2px;
+ border: 1px solid #d2d2d2;
+ padding-bottom: 10px;
+ min-height: 100px;
+ clear: both;
+ background-color: white;
+ }
+ .list-value-items .list-value-item {
+ display: inline-block;
+ background-color: #e6f6fb;
+ margin: 10px 0 0 10px;
+ padding: 0 8px;
+ }
+ .list-value-items .list-value-item .delete-list-item {
+ margin: 0 0 0 2px;
+ cursor: pointer;
+ }
+ .add-btn {
+ color: #009fdb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ cursor: pointer;
+ }
+ .add-btn.add-list-item {
+ float: left;
+ margin-top: 5px;
+ width: 44px;
+ }
+ .add-btn:before {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -50px -231px;
+ width: 12px;
+ height: 12px;
+ margin-right: 5px;
+ content: "";
+ }
+ .add-btn:hover {
+ color: #056bae;
+ }
+ .add-btn:hover:before {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -100px -231px;
+ width: 12px;
+ height: 12px;
+ }
+ .dt-list {
+ display: table-caption;
+ }
+ .dt-list .dt-list-item {
+ border-radius: 3px;
+ background-color: #e6f6fb;
+ display: inline-block;
+ }
+ .dt-list .dt-list-item .delete-dt-list-item {
+ float: right;
+ position: relative;
+ top: 5px;
+ right: 5px;
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -675px -231px;
+ width: 11px;
+ height: 13px;
+ }
+ .dt-list .dt-list-item .delete-dt-list-item:hover {
+ background-position: -702px -231px;
+ width: 11px;
+ height: 13px;
+ }
+ .dt-list .dt-list-item .data-type-name {
+ margin-right: 16px;
+ }
+ .dt-list > .add-list-item {
+ float: none;
+ }
+ .add-map-item {
+ width: 400px;
+ }
+ .add-map-item:nth-child(odd) {
+ float: right;
+ }
+ .add-map-item:nth-child(1) {
+ float: none;
+ }
+ .add-map-item:nth-child(1) .add-btn {
+ float: none;
+ }
+ .add-map-item .add-btn {
+ width: 44px;
+ float: right;
+ }
+ .add-map-item.schema-data-type {
+ float: none;
+ }
+ .add-map-item.schema-data-type .add-btn {
+ float: none;
+ }
+ .add-btn {
+ color: #009fdb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ cursor: pointer;
+ }
+ .add-btn:before {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -50px -231px;
+ width: 12px;
+ height: 12px;
+ margin-right: 5px;
+ content: "";
+ }
+ .add-btn:hover {
+ color: #056bae;
+ }
+ .add-btn:hover:before {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -100px -231px;
+ width: 12px;
+ height: 12px;
+ }
+ .map-item {
+ min-width: 389px;
+ min-height: 65px;
+ background-color: #e6f6fb;
+ border-radius: 3px;
+ margin-bottom: 8px;
+ float: left;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ }
+ .map-item:nth-child(even).primitive-value-map {
+ float: right;
+ }
+ .map-item .delete-map-item {
+ float: right;
+ position: relative;
+ top: 5px;
+ right: 5px;
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -675px -231px;
+ width: 11px;
+ height: 13px;
+ }
+ .map-item .delete-map-item:hover {
+ background-position: -702px -231px;
+ width: 11px;
+ height: 13px;
+ }
+ .map-item .map-item-field {
+ margin: 7px 12px !important;
+ float: left;
+ min-width: 170px;
+ min-height: 50px;
+ }
+ .map-item .map-item-field select {
+ width: 171px;
+ }
+ .map-item .map-item-field input[type="text"] {
+ width: 170px;
+ }
+ .map-item .map-item-field > .data-type-fields-structure {
+ padding: 0;
+ }
+ .structure-tree {
+ padding: 9px 0px 10px 30px;
+ position: relative;
+ }
+ .structure-tree ul {
+ position: relative;
+ list-style: none;
+ padding-left: 25px;
+ }
+ .structure-tree ul ::before {
+ content: "";
+ position: absolute;
+ left: -27px;
+ }
+ .structure-tree ul ::after {
+ content: "";
+ position: absolute;
+ left: -27px;
+ }
+ .structure-tree ul li {
+ position: relative;
+ }
+ .structure-tree ul li::before {
+ border-top: 1px solid #666666;
+ top: 20px;
+ width: 10px;
+ height: 0;
+ }
+ .structure-tree ul li::after {
+ border-left: 1px solid #666666;
+ height: 100%;
+ width: 0px;
+ top: -2px;
+ }
+ .structure-tree ul li:last-child::after {
+ height: 23px;
+ }
+ .structure-tree .component-container {
+ display: inline-block;
+ margin: 6px 0px 0px -16px;
+ }
+ .structure-tree .component-container-icon {
+ display: inline-block;
+ }
+ .structure-tree .component-container-text {
+ padding-left: 8px;
+ float: right;
+ text-overflow: ellipsis;
+ max-width: 120px;
+ display: inline-block;
+ white-space: nowrap;
+ font-size: 13px;
+ color: #666666;
+ overflow: hidden;
+ line-height: 28px;
+ float: none;
+ }
+ .structure-tree .non-certified {
+ position: relative;
+ left: 18px;
+ bottom: 8px;
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -157px -3386px;
+ width: 15px;
+ height: 15px;
+ display: block;
+ }
+ .sdc-tag {
+ background-color: #F2F2F2 ;
+ border-radius: 4px;
+ min-width: 150px;
+ height: 30px;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ padding: 0 10px;
+ margin: 2px;
+ }
+ .sdc-tag .tag {
+ display: inline-block;
+ }
+ .sdc-tag .category {
+ margin-right: 4px;
+ margin-left: 25px;
+ width: 25px;
+ }
+ .sdc-tag .relation-categoty-icon {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -100px -4351px;
+ width: 24px;
+ height: 24px;
+ cursor: pointer;
+ vertical-align: middle;
+ }
+ .sdc-tag .relation-categoty-icon:hover {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -52px -4351px;
+ width: 24px;
+ height: 24px;
+ }
+ .sdc-tag .delete-icon {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -52px -4041px;
+ width: 10px;
+ height: 11px;
+ cursor: pointer;
+ vertical-align: middle;
+ }
+ .tag-tooltip-wrap {
+ background-color: rgba(80, 99, 113, 0.9);
+ position: relative;
+ display: inline-block;
+ margin: -5px -14px 0px -14px;
+ }
+ .w-sdc-header-user-container {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ width: 400px;
+ -ms-flex-preferred-size: 400px;
+ flex-basis: 400px;
+ -webkit-box-flex: 0;
+ -ms-flex-positive: 0;
+ flex-grow: 0;
+ -ms-flex-negative: 0;
+ flex-shrink: 0;
+ padding: 0 23px;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-pack: end;
+ -ms-flex-pack: end;
+ justify-content: flex-end;
+ }
+ .w-sdc-header-user-icon {
+ background: no-repeat url('/assets/styles/images/anonymous.jpg');
+ border-radius: 50%;
+ height: 47px;
+ width: 47px;
+ background-size: cover;
+ border: solid 2px #a8b3b9;
+ -ms-flex-preferred-size: 47px;
+ flex-basis: 47px;
+ -webkit-box-flex: 0;
+ -ms-flex-positive: 0;
+ flex-grow: 0;
+ -ms-flex-negative: 0;
+ flex-shrink: 0;
+ }
+ .w-sdc-header-user-details {
+ padding: 4px 4px 4px 14px;
+ display: table-cell;
+ vertical-align: middle;
+ }
+ .w-sdc-header-user-name {
+ max-width: 160px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ vertical-align: bottom;
+ font-weight: bold;
+ display: inline-block;
+ }
+ .w-sdc-header-user-role {
+ font-weight: bold;
+ display: inline-block;
+ margin-left: 6px;
+ }
+ .w-sdc-header-user-role:before {
+ content: '';
+ margin-right: 8px;
+ border-left: 1px solid #a8b3b9;
+ }
+ .w-sdc-header-user-last-login {
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ display: block;
+ }
+ .w-sdc-header-logout-icon {
+ background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAUCAYAAACAl21KAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjE5RjgxM0QxMDgzQTExRTVBQzA2OTg5ODlFNDVBNTZDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjE5RjgxM0QyMDgzQTExRTVBQzA2OTg5ODlFNDVBNTZDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTlGODEzQ0YwODNBMTFFNUFDMDY5ODk4OUU0NUE1NkMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MTlGODEzRDAwODNBMTFFNUFDMDY5ODk4OUU0NUE1NkMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6Riq1bAAAA20lEQVR42mJ0CUv+z0Aa+AvEertXzrmGLMgCpZcD8S4iDfoDxHfQBWEGnQLasICBAsDEQCUwcAa5hqeEAHEKNVykB8SzgYZVUGpQPRDPAOJ2oGHNZBsEjF1QussC4mlAXAM0rAM5+tHDwQJIVRBh7m0gLgeql6ZarLHgcP4JIBWAJ+YYgdQUIPYH4k6g+gpyop8RGj6gcGoGGYLTRQRAIxBnAHEl0JAOvF4jAC4BcSrQkDkEw4hA9K8ZGpkW5jUzYGwkkFCwrQJ68Rc2gyKhmNii9hwQoxS1AAEGAO5PP/+ClIDAAAAAAElFTkSuQmCC');
+ height: 20px;
+ width: 18px;
+ position: absolute;
+ right: 20px;
+ top: 29px;
+ }
+ .main-wrap {
+ text-align: center;
+ }
+ .main-wrap .header {
+ background-color: #c6e6f2;
+ height: 42px;
+ border-bottom: 1px solid rgba(0, 159, 219, 0.6);
+ border-top: 1px solid rgba(0, 159, 219, 0.6);
+ }
+ .main-wrap .header .title {
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ color: #000000;
+ font-weight: 400;
+ line-height: 42px;
+ padding-left: 18px;
+ float: left;
+ }
+ .main-wrap .header .buttons {
+ float: right;
+ padding-right: 11px;
+ line-height: 42px;
+ }
+ .main-wrap .header .buttons span {
+ vertical-align: middle;
+ }
+ .main-wrap .header .buttons .search,
+ .main-wrap .header .buttons .order-by {
+ margin-right: 5px;
+ }
+ .main-wrap .header .buttons .search {
+ display: none;
+ }
+ .main-wrap .search-box {
+ border-radius: 2px;
+ height: 30px;
+ width: 275px;
+ border: 1px #067ab4 solid;
+ margin: 8px 0;
+ padding: 0 5px;
+ }
+ .expand-collapse-menu-box {
+ line-height: 20px;
+ background-color: #f8f8f8;
+ }
+ .expand-collapse-menu-box .expand-collapse-header {
+ border-bottom: 1px solid #d2d2d2;
+ height: 53px;
+ background-color: #ffffff;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ }
+ .expand-collapse-menu-box .expand-collapse-menu-box-title {
+ font-family: omnes-medium, sans-serif;
+ font-size: 18px;
+ color: #009fdb;
+ cursor: pointer;
+ }
+ .expand-collapse-menu-box .expand-collapse-menu-box-title .w-sdc-designer-sidebar-section-title-text {
+ max-width: 185px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: inline-block;
+ white-space: nowrap;
+ padding: 8px 0;
+ }
+ .expand-collapse-menu-box .expand-collapse-menu-box-title.expanded .expand-collapse-menu-box-title-icon {
+ -webkit-transform: rotate(180deg);
+ transform: rotate(180deg);
+ }
+ .expand-collapse-menu-box .expand-collapse-menu-box-title-icon {
+ cursor: pointer;
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -350px -236px;
+ width: 12px;
+ height: 7px;
+ margin-right: 6px;
+ transition: .3s all;
+ position: relative;
+ vertical-align: text-top;
+ margin-left: 14px;
+ vertical-align: 14px;
+ }
+ .expand-collapse-menu-box .w-sdc-designer-sidebar-section-content {
+ overflow: hidden;
+ }
+ .expand-collapse-menu-box .w-sdc-designer-sidebar-section-content .expand-collapse-menu-box-item {
+ cursor: pointer;
+ padding-left: 14px;
+ font-family: omnes-medium, sans-serif;
+ color: #5a5a5a;
+ line-height: 18px;
+ }
+ .expand-collapse-menu-box .w-sdc-designer-sidebar-section-content .expand-collapse-menu-box-item.selected {
+ background-color: #009fdb;
+ color: #ffffff;
+ }
+ .ellipsis-directive-more-less {
+ color: #3b7b9b;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ font-weight: bold;
+ cursor: pointer;
+ float: right;
+ margin-right: 10px;
+ line-height: 23px;
+ text-decoration: underline;
+ text-align: left;
+ }
+ .tags-box {
+ height: 116px;
+ background-color: #ffffff;
+ }
+ .tags-box .perfect-scrollbar {
+ height: 85px;
+ }
+ .tags-box .new-tag-input {
+ display: block;
+ border-bottom-left-radius: 0 !important;
+ border-bottom-right-radius: 0 !important;
+ border: solid 1px #d8d8d8;
+ width: 100%;
+ height: 30px;
+ line-height: 30px;
+ padding: 2px 10px;
+ outline: none;
+ }
+ .tags-box .tags-wrapper {
+ padding: 10px;
+ border-bottom-left-radius: 2px;
+ border-bottom-right-radius: 2px;
+ border: solid 1px #d8d8d8;
+ border-top: none;
+ }
+ .tags-box .tags-wrapper .group-tag {
+ display: inline-block;
+ }
+ .tags-box .tags-wrapper .group-tag .sdc-tag {
+ border: solid 1px #959595;
+ background-color: #ffffff;
+ min-width: auto;
+ }
+ .tags-box .tags-wrapper .group-tag .sdc-tag .tag {
+ margin-right: 10px;
+ }
+ .tags-box .tags-wrapper.view-mode .group-tag {
+ opacity: 1;
+ background-color: #f8f8f8 !important;
+ }
+ .tags-box .tags-wrapper.view-mode .group-tag .sdc-tag {
+ background: none;
+ border-color: #d2d2d2;
+ }
+ .sdc-admin-container {
+ height: 100%;
+ }
+ .sdc-admin-container .sdc-admin-top-bar-menu {
+ background-color: #e1e7ec;
+ height: 44px;
+ padding-left: 260px;
+ box-shadow: -1px 0px 3px 0px rgba(0, 0, 0, 0.33);
+ position: absolute;
+ top: 0px;
+ left: 0;
+ right: 0;
+ z-index: 2;
+ }
+ .sdc-admin-container .sdc-admin-top-bar-menu .sdc-admin-top-bar-menu-tab {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 15px;
+ cursor: pointer;
+ height: 44px;
+ background-color: transparent;
+ position: relative;
+ padding: 0px 10px 0px 10px;
+ border: none;
+ outline: none;
+ margin-right: 15px;
+ }
+ .sdc-admin-container .sdc-admin-top-bar-menu .sdc-admin-top-bar-menu-tab.selected {
+ outline: none;
+ border-bottom: solid 4px #3196c9;
+ }
+ .sdc-admin-container .sdc-admin-top-bar-menu .sdc-admin-top-bar-menu-monitor-btn {
+ background-color: #3b7b9b;
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ float: right;
+ border: none;
+ position: relative;
+ padding: 11px 24px;
+ }
+ .sdc-admin-container .sdc-admin-body {
+ background-color: #ECEFF3;
+ padding: 40px 260px 60px 260px;
+ position: absolute;
+ top: 44px;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ }
+ .category-management .row {
+ display: table;
+ width: 70%;
+ min-width: 800px;
+ margin: auto;
+ }
+ .category-management .row [class*="col-"] {
+ float: none;
+ display: table-cell;
+ vertical-align: top;
+ background-color: white;
+ border: 1px solid #c1c1c1;
+ padding: 0;
+ }
+ .category-management .row [class*="col-"]:not(:last-child) {
+ border-right: none;
+ }
+ .category-management .row [class*="col-"] h4 {
+ float: left;
+ color: white;
+ background-color: #9ba8b0;
+ margin: 0;
+ padding: 0px 0px 0px 16px;
+ width: 100%;
+ height: 31px;
+ font-size: 15px;
+ }
+ .category-management .row [class*="col-"] h4 span {
+ display: inline-block;
+ line-height: 30px;
+ margin-right: 5px;
+ padding: 0 7px;
+ }
+ .category-management .row [class*="col-"] h4 span.selected {
+ border-bottom: 2px #067ab4 solid;
+ }
+ .category-management .row [class*="col-"] h4 + span {
+ cursor: pointer;
+ float: right;
+ display: inline-block;
+ background-color: #3b7c9c;
+ text-align: center;
+ padding: 5.5px 0px;
+ width: 60px;
+ position: absolute;
+ top: 0;
+ right: 0;
+ z-index: 1;
+ color: white;
+ }
+ .category-management .row [class*="col-"] .perfect-scrollbar {
+ width: 100%;
+ height: 500px;
+ margin-top: 40px;
+ margin-bottom: 15px;
+ }
+ .category-management .row [class*="col-"] ul {
+ clear: both;
+ margin: 5px 0 10px 0;
+ list-style-type: none;
+ padding: 0;
+ position: relative;
+ }
+ .category-management .row [class*="col-"] ul li {
+ cursor: pointer;
+ padding: 0 8px;
+ text-indent: 9px;
+ font-size: 13px;
+ line-height: 25px;
+ border: 1px solid white;
+ border-right: none;
+ border-left: none;
+ margin-right: 5px;
+ }
+ .category-management .row [class*="col-"] ul li button {
+ background-color: transparent;
+ border: none;
+ float: right;
+ margin: 5px 3px;
+ display: none;
+ }
+ .category-management .row [class*="col-"] ul li:hover {
+ background-color: #d9e6ec;
+ color: #3b7b9b;
+ border-color: #d9e6ec;
+ }
+ .category-management .row [class*="col-"] ul li:hover button {
+ display: inline-block;
+ }
+ .category-management .row [class*="col-"] ul li.selected {
+ background-color: #dbe6ec;
+ color: #3b7b9b;
+ border-color: rgba(59, 123, 155, 0.42);
+ }
+ .category-management .row [class*="col-"] ul li.selected.gray {
+ background-color: rgba(155, 168, 176, 0.09);
+ border-color: white;
+ }
+ .sdc-user-management-top-bar {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ width: 100%;
+ }
+ .sdc-user-management-top-bar label {
+ color: #445663;
+ font-family: omnes-medium, sans-serif;
+ font-size: 15px;
+ }
+ .sdc-user-management-top-bar .sdc-user-management-top-bar-form-input,
+ .sdc-user-management-top-bar .sdc-user-management-top-bar-form-select {
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ color: #666666;
+ height: 28px;
+ padding-left: 10px;
+ border-radius: 2px;
+ border: 1px solid #cfcfcf;
+ }
+ .sdc-user-management-top-bar .sdc-user-management-top-bar-search-container {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ position: relative;
+ width: 400px;
+ }
+ .sdc-user-management-top-bar .sdc-user-management-top-bar-search-container label {
+ margin-bottom: 20px;
+ }
+ .sdc-user-management-top-bar .sdc-user-management-top-bar-search-container .w-sdc-search-icon {
+ right: 11px;
+ top: 49px;
+ }
+ .sdc-user-management-top-bar .vertical-border-container {
+ min-width: 50px;
+ margin: 0px auto;
+ }
+ .sdc-user-management-top-bar .vertical-border-container .vertical-border {
+ width: 1px;
+ height: 70px;
+ background-color: #cdcdcd;
+ display: table;
+ margin: 0 auto;
+ }
+ .sdc-user-management-top-bar .sdc-user-management-top-bar-wrapper {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ }
+ .sdc-user-management-top-bar .sdc-user-management-top-bar-title {
+ color: #445663;
+ font-family: omnes-medium, sans-serif;
+ font-size: 15px;
+ font-weight: bold;
+ }
+ .sdc-user-management-top-bar .sdc-user-management-top-bar-create-user-container {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ position: relative;
+ float: right;
+ padding-top: 0px;
+ text-align: left;
+ width: 650px;
+ }
+ .sdc-user-management-top-bar .sdc-user-management-top-bar-create-user-container label {
+ margin-bottom: 20px;
+ }
+ .sdc-user-management-top-bar .sdc-user-management-top-bar-create-user-container .sdc-user-management-top-bar-form-container {
+ width: 233px;
+ margin-right: 35px;
+ }
+ .sdc-user-management-top-bar .sdc-user-management-top-bar-create-user-container .sdc-user-management-top-bar-create-btn {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+ cursor: pointer;
+ border-radius: 5px;
+ border: 0;
+ height: 38px;
+ line-height: 38px;
+ width: 195px;
+ margin: 0 6px;
+ padding: 0;
+ vertical-align: middle;
+ outline: none;
+ background-color: #28bd6e;
+ height: 30px;
+ width: 100px;
+ line-height: 0px;
+ padding-bottom: 3px;
+ margin-right: 0px;
+ }
+ .sdc-user-management-top-bar .sdc-user-management-top-bar-create-user-container .sdc-user-management-top-bar-create-btn:disabled {
+ background-color: #cdcdcd;
+ }
+ .sdc-user-management-top-bar .sdc-user-management-top-bar-create-user-container .sdc-user-management-top-bar-create-btn:hover:enabled {
+ background-color: #1f9356;
+ }
+ .sdc-user-management-table-container-flex {
+ height: 650px;
+ margin-top: 35px;
+ }
+ .sdc-user-management-table-container-flex .sdc-user-management-table {
+ width: 100%;
+ border: 1px solid #a8b3b9;
+ }
+ .sdc-user-management-table-container-flex .sdc-user-management-table .head {
+ background-color: #a8b3b9;
+ }
+ .sdc-user-management-table-container-flex .sdc-user-management-table .head .head-row {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 15px;
+ font-weight: bold;
+ border-right: 1px solid rgba(120, 136, 148, 0.26);
+ }
+ .sdc-user-management-table-container-flex .sdc-user-management-table .head .head-row .sdc-user-management-table-header-sort-arrow {
+ display: inline-block;
+ background-color: transparent;
+ border: none;
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ width: 0;
+ height: 0;
+ float: right;
+ margin: 8px 8px 0px 0px;
+ }
+ .sdc-user-management-table-container-flex .sdc-user-management-table .head .head-row .sdc-user-management-table-header-sort-arrow.up {
+ border-left: 5px solid transparent;
+ border-right: 5px solid transparent;
+ border-bottom: 5px solid;
+ }
+ .sdc-user-management-table-container-flex .sdc-user-management-table .head .head-row .sdc-user-management-table-header-sort-arrow.down {
+ border-left: 5px solid transparent;
+ border-right: 5px solid transparent;
+ border-top: 5px solid;
+ }
+ .sdc-user-management-table-container-flex .sdc-user-management-table .head .sdc-user-management-table-header:hover {
+ background-color: #D3DBE0;
+ }
+ .sdc-user-management-table-container-flex .sdc-user-management-table .body {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ }
+ .sdc-user-management-table-container-flex .sdc-user-management-table .body .scrollbar-container {
+ max-height: 421px;
+ position: relative;
+ overflow: hidden;
+ }
+ .sdc-user-management-table-container-flex .sdc-user-management-table .body .data-row:nth-of-type(odd) {
+ background-color: #ffffff;
+ }
+ .sdc-user-management-table-container-flex .sdc-user-management-table .body .data-row.sdc-user-management-table-new-user-row {
+ -webkit-animation: change 7s step-end both;
+ animation: change 7s step-end both;
+ }
+ @-webkit-keyframes change {
+ from {
+ color: #28bd6e;
+ }
+ to {
+ color: #666666;
+ }
+ }
+ @keyframes change {
+ from {
+ color: #28bd6e;
+ }
+ to {
+ color: #666666;
+ }
+ }
+ .sdc-user-management-table-container-flex .sdc-user-management-table .body .data-row.sdc-user-management-table-row-edit-mode {
+ background-color: #D3DBE0;
+ }
+ .sdc-user-management-table-container-flex .sdc-user-management-table .body .data-row div {
+ border-right: 1px solid rgba(120, 136, 148, 0.26);
+ }
+ .sdc-user-management-table-container-flex .sdc-user-management-table .body .data-row div:last-child {
+ border-right: none;
+ }
+ .sdc-user-management-table-container-flex .sdc-user-management-table .body .data-row div .sdc-user-management-table-role-select {
+ background-color: transparent;
+ border: 0;
+ width: 100%;
+ }
+ .sdc-user-management-table-container-flex .sdc-user-management-table .body .data-row div .sdc-user-management-table-role-label {
+ margin-left: 4px;
+ }
+ .sdc-user-management-table-container-flex .sdc-user-management-table .body .data-row:hover {
+ background-color: #D3DBE0;
+ }
+ .sdc-user-management-table-container-flex .sdc-user-management-table .sdc-user-management-table-btn-col {
+ line-height: 0px;
+ text-align: center;
+ }
+ .sdc-user-management-table-container-flex .sdc-user-management-table .sdc-user-management-table-btn-col .sdc-user-management-table-delete-btn {
+ background-color: transparent;
+ border: none;
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -64px -2771px;
+ width: 11px;
+ height: 13px;
+ opacity: 0.7;
+ }
+ .sdc-user-management-table-container-flex .sdc-user-management-table .sdc-user-management-table-btn-col .sdc-user-management-table-edit-btn {
+ background-color: transparent;
+ border: none;
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -51px -3339px;
+ width: 12px;
+ height: 12px;
+ opacity: 0.7;
+ }
+ .sdc-user-management-table-container-flex .sdc-user-management-table .sdc-user-management-table-btn-col .sdc-user-management-table-save-btn {
+ background-color: transparent;
+ border: none;
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -157px -4089px;
+ width: 12px;
+ height: 12px;
+ }
+ .sdc-user-management-table-container-flex .sdc-user-management-flex-container {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ }
+ .sdc-user-management-table-container-flex .sdc-user-management-flex-item {
+ width: 10px;
+ padding: 5px;
+ text-align: center;
+ }
+ .sdc-user-management-table-container-flex .sdc-user-management-flex-item:nth-child(1) {
+ -webkit-box-flex: 5;
+ -ms-flex-positive: 5;
+ flex-grow: 5;
+ }
+ .sdc-user-management-table-container-flex .sdc-user-management-flex-item:nth-child(2) {
+ -webkit-box-flex: 7;
+ -ms-flex-positive: 7;
+ flex-grow: 7;
+ }
+ .sdc-user-management-table-container-flex .sdc-user-management-flex-item:nth-child(3) {
+ -webkit-box-flex: 4;
+ -ms-flex-positive: 4;
+ flex-grow: 4;
+ }
+ .sdc-user-management-table-container-flex .sdc-user-management-flex-item:nth-child(4) {
+ -webkit-box-flex: 8;
+ -ms-flex-positive: 8;
+ flex-grow: 8;
+ }
+ .sdc-user-management-table-container-flex .sdc-user-management-flex-item:nth-child(5) {
+ -webkit-box-flex: 8;
+ -ms-flex-positive: 8;
+ flex-grow: 8;
+ }
+ .sdc-user-management-table-container-flex .sdc-user-management-flex-item:nth-child(6) {
+ -webkit-box-flex: 8;
+ -ms-flex-positive: 8;
+ flex-grow: 8;
+ }
+ .sdc-user-management-table-container-flex .sdc-user-management-flex-item:nth-child(7) {
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ }
+ .sdc-user-management-table-container-flex .sdc-user-management-flex-item:nth-child(8) {
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ }
+ .sdc-catalog-container {
+ /*Added by - Ikram */
+ }
+ .sdc-catalog-container .i-sdc-categories-list-item {
+ font-weight: normal;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-content-ul {
+ padding: 0;
+ margin: 0;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-content-ul .i-sdc-catalog-subcategories-checkbox {
+ padding: 0 0 0 20px;
+ margin: 0;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-content-ul .i-sdc-catalog-subcategories-checkbox .i-sdc-catalog-grouping-checkbox {
+ padding: 0 0 0 20px;
+ margin: 0;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-content-li:last-child .i-sdc-categories-list-item {
+ margin: 0;
+ }
+ .sdc-catalog-container .i-sdc-categories-list-item {
+ display: block;
+ vertical-align: top;
+ font-weight: bold;
+ }
+ .sdc-catalog-container .i-sdc-subcategories-list-item {
+ display: block;
+ vertical-align: top;
+ font-weight: normal;
+ margin: 0;
+ }
+ .sdc-catalog-container .i-sdc-product-input,
+ .sdc-catalog-container .i-sdc-product-select {
+ border: 1px solid #cfcfcf;
+ min-height: 30px;
+ padding: 0;
+ width: 100%;
+ margin: 1px 0;
+ background-color: #F2F2F2;
+ outline: none;
+ }
+ .sdc-catalog-container .i-sdc-product-input:disabled,
+ .sdc-catalog-container .i-sdc-product-select:disabled {
+ opacity: 0.4 !important;
+ cursor: auto;
+ background-color: transparent;
+ pointer-events: none;
+ }
+ .sdc-catalog-container .i-sdc-product-input optgroup,
+ .sdc-catalog-container .i-sdc-product-select optgroup {
+ color: #23aa63;
+ }
+ .sdc-catalog-container .i-sdc-product-input optgroup option,
+ .sdc-catalog-container .i-sdc-product-select optgroup option {
+ color: #666666;
+ }
+ .sdc-catalog-container .i-sdc-categories-list-item-icon {
+ display: inline-block;
+ float: right;
+ position: relative;
+ right: -8px;
+ top: 6px;
+ }
+ .sdc-catalog-container .i-sdc-categories-list-item {
+ margin-top: 7px;
+ }
+ .sdc-catalog-container .i-sdc-categories-list-item.NOT_CERTIFIED_CHECKOUT .i-sdc-categories-list-item-icon,
+ .sdc-catalog-container .i-sdc-categories-list-item.NOT_CERTIFIED_CHECKIN .i-sdc-categories-list-item-icon {
+ background: url('/assets/styles/images/sprites/sprite-global-old.png') no-repeat -53px -2889px;
+ width: 14px;
+ height: 14px;
+ }
+ .sdc-catalog-container .i-sdc-categories-list-item.CERTIFIED .i-sdc-categories-list-item-icon {
+ background: url('/assets/styles/images/sprites/sprite-global-old.png') no-repeat -53px -3034px;
+ width: 14px;
+ height: 16px;
+ }
+ .sdc-catalog-container .i-sdc-categories-list-item.READY_FOR_CERTIFICATION .i-sdc-categories-list-item-icon {
+ background: url('/assets/styles/images/sprites/sprite-global-old.png') no-repeat -53px -2985px;
+ width: 14px;
+ height: 16px;
+ }
+ .sdc-catalog-container .i-sdc-categories-list-item.CERTIFICATION_IN_PROGRESS .i-sdc-categories-list-item-icon {
+ background: url('/assets/styles/images/sprites/sprite-global-old.png') no-repeat -53px -2934px;
+ width: 14px;
+ height: 16px;
+ }
+ .sdc-catalog-container .i-sdc-categories-list-item.DISTRIBUTED .i-sdc-categories-list-item-icon,
+ .sdc-catalog-container .i-sdc-categories-list-item.TBD .i-sdc-categories-list-item-icon {
+ background: url('/assets/styles/images/sprites/sprite-global-old.png') no-repeat -43px -3087px;
+ width: 24px;
+ height: 14px;
+ }
+ .sdc-catalog-container .i-sdc-categories-list-input {
+ margin: 8px;
+ }
+ .sdc-catalog-container .i-sdc-subcategories-list-input {
+ margin: 8px;
+ }
+ .sdc-catalog-container .i-sdc-subcategories-list-input-container {
+ margin: 0px 0px 0px 20px;
+ padding: 2px;
+ }
+ .sdc-catalog-container .w-sdc-header-catalog-search-container {
+ display: table;
+ padding: 21px 0;
+ position: relative;
+ }
+ .sdc-catalog-container .w-sdc-header-catalog-search-container .w-sdc-designer-leftbar-search-input {
+ color: #000;
+ width: 300px;
+ }
+ .sdc-catalog-container .w-sdc-catalog-main {
+ padding: 10px 12px;
+ }
+ .sdc-catalog-container .w-sdc-dashboard-catalog-header {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ display: inline-block;
+ font-style: italic;
+ font-weight: bold;
+ padding-left: 10px;
+ }
+ .sdc-catalog-container .w-sdc-dashboard-catalog-header-order {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ font-weight: 800;
+ }
+ .sdc-catalog-container .w-sdc-dashboard-catalog-sort {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ font-weight: bold;
+ white-space: pre;
+ }
+ .sdc-catalog-container .w-sdc-dashboard-catalog-sort:hover {
+ cursor: pointer;
+ text-decoration: none;
+ color: #3b7b9b;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ }
+ .sdc-catalog-container .w-sdc-dashboard-catalog-sort.blue {
+ color: #3b7b9b;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ }
+ .sdc-catalog-container .w-sdc-catalog-sort-arrow {
+ display: inline-block;
+ }
+ .sdc-catalog-container .w-sdc-catalog-sort-arrow.up {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ width: 0;
+ height: 0;
+ border-left: 5px solid transparent;
+ border-right: 5px solid transparent;
+ border-bottom: 5px solid ;
+ }
+ .sdc-catalog-container .w-sdc-catalog-sort-arrow.down {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ width: 0;
+ height: 0;
+ border-left: 5px solid transparent;
+ border-right: 5px solid transparent;
+ border-top: 5px solid;
+ }
+ .sdc-catalog-container .w-sdc-dashboard-catalog-header-right {
+ float: right;
+ display: inline-block;
+ padding-right: 34px;
+ }
+ .sdc-catalog-container .w-sdc-header-catalog-search-input {
+ width: 420px;
+ display: table-cell;
+ padding: 0 25px 1px 10px;
+ border: 1px solid #bcbcbc;
+ border-radius: 10px;
+ height: 30px;
+ margin: 10px 30px;
+ outline: none;
+ }
+ .sdc-catalog-container .sdc-catalog-type-filter-container {
+ margin-top: -1px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title {
+ text-transform: uppercase;
+ color: #000000;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ line-height: 30px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon {
+ cursor: pointer;
+ background-image: url(/sdc1/scripts/images/tlv-sprite.068743809b588c3fce24.png);
+ display: inline-block;
+ vertical-align: middle;
+ background-position: -230px -59px;
+ width: 14px;
+ height: 10px;
+ transition: .3s all;
+ margin-top: -4px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon.logo-blue {
+ background-position: -10px -20px;
+ width: 28px;
+ height: 28px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon.user {
+ background-position: -50px -20px;
+ width: 15px;
+ height: 20px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .facebook {
+ background-position: -10px -260px;
+ width: 36px;
+ height: 36px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .facebook-hover {
+ background-position: -10px -300px;
+ width: 36px;
+ height: 36px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .twitter {
+ background-position: -50px -260px;
+ width: 36px;
+ height: 36px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .twitter-hover {
+ background-position: -50px -300px;
+ width: 36px;
+ height: 36px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .linkedin {
+ background-position: -89px -260px;
+ width: 36px;
+ height: 36px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .linkedin-hover {
+ background-position: -89px -300px;
+ width: 36px;
+ height: 36px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .youtube {
+ background-position: -130px -260px;
+ width: 36px;
+ height: 36px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .youtube-hover {
+ background-position: -130px -300px;
+ width: 36px;
+ height: 36px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .footer-open {
+ background-position: -250px -59px;
+ width: 14px;
+ height: 10px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .footer-open-hover {
+ background-position: -250px -79px;
+ width: 14px;
+ height: 10px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .footer-close {
+ background-position: -230px -59px;
+ width: 14px;
+ height: 10px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .footer-close-hover {
+ background-position: -230px -79px;
+ width: 14px;
+ height: 10px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .checkbox-disadbled {
+ background-position: -10px -60px;
+ width: 14px;
+ height: 14px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .checkbox {
+ background-position: -10px -60px;
+ width: 14px;
+ height: 14px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .checkbox-hover {
+ background-position: -10px -100px;
+ width: 14px;
+ height: 14px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .checkbox-checked {
+ background-position: -10px -120px;
+ width: 14px;
+ height: 14px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .radio-disabled {
+ background-position: -50px -60px;
+ width: 14px;
+ height: 14px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .radio {
+ background-position: -50px -80px;
+ width: 14px;
+ height: 14px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .radio-checked {
+ background-position: -50px -120px;
+ width: 14px;
+ height: 14px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-text {
+ margin-left: 20px;
+ }
+ .sdc-catalog-container .seperator-left,
+ .sdc-catalog-container .seperator-right {
+ border-right: solid 1px #a8b3b9;
+ display: table-cell;
+ width: 2px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title.expanded .i-sdc-designer-leftbar-section-title-icon {
+ -webkit-transform: rotate(180deg);
+ transform: rotate(180deg);
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title + .i-sdc-designer-leftbar-section-content {
+ max-height: 0px;
+ margin: 0 auto;
+ transition: all .3s;
+ overflow: hidden;
+ padding: 0 10px 0 18px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title.expanded + .i-sdc-designer-leftbar-section-content {
+ max-height: 9999px;
+ margin: 0 auto 1px;
+ transition: all .3s;
+ padding: 10px 18px 10px 18px;
+ overflow: hidden;
+ }
+ .w-sdc-search-icon {
+ position: absolute;
+ right: 40px;
+ top: 40px;
+ }
+ .w-sdc-search-icon.leftbar {
+ top: 19px;
+ right: 18px;
+ }
+ .w-sdc-search-icon.magnification {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -49px -3138px;
+ width: 12px;
+ height: 12px;
+ cursor: pointer;
+ }
+ .w-sdc-search-icon.cancel {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -104px -4040px;
+ width: 10px;
+ height: 11px;
+ cursor: pointer;
+ }
+ .sdc-dashboard-container .tlv-loader {
+ top: -110px;
+ left: 80px;
+ }
+ .sdc-dashboard-container .sdc-hide-popover .popover {
+ display: none !important;
+ }
+ .w-sdc-left-sidebar-nav {
+ margin-top: 46px;
+ }
+ .w-sdc-main-right-container-element {
+ float: left;
+ height: 217px;
+ width: 217px;
+ margin: 10px;
+ position: relative;
+ }
+ .w-sdc-main-right-container-element-details-container {
+ position: absolute;
+ top: 165px;
+ left: 50px;
+ }
+ .w-sdc-main-right-container-element-name {
+ font-weight: bold;
+ }
+ .w-sdc-dashboard-card-new {
+ border: 2px dashed #a8b3b9;
+ border-radius: 2px;
+ cursor: pointer;
+ display: inline-block;
+ height: 198px;
+ margin: 11px;
+ position: relative;
+ vertical-align: middle;
+ width: 202px;
+ }
+ .w-sdc-dashboard-card-new-content {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-pack: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ height: 100%;
+ }
+ .w-sdc-dashboard-card-new-content-plus {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -50px -77px;
+ width: 23px;
+ height: 23px;
+ position: relative;
+ margin-bottom: 20px;
+ }
+ .w-sdc-dashboard-card-new-content-plus:after {
+ color: #959595;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ content: 'ADD';
+ position: absolute;
+ top: 25px;
+ left: -3px;
+ vertical-align: -50%;
+ }
+ .w-sdc-dashboard-card-import-content-plus {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -100px -81px;
+ width: 23px;
+ height: 23px;
+ position: relative;
+ margin-bottom: 20px;
+ }
+ .w-sdc-dashboard-card-import-content-plus:after {
+ color: #959595;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ content: 'IMPORT';
+ position: absolute;
+ top: 25px;
+ left: -16px;
+ vertical-align: -50%;
+ }
+ .sdc-dashboard-create-element-container,
+ .sdc-dashboard-import-element-container {
+ width: 140px;
+ }
+ .sdc-dashboard-create-element-container .tlv-btn.import-dcae,
+ .sdc-dashboard-import-element-container .tlv-btn.import-dcae {
+ padding: 0;
+ }
+ .sdc-dashboard-create-element-container .tlv-btn,
+ .sdc-dashboard-import-element-container .tlv-btn {
+ position: relative;
+ width: 100%;
+ margin-bottom: 10px;
+ }
+ .sdc-dashboard-create-element-container .tlv-btn:last-child,
+ .sdc-dashboard-import-element-container .tlv-btn:last-child {
+ margin-bottom: 0;
+ }
+ .sdc-dashboard-create-element-container input[type="file"],
+ .sdc-dashboard-import-element-container input[type="file"] {
+ cursor: inherit;
+ filter: alpha(opacity=0);
+ opacity: 0;
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 138px;
+ height: 30px;
+ }
+ .w-sdc-dashboard-card {
+ width: 204px;
+ height: 200px;
+ background-color: #ffffff;
+ border-radius: 2px;
+ box-shadow: 0px 2px 2px 0px rgba(24, 24, 25, 0.05);
+ display: inline-block;
+ margin: 10px;
+ position: relative;
+ vertical-align: middle;
+ border: solid 1px #ffffff;
+ }
+ .w-sdc-dashboard-card:hover {
+ border: solid 1px #d2d2d2;
+ box-shadow: 3px 3px 2px 0px rgba(24, 24, 25, 0.05);
+ }
+ .w-sdc-dashboard-card:active {
+ border: solid 1px #71c5eb;
+ box-shadow: 3px 3px 2px 0px rgba(24, 24, 25, 0.05);
+ }
+ .w-sdc-dashboard-card-body {
+ cursor: pointer;
+ border-bottom: 1px solid #D3DBE0;
+ height: 155px;
+ position: relative;
+ text-align: center;
+ }
+ .w-sdc-dashboard-card-description {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ cursor: pointer;
+ background-color: rgba(57, 73, 84, 0.9);
+ border-radius: 4px 4px 0 0;
+ bottom: 0;
+ left: 0;
+ opacity: 0;
+ padding: 10px;
+ position: absolute;
+ right: 0;
+ text-align: left;
+ top: 0;
+ word-wrap: break-word;
+ z-index: 4;
+ min-height: 100px;
+ overflow: hidden;
+ }
+ .w-sdc-dashboard-card-schema {
+ margin-top: 30px;
+ }
+ .w-sdc-dashboard-card-edit {
+ cursor: pointer;
+ position: absolute;
+ right: 13px;
+ top: 15px;
+ z-index: 2;
+ }
+ .w-sdc-dashboard-card-footer {
+ padding: 3px 12px 10px 12px;
+ position: relative;
+ }
+ .w-sdc-dashboard-card-avatar {
+ text-transform: uppercase;
+ border-radius: 50%;
+ display: inline-block;
+ position: absolute;
+ left: -6px;
+ text-align: center;
+ top: -6px;
+ }
+ .w-sdc-dashboard-card-avatar span {
+ background-color: #ffffff;
+ border-radius: 15px;
+ color: #ffffff;
+ content: '';
+ height: 30px;
+ text-align: center;
+ display: block;
+ border: solid 2px #ECEFF3;
+ padding: 3px 10px 2px 10px;
+ }
+ .w-sdc-dashboard-card-avatar span.VF {
+ color: #9063cd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .w-sdc-dashboard-card-avatar span.VF::before {
+ content: 'VF';
+ }
+ .w-sdc-dashboard-card-avatar span.VFC {
+ color: #9063cd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .w-sdc-dashboard-card-avatar span.VFC::before {
+ content: 'VFC';
+ }
+ .w-sdc-dashboard-card-avatar span.CP {
+ color: #9063cd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .w-sdc-dashboard-card-avatar span.CP::before {
+ content: 'CP';
+ }
+ .w-sdc-dashboard-card-avatar span.VL {
+ color: #9063cd;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .w-sdc-dashboard-card-avatar span.VL::before {
+ content: 'VL';
+ }
+ .w-sdc-dashboard-card-avatar span.SERVICE {
+ color: #71c5eb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .w-sdc-dashboard-card-avatar span.SERVICE::before {
+ content: 'S';
+ }
+ .w-sdc-dashboard-card-avatar span.PRODUCT {
+ color: #056bae;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .w-sdc-dashboard-card-avatar span.PRODUCT::before {
+ content: 'P';
+ }
+ .w-sdc-dashboard-card-avatar span.green {
+ color: #1d9a95;
+ font-family: omnes-medium, sans-serif;
+ font-size: 17px;
+ }
+ .w-sdc-dashboard-card-avatar span.green::before {
+ content: 'R';
+ }
+ .w-sdc-dashboard-card-avatar span.red {
+ color: #e85858;
+ font-family: omnes-medium, sans-serif;
+ font-size: 17px;
+ }
+ .w-sdc-dashboard-card-avatar span.red::before {
+ content: 'S';
+ }
+ .w-sdc-dashboard-card-avatar span.dblack {
+ color: #000000;
+ font-family: omnes-medium, sans-serif;
+ font-size: 17px;
+ }
+ .w-sdc-dashboard-card-avatar span.dblack::before {
+ content: 'P';
+ }
+ .w-sdc-dashboard-card-info {
+ display: inline-block;
+ vertical-align: middle;
+ max-width: 165px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ }
+ .w-sdc-dashboard-card-info-name-container {
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ margin: 0 0 2px 10px;
+ }
+ .w-sdc-dashboard-card-info-name {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ display: inline-block;
+ vertical-align: middle;
+ max-width: 165px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ }
+ .w-sdc-dashboard-card-info-lifecycleState {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+ display: inline-block;
+ vertical-align: middle;
+ max-width: 165px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ }
+ .w-sdc-dashboard-card-info-user {
+ color: #959595;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ line-height: 18px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ width: 100%;
+ }
+ .w-sdc-dashboard-card-menu-button {
+ display: inline-block;
+ padding: 12px 0 0 10px;
+ position: absolute;
+ right: 12px;
+ top: 8px;
+ border-left: solid 1px #e1e7ec;
+ height: 42px;
+ }
+ .w-sdc-dashboard-card-menu-button:hover .w-sdc-dashboard-card-menu {
+ display: block;
+ }
+ .w-sdc-dashboard-card-menu {
+ background-color: #ffffff;
+ border-radius: 0 0 4px 4px;
+ border-top: 3px solid #3b7b9b;
+ box-shadow: 0 2px 2px 0px rgba(0, 0, 0, 0.2);
+ color: #000000;
+ display: none;
+ min-height: 30px;
+ padding: 9px 0;
+ position: absolute;
+ right: -27px;
+ width: 208px;
+ z-index: 9;
+ max-height: 164px;
+ }
+ .w-sdc-dashboard-card-menu::before {
+ background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAYAAAB4ka1VAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkE1OTIzNDI1MENFQjExRTU4ODRERTI1MDM2REZCOUYzIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkE1OTIzNDI2MENFQjExRTU4ODRERTI1MDM2REZCOUYzIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTU5MjM0MjMwQ0VCMTFFNTg4NERFMjUwMzZERkI5RjMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTU5MjM0MjQwQ0VCMTFFNTg4NERFMjUwMzZERkI5RjMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4gBXTlAAAAOElEQVR42mK0rp7NgASMgZgFiE/CBJjQJPcA8U4gNkdXAJMUAGJ+ZEVMaJIwAFfEhEUSRRFAgAEAVtgJyiLAPWAAAAAASUVORK5CYII=');
+ content: '';
+ display: block;
+ height: 21px;
+ position: absolute;
+ right: 24px;
+ top: -24px;
+ width: 184px;
+ background-repeat: no-repeat;
+ background-position: 175px 16px;
+ }
+ .i-sdc-dashboard-card-menu-item {
+ cursor: pointer;
+ line-height: 24px;
+ padding: 0 10px;
+ }
+ .i-sdc-dashboard-card-menu-item:hover {
+ color: #3b7b9b;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .w-sdc-dashboard-card-info-lifecycleState-icon {
+ position: absolute;
+ bottom: 18px;
+ right: 10px;
+ }
+ .w-sdc-dashboard-card-schema-image {
+ position: absolute;
+ top: 41%;
+ height: 45px;
+ width: 53px;
+ background-repeat: no-repeat;
+ margin: auto;
+ left: 0;
+ right: 0;
+ top: -10px;
+ bottom: 0;
+ }
+ /* dashboard card main icons */
+ .w-sdc-dashboard-card-schema-image.service {
+ background-position: -60px -2654px;
+ width: 14px;
+ height: 17px;
+ }
+ .w-sdc-dashboard-card-schema-image.resource {
+ background-position: -54px -2585px;
+ width: 16px;
+ height: 16px;
+ }
+ /* dashboard card statuses icons */
+ .w-sdc-dashboard-card-edit.NOT_CERTIFIED_CHECKIN {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -47px -2839px;
+ width: 20px;
+ height: 19px;
+ }
+ .w-sdc-dashboard-card-edit.NOT_CERTIFIED_CHECKOUT {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -53px -2889px;
+ width: 14px;
+ height: 14px;
+ }
+ .w-sdc-dashboard-card-edit.CERTIFIED {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -53px -3034px;
+ width: 14px;
+ height: 16px;
+ }
+ .w-sdc-dashboard-card-edit.READY_FOR_CERTIFICATION {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -53px -2985px;
+ width: 14px;
+ height: 16px;
+ }
+ .w-sdc-dashboard-card-edit.CERTIFICATION_IN_PROGRESS {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -53px -2934px;
+ width: 14px;
+ height: 16px;
+ }
+ .w-sdc-dashboard-card-edit.DISTRIBUTED {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -43px -3087px;
+ width: 24px;
+ height: 14px;
+ }
+ .w-sdc-dashboard-card-avatar.green + .w-sdc-dashboard-card-edit.NOT_CERTIFIED_CHECKIN {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -70px -2839px;
+ }
+ .w-sdc-dashboard-card-avatar.green + .w-sdc-dashboard-card-edit.NOT_CERTIFIED_CHECKOUT {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -76px -2889px;
+ }
+ .w-sdc-dashboard-card-avatar.green + .w-sdc-dashboard-card-edit.CERTIFIED {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -76px -3034px;
+ }
+ .w-sdc-dashboard-card-avatar.green + .w-sdc-dashboard-card-edit.READY_FOR_CERTIFICATION {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -76px -2985px;
+ }
+ .w-sdc-dashboard-card-avatar.green + .w-sdc-dashboard-card-edit.CERTIFICATION_IN_PROGRESS {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -76px -2934px;
+ }
+ .w-sdc-dashboard-card-avatar.green + .w-sdc-dashboard-card-edit.DISTRIBUTED {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -76px -3087px;
+ }
+ .w-sdc-dashboard-card-avatar.red + .w-sdc-dashboard-card-edit.NOT_CERTIFIED_CHECKIN {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -93px -2839px;
+ }
+ .w-sdc-dashboard-card-avatar.red + .w-sdc-dashboard-card-edit.NOT_CERTIFIED_CHECKOUT {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -99px -2889px;
+ }
+ .w-sdc-dashboard-card-avatar.red + .w-sdc-dashboard-card-edit.CERTIFIED {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -99px -3034px;
+ }
+ .w-sdc-dashboard-card-avatar.red + .w-sdc-dashboard-card-edit.READY_FOR_CERTIFICATION {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -99px -2985px;
+ }
+ .w-sdc-dashboard-card-avatar.red + .w-sdc-dashboard-card-edit.CERTIFICATION_IN_PROGRESS {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -99px -2934px;
+ }
+ .w-sdc-dashboard-card-avatar.red + .w-sdc-dashboard-card-edit.DISTRIBUTED {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -113px -3087px;
+ }
+ .sdc-catalog-container {
+ /*Added by - Ikram */
+ }
+ .sdc-catalog-container .i-sdc-categories-list-item {
+ font-weight: normal;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-content-ul {
+ padding: 0;
+ margin: 0;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-content-ul .i-sdc-catalog-subcategories-checkbox {
+ padding: 0 0 0 20px;
+ margin: 0;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-content-ul .i-sdc-catalog-subcategories-checkbox .i-sdc-catalog-grouping-checkbox {
+ padding: 0 0 0 20px;
+ margin: 0;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-content-li:last-child .i-sdc-categories-list-item {
+ margin: 0;
+ }
+ .sdc-catalog-container .i-sdc-categories-list-item {
+ display: block;
+ vertical-align: top;
+ font-weight: bold;
+ }
+ .sdc-catalog-container .i-sdc-subcategories-list-item {
+ display: block;
+ vertical-align: top;
+ font-weight: normal;
+ margin: 0;
+ }
+ .sdc-catalog-container .i-sdc-product-input,
+ .sdc-catalog-container .i-sdc-product-select {
+ border: 1px solid #cfcfcf;
+ min-height: 30px;
+ padding: 0;
+ width: 100%;
+ margin: 1px 0;
+ background-color: #F2F2F2;
+ outline: none;
+ }
+ .sdc-catalog-container .i-sdc-product-input:disabled,
+ .sdc-catalog-container .i-sdc-product-select:disabled {
+ opacity: 0.4 !important;
+ cursor: auto;
+ background-color: transparent;
+ pointer-events: none;
+ }
+ .sdc-catalog-container .i-sdc-product-input optgroup,
+ .sdc-catalog-container .i-sdc-product-select optgroup {
+ color: #23aa63;
+ }
+ .sdc-catalog-container .i-sdc-product-input optgroup option,
+ .sdc-catalog-container .i-sdc-product-select optgroup option {
+ color: #666666;
+ }
+ .sdc-catalog-container .i-sdc-categories-list-item-icon {
+ display: inline-block;
+ float: right;
+ position: relative;
+ right: -8px;
+ top: 6px;
+ }
+ .sdc-catalog-container .i-sdc-categories-list-item {
+ margin-top: 7px;
+ }
+ .sdc-catalog-container .i-sdc-categories-list-item.NOT_CERTIFIED_CHECKOUT .i-sdc-categories-list-item-icon,
+ .sdc-catalog-container .i-sdc-categories-list-item.NOT_CERTIFIED_CHECKIN .i-sdc-categories-list-item-icon {
+ background: url('/assets/styles/images/sprites/sprite-global-old.png') no-repeat -53px -2889px;
+ width: 14px;
+ height: 14px;
+ }
+ .sdc-catalog-container .i-sdc-categories-list-item.CERTIFIED .i-sdc-categories-list-item-icon {
+ background: url('/assets/styles/images/sprites/sprite-global-old.png') no-repeat -53px -3034px;
+ width: 14px;
+ height: 16px;
+ }
+ .sdc-catalog-container .i-sdc-categories-list-item.READY_FOR_CERTIFICATION .i-sdc-categories-list-item-icon {
+ background: url('/assets/styles/images/sprites/sprite-global-old.png') no-repeat -53px -2985px;
+ width: 14px;
+ height: 16px;
+ }
+ .sdc-catalog-container .i-sdc-categories-list-item.CERTIFICATION_IN_PROGRESS .i-sdc-categories-list-item-icon {
+ background: url('/assets/styles/images/sprites/sprite-global-old.png') no-repeat -53px -2934px;
+ width: 14px;
+ height: 16px;
+ }
+ .sdc-catalog-container .i-sdc-categories-list-item.DISTRIBUTED .i-sdc-categories-list-item-icon,
+ .sdc-catalog-container .i-sdc-categories-list-item.TBD .i-sdc-categories-list-item-icon {
+ background: url('/assets/styles/images/sprites/sprite-global-old.png') no-repeat -43px -3087px;
+ width: 24px;
+ height: 14px;
+ }
+ .sdc-catalog-container .i-sdc-categories-list-input {
+ margin: 8px;
+ }
+ .sdc-catalog-container .i-sdc-subcategories-list-input {
+ margin: 8px;
+ }
+ .sdc-catalog-container .i-sdc-subcategories-list-input-container {
+ margin: 0px 0px 0px 20px;
+ padding: 2px;
+ }
+ .sdc-catalog-container .w-sdc-header-catalog-search-container {
+ display: table;
+ padding: 21px 0;
+ position: relative;
+ }
+ .sdc-catalog-container .w-sdc-header-catalog-search-container .w-sdc-designer-leftbar-search-input {
+ color: #000;
+ width: 300px;
+ }
+ .sdc-catalog-container .w-sdc-catalog-main {
+ padding: 10px 12px;
+ }
+ .sdc-catalog-container .w-sdc-dashboard-catalog-header {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ display: inline-block;
+ font-style: italic;
+ font-weight: bold;
+ padding-left: 10px;
+ }
+ .sdc-catalog-container .w-sdc-dashboard-catalog-header-order {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ font-weight: 800;
+ }
+ .sdc-catalog-container .w-sdc-dashboard-catalog-sort {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ font-weight: bold;
+ white-space: pre;
+ }
+ .sdc-catalog-container .w-sdc-dashboard-catalog-sort:hover {
+ cursor: pointer;
+ text-decoration: none;
+ color: #3b7b9b;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ }
+ .sdc-catalog-container .w-sdc-dashboard-catalog-sort.blue {
+ color: #3b7b9b;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ }
+ .sdc-catalog-container .w-sdc-catalog-sort-arrow {
+ display: inline-block;
+ }
+ .sdc-catalog-container .w-sdc-catalog-sort-arrow.up {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ width: 0;
+ height: 0;
+ border-left: 5px solid transparent;
+ border-right: 5px solid transparent;
+ border-bottom: 5px solid ;
+ }
+ .sdc-catalog-container .w-sdc-catalog-sort-arrow.down {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ width: 0;
+ height: 0;
+ border-left: 5px solid transparent;
+ border-right: 5px solid transparent;
+ border-top: 5px solid;
+ }
+ .sdc-catalog-container .w-sdc-dashboard-catalog-header-right {
+ float: right;
+ display: inline-block;
+ padding-right: 34px;
+ }
+ .sdc-catalog-container .w-sdc-header-catalog-search-input {
+ width: 420px;
+ display: table-cell;
+ padding: 0 25px 1px 10px;
+ border: 1px solid #bcbcbc;
+ border-radius: 10px;
+ height: 30px;
+ margin: 10px 30px;
+ outline: none;
+ }
+ .sdc-catalog-container .sdc-catalog-type-filter-container {
+ margin-top: -1px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title {
+ text-transform: uppercase;
+ color: #000000;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ line-height: 30px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon {
+ cursor: pointer;
+ background-image: url(/sdc1/scripts/images/tlv-sprite.068743809b588c3fce24.png);
+ display: inline-block;
+ vertical-align: middle;
+ background-position: -230px -59px;
+ width: 14px;
+ height: 10px;
+ transition: .3s all;
+ margin-top: -4px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon.logo-blue {
+ background-position: -10px -20px;
+ width: 28px;
+ height: 28px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon.user {
+ background-position: -50px -20px;
+ width: 15px;
+ height: 20px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .facebook {
+ background-position: -10px -260px;
+ width: 36px;
+ height: 36px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .facebook-hover {
+ background-position: -10px -300px;
+ width: 36px;
+ height: 36px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .twitter {
+ background-position: -50px -260px;
+ width: 36px;
+ height: 36px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .twitter-hover {
+ background-position: -50px -300px;
+ width: 36px;
+ height: 36px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .linkedin {
+ background-position: -89px -260px;
+ width: 36px;
+ height: 36px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .linkedin-hover {
+ background-position: -89px -300px;
+ width: 36px;
+ height: 36px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .youtube {
+ background-position: -130px -260px;
+ width: 36px;
+ height: 36px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .youtube-hover {
+ background-position: -130px -300px;
+ width: 36px;
+ height: 36px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .footer-open {
+ background-position: -250px -59px;
+ width: 14px;
+ height: 10px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .footer-open-hover {
+ background-position: -250px -79px;
+ width: 14px;
+ height: 10px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .footer-close {
+ background-position: -230px -59px;
+ width: 14px;
+ height: 10px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .footer-close-hover {
+ background-position: -230px -79px;
+ width: 14px;
+ height: 10px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .checkbox-disadbled {
+ background-position: -10px -60px;
+ width: 14px;
+ height: 14px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .checkbox {
+ background-position: -10px -60px;
+ width: 14px;
+ height: 14px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .checkbox-hover {
+ background-position: -10px -100px;
+ width: 14px;
+ height: 14px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .checkbox-checked {
+ background-position: -10px -120px;
+ width: 14px;
+ height: 14px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .radio-disabled {
+ background-position: -50px -60px;
+ width: 14px;
+ height: 14px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .radio {
+ background-position: -50px -80px;
+ width: 14px;
+ height: 14px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .radio-checked {
+ background-position: -50px -120px;
+ width: 14px;
+ height: 14px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-text {
+ margin-left: 20px;
+ }
+ .sdc-catalog-container .seperator-left,
+ .sdc-catalog-container .seperator-right {
+ border-right: solid 1px #a8b3b9;
+ display: table-cell;
+ width: 2px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title.expanded .i-sdc-designer-leftbar-section-title-icon {
+ -webkit-transform: rotate(180deg);
+ transform: rotate(180deg);
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title + .i-sdc-designer-leftbar-section-content {
+ max-height: 0px;
+ margin: 0 auto;
+ transition: all .3s;
+ overflow: hidden;
+ padding: 0 10px 0 18px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title.expanded + .i-sdc-designer-leftbar-section-content {
+ max-height: 9999px;
+ margin: 0 auto 1px;
+ transition: all .3s;
+ padding: 10px 18px 10px 18px;
+ overflow: hidden;
+ }
+ .w-sdc-search-icon {
+ position: absolute;
+ right: 40px;
+ top: 40px;
+ }
+ .w-sdc-search-icon.leftbar {
+ top: 19px;
+ right: 18px;
+ }
+ .w-sdc-search-icon.magnification {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -49px -3138px;
+ width: 12px;
+ height: 12px;
+ cursor: pointer;
+ }
+ .w-sdc-search-icon.cancel {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -104px -4040px;
+ width: 10px;
+ height: 11px;
+ cursor: pointer;
+ }
+ .sdc-edit-artifact-form-container .w-sdc-form-note {
+ color: #da1f3d;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ display: block;
+ position: relative;
+ top: 13px;
+ }
+ .sdc-edit-artifact-form-container .i-sdc-form-textarea {
+ min-height: 95px;
+ }
+ .sdc-edit-artifact-form-container .i-sdc-form-url {
+ padding-bottom: 0px;
+ }
+ .sdc-edit-artifact-form-container.mandatory-artifact .w-sdc-form-column {
+ width: 100%;
+ padding: 0;
+ min-height: initial;
+ }
+ .sdc-edit-artifact-form-container .w-sdc-form .i-sdc-form-item.upload input[type="file"] {
+ display: none;
+ }
+ .sdc-edit-artifact-form-container .artifact-info {
+ text-align: left;
+ color: #8c8c8c;
+ font-size: 13px;
+ margin-top: -10px;
+ margin-bottom: 5px;
+ width: 100%;
+ min-height: initial;
+ }
+ .sdc-edit-artifact-form-container .artifact-info span {
+ color: #666666;
+ padding-left: 4px;
+ }
+ .sdc-env-form-container .w-sdc-modal-body {
+ padding: 20px 10px 2px 10px;
+ }
+ .sdc-env-form-container .w-sdc-modal-body-content {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ display: block;
+ }
+ .sdc-env-form-container .env-file-generation-label {
+ color: #8c8c8c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ font-weight: bold;
+ margin-bottom: 20px;
+ }
+ .w-sdc-env-form-container {
+ height: 650px;
+ }
+ .w-sdc-env-form-container .w-sdc-env-search {
+ padding: 10px 20px 20px 0;
+ white-space: nowrap;
+ position: relative;
+ width: 60%;
+ height: 64px;
+ }
+ .w-sdc-env-form-container .w-sdc-env-search .env-search-icon {
+ top: 9px;
+ right: 11px;
+ }
+ .w-sdc-env-form-container .w-sdc-env-search .magnification-white {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -434px -128px;
+ width: 14px;
+ height: 14px;
+ cursor: pointer;
+ }
+ .w-sdc-env-form-container .w-sdc-env-search .search-icon-container {
+ width: 35px;
+ height: 30px;
+ background-color: #009fdb;
+ white-space: nowrap;
+ float: right;
+ position: relative;
+ bottom: 31px;
+ right: 1px;
+ border-radius: 0px 4px 4px 0px;
+ cursor: pointer;
+ }
+ .w-sdc-env-form-container .w-sdc-env-search .w-sdc-env-search-input {
+ border: 1px solid #cdcdcd;
+ border-radius: 4px;
+ height: 32px;
+ margin: 0;
+ padding: 0px 28px 3px 10px;
+ vertical-align: 4px;
+ width: 100%;
+ outline: none;
+ font-style: italic;
+ }
+ .w-sdc-env-form-container .table-container-flex {
+ height: 570px;
+ }
+ .w-sdc-env-form-container .table-container-flex .table {
+ height: 100%;
+ }
+ .w-sdc-env-form-container .table-container-flex .table .flex-item:nth-child(1) {
+ -webkit-box-flex: 20;
+ -ms-flex-positive: 20;
+ flex-grow: 20;
+ }
+ .w-sdc-env-form-container .table-container-flex .table .flex-item:nth-child(1) .show-desc {
+ float: right;
+ top: 10px;
+ position: relative;
+ }
+ .w-sdc-env-form-container .table-container-flex .table .flex-item:nth-child(2) {
+ -webkit-box-flex: 10;
+ -ms-flex-positive: 10;
+ flex-grow: 10;
+ }
+ .w-sdc-env-form-container .table-container-flex .table .flex-item:nth-child(3) {
+ -webkit-box-flex: 10;
+ -ms-flex-positive: 10;
+ flex-grow: 10;
+ }
+ .w-sdc-env-form-container .table-container-flex .table .scrollbar-container {
+ max-height: 527px;
+ }
+ .w-sdc-env-form-container .table-container-flex .table .left-column-container .required-symbol {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ color: #f33;
+ display: none;
+ position: relative;
+ left: -4px;
+ top: 3px;
+ }
+ .w-sdc-env-form-container .table-container-flex .table .left-column-container .i-sdc-form-item {
+ border-right: none;
+ margin: 0px;
+ }
+ .w-sdc-env-form-container .table-container-flex .table .left-column-container .i-sdc-form-item .input-parameter {
+ border: none;
+ height: 30px;
+ width: 254px;
+ float: right;
+ }
+ .w-sdc-env-form-container .table-container-flex .table .left-column-container .i-sdc-form-item .input-parameter input {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+ width: 100%;
+ display: -webkit-inline-box;
+ display: -ms-inline-flexbox;
+ display: inline-flex;
+ padding-right: 33px;
+ }
+ .w-sdc-env-form-container .table-container-flex .table .left-column-container .i-sdc-form-item .input-parameter .action-button {
+ border-left: solid 1px #d2d2d2;
+ position: relative;
+ height: 20px;
+ width: 25px;
+ top: -25px;
+ left: 228px;
+ padding-left: 6px;
+ background-color: #ffffff;
+ }
+ .w-sdc-env-form-container .table-container-flex .table .left-column-container .i-sdc-form-item .input-parameter .action-button div:not(.disable) {
+ cursor: pointer;
+ }
+ .w-sdc-env-form-container .table-container-flex .table .left-column-container .i-sdc-form-item.required .required-symbol {
+ display: -webkit-inline-box;
+ display: -ms-inline-flexbox;
+ display: inline-flex;
+ }
+ .w-sdc-env-form-container .table-container-flex .table .left-column-container .i-sdc-form-item.required .input-parameter {
+ width: 250px;
+ }
+ .w-sdc-env-form-container .table-container-flex .table .left-column-container .i-sdc-form-item.required .action-button {
+ left: 224px;
+ }
+ .w-sdc-env-form-container .table-container-flex .text {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: inline-block;
+ white-space: nowrap;
+ }
+ .w-sdc-env-form-container .parameter-description {
+ background-color: #f2f2f2;
+ border-left: 4px solid #009fdb;
+ padding: 10px 30px;
+ }
+ .header-info {
+ float: right;
+ }
+ .parameter-description-popover {
+ z-index: 1100;
+ min-width: 210px;
+ }
+ .parameter-description-popover .arrow {
+ left: 20px !important;
+ border-width: 7px;
+ bottom: -8px !important;
+ }
+ .parameter-description-popover .popover-content {
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+ }
+ .sdc-edit-property-container .scrollbar-container {
+ height: 415px;
+ width: 830px;
+ position: relative;
+ overflow: hidden;
+ }
+ .sdc-edit-property-container form {
+ width: 813px;
+ }
+ .sdc-edit-property-container form [name="description"] {
+ min-height: 50px;
+ }
+ .sdc-edit-property-container .sdc-modal-top-bar {
+ height: 40px;
+ }
+ .sdc-edit-property-container .sdc-modal-top-bar .sdc-modal-top-bar-buttons {
+ float: right;
+ }
+ .sdc-edit-property-container .sdc-modal-top-bar .sdc-modal-top-bar-buttons > span:not(.delimiter) {
+ vertical-align: middle;
+ cursor: pointer;
+ }
+ .sdc-edit-property-container .sdc-modal-top-bar .sdc-modal-top-bar-buttons > span:not(.delimiter).sprite-new {
+ text-indent: 100%;
+ }
+ .sdc-edit-property-container .sdc-modal-top-bar .sdc-modal-top-bar-buttons > span:not(.delimiter).disabled,
+ .sdc-edit-property-container .sdc-modal-top-bar .sdc-modal-top-bar-buttons > span:not(.delimiter):hover.disabled {
+ pointer-events: none;
+ }
+ .sdc-edit-property-container .sdc-modal-top-bar .sdc-modal-top-bar-buttons .delete-btn {
+ margin-right: 6px;
+ }
+ .sdc-edit-property-container .sdc-modal-top-bar .sdc-modal-top-bar-buttons .left-arrow {
+ margin-right: 8px;
+ }
+ .sdc-edit-property-container .sdc-modal-top-bar .sdc-modal-top-bar-buttons .delimiter {
+ height: 20px;
+ width: 1px;
+ background-color: #959595;
+ display: inline-block;
+ vertical-align: middle;
+ margin-right: 10px;
+ }
+ .sdc-edit-property-container .w-sdc-form-note {
+ color: #da1f3d;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ display: block;
+ position: relative;
+ top: 13px;
+ }
+ .sdc-edit-property-container .default-value-section {
+ border-top: solid 1px #009fdb;
+ padding-top: 15px;
+ margin-top: 15px;
+ }
+ .sdc-edit-property-container .scrollbar-container {
+ height: 415px;
+ width: 830px;
+ position: relative;
+ overflow: hidden;
+ }
+ .sdc-edit-property-container form {
+ width: 813px;
+ }
+ .sdc-edit-property-container form [name="description"] {
+ min-height: 50px;
+ }
+ .sdc-edit-property-container .sdc-modal-top-bar {
+ height: 40px;
+ }
+ .sdc-edit-property-container .sdc-modal-top-bar .sdc-modal-top-bar-buttons {
+ float: right;
+ }
+ .sdc-edit-property-container .sdc-modal-top-bar .sdc-modal-top-bar-buttons > span:not(.delimiter) {
+ vertical-align: middle;
+ cursor: pointer;
+ }
+ .sdc-edit-property-container .sdc-modal-top-bar .sdc-modal-top-bar-buttons > span:not(.delimiter).sprite-new {
+ text-indent: 100%;
+ }
+ .sdc-edit-property-container .sdc-modal-top-bar .sdc-modal-top-bar-buttons > span:not(.delimiter).disabled,
+ .sdc-edit-property-container .sdc-modal-top-bar .sdc-modal-top-bar-buttons > span:not(.delimiter):hover.disabled {
+ pointer-events: none;
+ }
+ .sdc-edit-property-container .sdc-modal-top-bar .sdc-modal-top-bar-buttons .delete-btn {
+ margin-right: 6px;
+ }
+ .sdc-edit-property-container .sdc-modal-top-bar .sdc-modal-top-bar-buttons .left-arrow {
+ margin-right: 8px;
+ }
+ .sdc-edit-property-container .sdc-modal-top-bar .sdc-modal-top-bar-buttons .delimiter {
+ height: 20px;
+ width: 1px;
+ background-color: #959595;
+ display: inline-block;
+ vertical-align: middle;
+ margin-right: 10px;
+ }
+ .sdc-edit-property-container .w-sdc-form-note {
+ color: #da1f3d;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ display: block;
+ position: relative;
+ top: 13px;
+ }
+ .sdc-edit-property-container .default-value-section {
+ border-top: solid 1px #009fdb;
+ padding-top: 15px;
+ margin-top: 15px;
+ }
+ .w-sdc-modal-resource-instance-name .w-sdc-modal-body {
+ overflow: visible;
+ }
+ .w-sdc-modal-resource-instance-name .w-sdc-modal-action {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-box-pack: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ }
+ .w-sdc-modal-resource-instance-name .w-sdc-modal-resource-instance-input {
+ color: #8c8c8c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ border: solid 1px #8c8c8c;
+ height: 45px;
+ padding: 0 20px;
+ margin: 0 auto 0 auto;
+ display: block;
+ }
+ .w-sdc-modal-resource-instance-name .w-sdc-modal-body {
+ border-bottom: none;
+ }
+ .w-sdc-modal-resource-instance-name .w-sdc-form .i-sdc-form-item.error::after {
+ top: 13px;
+ }
+ .w-sdc-modal-confirmation form.w-sdc-form {
+ padding: 0;
+ }
+ .w-sdc-modal-confirmation .w-sdc-modal-body-content {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ word-break: break-word;
+ }
+ .w-sdc-modal-confirmation .w-sdc-modal-body {
+ height: auto;
+ /* padding: 47px 60px 20px 60px; */
+ border-bottom: none;
+ }
+ .w-sdc-modal-confirmation .w-sdc-modal-body-content {
+ padding: 0;
+ }
+ .w-sdc-modal-confirmation .w-sdc-modal-body-comment {
+ width: 430px;
+ height: 127px;
+ border: solid 1px #cdcdcd;
+ margin: 20px 0 0 0;
+ padding: 15px;
+ }
+ .w-sdc-modal-confirmation .w-sdc-modal-label {
+ color: #5a5a5a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ text-align: left;
+ }
+ .w-sdc-modal-email .w-sdc-modal-body {
+ border-bottom: none;
+ }
+ .w-sdc-modal-email form.w-sdc-form {
+ padding: 0;
+ /* I made the subject and to fields as input (for future use), but for now they look like labels: */
+ }
+ .w-sdc-modal-email form.w-sdc-form .i-sdc-form-item {
+ clear: both;
+ }
+ .w-sdc-modal-email form.w-sdc-form .i-sdc-form-item label {
+ min-height: 30px;
+ padding-top: 4px;
+ }
+ .w-sdc-modal-email form.w-sdc-form .i-sdc-form-item .col-sm-10 {
+ padding-right: 0;
+ }
+ .w-sdc-modal-email form.w-sdc-form .w-sdc-modal-body-email {
+ border-style: solid;
+ border-width: 1px;
+ border-color: #cdcdcd;
+ box-sizing: border-box;
+ width: 100%;
+ height: 127px;
+ margin-bottom: 20px;
+ }
+ .w-sdc-modal-email form.w-sdc-form label {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ text-align: left;
+ }
+ .w-sdc-modal-email form.w-sdc-form input {
+ color: #5a5a5a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ }
+ .w-sdc-modal-email form.w-sdc-form textarea {
+ color: #5a5a5a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ }
+ .w-sdc-modal-email form.w-sdc-form input:disabled {
+ background-color: #ffffff;
+ border: none;
+ }
+ .w-sdc-modal-email .w-sdc-modal-action {
+ background-color: #ffffff;
+ padding: 0 13px 0 0;
+ height: 90px;
+ line-height: 65px;
+ }
+ .w-sdc-modal-email .w-sdc-modal-action button {
+ width: 174px;
+ }
+ .w-sdc-modal-email .w-sdc-form .i-sdc-form-item label.required::before {
+ position: absolute;
+ left: -13px;
+ }
+ .sdc-error-403-container {
+ background-color: #ECEFF3;
+ width: 700px;
+ height: 400px;
+ margin: auto;
+ margin-top: 196px;
+ }
+ .sdc-error-403-container .w-sdc-error-403-text {
+ color: #b5b5b5;
+ font-family: omnes-medium, sans-serif;
+ font-size: 20px;
+ margin-top: 20px;
+ }
+ .w-sdc-modal-onboarding {
+ width: 100%;
+ display: inline-block;
+ }
+ .w-sdc-modal-onboarding .general-info-button {
+ position: relative;
+ top: -40px;
+ left: 86px;
+ float: left;
+ }
+ .w-sdc-modal-onboarding .title-wrapper {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-pack: justify;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+ -webkit-box-align: end;
+ -ms-flex-align: end;
+ align-items: flex-end;
+ }
+ .w-sdc-modal-onboarding .title-wrapper .sub-title {
+ color: #5a5a5a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ float: left;
+ }
+ .w-sdc-modal-onboarding .w-sdc-classic-btn {
+ float: right;
+ margin-bottom: 10px;
+ }
+ .w-sdc-modal-onboarding .table {
+ height: 472px;
+ margin-bottom: 0;
+ }
+ .w-sdc-modal-onboarding .table-container-flex {
+ margin-top: 10px;
+ }
+ .w-sdc-modal-onboarding .table-container-flex .table .body .data-row + div.item-opened {
+ word-wrap: break-word;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-pack: justify;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+ padding: 10px 0;
+ }
+ .w-sdc-modal-onboarding .table-container-flex .table .body .data-row + div.item-opened .item-opened-description-title,
+ .w-sdc-modal-onboarding .table-container-flex .table .body .data-row + div.item-opened .item-opened-metadata-title {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .w-sdc-modal-onboarding .table-container-flex .table .body .data-row + div.item-opened .item-opened-description,
+ .w-sdc-modal-onboarding .table-container-flex .table .body .data-row + div.item-opened .item-opened-metadata1,
+ .w-sdc-modal-onboarding .table-container-flex .table .body .data-row + div.item-opened .item-opened-metadata2,
+ .w-sdc-modal-onboarding .table-container-flex .table .body .data-row + div.item-opened .item-opened-metadata3 {
+ -ms-flex-preferred-size: 0;
+ flex-basis: 0;
+ overflow: hidden;
+ padding: 5px 15px;
+ }
+ .w-sdc-modal-onboarding .table-container-flex .table .body .data-row + div.item-opened .item-opened-description .th,
+ .w-sdc-modal-onboarding .table-container-flex .table .body .data-row + div.item-opened .item-opened-metadata1 .th,
+ .w-sdc-modal-onboarding .table-container-flex .table .body .data-row + div.item-opened .item-opened-metadata2 .th,
+ .w-sdc-modal-onboarding .table-container-flex .table .body .data-row + div.item-opened .item-opened-metadata3 .th {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .w-sdc-modal-onboarding .table-container-flex .table .body .data-row + div.item-opened .item-opened-description,
+ .w-sdc-modal-onboarding .table-container-flex .table .body .data-row + div.item-opened .item-opened-metadata3 {
+ border-right: 1px solid #d2d2d2;
+ }
+ .w-sdc-modal-onboarding .table-container-flex .table .body .data-row + div.item-opened .item-opened-metadata2 {
+ word-break: break-word;
+ }
+ .w-sdc-modal-onboarding .table-container-flex .table .body .data-row + div.item-opened .item-opened-metadata2 .note {
+ color: #cf2a2a;
+ }
+ .w-sdc-modal-onboarding .table-container-flex .table .body .data-row + div.item-opened .item-opened-icon {
+ -ms-flex-preferred-size: 0;
+ flex-basis: 0;
+ overflow: hidden;
+ padding: 5px 15px;
+ -ms-flex-item-align: center;
+ -ms-grid-row-align: center;
+ align-self: center;
+ }
+ .w-sdc-modal-onboarding .table-container-flex .table .body .data-row + div.item-opened .item-opened-description {
+ -webkit-box-flex: 25;
+ -ms-flex-positive: 25;
+ flex-grow: 25;
+ }
+ .w-sdc-modal-onboarding .table-container-flex .table .body .data-row + div.item-opened .item-opened-metadata1 {
+ -webkit-box-flex: 25;
+ -ms-flex-positive: 25;
+ flex-grow: 25;
+ }
+ .w-sdc-modal-onboarding .table-container-flex .table .body .data-row + div.item-opened .item-opened-metadata2 {
+ -webkit-box-flex: 30;
+ -ms-flex-positive: 30;
+ flex-grow: 30;
+ }
+ .w-sdc-modal-onboarding .table-container-flex .table .body .data-row + div.item-opened .item-opened-metadata3 {
+ -webkit-box-flex: 10;
+ -ms-flex-positive: 10;
+ flex-grow: 10;
+ }
+ .w-sdc-modal-onboarding .table-container-flex .table .body .data-row + div.item-opened .item-opened-metadata3 .info-button {
+ float: right;
+ }
+ .w-sdc-modal-onboarding .table-container-flex .table .body .data-row + div.item-opened .item-opened-icon {
+ -webkit-box-flex: 10;
+ -ms-flex-positive: 10;
+ flex-grow: 10;
+ }
+ .w-sdc-modal-onboarding .table-container-flex .flex-item:nth-child(1) {
+ -webkit-box-flex: 25;
+ -ms-flex-positive: 25;
+ flex-grow: 25;
+ cursor: pointer;
+ }
+ .w-sdc-modal-onboarding .table-container-flex .flex-item:nth-child(1) span.table-arrow {
+ margin-right: 7px;
+ }
+ .w-sdc-modal-onboarding .table-container-flex .flex-item:nth-child(2) {
+ -webkit-box-flex: 25;
+ -ms-flex-positive: 25;
+ flex-grow: 25;
+ }
+ .w-sdc-modal-onboarding .table-container-flex .flex-item:nth-child(3) {
+ -webkit-box-flex: 30;
+ -ms-flex-positive: 30;
+ flex-grow: 30;
+ }
+ .w-sdc-modal-onboarding .table-container-flex .flex-item:nth-child(4) {
+ -webkit-box-flex: 10;
+ -ms-flex-positive: 10;
+ flex-grow: 10;
+ text-align: center;
+ }
+ .w-sdc-modal-onboarding .table-container-flex .flex-item:nth-child(5) {
+ -webkit-box-flex: 10;
+ -ms-flex-positive: 10;
+ flex-grow: 10;
+ }
+ .w-sdc-modal-onboarding .download-file-btn {
+ cursor: pointer;
+ margin-left: 4px;
+ }
+ .w-sdc-modal-onboarding .refresh-file-btn,
+ .w-sdc-modal-onboarding .import-file-btn {
+ cursor: pointer;
+ margin-left: 20px;
+ }
+ .w-sdc-modal-onboarding .top-search {
+ float: right;
+ position: relative;
+ }
+ .w-sdc-modal-onboarding .top-search input.search-text {
+ border-radius: 2px;
+ width: 245px;
+ height: 32px;
+ line-height: 32px;
+ border: 1px solid #d2d2d2;
+ margin: 0;
+ outline: none;
+ text-indent: 10px;
+ /* Safari, Chrome and Opera */
+ /* Firefox 18- */
+ /* Firefox 19+ */
+ /* IE 10+ */
+ /* Edge */
+ }
+ .w-sdc-modal-onboarding .top-search input.search-text::-webkit-input-placeholder {
+ font-style: italic;
+ }
+ .w-sdc-modal-onboarding .top-search input.search-text:-moz-placeholder {
+ font-style: italic;
+ }
+ .w-sdc-modal-onboarding .top-search input.search-text::-moz-placeholder {
+ font-style: italic;
+ }
+ .w-sdc-modal-onboarding .top-search input.search-text:-ms-input-placeholder {
+ font-style: italic;
+ }
+ .w-sdc-modal-onboarding .top-search input.search-text:-ms-input-placeholder {
+ font-style: italic;
+ }
+ .w-sdc-modal-onboarding .top-search .magnification {
+ position: absolute;
+ top: 10px;
+ right: 10px;
+ }
+ .sdc-catalog-container {
+ /*Added by - Ikram */
+ }
+ .sdc-catalog-container .i-sdc-categories-list-item {
+ font-weight: normal;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-content-ul {
+ padding: 0;
+ margin: 0;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-content-ul .i-sdc-catalog-subcategories-checkbox {
+ padding: 0 0 0 20px;
+ margin: 0;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-content-ul .i-sdc-catalog-subcategories-checkbox .i-sdc-catalog-grouping-checkbox {
+ padding: 0 0 0 20px;
+ margin: 0;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-content-li:last-child .i-sdc-categories-list-item {
+ margin: 0;
+ }
+ .sdc-catalog-container .i-sdc-categories-list-item {
+ display: block;
+ vertical-align: top;
+ font-weight: bold;
+ }
+ .sdc-catalog-container .i-sdc-subcategories-list-item {
+ display: block;
+ vertical-align: top;
+ font-weight: normal;
+ margin: 0;
+ }
+ .sdc-catalog-container .i-sdc-product-input,
+ .sdc-catalog-container .i-sdc-product-select {
+ border: 1px solid #cfcfcf;
+ min-height: 30px;
+ padding: 0;
+ width: 100%;
+ margin: 1px 0;
+ background-color: #F2F2F2;
+ outline: none;
+ }
+ .sdc-catalog-container .i-sdc-product-input:disabled,
+ .sdc-catalog-container .i-sdc-product-select:disabled {
+ opacity: 0.4 !important;
+ cursor: auto;
+ background-color: transparent;
+ pointer-events: none;
+ }
+ .sdc-catalog-container .i-sdc-product-input optgroup,
+ .sdc-catalog-container .i-sdc-product-select optgroup {
+ color: #23aa63;
+ }
+ .sdc-catalog-container .i-sdc-product-input optgroup option,
+ .sdc-catalog-container .i-sdc-product-select optgroup option {
+ color: #666666;
+ }
+ .sdc-catalog-container .i-sdc-categories-list-item-icon {
+ display: inline-block;
+ float: right;
+ position: relative;
+ right: -8px;
+ top: 6px;
+ }
+ .sdc-catalog-container .i-sdc-categories-list-item {
+ margin-top: 7px;
+ }
+ .sdc-catalog-container .i-sdc-categories-list-item.NOT_CERTIFIED_CHECKOUT .i-sdc-categories-list-item-icon,
+ .sdc-catalog-container .i-sdc-categories-list-item.NOT_CERTIFIED_CHECKIN .i-sdc-categories-list-item-icon {
+ background: url('/assets/styles/images/sprites/sprite-global-old.png') no-repeat -53px -2889px;
+ width: 14px;
+ height: 14px;
+ }
+ .sdc-catalog-container .i-sdc-categories-list-item.CERTIFIED .i-sdc-categories-list-item-icon {
+ background: url('/assets/styles/images/sprites/sprite-global-old.png') no-repeat -53px -3034px;
+ width: 14px;
+ height: 16px;
+ }
+ .sdc-catalog-container .i-sdc-categories-list-item.READY_FOR_CERTIFICATION .i-sdc-categories-list-item-icon {
+ background: url('/assets/styles/images/sprites/sprite-global-old.png') no-repeat -53px -2985px;
+ width: 14px;
+ height: 16px;
+ }
+ .sdc-catalog-container .i-sdc-categories-list-item.CERTIFICATION_IN_PROGRESS .i-sdc-categories-list-item-icon {
+ background: url('/assets/styles/images/sprites/sprite-global-old.png') no-repeat -53px -2934px;
+ width: 14px;
+ height: 16px;
+ }
+ .sdc-catalog-container .i-sdc-categories-list-item.DISTRIBUTED .i-sdc-categories-list-item-icon,
+ .sdc-catalog-container .i-sdc-categories-list-item.TBD .i-sdc-categories-list-item-icon {
+ background: url('/assets/styles/images/sprites/sprite-global-old.png') no-repeat -43px -3087px;
+ width: 24px;
+ height: 14px;
+ }
+ .sdc-catalog-container .i-sdc-categories-list-input {
+ margin: 8px;
+ }
+ .sdc-catalog-container .i-sdc-subcategories-list-input {
+ margin: 8px;
+ }
+ .sdc-catalog-container .i-sdc-subcategories-list-input-container {
+ margin: 0px 0px 0px 20px;
+ padding: 2px;
+ }
+ .sdc-catalog-container .w-sdc-header-catalog-search-container {
+ display: table;
+ padding: 21px 0;
+ position: relative;
+ }
+ .sdc-catalog-container .w-sdc-header-catalog-search-container .w-sdc-designer-leftbar-search-input {
+ color: #000;
+ width: 300px;
+ }
+ .sdc-catalog-container .w-sdc-catalog-main {
+ padding: 10px 12px;
+ }
+ .sdc-catalog-container .w-sdc-dashboard-catalog-header {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ display: inline-block;
+ font-style: italic;
+ font-weight: bold;
+ padding-left: 10px;
+ }
+ .sdc-catalog-container .w-sdc-dashboard-catalog-header-order {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ font-weight: 800;
+ }
+ .sdc-catalog-container .w-sdc-dashboard-catalog-sort {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ font-weight: bold;
+ white-space: pre;
+ }
+ .sdc-catalog-container .w-sdc-dashboard-catalog-sort:hover {
+ cursor: pointer;
+ text-decoration: none;
+ color: #3b7b9b;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ }
+ .sdc-catalog-container .w-sdc-dashboard-catalog-sort.blue {
+ color: #3b7b9b;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ }
+ .sdc-catalog-container .w-sdc-catalog-sort-arrow {
+ display: inline-block;
+ }
+ .sdc-catalog-container .w-sdc-catalog-sort-arrow.up {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ width: 0;
+ height: 0;
+ border-left: 5px solid transparent;
+ border-right: 5px solid transparent;
+ border-bottom: 5px solid ;
+ }
+ .sdc-catalog-container .w-sdc-catalog-sort-arrow.down {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ width: 0;
+ height: 0;
+ border-left: 5px solid transparent;
+ border-right: 5px solid transparent;
+ border-top: 5px solid;
+ }
+ .sdc-catalog-container .w-sdc-dashboard-catalog-header-right {
+ float: right;
+ display: inline-block;
+ padding-right: 34px;
+ }
+ .sdc-catalog-container .w-sdc-header-catalog-search-input {
+ width: 420px;
+ display: table-cell;
+ padding: 0 25px 1px 10px;
+ border: 1px solid #bcbcbc;
+ border-radius: 10px;
+ height: 30px;
+ margin: 10px 30px;
+ outline: none;
+ }
+ .sdc-catalog-container .sdc-catalog-type-filter-container {
+ margin-top: -1px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title {
+ text-transform: uppercase;
+ color: #000000;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ line-height: 30px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon {
+ cursor: pointer;
+ background-image: url(/sdc1/scripts/images/tlv-sprite.068743809b588c3fce24.png);
+ display: inline-block;
+ vertical-align: middle;
+ background-position: -230px -59px;
+ width: 14px;
+ height: 10px;
+ transition: .3s all;
+ margin-top: -4px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon.logo-blue {
+ background-position: -10px -20px;
+ width: 28px;
+ height: 28px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon.user {
+ background-position: -50px -20px;
+ width: 15px;
+ height: 20px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .facebook {
+ background-position: -10px -260px;
+ width: 36px;
+ height: 36px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .facebook-hover {
+ background-position: -10px -300px;
+ width: 36px;
+ height: 36px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .twitter {
+ background-position: -50px -260px;
+ width: 36px;
+ height: 36px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .twitter-hover {
+ background-position: -50px -300px;
+ width: 36px;
+ height: 36px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .linkedin {
+ background-position: -89px -260px;
+ width: 36px;
+ height: 36px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .linkedin-hover {
+ background-position: -89px -300px;
+ width: 36px;
+ height: 36px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .youtube {
+ background-position: -130px -260px;
+ width: 36px;
+ height: 36px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .youtube-hover {
+ background-position: -130px -300px;
+ width: 36px;
+ height: 36px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .footer-open {
+ background-position: -250px -59px;
+ width: 14px;
+ height: 10px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .footer-open-hover {
+ background-position: -250px -79px;
+ width: 14px;
+ height: 10px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .footer-close {
+ background-position: -230px -59px;
+ width: 14px;
+ height: 10px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .footer-close-hover {
+ background-position: -230px -79px;
+ width: 14px;
+ height: 10px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .checkbox-disadbled {
+ background-position: -10px -60px;
+ width: 14px;
+ height: 14px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .checkbox {
+ background-position: -10px -60px;
+ width: 14px;
+ height: 14px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .checkbox-hover {
+ background-position: -10px -100px;
+ width: 14px;
+ height: 14px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .checkbox-checked {
+ background-position: -10px -120px;
+ width: 14px;
+ height: 14px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .radio-disabled {
+ background-position: -50px -60px;
+ width: 14px;
+ height: 14px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .radio {
+ background-position: -50px -80px;
+ width: 14px;
+ height: 14px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-icon .radio-checked {
+ background-position: -50px -120px;
+ width: 14px;
+ height: 14px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title-text {
+ margin-left: 20px;
+ }
+ .sdc-catalog-container .seperator-left,
+ .sdc-catalog-container .seperator-right {
+ border-right: solid 1px #a8b3b9;
+ display: table-cell;
+ width: 2px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title.expanded .i-sdc-designer-leftbar-section-title-icon {
+ -webkit-transform: rotate(180deg);
+ transform: rotate(180deg);
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title + .i-sdc-designer-leftbar-section-content {
+ max-height: 0px;
+ margin: 0 auto;
+ transition: all .3s;
+ overflow: hidden;
+ padding: 0 10px 0 18px;
+ }
+ .sdc-catalog-container .i-sdc-designer-leftbar-section-title.expanded + .i-sdc-designer-leftbar-section-content {
+ max-height: 9999px;
+ margin: 0 auto 1px;
+ transition: all .3s;
+ padding: 10px 18px 10px 18px;
+ overflow: hidden;
+ }
+ .w-sdc-search-icon {
+ position: absolute;
+ right: 40px;
+ top: 40px;
+ }
+ .w-sdc-search-icon.leftbar {
+ top: 19px;
+ right: 18px;
+ }
+ .w-sdc-search-icon.magnification {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -49px -3138px;
+ width: 12px;
+ height: 12px;
+ cursor: pointer;
+ }
+ .w-sdc-search-icon.cancel {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -104px -4040px;
+ width: 10px;
+ height: 11px;
+ cursor: pointer;
+ }
+ .w-sdc-left-sidebar-in-progress,
+ .w-sdc-left-sidebar-following {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .w-sdc-left-sidebar-following {
+ padding: 13px 0;
+ }
+ .sdc-general-tab {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ min-height: 100%;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-flow: column;
+ flex-flow: column;
+ }
+ .sdc-general-tab .sdc-edit-icon {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -51px -3339px;
+ width: 12px;
+ height: 12px;
+ }
+ .sdc-general-tab .sdc-general-tab-title {
+ color: #009fdb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ padding: 0px 0px 15px 20px;
+ border-bottom: 1px solid #d2d2d2;
+ }
+ .sdc-general-tab .sdc-general-tab-sub-title {
+ color: #009fdb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ padding: 15px 20px 15px 20px;
+ }
+ .sdc-general-tab .general-tab-scrollbar-container {
+ position: relative;
+ overflow: hidden;
+ width: 100%;
+ }
+ .sdc-general-tab .general-tab-expand-collapse.expanded .expand-collapse-title .expand-collapse-title-icon {
+ background-position: -378px -888px;
+ width: 14px;
+ height: 14px;
+ }
+ .sdc-general-tab .general-tab-expand-collapse .expand-collapse-title {
+ padding: 8px 20px 4px 20px;
+ cursor: pointer;
+ }
+ .sdc-general-tab .general-tab-expand-collapse .expand-collapse-title:hover {
+ background-color: #d2d2d2;
+ }
+ .sdc-general-tab .general-tab-expand-collapse .expand-collapse-title .expand-collapse-title-icon {
+ cursor: pointer;
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -334px -888px;
+ width: 14px;
+ height: 14px;
+ }
+ .sdc-general-tab .general-tab-expand-collapse .expand-collapse-title .expand-collapse-title-text {
+ max-width: 225px;
+ display: inline-block;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ padding-left: 10px;
+ line-height: 15px;
+ }
+ .sdc-general-tab .general-tab-expand-collapse .selected {
+ background-color: #009fdb;
+ color: #ffffff;
+ }
+ .sdc-general-tab .expand-collapse-sub-title {
+ max-width: 190px;
+ display: inline-block;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ padding: 10px 0 0 43px;
+ }
+ .sdc-general-tab .resizable-container {
+ -webkit-box-flex: 1;
+ -ms-flex: 1 1 auto;
+ flex: 1 1 auto;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ height: 90%;
+ }
+ .sdc-general-tab .resizable-container .resizable-section {
+ min-height: 50px;
+ -webkit-box-flex: 1;
+ -ms-flex: 1;
+ flex: 1;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-flow: column;
+ flex-flow: column;
+ }
+ .sdc-general-tab .resizable-container .resizable-section.resizable {
+ -webkit-box-flex: 0;
+ -ms-flex: 0 0 300px;
+ flex: 0 0 300px;
+ }
+ .sdc-general-tab .resizable-container .rg-top span {
+ margin-top: -5px;
+ border-top: 1px dotted #5a5a5a;
+ border-bottom: 1px dotted #5a5a5a;
+ width: 39px;
+ height: 4px;
+ }
+ .sdc-general-tab .resizable-container .rg-top span:before {
+ border-top: 1px dotted #5a5a5a;
+ content: '';
+ display: inline-block;
+ width: 39px;
+ height: 6px;
+ }
+ .hierarchy-tab {
+ width: 100%;
+ }
+ .hierarchy-tab .hierarchy-module-list-container {
+ padding: 0px 20px 0px 20px;
+ }
+ .hierarchy-tab .module-data-container {
+ width: 100%;
+ height: 100%;
+ background-color: #e6f6fb;
+ border: 1px solid #009fdb;
+ border-top: 4px solid #009fdb;
+ box-shadow: 0.3px 1px 2px rgba(24, 24, 25, 0.32);
+ }
+ .hierarchy-tab .module-data-container .module-data {
+ -moz-user-select: text;
+ -webkit-user-select: text;
+ -ms-user-select: text;
+ user-select: text;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ color: #009fdb;
+ padding: 10px 0px 10px 0px;
+ margin: 0px 20px 0px 20px;
+ }
+ .hierarchy-tab .module-data-container .module-data .module-name {
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ width: 87%;
+ }
+ .hierarchy-tab .module-data-container .module-data .small-font {
+ font-size: 12px;
+ }
+ .hierarchy-tab .module-data-container .list-item {
+ padding: 10px 0px 10px 0px;
+ margin: 0px 20px 0px 20px;
+ }
+ .hierarchy-tab .module-data-container .list-item:not(.last) {
+ border-bottom: 1px solid rgba(0, 159, 219, 0.6);
+ }
+ .hierarchy-tab .module-data-container .artifact-data {
+ -moz-user-select: text;
+ -webkit-user-select: text;
+ -ms-user-select: text;
+ user-select: text;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ color: #5a5a5a;
+ }
+ .hierarchy-tab .module-data-container .artifact-data .artifact-name {
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ font-weight: bold;
+ }
+ .hierarchy-tab .module-data-container .property-data .property-name {
+ width: 100%;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ font-weight: 400;
+ color: #009fdb;
+ }
+ .hierarchy-tab .module-data-container .property-data .property-info {
+ color: #191919;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ width: 100%;
+ }
+ .hierarchy-tab .module-data-container .module-text-overflow {
+ max-width: 240px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ }
+ .hierarchy-tab .hierarchy-modules-list .expand-collapse-title .expand-collapse-title-text {
+ max-width: 202px;
+ }
+ .hierarchy-tab .hierarchy-module-member-list {
+ overflow: hidden;
+ background-color: #ffffff;
+ }
+ .hierarchy-tab .edit-name-container {
+ float: right;
+ border-left: 1px solid #5cc1e7;
+ height: 20px;
+ width: 12%;
+ }
+ .hierarchy-tab .edit-name-container .sdc-edit-icon {
+ float: right;
+ cursor: pointer;
+ position: relative;
+ top: 4px;
+ right: 5px;
+ }
+ .sdc-tutorial-end-page {
+ background-color: #000000;
+ width: 100%;
+ height: 100%;
+ position: absolute;
+ top: 0;
+ left: 0;
+ z-index: 999;
+ -moz-opacity: 0.8;
+ -khtml-opacity: 0.8;
+ -webkit-opacity: 0.8;
+ opacity: 0.8;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ background-image: url('/assets/styles/images/welcome.png');
+ background-repeat: no-repeat;
+ background-position: bottom left;
+ }
+ .sdc-tutorial-end-page .sdc-tutorial-end-page-main {
+ width: 600px;
+ height: 400px;
+ margin: 100px auto 100px auto;
+ padding: 80px;
+ }
+ .sdc-tutorial-end-page h2 {
+ color: #3196c9;
+ font-family: omnes-medium, sans-serif;
+ font-size: 24px;
+ margin: 0;
+ }
+ .sdc-tutorial-end-page .sdc-tutorial-end-page-description1 {
+ color: #ffffff;
+ font-family: omnes-regular, sans-serif;
+ font-size: 20px;
+ -moz-opacity: 0.8;
+ -khtml-opacity: 0.8;
+ -webkit-opacity: 0.8;
+ opacity: 0.8;
+ margin-top: 10px;
+ line-height: 22px;
+ }
+ .sdc-tutorial-end-page .w-sdc-btn-blue {
+ margin: 40px 10px 0 0;
+ }
+ .activity-log {
+ margin-top: 30px;
+ }
+ .activity-log .title-wrapper {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-pack: end;
+ -ms-flex-pack: end;
+ justify-content: flex-end;
+ }
+ .activity-log .table-container-flex .table .body .scrollbar-container {
+ max-height: 448px;
+ }
+ .activity-log .view-mode {
+ background-color: #ffffff;
+ }
+ .activity-log .table {
+ height: 490px;
+ margin-bottom: 0;
+ }
+ .activity-log .table-container-flex {
+ margin-top: 10px;
+ }
+ .activity-log .table-container-flex .flex-item:nth-child(1) {
+ width: 200px;
+ }
+ .activity-log .table-container-flex .flex-item:nth-child(2) {
+ -webkit-box-flex: 20;
+ -ms-flex-positive: 20;
+ flex-grow: 20;
+ }
+ .activity-log .table-container-flex .flex-item:nth-child(3) {
+ -webkit-box-flex: 30;
+ -ms-flex-positive: 30;
+ flex-grow: 30;
+ }
+ .activity-log .table-container-flex .flex-item:nth-child(4) {
+ -webkit-box-flex: 20;
+ -ms-flex-positive: 20;
+ flex-grow: 20;
+ }
+ .activity-log .table-container-flex .flex-item:nth-child(5) {
+ width: 80px;
+ }
+ .activity-log .table-container-flex .success {
+ position: absolute;
+ top: 11px;
+ right: 20px;
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -101px -707px;
+ width: 10px;
+ height: 10px;
+ }
+ .activity-log .table-container-flex .error {
+ position: absolute;
+ top: 11px;
+ right: 20px;
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -151px -707px;
+ width: 10px;
+ height: 10px;
+ }
+ .activity-log .data-row {
+ position: relative;
+ }
+ .activity-log .top-search {
+ float: right;
+ position: relative;
+ }
+ .activity-log .top-search input.search-text {
+ border-radius: 2px;
+ width: 245px;
+ height: 32px;
+ line-height: 32px;
+ border: 1px solid #d2d2d2;
+ margin: 0;
+ outline: none;
+ text-indent: 10px;
+ /* Safari, Chrome and Opera */
+ /* Firefox 18- */
+ /* Firefox 19+ */
+ /* IE 10+ */
+ /* Edge */
+ }
+ .activity-log .top-search input.search-text::-webkit-input-placeholder {
+ font-style: italic;
+ }
+ .activity-log .top-search input.search-text:-moz-placeholder {
+ font-style: italic;
+ }
+ .activity-log .top-search input.search-text::-moz-placeholder {
+ font-style: italic;
+ }
+ .activity-log .top-search input.search-text:-ms-input-placeholder {
+ font-style: italic;
+ }
+ .activity-log .top-search input.search-text:-ms-input-placeholder {
+ font-style: italic;
+ }
+ .activity-log .top-search .magnification {
+ position: absolute;
+ top: 10px;
+ right: 10px;
+ }
+ .workspace-attributes {
+ width: 93%;
+ display: inline-block;
+ }
+ .workspace-attributes .w-sdc-classic-btn {
+ float: right;
+ margin-bottom: 10px;
+ }
+ .workspace-attributes .table {
+ height: 490px;
+ margin-bottom: 0;
+ }
+ .workspace-attributes .table-container-flex {
+ margin-top: 27px;
+ }
+ .workspace-attributes .table-container-flex .text {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: inline-block;
+ white-space: nowrap;
+ }
+ .workspace-attributes .table-container-flex .flex-item:nth-child(1) {
+ -webkit-box-flex: 15;
+ -ms-flex-positive: 15;
+ flex-grow: 15;
+ cursor: pointer;
+ }
+ .workspace-attributes .table-container-flex .flex-item:nth-child(1) span.table-arrow {
+ margin-right: 7px;
+ }
+ .workspace-attributes .table-container-flex .flex-item:nth-child(2) {
+ -webkit-box-flex: 6;
+ -ms-flex-positive: 6;
+ flex-grow: 6;
+ }
+ .workspace-attributes .table-container-flex .flex-item:nth-child(3) {
+ -webkit-box-flex: 9;
+ -ms-flex-positive: 9;
+ flex-grow: 9;
+ }
+ .workspace-attributes .table-container-flex .flex-item:nth-child(4) {
+ -webkit-box-flex: 3;
+ -ms-flex-positive: 3;
+ flex-grow: 3;
+ padding-top: 10px;
+ }
+ .workspace-attributes .table-container-flex .flex-item:nth-child(5) {
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ }
+ .composition .sdc-workspace-container .w-sdc-main-container .w-sdc-main-right-container {
+ left: 0;
+ }
+ .composition .sdc-workspace-container .w-sdc-main-container .w-sdc-main-right-container .sdc-workspace-top-bar {
+ padding-left: 295px;
+ }
+ .composition .sdc-workspace-container .w-sdc-main-container .w-sdc-main-right-container .sdc-workspace-top-bar .not-latest {
+ left: 270px;
+ }
+ .composition .sdc-workspace-container .w-sdc-main-container .w-sdc-main-right-container .w-sdc-main-container-body-content {
+ padding: 0 0 0 247px;
+ }
+ .composition .sdc-workspace-container .w-sdc-main-container .w-sdc-main-right-container > div:first-child {
+ padding: 0;
+ }
+ .workspace-composition {
+ height: 100%;
+ display: block;
+ text-align: left;
+ -webkit-box-align: left;
+ -ms-flex-align: left;
+ align-items: left;
+ padding: 0;
+ /*
+ .i-sdc-composition-leftbar-section-content-item-icon {
+ background-image: url('../../../styles/images/resource-icons/default.png');
+ // position: absolute;
+ right: 20px;
+ top: 10px;
+ height: 40px;
+ width: 40px;
+ background-size: 40px;
+ }
+ */
+ }
+ .workspace-composition .w-sdc-designer-sidebar-toggle {
+ background-color: #ffffff;
+ border-left: 1px solid #d2d2d2;
+ border-bottom: 1px solid #d2d2d2;
+ height: 21px;
+ position: absolute;
+ right: 0;
+ top: 53px;
+ width: 17px;
+ transition: right 0.2s;
+ z-index: 10;
+ box-shadow: -1px 1px 3px 0 #959595;
+ }
+ .workspace-composition .w-sdc-designer-sidebar-toggle.active {
+ right: 302px;
+ }
+ .workspace-composition .w-sdc-designer-sidebar-toggle.active .w-sdc-designer-sidebar-toggle-icon {
+ -webkit-transform: rotate(180deg);
+ transform: rotate(180deg);
+ }
+ .workspace-composition .w-sdc-designer-sidebar-toggle-icon {
+ margin-left: 6px;
+ margin-top: 6px;
+ }
+ .workspace-composition .w-sdc-designer-sidebar {
+ background-color: #ffffff;
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ bottom: 89px;
+ position: fixed;
+ right: -302px;
+ width: 302px;
+ top: 102px;
+ transition: right 0.2s;
+ z-index: 9;
+ box-shadow: -7px -3px 6px -8px #959595;
+ }
+ .workspace-composition .w-sdc-designer-sidebar-toggle.active + .w-sdc-designer-sidebar {
+ right: 0;
+ }
+ .workspace-composition .w-sdc-designer-sidebar-head {
+ padding: 36px 30px 30px 30px;
+ height: 120px;
+ }
+ .workspace-composition .w-sdc-designer-sidebar-logo-ph {
+ display: inline-block;
+ vertical-align: middle;
+ line-height: 48px;
+ height: 48px;
+ }
+ .workspace-composition .w-sdc-designer-sidebar-logo {
+ color: #263d4d;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ display: inline-block;
+ margin-left: 10px;
+ font-weight: 500;
+ }
+ .workspace-composition .w-sdc-designer-sidebar-logo-title {
+ color: #191919;
+ font-family: omnes-regular, sans-serif;
+ font-size: 16px;
+ -moz-user-select: text;
+ -webkit-user-select: text;
+ -ms-user-select: text;
+ user-select: text;
+ vertical-align: middle;
+ text-overflow: ellipsis;
+ max-width: 167px;
+ display: inline-block;
+ white-space: nowrap;
+ overflow: hidden;
+ }
+ .workspace-composition .w-sdc-designer-update-resource-icon {
+ cursor: pointer;
+ position: absolute;
+ right: 20px;
+ top: 10px;
+ }
+ .workspace-composition .w-sdc-designer-delete-resource-icon {
+ cursor: pointer;
+ position: absolute;
+ right: 40px;
+ top: 10px;
+ }
+ .workspace-composition .w-sdc-designer-sidebar-tabs {
+ background-color: #cdcdcd;
+ }
+ .workspace-composition .w-sdc-designer-sidebar-tabs::after {
+ clear: both;
+ content: '';
+ display: table;
+ }
+ .workspace-composition .i-sdc-designer-sidebar-tab {
+ background-color: #ffffff;
+ border: 1px solid #eaeaea;
+ border-left: none;
+ display: inline-block;
+ float: left;
+ height: 36px;
+ padding-top: 9px;
+ text-align: center;
+ width: 60px;
+ cursor: pointer;
+ /*for tooltip on disabled buttons*/
+ }
+ .workspace-composition .i-sdc-designer-sidebar-tab:focus {
+ outline: none;
+ }
+ .workspace-composition .i-sdc-designer-sidebar-tab.tab-disabled {
+ /* .disabled; */
+ }
+ .workspace-composition .i-sdc-designer-sidebar-tab.active,
+ .workspace-composition .i-sdc-designer-sidebar-tab:hover:enabled {
+ background-color: #eaeaea;
+ }
+ .workspace-composition .i-sdc-designer-sidebar-tab.active .i-sdc-designer-sidebar-tab-icon,
+ .workspace-composition .i-sdc-designer-sidebar-tab:hover:enabled .i-sdc-designer-sidebar-tab-icon {
+ opacity: 1;
+ }
+ div.workspace-composition .i-sdc-designer-sidebar-tab {
+ padding-top: 0;
+ }
+ .workspace-composition .i-sdc-designer-sidebar-tab-icon {
+ margin-top: 5px ;
+ }
+ .workspace-composition .w-sdc-designer-sidebar-tab-content {
+ position: relative;
+ overflow: hidden;
+ height: 100%;
+ }
+ .workspace-composition .w-sdc-designer-sidebar-tab-content-view {
+ position: absolute;
+ top: 156px;
+ bottom: 0;
+ width: 100%;
+ padding-bottom: 10px;
+ }
+ .workspace-composition .w-sdc-designer-sidebar-section-title {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ background-color: #eaeaea;
+ cursor: pointer;
+ clear: both;
+ height: 32px;
+ line-height: 32px;
+ margin-top: 1px;
+ padding: 0 40px 0 20px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ position: relative;
+ width: 100%;
+ display: block;
+ }
+ .workspace-composition .w-sdc-designer-sidebar-section-title.expanded .w-sdc-designer-sidebar-section-title-icon {
+ -webkit-transform: rotate(180deg);
+ transform: rotate(180deg);
+ }
+ .workspace-composition .w-sdc-designer-sidebar-section-title-text {
+ max-width: 240px;
+ display: inline-block;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ position: relative;
+ }
+ .workspace-composition .w-sdc-designer-sidebar-section-title-icon {
+ cursor: pointer;
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -350px -236px;
+ width: 12px;
+ height: 7px;
+ right: 16px;
+ top: 10px;
+ transition: .3s all;
+ position: absolute;
+ }
+ .workspace-composition .w-sdc-designer-sidebar-section-content {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ }
+ .workspace-composition .w-sdc-designer-sidebar-section-title + .w-sdc-designer-sidebar-section-content {
+ margin: 0 auto;
+ }
+ .workspace-composition .w-sdc-designer-sidebar-section-title.expanded + .w-sdc-designer-sidebar-section-content {
+ margin: 0 auto 1px;
+ }
+ .workspace-composition .i-sdc-designer-sidebar-section-content-item {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ }
+ .workspace-composition .i-sdc-designer-sidebar-section-content-item.description {
+ margin-top: 28px;
+ white-space: normal;
+ word-wrap: break-word;
+ }
+ .workspace-composition .i-sdc-designer-sidebar-section-content-item-tag {
+ color: #263d4d;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ background-color: #ffffff;
+ border-radius: 4px;
+ display: inline-block;
+ line-height: 25px;
+ margin: 0 4px 6px 0;
+ min-width: 50px;
+ padding: 0 9px;
+ text-align: center;
+ max-width: 280px;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ }
+ .workspace-composition .w-sdc-designer-sidebar-section-footer {
+ margin-top: 10px;
+ text-align: center;
+ width: 100%;
+ }
+ .workspace-composition .w-sdc-designer-sidebar-section-footer-action {
+ width: 180px;
+ margin-top: 10px;
+ }
+ .workspace-composition .w-sdc-designer-sidebar-section-requirements {
+ border-bottom: 1px solid #cdcdcd;
+ margin: 0 13px 20px 13px;
+ padding: 15px 0 0;
+ }
+ .workspace-composition .w-sdc-designer-sidebar-section-requirements-item {
+ margin-bottom: 20px;
+ }
+ .workspace-composition .w-sdc-designer-sidebar-section-requirements-label {
+ display: inline-block;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ vertical-align: middle;
+ white-space: nowrap;
+ width: 102px;
+ }
+ .workspace-composition .w-sdc-designer-sidebar-section-requirements-select {
+ border: 1px solid #cdcdcd;
+ min-height: 30px;
+ padding: 4px 13px;
+ width: 168px;
+ }
+ .workspace-composition .i-sdc-designer-sidebar-section-content-item-property-and-attribute {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ border-bottom: 1px solid #cdcdcd;
+ min-height: 72px;
+ padding: 15px 10px 10px 18px;
+ position: relative;
+ }
+ .workspace-composition .i-sdc-designer-sidebar-section-content-item-property-and-attribute:hover {
+ background-color: #ffffff;
+ transition: all .3s;
+ }
+ .workspace-composition .i-sdc-designer-sidebar-section-content-item-property-and-attribute:hover .i-sdc-designer-sidebar-section-content-item-button {
+ display: block;
+ }
+ .workspace-composition .i-sdc-designer-sidebar-section-content-item-property-and-attribute-label {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ max-width: 200px;
+ white-space: nowrap;
+ display: inline-block;
+ }
+ .workspace-composition .i-sdc-designer-sidebar-section-content-item-property-and-attribute-label:hover {
+ color: #3b7b9b;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .workspace-composition .i-sdc-designer-sidebar-section-content-item-property-value {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ max-width: 200px;
+ display: inline-block;
+ white-space: nowrap;
+ }
+ .workspace-composition .i-sdc-designer-sidebar-section-content-item-button {
+ display: none;
+ position: absolute;
+ top: 25px;
+ }
+ .workspace-composition .i-sdc-designer-sidebar-section-content-item-button.update {
+ background-color: transparent;
+ border: 0;
+ right: 60px;
+ }
+ .workspace-composition .i-sdc-designer-sidebar-section-content-item-button.delete {
+ background-color: transparent;
+ border: 0;
+ right: 13px;
+ }
+ .workspace-composition .i-sdc-designer-sidebar-section-content-item-button.download {
+ background-color: transparent;
+ border: 0;
+ right: 35px;
+ }
+ .workspace-composition .i-sdc-designer-sidebar-section-content-item-button.download-env {
+ background-color: transparent;
+ border: 0;
+ right: 35px;
+ margin-top: 65px;
+ }
+ .workspace-composition .i-sdc-designer-sidebar-section-content-item-button.update-env {
+ background-color: transparent;
+ border: 0;
+ right: 15px;
+ margin-top: 65px;
+ }
+ .workspace-composition .i-sdc-designer-sidebar-section-content-item-button.attach {
+ background-color: transparent;
+ border: 0;
+ right: 15px;
+ }
+ .workspace-composition .w-sdc-designer-canvas {
+ height: 100%;
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ background-color: #ffffff;
+ bottom: 0;
+ }
+ .workspace-composition .w-sdc-designer-canvas .view-mode {
+ background-color: #f8f8f8;
+ border: 0;
+ }
+ .workspace-composition .w-sdc-designer-element {
+ cursor: pointer;
+ width: 200px;
+ height: 100px;
+ position: absolute;
+ text-align: center;
+ top: 50%;
+ margin-top: -200px;
+ left: 50%;
+ margin-left: -50px;
+ }
+ .workspace-composition .w-sdc-designer-resource-label {
+ color: #b5b5b5;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .workspace-composition .w-sdc-designer-resource-label-indicator {
+ background-color: #b5b5b5;
+ border-radius: 50%;
+ display: inline-block;
+ height: 10px;
+ margin-right: 6px;
+ vertical-align: middle;
+ width: 10px;
+ }
+ .workspace-composition .w-sdc-designer-resource-label-indicator.valid {
+ background-color: #1e9a33;
+ }
+ .workspace-composition .w-sdc-designer-resource-label-indicator.invalid {
+ background-color: #da1f3d;
+ }
+ .workspace-composition .w-sdc-designer-leftbar {
+ background-color: #ffffff;
+ bottom: 0;
+ left: 0;
+ overflow-y: scroll;
+ overflow-x: hidden;
+ position: absolute;
+ top: 0;
+ width: 244px;
+ box-shadow: 7px -3px 6px -8px #959595;
+ }
+ .workspace-composition .w-sdc-designer-leftbar-title {
+ color: #ffffff;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ background-color: #959595;
+ line-height: 40px;
+ padding: 0 17px;
+ }
+ .workspace-composition .w-sdc-designer-leftbar-title-count {
+ float: right;
+ }
+ .workspace-composition .w-sdc-designer-leftbar-search {
+ background-color: #eaeaea;
+ padding: 10px;
+ white-space: nowrap;
+ position: relative;
+ }
+ .workspace-composition .w-sdc-designer-leftbar-search-input {
+ border: 1px solid #cdcdcd;
+ border-radius: 4px;
+ height: 30px;
+ margin: 0;
+ padding: 0px 28px 3px 10px;
+ vertical-align: 4px;
+ width: 100%;
+ outline: none;
+ font-style: italic;
+ }
+ .workspace-composition .i-sdc-designer-leftbar-section {
+ cursor: pointer;
+ }
+ .workspace-composition .i-sdc-designer-leftbar-section-title {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ background-color: #eaeaea;
+ cursor: pointer;
+ clear: both;
+ height: 40px;
+ line-height: 40px;
+ margin-top: 1px;
+ padding: 0 10px;
+ position: relative;
+ text-transform: uppercase;
+ font-weight: bold;
+ }
+ .workspace-composition .i-sdc-designer-leftbar-section-title-icon {
+ cursor: pointer;
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -350px -236px;
+ width: 12px;
+ height: 7px;
+ width: 15px;
+ height: 9px;
+ position: absolute;
+ right: 13px;
+ top: 18px;
+ transition: .3s all;
+ }
+ .workspace-composition .i-sdc-designer-leftbar-section.expanded .i-sdc-designer-leftbar-section-title-icon {
+ -webkit-transform: rotate(180deg);
+ transform: rotate(180deg);
+ margin-right: 2px;
+ }
+ .workspace-composition .i-sdc-designer-leftbar-section-content {
+ background-color: #d2d2d2;
+ }
+ .workspace-composition .i-sdc-designer-leftbar-section-content-item {
+ background-color: #ffffff;
+ overflow: hidden;
+ }
+ .workspace-composition .i-sdc-designer-leftbar-section-content-item:hover {
+ background-color: #ffffff;
+ }
+ .workspace-composition .i-sdc-designer-leftbar-section-content-item .cp {
+ margin: 6px;
+ }
+ .workspace-composition .i-sdc-designer-leftbar-section-content-item .vl {
+ margin: 6px;
+ }
+ .workspace-composition .i-sdc-designer-leftbar-section-content-subcat {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ background-color: #f8f8f8;
+ line-height: 35px;
+ padding: 0 10px;
+ cursor: default;
+ }
+ .workspace-composition .i-sdc-designer-leftbar-section-content-subcat:hover {
+ background-color: #f2f2f2;
+ }
+ .workspace-composition .i-sdc-designer-leftbar-section .i-sdc-designer-leftbar-section-content .i-sdc-designer-leftbar-section-content-item {
+ max-height: 0px;
+ margin: 0 auto;
+ transition: all .3s;
+ }
+ .workspace-composition .i-sdc-designer-leftbar-section.expanded .i-sdc-designer-leftbar-section-content .i-sdc-designer-leftbar-section-content-item {
+ max-height: 64px;
+ margin: 0 auto 1px auto;
+ }
+ .workspace-composition .i-sdc-designer-leftbar-section.expanded .i-sdc-designer-leftbar-section-content .i-sdc-designer-leftbar-section-content-subcat {
+ margin: 0;
+ }
+ .workspace-composition .i-sdc-designer-leftbar-section-content-item-icon-ph {
+ display: inline-block;
+ margin: 12px 0 12px 10px;
+ pointer-events: auto;
+ }
+ .workspace-composition .i-sdc-designer-leftbar-section-content-item-icon-ph .non-certified {
+ position: relative;
+ left: 27px;
+ bottom: 6px;
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -157px -3386px;
+ width: 15px;
+ height: 15px;
+ display: block;
+ }
+ .workspace-composition .i-sdc-designer-leftbar-section-content-item-icon-ph .non-certified.smaller-icon {
+ bottom: 6px;
+ left: 13px;
+ }
+ .workspace-composition .non-certified {
+ position: relative;
+ left: 43px;
+ bottom: 3px;
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -157px -3386px;
+ width: 15px;
+ height: 15px;
+ display: block;
+ }
+ .workspace-composition .non-certified.smaller-icon {
+ left: 35px;
+ bottom: -14px;
+ }
+ .workspace-composition .i-sdc-designer-leftbar-section-content-item-info {
+ display: inline-block;
+ width: 160px;
+ padding: 0 0 0 10px;
+ }
+ .workspace-composition .i-sdc-designer-leftbar-section-content-item-info-title {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ line-height: 14px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ text-transform: uppercase;
+ max-width: 120px;
+ display: inline-block;
+ white-space: nowrap;
+ vertical-align: bottom;
+ }
+ .workspace-composition .i-sdc-designer-leftbar-section-content-item-info-text {
+ color: #8c8c8c;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ line-height: 15px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ }
+ .workspace-composition .i-sdc-designer-leftbar-section-content-item-info-text-link {
+ color: #000000;
+ text-decoration: underline;
+ float: right;
+ position: absolute;
+ right: 17px;
+ }
+ .workspace-composition .w-sdc-form-actions-container.add-property {
+ text-align: center;
+ width: 100%;
+ margin-top: 2px;
+ margin-bottom: 12px;
+ }
+ .workspace-composition .w-sdc-form-actions-container.add-property .w-sdc-form-action {
+ width: 245px;
+ }
+ .workspace-composition .w-sdc-form-actions-container.add-property .w-sdc-form-action.add-property-add-another {
+ background-color: #3b7b9b;
+ margin-left: 35px;
+ }
+ .workspace-composition .w-sdc-form-actions-container.add-property .w-sdc-form-action.add-property-done {
+ margin-left: 312px;
+ }
+ .workspace-composition .w-sdc-form-actions-container.add-property .w-sdc-form-action.save {
+ margin-left: 327px;
+ margin-bottom: 30px;
+ }
+ .workspace-composition .w-sdc-header-menu {
+ padding: 25px 0;
+ text-align: center;
+ white-space: nowrap;
+ }
+ .workspace-composition .i-sdc-header-menu-item {
+ cursor: pointer;
+ display: inline-block;
+ height: 43px;
+ min-width: 93px;
+ padding: 0 38px;
+ position: relative;
+ vertical-align: middle;
+ }
+ .workspace-composition .i-sdc-header-menu-item::after {
+ border-right: 1px solid #a8b3b9;
+ content: '';
+ display: block;
+ height: 43px;
+ right: 0;
+ position: absolute;
+ top: 0;
+ width: 2px;
+ }
+ .workspace-composition .i-sdc-header-menu-item:first-child::before {
+ border-right: 1px solid #a8b3b9;
+ content: '';
+ display: block;
+ height: 43px;
+ left: 0;
+ position: absolute;
+ top: 0;
+ width: 2px;
+ }
+ .workspace-composition .i-sdc-header-menu-item-icon {
+ display: inline-block;
+ height: 20px;
+ width: 28px;
+ }
+ .workspace-composition .i-sdc-header-menu-item-label {
+ color: #263d4d;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ line-height: 18px;
+ }
+ .workspace-composition .w-sdc-canvas-menu {
+ position: fixed;
+ z-index: 100;
+ border-style: solid;
+ border-width: 1px;
+ border-color: #d8d8d8;
+ box-sizing: border-box;
+ background-color: #ffffff;
+ box-shadow: 0px 2px 2px 0px rgba(24, 24, 25, 0.1);
+ width: 91px;
+ /* &.vl-type-select{
+ width: 173px;
+ }
+ */
+ }
+ .workspace-composition .w-sdc-canvas-menu h3 {
+ color: #191919;
+ font-size: 14px;
+ font-weight: bold;
+ margin: 0;
+ padding: 7px 11px;
+ border-bottom: 1px solid #e5e5e5;
+ }
+ .workspace-composition .w-sdc-canvas-menu .w-sdc-canvas-menu-content {
+ padding: 5px 5px;
+ }
+ .workspace-composition .w-sdc-canvas-menu .w-sdc-canvas-menu-content.vl-select {
+ border-bottom: #d8d8d8 solid 1px;
+ line-height: 15px;
+ }
+ .workspace-composition .w-sdc-canvas-menu .w-sdc-canvas-menu-content.vl-select .tlv-radio {
+ padding: 3px 0px;
+ }
+ .workspace-composition .w-sdc-canvas-menu .w-sdc-canvas-menu-content.vl-select .tlv-radio .tlv-radio-label {
+ padding: 3px 0px;
+ }
+ .workspace-composition .w-sdc-canvas-menu .w-sdc-canvas-menu-content.vl-select .tlv-radio .tlv-radio-label::before {
+ margin-right: 10px;
+ }
+ .workspace-composition .w-sdc-canvas-menu .w-sdc-canvas-menu-content .w-sdc-canvas-menu-content-update-button {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -64px -2771px;
+ width: 11px;
+ height: 13px;
+ cursor: pointer;
+ position: absolute;
+ top: 15px;
+ right: 10px;
+ }
+ .workspace-composition .w-sdc-canvas-menu .w-sdc-canvas-menu-content .w-sdc-canvas-menu-content-delete-button {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -64px -2771px;
+ width: 11px;
+ height: 13px;
+ cursor: pointer;
+ margin: 0 8px 0 6px;
+ }
+ .workspace-composition .w-sdc-canvas-menu .w-sdc-canvas-menu-arrow {
+ background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAYAAAB4ka1VAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkE1OTIzNDI1MENFQjExRTU4ODRERTI1MDM2REZCOUYzIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkE1OTIzNDI2MENFQjExRTU4ODRERTI1MDM2REZCOUYzIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTU5MjM0MjMwQ0VCMTFFNTg4NERFMjUwMzZERkI5RjMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTU5MjM0MjQwQ0VCMTFFNTg4NERFMjUwMzZERkI5RjMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4gBXTlAAAAOElEQVR42mK0rp7NgASMgZgFiE/CBJjQJPcA8U4gNkdXAJMUAGJ+ZEVMaJIwAFfEhEUSRRFAgAEAVtgJyiLAPWAAAAAASUVORK5CYII=');
+ content: '';
+ display: block;
+ height: 21px;
+ position: absolute;
+ right: 12px;
+ top: -24px;
+ width: 184px;
+ background-repeat: no-repeat;
+ background-position: 175px 16px;
+ }
+ /*.right-tab-loader {
+ border: 16px solid #f3f3f3; !* Light grey *!
+ border-top: 16px solid #3498db; !* Blue *!
+ border-radius: 50%;
+ width: 120px;
+ height: 120px;
+ animation: spin 2s linear infinite;
+ }*/
+ @-webkit-keyframes spin {
+ 0% {
+ -webkit-transform: rotate(0deg);
+ transform: rotate(0deg);
+ }
+ 100% {
+ -webkit-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+ }
+ @keyframes spin {
+ 0% {
+ -webkit-transform: rotate(0deg);
+ transform: rotate(0deg);
+ }
+ 100% {
+ -webkit-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+ }
+ .w-sdc-designer-sidebar-tab-content.artifacts .i-sdc-designer-sidebar-section-content-item-artifact.hand {
+ cursor: pointer;
+ }
+ .w-sdc-designer-sidebar-tab-content.artifacts .w-sdc-designer-sidebar-section-content {
+ padding: 0;
+ }
+ .w-sdc-designer-sidebar-tab-content.artifacts .w-sdc-designer-sidebar-section-title.expanded {
+ margin-bottom: 0;
+ }
+ .w-sdc-designer-sidebar-tab-content.artifacts .i-sdc-designer-sidebar-section-content-item-artifact-details {
+ display: inline-block;
+ margin-left: 5px;
+ vertical-align: middle;
+ width: 180px;
+ }
+ .w-sdc-designer-sidebar-tab-content.artifacts .i-sdc-designer-sidebar-section-content-item-artifact-details.heat {
+ line-height: 18px;
+ width: 250px;
+ }
+ .w-sdc-designer-sidebar-tab-content.artifacts .i-sdc-designer-sidebar-section-content-item-artifact-details-name {
+ color: #263d4d;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ max-width: 220px;
+ display: inline-block;
+ }
+ .w-sdc-designer-sidebar-tab-content.artifacts .i-sdc-designer-sidebar-section-content-item-artifact-details-name.enabled:hover {
+ color: #3b7b9b;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .w-sdc-designer-sidebar-tab-content.artifacts .i-sdc-designer-sidebar-section-content-item-artifact-heat-env {
+ color: #263d4d;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ margin-top: 6px;
+ line-height: 42px;
+ padding-top: 10px;
+ border-top: 1px solid #c8cdd1;
+ }
+ .w-sdc-designer-sidebar-tab-content.artifacts .i-sdc-designer-sidebar-section-content-item-artifact-heat-env .enabled:hover {
+ cursor: pointer;
+ color: #3b7b9b;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .w-sdc-designer-sidebar-tab-content.artifacts .i-sdc-designer-sidebar-section-content-item-artifact-filename {
+ color: #263d4d;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ max-width: 225px;
+ display: inline-block;
+ font-weight: bold;
+ }
+ .w-sdc-designer-sidebar-tab-content.artifacts .i-sdc-designer-sidebar-section-content-item-artifact-filename.enabled:hover {
+ color: #3b7b9b;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .w-sdc-designer-sidebar-tab-content.artifacts .i-sdc-designer-sidebar-section-content-item-file-link {
+ border-left: 1px #848586 solid;
+ height: 58px;
+ margin-left: -11px;
+ margin-top: 11px;
+ border-top: 1px #848586 solid;
+ border-bottom: 1px #848586 solid;
+ width: 12px;
+ float: left;
+ }
+ .w-sdc-designer-sidebar-tab-content.artifacts .i-sdc-designer-sidebar-section-content-item-artifact-details-desc {
+ display: none;
+ line-height: 16px;
+ word-wrap: break-word;
+ white-space: normal;
+ }
+ .w-sdc-designer-sidebar-tab-content.artifacts .i-sdc-designer-sidebar-section-content-item-artifact-details-desc-label {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ }
+ .w-sdc-designer-sidebar-tab-content.artifacts .i-sdc-designer-sidebar-section-content-item-artifact {
+ border-bottom: 1px solid #c8cdd1;
+ padding: 5px 10px 5px 18px;
+ position: relative;
+ min-height: 61px;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ }
+ .w-sdc-designer-sidebar-tab-content.artifacts .i-sdc-designer-sidebar-section-content-item-artifact .i-sdc-designer-sidebar-section-content-item-button {
+ top: 20px;
+ line-height: 10px;
+ }
+ .w-sdc-designer-sidebar-tab-content.artifacts .i-sdc-designer-sidebar-section-content-item-artifact:hover {
+ background-color: #ffffff;
+ transition: all .3s;
+ }
+ .w-sdc-designer-sidebar-tab-content.artifacts .i-sdc-designer-sidebar-section-content-item-artifact:hover .i-sdc-designer-sidebar-section-content-item-button {
+ display: block;
+ }
+ .i-sdc-designer-sidebar-section-content-item-lm {
+ color: #666666;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ border-bottom: 1px solid #cdcdcd;
+ cursor: pointer;
+ height: 65px;
+ padding: 22px 0;
+ position: relative;
+ }
+ .i-sdc-designer-sidebar-section-content-item-lm:hover {
+ background-color: #e6e6e6;
+ margin-left: -10px;
+ margin-right: -10px;
+ padding: 22px 10px;
+ }
+ .i-sdc-designer-sidebar-section-content-item-lm:hover .i-sdc-designer-sidebar-section-content-item-lm-icon {
+ right: 16px;
+ }
+ .i-sdc-designer-sidebar-section-content-item-lm:first-child {
+ margin-top: -18px;
+ }
+ .i-sdc-designer-sidebar-section-content-item-lm-icon {
+ position: absolute;
+ right: 6px;
+ }
+ .i-sdc-designer-sidebar-section-content-item-lm-icon.icon-view {
+ background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAJCAYAAAACTR1pAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjdGMDNBRUJDMDkxNjExRTVCMjRBOEI5QzMxQTlBQjY4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjdGMDNBRUJEMDkxNjExRTVCMjRBOEI5QzMxQTlBQjY4Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6N0YwM0FFQkEwOTE2MTFFNUIyNEE4QjlDMzFBOUFCNjgiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6N0YwM0FFQkIwOTE2MTFFNUIyNEE4QjlDMzFBOUFCNjgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4U2decAAABRUlEQVR42pyRPUvDUBSG39t2UyyaBgvWQZMqKoFq4lBH0U0UqXSxKPaPieCoWPAPKIgdjG1ohaghOrSR1iaLKMXpmnMhQVfPcLmc8zxwPhjnHFE4rx3eMO/w4rr4+vwQuZHRMcwqClaMVeRnplnEskg8O7/g96YJSZLgBz5+R0bKIAgC6IaBvdKukBP0HJ+cctu2cVCtQsrIUFUVlcp+LE6EItWIIVaIV9c3/PnRRqlcxkJeYV2vi+/hEO/9QSx6b56oEUMsOal6/TacQcXinCpaGE+n0QnljufFIuUoiAlZTk6iWFyD6zpoWi3RwvrmBlLJZCzRn3IUxBBLjlgO9e06T9ja3sGyrqPX66NtWQLWCgVks5Owmg1c1mpQ8vM4OqywP1s1w1PkpnJY0jTIsizy/sDHQ7sFmt0ITxJtlf33jj8CDADhB52tEX6ifAAAAABJRU5ErkJggg==');
+ height: 9px;
+ top: 29px;
+ width: 14px;
+ }
+ .i-sdc-designer-sidebar-section-content-item-lm-icon.icon-alert {
+ background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAANCAYAAAB2HjRBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhBM0YxQTBCMDkyMDExRTVBNzlCQUYxNEYwMDUwOTQ5IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhBM0YxQTBDMDkyMDExRTVBNzlCQUYxNEYwMDUwOTQ5Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OEEzRjFBMDkwOTIwMTFFNUE3OUJBRjE0RjAwNTA5NDkiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OEEzRjFBMEEwOTIwMTFFNUE3OUJBRjE0RjAwNTA5NDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7exgceAAAB5klEQVR42oySy2tTQRTGfzN3cpvbpFTaUlzUjeCuVFyJf4DuCl34wL/CrbpUunLnwpUuFFy48IFiwYWhpYuW+gCLrbWKBQumaRIba5ub3MccJ5WECCV44MDMme873/lmBhGhnZulcn/3/sfrO7J/45R017pT0xUS2bC93vy2LAOLt5DfCeUn14RD4h/ysbHRDii/8pyo7DmFiP7VZ4Rbu9KT3I7i+qJklp7ibQt2J6HeNOhXV/gv8tDcbaLtXYLJKeTcZfxqSPPzvGu6ID3J1Q8z0ny/hIkM5swF8qenUFUfwixHCtd7Kwez04jOgEmc+hq6tuZ8N9E6xG5U+Pn2kRxKLs7eE7tRc0XlToRM2sD+2sGmDiY+kWsSFG528Kr1Xgfjfn0n5uElvFrrzVqVDHqkiTKjxCsV9LBx08QkgcY/eZH+89Oqo+x9eumkwQaQaoPEKWpsHHN8ArItgLt5UdiG6736mFLxixyQt+bviik8QPuaNFRIkjqQRZ2YJDo6QWydjTRtOcGPPdJKgnlxFfN9fVmGNhecR4U3mLrL6nPTRTQHXZO5+4jyyI4Iqs99GJvgBiKjcySlj3897y6/kbreI4w0QS7ASxrsa4/cXkxkIzK5PKmNqRMw7NfdeczA+Fn1R4ABAPnMAeCjkgf5AAAAAElFTkSuQmCC');
+ height: 13px;
+ top: 27px;
+ width: 15px;
+ }
+ .w-sdc-designer-sidebar-tab-content.details .w-sdc-designer-sidebar-section-title + .w-sdc-designer-sidebar-section-content {
+ padding: 0 10px 0 18px;
+ }
+ .w-sdc-designer-sidebar-tab-content.details .w-sdc-designer-sidebar-section-title.expanded + .w-sdc-designer-sidebar-section-content {
+ padding: 10px 10px 10px 18px;
+ }
+ .w-sdc-designer-sidebar-tab-content.details .i-sdc-designer-sidebar-section-content-item-label {
+ font-weight: bold;
+ }
+ .w-sdc-designer-sidebar-tab-content.details .i-sdc-designer-sidebar-section-content-item-label.additional-information {
+ max-width: 100px;
+ display: inline-block;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ vertical-align: bottom;
+ }
+ .w-sdc-designer-sidebar-tab-content.details .i-sdc-designer-sidebar-section-content-item-value {
+ padding-left: 10px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ display: inline-block;
+ max-width: 160px;
+ vertical-align: bottom;
+ font-weight: normal;
+ }
+ .w-sdc-designer-sidebar-tab-content.details .i-sdc-designer-sidebar-section-content-item-value.vendor-model-number {
+ max-width: 110px;
+ }
+ .w-sdc-designer-sidebar-tab-content.details .i-sdc-designer-sidebar-section-content-item-value.additional-information {
+ max-width: 160px;
+ display: inline-block;
+ }
+ .w-sdc-designer-sidebar-tab-content.details .i-sdc-designer-sidebar-section-content-item-value.i-sdc-form-select {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ border: 1px solid #cfcfcf;
+ width: 210px;
+ max-width: 210px;
+ padding-left: 4px;
+ }
+ .w-sdc-designer-sidebar-tab-content.details .i-sdc-designer-sidebar-section-content-item-value.i-sdc-form-select .select-instance-version {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ }
+ .w-sdc-designer-sidebar-tab-content.details .i-sdc-designer-sidebar-section-content-item-value.i-sdc-form-select .select-instance-version.minor {
+ color: #da1f3d;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ }
+ .w-sdc-designer-sidebar-tab-content.details .i-sdc-designer-sidebar-section-content-item-value.minor {
+ color: #da1f3d;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ }
+ .w-sdc-designer-sidebar-tab-content.details .i-sdc-designer-sidebar-section-content-description-item-value {
+ max-width: none;
+ font-weight: normal;
+ }
+ .w-sdc-designer-sidebar-tab-content.details .customization-uuid {
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+ }
+ .w-sdc-designer-sidebar-tab-content.details .w-sdc-designer-sidebar-section.tags .i-sdc-designer-sidebar-section-content-item {
+ white-space: normal;
+ }
+ .w-sdc-designer-sidebar-tab-content.properties .i-sdc-designer-sidebar-section-content-item-property-and-attribute-label {
+ font-weight: bold;
+ }
+ .w-sdc-designer-sidebar-tab-content.properties .i-sdc-designer-sidebar-section-content-item-button.update {
+ right: 17px;
+ }
+ .w-sdc-designer-sidebar-tab-content.properties .i-sdc-designer-sidebar-section-content-item-button.delete {
+ right: 35px;
+ }
+ .w-sdc-designer-sidebar-tab-content.properties .w-sdc-designer-sidebar-properties-disabled {
+ color: #191919;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ padding: 20px 20px;
+ }
+ .w-sdc-designer-sidebar-tab-content.properties .vfci-properties-group {
+ background-color: #f2f2f2;
+ }
+ .w-sdc-designer-sidebar-tab-content.properties .expand-collapse-title-icon {
+ cursor: pointer;
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -334px -888px;
+ width: 14px;
+ height: 14px;
+ vertical-align: middle;
+ margin: 0 6px;
+ }
+ .w-sdc-designer-sidebar-tab-content.properties .expanded .expand-collapse-title-icon {
+ background-position: -378px -888px;
+ width: 14px;
+ height: 14px;
+ }
+ .w-sdc-designer-sidebar-tab-content.properties .w-sdc-designer-sidebar-section-title-text {
+ vertical-align: middle;
+ }
+ .w-sdc-designer-sidebar-tab-content.relations .w-sdc-designer-sidebar-section-content {
+ padding: 0;
+ }
+ .w-sdc-designer-sidebar-tab-content.relations .w-sdc-designer-sidebar-section-title.expanded {
+ margin-bottom: 0;
+ }
+ .workspace-deployment-artifact {
+ width: 93%;
+ display: inline-block;
+ }
+ .workspace-deployment-artifact .table-container-flex .table .body .data-row + div.item-opened {
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ padding: 10px 40px 10px 30px;
+ }
+ .workspace-deployment-artifact .w-sdc-classic-btn {
+ float: right;
+ margin-bottom: 10px;
+ }
+ .workspace-deployment-artifact .heat-env-connect-container {
+ background-color: white;
+ position: absolute;
+ height: 70px;
+ width: 20px;
+ left: 0;
+ top: 0;
+ }
+ .workspace-deployment-artifact .heat-env-connect-container-view-mode {
+ background-color: #f8f8f8;
+ }
+ .workspace-deployment-artifact .heat-env-connect {
+ border-left: 1px #848586 solid;
+ height: 50px;
+ margin-left: 10px;
+ margin-top: 10px;
+ border-top: 1px #848586 solid;
+ border-bottom: 1px #848586 solid;
+ width: 11px;
+ float: left;
+ }
+ .workspace-deployment-artifact .artifact-name {
+ width: 85%;
+ }
+ .workspace-deployment-artifact .table-container-flex .table .body .data-row div .heat-env-connect-container {
+ border-right: none;
+ }
+ .workspace-deployment-artifact .i-sdc-designer-sidebar-section-content-item-file-link::before {
+ content: "";
+ background-color: white;
+ width: 12px;
+ }
+ .workspace-deployment-artifact .table {
+ height: 490px;
+ margin-bottom: 0;
+ }
+ .workspace-deployment-artifact .parameter-description {
+ background-color: #8c8c8c;
+ border-radius: 50%;
+ color: #ffffff;
+ content: '';
+ height: 18px;
+ width: 18px;
+ text-align: center;
+ display: block;
+ content: '?';
+ line-height: 18px;
+ vertical-align: middle;
+ margin-left: 5px;
+ cursor: default;
+ display: inline-block;
+ position: absolute;
+ top: 16px;
+ }
+ .workspace-deployment-artifact .table-container-flex {
+ margin-top: 27px;
+ }
+ .workspace-deployment-artifact .table-container-flex .text {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: inline-block;
+ white-space: nowrap;
+ }
+ .workspace-deployment-artifact .table-container-flex .flex-item:nth-child(1) {
+ -webkit-box-flex: 15;
+ -ms-flex-positive: 15;
+ flex-grow: 15;
+ cursor: pointer;
+ padding-left: 30px;
+ position: relative;
+ }
+ .workspace-deployment-artifact .table-container-flex .flex-item:nth-child(1) span.table-arrow {
+ margin-right: 7px;
+ }
+ .workspace-deployment-artifact .table-container-flex .flex-item:nth-child(1) .description-popover-icon {
+ float: right;
+ margin-top: 6px;
+ }
+ .workspace-deployment-artifact .table-container-flex .flex-item:nth-child(2) {
+ -webkit-box-flex: 6;
+ -ms-flex-positive: 6;
+ flex-grow: 6;
+ }
+ .workspace-deployment-artifact .table-container-flex .flex-item:nth-child(3) {
+ -webkit-box-flex: 9;
+ -ms-flex-positive: 9;
+ flex-grow: 9;
+ }
+ .workspace-deployment-artifact .table-container-flex .flex-item:nth-child(4) {
+ -webkit-box-flex: 3;
+ -ms-flex-positive: 3;
+ flex-grow: 3;
+ }
+ .workspace-deployment-artifact .table-container-flex .flex-item:nth-child(5) {
+ -webkit-box-flex: 20;
+ -ms-flex-positive: 20;
+ flex-grow: 20;
+ }
+ .workspace-deployment-artifact .table-container-flex .flex-item:nth-child(6) {
+ -webkit-box-flex: 5;
+ -ms-flex-positive: 5;
+ flex-grow: 5;
+ }
+ .workspace-deployment-artifact .table-container-flex .flex-item:nth-child(6).table-btn-col {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-pack: justify;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ }
+ .workspace-deployment-artifact .table-container-flex .flex-item:nth-child(6).table-btn-col button {
+ -webkit-box-flex: 0;
+ -ms-flex: 0 1 auto;
+ flex: 0 1 auto;
+ background-color: transparent;
+ border: 0;
+ margin: 0;
+ }
+ .workspace-deployment-artifact .table-container-flex .flex-item:nth-child(6).table-btn-col .edit-paramtes-button {
+ -webkit-box-ordinal-group: 0;
+ -ms-flex-order: -1;
+ order: -1;
+ }
+ .workspace-deployment-artifact .w-sdc-form {
+ text-align: left;
+ }
+ .workspace-deployment-artifact .w-sdc-form .w-sdc-env-params {
+ border-top: 1px solid #cdcdcd;
+ margin: 25px 0 10px 0;
+ }
+ .workspace-deployment-artifact .w-sdc-form .i-sdc-form-textarea {
+ border: 1px solid #cdcdcd;
+ min-height: 60px;
+ padding: 10px 13px;
+ width: 100%;
+ resize: none;
+ }
+ .workspace-deployment-artifact .w-sdc-form .w-sdc-form-item.error .i-sdc-form-input,
+ .workspace-deployment-artifact .w-sdc-form .w-sdc-form-item.error .i-sdc-form-select,
+ .workspace-deployment-artifact .w-sdc-form .w-sdc-form-item.error .i-sdc-form-textarea {
+ border-color: #da1f3d;
+ outline: none;
+ box-sizing: border-box;
+ }
+ .workspace-deployment-artifact .w-sdc-form .i-sdc-env-form-label {
+ font-family: omnes-medium, sans-serif;
+ color: #5a5a5a;
+ overflow: hidden;
+ max-width: 450px;
+ text-overflow: ellipsis;
+ display: inline-block;
+ white-space: nowrap;
+ margin-top: 14px;
+ }
+ .workspace-deployment-artifact .w-sdc-form .i-sdc-env-form-label.required::before {
+ color: #f33;
+ content: '*';
+ margin-right: 4px;
+ }
+ .table-container-flex .table .body .scrollbar-container {
+ overflow-x: auto !important;
+ }
+ .parameter-description-popover.deployment-artifact-view {
+ margin-left: -22px;
+ z-index: 1040;
+ min-width: 300px;
+ }
+ .parameter-description-popover.deployment-artifact-view .input-error {
+ color: #cf2a2a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+ }
+ .parameter-description-popover.deployment-artifact-view .error textarea {
+ border-color: #ea7499;
+ color: #da1f3d;
+ outline: none;
+ }
+ .parameter-description-popover.deployment-artifact-view .popover-content textarea {
+ width: 100%;
+ }
+ .deployment-view {
+ display: inline-block;
+ text-align: left;
+ -webkit-box-align: left;
+ -ms-flex-align: left;
+ align-items: left;
+ padding: 0;
+ width: 100%;
+ height: 100%;
+ }
+ .deployment-view .w-sdc-deployment-canvas {
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ background-color: #ffffff;
+ bottom: 0;
+ width: 100%;
+ height: 100%;
+ }
+ .deployment-view .w-sdc-deployment-canvas .view-mode {
+ background-color: #f8f8f8;
+ border: 0;
+ }
+ .deployment-view .w-sdc-deployment-right-bar {
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ bottom: 0;
+ position: absolute;
+ right: 0px;
+ transition: right 0.2s;
+ z-index: 10000;
+ top: 53px;
+ }
+ .w-sdc-classic-top-line-modal .w-sdc-distribution-view .actions-buttons {
+ height: 29px;
+ padding: 0 25px 0 0px;
+ }
+ .w-sdc-classic-top-line-modal .w-sdc-distribution-view .actions-buttons span {
+ float: right;
+ }
+ .w-sdc-classic-top-line-modal .w-sdc-distribution-view .w-sdc-distribution-view-content {
+ height: 500px;
+ }
+ .w-sdc-classic-top-line-modal .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-components-block .omf-component-row .w-sdc-distribute-status-block {
+ margin-left: 0;
+ }
+ .w-sdc-classic-top-line-modal .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-components-block div {
+ padding-left: 0;
+ }
+ .w-sdc-distribution-view {
+ text-align: left;
+ color: #263d4d;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ min-height: 500px;
+ background-color: #ffffff;
+ vertical-align: top;
+ padding: 30px 10px;
+ width: 100%;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-distributed-green-text {
+ color: #1e9a33;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ font-weight: bold;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-distributed-error-red-text {
+ color: #da1f3d;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ font-weight: bold;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-header {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-justify-content: space-between;
+ margin: 0 25px 5px 40px;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-header .header-spacer {
+ -webkit-box-flex: 5;
+ -ms-flex-positive: 5;
+ flex-grow: 5;
+ }
+ .w-sdc-distribution-view .top-search {
+ position: relative;
+ }
+ .w-sdc-distribution-view .top-search input.search-text {
+ height: 26px;
+ line-height: 26px;
+ margin: 0 18px 4px 20px;
+ padding-right: 25px;
+ }
+ .w-sdc-distribution-view .top-search .magnification {
+ top: 8px;
+ right: 25px;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content {
+ padding: 0 25px 0 0px;
+ margin-bottom: 25px;
+ height: 700px;
+ overflow: hidden;
+ position: relative;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-title {
+ color: #191919;
+ font-family: omnes-regular, sans-serif;
+ font-size: 14px;
+ line-height: 30px;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-title span {
+ padding-left: 5px;
+ }
+ .w-sdc-distribution-view .blue-font {
+ color: #009fdb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .w-sdc-distribution-view .red-font {
+ color: #cf2a2a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-block div {
+ display: inline-block;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section ul {
+ list-style-type: none;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .distribution-bth {
+ cursor: pointer;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .distribution-bth.disabled {
+ cursor: none;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .copy-link {
+ padding-right: 19px;
+ margin-left: 8px;
+ cursor: pointer;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-row-extends {
+ border-Left: solid 4px transparent;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-row-extends.extends {
+ border-left: solid 4px #71c5eb;
+ border-bottom: 1px solid #cfcfcf;
+ margin-bottom: 10px;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block {
+ border: 1px solid #d2d2d2;
+ width: 100%;
+ margin-bottom: 6px;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .status-icon {
+ vertical-align: middle;
+ margin-bottom: 4px;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block.extends {
+ background-color: #f8f8f8;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block :not(.disable-hover):hover {
+ background-color: #eaeaea;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .title-section {
+ display: inline-block;
+ margin-right: 10px;
+ -ms-flex-preferred-size: 0;
+ flex-basis: 0;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .title {
+ color: #000000;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+ font-weight: bold;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-content {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-box-pack: justify;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+ margin-left: 10px;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribution-arrow-btn {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -250px -237px;
+ width: 12px;
+ height: 6px;
+ margin: 0 6px;
+ display: inline-table;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .extends.w-sdc-distribution-arrow-btn {
+ -webkit-transform: rotate(180deg);
+ transform: rotate(180deg);
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-row {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-box-pack: justify;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-row .w-sdc-distribute-row-content {
+ margin: 15px 31px 10px 0;
+ width: 100%;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-row .w-sdc-distribute-row-content .w-sdc-distribute-status-block {
+ border-top: solid 1px #d2d2d2;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-row .w-sdc-distribute-row-content .item-1 {
+ -webkit-box-flex: 2;
+ -ms-flex-positive: 2;
+ flex-grow: 2;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-row .w-sdc-distribute-row-content .item-2 {
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-row .w-sdc-distribute-row-content .item-3 {
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-row .w-sdc-distribute-row-content .item-4 {
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-row .w-sdc-distribute-row-content .item-5 {
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-status-block {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-box-pack: justify;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+ margin: 10px 5px 0 5px;
+ padding: 5px 5px 0 5px;
+ width: 100%;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-status-block div {
+ border-left: 1px solid #d2d2d2;
+ padding: 0 12px;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-status-block .link {
+ color: #009fdb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ cursor: pointer;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-status-block .link:hover {
+ text-decoration: underline;
+ color: #056bae;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-status-block span {
+ padding: 2px;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-status-block .deployed {
+ margin-left: 10px;
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -170px -706px;
+ width: 12px;
+ height: 12px;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-status-block .error {
+ color: #cf2a2a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ margin-left: 10px;
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -51px -751px;
+ width: 13px;
+ height: 11px;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-status-block .status-item-1 {
+ border-left: 0;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-status-block .status-item-6 {
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ border-left: none;
+ text-align: right;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-components-block {
+ padding: 0;
+ padding-bottom: 5px;
+ list-style-type: none;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-components-block li {
+ margin: 5px 2px;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-components-block .omf-component-row {
+ border: 1px solid #cfcfcf;
+ padding-left: 3px;
+ background-color: white;
+ margin: 0 30px;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-components-block .omf-component-row.extends {
+ padding-left: 0;
+ border-Left: solid 4px #71c5eb;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-components-block .omf-component-row .w-sdc-distribute-status-block {
+ margin: 5px;
+ padding: 5px;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-components-block .omf-component-row .blue-font {
+ color: #009fdb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 16px;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-components-block .omf-component-row:hover {
+ background-color: #eaeaea;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-omfComponent-block {
+ background-color: white;
+ margin: 0 30px;
+ padding: 8px 10px;
+ border: 1px solid #cfcfcf;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-omfComponent-block .omfComponent-table-head {
+ margin-bottom: 5px;
+ background-color: #eaeaea;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-omfComponent-block .omfComponent-table-head .title {
+ padding: 6px 10px;
+ border-left: 1px solid #cfcfcf;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-omfComponent-block .omfComponent-table-head .title:first-child {
+ border: none;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-omfComponent-block .omfComponent-table-row {
+ border-bottom: 1px solid #cfcfcf;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-omfComponent-block .omfComponent-table-row.row-0 {
+ border-top: 1px solid #cfcfcf;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-omfComponent-block .omfComponent-table-row .w-sdc-distribute-cell {
+ padding: 10px;
+ border-left: 1px solid #cfcfcf;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-omfComponent-block .omfComponent-table-row .w-sdc-distribute-cell:last-child {
+ border-right: 1px solid #cfcfcf;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-omfComponent-block .omfComponent-table-row .w-sdc-distribute-cell.item-5 {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-omfComponent-block .w-sdc-distribute-row.extends {
+ border-Left: solid 4px #71c5eb;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-omfComponent-block .w-sdc-distribute-row.extends .item-1 {
+ border: none;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-omfComponent-block .item-1 {
+ width: 20%;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-omfComponent-block .item-2 {
+ width: 20%;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-omfComponent-block .item-3 {
+ width: 24%;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-omfComponent-block .item-4 {
+ width: 18%;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-omfComponent-block .item-5 {
+ width: 18%;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-url-block {
+ padding: 10px 15px;
+ border: none;
+ border-right: 1px solid #cfcfcf;
+ border-bottom: 1px solid #cfcfcf;
+ width: 100%;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-url-block li {
+ border: none;
+ }
+ .w-sdc-distribution-view .w-sdc-distribution-view-content-section .w-sdc-distribute-parent-block .w-sdc-distribute-url-block li span {
+ padding-right: 30px;
+ color: #5a5a5a;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ }
+ .sdc-workspace-general-step {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ }
+ .sdc-workspace-general-step .w-sdc-form {
+ padding: 0;
+ -webkit-box-flex: 10;
+ -ms-flex-positive: 10;
+ flex-grow: 10;
+ }
+ .sdc-workspace-general-step .w-sdc-form .i-sdc-form-file-upload input[type="button"] {
+ cursor: pointer;
+ display: block;
+ filter: alpha(opacity=0);
+ width: 100px;
+ height: 30px;
+ opacity: 0;
+ position: absolute;
+ right: 0;
+ text-align: right;
+ top: 0;
+ }
+ .sdc-workspace-general-step .w-sdc-form .i-sdc-form-file-upload .file-upload-browse-btn {
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ background-color: #ECEFF3;
+ padding: 4px 6px;
+ cursor: pointer;
+ z-index: 999;
+ width: 100px;
+ height: 28px;
+ text-align: center;
+ }
+ .sdc-workspace-general-step .w-sdc-form .i-sdc-form-file-upload .file-upload-browse-btn.disabled {
+ cursor: default;
+ }
+ .sdc-workspace-general-step .w-sdc-form .description {
+ height: 116px;
+ }
+ .sdc-workspace-general-step .w-sdc-form .w-sdc-form-section-container {
+ text-align: center;
+ }
+ .sdc-workspace-general-step .w-sdc-form .i-sdc-form-item {
+ margin-bottom: 15px;
+ }
+ .sdc-workspace-general-step .w-sdc-form .i-sdc-form-item.upload {
+ margin-top: 0;
+ width: auto;
+ padding: 10px;
+ }
+ .sdc-workspace-general-step .w-sdc-form .template-desc {
+ border: 1px dashed #cfcfcf;
+ height: 130px;
+ overflow: hidden;
+ padding: 10px 6px 6px 6px;
+ margin-top: 10px;
+ }
+ .sdc-workspace-general-step .w-sdc-form .sdc-tag .tag {
+ max-width: 225px;
+ }
+ .sdc-workspace-general-step .meta-data {
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ padding-left: 6%;
+ text-align: left;
+ margin-top: 20px;
+ }
+ .sdc-workspace-general-step .meta-data .meta-data-item-value {
+ padding-bottom: 20px;
+ }
+ .workspace-icons {
+ width: 89%;
+ display: inline-block;
+ text-align: center;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ }
+ .workspace-icons .w-sdc-form {
+ padding-top: 0px;
+ padding-bottom: 0px;
+ }
+ .workspace-icons .w-sdc-form .selected-icon-container {
+ text-align: left;
+ border: 1px solid #cfcfcf;
+ clear: both;
+ margin-bottom: 30px;
+ padding: 2px 0px 5px 5px;
+ }
+ .workspace-icons .w-sdc-form .selected-icon-container .selected-icon {
+ margin: 8px 5px 0px 6px;
+ }
+ .workspace-icons .w-sdc-form .suggested-icons-container {
+ text-align: left;
+ border: 1px solid #cfcfcf;
+ clear: both;
+ padding: 2px 0px 5px 5px;
+ height: 340px;
+ margin-bottom: 0px;
+ }
+ .workspace-icons .w-sdc-form .suggested-icons-container .suggested-icon-wrapper {
+ margin: 8px 5px 0px 6px;
+ display: inline-block;
+ }
+ .workspace-icons .w-sdc-form .suggested-icons-container .suggested-icon-wrapper.selected {
+ border: 2px solid #009fdb;
+ border-radius: 35px;
+ display: inline-block;
+ line-height: 0px;
+ padding: 3px;
+ }
+ .workspace-icons .w-sdc-form .suggested-icons-container .suggested-icon {
+ display: inline-block;
+ }
+ .workspace-icons .w-sdc-form .suggested-icons-container .suggested-icon.disable {
+ opacity: 0.4;
+ }
+ .workspace-icons .w-sdc-form .icons-label {
+ float: left;
+ }
+ .workspace-icons .w-sdc-form .icons-text {
+ text-align: left;
+ line-height: 32px;
+ padding-left: 10px;
+ width: 100%;
+ border: 1px solid #cfcfcf;
+ border-bottom: none;
+ }
+ .workspace-information-artifact {
+ width: 93%;
+ display: inline-block;
+ }
+ .workspace-information-artifact .w-sdc-classic-btn {
+ float: right;
+ margin-bottom: 10px;
+ }
+ .workspace-information-artifact .table {
+ height: 490px;
+ margin-bottom: 0;
+ }
+ .workspace-information-artifact .table-container-flex {
+ margin-top: 27px;
+ }
+ .workspace-information-artifact .table-container-flex .item-opened {
+ word-wrap: break-word;
+ }
+ .workspace-information-artifact .table-container-flex .text {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: inline-block;
+ white-space: nowrap;
+ }
+ .workspace-information-artifact .table-container-flex .flex-item:nth-child(1) {
+ -webkit-box-flex: 15;
+ -ms-flex-positive: 15;
+ flex-grow: 15;
+ cursor: pointer;
+ }
+ .workspace-information-artifact .table-container-flex .flex-item:nth-child(1) span.table-arrow {
+ margin-right: 7px;
+ }
+ .workspace-information-artifact .table-container-flex .flex-item:nth-child(2) {
+ -webkit-box-flex: 6;
+ -ms-flex-positive: 6;
+ flex-grow: 6;
+ }
+ .workspace-information-artifact .table-container-flex .flex-item:nth-child(3) {
+ -webkit-box-flex: 3;
+ -ms-flex-positive: 3;
+ flex-grow: 3;
+ }
+ .workspace-information-artifact .table-container-flex .flex-item:nth-child(4) {
+ -webkit-box-flex: 20;
+ -ms-flex-positive: 20;
+ flex-grow: 20;
+ }
+ .workspace-information-artifact .table-container-flex .flex-item:nth-child(5) {
+ -webkit-box-flex: 5;
+ -ms-flex-positive: 5;
+ flex-grow: 5;
+ padding-top: 10px;
+ }
+ .workspace-inputs {
+ width: 100%;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ }
+ .workspace-inputs .sdc-workspace-container .w-sdc-main-right-container .w-sdc-main-container-body-content {
+ padding: 25px 8% 25px 8%;
+ }
+ .workspace-inputs .w-sdc-main-container .w-sdc-main-right-container > div:first-child {
+ /* scroll fix */
+ padding-bottom: 0px;
+ }
+ .workspace-inputs .text {
+ padding-left: 15px;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ white-space: nowrap;
+ }
+ .workspace-inputs .title-text {
+ color: #5a5a5a;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+ font-weight: bold;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ }
+ .workspace-inputs .no-overflow {
+ text-overflow: ellipsis;
+ overflow: hidden;
+ white-space: nowrap;
+ }
+ .workspace-inputs .title-blue-text {
+ color: #009fdb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 13px;
+ }
+ .workspace-inputs .title-blue-text.property-name-text {
+ padding-right: 13px;
+ border-right: 1px solid rgba(120, 136, 148, 0.26);
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ white-space: nowrap;
+ }
+ .workspace-inputs .instance-name-text {
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ }
+ .workspace-inputs ng-include {
+ width: 45%;
+ }
+ .workspace-inputs .w-sdc-inputs-search {
+ padding: 10px 20px 20px 0;
+ white-space: nowrap;
+ position: relative;
+ width: 60%;
+ height: 64px;
+ }
+ .workspace-inputs .w-sdc-inputs-search .inputs-search-icon {
+ top: 9px;
+ right: 11px;
+ }
+ .workspace-inputs .w-sdc-inputs-search .magnification-white {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -434px -128px;
+ width: 14px;
+ height: 14px;
+ cursor: pointer;
+ }
+ .workspace-inputs .w-sdc-inputs-search .search-icon-container {
+ width: 35px;
+ height: 30px;
+ background-color: #009fdb;
+ white-space: nowrap;
+ float: right;
+ position: relative;
+ bottom: 31px;
+ right: 1px;
+ border-radius: 0px 4px 4px 0px;
+ cursor: pointer;
+ }
+ .workspace-inputs .total-inputs-count {
+ width: 100%;
+ font-weight: bold;
+ text-align: left;
+ }
+ .workspace-inputs .new-input-button {
+ margin: 9px 0 0 0;
+ }
+ .workspace-inputs .w-sdc-inputs-search-input {
+ border: 1px solid #cdcdcd;
+ border-radius: 4px;
+ height: 32px;
+ margin: 0;
+ padding: 0px 28px 3px 10px;
+ vertical-align: 4px;
+ width: 100%;
+ outline: none;
+ font-style: italic;
+ }
+ .workspace-inputs .w-sdc-classic-btn {
+ float: right;
+ margin-bottom: 10px;
+ }
+ .workspace-inputs .prop-to-input-button {
+ position: absolute;
+ top: 50%;
+ margin-right: -20px;
+ margin-bottom: -10px;
+ }
+ .workspace-inputs .table-container-flex .flex-item {
+ line-height: 22px;
+ }
+ .workspace-inputs .table-container-flex .expand-collapse-table-row .data-row {
+ background: #eaeaea;
+ cursor: pointer;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ padding: 0 12px;
+ margin: 1px 0px 1px 0px;
+ min-height: 40px;
+ }
+ .workspace-inputs .table-container-flex .expand-collapse-table-row .data-row:hover {
+ background-color: #D3DBE0;
+ }
+ .workspace-inputs .table {
+ height: 640px;
+ margin-bottom: 0;
+ clear: both;
+ }
+ .workspace-inputs .table .empty-row {
+ padding: 3px;
+ }
+ .workspace-inputs .table .flex-item {
+ line-height: 22px;
+ }
+ .workspace-inputs .table .table-header {
+ line-height: 14px;
+ background-color: #009fdb;
+ color: #ffffff;
+ text-align: left;
+ padding: 7px 5px 7px 10px;
+ font-family: omnes-medium, sans-serif;
+ font-size: 14px;
+ }
+ .workspace-inputs .table .head {
+ background-color: #e6e6e6;
+ }
+ .workspace-inputs .table .body .scrollbar-container {
+ position: relative;
+ overflow: hidden;
+ max-height: 610px;
+ }
+ .workspace-inputs .table .body .expand-collapse-inputs-table-icon {
+ cursor: pointer;
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -350px -236px;
+ width: 12px;
+ height: 7px;
+ transition: .3s all;
+ position: relative;
+ left: 8px;
+ border: none !important;
+ padding: 0px 10px 0px 10px;
+ }
+ .workspace-inputs .table .body .table-col-text {
+ margin-left: 14px;
+ }
+ .workspace-inputs .inputs-header {
+ width: 100%;
+ position: relative;
+ bottom: 31px;
+ }
+ .workspace-inputs .inputs-tables-container {
+ width: 100%;
+ min-width: 100%;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ }
+ .workspace-inputs .inputs-button-container {
+ width: 8%;
+ min-width: 8%;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ }
+ .workspace-inputs .inputs-button-container .right-arrow-btn {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -650px -619px;
+ width: 29px;
+ height: 29px;
+ margin: auto;
+ cursor: pointer;
+ }
+ .workspace-inputs .table-container-flex {
+ margin-top: 27px;
+ width: 46%;
+ min-width: 46%;
+ display: inline-block;
+ float: left;
+ }
+ .workspace-inputs .property-row .input-check-box {
+ text-align: center;
+ }
+ .workspace-inputs .service-inputs-view .table-container-flex {
+ width: 100% !important;
+ }
+ .workspace-inputs .service-inputs-view .table-loader {
+ position: relative;
+ top: 215px;
+ }
+ .workspace-inputs .infinite-scroll {
+ overflow-y: scroll;
+ overflow-x: hidden;
+ max-height: 400px;
+ }
+ .workspace-inputs .class_with_css_props_leading_to_a_scroll {
+ height: 100%;
+ overflow-y: auto;
+ }
+ .workspace-inputs .table-container-flex .expand-collapse-table-row .service-input-row {
+ padding-left: 15px;
+ border: none;
+ border-bottom: rgba(120, 136, 148, 0.26) solid 1px;
+ }
+ .workspace-inputs .table-container-flex .expand-collapse-table-row .service-input-row.service-input-row {
+ background: #eaeaea;
+ }
+ .workspace-inputs .table-container-flex .expand-collapse-table-row .service-input-row.service-input-row.new-input {
+ background: #e6f6fb;
+ }
+ .workspace-hierarchy {
+ display: inline-block;
+ width: 93%;
+ }
+ .workspace-hierarchy .scrollbar-container {
+ max-height: 400px;
+ position: relative;
+ overflow: hidden;
+ }
+ .workspace-hierarchy .dropdown-container {
+ position: relative;
+ display: inline-block;
+ width: 100%;
+ }
+ .workspace-hierarchy .dropdown-container:after {
+ top: 47%;
+ right: 1%;
+ border: solid transparent;
+ content: " ";
+ height: 0;
+ width: 0;
+ position: absolute;
+ pointer-events: none;
+ border-color: rgba(0, 0, 0, 0);
+ border-top-color: black;
+ border-width: 4px;
+ margin-left: -4px;
+ }
+ .workspace-hierarchy .dropdown-container .dropdown-input-text {
+ width: 100%;
+ padding: 4px 10px;
+ }
+ .workspace-hierarchy .dropdown-container .dropdown-content {
+ position: relative;
+ border: 1px solid #d8d8d8;
+ display: none;
+ position: absolute;
+ overflow: hidden;
+ width: 100%;
+ background-color: #ffffff;
+ max-height: 400px;
+ z-index: 999999;
+ }
+ .workspace-hierarchy .dropdown-container .dropdown-content .dropdown-option {
+ border-bottom: 1px solid #d8d8d8;
+ display: inline-block;
+ width: 100%;
+ }
+ .workspace-hierarchy .dropdown-container .dropdown-content .category-container {
+ width: 250px;
+ float: left;
+ padding-left: 5px;
+ }
+ .workspace-hierarchy .dropdown-container .dropdown-content .category-container .category {
+ font-weight: bold;
+ padding: 3px 3px 2px 3px;
+ }
+ .workspace-hierarchy .dropdown-container .dropdown-content .category-container .category:after {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -262px -4041px;
+ width: 11px;
+ height: 10px;
+ content: '';
+ margin-left: 5px;
+ -webkit-transform: rotate(180deg);
+ transform: rotate(180deg);
+ }
+ .workspace-hierarchy .dropdown-container .dropdown-content .category-container .subcategory {
+ padding-left: 3px;
+ }
+ .workspace-hierarchy .dropdown-container .dropdown-content .groupings-container {
+ display: inline-block;
+ width: 424px;
+ border-left: 1px solid #d8d8d8;
+ min-height: 55px;
+ }
+ .workspace-hierarchy .dropdown-container .dropdown-content .groupings-container .group {
+ padding: 3px 3px 3px 10px;
+ }
+ .workspace-hierarchy .dropdown-container .dropdown-content .groupings-container .group:hover {
+ cursor: pointer;
+ background-color: #ECEFF3;
+ }
+ .workspace-hierarchy .dropdown-container .dropdown-content .groupings-container .group.disabled-group {
+ opacity: 0.5;
+ }
+ .workspace-hierarchy .dropdown-container .dropdown-content .groupings-container .group.disabled-group:hover {
+ cursor: auto;
+ background-color: #ffffff;
+ }
+ .workspace-hierarchy .dropdown-container .dropdown-content .seperator {
+ height: 1px;
+ width: 100%;
+ background-color: #D3DBE0;
+ margin: 5px 0px;
+ }
+ .workspace-hierarchy .dropdown-container .show {
+ display: block;
+ }
+ .workspace-hierarchy .hierarchy-groups-container {
+ color: #666666;
+ font-family: omnes-regular, sans-serif;
+ font-size: 13px;
+ width: 100%;
+ border: 1px solid #d8d8d8;
+ height: 425px;
+ padding: 15px;
+ text-align: center;
+ }
+ .workspace-hierarchy .hierarchy-groups-container .scrollbar-container {
+ z-index: 0;
+ }
+ .workspace-hierarchy .hierarchy-groups-container .no-group-text {
+ text-align: center;
+ margin-top: 25px;
+ }
+ .workspace-hierarchy .hierarchy-groups-container .no-group-text a {
+ cursor: pointer;
+ }
+ .workspace-hierarchy .hierarchy-groups-container .group-tag {
+ display: inline-block;
+ float: left;
+ }
+ .workspace-properties {
+ width: 93%;
+ display: inline-block;
+ }
+ .workspace-properties #left-top-bar {
+ float: left;
+ width: 155px;
+ }
+ .workspace-properties #left-top-bar ::-webkit-input-placeholder {
+ font-style: italic;
+ }
+ .workspace-properties #left-top-bar :-moz-placeholder {
+ font-style: italic;
+ }
+ .workspace-properties #left-top-bar ::-moz-placeholder {
+ font-style: italic;
+ }
+ .workspace-properties #left-top-bar :-ms-input-placeholder {
+ font-style: italic;
+ }
+ .workspace-properties #left-top-bar #properties-count {
+ font-weight: bold;
+ float: left;
+ }
+ .workspace-properties #left-top-bar #search-by-name {
+ border-radius: 2px;
+ width: 245px;
+ height: 32px;
+ line-height: 32px;
+ border: 1px solid #d2d2d2;
+ text-indent: 10px;
+ }
+ .workspace-properties #left-top-bar .search-button {
+ cursor: pointer;
+ float: right;
+ position: relative;
+ top: -22px;
+ right: -80px;
+ }
+ .workspace-properties .add-btn {
+ margin: 36px 0 0 0;
+ }
+ .workspace-properties .delete-col-header {
+ background-image: url(/sdc1/scripts/images/sprite-global-old.36e32171fc7d958da86b.png);
+ display: inline-block;
+ background-position: -64px -2771px;
+ width: 11px;
+ height: 13px;
+ }
+ .workspace-properties .w-sdc-classic-btn {
+ float: right;
+ margin-bottom: 10px;
+ }
+ .workspace-properties .table {
+ height: 490px;
+ margin-bottom: 0;
+ }
+ .workspace-properties .data-row .table-delete-btn {
+ display: none !important;
+ }
+ .workspace-properties .data-row:hover .table-delete-btn {
+ display: inline-block !important;
+ }
+ .workspace-properties .table-container-flex {
+ margin-top: 27px;
+ }
+ .workspace-properties .table-container-flex .text {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: inline-block;
+ white-space: nowrap;
+ }
+ .workspace-properties .table-container-flex .flex-item:nth-child(1) {
+ -webkit-box-flex: 15;
+ -ms-flex-positive: 15;
+ flex-grow: 15;
+ }
+ .workspace-properties .table-container-flex .flex-item:nth-child(1) a {
+ cursor: pointer;
+ }
+ .workspace-properties .table-container-flex .flex-item:nth-child(2) {
+ -webkit-box-flex: 6;
+ -ms-flex-positive: 6;
+ flex-grow: 6;
+ }
+ .workspace-properties .table-container-flex .flex-item:nth-child(3) {
+ -webkit-box-flex: 6;
+ -ms-flex-positive: 6;
+ flex-grow: 6;
+ }
+ .workspace-properties .table-container-flex .flex-item:nth-child(4) {
+ -webkit-box-flex: 20;
+ -ms-flex-positive: 20;
+ flex-grow: 20;
+ }
+ .workspace-properties .table-container-flex .flex-item:nth-child(5) {
+ -webkit-box-flex: 3;
+ -ms-flex-positive: 3;
+ flex-grow: 3;
+ padding-top: 10px;
+ }
+ .workspace-req-and-cap {
+ width: 93%;
+ display: inline-block;
+ }
+ .workspace-req-and-cap .tabs {
+ float: left;
+ position: relative;
+ top: 6px;
+ }
+ .workspace-req-and-cap .tabs button {
+ float: left;
+ width: 233px;
+ height: 38px;
+ background-color: #f8f8f8;
+ border: 1px solid #d2d2d2;
+ color: black;
+ }
+ .workspace-req-and-cap .tabs button:nth-child(1) {
+ border-radius: 10px 0 0 0;
+ }
+ .workspace-req-and-cap .tabs button:nth-child(2) {
+ border-radius: 0 10px 0 0;
+ }
+ .workspace-req-and-cap .tabs button.selected {
+ background-color: #009fdb;
+ border: 1px solid #009fdb;
+ color: white;
+ }
+ .workspace-req-and-cap .search {
+ margin-bottom: 12px;
+ float: right;
+ }
+ .workspace-req-and-cap .search ::-webkit-input-placeholder {
+ font-style: italic;
+ }
+ .workspace-req-and-cap .search :-moz-placeholder {
+ font-style: italic;
+ }
+ .workspace-req-and-cap .search ::-moz-placeholder {
+ font-style: italic;
+ }
+ .workspace-req-and-cap .search :-ms-input-placeholder {
+ font-style: italic;
+ }
+ .workspace-req-and-cap .search #search-box {
+ border-radius: 2px 0 0 2px;
+ width: 213px;
+ height: 32px;
+ line-height: 32px;
+ border: 1px solid #d2d2d2;
+ text-indent: 10px;
+ float: left;
+ }
+ .workspace-req-and-cap .search .search-icon-container {
+ background-color: #009fdb;
+ height: 32px;
+ width: 32px;
+ border-radius: 0 2px 2px 0;
+ float: left;
+ }
+ .workspace-req-and-cap .search .search-icon-container .search-icon {
+ position: relative;
+ top: 9px;
+ }
+ .workspace-req-and-cap .expand-collapse-buttons {
+ float: right;
+ width: 44px;
+ margin-left: 11px;
+ margin-top: 10px;
+ }
+ .workspace-req-and-cap .expand-collapse-buttons span {
+ vertical-align: bottom;
+ cursor: pointer;
+ }
+ .workspace-req-and-cap .table {
+ height: 490px;
+ margin-bottom: 0;
+ }
+ .workspace-req-and-cap .arrow-up-small.opened {
+ background-position: -300px -237px;
+ width: 12px;
+ height: 6px;
+ }
+ .workspace-req-and-cap .item-opened {
+ background-color: #f8f8f8;
+ }
+ .workspace-req-and-cap .properties-title {
+ margin: 0;
+ font-weight: bold;
+ }
+ .workspace-req-and-cap .table-container-flex {
+ margin-top: 10px;
+ }
+ .workspace-req-and-cap .table-container-flex .text {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: inline-block;
+ white-space: nowrap;
+ }
+ .workspace-req-and-cap .table-container-flex.requirements-table {
+ border-top: 4px solid #009fdb;
+ }
+ .workspace-req-and-cap .table-container-flex.requirements-table .flex-item:nth-child(1) {
+ -webkit-box-flex: 20;
+ -ms-flex-positive: 20;
+ flex-grow: 20;
+ }
+ .workspace-req-and-cap .table-container-flex.requirements-table .flex-item:nth-child(2) {
+ -webkit-box-flex: 20;
+ -ms-flex-positive: 20;
+ flex-grow: 20;
+ }
+ .workspace-req-and-cap .table-container-flex.requirements-table .flex-item:nth-child(3) {
+ -webkit-box-flex: 20;
+ -ms-flex-positive: 20;
+ flex-grow: 20;
+ }
+ .workspace-req-and-cap .table-container-flex.requirements-table .flex-item:nth-child(4) {
+ -webkit-box-flex: 20;
+ -ms-flex-positive: 20;
+ flex-grow: 20;
+ }
+ .workspace-req-and-cap .table-container-flex.requirements-table .flex-item:nth-child(5) {
+ -webkit-box-flex: 20;
+ -ms-flex-positive: 20;
+ flex-grow: 20;
+ }
+ .workspace-req-and-cap .table-container-flex.requirements-table .flex-item:nth-child(6) {
+ -webkit-box-flex: 20;
+ -ms-flex-positive: 20;
+ flex-grow: 20;
+ }
+ .workspace-req-and-cap .table-container-flex.capabilities-table {
+ border-top: 4px solid #009fdb;
+ }
+ .workspace-req-and-cap .table-container-flex.capabilities-table .selected .flex-item:nth-child(1) {
+ border-left: 4px solid #009fdb;
+ padding-right: 11px;
+ }
+ .workspace-req-and-cap .table-container-flex.capabilities-table .flex-item:nth-child(1) {
+ -webkit-box-flex: 10;
+ -ms-flex-positive: 10;
+ flex-grow: 10;
+ }
+ .workspace-req-and-cap .table-container-flex.capabilities-table .flex-item:nth-child(2) {
+ -webkit-box-flex: 10;
+ -ms-flex-positive: 10;
+ flex-grow: 10;
+ }
+ .workspace-req-and-cap .table-container-flex.capabilities-table .flex-item:nth-child(3) {
+ -webkit-box-flex: 10;
+ -ms-flex-positive: 10;
+ flex-grow: 10;
+ }
+ .workspace-req-and-cap .table-container-flex.capabilities-table .flex-item:nth-child(4) {
+ -webkit-box-flex: 10;
+ -ms-flex-positive: 10;
+ flex-grow: 10;
+ }
+ .workspace-req-and-cap .table-container-flex.capabilities-table .flex-item:nth-child(5) {
+ -webkit-box-flex: 10;
+ -ms-flex-positive: 10;
+ flex-grow: 10;
+ }
+ .workspace-req-and-cap .table-container-flex.properties-table .table {
+ height: auto;
+ }
+ .workspace-req-and-cap .table-container-flex.properties-table .flex-item:nth-child(1) {
+ -webkit-box-flex: 15;
+ -ms-flex-positive: 15;
+ flex-grow: 15;
+ }
+ .workspace-req-and-cap .table-container-flex.properties-table .flex-item:nth-child(1) a {
+ cursor: pointer;
+ }
+ .workspace-req-and-cap .table-container-flex.properties-table .flex-item:nth-child(2) {
+ -webkit-box-flex: 6;
+ -ms-flex-positive: 6;
+ flex-grow: 6;
+ }
+ .workspace-req-and-cap .table-container-flex.properties-table .flex-item:nth-child(3) {
+ -webkit-box-flex: 6;
+ -ms-flex-positive: 6;
+ flex-grow: 6;
+ }
+ .workspace-req-and-cap .table-container-flex.properties-table .flex-item:nth-child(4) {
+ -webkit-box-flex: 20;
+ -ms-flex-positive: 20;
+ flex-grow: 20;
+ }
+ .workspace-tosca-artifact {
+ width: 93%;
+ display: inline-block;
+ }
+ .workspace-tosca-artifact .w-sdc-classic-btn {
+ float: right;
+ margin-bottom: 10px;
+ }
+ .workspace-tosca-artifact .details-title {
+ font-weight: bold;
+ margin-right: 5px;
+ }
+ .workspace-tosca-artifact .table {
+ height: 490px;
+ margin-bottom: 0;
+ }
+ .workspace-tosca-artifact .table-container-flex {
+ margin-top: 27px;
+ }
+ .workspace-tosca-artifact .table-container-flex .item-opened {
+ word-wrap: break-word;
+ }
+ .workspace-tosca-artifact .table-container-flex .flex-item:nth-child(1) {
+ -webkit-box-flex: 15;
+ -ms-flex-positive: 15;
+ flex-grow: 15;
+ cursor: pointer;
+ }
+ .workspace-tosca-artifact .table-container-flex .flex-item:nth-child(1) span.table-arrow {
+ margin-right: 7px;
+ }
+ .workspace-tosca-artifact .table-container-flex .flex-item:nth-child(2) {
+ -webkit-box-flex: 6;
+ -ms-flex-positive: 6;
+ flex-grow: 6;
+ }
+ .workspace-tosca-artifact .table-container-flex .flex-item:nth-child(3) {
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ }
+ .workspace-tosca-artifact .table-container-flex .flex-item:nth-child(4) {
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ }
+ .workspace-tosca-artifact .table-container-flex .table-download-btn.tosca {
+ margin-left: 0;
+ margin-top: 8px;
+ }
+ .workspace-tosca-artifact .table-container-flex .download-icon-container {
+ position: relative;
+ }
+ .workspace-tosca-artifact .table-container-flex .download-icon-container .loader {
+ left: 60%;
+ top: 45px;
+ border: none;
+ background-color: transparent;
+ height: 0px;
+ width: 63px;
+ outline: none;
+ }
+ .sdc-workspace-container {
+ background-color: #8c8c8c;
+ }
+ .sdc-workspace-container .add-btn {
+ color: #009fdb;
+ font-family: omnes-medium, sans-serif;
+ font-size: 12px;
+ cursor: pointer;
+ float: right;
+ margin-bottom: 15px;
+ }
+ .sdc-workspace-container .add-btn:before {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -50px -231px;
+ width: 12px;
+ height: 12px;
+ margin-right: 5px;
+ content: "";
+ }
+ .sdc-workspace-container .add-btn:hover {
+ color: #056bae;
+ }
+ .sdc-workspace-container .add-btn:hover:before {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -100px -231px;
+ width: 12px;
+ height: 12px;
+ }
+ .sdc-workspace-container .w-sdc-left-sidebar {
+ padding: 3px 3px 0px 0px;
+ background-color: #ffffff;
+ box-shadow: 7px -3px 6px -8px #959595;
+ z-index: 2;
+ }
+ .sdc-workspace-container .sdc-asset-creation-info {
+ color: #959595;
+ font-family: omnes-regular, sans-serif;
+ font-size: 12px;
+ float: right;
+ margin: 8px 20px 0 0;
+ }
+ .sdc-workspace-container .w-sdc-main-right-container {
+ padding: 0px 0px 0px 0px;
+ background-color: #ffffff;
+ z-index: 1;
+ }
+ .sdc-workspace-container .w-sdc-main-right-container .sdc-workspace-top-bar {
+ height: 53px;
+ padding: 12px 10px 0px 50px;
+ border-bottom: 1px solid #d2d2d2;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-pack: justify;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+ }
+ .sdc-workspace-container .w-sdc-main-right-container .sdc-workspace-top-bar .progress-container {
+ -webkit-box-flex: 4;
+ -ms-flex-positive: 4;
+ flex-grow: 4;
+ z-index: 10000000;
+ }
+ .sdc-workspace-container .w-sdc-main-right-container .sdc-workspace-top-bar .progress-container .general-view-top-progress {
+ width: 30%;
+ margin: 0 auto;
+ min-width: 200px;
+ }
+ .sdc-workspace-container .w-sdc-main-right-container .sdc-workspace-top-bar .not-latest {
+ position: absolute;
+ left: 24px;
+ top: 20px;
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ background-position: -100px -748px;
+ width: 17px;
+ height: 15px;
+ }
+ .sdc-workspace-container .w-sdc-main-right-container .sdc-workspace-top-bar .sdc-workspace-top-bar-buttons > button,
+ .sdc-workspace-container .w-sdc-main-right-container .sdc-workspace-top-bar .sdc-workspace-top-bar-buttons > span:not(.delimiter) {
+ margin-right: 10px;
+ vertical-align: middle;
+ cursor: pointer;
+ }
+ .sdc-workspace-container .w-sdc-main-right-container .sdc-workspace-top-bar .sdc-workspace-top-bar-buttons > button.sprite-new,
+ .sdc-workspace-container .w-sdc-main-right-container .sdc-workspace-top-bar .sdc-workspace-top-bar-buttons > span:not(.delimiter).sprite-new {
+ text-indent: 100%;
+ }
+ .sdc-workspace-container .w-sdc-main-right-container .sdc-workspace-top-bar .sdc-workspace-top-bar-buttons > button.disabled,
+ .sdc-workspace-container .w-sdc-main-right-container .sdc-workspace-top-bar .sdc-workspace-top-bar-buttons > span:not(.delimiter).disabled,
+ .sdc-workspace-container .w-sdc-main-right-container .sdc-workspace-top-bar .sdc-workspace-top-bar-buttons > button:hover.disabled,
+ .sdc-workspace-container .w-sdc-main-right-container .sdc-workspace-top-bar .sdc-workspace-top-bar-buttons > span:not(.delimiter):hover.disabled {
+ pointer-events: none;
+ }
+ .sdc-workspace-container .w-sdc-main-right-container .sdc-workspace-top-bar .sdc-workspace-top-bar-buttons .delimiter {
+ height: 32px;
+ width: 1px;
+ background-color: #959595;
+ display: inline-block;
+ vertical-align: middle;
+ margin-right: 20px;
+ }
+ .sdc-workspace-container .w-sdc-main-right-container .sdc-workspace-top-bar .lifecycle-state {
+ padding: 7px 0 0 10px;
+ margin: 2px 0 7px 10px;
+ border-left: 1px solid #d2d2d2;
+ line-height: 15px;
+ font-family: omnes-medium, sans-serif;
+ color: #5a5a5a;
+ }
+ .sdc-workspace-container .w-sdc-main-right-container .sdc-workspace-top-bar .lifecycle-state .lifecycle-state-icon {
+ background-image: url(/sdc1/scripts/images/sprite-global.8f8166754d12e1088a25.png);
+ display: inline-block;
+ }
+ .sdc-workspace-container .w-sdc-main-right-container .sdc-workspace-top-bar .lifecycle-state .lifecycle-state-text {
+ font-weight: bold;
+ text-transform: uppercase;
+ vertical-align: top;
+ padding: 3px;
+ }
+ .sdc-workspace-container .w-sdc-main-right-container .sdc-workspace-top-bar .version-selector {
+ background-color: transparent;
+ border: none;
+ margin-top: 6px;
+ }
+ .sdc-workspace-container .w-sdc-main-right-container .w-sdc-main-container-body-content {
+ height: calc(100% - 53px);
+ text-align: center;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ padding: 40px 14% 20px 14%;
+ }
+ .sdc-workspace-container .w-sdc-main-right-container .w-sdc-main-container-body-content.third-party {
+ text-align: left;
+ padding: 0;
+ position: absolute;
+ top: 53px;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ }
+ .properties-assignment .sdc-workspace-container .w-sdc-main-right-container .w-sdc-main-container-body-content {
+ padding: 80px 2% 40px 2%;
+ }
+ @charset "UTF-8";
+ /* Colors */
+ .sdc-bc-blue {
+ background-color: #009fdb; }
+
+ .sdc-bc-dark-blue {
+ background-color: #0568ae; }
+
+ .sdc-bc-light-blue {
+ background-color: #71c5e8; }
+
+ .sdc-bc-green {
+ background-color: #4ca90c; }
+
+ .sdc-bc-dark-green {
+ background-color: #007a3e; }
+
+ .sdc-bc-light-green {
+ background-color: #b5bd00; }
+
+ .sdc-bc-orange {
+ background-color: #ea7400; }
+
+ .sdc-bc-yellow {
+ background-color: #ffb81c; }
+
+ .sdc-bc-dark-purple {
+ background-color: #702f8a; }
+
+ .sdc-bc-purple {
+ background-color: #9063cd; }
+
+ .sdc-bc-light-purple {
+ background-color: #caa2dd; }
+
+ .sdc-bc-black {
+ background-color: #000000; }
+
+ .sdc-bc-dark-gray {
+ background-color: #5a5a5a; }
+
+ .sdc-bc-gray {
+ background-color: #959595; }
+
+ .sdc-bc-light-gray {
+ background-color: #d2d2d2; }
+
+ .sdc-bc-white {
+ background-color: #ffffff; }
+
+ /* Prefix */
+ /* Value Prefix*/
+ /* Box sizing */
+ /* Borders & Shadows */
+ /* Opacity */
+ /* Ellipsis */
+ /* Vertical placement of multuple lines of text */
+ /* transform-rotate */
+ /* transform-translate */
+ /* transform-scale */
+ /**/
+ /**/
+ /*body {*/
+ /*-webkit-touch-callout: none;*/
+ /*-webkit-user-select: none;*/
+ /*-moz-user-select: none;*/
+ /*-ms-user-select: none;*/
+ /*user-select: none; }*/
+
+ html {
+ font-size: 100%;
+ height: 100%; }
+
+ body {
+ /* scrollbar styling for Internet Explorer */
+ scrollbar-face-color: #191919;
+ scrollbar-track-color: #191919;
+ height: 100%; }
+
+ /* scrollbar styling for Google Chrome | Safari | Opera */
+ ::-webkit-scrollbar {
+ width: 8px;
+ height: 8px; }
+
+ ::-webkit-scrollbar-track {
+ background-color: transparent;
+ border-radius: 10px; }
+
+ ::-webkit-scrollbar-thumb {
+ border-radius: 10px;
+ background-color: #d2d2d2;
+ border-right: 2px solid #ffffff; }
+
+ /* Mozilla Firefox currently doesn't support scrollbar styling */
+ ul {
+ list-style: none; }
+
+ h1, h2, h3, h4, h5, h6, ul {
+ margin: 0;
+ padding: 0; }
+
+ .disabled {
+ opacity: 0.7 !important; }
+
+ fieldset {
+ border: none; }
+
+ fieldset label {
+ display: inline-block; }
+
+ .nav-tabs > li > a:focus,
+ .btn:focus,
+ .btn:active:focus,
+ .btn.active:focus {
+ outline: none; }
+
+ /* Fonts */
+ .text-lowercase {
+ text-transform: lowercase; }
+
+ .text-uppercase, .heading-3-light, .heading-3, .heading-3-medium {
+ text-transform: uppercase; }
+
+ .text-capitalize {
+ text-transform: capitalize; }
+
+ .heading-1 {
+ font-weight: 300;
+ font-size: 36px; }
+
+ .heading-2 {
+ font-weight: 300;
+ font-size: 24px; }
+
+ .heading-3-light {
+ font-weight: 300;
+ font-size: 20px; }
+
+ .heading-3 {
+ font-weight: 400;
+ font-size: 20px; }
+
+ .heading-3-medium {
+ font-weight: 600;
+ font-size: 20px; }
+
+ .heading-4 {
+ font-weight: 400;
+ font-size: 18px; }
+
+ .heading-4-medium {
+ font-weight: 600;
+ font-size: 18px; }
+
+ .heading-5 {
+ font-weight: 400;
+ font-size: 16px; }
+
+ .heading-5-medium, .catalog-tile .catalog-tile-top .catalog-tile-item-name, .sdc-tile-catalog .sdc-tile-content .sdc-tile-content-info .sdc-tile-content-info-item-name {
+ font-weight: 400;
+ line-height: 16px;
+ font-size: 16px; }
+
+ .body-1 {
+ font-weight: 400;
+ font-size: 14px; }
+
+ .body-1-medium {
+ font-weight: 600;
+ font-size: 14px; }
+
+ .body-1-light {
+ font-weight: 300;
+ font-size: 14px; }
+
+ .body-2, .catalog-tile .catalog-tile-top .catalog-tile-entity-details .catalog-tile-version-info .catalog-tile-item-version, .catalog-tile .catalog-tile-content .catalog-tile-locking-user-name, .sdc-tile-catalog .sdc-tile-content .sdc-tile-content-info .sdc-tile-content-info-version-info .sdc-tile-content-info-version-info-text, .sdc-tile-catalog .sdc-tile-footer .sdc-tile-footer-text {
+ font-weight: 400;
+ font-size: 13px; }
+
+ .body-2-medium, .catalog-tile .catalog-tile-content {
+ font-weight: 600;
+ font-size: 13px; }
+
+ .body-3 {
+ font-weight: 400;
+ font-size: 12px; }
+
+ .body-3-medium, .catalog-tile .catalog-tile-top .catalog-tile-entity-details .catalog-tile-vendor-name, .catalog-tile.vendor-type .catalog-tile-top .catalog-tile-vsp-count, .sdc-tile-catalog .sdc-tile-content .sdc-tile-content-info .sdc-tile-content-info-vendor-name {
+ font-weight: 600;
+ font-size: 12px; }
+
+ .body-3-light {
+ font-weight: 300;
+ font-size: 12px; }
+
+ .circle-icon-text {
+ font-weight: 600;
+ font-size: 14px; }
+
+ .sdc-icon {
+ display: inline-block;
+ text-rendering: auto;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ width: 16px;
+ height: 16px; }
+
+ .sdc-icon-locked {
+ background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='11' height='15' viewBox='0 0 11 15' id='locked_icon'> <metadata><?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?><x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Adobe XMP Core 5.6-c138 79.159824, 2016/09/14-01:09:01 '> <rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'> <rdf:Description rdf:about=''/> </rdf:RDF></x:xmpmeta><?xpacket end='w'?></metadata><defs> <style> .cls-1 { fill: #959595; fill-rule: evenodd; } </style> </defs> <path id='Shape_77_copy_10' data-name='Shape 77 copy 10' class='cls-1' d='M445,359a16.71,16.71,0,0,0-2.1-.009c-1.945.045-3.195,0.049-3.9,0.009v-5a1.743,1.743,0,0,1,2-2h1a1.743,1.743,0,0,1,2,2v5c0.474,0.063.343-.073,1,0,0.266,0.029,0,.279,0,0v-5a2.726,2.726,0,0,0-3-3h-1.142c-1.72-.125-2.715,1.562-2.858,3,0.088,0.009,0,7.338,0,5h0a1.891,1.891,0,0,0-2,1.689v3.461A1.823,1.823,0,0,0,437.775,366h7.448A1.823,1.823,0,0,0,447,364.15v-3.461A2.018,2.018,0,0,0,445,359Z' transform='translate(-436 -351)'/></svg>");
+ background-repeat: no-repeat; }
+
+ .sdc-icon-plus {
+ background-image: url("data:image/svg+xml;utf8,<?xml version='1.0' encoding='utf-8'?><!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --><svg version='1.1' id='plus_icon' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 19 19' style='enable-background:new 0 0 19 19;' xml:space='preserve'><g><rect y='8' width='19' height='3'/><path id='Rectangle_2139_copy' d='M8,19V0h3v19H8z'/></g></svg>");
+ background-repeat: no-repeat; }
+
+ .sdc-icon-unlocked {
+ background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='11' height='18' viewBox='0 0 11 18' id='unlocked_icon'> <metadata><?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?><x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Adobe XMP Core 5.6-c138 79.159824, 2016/09/14-01:09:01 '> <rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'> <rdf:Description rdf:about=''/> </rdf:RDF></x:xmpmeta><?xpacket end='w'?></metadata><defs> <style> .cls-1 { fill: #959595; fill-rule: evenodd; } </style> </defs> <path id='Shape_77_copy_16' data-name='Shape 77 copy 16' class='cls-1' d='M663,358a16.723,16.723,0,0,0-2.1-.009c-1.944.045-3.194,0.049-3.9,0.009v-7a1.743,1.743,0,0,1,2-2h1a1.743,1.743,0,0,1,2,2v2c0.474,0.064.343-.073,1,0,0.266,0.029,0,.279,0,0v-2a2.726,2.726,0,0,0-3-3h-1.142c-1.72-.125-2.715,1.562-2.858,3,0.088,0.009,0,9.338,0,7h0a1.891,1.891,0,0,0-2,1.689v4.461a1.823,1.823,0,0,0,1.775,1.85h7.448A1.823,1.823,0,0,0,665,364.15v-4.461A2.018,2.018,0,0,0,663,358Zm1.05,6.15a0.827,0.827,0,0,1-.8.836H655.8a0.827,0.827,0,0,1-.8-0.836l0-4.15a1.164,1.164,0,0,1,.8-1.147h7.448A1.129,1.129,0,0,1,664,360Z' transform='translate(-654 -348)'/></svg>");
+ background-repeat: no-repeat; }
+
+ .sdc-icon-vendor {
+ background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 53 47' id='vendor_icon'><title>vendor</title><g id='Layer_2' data-name='Layer 2'><g id='vlm_icon' data-name='vlm icon'><path d='M49,7,38.5,7V5.92A5.92,5.92,0,0,0,32.58,0H20.42A5.92,5.92,0,0,0,14.5,5.92V7.15L4,7.2a3.8,3.8,0,0,0-4,3.5V43.5C0,45.4,2,47,4.2,47L49,46.8a3.8,3.8,0,0,0,4-3.5V10.5A3.8,3.8,0,0,0,49,7ZM16.5,5.92A3.92,3.92,0,0,1,20.42,2H32.58A3.92,3.92,0,0,1,36.5,5.92V7.06l-20,.09ZM2,10.8A1.9,1.9,0,0,1,4,9l45-.2a1.9,1.9,0,0,1,2,1.8v8.87L32.94,24.18a6.49,6.49,0,0,0-12.89,0L2,19.51V10.8ZM31,25a4.5,4.5,0,1,1-4.5-4.5A4.5,4.5,0,0,1,31,25ZM49,45,4,45.2A1.9,1.9,0,0,1,2,43.4V21.57l18.13,4.73a6.5,6.5,0,0,0,12.74,0L51,21.53V43.21A1.9,1.9,0,0,1,49,45Z'/></g></g></svg>");
+ background-repeat: no-repeat; }
+
+ .sdc-icon-vlm {
+ background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 45 53'><title>vlm_new_icon</title><g id='Layer_2' data-name='Layer 2'><g id='vlm_icon' data-name='vlm icon'><path d='M41,2a2,2,0,0,1,2,2l.19,45a2,2,0,0,1-2,2H4a2,2,0,0,1-2-2L1.81,4a2,2,0,0,1,2-2H41m-.15-2H4A4.2,4.2,0,0,0,0,4.24L.19,49a4,4,0,0,0,4,4H41a4,4,0,0,0,4-4L44.81,4a4,4,0,0,0-4-4Z'/><rect x='14' y='11' width='17' height='2'/><rect x='14' y='18' width='10' height='2'/><polygon points='20.56 38.85 13.87 33.14 15.16 31.62 20.39 36.08 29.08 26.63 30.55 27.98 20.56 38.85'/></g></g></svg>");
+ background-repeat: no-repeat; }
+
+ .sdc-icon-vsp {
+ background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 59.5 40' id='vsp_icon'><title>vsp_new_icon</title><g id='Layer_2' data-name='Layer 2'><g id='vlm_icon' data-name='vlm icon'><path d='M58.28,30.74c-1.49-1.82-3-2.7-4.67-2.74a8.5,8.5,0,0,0-16.22-2.44,6.93,6.93,0,0,0-4.06.66A7.23,7.23,0,0,0,36.42,40H53.5a6,6,0,0,0,6-6A5.18,5.18,0,0,0,58.28,30.74ZM53.5,38H36.42a5.25,5.25,0,0,1-5.21-5.91,5.32,5.32,0,0,1,3-4.06,5,5,0,0,1,2.21-.53,5.25,5.25,0,0,1,1.35.18l.92.24L39,27A6.5,6.5,0,0,1,51.67,29v1.3l1.17-.2c1-.17,2.17-.17,3.91,2a3.18,3.18,0,0,1,.76,2A4,4,0,0,1,53.5,38Z'/><path d='M49,0,4,.17A3.79,3.79,0,0,0,0,3.69V7.94H0v2H0V36.31C0,38.35,2,40,4.25,40l20.84-.08a1,1,0,0,0,0-1.92L4,38.08a1.89,1.89,0,0,1-2-1.76V10H51v7a1,1,0,0,0,2,0V3.53A3.79,3.79,0,0,0,49,0ZM2,8V3.76A1.89,1.89,0,0,1,4,2l45-.16a1.89,1.89,0,0,1,2,1.76V8Z'/></g></g></svg>");
+ background-repeat: no-repeat; }
+
+ .svg-icon.purple {
+ fill: #9063cd; }
+
+ .svg-icon.purple-hover {
+ fill: #9063cd; }
+ .svg-icon.purple-hover:hover {
+ fill: #caa2dd; }
+
+ .svg-icon.blue {
+ fill: #009fdb; }
+
+ .svg-icon.blue-hover {
+ fill: #009fdb; }
+ .svg-icon.blue-hover:hover {
+ fill: #71c5e8; }
+
+ .svg-icon.gray {
+ fill: #959595; }
+
+ .svg-icon.gray-hover {
+ fill: #000000; }
+ .svg-icon.gray-hover:hover {
+ fill: #d2d2d2; }
+
+ .svg-icon.black {
+ fill: #000000; }
+
+ .svg-icon.black-hover {
+ fill: #000000; }
+ .svg-icon.black-hover:hover {
+ fill: #d2d2d2; }
+
+ .sdc-tile, .sdc-tile-catalog {
+ box-sizing: border-box;
+ background-color: #ffffff;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ padding: 10px;
+ cursor: pointer;
+ border: 1px solid #eaeaea;
+ box-shadow: 0.5px 0.8px 4px 0 rgba(24, 24, 25, 0.05); }
+ .sdc-tile:active, .sdc-tile-catalog:active {
+ border: 1px solid #71c5e8; }
+ .sdc-tile:hover, .sdc-tile-catalog:hover {
+ box-shadow: 0.3px 5px 12.8px 1.3px rgba(24, 24, 25, 0.15);
+ border: 1px solid #d2d2d2; }
+ .sdc-tile .sdc-tile-header, .sdc-tile-catalog .sdc-tile-header {
+ position: relative;
+ -ms-flex-negative: 0;
+ flex-shrink: 0;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: start;
+ -ms-flex-align: start;
+ align-items: flex-start;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column; }
+ .sdc-tile .sdc-tile-content, .sdc-tile-catalog .sdc-tile-content {
+ position: relative;
+ -webkit-box-flex: 1;
+ -ms-flex: 1;
+ flex: 1;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: start;
+ -ms-flex-align: start;
+ align-items: flex-start;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ overflow: auto;
+ -webkit-box-pack: justify;
+ -ms-flex-pack: justify;
+ justify-content: space-between; }
+ .sdc-tile .sdc-tile-footer, .sdc-tile-catalog .sdc-tile-footer {
+ position: relative;
+ -ms-flex-negative: 0;
+ flex-shrink: 0;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: start;
+ -ms-flex-align: start;
+ align-items: flex-start;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column; }
+
+ .sdc-tile-catalog {
+ width: 204px;
+ height: 200px; }
+ .sdc-tile-catalog .sdc-tile-header {
+ line-height: 16px; }
+ .sdc-tile-catalog .sdc-tile-header .sdc-tile-header-type {
+ font-size: 16px;
+ text-transform: uppercase; }
+ .sdc-tile-catalog .sdc-tile-header .sdc-tile-header-type.purple {
+ color: #9063cd; }
+ .sdc-tile-catalog .sdc-tile-header .sdc-tile-header-type.blue {
+ color: #009fdb; }
+ .sdc-tile-catalog .sdc-tile-content .sdc-tile-content-icon {
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ width: 100%;
+ padding-top: 25px; }
+ .sdc-tile-catalog .sdc-tile-content .sdc-tile-content-icon svg {
+ width: 60px;
+ height: 40px; }
+ .sdc-tile-catalog .sdc-tile-content .sdc-tile-content-info {
+ padding-bottom: 4px;
+ width: 180px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ width: auto;
+ white-space: nowrap;
+ display: inline-block;
+ max-width: 178px; }
+ .sdc-tile-catalog .sdc-tile-content .sdc-tile-content-info .sdc-tile-content-info-vendor-name {
+ color: #959595;
+ line-height: 12px; }
+ .sdc-tile-catalog .sdc-tile-content .sdc-tile-content-info .sdc-tile-content-info-item-name {
+ color: #191919; }
+ .sdc-tile-catalog .sdc-tile-content .sdc-tile-content-info .sdc-tile-content-info-version-info {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-pack: justify;
+ -ms-flex-pack: justify;
+ justify-content: space-between; }
+ .sdc-tile-catalog .sdc-tile-footer {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ border-top: 1px solid #eaeaea;
+ padding: 0;
+ width: 180px;
+ height: 20px; }
+ .sdc-tile-catalog .sdc-tile-footer .sdc-tile-footer-text {
+ -webkit-box-flex: 1;
+ -ms-flex: 1;
+ flex: 1;
+ padding-top: 5px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ width: auto;
+ white-space: nowrap;
+ display: inline-block;
+ max-width: 164px; }
+ .sdc-tile-catalog .sdc-tile-footer .sdc-tile-footer-icon {
+ -ms-flex-negative: 1;
+ flex-shrink: 1;
+ overflow: hidden;
+ padding-top: 5px; }
+ .sdc-tile-catalog .sdc-tile-footer .sdc-tile-footer-icon svg {
+ width: 16px;
+ height: 20px; }
+}
diff --git a/app/styles/sprite-resource-icons.less b/app/styles/sprite-resource-icons.less
new file mode 100644
index 0000000..e7e16d6
--- /dev/null
+++ b/app/styles/sprite-resource-icons.less
@@ -0,0 +1,268 @@
+.sprite-resource-icons {
+ background-image: url('images/sprites/sprite-resource-icons.png');
+ display: inline-block;
+}
+
+.sprite-resource-icons.disable { opacity:0.5;}
+
+.sprite-resource-icons.borderElement { background-position: -282px -41px; width: 66px; height: 58px;}
+.sprite-resource-icons.borderElement.small { background-position: -210px -71px; width: 28px; height: 28px;}
+.sprite-resource-icons.borderElement.medium { background-position: -140px -59px; width: 40px; height: 40px;}
+.sprite-resource-icons.borderElement.large { background-position: -70px -39px; width: 60px; height: 60px;}
+
+.sprite-resource-icons.router { background-position: -282px -109px; width: 60px; height: 60px;}
+.sprite-resource-icons.router.small { background-position: -210px -141px; width: 28px; height: 28px;}
+.sprite-resource-icons.router.medium { background-position: -140px -129px; width: 40px; height: 40px;}
+.sprite-resource-icons.router.large { background-position: -70px -109px; width: 60px; height: 60px;}
+
+.sprite-resource-icons.database { background-position: -282px -180px; width: 63px; height: 56px;}
+.sprite-resource-icons.database.small { background-position: -210px -211px; width: 28px; height: 28px;}
+.sprite-resource-icons.database.medium { background-position: -140px -199px; width: 40px; height: 40px;}
+.sprite-resource-icons.database.large { background-position: -70px -179px; width: 60px; height: 60px;}
+
+.sprite-resource-icons.network { background-position: -282px -252px; width: 57px; height: 57px;}
+.sprite-resource-icons.network.small { background-position: -210px -281px; width: 28px; height: 28px;}
+.sprite-resource-icons.network.medium { background-position: -140px -269px; width: 40px; height: 40px;}
+.sprite-resource-icons.network.large { background-position: -70px -249px; width: 60px; height: 60px;}
+
+.sprite-resource-icons.applicationServer { background-position: -282px -327px; width: 37px; height: 51px;}
+.sprite-resource-icons.applicationServer.small { background-position: -210px -351px; width: 28px; height: 28px;}
+.sprite-resource-icons.applicationServer.medium { background-position: -140px -339px; width: 40px; height: 40px;}
+.sprite-resource-icons.applicationServer.large { background-position: -70px -319px; width: 60px; height: 60px;}
+
+.sprite-resource-icons.server { background-position: -282px -398px; width: 31px; height: 51px;}
+.sprite-resource-icons.server.small { background-position: -210px -421px; width: 28px; height: 28px;}
+.sprite-resource-icons.server.medium { background-position: -140px -409px; width: 40px; height: 40px;}
+.sprite-resource-icons.server.large { background-position: -70px -389px; width: 60px; height: 60px;}
+
+.sprite-resource-icons.port { background-position: -281px -484px; width: 41px; height: 35px;}
+.sprite-resource-icons.port.small { background-position: -210px -491px; width: 28px; height: 28px;}
+.sprite-resource-icons.port.medium { background-position: -140px -479px; width: 40px; height: 40px;}
+.sprite-resource-icons.port.large { background-position: -70px -459px; width: 60px; height: 60px;}
+
+.sprite-resource-icons.loadBalancer { background-position: -282px -539px; width: 45px; height: 49px;}
+.sprite-resource-icons.loadBalancer.small { background-position: -210px -561px; width: 28px; height: 28px;}
+.sprite-resource-icons.loadBalancer.medium { background-position: -140px -549px; width: 40px; height: 40px;}
+.sprite-resource-icons.loadBalancer.large { background-position: -70px -529px; width: 60px; height: 60px;}
+
+.sprite-resource-icons.objectStorage { background-position: -282px -611px; width: 50px; height: 47px;}
+.sprite-resource-icons.objectStorage.small { background-position: -210px -631px; width: 28px; height: 28px;}
+.sprite-resource-icons.objectStorage.medium { background-position: -140px -619px; width: 40px; height: 40px;}
+.sprite-resource-icons.objectStorage.large { background-position: -70px -599px; width: 60px; height: 60px;}
+
+.sprite-resource-icons.compute { background-position: -282px -683px; width: 45px; height: 45px;}
+.sprite-resource-icons.compute.small { background-position: -210px -701px; width: 28px; height: 28px;}
+.sprite-resource-icons.compute.medium { background-position: -141px -688px; width: 40px; height: 40px;}
+.sprite-resource-icons.compute.large { background-position: -70px -669px; width: 60px; height: 60px;}
+
+.sprite-resource-icons.gateway { background-position: -282px -758px; width: 45px; height: 41px}
+.sprite-resource-icons.gateway.small { background-position: -210px -772px; width: 28px; height: 27px;}
+.sprite-resource-icons.gateway.medium { background-position: -140px -759px; width: 40px; height: 40px;}
+.sprite-resource-icons.gateway.large { background-position: -70px -739px; width: 60px; height: 60px;}
+
+.sprite-resource-icons.connector { background-position: -282px -830px; width: 44px; height: 38px;}
+.sprite-resource-icons.connector.small { background-position: -210px -842px; width: 28px; height: 27px;}
+.sprite-resource-icons.connector.medium { background-position: -140px -829px; width: 40px; height: 40px;}
+.sprite-resource-icons.connector.large { background-position: -70px -809px; width: 60px; height: 60px;}
+
+.sprite-resource-icons.brocade { background-position: -282px -922px; width: 91px; height: 16px;}
+.sprite-resource-icons.brocade.small { background-position: -210px -911px; width: 28px; height: 28px;}
+.sprite-resource-icons.brocade.medium { background-position: -140px -899px; width: 40px; height: 40px;}
+.sprite-resource-icons.brocade.large { background-position: -70px -879px; width: 60px; height: 60px;}
+
+.sprite-resource-icons.cisco { background-position: -282px -975px; width: 63px; height: 33px;}
+.sprite-resource-icons.cisco.small { background-position: -210px -981px; width: 28px; height: 28px;}
+.sprite-resource-icons.cisco.medium { background-position: -140px -969px; width: 40px; height: 40px;}
+.sprite-resource-icons.cisco.large { background-position: -70px -949px; width: 60px; height: 60px;}
+
+.sprite-resource-icons.ericsson { background-position: -282px -1059px; width: 101px; height: 20px;}
+.sprite-resource-icons.ericsson.small { background-position: -210px -1051px; width: 28px; height: 28px;}
+.sprite-resource-icons.ericsson.medium { background-position: -140px -1039px; width: 40px; height: 40px;}
+.sprite-resource-icons.ericsson.large { background-position: -70px -1019px; width: 60px; height: 60px;}
+
+.sprite-resource-icons.tropo { background-position: -282px -1109px; width: 48px; height: 39px;}
+.sprite-resource-icons.tropo.small { background-position: -210px -1121px; width: 28px; height: 28px;}
+.sprite-resource-icons.tropo.medium { background-position: -140px -1109px; width: 40px; height: 40px;}
+.sprite-resource-icons.tropo.large { background-position: -70px -1089px; width: 60px; height: 60px;}
+
+.sprite-resource-icons.mySql { background-position: -282px -1172px; width: 89px; height: 46px;}
+.sprite-resource-icons.mySql.small { background-position: -210px -1191px; width: 28px; height: 28px;}
+.sprite-resource-icons.mySql.medium { background-position: -140px -1179px; width: 40px; height: 40px;}
+.sprite-resource-icons.mySql.large { background-position: -70px -1159px; width: 60px; height: 60px;}
+
+.sprite-resource-icons.oracle { background-position: -282px -1277px; width: 97px; height: 11px;}
+.sprite-resource-icons.oracle.small { background-position: -210px -1261px; width: 28px; height: 28px;}
+.sprite-resource-icons.oracle.medium { background-position: -140px -1249px; width: 40px; height: 40px;}
+.sprite-resource-icons.oracle.large { background-position: -70px -1229px; width: 60px; height: 60px;}
+
+.sprite-resource-icons.defaulticon { background-position: -282px -2069px; width: 62px; height: 62px;}
+.sprite-resource-icons.defaulticon.small { background-position: -210px -2101px; width: 28px; height: 28px;}
+.sprite-resource-icons.defaulticon.medium { background-position: -141px -2089px; width: 40px; height: 40px;}
+.sprite-resource-icons.defaulticon.large { background-position: -70px -2069px; width: 60px; height: 60px;}
+
+.sprite-resource-icons.fortinet { background-position: -282px -1419px; width: 94px; height: 10px;}
+.sprite-resource-icons.fortinet.small { background-position: -210px -1401px; width: 28px; height: 28px;}
+.sprite-resource-icons.fortinet.medium { background-position: -140px -1389px; width: 40px; height: 40px;}
+.sprite-resource-icons.fortinet.large { background-position: -70px -1369px; width: 60px; height: 60px;}
+
+.sprite-resource-icons.nokia_siemens { background-position: -281px -1474px; width: 89px; height: 25px;}
+.sprite-resource-icons.nokia_siemens.small { background-position: -210px -1471px; width: 28px; height: 28px;}
+.sprite-resource-icons.nokia_siemens.medium { background-position: -140px -1459px; width: 40px; height: 40px;}
+.sprite-resource-icons.nokia_siemens.large { background-position: -70px -1439px; width: 60px; height: 60px;}
+
+.sprite-resource-icons.att { background-position: -281px -1538px; width: 77px; height: 31px;}
+.sprite-resource-icons.att.small { background-position: -210px -1541px; width: 28px; height: 28px;}
+.sprite-resource-icons.att.medium { background-position: -140px -1529px; width: 40px; height: 40px;}
+.sprite-resource-icons.att.large { background-position: -70px -1509px; width: 60px; height: 60px;}
+
+.sprite-resource-icons.juniper { background-position: -281px -1609px; width: 93px; height: 31px;}
+.sprite-resource-icons.juniper.small { background-position: -210px -1611px; width: 28px; height: 28px;}
+.sprite-resource-icons.juniper.medium { background-position: -140px -1599px; width: 40px; height: 40px;}
+.sprite-resource-icons.juniper.large { background-position: -70px -1579px; width: 60px; height: 60px;}
+
+.sprite-resource-icons.cloud { background-position: -281px -1664px; width: 44px; height: 45px;}
+.sprite-resource-icons.cloud.small { background-position: -210px -1681px; width: 28px; height: 28px;}
+.sprite-resource-icons.cloud.medium { background-position: -140px -1669px; width: 40px; height: 40px;}
+.sprite-resource-icons.cloud.large { background-position: -70px -1649px; width: 60px; height: 60px;}
+
+.sprite-resource-icons.call_controll { background-position: -278px -1739px; width: 35px; height: 40px;}
+.sprite-resource-icons.call_controll.small { background-position: -210px -1751px; width: 28px; height: 28px;}
+.sprite-resource-icons.call_controll.medium { background-position: -140px -1739px; width: 40px; height: 40px;}
+.sprite-resource-icons.call_controll.large { background-position: -70px -1719px; width: 60px; height: 60px;}
+
+.sprite-resource-icons.broadsoft { background-position: -282px -1824px; width: 108px; height: 22px;}
+.sprite-resource-icons.broadsoft.small { background-position: -210px -1821px; width: 28px; height: 28px;}
+.sprite-resource-icons.broadsoft.medium { background-position: -140px -1809px; width: 40px; height: 40px;}
+.sprite-resource-icons.broadsoft.large { background-position: -70px -1789px; width: 60px; height: 60px;}
+
+.sprite-resource-icons.alcatelLucent { background-position: -281px -1901px; width: 118px; height: 25px;}
+.sprite-resource-icons.alcatelLucent.small { background-position: -210px -1891px; width: 28px; height: 28px;}
+.sprite-resource-icons.alcatelLucent.medium { background-position: -140px -1879px; width: 40px; height: 40px;}
+.sprite-resource-icons.alcatelLucent.large { background-position: -70px -1859px; width: 60px; height: 60px;}
+
+.sprite-resource-icons.metaswitch { background-position: -282px -1961px; width: 115px; height: 27px;}
+.sprite-resource-icons.metaswitch.small { background-position: -210px -1961px; width: 28px; height: 28px;}
+.sprite-resource-icons.metaswitch.medium { background-position: -140px -1949px; width: 40px; height: 40px;}
+.sprite-resource-icons.metaswitch.large { background-position: -70px -1929px; width: 61px; height: 60px;}
+
+.sprite-resource-icons.aricent { background-position: -282px -2046px; width: 93px; height: 13px;}
+.sprite-resource-icons.aricent.small { background-position: -210px -2031px; width: 28px; height: 28px;}
+.sprite-resource-icons.aricent.medium { background-position: -140px -2019px; width: 40px; height: 40px;}
+.sprite-resource-icons.aricent.large { background-position: -70px -1999px; width: 60px; height: 60px;}
+
+.sprite-resource-icons.cp { background-position: -90px -4038px; width: 21px; height: 21px;}
+.sprite-resource-icons.cp.small { background-position: -90px -4038px; width: 21px; height: 21px;}
+.sprite-resource-icons.cp.medium { background-position: -151px -4048px; width: 21px; height: 21px;}
+.sprite-resource-icons.cp.large { background-position: -194px -4034px; width: 60px; height: 60px;}
+
+.sprite-resource-icons.vl { background-position: -210px -2591px; width: 28px; height: 28px;}
+.sprite-resource-icons.vl.small { background-position: -210px -2591px; width: 28px; height: 28px;}
+.sprite-resource-icons.vl.medium { background-position: -141px -2579px; width: 40px; height: 40px;}
+.sprite-resource-icons.vl.large { background-position: -70px -2560px; width: 60px; height: 60px;}
+
+.sprite-resource-icons.cloudep { background-position: -282px -2225px; width: 63px; height: 43px;}
+.sprite-resource-icons.cloudep.small { background-position: -209px -2241px; width: 28px; height: 28px;}
+.sprite-resource-icons.cloudep.medium { background-position: -141px -2229px; width: 40px; height: 40px;}
+.sprite-resource-icons.cloudep.large { background-position: -70px -2209px; width: 60px; height: 60px;}
+
+.sprite-resource-icons.personep { background-position: -282px -2292px; width: 47px; height: 47px;}
+.sprite-resource-icons.personep.small { background-position: -210px -2311px; width: 28px; height: 28px;}
+.sprite-resource-icons.personep.medium { background-position: -141px -2299px; width: 40px; height: 40px;}
+.sprite-resource-icons.personep.large { background-position: -70px -2279px; width: 60px; height: 60px;}
+
+.sprite-resource-icons.premisesep { background-position: -281px -2360px; width: 41px; height: 50px;}
+.sprite-resource-icons.premisesep.small { background-position: -210px -2380px; width: 28px; height: 28px;}
+.sprite-resource-icons.premisesep.medium { background-position: -141px -2368px; width: 40px; height: 40px;}
+.sprite-resource-icons.premisesep.large { background-position: -70px -2349px; width: 60px; height: 60px;}
+
+.sprite-resource-icons.ossep { background-position: -281px -2420px; width: 67px; height: 59px;}
+.sprite-resource-icons.ossep.small { background-position: -210px -2451px; width: 28px; height: 28px;}
+.sprite-resource-icons.ossep.medium { background-position: -141px -2439px; width: 40px; height: 40px;}
+.sprite-resource-icons.ossep.large { background-position: -70px -2419px; width: 60px; height: 60px;}
+
+.sprite-resource-icons.firewall { background-position: -282px -3257px; width: 73px; height: 74px;}
+.sprite-resource-icons.firewall.small { background-position: -210px -3301px; width: 29px; height: 29px;}
+.sprite-resource-icons.firewall.medium { background-position: -141px -3289px; width: 41px; height: 41px;}
+.sprite-resource-icons.firewall.large { background-position: -70px -3270px; width: 60px; height: 60px;}
+
+.sprite-resource-icons.vfw { background-position: -282px -3257px; width: 73px; height: 74px;}
+.sprite-resource-icons.vfw.small { background-position: -210px -3301px; width: 29px; height: 29px;}
+.sprite-resource-icons.vfw.medium { background-position: -141px -3289px; width: 41px; height: 41px;}
+.sprite-resource-icons.vfw.large { background-position: -70px -3270px; width: 60px; height: 60px;}
+
+.sprite-resource-icons.ucpe { background-position: -282px -3120px; width: 59px; height: 60px;}
+.sprite-resource-icons.ucpe.small { background-position: -210px -3150px; width: 28px; height: 28px;}
+.sprite-resource-icons.ucpe.medium { background-position: -141px -3137px; width: 41px; height: 41px;}
+.sprite-resource-icons.ucpe.large { background-position: -70px -3119px; width: 60px; height: 60px;}
+
+.sprite-resource-icons.vrouter { background-position: -282px -3066px; width: 69px; height: 43px;}
+.sprite-resource-icons.vrouter.small { background-position: -210px -3080px; width: 29px; height: 29px;}
+.sprite-resource-icons.vrouter.medium { background-position: -141px -3068px; width: 41px; height: 41px;}
+.sprite-resource-icons.vrouter.large { background-position: -70px -3049px; width: 60px; height: 60px;}
+
+.sprite-resource-icons.wanx { background-position: -283px -2992px; width: 58px; height: 47px;}
+.sprite-resource-icons.wanx.small { background-position: -210px -3009px; width: 30px; height: 30px;}
+.sprite-resource-icons.wanx.medium { background-position: -141px -2998px; width: 41px; height: 41px;}
+.sprite-resource-icons.wanx.large { background-position: -70px -2979px; width: 60px; height: 60px;}
+
+//.sprite-resource-icons.roles { background-position: -282px -2069px; width: 60px; height: 60px;}
+//.sprite-resource-icons.roles.small { background-position: -210px -2101px; width: 28px; height: 28px;}
+//.sprite-resource-icons.roles.medium { background-position: -141px -2089px; width: 40px; height: 40px;}
+//.sprite-resource-icons.roles.large { background-position: -70px -2069px; width: 60px; height: 60px;}
+
+.sprite-resource-icons.networkrules { background-position: -282px -4731px; width: 49px; height: 58px;}
+.sprite-resource-icons.networkrules.small { background-position: -210px -4749px; width: 31px; height: 36px;}
+.sprite-resource-icons.networkrules.medium { background-position: -141px -4737px; width: 42px; height: 47px;}
+.sprite-resource-icons.networkrules.large { background-position: -70px -4718px; width: 60px; height: 67px;}
+
+.sprite-resource-icons.securityrules { background-position: -282px -4651px; width: 49px; height: 58px;}
+.sprite-resource-icons.securityrules.small { background-position: -210px -4669px; width: 31px; height: 36px;}
+.sprite-resource-icons.securityrules.medium { background-position: -141px -4657px; width: 42px; height: 47px;}
+.sprite-resource-icons.securityrules.large { background-position: -70px -4638px; width: 60px; height: 67px;}
+
+.sprite-resource-icons.dcae_source { background-position: -282px -4563px; width: 60px; height: 60px;}
+.sprite-resource-icons.dcae_source.small { background-position: -210px -4588px; width: 29px; height: 29px;}
+.sprite-resource-icons.dcae_source.medium { background-position: -141px -4576px; width: 41px; height: 41px;}
+.sprite-resource-icons.dcae_source.large { background-position: -70px -4558px; width: 60px; height: 60px;}
+
+.sprite-resource-icons.dcae_collector { background-position: -280px -4500px; width: 60px; height: 60px;}
+.sprite-resource-icons.dcae_collector.small { background-position: -210px -4508px; width: 29px; height: 29px;}
+.sprite-resource-icons.dcae_collector.medium { background-position: -141px -4496px; width: 41px; height: 41px;}
+.sprite-resource-icons.dcae_collector.large { background-position: -69px -4477px; width: 60px; height: 60px;}
+
+.sprite-resource-icons.dcae_utilty { background-position: -283px -4246px; width: 60px; height: 60px;}
+.sprite-resource-icons.dcae_utilty.small { background-position: -210px -4268px; width: 29px; height: 29px;}
+.sprite-resource-icons.dcae_utilty.medium { background-position: -141px -4256px; width: 41px; height: 41px;}
+.sprite-resource-icons.dcae_utilty.large { background-position: -70px -4238px; width: 60px; height: 60px;}
+
+.sprite-resource-icons.dcae_microservice { background-position: -281px -4167px; width: 60px; height: 60px;}
+.sprite-resource-icons.dcae_microservice.small { background-position: -210px -4188px; width: 28px; height: 28px;}
+.sprite-resource-icons.dcae_microservice.medium { background-position: -140px -4176px; width: 41px; height: 41px;}
+.sprite-resource-icons.dcae_microservice.large { background-position: -71px -4157px; width: 60px; height: 60px;}
+
+.sprite-resource-icons.dcae_analytics { background-position: -282px -4409px; width: 60px; height: 60px;}
+.sprite-resource-icons.dcae_analytics.small { background-position: -210px -4424px; width: 29px; height: 29px;}
+.sprite-resource-icons.dcae_analytics.medium { background-position: -141px -4413px; width: 41px; height: 41px;}
+.sprite-resource-icons.dcae_analytics.large { background-position: -70px -4394px; width: 60px; height: 60px;}
+
+.sprite-resource-icons.dcae_database { background-position: -282px -180px; width: 63px; height: 56px;}
+.sprite-resource-icons.dcae_database.small { background-position: -210px -211px; width: 29px; height: 29px;}
+.sprite-resource-icons.dcae_database.medium { background-position: -140px -199px; width: 40px; height: 40px;}
+.sprite-resource-icons.dcae_database.large { background-position: -70px -179px; width: 60px; height: 60px;}
+
+
+.sprite-resource-icons.dcae_policy { background-position: -282px -4332px; width: 60px; height: 60px;}
+.sprite-resource-icons.dcae_policy.small { background-position: -210px -4348px; width: 29px; height: 29px;}
+.sprite-resource-icons.dcae_policy.medium { background-position: -141px -4336px; width: 41px; height: 41px;}
+.sprite-resource-icons.dcae_policy.large { background-position: -70px -4317px; width: 60px; height: 60px;}
+
+.sprite-resource-icons.monitoring_template { background-position: -283px -4824px; width: 54px; height: 36px;}
+.sprite-resource-icons.monitoring_template.small { background-position: -211px -4831px; width: 29px; height: 29px;}
+.sprite-resource-icons.monitoring_template.medium { background-position: -142px -4819px; width: 41px; height: 41px;}
+.sprite-resource-icons.monitoring_template.large { background-position: -71px -4800px; width: 60px; height: 60px;}
+
+.sprite-resource-icons.allotted_resource { background-position: -283px -4896px; width: 44px; height: 44px;}
+.sprite-resource-icons.allotted_resource.small { background-position: -210px -4910px; width: 29px; height: 29px;}
+.sprite-resource-icons.allotted_resource.medium { background-position: -141px -4898px; width: 41px; height: 41px;}
+.sprite-resource-icons.allotted_resource.large { background-position: -70px -4879px; width: 60px; height: 60px;}
+
diff --git a/app/styles/sprite-services-icons.less b/app/styles/sprite-services-icons.less
new file mode 100644
index 0000000..d1e666f
--- /dev/null
+++ b/app/styles/sprite-services-icons.less
@@ -0,0 +1,66 @@
+.sprite-services-icons {
+ background-image: url('images/sprites/sprite-services-icons.png');
+ display: inline-block;
+}
+
+.sprite-services-icons.disable { opacity:0.5;}
+
+.sprite-services-icons.compute { background-position: -282px -46px; width: 55px; height: 53px;}
+.sprite-services-icons.compute.small { background-position: -210px -71px; width: 29px; height: 28px;}
+.sprite-services-icons.compute.medium { background-position: -140px -59px; width: 41px; height: 40px;}
+.sprite-services-icons.compute.large { background-position: -70px -41px; width: 61px; height: 60px;}
+
+.sprite-services-icons.platform { background-position: -282px -122px; width: 55px; height: 45px;}
+.sprite-services-icons.platform.small { background-position: -210px -140px; width: 29px; height: 29px;}
+.sprite-services-icons.platform.medium { background-position: -140px -128px; width: 41px; height: 41px;}
+.sprite-services-icons.platform.large { background-position: -70px -109px; width: 61px; height: 60px;}
+
+.sprite-services-icons.storage { background-position: -282px -194px; width: 55px; height: 44px;}
+.sprite-services-icons.storage.small { background-position: -210px -210px; width: 29px; height: 29px;}
+.sprite-services-icons.storage.medium { background-position: -140px -198px; width: 41px; height: 41px;}
+.sprite-services-icons.storage.large { background-position: -70px -178px; width: 61px; height: 61px;}
+
+.sprite-services-icons.call_controll { background-position: -282px -268px; width: 36px; height: 41px;}
+.sprite-services-icons.call_controll.small { background-position: -210px -280px; width: 29px; height: 29px;}
+.sprite-services-icons.call_controll.medium { background-position: -140px -268px; width: 41px; height: 41px;}
+.sprite-services-icons.call_controll.large { background-position: -70px -248px; width: 61px; height: 61px;}
+
+.sprite-services-icons.collaboration { background-position: -282px -335px; width: 43px; height: 44px;}
+.sprite-services-icons.collaboration.small { background-position: -210px -350px; width: 29px; height: 29px;}
+.sprite-services-icons.collaboration.medium { background-position: -140px -338px; width: 41px; height: 41px;}
+.sprite-services-icons.collaboration.large { background-position: -70px -318px; width: 61px; height: 61px;}
+
+.sprite-services-icons.collaboration1 { background-position: -280px -417px; width: 49px; height: 32px;}
+.sprite-services-icons.collaboration1.small { background-position: -209px -419px; width: 29px; height: 29px;}
+.sprite-services-icons.collaboration1.medium { background-position: -140px -408px; width: 41px; height: 41px;}
+.sprite-services-icons.collaboration1.large { background-position: -70px -388px; width: 61px; height: 61px;}
+
+.sprite-services-icons.messaging { background-position: -282px -482px; width: 43px; height: 40px;}
+.sprite-services-icons.messaging.small { background-position: -210px -491px; width: 28px; height: 28px;}
+.sprite-services-icons.messaging.medium { background-position: -140px -478px; width: 41px; height: 41px;}
+.sprite-services-icons.messaging.large { background-position: -70px -458px; width: 61px; height: 61px;}
+
+.sprite-services-icons.notification { background-position: -282px -538px; width: 43px; height: 52px;}
+.sprite-services-icons.notification.small { background-position: -210px -561px; width: 28px; height: 28px;}
+.sprite-services-icons.notification.medium { background-position: -140px -548px; width: 41px; height: 41px;}
+.sprite-services-icons.notification.large { background-position: -70px -528px; width: 60px; height: 60px;}
+
+.sprite-services-icons.mobility { background-position: -282px -598px; width: 64px; height: 62px;}
+.sprite-services-icons.mobility.small { background-position: -210px -630px; width: 29px; height: 29px;}
+.sprite-services-icons.mobility.medium { background-position: -140px -618px; width: 41px; height: 41px;}
+.sprite-services-icons.mobility.large { background-position: -70px -601px; width: 60px; height: 60px;}
+
+.sprite-services-icons.network_l_1-3 { background-position: -282px -672px; width: 63px; height: 57px;}
+.sprite-services-icons.network_l_1-3.small { background-position: -210px -701px; width: 28px; height: 28px;}
+.sprite-services-icons.network_l_1-3.medium { background-position: -139px -688px; width: 41px; height: 41px;}
+.sprite-services-icons.network_l_1-3.large { background-position: -70px -671px; width: 60px; height: 60px;}
+
+.sprite-services-icons.network_l_4 { background-position: -286px -744px; width: 63px; height: 57px;}
+.sprite-services-icons.network_l_4.small { background-position: -210px -771px; width: 28px; height: 28px;}
+.sprite-services-icons.network_l_4.medium { background-position: -140px -758px; width: 41px; height: 41px;}
+.sprite-services-icons.network_l_4.large { background-position: -70px -740px; width: 61px; height: 61px;}
+
+.sprite-services-icons.defaulticon { background-position: -270px -810px; width: 60px; height: 60px;}
+.sprite-services-icons.defaulticon.small { background-position: -220px -842px; width: 28px; height: 28px;}
+.sprite-services-icons.defaulticon.medium { background-position: -169px -830px; width: 40px; height: 40px;}
+.sprite-services-icons.defaulticon.large { background-position: -70px -809px; width: 60px; height: 60px;}
diff --git a/app/styles/sprite.less b/app/styles/sprite.less
new file mode 100755
index 0000000..19f924b
--- /dev/null
+++ b/app/styles/sprite.less
@@ -0,0 +1,225 @@
+.logo-white {
+ background: url('images/att_logo.png') no-repeat 0 0;
+ width: 56px;
+ height: 56px;
+}
+
+.sprite-new {
+ background-image: url('images/sprites/sprite-global.png');
+ display: inline-block;
+}
+
+.add-icon { background-position: -50px -77px; width: 23px; height: 23px;}
+.add-icon-hover { background-position: -150px -77px; width: 23px; height: 23px;}
+.import-icon { background-position: -100px -81px; width: 23px; height: 23px;}
+
+.add-icon-blue { background-position: -350px -125px; width: 18px; height: 18px;}
+.add-icon-blue-hover { background-position: -400px -125px; width: 18px; height: 18px;}
+
+.video-icon { background-position: -54px -113px; width: 33px; height: 26px;}
+.video-icon_1 { background-position: -104px -113px; width: 33px; height: 26px;}
+.video-icon_2 { background-position: -154px -113px; width: 33px; height: 26px;}
+.video-icon_disabled { background-position: -204px -113px; width: 33px; height: 26px;}
+.video-icon_focus { background-position: -250px -111px; width: 41px; height: 32px;}
+
+.vsp-list-icon { background-position: -54px -143px; width: 26px; height: 29px;}
+.vsp-list-icon-active { background-position: -104px -143px; width: 26px; height: 29px;}
+.vsp-list-icon:active:not(.disable) { background-position: -104px -143px; width: 26px; height: 29px;}
+.vsp-list-icon-hover { background-position: -154px -143px; width: 26px; height: 29px;}
+.vsp-list-icon:hover:not(.disable) { background-position: -154px -143px; width: 26px; height: 29px;}
+.vsp-list-icon.disable { background-position: -204px -143px; width: 26px; height: 29px;}
+
+.info-icon { background-position: -50px -179px; width: 14px; height: 14px;}
+.info-icon_1 { background-position: -100px -179px; width: 14px; height: 14px;}
+
+.plus-icon { background-position: -50px -231px; width: 12px; height: 12px;}
+.plus-icon-hover { background-position: -100px -231px; width: 12px; height: 12px;}
+
+.delete-icon { background-position: -650px -231px; width: 11px; height: 13px;}
+.delete-icon-hover { background-position: -702px -231px; width: 11px; height: 13px;}
+
+.arrow-up { background-position: -350px -236px; width: 12px; height: 7px;}
+.arrow-up-hover { background-position: -400px -236px; width: 12px; height: 7px;}
+
+.arrow-up-small { background-position: -250px -237px; width: 12px; height: 6px;}
+.arrow-up-small-hover { background-position: -300px -237px; width: 12px; height: 6px;}
+
+.sort-arrows { background-position: -450px -231px; width: 8px; height: 12px;}
+.sort-arrows-hover { background-position: -500px -231px; width: 8px; height: 12px;}
+
+.arrow-right { background-position: -550px -235px; width: 5px; height: 8px;}
+.arrow-right-hover { background-position: -600px -235px; width: 5px; height: 8px;}
+
+.menu-open-left { background-position: -350px -283px; width: 6px; height: 10px;}
+.menu-open-right { background-position: -400px -283px; width: 6px; height: 10px;}
+
+
+.private-status-icon { background-position: -50px -326px; width: 21px; height: 17px;}
+.in-design-status-icon { background-position: -307px -327px; width: 16px; height: 16px;}
+.checkout-editable-status-icon { background-position: -100px -326px; width: 24px; height: 17px;}
+.checkin-status-icon { background-position: -200px -326px; width: 24px; height: 17px;}
+.checkout-not-editable-status-icon { background-position: -150px -326px; width: 24px; height: 17px;}
+
+
+//workspace buttons
+.x-btn { background-position: -50px -419px; width: 24px; height: 24px; }
+.x-btn:hover { background-position: -50px -447px; width: 24px; height: 24px; }
+.x-btn:active { background-position: -50px -479px; width: 24px; height: 24px; }
+
+.delete-btn { background-position: -140px -419px; width: 24px; height: 24px; }
+.delete-btn:hover:not(.disable) { background-position: -140px -447px; width: 24px; height: 24px; }
+.delete-btn:active:not(.disable) { background-position: -140px -479px; width: 24px; height: 24px; }
+.delete-btn.disable { background-position: -140px -539px; width: 24px; height: 24px; }
+
+.save-btn { background-position: -230px -419px; width: 24px; height: 24px; }
+.save-btn:hover:not(.disable) { background-position: -230px -447px; width: 24px; height: 24px; }
+.save-btn:active:not(.disable) { background-position: -230px -479px; width: 24px; height: 24px; }
+.save-btn.disable { background-position: -230px -539px; width: 24px; height: 24px; }
+
+.revert-btn { background-position: -200px -419px; width: 24px; height: 24px; }
+.revert-btn:hover:not(.disable) { background-position: -200px -447px; width: 24px; height: 24px; }
+.revert-btn:active:not(.disable) { background-position: -200px -479px; width: 24px; height: 24px; }
+.revert-btn.disable { background-position: -200px -539px; width: 24px; height: 24px; }
+
+.success-circle { background-position: -50px -703px; width: 20px; height: 20px; }
+.success-circle-small { background-position: -170px -706px; width: 12px; height: 12px; }
+.sdc-success { background-position: -101px -707px; width: 10px; height: 10px; }
+.sdc-error { background-position: -151px -707px; width: 10px; height: 10px; }
+
+.print-screen-btn { background-position: -259px -419px; width: 24px; height: 24px; }
+.print-screen-btn:hover:not(.disable) { background-position: -259px -447px; width: 24px; height: 24px; }
+.print-screen-btn:active:not(.disable) { background-position: -259px -479px; width: 24px; height: 24px; }
+.print-screen-btn.disable { background-position: -259px -539px; width: 24px; height: 24px; }
+
+.url-btn { background-position: -636px -424px; width: 19px; height: 19px; }
+.url-btn:hover { background-position: -636px -424px; width: 19px; height: 19px; }
+.url-btn:active { background-position: -636px -482px; width: 19px; height: 19px; }
+
+
+
+
+/*new tabs icons*/
+.sprite-new.info { background-position: -51px -631px; width: 18px; height: 18px;}
+.sprite-new.info:active { background-position: -51px -669px; width: 18px; height: 18px;}
+.active > .sprite-new.info { background-position: -51px -669px; width: 18px; height: 18px;}
+
+
+.sprite-new.structure { background-position: -101px -630px; width: 18px; height: 17px;}
+.sprite-new.structure:active { background-position: -101px -668px; width: 18px; height: 17px;}
+.active > .sprite-new.structure { background-position: -101px -668px; width: 18px; height: 17px;}
+
+
+.sprite-new.deployment-artifacts { background-position: -150px -629px; width: 17px; height: 19px;}
+.sprite-new.deployment-artifacts:active { background-position: -150px -667px; width: 17px; height: 19px;}
+.active > .deployment-artifacts { background-position: -150px -667px; width: 17px; height: 19px;}
+
+.sprite-new.inputs { background-position: -200px -634px; width: 20px; height: 12px;}
+.sprite-new.inputs:active { background-position: -200px -672px; width: 20px; height: 12px;}
+.active > .sprite-new.inputs { background-position: -200px -672px; width: 20px; height: 12px;}
+
+
+.sprite-new.information-artifacts { background-position: -250px -631px; width: 17px; height: 19px;}
+.sprite-new.information-artifacts:active { background-position: -250px -669px; width: 17px; height: 19px;}
+.active > .sprite-new.information-artifacts { background-position: -250px -669px; width: 17px; height: 19px;}
+
+.sprite-new.relations { background-position: -300px -632px; width: 20px; height: 20px;}
+.sprite-new.relations:active { background-position: -300px -632px; width: 20px; height: 20px;}
+.active > .sprite-new.relations { background-position: -300px -632px; width: 20px; height: 20px;}
+
+
+.sprite-new.api { background-position: -400px -631px; width: 23px; height: 19px;}
+.sprite-new.api:active { background-position: -400px -671px; width: 23px; height: 19px;}
+.active > .sprite-new.api { background-position: -400px -671px; width: 23px; height: 19px;}
+
+.sprite-new.properties { background-position: -350px -631px; width: 19px; height: 19px;}
+.sprite-new.properties:active { background-position: -350px -671px; width: 19px; height: 19px;}
+.active > .sprite-new.properties { background-position: -350px -671px; width: 19px; height: 19px;}
+
+.sprite-new.distribution-bth { background-position: -399px -716px; width: 55px; height: 21px;}
+.sprite-new.distribution-bth.disable { background-position: -464px -716px; width: 55px; height: 21px;}
+
+.Distributed { background-position: -547px -718px; width: 16px; height: 16px;}
+.Deployed { background-position: -573px -718px; width: 16px; height: 16px;}
+
+.error-icon { background-position: -51px -751px; width: 13px; height: 11px;}
+.asdc-warning { background-position: -100px -748px; width: 17px; height: 15px;}
+
+.link-btn { background-position: -636px -424px; width: 19px; height: 19px;}
+.link-btn:hover { background-position: -636px -453px; width: 19px; height: 19px;}
+.link-btn:active { background-position: -636px -482px; width: 19px; height: 19px;}
+
+.refresh-btn { background-position: -293px -419px; width: 24px; height: 24px;}
+.refresh-btn:hover:not(.disable) { background-position: -293px -447px; width: 24px; height: 24px;}
+.refresh-btn:active:not(.disable) { background-position: -293px -479px; width: 24px; height: 24px;}
+.refresh-btn.focus { background-position: -293px -508px; width: 24px; height: 24px;}
+.refresh-btn.disable { background-position: -293px -539px; width: 24px; height: 24px;}
+
+.download-btn { background-position: -530px -419px; width: 24px; height: 24px;}
+.download-btn:hover:not(.disable) { background-position: -530px -448px; width: 24px; height: 24px;}
+.download-btn:active:not(.disable) { background-position: -530px -479px; width: 24px; height: 24px;}
+.download-btn.focus { background-position: -530px -508px; width: 24px; height: 24px;}
+.download-btn.disable { background-position: -530px -539px; width: 24px; height: 24px;}
+
+.expand-collapse-plus-icon { background-position: -334px -888px; width: 14px; height: 14px;}
+.expand-collapse-plus-icon.hover { background-position: -422px -888px; width: 14px; height: 14px;}
+.expand-collapse-minus-icon { background-position: -378px -888px; width: 14px; height: 14px;}
+.expand-collapse-minus-icon.hover { background-position: -466px -888px; width: 14px; height: 14px;}
+
+
+//tabs
+.close-open-left-arrow { background-position: -507px -942px; width: 6px; height: 10px;}
+.close-open-right-arrow { background-position: -506px -922px; width: 6px; height: 10px;}
+
+.hierarchy { background-position: -560px -887px; width: 21px; height: 15px;}
+.hierarchy.hover { background-position: -500px -887px; width: 21px; height: 15px;}
+.hierarchy.disable { background-position: -531px -887px; width: 21px; height: 15px;}
+.hierarchy.selected { background-position: -500px -887px; width: 21px; height: 15px;}
+
+.refresh-small-btn { background-position: -598px -419px; width: 24px; height: 24px;}
+.refresh-small-btn:hover:not(.disable) { background-position: -598px -448px; width: 24px; height: 24px;}
+.refresh-small-btn:active:not(.disable) { background-position: -598px -479px; width: 24px; height: 24px;}
+.refresh-small-btn.focus { background-position: -598px -508px; width: 24px; height: 24px;}
+.refresh-small-btn.disable { background-position: -598px -539px; width: 24px; height: 24px;}
+
+.download-file-btn { background-position: -673px -419px; width: 24px; height: 24px;}
+.download-file-btn:hover:not(.disable) { background-position: -673px -448px; width: 24px; height: 24px;}
+.download-file-btn:active:not(.disable) { background-position: -673px -479px; width: 24px; height: 24px;}
+.download-file-btn.focus { background-position: -673px -508px; width: 24px; height: 24px;}
+.download-file-btn.disable { background-position: -673px -539px; width: 24px; height: 24px;}
+
+.refresh-file-btn { background-position: -707px -419px; width: 24px; height: 24px;}
+.refresh-file-btn:hover:not(.disable) { background-position: -707px -448px; width: 24px; height: 24px;}
+.refresh-file-btn:active:not(.disable) { background-position: -707px -479px; width: 24px; height: 24px;}
+.refresh-file-btn.focus { background-position: -707px -508px; width: 24px; height: 24px;}
+.refresh-file-btn.disable { background-position: -707px -539px; width: 24px; height: 24px;}
+
+.import-file-btn { background-position: -745px -419px; width: 24px; height: 24px;}
+.import-file-btn:hover:not(.disable) { background-position: -745px -448px; width: 24px; height: 24px;}
+.import-file-btn:active:not(.disable) { background-position: -745px -479px; width: 24px; height: 24px;}
+.import-file-btn.focus { background-position: -745px -508px; width: 24px; height: 24px;}
+.import-file-btn.disable { background-position: -745px -539px; width: 24px; height: 24px;}
+
+.left-arrow { background-position: -590px -876px; width: 26px; height: 26px;}
+.left-arrow:hover { background-position: -662px -876px; width: 26px; height: 26px;}
+.right-arrow { background-position: -626px -876px; width: 26px; height: 26px;}
+.right-arrow:hover { background-position: -698px -876px; width: 26px; height: 26px;}
+.search-white-icon { background-position: -434px -128px; width: 14px; height: 14px;}
+
+.blue-right-arrow-circle { background-position: -650px -619px; width: 29px; height: 29px;}
+.blue-right-arrow-circle:hover { background-position: -689px -619px; width: 29px; height: 29px;}
+
+.small-x-button { background-position: -190px -282px; width: 11px; height: 11px;}
+.small-x-button:hover { background-position: -210px -283px; width: 11px; height: 11px;}
+.close-info-tooltip-button {.small-x-button}
+.close-info-tooltip-button:hover { background-position: -230px -283px; width: 11px; height: 11px;}
+.expand-all { background-position: -500px -420px; width: 20px; height: 22px;}
+.expand-all:hover { background-position: -500px -449px; width: 20px; height: 22px;}
+.collapse-all { background-position: -465px -420px; width: 20px; height: 22px;}
+.collapse-all:hover { background-position: -465px -449px; width: 20px; height: 22px;}
+
+.delete-param:hover{ background-position: -702px -231px; width: 12px; height: 13px;}
+.delete-param{ background-position: -675px -231px; width: 12px; height: 13px;}
+.revert-param:hover{ background-position: -700px -48px; width: 12px; height: 11px;}
+.revert-param{ background-position: -676px -48px; width: 12px; height: 11px;}
+.show-desc:hover{ background-position: -635px -75px; width: 13px; height: 14px;}
+.show-desc{ background-position: -599px -75px; width: 13px; height: 14px;}
diff --git a/app/styles/tlv-sprite.less b/app/styles/tlv-sprite.less
new file mode 100644
index 0000000..472e2fb
--- /dev/null
+++ b/app/styles/tlv-sprite.less
@@ -0,0 +1,138 @@
+.tlv-sprite {
+ background-image: url("images/sprites/tlv-sprite.png");
+ display: inline-block;
+ vertical-align: middle;
+
+ &.logo-blue {
+ background-position: -10px -20px;
+ width: 28px;
+ height: 28px;
+ }
+
+ &.user {
+ background-position: -50px -20px;
+ width: 15px;
+ height: 20px;
+ }
+
+ .facebook {
+ background-position: -10px -260px;
+ width: 36px;
+ height: 36px;
+ }
+
+ .facebook-hover {
+ background-position: -10px -300px;
+ width: 36px;
+ height: 36px;
+ }
+
+ .twitter {
+ background-position: -50px -260px;
+ width: 36px;
+ height: 36px;
+ }
+
+ .twitter-hover {
+ background-position: -50px -300px;
+ width: 36px;
+ height: 36px;
+ }
+
+ .linkedin {
+ background-position: -89px -260px;
+ width: 36px;
+ height: 36px;
+ }
+
+ .linkedin-hover {
+ background-position: -89px -300px;
+ width: 36px;
+ height: 36px;
+ }
+
+ .youtube {
+ background-position: -130px -260px;
+ width: 36px;
+ height: 36px;
+ }
+
+ .youtube-hover {
+ background-position: -130px -300px;
+ width: 36px;
+ height: 36px;
+ }
+
+ .footer-open {
+ background-position: -250px -59px;
+ width: 14px;
+ height: 10px;
+ }
+
+ .footer-open-hover {
+ background-position: -250px -79px;
+ width: 14px;
+ height: 10px;
+ }
+
+ .footer-close {
+ background-position: -230px -59px;
+ width: 14px;
+ height: 10px;
+ }
+
+ .footer-close-hover {
+ background-position: -230px -79px;
+ width: 14px;
+ height: 10px;
+ }
+
+ .checkbox-disadbled {
+ background-position: -10px -60px;
+ width: 14px;
+ height: 14px;
+ }
+
+ .checkbox {
+ background-position: -10px -60px;
+ width: 14px;
+ height: 14px;
+ }
+
+ .checkbox-hover {
+ background-position: -10px -100px;
+ width: 14px;
+ height: 14px;
+ }
+
+ .checkbox-checked {
+ background-position: -10px -120px;
+ width: 14px;
+ height: 14px;
+ }
+
+ .radio-disabled {
+ background-position: -50px -60px;
+ width: 14px;
+ height: 14px;
+ }
+
+ .radio {
+ background-position: -50px -80px;
+ width: 14px;
+ height: 14px;
+ }
+
+ .radio-checked {
+ background-position: -50px -120px;
+ width: 14px;
+ height: 14px;
+ }
+}
+
+.tlv-x-btn, .tlv-x-btn:hover {
+ background-position: -17px -147px;
+ width: 10px;
+ height: 10px;
+}
+
diff --git a/app/styles/variables.less b/app/styles/variables.less
new file mode 100755
index 0000000..c6dfa0d
--- /dev/null
+++ b/app/styles/variables.less
@@ -0,0 +1,43 @@
+// Fonts
+@font-omnes-light: omnes-light, sans-serif;
+@font-omnes-regular: omnes-regular, sans-serif;
+@font-omnes-medium: omnes-medium, sans-serif;
+@font-omnes-medium-italic: omnes-medium-italic, sans-serif;
+@font-omnes-bold: omnes-bold, sans-serif;
+
+/*---------------------------------------------- General ----------------------------------------------*/
+@images: "images";
+
+// Main Colors
+@main_color_a: #009fdb;
+@main_color_b: #056bae;
+@main_color_c: #71c5eb;
+@main_color_d: #4ca90c;
+@main_color_e: #007a3e;
+@main_color_f: #b5bd00;
+@main_color_g: #ea7499;
+@main_color_h: #ffb81c;
+@main_color_i: #702f8a;
+@main_color_j: #9063cd;
+@main_color_k: #caa2dd;
+@main_color_l: #000000;
+@main_color_m: #5a5a5a;
+@main_color_n: #959595;
+@main_color_o: #d2d2d2;
+@main_color_p: #ffffff;
+
+// Functional Colors
+@func_color_q: #cf2a2a;
+@func_color_r: #f2f2f2;
+@func_color_s: #191919;
+@func_color_b: #0568ae;
+@func_color_e: #007a3e;
+@func_color_h: #ffb81c;
+
+// Tlv Colors
+@tlv_color_t: #faf8f8;
+@tlv_color_u: #eaeaea;
+@tlv_color_v: #e6f6fb;
+
+/*---------------------------------------------- Parameters ----------------------------------------------*/
+@header_height: 90px;
diff --git a/bower.json b/bower.json
new file mode 100644
index 0000000..6d795a1
--- /dev/null
+++ b/bower.json
@@ -0,0 +1,24 @@
+{
+ "name": "dcaeapp",
+ "version": "0.0.0",
+ "dependencies": {
+ "jquery": "2.2.4",
+ "angular": "1.4.0",
+ "bootstrap": "3.3.4",
+ "angular-ui-router": "0.3.0"
+ },
+ "devDependencies": {
+ "angular-mocks": "1.4.0"
+ },
+ "appPath": "app",
+ "moduleName": "dcaeApp",
+ "overrides": {
+ "bootstrap": {
+ "main": [
+ "less/bootstrap.less",
+ "dist/css/bootstrap.css",
+ "dist/js/bootstrap.js"
+ ]
+ }
+ }
+}
diff --git a/deploy.sh b/deploy.sh
new file mode 100644
index 0000000..284ec37
--- /dev/null
+++ b/deploy.sh
@@ -0,0 +1,15 @@
+#!/bin/bash
+HOST='135.21.125.104'
+SOURCE_DIR='./dist/imploded/'
+SOURCE_FILE='dcae.war'
+TARGET_DIR='./apps/jetty/base/be/webapps/'
+
+lftp -c "open -u $AMDOCS_USER,$AMDOCS_PASS sftp://135.21.125.104; put -O /apps/jetty/base/fe/webapps/ ./dist/imploded/dcae.war"
+
+# lftp<<END_SCRIPT
+# open sftp://$HOST
+# user $USER $PASSWD
+# cd $TARGET_DIR
+# put $SOURCE_FILE
+# bye
+# END_SCRIPT
diff --git a/docker/chef-solo/cookbooks/dcae-dt/.gitignore b/docker/chef-solo/cookbooks/dcae-dt/.gitignore
new file mode 100644
index 0000000..b31c0d3
--- /dev/null
+++ b/docker/chef-solo/cookbooks/dcae-dt/.gitignore
@@ -0,0 +1,20 @@
+.vagrant
+Berksfile.lock
+*~
+*#
+.#*
+\#*#
+.*.sw[a-z]
+*.un~
+
+# Bundler
+Gemfile.lock
+bin/*
+.bundle/*
+
+.kitchen/
+.kitchen.local.yml
+
+######### Private
+run.me
+DCAE-CI01.json
diff --git a/docker/chef-solo/cookbooks/dcae-dt/.kitchen.yml b/docker/chef-solo/cookbooks/dcae-dt/.kitchen.yml
new file mode 100644
index 0000000..8e76353
--- /dev/null
+++ b/docker/chef-solo/cookbooks/dcae-dt/.kitchen.yml
@@ -0,0 +1,16 @@
+---
+driver:
+ name: vagrant
+
+provisioner:
+ name: chef_zero
+
+platforms:
+ - name: ubuntu-16.04
+ - name: centos-7.1
+
+suites:
+ - name: default
+ run_list:
+ - recipe[dcae-dt::default]
+ attributes:
diff --git a/docker/chef-solo/cookbooks/dcae-dt/README.md b/docker/chef-solo/cookbooks/dcae-dt/README.md
new file mode 100644
index 0000000..de00ec4
--- /dev/null
+++ b/docker/chef-solo/cookbooks/dcae-dt/README.md
@@ -0,0 +1,4 @@
+# dcae-dt
+
+TODO: Enter the cookbook description here.
+
diff --git a/docker/chef-solo/cookbooks/dcae-dt/attributes/default.rb b/docker/chef-solo/cookbooks/dcae-dt/attributes/default.rb
new file mode 100644
index 0000000..22650c5
--- /dev/null
+++ b/docker/chef-solo/cookbooks/dcae-dt/attributes/default.rb
@@ -0,0 +1,19 @@
+default['JETTY_BASE'] = "/var/lib/jetty"
+default['JETTY_HOME'] = "/usr/local/jetty"
+default['APP_LOG_DIR'] = "/opt/logs/dcae-dt"
+
+default['DCAE']['BE'][:http_port] = 8082
+default['DCAE']['BE'][:https_port] = 8444
+
+default['DCAE']['FE'][:http_port] = 8183
+default['DCAE']['FE'][:https_port] = 9444
+
+default['DCAE']['DT'][:http_port] = 8186
+default['DCAE']['DT'][:https_port] = 9446
+
+default['jetty'][:keystore_pwd] = "OBF:1cp61iuj194s194u194w194y1is31cok"
+default['jetty'][:keymanager_pwd] = "OBF:1cp61iuj194s194u194w194y1is31cok"
+default['jetty'][:truststore_pwd] = "OBF:1cp61iuj194s194u194w194y1is31cok"
+
+default['disableHttp'] = true
+
diff --git a/docker/chef-solo/cookbooks/dcae-dt/files/default/keystore b/docker/chef-solo/cookbooks/dcae-dt/files/default/keystore
new file mode 100644
index 0000000..c408393
--- /dev/null
+++ b/docker/chef-solo/cookbooks/dcae-dt/files/default/keystore
Binary files differ
diff --git a/docker/chef-solo/cookbooks/dcae-dt/files/default/truststore b/docker/chef-solo/cookbooks/dcae-dt/files/default/truststore
new file mode 100644
index 0000000..c408393
--- /dev/null
+++ b/docker/chef-solo/cookbooks/dcae-dt/files/default/truststore
Binary files differ
diff --git a/docker/chef-solo/cookbooks/dcae-dt/metadata.rb b/docker/chef-solo/cookbooks/dcae-dt/metadata.rb
new file mode 100644
index 0000000..f114e32
--- /dev/null
+++ b/docker/chef-solo/cookbooks/dcae-dt/metadata.rb
@@ -0,0 +1,7 @@
+name 'dcae-dt'
+maintainer 'The Authors'
+maintainer_email 'you@example.com'
+license 'all_rights'
+description 'Installs/Configures dcae-dt'
+long_description 'Installs/Configures dcae-dt'
+version '1.0.0'
diff --git a/docker/chef-solo/cookbooks/dcae-dt/recipes/dcae_dt_setup.rb b/docker/chef-solo/cookbooks/dcae-dt/recipes/dcae_dt_setup.rb
new file mode 100644
index 0000000..240ea10
--- /dev/null
+++ b/docker/chef-solo/cookbooks/dcae-dt/recipes/dcae_dt_setup.rb
@@ -0,0 +1,69 @@
+jetty_base = "#{node['JETTY_BASE']}"
+dcae_logs = "#{node['APP_LOG_DIR']}"
+
+dcae_fe_vip = node['DCAE_FE_VIP']
+
+if node['disableHttp']
+ protocol = "https"
+ dcae_be_port = node['DCAE']['BE'][:https_port]
+ dcae_fe_port = node['DCAE']['FE'][:https_port]
+ dcae_dt_port = node['DCAE']['DT'][:https_port]
+else
+ protocol = "http"
+ dcae_be_port = node['DCAE']['BE'][:http_port]
+ dcae_fe_port = node['DCAE']['FE'][:http_port]
+ dcae_dt_port = node['DCAE']['DT'][:http_port]
+end
+
+printf("DEBUG: [%s]:[%s] disableHttp=[%s], protocol=[%s], dcae_dt_port=[%s] !!! \n", cookbook_name, recipe_name, node['disableHttp'], protocol, dcae_dt_port )
+
+
+directory "#{jetty_base}/config" do
+ owner "jetty"
+ group "jetty"
+ mode '0755'
+ recursive true
+ action :create
+end
+
+directory "#{jetty_base}/config/dcae-dt" do
+ owner "jetty"
+ group "jetty"
+ mode '0755'
+ recursive true
+ action :create
+end
+
+template "dcae-dt-config" do
+ sensitive true
+ path "#{jetty_base}/config/dcae-dt/application.properties"
+ source "dcae-application.properties.erb"
+ owner "jetty"
+ group "jetty"
+ mode "0755"
+ variables ({
+ :dcae_fe_vip => dcae_fe_vip,
+ :dcae_fe_port => dcae_fe_port,
+ :protocol => protocol,
+ :dcae_dt_port => dcae_dt_port
+ })
+end
+
+
+template "dcae-logback-spring-config" do
+ sensitive true
+ path "#{jetty_base}/config/dcae-dt/logback-spring.xml"
+ source "dcae-logback-spring.erb"
+ owner "jetty"
+ group "jetty"
+ mode "0755"
+end
+
+
+directory "#{dcae_logs}" do
+ owner "jetty"
+ group "jetty"
+ mode '0755'
+ recursive true
+ action :create
+end
diff --git a/docker/chef-solo/cookbooks/dcae-dt/recipes/jetty_setup.rb b/docker/chef-solo/cookbooks/dcae-dt/recipes/jetty_setup.rb
new file mode 100644
index 0000000..f07f0e9
--- /dev/null
+++ b/docker/chef-solo/cookbooks/dcae-dt/recipes/jetty_setup.rb
@@ -0,0 +1,86 @@
+jetty_base = "#{node['JETTY_BASE']}"
+jetty_home = "#{node['JETTY_HOME']}"
+
+#Set the http module option
+if node['disableHttp']
+ http_option = "#--module=http"
+else
+ http_option = "--module=http"
+end
+
+
+printf("DEBUG: [%s]:[%s] disableHttp=[%s], http_option=[%s] !!! \n", cookbook_name, recipe_name, node['disableHttp'], http_option )
+
+
+directory "Jetty_etcdir_creation" do
+ path "/#{jetty_base}/etc"
+ owner 'jetty'
+ group 'jetty'
+ mode '0755'
+ action :create
+end
+
+
+# Create Keystore
+cookbook_file "#{jetty_base}/etc/keystore" do
+ source "keystore"
+ owner "jetty"
+ group "jetty"
+ mode 0755
+end
+
+# Create Trustore
+cookbook_file "#{jetty_base}/etc/truststore" do
+ source "truststore"
+ owner "jetty"
+ group "jetty"
+ mode 0755
+end
+
+bash "create-jetty-modules" do
+ cwd "#{jetty_base}"
+ code <<-EOH
+ cd "#{jetty_base}"
+ java -jar "#{jetty_home}"/start.jar --add-to-start=deploy
+ java -jar "#{jetty_home}"/start.jar --add-to-startd=http,https,logging,setuid
+ EOH
+end
+
+# configure Jetty modules
+template "http-ini" do
+ path "#{jetty_base}/start.d/http.ini"
+ source "http-ini.erb"
+ owner "jetty"
+ group "jetty"
+ mode "0755"
+ variables ({
+ :http_option => http_option ,
+ :http_port => "#{node['DCAE']['DT'][:http_port]}"
+ })
+end
+
+template "https-ini" do
+ path "#{jetty_base}/start.d/https.ini"
+ source "https-ini.erb"
+ owner "jetty"
+ group "jetty"
+ mode "0755"
+ variables ({
+ :https_port => "#{node['DCAE']['DT'][:https_port]}"
+ })
+end
+
+template "ssl-ini" do
+ path "#{jetty_base}/start.d/ssl.ini"
+ source "ssl-ini.erb"
+ owner "jetty"
+ group "jetty"
+ mode "0755"
+ variables ({
+ :https_port => "#{node['DCAE']['DT'][:https_port]}" ,
+ :jetty_keystore_pwd => "#{node['jetty'][:keystore_pwd]}" ,
+ :jetty_keymanager_pwd => "#{node['jetty'][:keymanager_pwd]}" ,
+ :jetty_truststore_pwd => "#{node['jetty'][:truststore_pwd]}"
+ })
+end
+
diff --git a/docker/chef-solo/cookbooks/dcae-dt/templates/default/dcae-application.properties.erb b/docker/chef-solo/cookbooks/dcae-dt/templates/default/dcae-application.properties.erb
new file mode 100644
index 0000000..789d103
--- /dev/null
+++ b/docker/chef-solo/cookbooks/dcae-dt/templates/default/dcae-application.properties.erb
@@ -0,0 +1,4 @@
+server.port=<%= @dcae_dt_port %>
+server.context-path=/dcae
+newFeUrl=<%= @protocol %>://<%= @dcae_fe_vip %>:<%= @dcae_fe_port %>
+newFeContextPath=/dcaed
diff --git a/docker/chef-solo/cookbooks/dcae-dt/templates/default/dcae-logback-spring.erb b/docker/chef-solo/cookbooks/dcae-dt/templates/default/dcae-logback-spring.erb
new file mode 100644
index 0000000..7c0bfb6
--- /dev/null
+++ b/docker/chef-solo/cookbooks/dcae-dt/templates/default/dcae-logback-spring.erb
@@ -0,0 +1,342 @@
+<!-- Copyright (c) 2016 AT&T Intellectual Property. All rights reserved. -->
+<configuration scan="true" scanPeriod="3 seconds">
+ <include resource="org/springframework/boot/logging/logback/base.xml"/>
+ <!--<jmxConfigurator /> -->
+
+ <!-- specify the component name -->
+ <property name="componentName" value="DCAE"></property>
+
+ <!-- log file names -->
+ <property name="generalLogName" value="application" />
+ <property name="securityLogName" value="security" />
+ <property name="performanceLogName" value="performance" />
+ <property name="serverLogName" value="server" />
+ <property name="policyLogName" value="policy" />
+ <property name="errorLogName" value="error" />
+ <property name="metricsLogName" value="metrics" />
+ <property name="auditLogName" value="audit" />
+ <property name="debugLogName" value="debug" />
+
+ <property name="defaultPattern" value="%date{ISO8601,UTC}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{VirtualServerName}|%X{ServiceName}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}|%X{Timer}| %msg%n" />
+
+ <property name="auditLoggerPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{VirtualServerName}|%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}|%X{Unused}|%X{ProcessKey}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}| %msg%n" />
+ <property name="metricsLoggerPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{VirtualServerName}|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}|%X{Unused}|%X{ProcessKey}|%X{TargetVirtualEntity}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}| %msg%n" />
+ <property name="errorLoggerPattern" value="%date{ISO8601,UTC}|%X{RequestId}|%thread|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%.-5level|%X{ErrorCode}|%X{ErrorDescription}| %msg%n" />
+ <property name="debugLoggerPattern" value="%date{ISO8601,UTC}|%X{RequestId}| %msg%n" />
+
+ <property name="logDirectory" value="${log.home}/${componentName}" />
+
+
+ <!-- Example evaluator filter applied against console appender -->
+ <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+ <encoder>
+ <pattern>${defaultPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <!-- ============================================================================ -->
+ <!-- EELF Appenders -->
+ <!-- ============================================================================ -->
+
+ <!-- The EELFAppender is used to record events to the general application
+ log -->
+
+
+ <appender name="EELF"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${generalLogName}.log</file>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${generalLogName}.%i.log.zip
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>9</maxIndex>
+ </rollingPolicy>
+ <triggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>5MB</maxFileSize>
+ </triggeringPolicy>
+ <encoder>
+ <pattern>${defaultPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="asyncEELF" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELF" />
+ </appender>
+
+ <!-- EELF Security Appender. This appender is used to record security events
+ to the security log file. Security events are separate from other loggers
+ in EELF so that security log records can be captured and managed in a secure
+ way separate from the other logs. This appender is set to never discard any
+ events. -->
+ <appender name="EELFSecurity"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${securityLogName}.log</file>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${securityLogName}.%i.log.zip
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>9</maxIndex>
+ </rollingPolicy>
+ <triggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>5MB</maxFileSize>
+ </triggeringPolicy>
+ <encoder>
+ <pattern>${defaultPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="asyncEELFSecurity" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <discardingThreshold>0</discardingThreshold>
+ <appender-ref ref="EELFSecurity" />
+ </appender>
+
+ <!-- EELF Performance Appender. This appender is used to record performance
+ records. -->
+ <appender name="EELFPerformance"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${performanceLogName}.log</file>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${performanceLogName}.%i.log.zip
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>9</maxIndex>
+ </rollingPolicy>
+ <triggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>5MB</maxFileSize>
+ </triggeringPolicy>
+ <encoder>
+ <pattern>${defaultPattern}</pattern>
+ </encoder>
+ </appender>
+ <appender name="asyncEELFPerformance" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELFPerformance" />
+ </appender>
+
+ <!-- EELF Server Appender. This appender is used to record Server related
+ logging events. The Server logger and appender are specializations of the
+ EELF application root logger and appender. This can be used to segregate Server
+ events from other components, or it can be eliminated to record these events
+ as part of the application root log. -->
+ <appender name="EELFServer"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${serverLogName}.log</file>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${serverLogName}.%i.log.zip
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>9</maxIndex>
+ </rollingPolicy>
+ <triggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>5MB</maxFileSize>
+ </triggeringPolicy>
+ <encoder>
+ <pattern>${defaultPattern}</pattern>
+ </encoder>
+ </appender>
+ <appender name="asyncEELFServer" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELFServer" />
+ </appender>
+
+
+ <!-- EELF Policy Appender. This appender is used to record Policy engine
+ related logging events. The Policy logger and appender are specializations
+ of the EELF application root logger and appender. This can be used to segregate
+ Policy engine events from other components, or it can be eliminated to record
+ these events as part of the application root log. -->
+ <appender name="EELFPolicy"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${policyLogName}.log</file>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${policyLogName}.%i.log.zip
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>9</maxIndex>
+ </rollingPolicy>
+ <triggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>5MB</maxFileSize>
+ </triggeringPolicy>
+ <encoder>
+ <pattern>${defaultPattern}</pattern>
+ </encoder>
+ </appender>
+ <appender name="asyncEELFPolicy" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELFPolicy" />
+ </appender>
+
+
+ <!-- EELF Audit Appender. This appender is used to record audit engine
+ related logging events. The audit logger and appender are specializations
+ of the EELF application root logger and appender. This can be used to segregate
+ Policy engine events from other components, or it can be eliminated to record
+ these events as part of the application root log. -->
+
+ <!-- Audit log -->
+ <appender name="EELFAudit"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${auditLogName}.log</file>
+ <!-- Audit messages filter - accept audit messages -->
+ <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
+ <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
+ <marker>AUDIT_MARKER</marker>
+ <marker>AUDIT</marker>
+ </evaluator>
+ <onMismatch>DENY</onMismatch>
+ <onMatch>ACCEPT</onMatch>
+ </filter>
+
+ <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${auditLogName}.%i.log.zip</fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>10</maxIndex>
+ </rollingPolicy>
+
+ <triggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>20MB</maxFileSize>
+ </triggeringPolicy>
+ <encoder>
+ <pattern>${auditLoggerPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELFAudit" />
+ </appender>
+
+<appender name="EELFMetrics"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${metricsLogName}.log</file>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${metricsLogName}.%i.log.zip
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>9</maxIndex>
+ </rollingPolicy>
+ <triggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>5MB</maxFileSize>
+ </triggeringPolicy>
+ <encoder>
+ <!-- <pattern>"%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} -
+ %msg%n"</pattern> -->
+ <pattern>${metricsLoggerPattern}</pattern>
+ </encoder>
+ </appender>
+
+
+ <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELFMetrics"/>
+ </appender>
+
+ <appender name="EELFError"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${errorLogName}.log</file>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${errorLogName}.%i.log.zip
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>9</maxIndex>
+ </rollingPolicy>
+ <triggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>5MB</maxFileSize>
+ </triggeringPolicy>
+ <encoder>
+ <pattern>${errorLoggerPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELFError"/>
+ </appender>
+
+ <appender name="EELFDebug"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${debugLogName}.log</file>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${debugLogName}.%i.log.zip
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>9</maxIndex>
+ </rollingPolicy>
+ <triggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>5MB</maxFileSize>
+ </triggeringPolicy>
+ <encoder>
+ <pattern>${debugLoggerPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELFDebug" />
+ <includeCallerData>true</includeCallerData>
+ </appender>
+
+
+ <!-- ============================================================================ -->
+ <!-- EELF loggers -->
+ <!-- ============================================================================ -->
+ <logger name="com.att.eelf" level="info" additivity="false">
+ <appender-ref ref="asyncEELF" />
+ </logger>
+ <logger name="com.att.eelf.security" level="info" additivity="false">
+ <appender-ref ref="asyncEELFSecurity" />
+ </logger>
+ <logger name="com.att.eelf.perf" level="info" additivity="false">
+ <appender-ref ref="asyncEELFPerformance" />
+ </logger>
+ <logger name="com.att.eelf.server" level="info" additivity="false">
+ <appender-ref ref="asyncEELFServer" />
+ </logger>
+ <logger name="com.att.eelf.policy" level="info" additivity="false">
+ <appender-ref ref="asyncEELFPolicy" />
+ </logger>
+
+ <logger name="org.openecomp.sdc.common.ecomplog.EcompLoggerAudit" level="info" additivity="false">
+ <appender-ref ref="asyncEELFAudit" />
+ </logger>
+
+ <logger name="com.att.eelf.metrics" level="info" additivity="false">
+ <appender-ref ref="asyncEELFMetrics" />
+ </logger>
+
+
+ <logger name="com.att.eelf.error" level="error" additivity="false">
+ <appender-ref ref="asyncEELFError" />
+ </logger>
+
+ <logger name="com.att.eelf.debug" level="debug" additivity="false">
+ <appender-ref ref="asyncEELFDebug" />
+ </logger>
+
+
+
+
+ <root level="INFO">
+ <appender-ref ref="asyncEELF" />
+ </root>
+
+</configuration>
diff --git a/docker/chef-solo/cookbooks/dcae-dt/templates/default/http-ini.erb b/docker/chef-solo/cookbooks/dcae-dt/templates/default/http-ini.erb
new file mode 100644
index 0000000..8f26690
--- /dev/null
+++ b/docker/chef-solo/cookbooks/dcae-dt/templates/default/http-ini.erb
@@ -0,0 +1,29 @@
+# ---------------------------------------
+# Module: http
+<%= @http_option %>
+
+### HTTP Connector Configuration
+
+## Connector host/address to bind to
+# jetty.http.host=0.0.0.0
+
+## Connector port to listen on
+jetty.http.port=<%= @http_port %>
+
+## Connector idle timeout in milliseconds
+jetty.http.idleTimeout=30000
+
+## Connector socket linger time in seconds (-1 to disable)
+# jetty.http.soLingerTime=-1
+
+## Number of acceptors (-1 picks default based on number of cores)
+# jetty.http.acceptors=-1
+
+## Number of selectors (-1 picks default based on number of cores)
+# jetty.http.selectors=-1
+
+## ServerSocketChannel backlog (0 picks platform default)
+# jetty.http.acceptorQueueSize=0
+
+## Thread priority delta to give to acceptor threads
+# jetty.http.acceptorPriorityDelta=0
diff --git a/docker/chef-solo/cookbooks/dcae-dt/templates/default/https-ini.erb b/docker/chef-solo/cookbooks/dcae-dt/templates/default/https-ini.erb
new file mode 100644
index 0000000..9999a41
--- /dev/null
+++ b/docker/chef-solo/cookbooks/dcae-dt/templates/default/https-ini.erb
@@ -0,0 +1,29 @@
+# ---------------------------------------
+# Module: https
+--module=https
+
+### HTTPS Connector Configuration
+
+## Connector host/address to bind to
+# jetty.https.host=0.0.0.0
+
+## Connector port to listen on
+jetty.https.port=<%= @https_port %>
+
+## Connector idle timeout in milliseconds
+jetty.https.idleTimeout=30000
+
+## Connector socket linger time in seconds (-1 to disable)
+# jetty.https.soLingerTime=-1
+
+## Number of acceptors (-1 picks default based on number of cores)
+# jetty.https.acceptors=-1
+
+## Number of selectors (-1 picks default based on number of cores)
+# jetty.https.selectors=-1
+
+## ServerSocketChannel backlog (0 picks platform default)
+# jetty.https.acceptorQueueSize=0
+
+## Thread priority delta to give to acceptor threads
+# jetty.https.acceptorPriorityDelta=0
diff --git a/docker/chef-solo/cookbooks/dcae-dt/templates/default/ssl-ini.erb b/docker/chef-solo/cookbooks/dcae-dt/templates/default/ssl-ini.erb
new file mode 100644
index 0000000..9abac51
--- /dev/null
+++ b/docker/chef-solo/cookbooks/dcae-dt/templates/default/ssl-ini.erb
@@ -0,0 +1,90 @@
+# ---------------------------------------
+# Module: ssl
+--module=ssl
+
+### TLS(SSL) Connector Configuration
+
+## Connector host/address to bind to
+# jetty.ssl.host=0.0.0.0
+
+## Connector port to listen on
+jetty.ssl.port=<%= @https_port %>
+
+## Connector idle timeout in milliseconds
+# jetty.ssl.idleTimeout=30000
+
+## Connector socket linger time in seconds (-1 to disable)
+# jetty.ssl.soLingerTime=-1
+
+## Number of acceptors (-1 picks default based on number of cores)
+# jetty.ssl.acceptors=-1
+
+## Number of selectors (-1 picks default based on number of cores)
+# jetty.ssl.selectors=-1
+
+## ServerSocketChannel backlog (0 picks platform default)
+# jetty.ssl.acceptorQueueSize=0
+
+## Thread priority delta to give to acceptor threads
+# jetty.ssl.acceptorPriorityDelta=0
+
+## Whether request host names are checked to match any SNI names
+# jetty.ssl.sniHostCheck=true
+
+## max age in seconds for a Strict-Transport-Security response header (default -1)
+# jetty.ssl.stsMaxAgeSeconds=31536000
+
+## include subdomain property in any Strict-Transport-Security header (default false)
+# jetty.ssl.stsIncludeSubdomains=true
+
+### SslContextFactory Configuration
+## Note that OBF passwords are not secure, just protected from casual observation
+## See http://www.eclipse.org/jetty/documentation/current/configuring-security-secure-passwords.html
+
+## Keystore file path (relative to $jetty.base)
+#jetty.sslContext.keyStorePath=etc/keystore
+
+## Truststore file path (relative to $jetty.base)
+#jetty.sslContext.trustStorePath=etc/truststore
+
+## Keystore password
+# jetty.sslContext.keyStorePassword=OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4
+jetty.sslContext.keyStorePassword=<%= @jetty_keystore_pwd %>
+
+## Keystore type and provider
+# jetty.sslContext.keyStoreType=JKS
+# jetty.sslContext.keyStoreProvider=
+
+## KeyManager password
+# jetty.sslContext.keyManagerPassword=OBF:1u2u1wml1z7s1z7a1wnl1u2g
+jetty.sslContext.keyManagerPassword=<%= @jetty_keymanager_pwd %>
+
+## Truststore password
+# jetty.sslContext.trustStorePassword=OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4
+jetty.sslContext.trustStorePassword=<%= @jetty_truststore_pwd %>
+
+## Truststore type and provider
+# jetty.sslContext.trustStoreType=JKS
+# jetty.sslContext.trustStoreProvider=
+
+## whether client certificate authentication is required
+# jetty.sslContext.needClientAuth=false
+
+## Whether client certificate authentication is desired
+# jetty.sslContext.wantClientAuth=false
+
+## Whether cipher order is significant (since java 8 only)
+# jetty.sslContext.useCipherSuitesOrder=true
+
+## To configure Includes / Excludes for Cipher Suites or Protocols see tweak-ssl.xml example at
+## https://www.eclipse.org/jetty/documentation/current/configuring-ssl.html#configuring-sslcontextfactory-cipherSuites
+
+## Set the size of the SslSession cache
+# jetty.sslContext.sslSessionCacheSize=-1
+
+## Set the timeout (in seconds) of the SslSession cache timeout
+# jetty.sslContext.sslSessionTimeout=-1
+
+## Allow SSL renegotiation
+# jetty.sslContext.renegotiationAllowed=true
+# jetty.sslContext.renegotiationLimit=5
diff --git a/docker/chef-solo/environments/.keep b/docker/chef-solo/environments/.keep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/docker/chef-solo/environments/.keep
diff --git a/docker/chef-solo/roles/dcae-dt.json b/docker/chef-solo/roles/dcae-dt.json
new file mode 100644
index 0000000..fe27501
--- /dev/null
+++ b/docker/chef-solo/roles/dcae-dt.json
@@ -0,0 +1,18 @@
+{
+ "name": "dcae-dt",
+ "description": "Installation application Setup- dcae DT",
+ "json_class": "Chef::Role",
+ "default_attributes": {
+
+ },
+ "override_attributes": {
+
+ },
+ "chef_type": "role",
+ "run_list": [
+ "recipe[dcae-dt::jetty_setup]",
+ "recipe[dcae-dt::dcae_dt_setup]"
+ ],
+ "env_run_lists": {
+ }
+}
diff --git a/docker/chef-solo/solo.json b/docker/chef-solo/solo.json
new file mode 100644
index 0000000..3461494
--- /dev/null
+++ b/docker/chef-solo/solo.json
@@ -0,0 +1,4 @@
+{
+ "run_list": [ "role[dcae-dt]" ]
+}
+
diff --git a/docker/chef-solo/solo.rb b/docker/chef-solo/solo.rb
new file mode 100644
index 0000000..06c1af4
--- /dev/null
+++ b/docker/chef-solo/solo.rb
@@ -0,0 +1,16 @@
+root = File.absolute_path(File.dirname(__FILE__))
+file_cache_path root
+cookbook_path root + '/cookbooks'
+json_attribs root + '/solo.json'
+checksum_path root + '/checksums'
+data_bag_path root + '/data_bags'
+environment_path root + '/environments'
+file_backup_path root + '/backup'
+file_cache_path root + '/cache'
+log_level :info
+log_location STDOUT
+rest_timeout 300
+role_path root + '/roles'
+syntax_check_cache_path
+umask 0022
+verbose_logging nil
diff --git a/docker/scripts/set_dockerfile_and_pom.pl b/docker/scripts/set_dockerfile_and_pom.pl
new file mode 100644
index 0000000..8411f30
--- /dev/null
+++ b/docker/scripts/set_dockerfile_and_pom.pl
@@ -0,0 +1,62 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+
+my @lines;
+
+#
+### POM file
+#
+
+my $file = 'pom.xml';
+### Read the pom.xml file.
+open (POM, $file) or die "[ERROR] Cannot read the file '$file' : $!\n\n";
+chomp (@lines = <POM>);
+close (POM);
+
+open (NEW, ">${file}") or die "[ERROR] Cannot write to the file '$file' : $!\n\n";
+foreach my $line (@lines) {
+
+ # Replace groupID
+ if ($line =~ m|<groupId>org.onap.sdc</groupId>|) {
+ $line =~ s|org.onap.sdc|com.att.sdc|;
+ }
+
+ # Remove the tags.
+ if ($line =~ m|<tag>(.*)</tag>|) {
+
+ if ($1 eq '${docker.tag}') {
+ $line =~ s|\$\{docker.tag\}|\$\{project.version\}|;
+ }
+ else {
+ next;
+ }
+ }
+
+ print NEW "$line\n";
+}
+close (NEW);
+
+
+#
+### Dockerfie
+#
+
+my $dockerFile = 'Dockerfile';
+
+open (FILE, $dockerFile) or die "[ERROR] Cannot read the file '$dockerFile' : $!\n\n";
+chomp (@lines = <FILE>);
+close (FILE);
+
+open (NEW, ">${dockerFile}") or die "[ERROR] Cannot write to the file '$dockerFile' : $!\n\n";
+
+foreach my $line (@lines) {
+ # Replace the docker registry
+ if ($line =~ m|FROM|) {
+ $line =~ s|onap|dockercentral.it.att.com:5100/com.att.sdc|;
+ }
+ print NEW "$line\n";
+}
+close (NEW);
diff --git a/docker/set_user.sh b/docker/set_user.sh
new file mode 100755
index 0000000..539a200
--- /dev/null
+++ b/docker/set_user.sh
@@ -0,0 +1,20 @@
+#!/bin/sh
+# Create user
+
+USER="jetty"
+GROUP="jetty"
+UID="352070"
+GID="35953"
+
+# Remove user:
+deluser ${USER}
+
+##delgroup ${GROUP}
+
+echo "${USER}:x:${UID}:${GID}::/home/${USER}:Linux User,,,:/home/jetty:/bin/false" >> /etc/passwd
+
+echo "${GROUP}:x:${GID}:${USER}" >> /etc/group
+
+echo "${USER}:!:17501:0:99999:7:::" >> /etc/shadow
+
+mkdir /home/${USER} && chown ${USER}:${GROUP} /home/${USER}
diff --git a/docker/startup.sh b/docker/startup.sh
new file mode 100644
index 0000000..4f363da
--- /dev/null
+++ b/docker/startup.sh
@@ -0,0 +1,19 @@
+#!/bin/sh
+#set -x
+
+# Run chef-solo for configuration
+cd /var/opt/dcae-dt/chef-solo
+chef-solo -c solo.rb -E ${ENVNAME} --log_level "debug" --logfile "/opt/logs/dcae-dt/chef-dcae-dt.log"
+
+status=$?
+if [ $status != 0 ]; then
+ echo "[ERROR] Problem detected while running chef. Aborting !"
+ exit 1
+fi
+
+# Execute Jetty
+cd /var/lib/jetty
+/docker-entrypoint.sh &
+
+while true; do sleep 2; done
+
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 0000000..aea00ed
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,15372 @@
+{
+ "name": "dcaeApp",
+ "requires": true,
+ "lockfileVersion": 1,
+ "dependencies": {
+ "abab": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/abab/-/abab-1.0.3.tgz",
+ "integrity": "sha1-uB3l9ydOxOdW15fNg08wNkJyTl0=",
+ "dev": true
+ },
+ "abbrev": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz",
+ "integrity": "sha1-0FVMIlZjbi9W58LlrRg/hZQo2B8=",
+ "dev": true
+ },
+ "accepts": {
+ "version": "1.2.13",
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.2.13.tgz",
+ "integrity": "sha1-5fHzkoxtlf2WVYw27D2dDeSm7Oo=",
+ "dev": true,
+ "requires": {
+ "mime-types": "2.1.15",
+ "negotiator": "0.5.3"
+ }
+ },
+ "acorn": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-0.11.0.tgz",
+ "integrity": "sha1-bpXwJTrRYf8BJ9symD5eLlNS1Zo=",
+ "dev": true
+ },
+ "acorn-dynamic-import": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz",
+ "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=",
+ "dev": true,
+ "requires": {
+ "acorn": "4.0.13"
+ },
+ "dependencies": {
+ "acorn": {
+ "version": "4.0.13",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz",
+ "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=",
+ "dev": true
+ }
+ }
+ },
+ "acorn-globals": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-3.1.0.tgz",
+ "integrity": "sha1-/YJw9x+7SZawBPqIDuXUZXOnMb8=",
+ "dev": true,
+ "requires": {
+ "acorn": "4.0.13"
+ },
+ "dependencies": {
+ "acorn": {
+ "version": "4.0.13",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz",
+ "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=",
+ "dev": true
+ }
+ }
+ },
+ "ajv": {
+ "version": "4.11.8",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz",
+ "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=",
+ "dev": true,
+ "requires": {
+ "co": "4.6.0",
+ "json-stable-stringify": "1.0.1"
+ },
+ "dependencies": {
+ "co": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+ "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
+ "dev": true
+ }
+ }
+ },
+ "ajv-keywords": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz",
+ "integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw=",
+ "dev": true
+ },
+ "align-text": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
+ "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2",
+ "longest": "1.0.1",
+ "repeat-string": "1.6.1"
+ }
+ },
+ "alphanum-sort": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz",
+ "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=",
+ "dev": true
+ },
+ "alter": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/alter/-/alter-0.2.0.tgz",
+ "integrity": "sha1-x1iICGF1cgNKrmJICvJrHU0cs80=",
+ "dev": true,
+ "requires": {
+ "stable": "0.1.6"
+ }
+ },
+ "amdefine": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
+ "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
+ "dev": true
+ },
+ "ansi-escapes": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz",
+ "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=",
+ "dev": true
+ },
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "anymatch": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.0.tgz",
+ "integrity": "sha1-o+Uvo5FoyCX/V7AkgSbOWo/5VQc=",
+ "dev": true,
+ "requires": {
+ "arrify": "1.0.1",
+ "micromatch": "2.3.11"
+ }
+ },
+ "append-transform": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz",
+ "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=",
+ "dev": true,
+ "requires": {
+ "default-require-extensions": "1.0.0"
+ }
+ },
+ "archive-type": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/archive-type/-/archive-type-3.2.0.tgz",
+ "integrity": "sha1-nNnABpV+vpX62tW9YJiUKoE3N/Y=",
+ "dev": true,
+ "requires": {
+ "file-type": "3.9.0"
+ }
+ },
+ "archy": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/archy/-/archy-0.0.2.tgz",
+ "integrity": "sha1-kQ9Dv2YUH8M1VkWXq8GJ30Sz014=",
+ "dev": true
+ },
+ "argparse": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz",
+ "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=",
+ "dev": true,
+ "requires": {
+ "sprintf-js": "1.0.3"
+ }
+ },
+ "arr-diff": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
+ "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
+ "dev": true,
+ "requires": {
+ "arr-flatten": "1.0.3"
+ }
+ },
+ "arr-flatten": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.0.3.tgz",
+ "integrity": "sha1-onTthawIhJtr14R8RYB0XcUa37E=",
+ "dev": true
+ },
+ "array-differ": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz",
+ "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=",
+ "dev": true
+ },
+ "array-equal": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz",
+ "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=",
+ "dev": true
+ },
+ "array-filter": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz",
+ "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw=",
+ "dev": true
+ },
+ "array-find-index": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
+ "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
+ "dev": true
+ },
+ "array-map": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz",
+ "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=",
+ "dev": true
+ },
+ "array-reduce": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz",
+ "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=",
+ "dev": true
+ },
+ "array-uniq": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
+ "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
+ "dev": true
+ },
+ "array-unique": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
+ "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
+ "dev": true
+ },
+ "arrify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
+ "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
+ "dev": true
+ },
+ "asap": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.5.tgz",
+ "integrity": "sha1-UidltQw1EEkOUtfc/ghe+bqWlY8=",
+ "dev": true,
+ "optional": true
+ },
+ "asn1": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
+ "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=",
+ "dev": true
+ },
+ "asn1.js": {
+ "version": "4.9.1",
+ "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.9.1.tgz",
+ "integrity": "sha1-SLokC0WpKA6UdImQull9IWYX/UA=",
+ "dev": true,
+ "requires": {
+ "bn.js": "4.11.6",
+ "inherits": "2.0.3",
+ "minimalistic-assert": "1.0.0"
+ }
+ },
+ "assert": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz",
+ "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=",
+ "dev": true,
+ "requires": {
+ "util": "0.10.3"
+ }
+ },
+ "assert-plus": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",
+ "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=",
+ "dev": true
+ },
+ "async": {
+ "version": "0.1.22",
+ "resolved": "https://registry.npmjs.org/async/-/async-0.1.22.tgz",
+ "integrity": "sha1-D8GqoIig4+8Ovi2IMbqw3PiEUGE=",
+ "dev": true
+ },
+ "async-each": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
+ "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=",
+ "dev": true
+ },
+ "async-each-series": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/async-each-series/-/async-each-series-1.1.0.tgz",
+ "integrity": "sha1-9C/YFV048hpbjqB8KOBj7RcAsTg=",
+ "dev": true,
+ "optional": true
+ },
+ "asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
+ "dev": true
+ },
+ "autoprefixer": {
+ "version": "6.7.7",
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz",
+ "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=",
+ "dev": true,
+ "requires": {
+ "browserslist": "1.7.7",
+ "caniuse-db": "1.0.30000676",
+ "normalize-range": "0.1.2",
+ "num2fraction": "1.2.2",
+ "postcss": "5.2.17",
+ "postcss-value-parser": "3.3.0"
+ },
+ "dependencies": {
+ "browserslist": {
+ "version": "1.7.7",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz",
+ "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=",
+ "dev": true,
+ "requires": {
+ "caniuse-db": "1.0.30000676",
+ "electron-to-chromium": "1.3.13"
+ }
+ },
+ "postcss": {
+ "version": "5.2.17",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz",
+ "integrity": "sha1-z09Ze4ZNZcikkrLqvp1wbIecOIs=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "js-base64": "2.1.9",
+ "source-map": "0.5.6",
+ "supports-color": "3.2.3"
+ }
+ },
+ "source-map": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "1.0.0"
+ }
+ }
+ }
+ },
+ "autoprefixer-core": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/autoprefixer-core/-/autoprefixer-core-5.2.1.tgz",
+ "integrity": "sha1-5kDEFK5Bmq4hwa1DyOoPPbgqVm0=",
+ "dev": true,
+ "requires": {
+ "browserslist": "0.4.0",
+ "caniuse-db": "1.0.30000676",
+ "num2fraction": "1.2.2",
+ "postcss": "4.1.16"
+ }
+ },
+ "aws-sign2": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
+ "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=",
+ "dev": true
+ },
+ "aws4": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz",
+ "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=",
+ "dev": true
+ },
+ "babel-code-frame": {
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz",
+ "integrity": "sha1-AnYgvuVnqIwyVhV05/0IAdMxGOQ=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "esutils": "2.0.2",
+ "js-tokens": "3.0.1"
+ }
+ },
+ "babel-core": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.24.1.tgz",
+ "integrity": "sha1-jEKFZNzh4fQfszfsNPTDsCK1rYM=",
+ "dev": true,
+ "requires": {
+ "babel-code-frame": "6.22.0",
+ "babel-generator": "6.24.1",
+ "babel-helpers": "6.24.1",
+ "babel-messages": "6.23.0",
+ "babel-register": "6.24.1",
+ "babel-runtime": "6.23.0",
+ "babel-template": "6.24.1",
+ "babel-traverse": "6.24.1",
+ "babel-types": "6.24.1",
+ "babylon": "6.17.2",
+ "convert-source-map": "1.5.0",
+ "debug": "2.6.8",
+ "json5": "0.5.1",
+ "lodash": "4.17.4",
+ "minimatch": "3.0.4",
+ "path-is-absolute": "1.0.1",
+ "private": "0.1.7",
+ "slash": "1.0.0",
+ "source-map": "0.5.6"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ }
+ }
+ },
+ "babel-generator": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.24.1.tgz",
+ "integrity": "sha1-5xX0hsWN7SVknYiJRNUqoHxdlJc=",
+ "dev": true,
+ "requires": {
+ "babel-messages": "6.23.0",
+ "babel-runtime": "6.23.0",
+ "babel-types": "6.24.1",
+ "detect-indent": "4.0.0",
+ "jsesc": "1.3.0",
+ "lodash": "4.17.4",
+ "source-map": "0.5.6",
+ "trim-right": "1.0.1"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ }
+ }
+ },
+ "babel-helper-call-delegate": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz",
+ "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=",
+ "dev": true,
+ "requires": {
+ "babel-helper-hoist-variables": "6.24.1",
+ "babel-runtime": "6.23.0",
+ "babel-traverse": "6.24.1",
+ "babel-types": "6.24.1"
+ }
+ },
+ "babel-helper-define-map": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.24.1.tgz",
+ "integrity": "sha1-epdH8ljYlH0y1RX2qhx70CIEoIA=",
+ "dev": true,
+ "requires": {
+ "babel-helper-function-name": "6.24.1",
+ "babel-runtime": "6.23.0",
+ "babel-types": "6.24.1",
+ "lodash": "4.17.4"
+ }
+ },
+ "babel-helper-function-name": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz",
+ "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=",
+ "dev": true,
+ "requires": {
+ "babel-helper-get-function-arity": "6.24.1",
+ "babel-runtime": "6.23.0",
+ "babel-template": "6.24.1",
+ "babel-traverse": "6.24.1",
+ "babel-types": "6.24.1"
+ }
+ },
+ "babel-helper-get-function-arity": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz",
+ "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.23.0",
+ "babel-types": "6.24.1"
+ }
+ },
+ "babel-helper-hoist-variables": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz",
+ "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.23.0",
+ "babel-types": "6.24.1"
+ }
+ },
+ "babel-helper-optimise-call-expression": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz",
+ "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.23.0",
+ "babel-types": "6.24.1"
+ }
+ },
+ "babel-helper-regex": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.24.1.tgz",
+ "integrity": "sha1-024i+rEAjXnYhkjjIRaGgShFbOg=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.23.0",
+ "babel-types": "6.24.1",
+ "lodash": "4.17.4"
+ }
+ },
+ "babel-helper-replace-supers": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz",
+ "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=",
+ "dev": true,
+ "requires": {
+ "babel-helper-optimise-call-expression": "6.24.1",
+ "babel-messages": "6.23.0",
+ "babel-runtime": "6.23.0",
+ "babel-template": "6.24.1",
+ "babel-traverse": "6.24.1",
+ "babel-types": "6.24.1"
+ }
+ },
+ "babel-helpers": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz",
+ "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.23.0",
+ "babel-template": "6.24.1"
+ }
+ },
+ "babel-jest": {
+ "version": "20.0.3",
+ "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-20.0.3.tgz",
+ "integrity": "sha1-5KA7E9wQOJ4UD8ZF0J/8TO0wFnE=",
+ "dev": true,
+ "requires": {
+ "babel-core": "6.24.1",
+ "babel-plugin-istanbul": "4.1.4",
+ "babel-preset-jest": "20.0.3"
+ }
+ },
+ "babel-loader": {
+ "version": "6.4.1",
+ "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-6.4.1.tgz",
+ "integrity": "sha1-CzQRLVsHSKjc2/Uaz2+b1C1QuMo=",
+ "dev": true,
+ "requires": {
+ "find-cache-dir": "0.1.1",
+ "loader-utils": "0.2.17",
+ "mkdirp": "0.5.1",
+ "object-assign": "4.1.1"
+ }
+ },
+ "babel-messages": {
+ "version": "6.23.0",
+ "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
+ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.23.0"
+ }
+ },
+ "babel-plugin-check-es2015-constants": {
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz",
+ "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.23.0"
+ }
+ },
+ "babel-plugin-istanbul": {
+ "version": "4.1.4",
+ "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.4.tgz",
+ "integrity": "sha1-GN3oS/POMp/d8/QQP66SFFbY5Yc=",
+ "dev": true,
+ "requires": {
+ "find-up": "2.1.0",
+ "istanbul-lib-instrument": "1.7.4",
+ "test-exclude": "4.1.1"
+ },
+ "dependencies": {
+ "find-up": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
+ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
+ "dev": true,
+ "requires": {
+ "locate-path": "2.0.0"
+ }
+ }
+ }
+ },
+ "babel-plugin-jest-hoist": {
+ "version": "20.0.3",
+ "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-20.0.3.tgz",
+ "integrity": "sha1-r+3IU70/jcNUjqZx++adA8wsF2c=",
+ "dev": true
+ },
+ "babel-plugin-transform-es2015-arrow-functions": {
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz",
+ "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.23.0"
+ }
+ },
+ "babel-plugin-transform-es2015-block-scoped-functions": {
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz",
+ "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.23.0"
+ }
+ },
+ "babel-plugin-transform-es2015-block-scoping": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.24.1.tgz",
+ "integrity": "sha1-dsKV3DpHQbFmWt/TFnIV3P8ypXY=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.23.0",
+ "babel-template": "6.24.1",
+ "babel-traverse": "6.24.1",
+ "babel-types": "6.24.1",
+ "lodash": "4.17.4"
+ }
+ },
+ "babel-plugin-transform-es2015-classes": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz",
+ "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=",
+ "dev": true,
+ "requires": {
+ "babel-helper-define-map": "6.24.1",
+ "babel-helper-function-name": "6.24.1",
+ "babel-helper-optimise-call-expression": "6.24.1",
+ "babel-helper-replace-supers": "6.24.1",
+ "babel-messages": "6.23.0",
+ "babel-runtime": "6.23.0",
+ "babel-template": "6.24.1",
+ "babel-traverse": "6.24.1",
+ "babel-types": "6.24.1"
+ }
+ },
+ "babel-plugin-transform-es2015-computed-properties": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz",
+ "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.23.0",
+ "babel-template": "6.24.1"
+ }
+ },
+ "babel-plugin-transform-es2015-destructuring": {
+ "version": "6.23.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz",
+ "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.23.0"
+ }
+ },
+ "babel-plugin-transform-es2015-duplicate-keys": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz",
+ "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.23.0",
+ "babel-types": "6.24.1"
+ }
+ },
+ "babel-plugin-transform-es2015-for-of": {
+ "version": "6.23.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz",
+ "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.23.0"
+ }
+ },
+ "babel-plugin-transform-es2015-function-name": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz",
+ "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=",
+ "dev": true,
+ "requires": {
+ "babel-helper-function-name": "6.24.1",
+ "babel-runtime": "6.23.0",
+ "babel-types": "6.24.1"
+ }
+ },
+ "babel-plugin-transform-es2015-literals": {
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz",
+ "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.23.0"
+ }
+ },
+ "babel-plugin-transform-es2015-modules-amd": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz",
+ "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-transform-es2015-modules-commonjs": "6.24.1",
+ "babel-runtime": "6.23.0",
+ "babel-template": "6.24.1"
+ }
+ },
+ "babel-plugin-transform-es2015-modules-commonjs": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.24.1.tgz",
+ "integrity": "sha1-0+MQtA72ZKNmIiAAl8bUQCmPK/4=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-transform-strict-mode": "6.24.1",
+ "babel-runtime": "6.23.0",
+ "babel-template": "6.24.1",
+ "babel-types": "6.24.1"
+ }
+ },
+ "babel-plugin-transform-es2015-modules-systemjs": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz",
+ "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=",
+ "dev": true,
+ "requires": {
+ "babel-helper-hoist-variables": "6.24.1",
+ "babel-runtime": "6.23.0",
+ "babel-template": "6.24.1"
+ }
+ },
+ "babel-plugin-transform-es2015-modules-umd": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz",
+ "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-transform-es2015-modules-amd": "6.24.1",
+ "babel-runtime": "6.23.0",
+ "babel-template": "6.24.1"
+ }
+ },
+ "babel-plugin-transform-es2015-object-super": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz",
+ "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=",
+ "dev": true,
+ "requires": {
+ "babel-helper-replace-supers": "6.24.1",
+ "babel-runtime": "6.23.0"
+ }
+ },
+ "babel-plugin-transform-es2015-parameters": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz",
+ "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=",
+ "dev": true,
+ "requires": {
+ "babel-helper-call-delegate": "6.24.1",
+ "babel-helper-get-function-arity": "6.24.1",
+ "babel-runtime": "6.23.0",
+ "babel-template": "6.24.1",
+ "babel-traverse": "6.24.1",
+ "babel-types": "6.24.1"
+ }
+ },
+ "babel-plugin-transform-es2015-shorthand-properties": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz",
+ "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.23.0",
+ "babel-types": "6.24.1"
+ }
+ },
+ "babel-plugin-transform-es2015-spread": {
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz",
+ "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.23.0"
+ }
+ },
+ "babel-plugin-transform-es2015-sticky-regex": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz",
+ "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=",
+ "dev": true,
+ "requires": {
+ "babel-helper-regex": "6.24.1",
+ "babel-runtime": "6.23.0",
+ "babel-types": "6.24.1"
+ }
+ },
+ "babel-plugin-transform-es2015-template-literals": {
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz",
+ "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.23.0"
+ }
+ },
+ "babel-plugin-transform-es2015-typeof-symbol": {
+ "version": "6.23.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz",
+ "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.23.0"
+ }
+ },
+ "babel-plugin-transform-es2015-unicode-regex": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz",
+ "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=",
+ "dev": true,
+ "requires": {
+ "babel-helper-regex": "6.24.1",
+ "babel-runtime": "6.23.0",
+ "regexpu-core": "2.0.0"
+ }
+ },
+ "babel-plugin-transform-regenerator": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.24.1.tgz",
+ "integrity": "sha1-uNowWtQ8PJm0hI5P5AN7dw0jxBg=",
+ "dev": true,
+ "requires": {
+ "regenerator-transform": "0.9.11"
+ }
+ },
+ "babel-plugin-transform-strict-mode": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz",
+ "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.23.0",
+ "babel-types": "6.24.1"
+ }
+ },
+ "babel-preset-es2015": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz",
+ "integrity": "sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-check-es2015-constants": "6.22.0",
+ "babel-plugin-transform-es2015-arrow-functions": "6.22.0",
+ "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0",
+ "babel-plugin-transform-es2015-block-scoping": "6.24.1",
+ "babel-plugin-transform-es2015-classes": "6.24.1",
+ "babel-plugin-transform-es2015-computed-properties": "6.24.1",
+ "babel-plugin-transform-es2015-destructuring": "6.23.0",
+ "babel-plugin-transform-es2015-duplicate-keys": "6.24.1",
+ "babel-plugin-transform-es2015-for-of": "6.23.0",
+ "babel-plugin-transform-es2015-function-name": "6.24.1",
+ "babel-plugin-transform-es2015-literals": "6.22.0",
+ "babel-plugin-transform-es2015-modules-amd": "6.24.1",
+ "babel-plugin-transform-es2015-modules-commonjs": "6.24.1",
+ "babel-plugin-transform-es2015-modules-systemjs": "6.24.1",
+ "babel-plugin-transform-es2015-modules-umd": "6.24.1",
+ "babel-plugin-transform-es2015-object-super": "6.24.1",
+ "babel-plugin-transform-es2015-parameters": "6.24.1",
+ "babel-plugin-transform-es2015-shorthand-properties": "6.24.1",
+ "babel-plugin-transform-es2015-spread": "6.22.0",
+ "babel-plugin-transform-es2015-sticky-regex": "6.24.1",
+ "babel-plugin-transform-es2015-template-literals": "6.22.0",
+ "babel-plugin-transform-es2015-typeof-symbol": "6.23.0",
+ "babel-plugin-transform-es2015-unicode-regex": "6.24.1",
+ "babel-plugin-transform-regenerator": "6.24.1"
+ }
+ },
+ "babel-preset-jest": {
+ "version": "20.0.3",
+ "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-20.0.3.tgz",
+ "integrity": "sha1-y6yq3stdaJyh4d4TYOv8ZoYsF4o=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-jest-hoist": "20.0.3"
+ }
+ },
+ "babel-register": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.24.1.tgz",
+ "integrity": "sha1-fhDhOi9xBlvfrVoXh7pFvKbe118=",
+ "dev": true,
+ "requires": {
+ "babel-core": "6.24.1",
+ "babel-runtime": "6.23.0",
+ "core-js": "2.4.1",
+ "home-or-tmp": "2.0.0",
+ "lodash": "4.17.4",
+ "mkdirp": "0.5.1",
+ "source-map-support": "0.4.15"
+ }
+ },
+ "babel-runtime": {
+ "version": "6.23.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+ "integrity": "sha1-CpSJ8UTecO+zzkMArM2zKeL8VDs=",
+ "dev": true,
+ "requires": {
+ "core-js": "2.4.1",
+ "regenerator-runtime": "0.10.5"
+ }
+ },
+ "babel-template": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.24.1.tgz",
+ "integrity": "sha1-BK5RTx+Ts6JTfyoPYKWkX7gwgzM=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.23.0",
+ "babel-traverse": "6.24.1",
+ "babel-types": "6.24.1",
+ "babylon": "6.17.2",
+ "lodash": "4.17.4"
+ }
+ },
+ "babel-traverse": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.24.1.tgz",
+ "integrity": "sha1-qzZnP9NW+aCUhlnnszjV/q2zFpU=",
+ "dev": true,
+ "requires": {
+ "babel-code-frame": "6.22.0",
+ "babel-messages": "6.23.0",
+ "babel-runtime": "6.23.0",
+ "babel-types": "6.24.1",
+ "babylon": "6.17.2",
+ "debug": "2.6.8",
+ "globals": "9.17.0",
+ "invariant": "2.2.2",
+ "lodash": "4.17.4"
+ }
+ },
+ "babel-types": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.24.1.tgz",
+ "integrity": "sha1-oTaHncFbNga9oNkMH8dDBML/CXU=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.23.0",
+ "esutils": "2.0.2",
+ "lodash": "4.17.4",
+ "to-fast-properties": "1.0.3"
+ }
+ },
+ "babylon": {
+ "version": "6.17.2",
+ "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.17.2.tgz",
+ "integrity": "sha1-IB0l71+JLEG65JSIsI2w3Udun1w=",
+ "dev": true
+ },
+ "balanced-match": {
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz",
+ "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=",
+ "dev": true
+ },
+ "base64-js": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.0.tgz",
+ "integrity": "sha1-o5mS1yNYSBGYK+XikLtqU9hnAPE=",
+ "dev": true
+ },
+ "base64-url": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/base64-url/-/base64-url-1.2.1.tgz",
+ "integrity": "sha1-GZ/WYXAqDnt9yubgaYuwicUvbXg=",
+ "dev": true
+ },
+ "basic-auth": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-1.0.4.tgz",
+ "integrity": "sha1-Awk1sB3nyblKgksp8/zLdQ06UpA=",
+ "dev": true
+ },
+ "basic-auth-connect": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/basic-auth-connect/-/basic-auth-connect-1.0.0.tgz",
+ "integrity": "sha1-/bC0OWLKe0BFanwrtI/hc9otISI=",
+ "dev": true
+ },
+ "batch": {
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/batch/-/batch-0.5.3.tgz",
+ "integrity": "sha1-PzQU84AyF0O/wQQvmoP/HVgk1GQ=",
+ "dev": true
+ },
+ "bcrypt-pbkdf": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
+ "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "tweetnacl": "0.14.5"
+ }
+ },
+ "beeper": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz",
+ "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=",
+ "dev": true
+ },
+ "big.js": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.1.3.tgz",
+ "integrity": "sha1-TK2iGTZS6zyp7I5VyQFWacmAaXg=",
+ "dev": true
+ },
+ "bin-build": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/bin-build/-/bin-build-2.2.0.tgz",
+ "integrity": "sha1-EfjdYfcP/Por3KpbRvXo/t1CIcw=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "archive-type": "3.2.0",
+ "decompress": "3.0.0",
+ "download": "4.4.3",
+ "exec-series": "1.0.3",
+ "rimraf": "2.2.8",
+ "tempfile": "1.1.1",
+ "url-regex": "3.2.0"
+ }
+ },
+ "bin-check": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/bin-check/-/bin-check-2.0.0.tgz",
+ "integrity": "sha1-hvjm9CU4k99g3DFpV/WvAqywWTA=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "executable": "1.1.0"
+ }
+ },
+ "bin-version": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/bin-version/-/bin-version-1.0.4.tgz",
+ "integrity": "sha1-nrSY7m/Xb3q5p8FgQ2+JV5Q1144=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "find-versions": "1.2.1"
+ }
+ },
+ "bin-version-check": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/bin-version-check/-/bin-version-check-2.1.0.tgz",
+ "integrity": "sha1-5OXfKQuQaffRETJAMe/BP90RpbA=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "bin-version": "1.0.4",
+ "minimist": "1.2.0",
+ "semver": "4.3.6",
+ "semver-truncate": "1.1.2"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true,
+ "optional": true
+ },
+ "semver": {
+ "version": "4.3.6",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz",
+ "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "bin-wrapper": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-3.0.2.tgz",
+ "integrity": "sha1-Z9MwYmLksaXy+I7iNGT2plVneus=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "bin-check": "2.0.0",
+ "bin-version-check": "2.1.0",
+ "download": "4.4.3",
+ "each-async": "1.1.1",
+ "lazy-req": "1.1.0",
+ "os-filter-obj": "1.0.3"
+ }
+ },
+ "binary": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz",
+ "integrity": "sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk=",
+ "dev": true,
+ "requires": {
+ "buffers": "0.1.1",
+ "chainsaw": "0.1.0"
+ }
+ },
+ "binary-extensions": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.8.0.tgz",
+ "integrity": "sha1-SOyNFt9Dd+rl+liEaCSAr02Vx3Q=",
+ "dev": true
+ },
+ "bl": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.1.tgz",
+ "integrity": "sha1-ysMo977kVzDUBLaSID/LWQ4XLV4=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "2.2.10"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.2.10",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.10.tgz",
+ "integrity": "sha512-HQEnnoV404e0EtwB9yNiuk2tJ+egeVC8Y9QBAxzDg8DBJt4BzRp+yQuIb/t3FIWkSTmIi+sgx7yVv/ZM0GNoqw==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "1.0.7",
+ "safe-buffer": "5.1.0",
+ "string_decoder": "1.0.1",
+ "util-deprecate": "1.0.2"
+ }
+ },
+ "string_decoder": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz",
+ "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.0"
+ }
+ }
+ }
+ },
+ "bluebird": {
+ "version": "2.11.0",
+ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz",
+ "integrity": "sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=",
+ "dev": true
+ },
+ "bn.js": {
+ "version": "4.11.6",
+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz",
+ "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=",
+ "dev": true
+ },
+ "body-parser": {
+ "version": "1.13.3",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.13.3.tgz",
+ "integrity": "sha1-wIzzMMM1jhUQFqBXRvE/ApyX+pc=",
+ "dev": true,
+ "requires": {
+ "bytes": "2.1.0",
+ "content-type": "1.0.2",
+ "debug": "2.2.0",
+ "depd": "1.0.1",
+ "http-errors": "1.3.1",
+ "iconv-lite": "0.4.11",
+ "on-finished": "2.3.0",
+ "qs": "4.0.0",
+ "raw-body": "2.1.7",
+ "type-is": "1.6.15"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
+ "dev": true,
+ "requires": {
+ "ms": "0.7.1"
+ }
+ },
+ "iconv-lite": {
+ "version": "0.4.11",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.11.tgz",
+ "integrity": "sha1-LstC/SlHRJIiCaLnxATayHk9it4=",
+ "dev": true
+ },
+ "ms": {
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
+ "dev": true
+ }
+ }
+ },
+ "boom": {
+ "version": "2.10.1",
+ "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
+ "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
+ "dev": true,
+ "requires": {
+ "hoek": "2.16.3"
+ }
+ },
+ "bower": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/bower/-/bower-1.8.0.tgz",
+ "integrity": "sha1-Vdvr7wrZFVOC2enT5JfBNyNFtEo=",
+ "dev": true
+ },
+ "bower-config": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/bower-config/-/bower-config-0.5.2.tgz",
+ "integrity": "sha1-H30uiZ6ZtwwpphPnDUxkWQQUsi4=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "2.0.3",
+ "mout": "0.9.1",
+ "optimist": "0.6.1",
+ "osenv": "0.0.3"
+ },
+ "dependencies": {
+ "graceful-fs": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.3.tgz",
+ "integrity": "sha1-fNLNsiiko/Nule+mzBQt59GhNtA=",
+ "dev": true
+ },
+ "osenv": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.0.3.tgz",
+ "integrity": "sha1-zWrY3bKQkVrZ4idlV2Al1BHynLY=",
+ "dev": true
+ }
+ }
+ },
+ "bower-endpoint-parser": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/bower-endpoint-parser/-/bower-endpoint-parser-0.2.2.tgz",
+ "integrity": "sha1-ALVlrb+rby01rd3pd+l5Yqy8s/Y=",
+ "dev": true
+ },
+ "bower-json": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/bower-json/-/bower-json-0.4.0.tgz",
+ "integrity": "sha1-qZw8z0Fu8FkO0N7SUsdg8cbZN2Y=",
+ "dev": true,
+ "requires": {
+ "deep-extend": "0.2.11",
+ "graceful-fs": "2.0.3",
+ "intersect": "0.0.3"
+ },
+ "dependencies": {
+ "deep-extend": {
+ "version": "0.2.11",
+ "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.2.11.tgz",
+ "integrity": "sha1-eha6aXKRMjQFBhcElLyD9wdv4I8=",
+ "dev": true
+ },
+ "graceful-fs": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.3.tgz",
+ "integrity": "sha1-fNLNsiiko/Nule+mzBQt59GhNtA=",
+ "dev": true
+ }
+ }
+ },
+ "bower-logger": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/bower-logger/-/bower-logger-0.2.2.tgz",
+ "integrity": "sha1-Ob4H6Xmy/I4DqUY0IF7ZQiNz04E=",
+ "dev": true
+ },
+ "bower-registry-client": {
+ "version": "0.2.4",
+ "resolved": "https://registry.npmjs.org/bower-registry-client/-/bower-registry-client-0.2.4.tgz",
+ "integrity": "sha1-Jp/H6Ji2J/uTnRFEpZMlTX+77rw=",
+ "dev": true,
+ "requires": {
+ "async": "0.2.10",
+ "bower-config": "0.5.2",
+ "graceful-fs": "2.0.3",
+ "lru-cache": "2.3.1",
+ "mkdirp": "0.3.5",
+ "request": "2.51.0",
+ "request-replay": "0.2.0",
+ "rimraf": "2.2.8"
+ },
+ "dependencies": {
+ "asn1": {
+ "version": "0.1.11",
+ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz",
+ "integrity": "sha1-VZvhg3bQik7E2+gId9J4GGObLfc=",
+ "dev": true
+ },
+ "assert-plus": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz",
+ "integrity": "sha1-7nQAlBMALYTOxyGcasgRgS5yMWA=",
+ "dev": true
+ },
+ "async": {
+ "version": "0.2.10",
+ "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
+ "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=",
+ "dev": true
+ },
+ "aws-sign2": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz",
+ "integrity": "sha1-xXED96F/wDfwLXwuZLYC6iI/fWM=",
+ "dev": true
+ },
+ "bl": {
+ "version": "0.9.5",
+ "resolved": "https://registry.npmjs.org/bl/-/bl-0.9.5.tgz",
+ "integrity": "sha1-wGt5evCF6gC8Unr8jvzxHeIjIFQ=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "1.0.34"
+ }
+ },
+ "boom": {
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/boom/-/boom-0.4.2.tgz",
+ "integrity": "sha1-emNune1O/O+xnO9JR6PGffrukRs=",
+ "dev": true,
+ "requires": {
+ "hoek": "0.9.1"
+ }
+ },
+ "caseless": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.8.0.tgz",
+ "integrity": "sha1-W8oogdQUN/VLJAfr40iIx7mtT30=",
+ "dev": true
+ },
+ "combined-stream": {
+ "version": "0.0.7",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz",
+ "integrity": "sha1-ATfmV7qlp1QcV6w3rF/AfXO03B8=",
+ "dev": true,
+ "requires": {
+ "delayed-stream": "0.0.5"
+ }
+ },
+ "cryptiles": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz",
+ "integrity": "sha1-7ZH/HxetE9N0gohZT4pIoNJvMlw=",
+ "dev": true,
+ "requires": {
+ "boom": "0.4.2"
+ }
+ },
+ "delayed-stream": {
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz",
+ "integrity": "sha1-1LH0OpPoKW3+AmlPRoC8N6MTxz8=",
+ "dev": true
+ },
+ "forever-agent": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz",
+ "integrity": "sha1-bQ4JxJIflKJ/Y9O0nF/v8epMUTA=",
+ "dev": true
+ },
+ "form-data": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-0.2.0.tgz",
+ "integrity": "sha1-Jvi8JtpkQOKZy9z7aQNcT3em5GY=",
+ "dev": true,
+ "requires": {
+ "async": "0.9.2",
+ "combined-stream": "0.0.7",
+ "mime-types": "2.0.14"
+ },
+ "dependencies": {
+ "async": {
+ "version": "0.9.2",
+ "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
+ "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=",
+ "dev": true
+ },
+ "mime-types": {
+ "version": "2.0.14",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.0.14.tgz",
+ "integrity": "sha1-MQ4VnbI+B3+Lsit0jav6SVcUCqY=",
+ "dev": true,
+ "requires": {
+ "mime-db": "1.12.0"
+ }
+ }
+ }
+ },
+ "graceful-fs": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.3.tgz",
+ "integrity": "sha1-fNLNsiiko/Nule+mzBQt59GhNtA=",
+ "dev": true
+ },
+ "hawk": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/hawk/-/hawk-1.1.1.tgz",
+ "integrity": "sha1-h81JH5tG5OKurKM1QWdmiF0tHtk=",
+ "dev": true,
+ "requires": {
+ "boom": "0.4.2",
+ "cryptiles": "0.2.2",
+ "hoek": "0.9.1",
+ "sntp": "0.2.4"
+ }
+ },
+ "hoek": {
+ "version": "0.9.1",
+ "resolved": "https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz",
+ "integrity": "sha1-PTIkYrrfB3Fup+uFuviAec3c5QU=",
+ "dev": true
+ },
+ "http-signature": {
+ "version": "0.10.1",
+ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-0.10.1.tgz",
+ "integrity": "sha1-T72sEyVZqoMjEh5UB3nAoBKyfmY=",
+ "dev": true,
+ "requires": {
+ "asn1": "0.1.11",
+ "assert-plus": "0.1.5",
+ "ctype": "0.5.3"
+ }
+ },
+ "lru-cache": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.3.1.tgz",
+ "integrity": "sha1-s632s9hW6VTiw5DmzvIggSRaU9Y=",
+ "dev": true
+ },
+ "mime-db": {
+ "version": "1.12.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.12.0.tgz",
+ "integrity": "sha1-PQxjGA9FjrENMlqqN9fFiuMS6dc=",
+ "dev": true
+ },
+ "mime-types": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-1.0.2.tgz",
+ "integrity": "sha1-mVrhOSq4r/y/yyZB3QVOlDwNXc4=",
+ "dev": true
+ },
+ "mkdirp": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz",
+ "integrity": "sha1-3j5fiWHIjHh+4TaN+EmsRBPsqNc=",
+ "dev": true
+ },
+ "oauth-sign": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.5.0.tgz",
+ "integrity": "sha1-12f1FpMlYg6rLgh+8MRy53PbZGE=",
+ "dev": true
+ },
+ "qs": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-2.3.3.tgz",
+ "integrity": "sha1-6eha2+ddoLvkyOBHaghikPhjtAQ=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "1.0.34",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "0.0.1",
+ "string_decoder": "0.10.31"
+ }
+ },
+ "request": {
+ "version": "2.51.0",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.51.0.tgz",
+ "integrity": "sha1-NdALvswBLlX5B7G9ng29V3v+8m4=",
+ "dev": true,
+ "requires": {
+ "aws-sign2": "0.5.0",
+ "bl": "0.9.5",
+ "caseless": "0.8.0",
+ "combined-stream": "0.0.7",
+ "forever-agent": "0.5.2",
+ "form-data": "0.2.0",
+ "hawk": "1.1.1",
+ "http-signature": "0.10.1",
+ "json-stringify-safe": "5.0.1",
+ "mime-types": "1.0.2",
+ "node-uuid": "1.4.8",
+ "oauth-sign": "0.5.0",
+ "qs": "2.3.3",
+ "stringstream": "0.0.5",
+ "tough-cookie": "2.3.2",
+ "tunnel-agent": "0.4.3"
+ }
+ },
+ "sntp": {
+ "version": "0.2.4",
+ "resolved": "https://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz",
+ "integrity": "sha1-+4hfGLDzqtGJ+CSGJTa87ux1CQA=",
+ "dev": true,
+ "requires": {
+ "hoek": "0.9.1"
+ }
+ }
+ }
+ },
+ "brace-expansion": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.7.tgz",
+ "integrity": "sha1-Pv/DxQ4ABTH7cg6v+A8K6O8jz1k=",
+ "dev": true,
+ "requires": {
+ "balanced-match": "0.4.2",
+ "concat-map": "0.0.1"
+ }
+ },
+ "braces": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
+ "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
+ "dev": true,
+ "requires": {
+ "expand-range": "1.8.2",
+ "preserve": "0.2.0",
+ "repeat-element": "1.1.2"
+ }
+ },
+ "brorand": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
+ "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
+ "dev": true
+ },
+ "browser-resolve": {
+ "version": "1.11.2",
+ "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz",
+ "integrity": "sha1-j/CbCixCFxihBRwmCzLkj0QpOM4=",
+ "dev": true,
+ "requires": {
+ "resolve": "1.1.7"
+ },
+ "dependencies": {
+ "resolve": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
+ "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
+ "dev": true
+ }
+ }
+ },
+ "browserify-aes": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.0.6.tgz",
+ "integrity": "sha1-Xncl297x/Vkw1OurSFZ85FHEigo=",
+ "dev": true,
+ "requires": {
+ "buffer-xor": "1.0.3",
+ "cipher-base": "1.0.3",
+ "create-hash": "1.1.3",
+ "evp_bytestokey": "1.0.0",
+ "inherits": "2.0.3"
+ }
+ },
+ "browserify-cipher": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz",
+ "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=",
+ "dev": true,
+ "requires": {
+ "browserify-aes": "1.0.6",
+ "browserify-des": "1.0.0",
+ "evp_bytestokey": "1.0.0"
+ }
+ },
+ "browserify-des": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz",
+ "integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=",
+ "dev": true,
+ "requires": {
+ "cipher-base": "1.0.3",
+ "des.js": "1.0.0",
+ "inherits": "2.0.3"
+ }
+ },
+ "browserify-rsa": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
+ "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
+ "dev": true,
+ "requires": {
+ "bn.js": "4.11.6",
+ "randombytes": "2.0.4"
+ }
+ },
+ "browserify-sign": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz",
+ "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=",
+ "dev": true,
+ "requires": {
+ "bn.js": "4.11.6",
+ "browserify-rsa": "4.0.1",
+ "create-hash": "1.1.3",
+ "create-hmac": "1.1.6",
+ "elliptic": "6.4.0",
+ "inherits": "2.0.3",
+ "parse-asn1": "5.1.0"
+ }
+ },
+ "browserify-zlib": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz",
+ "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=",
+ "dev": true,
+ "requires": {
+ "pako": "0.2.9"
+ }
+ },
+ "browserslist": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-0.4.0.tgz",
+ "integrity": "sha1-O9SrkZncG5FQ1NbbpNnTqrvIbdQ=",
+ "dev": true,
+ "requires": {
+ "caniuse-db": "1.0.30000676"
+ }
+ },
+ "bser": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/bser/-/bser-2.0.0.tgz",
+ "integrity": "sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk=",
+ "dev": true,
+ "requires": {
+ "node-int64": "0.4.0"
+ }
+ },
+ "buffer": {
+ "version": "4.9.1",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
+ "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=",
+ "dev": true,
+ "requires": {
+ "base64-js": "1.2.0",
+ "ieee754": "1.1.8",
+ "isarray": "1.0.0"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ }
+ }
+ },
+ "buffer-crc32": {
+ "version": "0.2.13",
+ "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
+ "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=",
+ "dev": true
+ },
+ "buffer-to-vinyl": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/buffer-to-vinyl/-/buffer-to-vinyl-1.1.0.tgz",
+ "integrity": "sha1-APFfruOreh3aLN5tkSG//dB7ImI=",
+ "dev": true,
+ "requires": {
+ "file-type": "3.9.0",
+ "readable-stream": "2.2.10",
+ "uuid": "2.0.3",
+ "vinyl": "1.2.0"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.2.10",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.10.tgz",
+ "integrity": "sha512-HQEnnoV404e0EtwB9yNiuk2tJ+egeVC8Y9QBAxzDg8DBJt4BzRp+yQuIb/t3FIWkSTmIi+sgx7yVv/ZM0GNoqw==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "1.0.7",
+ "safe-buffer": "5.1.0",
+ "string_decoder": "1.0.1",
+ "util-deprecate": "1.0.2"
+ }
+ },
+ "string_decoder": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz",
+ "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.0"
+ }
+ }
+ }
+ },
+ "buffer-xor": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
+ "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
+ "dev": true
+ },
+ "buffers": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz",
+ "integrity": "sha1-skV5w77U1tOWru5tmorn9Ugqt7s=",
+ "dev": true
+ },
+ "builtin-modules": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
+ "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
+ "dev": true
+ },
+ "builtin-status-codes": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
+ "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
+ "dev": true
+ },
+ "bytes": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.1.0.tgz",
+ "integrity": "sha1-rJPEEOL/ycx89LRks4KJBn9eR7Q=",
+ "dev": true
+ },
+ "callsites": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz",
+ "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=",
+ "dev": true
+ },
+ "camel-case": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-1.2.2.tgz",
+ "integrity": "sha1-Gsp8TRlTWaLOmVV5NDPG5VQlEfI=",
+ "dev": true,
+ "requires": {
+ "sentence-case": "1.1.3",
+ "upper-case": "1.1.3"
+ }
+ },
+ "camelcase": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
+ "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
+ "dev": true
+ },
+ "camelcase-keys": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
+ "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
+ "dev": true,
+ "requires": {
+ "camelcase": "2.1.1",
+ "map-obj": "1.0.1"
+ },
+ "dependencies": {
+ "camelcase": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
+ "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
+ "dev": true
+ }
+ }
+ },
+ "caniuse-api": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz",
+ "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=",
+ "dev": true,
+ "requires": {
+ "browserslist": "1.7.7",
+ "caniuse-db": "1.0.30000676",
+ "lodash.memoize": "4.1.2",
+ "lodash.uniq": "4.5.0"
+ },
+ "dependencies": {
+ "browserslist": {
+ "version": "1.7.7",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz",
+ "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=",
+ "dev": true,
+ "requires": {
+ "caniuse-db": "1.0.30000676",
+ "electron-to-chromium": "1.3.13"
+ }
+ }
+ }
+ },
+ "caniuse-db": {
+ "version": "1.0.30000676",
+ "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000676.tgz",
+ "integrity": "sha1-gupXgjdjfI/zSiisqt43O2JMTqg=",
+ "dev": true
+ },
+ "capture-stack-trace": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz",
+ "integrity": "sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0=",
+ "dev": true
+ },
+ "cardinal": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-0.4.0.tgz",
+ "integrity": "sha1-fRCq+yCDe94EPEXkOgyMKM2q5F4=",
+ "dev": true,
+ "requires": {
+ "redeyed": "0.4.4"
+ }
+ },
+ "caseless": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
+ "dev": true
+ },
+ "caw": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/caw/-/caw-1.2.0.tgz",
+ "integrity": "sha1-/7Im/n78VHKI3GLuPpcHPCEtEDQ=",
+ "dev": true,
+ "requires": {
+ "get-proxy": "1.1.0",
+ "is-obj": "1.0.1",
+ "object-assign": "3.0.0",
+ "tunnel-agent": "0.4.3"
+ },
+ "dependencies": {
+ "object-assign": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
+ "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=",
+ "dev": true
+ }
+ }
+ },
+ "cdnjs-cdn-data": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/cdnjs-cdn-data/-/cdnjs-cdn-data-0.1.2.tgz",
+ "integrity": "sha1-hl00uk5I3Rtz/WaOJKYaWt+biyE=",
+ "dev": true,
+ "requires": {
+ "semver": "5.0.3"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz",
+ "integrity": "sha1-d0Zt5YnNXTyV8TiqeLxWmjy10no=",
+ "dev": true
+ }
+ }
+ },
+ "center-align": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
+ "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=",
+ "dev": true,
+ "requires": {
+ "align-text": "0.1.4",
+ "lazy-cache": "1.0.4"
+ }
+ },
+ "chainsaw": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz",
+ "integrity": "sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=",
+ "dev": true,
+ "requires": {
+ "traverse": "0.3.9"
+ }
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "2.2.1",
+ "escape-string-regexp": "1.0.5",
+ "has-ansi": "2.0.0",
+ "strip-ansi": "3.0.1",
+ "supports-color": "2.0.0"
+ }
+ },
+ "change-case": {
+ "version": "2.1.6",
+ "resolved": "https://registry.npmjs.org/change-case/-/change-case-2.1.6.tgz",
+ "integrity": "sha1-UUryBRMVimj+fwDf9MMy1sKY0vk=",
+ "dev": true,
+ "requires": {
+ "camel-case": "1.2.2",
+ "constant-case": "1.1.2",
+ "dot-case": "1.1.2",
+ "is-lower-case": "1.1.3",
+ "is-upper-case": "1.1.2",
+ "lower-case": "1.1.4",
+ "param-case": "1.1.2",
+ "pascal-case": "1.1.2",
+ "path-case": "1.1.2",
+ "sentence-case": "1.1.3",
+ "snake-case": "1.1.2",
+ "swap-case": "1.1.2",
+ "title-case": "1.1.2",
+ "upper-case": "1.1.3",
+ "upper-case-first": "1.1.2"
+ }
+ },
+ "chmodr": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/chmodr/-/chmodr-0.1.0.tgz",
+ "integrity": "sha1-4JIVodUVQtsqJXaWl2W89hJVg+s=",
+ "dev": true
+ },
+ "chokidar": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz",
+ "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=",
+ "dev": true,
+ "requires": {
+ "anymatch": "1.3.0",
+ "async-each": "1.0.1",
+ "fsevents": "1.2.4",
+ "glob-parent": "2.0.0",
+ "inherits": "2.0.3",
+ "is-binary-path": "1.0.1",
+ "is-glob": "2.0.1",
+ "path-is-absolute": "1.0.1",
+ "readdirp": "2.1.0"
+ },
+ "dependencies": {
+ "glob-parent": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
+ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
+ "dev": true,
+ "requires": {
+ "is-glob": "2.0.1"
+ }
+ },
+ "is-extglob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
+ "dev": true
+ },
+ "is-glob": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "1.0.0"
+ }
+ }
+ }
+ },
+ "ci-info": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.0.0.tgz",
+ "integrity": "sha1-3FKF8rTiUYIWg2gcOBwziPRuxTQ=",
+ "dev": true
+ },
+ "cipher-base": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.3.tgz",
+ "integrity": "sha1-7qvxlEGc6QDaMBjCB9IS8qbfCgc=",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3"
+ }
+ },
+ "clap": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/clap/-/clap-1.1.3.tgz",
+ "integrity": "sha1-s7026T3Uy/s5WjwmiWNSRFJlwFs=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3"
+ }
+ },
+ "clean-css": {
+ "version": "2.2.23",
+ "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-2.2.23.tgz",
+ "integrity": "sha1-BZC1R4tRbEkD7cLYm9P9vdKGMow=",
+ "dev": true,
+ "requires": {
+ "commander": "2.2.0"
+ }
+ },
+ "cli": {
+ "version": "0.6.6",
+ "resolved": "https://registry.npmjs.org/cli/-/cli-0.6.6.tgz",
+ "integrity": "sha1-Aq1Eo4Cr8nraxebwzdewQ9dMU+M=",
+ "dev": true,
+ "requires": {
+ "exit": "0.1.2",
+ "glob": "3.2.11"
+ },
+ "dependencies": {
+ "glob": {
+ "version": "3.2.11",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz",
+ "integrity": "sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0=",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "minimatch": "0.3.0"
+ }
+ },
+ "minimatch": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz",
+ "integrity": "sha1-J12O2qxPG7MyZHIInnlJyDlGmd0=",
+ "dev": true,
+ "requires": {
+ "lru-cache": "2.7.3",
+ "sigmund": "1.0.1"
+ }
+ }
+ }
+ },
+ "cli-color": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-0.3.3.tgz",
+ "integrity": "sha1-EtW90Vj/igsNtAEZiRPAPfBp9vU=",
+ "dev": true,
+ "requires": {
+ "d": "0.1.1",
+ "es5-ext": "0.10.22",
+ "memoizee": "0.3.10",
+ "timers-ext": "0.1.2"
+ }
+ },
+ "cli-table": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz",
+ "integrity": "sha1-9TsFJmqLGguTSz0IIebi3FkUriM=",
+ "dev": true,
+ "requires": {
+ "colors": "1.0.3"
+ },
+ "dependencies": {
+ "colors": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz",
+ "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=",
+ "dev": true
+ }
+ }
+ },
+ "cliui": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
+ "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
+ "dev": true,
+ "requires": {
+ "center-align": "0.1.3",
+ "right-align": "0.1.3",
+ "wordwrap": "0.0.2"
+ }
+ },
+ "clone": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz",
+ "integrity": "sha1-Jgt6meux7f4kdTgXX3gyQ8sZ0Uk=",
+ "dev": true
+ },
+ "clone-stats": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
+ "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=",
+ "dev": true
+ },
+ "co": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/co/-/co-3.1.0.tgz",
+ "integrity": "sha1-TqVOpaCJOBUxheFSEMaNkJK8G3g=",
+ "dev": true
+ },
+ "coa": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.2.tgz",
+ "integrity": "sha1-K6n+w7SqQ9eknX5sNWHpIGG2vOw=",
+ "dev": true,
+ "requires": {
+ "q": "1.5.0"
+ }
+ },
+ "code-point-at": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
+ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
+ "dev": true
+ },
+ "coffee-script": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz",
+ "integrity": "sha1-FQ1rTLUiiUNp7+1qIQHCC8f0pPQ=",
+ "dev": true
+ },
+ "color": {
+ "version": "0.11.4",
+ "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz",
+ "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=",
+ "dev": true,
+ "requires": {
+ "clone": "1.0.2",
+ "color-convert": "1.9.0",
+ "color-string": "0.3.0"
+ }
+ },
+ "color-convert": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.0.tgz",
+ "integrity": "sha1-Gsz5fdc5uYO/mU1W/sj5WFNkG3o=",
+ "dev": true,
+ "requires": {
+ "color-name": "1.1.2"
+ }
+ },
+ "color-name": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.2.tgz",
+ "integrity": "sha1-XIq3K2S9IhXWF66VWeuxSEdc+Y0=",
+ "dev": true
+ },
+ "color-string": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz",
+ "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=",
+ "dev": true,
+ "requires": {
+ "color-name": "1.1.2"
+ }
+ },
+ "colormin": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz",
+ "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=",
+ "dev": true,
+ "requires": {
+ "color": "0.11.4",
+ "css-color-names": "0.0.4",
+ "has": "1.0.1"
+ }
+ },
+ "colors": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
+ "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=",
+ "dev": true
+ },
+ "combined-stream": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
+ "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=",
+ "dev": true,
+ "requires": {
+ "delayed-stream": "1.0.0"
+ }
+ },
+ "commander": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.2.0.tgz",
+ "integrity": "sha1-F1rUuTF/P/YV8gHB5XIk9Vo+kd8=",
+ "dev": true
+ },
+ "commondir": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
+ "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
+ "dev": true
+ },
+ "compressible": {
+ "version": "2.0.10",
+ "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.10.tgz",
+ "integrity": "sha1-/tocf3YXkScyspv4zyYlKiC57s0=",
+ "dev": true,
+ "requires": {
+ "mime-db": "1.27.0"
+ }
+ },
+ "compression": {
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/compression/-/compression-1.5.2.tgz",
+ "integrity": "sha1-sDuNhub4rSloPLqN+R3cb/x3s5U=",
+ "dev": true,
+ "requires": {
+ "accepts": "1.2.13",
+ "bytes": "2.1.0",
+ "compressible": "2.0.10",
+ "debug": "2.2.0",
+ "on-headers": "1.0.1",
+ "vary": "1.0.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
+ "dev": true,
+ "requires": {
+ "ms": "0.7.1"
+ }
+ },
+ "ms": {
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
+ "dev": true
+ }
+ }
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+ "dev": true
+ },
+ "concat-stream": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz",
+ "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "readable-stream": "2.2.10",
+ "typedarray": "0.0.6"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.2.10",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.10.tgz",
+ "integrity": "sha512-HQEnnoV404e0EtwB9yNiuk2tJ+egeVC8Y9QBAxzDg8DBJt4BzRp+yQuIb/t3FIWkSTmIi+sgx7yVv/ZM0GNoqw==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "1.0.7",
+ "safe-buffer": "5.1.0",
+ "string_decoder": "1.0.1",
+ "util-deprecate": "1.0.2"
+ }
+ },
+ "string_decoder": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz",
+ "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.0"
+ }
+ }
+ }
+ },
+ "config-chain": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.11.tgz",
+ "integrity": "sha1-q6CXR9++TD5w52am5BWG4YWfxvI=",
+ "dev": true,
+ "requires": {
+ "ini": "1.3.4",
+ "proto-list": "1.2.4"
+ }
+ },
+ "configstore": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/configstore/-/configstore-0.3.2.tgz",
+ "integrity": "sha1-JeTBbDdoq/dcWmW8YXYfSVBVtFk=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "3.0.11",
+ "js-yaml": "3.7.0",
+ "mkdirp": "0.5.1",
+ "object-assign": "2.1.1",
+ "osenv": "0.1.0",
+ "user-home": "1.1.1",
+ "uuid": "2.0.3",
+ "xdg-basedir": "1.0.1"
+ },
+ "dependencies": {
+ "graceful-fs": {
+ "version": "3.0.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz",
+ "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=",
+ "dev": true,
+ "requires": {
+ "natives": "1.1.0"
+ }
+ },
+ "object-assign": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz",
+ "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=",
+ "dev": true
+ }
+ }
+ },
+ "connect": {
+ "version": "2.30.2",
+ "resolved": "https://registry.npmjs.org/connect/-/connect-2.30.2.tgz",
+ "integrity": "sha1-jam8vooFTT0xjXTf7JA7XDmhtgk=",
+ "dev": true,
+ "requires": {
+ "basic-auth-connect": "1.0.0",
+ "body-parser": "1.13.3",
+ "bytes": "2.1.0",
+ "compression": "1.5.2",
+ "connect-timeout": "1.6.2",
+ "content-type": "1.0.2",
+ "cookie": "0.1.3",
+ "cookie-parser": "1.3.5",
+ "cookie-signature": "1.0.6",
+ "csurf": "1.8.3",
+ "debug": "2.2.0",
+ "depd": "1.0.1",
+ "errorhandler": "1.4.3",
+ "express-session": "1.11.3",
+ "finalhandler": "0.4.0",
+ "fresh": "0.3.0",
+ "http-errors": "1.3.1",
+ "method-override": "2.3.9",
+ "morgan": "1.6.1",
+ "multiparty": "3.3.2",
+ "on-headers": "1.0.1",
+ "parseurl": "1.3.1",
+ "pause": "0.1.0",
+ "qs": "4.0.0",
+ "response-time": "2.3.2",
+ "serve-favicon": "2.3.2",
+ "serve-index": "1.7.3",
+ "serve-static": "1.10.3",
+ "type-is": "1.6.15",
+ "utils-merge": "1.0.0",
+ "vhost": "3.0.2"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
+ "dev": true,
+ "requires": {
+ "ms": "0.7.1"
+ }
+ },
+ "ms": {
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
+ "dev": true
+ }
+ }
+ },
+ "connect-livereload": {
+ "version": "0.5.4",
+ "resolved": "https://registry.npmjs.org/connect-livereload/-/connect-livereload-0.5.4.tgz",
+ "integrity": "sha1-gBV9E3HJ83zBQDmrGJWXDRGdw7w=",
+ "dev": true
+ },
+ "connect-timeout": {
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/connect-timeout/-/connect-timeout-1.6.2.tgz",
+ "integrity": "sha1-3ppexh4zoStu2qt7XwYumMWZuI4=",
+ "dev": true,
+ "requires": {
+ "debug": "2.2.0",
+ "http-errors": "1.3.1",
+ "ms": "0.7.1",
+ "on-headers": "1.0.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
+ "dev": true,
+ "requires": {
+ "ms": "0.7.1"
+ }
+ },
+ "ms": {
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
+ "dev": true
+ }
+ }
+ },
+ "console-browserify": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
+ "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=",
+ "dev": true,
+ "requires": {
+ "date-now": "0.1.4"
+ }
+ },
+ "console-stream": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/console-stream/-/console-stream-0.1.1.tgz",
+ "integrity": "sha1-oJX+B7IEZZVfL6/Si11yvM2UnUQ=",
+ "dev": true,
+ "optional": true
+ },
+ "constant-case": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/constant-case/-/constant-case-1.1.2.tgz",
+ "integrity": "sha1-jsLKW6ND4Aqjjb9OIA/VrJB+/WM=",
+ "dev": true,
+ "requires": {
+ "snake-case": "1.1.2",
+ "upper-case": "1.1.3"
+ }
+ },
+ "constants-browserify": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
+ "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
+ "dev": true
+ },
+ "content-type": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.2.tgz",
+ "integrity": "sha1-t9ETrueo3Se9IRM8TcJSnfFyHu0=",
+ "dev": true
+ },
+ "content-type-parser": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/content-type-parser/-/content-type-parser-1.0.1.tgz",
+ "integrity": "sha1-w+VpiMU8ZRJ/tG1AMqOpACRv3JQ=",
+ "dev": true
+ },
+ "convert-source-map": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.0.tgz",
+ "integrity": "sha1-ms1whRxtXf3ZPZKC5e35SgP/RrU=",
+ "dev": true
+ },
+ "cookie": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.1.3.tgz",
+ "integrity": "sha1-5zSlwUF/zkctWu+Cw4HKu2TRpDU=",
+ "dev": true
+ },
+ "cookie-parser": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.3.5.tgz",
+ "integrity": "sha1-nXVVcPtdF4kHcSJ6AjFNm+fPg1Y=",
+ "dev": true,
+ "requires": {
+ "cookie": "0.1.3",
+ "cookie-signature": "1.0.6"
+ }
+ },
+ "cookie-signature": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
+ "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=",
+ "dev": true
+ },
+ "core-js": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+ "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=",
+ "dev": true
+ },
+ "core-util-is": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
+ "dev": true
+ },
+ "crc": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/crc/-/crc-3.3.0.tgz",
+ "integrity": "sha1-+mIuG8OIvyVzCQgta2UgDOZwkLo=",
+ "dev": true
+ },
+ "create-ecdh": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz",
+ "integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=",
+ "dev": true,
+ "requires": {
+ "bn.js": "4.11.6",
+ "elliptic": "6.4.0"
+ }
+ },
+ "create-error-class": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz",
+ "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=",
+ "dev": true,
+ "requires": {
+ "capture-stack-trace": "1.0.0"
+ }
+ },
+ "create-hash": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz",
+ "integrity": "sha1-YGBCrIuSYnUPSDyt2rD1gZFy2P0=",
+ "dev": true,
+ "requires": {
+ "cipher-base": "1.0.3",
+ "inherits": "2.0.3",
+ "ripemd160": "2.0.1",
+ "sha.js": "2.4.8"
+ }
+ },
+ "create-hmac": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz",
+ "integrity": "sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=",
+ "dev": true,
+ "requires": {
+ "cipher-base": "1.0.3",
+ "create-hash": "1.1.3",
+ "inherits": "2.0.3",
+ "ripemd160": "2.0.1",
+ "safe-buffer": "5.1.0",
+ "sha.js": "2.4.8"
+ }
+ },
+ "cryptiles": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
+ "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
+ "dev": true,
+ "requires": {
+ "boom": "2.10.1"
+ }
+ },
+ "crypto-browserify": {
+ "version": "3.11.0",
+ "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.11.0.tgz",
+ "integrity": "sha1-NlKgkGq5sqfgw85mpAjpV6JIVSI=",
+ "dev": true,
+ "requires": {
+ "browserify-cipher": "1.0.0",
+ "browserify-sign": "4.0.4",
+ "create-ecdh": "4.0.0",
+ "create-hash": "1.1.3",
+ "create-hmac": "1.1.6",
+ "diffie-hellman": "5.0.2",
+ "inherits": "2.0.3",
+ "pbkdf2": "3.0.12",
+ "public-encrypt": "4.0.0",
+ "randombytes": "2.0.4"
+ }
+ },
+ "csrf": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/csrf/-/csrf-3.0.6.tgz",
+ "integrity": "sha1-thEg3c7q/JHnbtUxO7XAsmZ7cQo=",
+ "dev": true,
+ "requires": {
+ "rndm": "1.2.0",
+ "tsscmp": "1.0.5",
+ "uid-safe": "2.1.4"
+ }
+ },
+ "css-color-names": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz",
+ "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=",
+ "dev": true
+ },
+ "css-loader": {
+ "version": "0.26.4",
+ "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.26.4.tgz",
+ "integrity": "sha1-th6eMNuUMD5v/IkvEOzQmtAlof0=",
+ "dev": true,
+ "requires": {
+ "babel-code-frame": "6.22.0",
+ "css-selector-tokenizer": "0.7.0",
+ "cssnano": "3.10.0",
+ "loader-utils": "1.1.0",
+ "lodash.camelcase": "4.3.0",
+ "object-assign": "4.1.1",
+ "postcss": "5.2.17",
+ "postcss-modules-extract-imports": "1.1.0",
+ "postcss-modules-local-by-default": "1.2.0",
+ "postcss-modules-scope": "1.1.0",
+ "postcss-modules-values": "1.3.0",
+ "source-list-map": "0.1.8"
+ },
+ "dependencies": {
+ "loader-utils": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz",
+ "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=",
+ "dev": true,
+ "requires": {
+ "big.js": "3.1.3",
+ "emojis-list": "2.1.0",
+ "json5": "0.5.1"
+ }
+ },
+ "postcss": {
+ "version": "5.2.17",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz",
+ "integrity": "sha1-z09Ze4ZNZcikkrLqvp1wbIecOIs=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "js-base64": "2.1.9",
+ "source-map": "0.5.6",
+ "supports-color": "3.2.3"
+ }
+ },
+ "source-map": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "1.0.0"
+ }
+ }
+ }
+ },
+ "css-selector-tokenizer": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz",
+ "integrity": "sha1-5piEdK6MlTR3v15+/s/OzNnPTIY=",
+ "dev": true,
+ "requires": {
+ "cssesc": "0.1.0",
+ "fastparse": "1.1.1",
+ "regexpu-core": "1.0.0"
+ },
+ "dependencies": {
+ "regexpu-core": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz",
+ "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=",
+ "dev": true,
+ "requires": {
+ "regenerate": "1.3.2",
+ "regjsgen": "0.2.0",
+ "regjsparser": "0.1.5"
+ }
+ }
+ }
+ },
+ "cssesc": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz",
+ "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=",
+ "dev": true
+ },
+ "cssnano": {
+ "version": "3.10.0",
+ "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz",
+ "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=",
+ "dev": true,
+ "requires": {
+ "autoprefixer": "6.7.7",
+ "decamelize": "1.2.0",
+ "defined": "1.0.0",
+ "has": "1.0.1",
+ "object-assign": "4.1.1",
+ "postcss": "5.2.17",
+ "postcss-calc": "5.3.1",
+ "postcss-colormin": "2.2.2",
+ "postcss-convert-values": "2.6.1",
+ "postcss-discard-comments": "2.0.4",
+ "postcss-discard-duplicates": "2.1.0",
+ "postcss-discard-empty": "2.1.0",
+ "postcss-discard-overridden": "0.1.1",
+ "postcss-discard-unused": "2.2.3",
+ "postcss-filter-plugins": "2.0.2",
+ "postcss-merge-idents": "2.1.7",
+ "postcss-merge-longhand": "2.0.2",
+ "postcss-merge-rules": "2.1.2",
+ "postcss-minify-font-values": "1.0.5",
+ "postcss-minify-gradients": "1.0.5",
+ "postcss-minify-params": "1.2.2",
+ "postcss-minify-selectors": "2.1.1",
+ "postcss-normalize-charset": "1.1.1",
+ "postcss-normalize-url": "3.0.8",
+ "postcss-ordered-values": "2.2.3",
+ "postcss-reduce-idents": "2.4.0",
+ "postcss-reduce-initial": "1.0.1",
+ "postcss-reduce-transforms": "1.0.4",
+ "postcss-svgo": "2.1.6",
+ "postcss-unique-selectors": "2.0.2",
+ "postcss-value-parser": "3.3.0",
+ "postcss-zindex": "2.2.0"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "5.2.17",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz",
+ "integrity": "sha1-z09Ze4ZNZcikkrLqvp1wbIecOIs=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "js-base64": "2.1.9",
+ "source-map": "0.5.6",
+ "supports-color": "3.2.3"
+ }
+ },
+ "source-map": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "1.0.0"
+ }
+ }
+ }
+ },
+ "csso": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz",
+ "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=",
+ "dev": true,
+ "requires": {
+ "clap": "1.1.3",
+ "source-map": "0.5.6"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ }
+ }
+ },
+ "cssom": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.2.tgz",
+ "integrity": "sha1-uANhcMefB6kP8vFuIihAJ6JDhIs=",
+ "dev": true
+ },
+ "cssstyle": {
+ "version": "0.2.37",
+ "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.37.tgz",
+ "integrity": "sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=",
+ "dev": true,
+ "requires": {
+ "cssom": "0.3.2"
+ }
+ },
+ "csurf": {
+ "version": "1.8.3",
+ "resolved": "https://registry.npmjs.org/csurf/-/csurf-1.8.3.tgz",
+ "integrity": "sha1-I/KhO/HY/OHQyZZYg5RELLqGpWo=",
+ "dev": true,
+ "requires": {
+ "cookie": "0.1.3",
+ "cookie-signature": "1.0.6",
+ "csrf": "3.0.6",
+ "http-errors": "1.3.1"
+ }
+ },
+ "ctype": {
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz",
+ "integrity": "sha1-gsGMJGH3QRTvFsE1IkrQuRRMoS8=",
+ "dev": true
+ },
+ "currently-unhandled": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
+ "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
+ "dev": true,
+ "requires": {
+ "array-find-index": "1.0.2"
+ }
+ },
+ "cycle": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz",
+ "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=",
+ "dev": true
+ },
+ "d": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/d/-/d-0.1.1.tgz",
+ "integrity": "sha1-2hhMU10Y2O57oqoim5FACfrhEwk=",
+ "dev": true,
+ "requires": {
+ "es5-ext": "0.10.22"
+ }
+ },
+ "dashdash": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "1.0.0"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+ "dev": true
+ }
+ }
+ },
+ "date-now": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz",
+ "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=",
+ "dev": true
+ },
+ "date-time": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/date-time/-/date-time-1.1.0.tgz",
+ "integrity": "sha1-GIdtC9pMGf5w3Tv0sDTygbEqQLY=",
+ "dev": true,
+ "requires": {
+ "time-zone": "0.1.0"
+ }
+ },
+ "dateformat": {
+ "version": "1.0.2-1.2.3",
+ "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz",
+ "integrity": "sha1-sCIMAt6YYXQztyhRz0fePfLNvuk=",
+ "dev": true
+ },
+ "debug": {
+ "version": "2.6.8",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz",
+ "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "decamelize": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
+ "dev": true
+ },
+ "decompress": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/decompress/-/decompress-3.0.0.tgz",
+ "integrity": "sha1-rx3VDQbjv8QyRh033hGzjA2ZG+0=",
+ "dev": true,
+ "requires": {
+ "buffer-to-vinyl": "1.1.0",
+ "concat-stream": "1.6.0",
+ "decompress-tar": "3.1.0",
+ "decompress-tarbz2": "3.1.0",
+ "decompress-targz": "3.1.0",
+ "decompress-unzip": "3.4.0",
+ "stream-combiner2": "1.1.1",
+ "vinyl-assign": "1.2.1",
+ "vinyl-fs": "2.4.4"
+ }
+ },
+ "decompress-tar": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-3.1.0.tgz",
+ "integrity": "sha1-IXx4n5uURQ76rcXF5TeXj8MzxGY=",
+ "dev": true,
+ "requires": {
+ "is-tar": "1.0.0",
+ "object-assign": "2.1.1",
+ "strip-dirs": "1.1.1",
+ "tar-stream": "1.5.4",
+ "through2": "0.6.5",
+ "vinyl": "0.4.6"
+ },
+ "dependencies": {
+ "clone": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
+ "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=",
+ "dev": true
+ },
+ "object-assign": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz",
+ "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=",
+ "dev": true
+ },
+ "vinyl": {
+ "version": "0.4.6",
+ "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz",
+ "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=",
+ "dev": true,
+ "requires": {
+ "clone": "0.2.0",
+ "clone-stats": "0.0.1"
+ }
+ }
+ }
+ },
+ "decompress-tarbz2": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-3.1.0.tgz",
+ "integrity": "sha1-iyOTVoE1X58YnYclag+L3ZbZZm0=",
+ "dev": true,
+ "requires": {
+ "is-bzip2": "1.0.0",
+ "object-assign": "2.1.1",
+ "seek-bzip": "1.0.5",
+ "strip-dirs": "1.1.1",
+ "tar-stream": "1.5.4",
+ "through2": "0.6.5",
+ "vinyl": "0.4.6"
+ },
+ "dependencies": {
+ "clone": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
+ "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=",
+ "dev": true
+ },
+ "object-assign": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz",
+ "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=",
+ "dev": true
+ },
+ "vinyl": {
+ "version": "0.4.6",
+ "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz",
+ "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=",
+ "dev": true,
+ "requires": {
+ "clone": "0.2.0",
+ "clone-stats": "0.0.1"
+ }
+ }
+ }
+ },
+ "decompress-targz": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-3.1.0.tgz",
+ "integrity": "sha1-ssE9+YFmJomRtxXWRH9kLpaW9aA=",
+ "dev": true,
+ "requires": {
+ "is-gzip": "1.0.0",
+ "object-assign": "2.1.1",
+ "strip-dirs": "1.1.1",
+ "tar-stream": "1.5.4",
+ "through2": "0.6.5",
+ "vinyl": "0.4.6"
+ },
+ "dependencies": {
+ "clone": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
+ "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=",
+ "dev": true
+ },
+ "object-assign": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz",
+ "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=",
+ "dev": true
+ },
+ "vinyl": {
+ "version": "0.4.6",
+ "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz",
+ "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=",
+ "dev": true,
+ "requires": {
+ "clone": "0.2.0",
+ "clone-stats": "0.0.1"
+ }
+ }
+ }
+ },
+ "decompress-unzip": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-3.4.0.tgz",
+ "integrity": "sha1-YUdbQVIGa74/7hL51inRX+ZHjus=",
+ "dev": true,
+ "requires": {
+ "is-zip": "1.0.0",
+ "read-all-stream": "3.1.0",
+ "stat-mode": "0.2.2",
+ "strip-dirs": "1.1.1",
+ "through2": "2.0.3",
+ "vinyl": "1.2.0",
+ "yauzl": "2.8.0"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.2.10",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.10.tgz",
+ "integrity": "sha512-HQEnnoV404e0EtwB9yNiuk2tJ+egeVC8Y9QBAxzDg8DBJt4BzRp+yQuIb/t3FIWkSTmIi+sgx7yVv/ZM0GNoqw==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "1.0.7",
+ "safe-buffer": "5.1.0",
+ "string_decoder": "1.0.1",
+ "util-deprecate": "1.0.2"
+ }
+ },
+ "string_decoder": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz",
+ "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.0"
+ }
+ },
+ "through2": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+ "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "2.2.10",
+ "xtend": "4.0.1"
+ }
+ }
+ }
+ },
+ "decompress-zip": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/decompress-zip/-/decompress-zip-0.0.8.tgz",
+ "integrity": "sha1-SiZbIseyCdeyT6ZvKy37ztWQRPM=",
+ "dev": true,
+ "requires": {
+ "binary": "0.3.0",
+ "graceful-fs": "3.0.11",
+ "mkpath": "0.1.0",
+ "nopt": "2.2.1",
+ "q": "1.0.1",
+ "readable-stream": "1.1.14",
+ "touch": "0.0.2"
+ },
+ "dependencies": {
+ "graceful-fs": {
+ "version": "3.0.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz",
+ "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=",
+ "dev": true,
+ "requires": {
+ "natives": "1.1.0"
+ }
+ },
+ "nopt": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-2.2.1.tgz",
+ "integrity": "sha1-KqCbfRdoSHs7ianFqlIzW/8Lrqc=",
+ "dev": true,
+ "requires": {
+ "abbrev": "1.1.0"
+ }
+ },
+ "q": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/q/-/q-1.0.1.tgz",
+ "integrity": "sha1-EYcq7t7okmgRCxCnGESP+xARKhQ=",
+ "dev": true
+ }
+ }
+ },
+ "deep-equal": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
+ "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=",
+ "dev": true
+ },
+ "deep-extend": {
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz",
+ "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=",
+ "dev": true
+ },
+ "deep-is": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
+ "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
+ "dev": true
+ },
+ "default-require-extensions": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz",
+ "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=",
+ "dev": true,
+ "requires": {
+ "strip-bom": "2.0.0"
+ }
+ },
+ "defined": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
+ "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=",
+ "dev": true
+ },
+ "delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
+ "dev": true
+ },
+ "depd": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.0.1.tgz",
+ "integrity": "sha1-gK7GTJ1tl+ZcwqnKqTwKpqv3Oqo=",
+ "dev": true
+ },
+ "des.js": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz",
+ "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "minimalistic-assert": "1.0.0"
+ }
+ },
+ "destroy": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
+ "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
+ "dev": true
+ },
+ "detect-indent": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz",
+ "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=",
+ "dev": true,
+ "requires": {
+ "repeating": "2.0.1"
+ }
+ },
+ "diff": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz",
+ "integrity": "sha1-fyjS657nsVqX79ic5j3P2qPMur8=",
+ "dev": true
+ },
+ "diffie-hellman": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz",
+ "integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=",
+ "dev": true,
+ "requires": {
+ "bn.js": "4.11.6",
+ "miller-rabin": "4.0.0",
+ "randombytes": "2.0.4"
+ }
+ },
+ "dom-serializer": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz",
+ "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=",
+ "dev": true,
+ "requires": {
+ "domelementtype": "1.1.3",
+ "entities": "1.1.1"
+ },
+ "dependencies": {
+ "domelementtype": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz",
+ "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=",
+ "dev": true
+ },
+ "entities": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz",
+ "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=",
+ "dev": true
+ }
+ }
+ },
+ "domain-browser": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz",
+ "integrity": "sha1-hnqksJP6oF8d4IwG9NeyH9+GmLw=",
+ "dev": true
+ },
+ "domelementtype": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz",
+ "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=",
+ "dev": true
+ },
+ "domhandler": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz",
+ "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=",
+ "dev": true,
+ "requires": {
+ "domelementtype": "1.3.0"
+ }
+ },
+ "domutils": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
+ "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
+ "dev": true,
+ "requires": {
+ "dom-serializer": "0.1.0",
+ "domelementtype": "1.3.0"
+ }
+ },
+ "dot-case": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-1.1.2.tgz",
+ "integrity": "sha1-HnOCaQDeKNbeVIC8HeMdCEKwa+w=",
+ "dev": true,
+ "requires": {
+ "sentence-case": "1.1.3"
+ }
+ },
+ "download": {
+ "version": "4.4.3",
+ "resolved": "https://registry.npmjs.org/download/-/download-4.4.3.tgz",
+ "integrity": "sha1-qlX9rTktldS2jowr4D4MKqIbqaw=",
+ "dev": true,
+ "requires": {
+ "caw": "1.2.0",
+ "concat-stream": "1.6.0",
+ "each-async": "1.1.1",
+ "filenamify": "1.2.1",
+ "got": "5.7.1",
+ "gulp-decompress": "1.2.0",
+ "gulp-rename": "1.2.2",
+ "is-url": "1.2.2",
+ "object-assign": "4.1.1",
+ "read-all-stream": "3.1.0",
+ "readable-stream": "2.2.10",
+ "stream-combiner2": "1.1.1",
+ "vinyl": "1.2.0",
+ "vinyl-fs": "2.4.4",
+ "ware": "1.3.0"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.2.10",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.10.tgz",
+ "integrity": "sha512-HQEnnoV404e0EtwB9yNiuk2tJ+egeVC8Y9QBAxzDg8DBJt4BzRp+yQuIb/t3FIWkSTmIi+sgx7yVv/ZM0GNoqw==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "1.0.7",
+ "safe-buffer": "5.1.0",
+ "string_decoder": "1.0.1",
+ "util-deprecate": "1.0.2"
+ }
+ },
+ "string_decoder": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz",
+ "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.0"
+ }
+ }
+ }
+ },
+ "duplexer2": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
+ "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "2.2.10"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.2.10",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.10.tgz",
+ "integrity": "sha512-HQEnnoV404e0EtwB9yNiuk2tJ+egeVC8Y9QBAxzDg8DBJt4BzRp+yQuIb/t3FIWkSTmIi+sgx7yVv/ZM0GNoqw==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "1.0.7",
+ "safe-buffer": "5.1.0",
+ "string_decoder": "1.0.1",
+ "util-deprecate": "1.0.2"
+ }
+ },
+ "string_decoder": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz",
+ "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.0"
+ }
+ }
+ }
+ },
+ "duplexify": {
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.0.tgz",
+ "integrity": "sha1-GqdzAC4VeEV+nZ1KULDMquvL1gQ=",
+ "dev": true,
+ "requires": {
+ "end-of-stream": "1.0.0",
+ "inherits": "2.0.3",
+ "readable-stream": "2.2.10",
+ "stream-shift": "1.0.0"
+ },
+ "dependencies": {
+ "end-of-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.0.0.tgz",
+ "integrity": "sha1-1FlucCc0qT5A6a+GQxnqvZn/Lw4=",
+ "dev": true,
+ "requires": {
+ "once": "1.3.3"
+ }
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "once": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz",
+ "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=",
+ "dev": true,
+ "requires": {
+ "wrappy": "1.0.2"
+ }
+ },
+ "readable-stream": {
+ "version": "2.2.10",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.10.tgz",
+ "integrity": "sha512-HQEnnoV404e0EtwB9yNiuk2tJ+egeVC8Y9QBAxzDg8DBJt4BzRp+yQuIb/t3FIWkSTmIi+sgx7yVv/ZM0GNoqw==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "1.0.7",
+ "safe-buffer": "5.1.0",
+ "string_decoder": "1.0.1",
+ "util-deprecate": "1.0.2"
+ }
+ },
+ "string_decoder": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz",
+ "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.0"
+ }
+ }
+ }
+ },
+ "each-async": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/each-async/-/each-async-1.1.1.tgz",
+ "integrity": "sha1-3uUim98KtrogEqOV4bhpq/iBNHM=",
+ "dev": true,
+ "requires": {
+ "onetime": "1.1.0",
+ "set-immediate-shim": "1.0.1"
+ }
+ },
+ "ecc-jsbn": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
+ "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "jsbn": "0.1.1"
+ }
+ },
+ "ee-first": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
+ "dev": true
+ },
+ "electron-to-chromium": {
+ "version": "1.3.13",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.13.tgz",
+ "integrity": "sha1-GzperObgh7teJXoQCwy/6Bsokfw=",
+ "dev": true
+ },
+ "elliptic": {
+ "version": "6.4.0",
+ "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz",
+ "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=",
+ "dev": true,
+ "requires": {
+ "bn.js": "4.11.6",
+ "brorand": "1.1.0",
+ "hash.js": "1.0.3",
+ "hmac-drbg": "1.0.1",
+ "inherits": "2.0.3",
+ "minimalistic-assert": "1.0.0",
+ "minimalistic-crypto-utils": "1.0.1"
+ }
+ },
+ "emojis-list": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
+ "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
+ "dev": true
+ },
+ "end-of-stream": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.0.tgz",
+ "integrity": "sha1-epDYM+/abPpurA9JSduw+tOmMgY=",
+ "dev": true,
+ "requires": {
+ "once": "1.4.0"
+ }
+ },
+ "enhanced-resolve": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.1.0.tgz",
+ "integrity": "sha1-n0tib1dyRe3PSyrYPYbhf09CHew=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "memory-fs": "0.4.1",
+ "object-assign": "4.1.1",
+ "tapable": "0.2.6"
+ },
+ "dependencies": {
+ "graceful-fs": {
+ "version": "4.1.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "dev": true
+ }
+ }
+ },
+ "entities": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz",
+ "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=",
+ "dev": true
+ },
+ "errno": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz",
+ "integrity": "sha1-uJbiOp5ei6M4cfyZar02NfyaHH0=",
+ "dev": true,
+ "requires": {
+ "prr": "0.0.0"
+ }
+ },
+ "error-ex": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz",
+ "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=",
+ "dev": true,
+ "requires": {
+ "is-arrayish": "0.2.1"
+ }
+ },
+ "errorhandler": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.4.3.tgz",
+ "integrity": "sha1-t7cO2PNZ6duICS8tIMD4MUIK2D8=",
+ "dev": true,
+ "requires": {
+ "accepts": "1.3.3",
+ "escape-html": "1.0.3"
+ },
+ "dependencies": {
+ "accepts": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz",
+ "integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo=",
+ "dev": true,
+ "requires": {
+ "mime-types": "2.1.15",
+ "negotiator": "0.6.1"
+ }
+ },
+ "negotiator": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
+ "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=",
+ "dev": true
+ }
+ }
+ },
+ "es5-ext": {
+ "version": "0.10.22",
+ "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.22.tgz",
+ "integrity": "sha512-YXTXSlZkJsVwMEVljp1Bh5P9+Raa3524OMl9kywGMp1aazKTCnAqORRL/8dkuqNHk+LRYe0LezuS8PlUt3+mOw==",
+ "dev": true,
+ "requires": {
+ "es6-iterator": "2.0.1",
+ "es6-symbol": "3.1.1"
+ }
+ },
+ "es6-iterator": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.1.tgz",
+ "integrity": "sha1-jjGcnwRTv1ddN0lAplWSDlnKVRI=",
+ "dev": true,
+ "requires": {
+ "d": "1.0.0",
+ "es5-ext": "0.10.22",
+ "es6-symbol": "3.1.1"
+ },
+ "dependencies": {
+ "d": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz",
+ "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=",
+ "dev": true,
+ "requires": {
+ "es5-ext": "0.10.22"
+ }
+ }
+ }
+ },
+ "es6-promise": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-2.3.0.tgz",
+ "integrity": "sha1-lu258v2wGZWCKyY92KratnSBgbw=",
+ "dev": true
+ },
+ "es6-symbol": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz",
+ "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=",
+ "dev": true,
+ "requires": {
+ "d": "1.0.0",
+ "es5-ext": "0.10.22"
+ },
+ "dependencies": {
+ "d": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz",
+ "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=",
+ "dev": true,
+ "requires": {
+ "es5-ext": "0.10.22"
+ }
+ }
+ }
+ },
+ "es6-weak-map": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-0.1.4.tgz",
+ "integrity": "sha1-cGzvnpmqI2undmwjnIueKG6n0ig=",
+ "dev": true,
+ "requires": {
+ "d": "0.1.1",
+ "es5-ext": "0.10.22",
+ "es6-iterator": "0.1.3",
+ "es6-symbol": "2.0.1"
+ },
+ "dependencies": {
+ "es6-iterator": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-0.1.3.tgz",
+ "integrity": "sha1-1vWLjE/EE8JJtLqhl2j45NfIlE4=",
+ "dev": true,
+ "requires": {
+ "d": "0.1.1",
+ "es5-ext": "0.10.22",
+ "es6-symbol": "2.0.1"
+ }
+ },
+ "es6-symbol": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-2.0.1.tgz",
+ "integrity": "sha1-dhtcZ8/U8dGK+yNPaR1nhoLLO/M=",
+ "dev": true,
+ "requires": {
+ "d": "0.1.1",
+ "es5-ext": "0.10.22"
+ }
+ }
+ }
+ },
+ "escape-html": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
+ "dev": true
+ },
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "dev": true
+ },
+ "escodegen": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz",
+ "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=",
+ "dev": true,
+ "requires": {
+ "esprima": "2.7.3",
+ "estraverse": "1.9.3",
+ "esutils": "2.0.2",
+ "optionator": "0.8.2",
+ "source-map": "0.2.0"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz",
+ "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "amdefine": "1.0.1"
+ }
+ }
+ }
+ },
+ "esprima": {
+ "version": "2.7.3",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
+ "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
+ "dev": true
+ },
+ "esprima-harmony-jscs": {
+ "version": "1.1.0-bin",
+ "resolved": "https://registry.npmjs.org/esprima-harmony-jscs/-/esprima-harmony-jscs-1.1.0-bin.tgz",
+ "integrity": "sha1-B8sFcdlD7tS8e/6ecmN8Zj/hUe0=",
+ "dev": true
+ },
+ "estraverse": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz",
+ "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=",
+ "dev": true
+ },
+ "esutils": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+ "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
+ "dev": true
+ },
+ "etag": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.7.0.tgz",
+ "integrity": "sha1-A9MLX2fdbmMtKUXTDWZScxo01dg=",
+ "dev": true
+ },
+ "event-emitter": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
+ "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=",
+ "dev": true,
+ "requires": {
+ "d": "1.0.0",
+ "es5-ext": "0.10.22"
+ },
+ "dependencies": {
+ "d": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz",
+ "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=",
+ "dev": true,
+ "requires": {
+ "es5-ext": "0.10.22"
+ }
+ }
+ }
+ },
+ "eventemitter2": {
+ "version": "0.4.14",
+ "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz",
+ "integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=",
+ "dev": true
+ },
+ "events": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz",
+ "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=",
+ "dev": true
+ },
+ "evp_bytestokey": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.0.tgz",
+ "integrity": "sha1-SXtmrZ/vZc18CKYYCCS6FHa2blM=",
+ "dev": true,
+ "requires": {
+ "create-hash": "1.1.3"
+ }
+ },
+ "exec-buffer": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/exec-buffer/-/exec-buffer-2.0.1.tgz",
+ "integrity": "sha1-ACijG+CxRgth0HX5avRYO54zXqA=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "rimraf": "2.2.8",
+ "tempfile": "1.1.1"
+ }
+ },
+ "exec-series": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/exec-series/-/exec-series-1.0.3.tgz",
+ "integrity": "sha1-bSV6m+rEgqhyx3g7yGFYOfx3FDo=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "async-each-series": "1.1.0",
+ "object-assign": "4.1.1"
+ }
+ },
+ "exec-sh": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.0.tgz",
+ "integrity": "sha1-FPdd4/INKG75MwmbLOUKkDWc7xA=",
+ "dev": true,
+ "requires": {
+ "merge": "1.2.0"
+ }
+ },
+ "executable": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/executable/-/executable-1.1.0.tgz",
+ "integrity": "sha1-h3mA6REvM5EGbaNyZd562ENKtNk=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "meow": "3.7.0"
+ }
+ },
+ "exit": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
+ "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
+ "dev": true
+ },
+ "expand-brackets": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
+ "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
+ "dev": true,
+ "requires": {
+ "is-posix-bracket": "0.1.1"
+ }
+ },
+ "expand-range": {
+ "version": "1.8.2",
+ "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
+ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
+ "dev": true,
+ "requires": {
+ "fill-range": "2.2.3"
+ }
+ },
+ "express-session": {
+ "version": "1.11.3",
+ "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.11.3.tgz",
+ "integrity": "sha1-XMmPP1/4Ttg1+Ry/CqvQxxB0AK8=",
+ "dev": true,
+ "requires": {
+ "cookie": "0.1.3",
+ "cookie-signature": "1.0.6",
+ "crc": "3.3.0",
+ "debug": "2.2.0",
+ "depd": "1.0.1",
+ "on-headers": "1.0.1",
+ "parseurl": "1.3.1",
+ "uid-safe": "2.0.0",
+ "utils-merge": "1.0.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
+ "dev": true,
+ "requires": {
+ "ms": "0.7.1"
+ }
+ },
+ "ms": {
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
+ "dev": true
+ },
+ "uid-safe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.0.0.tgz",
+ "integrity": "sha1-p/PGymSh9qXQTsDvPkw9U2cxcTc=",
+ "dev": true,
+ "requires": {
+ "base64-url": "1.2.1"
+ }
+ }
+ }
+ },
+ "extend": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
+ "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=",
+ "dev": true
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "0.1.1"
+ }
+ },
+ "extglob": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
+ "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "1.0.0"
+ },
+ "dependencies": {
+ "is-extglob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
+ "dev": true
+ }
+ }
+ },
+ "extract-zip": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.5.0.tgz",
+ "integrity": "sha1-ksz22B73Cp+kwXRxFMzvbYaIpsQ=",
+ "dev": true,
+ "requires": {
+ "concat-stream": "1.5.0",
+ "debug": "0.7.4",
+ "mkdirp": "0.5.0",
+ "yauzl": "2.4.1"
+ },
+ "dependencies": {
+ "concat-stream": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.0.tgz",
+ "integrity": "sha1-U/fUPFHF5D+ByP3QMyHGMb5o1hE=",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "readable-stream": "2.0.6",
+ "typedarray": "0.0.6"
+ }
+ },
+ "debug": {
+ "version": "0.7.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz",
+ "integrity": "sha1-BuHqgILCyxTjmAbiLi9vdX+Srzk=",
+ "dev": true
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "mkdirp": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz",
+ "integrity": "sha1-HXMHam35hs2TROFecfzAWkyavxI=",
+ "dev": true,
+ "requires": {
+ "minimist": "0.0.8"
+ }
+ },
+ "readable-stream": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
+ "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "1.0.7",
+ "string_decoder": "0.10.31",
+ "util-deprecate": "1.0.2"
+ }
+ },
+ "yauzl": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz",
+ "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=",
+ "dev": true,
+ "requires": {
+ "fd-slicer": "1.0.1"
+ }
+ }
+ }
+ },
+ "extsprintf": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz",
+ "integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA=",
+ "dev": true
+ },
+ "eyes": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz",
+ "integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=",
+ "dev": true
+ },
+ "fancy-log": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.0.tgz",
+ "integrity": "sha1-Rb4X0Cu5kX1gzP/UmVyZnmyMmUg=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "time-stamp": "1.1.0"
+ }
+ },
+ "fast-levenshtein": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
+ "dev": true
+ },
+ "fastparse": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.1.tgz",
+ "integrity": "sha1-0eJkOzipTXWDtHkGDmxK/8lAcfg=",
+ "dev": true
+ },
+ "faye-websocket": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.4.4.tgz",
+ "integrity": "sha1-wUxbO/FNdBf/v9mQwKdJXNnzN7w=",
+ "dev": true
+ },
+ "fb-watchman": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz",
+ "integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=",
+ "dev": true,
+ "requires": {
+ "bser": "2.0.0"
+ }
+ },
+ "fd-slicer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz",
+ "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=",
+ "dev": true,
+ "requires": {
+ "pend": "1.2.0"
+ }
+ },
+ "figures": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",
+ "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=",
+ "dev": true,
+ "requires": {
+ "escape-string-regexp": "1.0.5",
+ "object-assign": "4.1.1"
+ }
+ },
+ "file-loader": {
+ "version": "0.10.1",
+ "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-0.10.1.tgz",
+ "integrity": "sha1-gVA0EZiR/GRB+1pkwRvJPCLd2EI=",
+ "dev": true,
+ "requires": {
+ "loader-utils": "1.1.0"
+ },
+ "dependencies": {
+ "loader-utils": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz",
+ "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=",
+ "dev": true,
+ "requires": {
+ "big.js": "3.1.3",
+ "emojis-list": "2.1.0",
+ "json5": "0.5.1"
+ }
+ }
+ }
+ },
+ "file-type": {
+ "version": "3.9.0",
+ "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz",
+ "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=",
+ "dev": true
+ },
+ "filename-regex": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
+ "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=",
+ "dev": true
+ },
+ "filename-reserved-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz",
+ "integrity": "sha1-5hz4BfDeHJhFZ9A4bcXfUO5a9+Q=",
+ "dev": true
+ },
+ "filenamify": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-1.2.1.tgz",
+ "integrity": "sha1-qfL/0RxQO+0wABUCknI3jx8TZaU=",
+ "dev": true,
+ "requires": {
+ "filename-reserved-regex": "1.0.0",
+ "strip-outer": "1.0.0",
+ "trim-repeated": "1.0.0"
+ }
+ },
+ "fileset": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz",
+ "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=",
+ "dev": true,
+ "requires": {
+ "glob": "7.1.2",
+ "minimatch": "3.0.4"
+ },
+ "dependencies": {
+ "glob": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
+ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "1.0.0",
+ "inflight": "1.0.6",
+ "inherits": "2.0.3",
+ "minimatch": "3.0.4",
+ "once": "1.4.0",
+ "path-is-absolute": "1.0.1"
+ }
+ }
+ }
+ },
+ "fill-range": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz",
+ "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=",
+ "dev": true,
+ "requires": {
+ "is-number": "2.1.0",
+ "isobject": "2.1.0",
+ "randomatic": "1.1.6",
+ "repeat-element": "1.1.2",
+ "repeat-string": "1.6.1"
+ }
+ },
+ "finalhandler": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-0.4.0.tgz",
+ "integrity": "sha1-llpS2ejQXSuFdUhUH7ibU6JJfZs=",
+ "dev": true,
+ "requires": {
+ "debug": "2.2.0",
+ "escape-html": "1.0.2",
+ "on-finished": "2.3.0",
+ "unpipe": "1.0.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
+ "dev": true,
+ "requires": {
+ "ms": "0.7.1"
+ }
+ },
+ "escape-html": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.2.tgz",
+ "integrity": "sha1-130y+pjjjC9BroXpJ44ODmuhAiw=",
+ "dev": true
+ },
+ "ms": {
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
+ "dev": true
+ }
+ }
+ },
+ "find-cache-dir": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz",
+ "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=",
+ "dev": true,
+ "requires": {
+ "commondir": "1.0.1",
+ "mkdirp": "0.5.1",
+ "pkg-dir": "1.0.0"
+ }
+ },
+ "find-up": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
+ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+ "dev": true,
+ "requires": {
+ "path-exists": "2.1.0",
+ "pinkie-promise": "2.0.1"
+ }
+ },
+ "find-versions": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-1.2.1.tgz",
+ "integrity": "sha1-y96fEuOFdaCvG+G5osXV/Y8Ya2I=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "array-uniq": "1.0.3",
+ "get-stdin": "4.0.1",
+ "meow": "3.7.0",
+ "semver-regex": "1.0.0"
+ }
+ },
+ "findup-sync": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.3.tgz",
+ "integrity": "sha1-fz56l7gjksZTvwZYm9hRkOk8NoM=",
+ "dev": true,
+ "requires": {
+ "glob": "3.2.11",
+ "lodash": "2.4.2"
+ },
+ "dependencies": {
+ "glob": {
+ "version": "3.2.11",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz",
+ "integrity": "sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0=",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "minimatch": "0.3.0"
+ }
+ },
+ "lodash": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz",
+ "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=",
+ "dev": true
+ },
+ "minimatch": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz",
+ "integrity": "sha1-J12O2qxPG7MyZHIInnlJyDlGmd0=",
+ "dev": true,
+ "requires": {
+ "lru-cache": "2.7.3",
+ "sigmund": "1.0.1"
+ }
+ }
+ }
+ },
+ "first-chunk-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz",
+ "integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=",
+ "dev": true
+ },
+ "flatten": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz",
+ "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=",
+ "dev": true
+ },
+ "for-in": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
+ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
+ "dev": true
+ },
+ "for-own": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
+ "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
+ "dev": true,
+ "requires": {
+ "for-in": "1.0.2"
+ }
+ },
+ "forever-agent": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
+ "dev": true
+ },
+ "form-data": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz",
+ "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=",
+ "dev": true,
+ "requires": {
+ "asynckit": "0.4.0",
+ "combined-stream": "1.0.5",
+ "mime-types": "2.1.15"
+ }
+ },
+ "fresh": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz",
+ "integrity": "sha1-ZR+DjiJCTnVm3hYdg1jKoZn4PU8=",
+ "dev": true
+ },
+ "fs-extra": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz",
+ "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "jsonfile": "2.4.0",
+ "klaw": "1.3.1"
+ },
+ "dependencies": {
+ "graceful-fs": {
+ "version": "4.1.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "dev": true
+ }
+ }
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+ "dev": true
+ },
+ "fsevents": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz",
+ "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "nan": "2.10.0",
+ "node-pre-gyp": "0.10.0"
+ },
+ "dependencies": {
+ "abbrev": {
+ "version": "1.1.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "ansi-regex": {
+ "version": "2.1.1",
+ "bundled": true,
+ "dev": true
+ },
+ "aproba": {
+ "version": "1.2.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "are-we-there-yet": {
+ "version": "1.1.4",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "delegates": "1.0.0",
+ "readable-stream": "2.3.6"
+ }
+ },
+ "balanced-match": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "brace-expansion": {
+ "version": "1.1.11",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "balanced-match": "1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "chownr": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "code-point-at": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "console-control-strings": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true
+ },
+ "core-util-is": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "debug": {
+ "version": "2.6.9",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "deep-extend": {
+ "version": "0.5.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "delegates": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "detect-libc": {
+ "version": "1.0.3",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "fs-minipass": {
+ "version": "1.2.5",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "minipass": "2.2.4"
+ }
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "gauge": {
+ "version": "2.7.4",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "aproba": "1.2.0",
+ "console-control-strings": "1.1.0",
+ "has-unicode": "2.0.1",
+ "object-assign": "4.1.1",
+ "signal-exit": "3.0.2",
+ "string-width": "1.0.2",
+ "strip-ansi": "3.0.1",
+ "wide-align": "1.1.2"
+ }
+ },
+ "glob": {
+ "version": "7.1.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "fs.realpath": "1.0.0",
+ "inflight": "1.0.6",
+ "inherits": "2.0.3",
+ "minimatch": "3.0.4",
+ "once": "1.4.0",
+ "path-is-absolute": "1.0.1"
+ }
+ },
+ "has-unicode": {
+ "version": "2.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "iconv-lite": {
+ "version": "0.4.21",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "safer-buffer": "2.1.2"
+ }
+ },
+ "ignore-walk": {
+ "version": "3.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "minimatch": "3.0.4"
+ }
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "once": "1.4.0",
+ "wrappy": "1.0.2"
+ }
+ },
+ "inherits": {
+ "version": "2.0.3",
+ "bundled": true,
+ "dev": true
+ },
+ "ini": {
+ "version": "1.3.5",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "number-is-nan": "1.0.1"
+ }
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "brace-expansion": "1.1.11"
+ }
+ },
+ "minimist": {
+ "version": "0.0.8",
+ "bundled": true,
+ "dev": true
+ },
+ "minipass": {
+ "version": "2.2.4",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.1",
+ "yallist": "3.0.2"
+ }
+ },
+ "minizlib": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "minipass": "2.2.4"
+ }
+ },
+ "mkdirp": {
+ "version": "0.5.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "minimist": "0.0.8"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "needle": {
+ "version": "2.2.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "debug": "2.6.9",
+ "iconv-lite": "0.4.21",
+ "sax": "1.2.4"
+ }
+ },
+ "node-pre-gyp": {
+ "version": "0.10.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "detect-libc": "1.0.3",
+ "mkdirp": "0.5.1",
+ "needle": "2.2.0",
+ "nopt": "4.0.1",
+ "npm-packlist": "1.1.10",
+ "npmlog": "4.1.2",
+ "rc": "1.2.7",
+ "rimraf": "2.6.2",
+ "semver": "5.5.0",
+ "tar": "4.4.1"
+ }
+ },
+ "nopt": {
+ "version": "4.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "abbrev": "1.1.1",
+ "osenv": "0.1.5"
+ }
+ },
+ "npm-bundled": {
+ "version": "1.0.3",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "npm-packlist": {
+ "version": "1.1.10",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ignore-walk": "3.0.1",
+ "npm-bundled": "1.0.3"
+ }
+ },
+ "npmlog": {
+ "version": "4.1.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "are-we-there-yet": "1.1.4",
+ "console-control-strings": "1.1.0",
+ "gauge": "2.7.4",
+ "set-blocking": "2.0.0"
+ }
+ },
+ "number-is-nan": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "once": {
+ "version": "1.4.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "wrappy": "1.0.2"
+ }
+ },
+ "os-homedir": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "os-tmpdir": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "osenv": {
+ "version": "0.1.5",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "os-homedir": "1.0.2",
+ "os-tmpdir": "1.0.2"
+ }
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "process-nextick-args": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "rc": {
+ "version": "1.2.7",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "deep-extend": "0.5.1",
+ "ini": "1.3.5",
+ "minimist": "1.2.0",
+ "strip-json-comments": "2.0.1"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "2.0.0",
+ "safe-buffer": "5.1.1",
+ "string_decoder": "1.1.1",
+ "util-deprecate": "1.0.2"
+ }
+ },
+ "rimraf": {
+ "version": "2.6.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "glob": "7.1.2"
+ }
+ },
+ "safe-buffer": {
+ "version": "5.1.1",
+ "bundled": true,
+ "dev": true
+ },
+ "safer-buffer": {
+ "version": "2.1.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "sax": {
+ "version": "1.2.4",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "semver": {
+ "version": "5.5.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "set-blocking": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "signal-exit": {
+ "version": "3.0.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "code-point-at": "1.1.0",
+ "is-fullwidth-code-point": "1.0.0",
+ "strip-ansi": "3.0.1"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "safe-buffer": "5.1.1"
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "ansi-regex": "2.1.1"
+ }
+ },
+ "strip-json-comments": {
+ "version": "2.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "tar": {
+ "version": "4.4.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "chownr": "1.0.1",
+ "fs-minipass": "1.2.5",
+ "minipass": "2.2.4",
+ "minizlib": "1.1.0",
+ "mkdirp": "0.5.1",
+ "safe-buffer": "5.1.1",
+ "yallist": "3.0.2"
+ }
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "wide-align": {
+ "version": "1.1.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "string-width": "1.0.2"
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true
+ },
+ "yallist": {
+ "version": "3.0.2",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "fstream": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz",
+ "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "inherits": "2.0.3",
+ "mkdirp": "0.5.1",
+ "rimraf": "2.2.8"
+ },
+ "dependencies": {
+ "graceful-fs": {
+ "version": "4.1.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "dev": true
+ }
+ }
+ },
+ "fstream-ignore": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz",
+ "integrity": "sha1-nDHa40dnAY/h0kmyTa2mfQktoQU=",
+ "dev": true,
+ "requires": {
+ "fstream": "1.0.11",
+ "inherits": "2.0.3",
+ "minimatch": "3.0.4"
+ }
+ },
+ "function-bind": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.0.tgz",
+ "integrity": "sha1-FhdnFMgBeY5Ojyz391KUZ7tKV3E=",
+ "dev": true
+ },
+ "gaze": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz",
+ "integrity": "sha1-QLcJU30k0dRXZ9takIaJ3+aaxE8=",
+ "dev": true,
+ "requires": {
+ "globule": "0.1.0"
+ }
+ },
+ "generate-function": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz",
+ "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=",
+ "dev": true
+ },
+ "generate-object-property": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz",
+ "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=",
+ "dev": true,
+ "requires": {
+ "is-property": "1.0.2"
+ }
+ },
+ "get-caller-file": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz",
+ "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=",
+ "dev": true
+ },
+ "get-proxy": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-1.1.0.tgz",
+ "integrity": "sha1-iUhUSRvFkbDxR9euVw9cZ4tyVus=",
+ "dev": true,
+ "requires": {
+ "rc": "1.2.1"
+ }
+ },
+ "get-stdin": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
+ "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
+ "dev": true
+ },
+ "getobject": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz",
+ "integrity": "sha1-BHpEl4n6Fg0Bj1SG7ZEyC27HiFw=",
+ "dev": true
+ },
+ "getpass": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "1.0.0"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+ "dev": true
+ }
+ }
+ },
+ "gifsicle": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/gifsicle/-/gifsicle-3.0.4.tgz",
+ "integrity": "sha1-9Fy17RAWW2ZdySng6TKLbIId+js=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "bin-build": "2.2.0",
+ "bin-wrapper": "3.0.2",
+ "logalot": "2.1.0"
+ }
+ },
+ "glob": {
+ "version": "3.1.21",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz",
+ "integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "1.2.3",
+ "inherits": "1.0.2",
+ "minimatch": "0.2.14"
+ },
+ "dependencies": {
+ "inherits": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz",
+ "integrity": "sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=",
+ "dev": true
+ },
+ "minimatch": {
+ "version": "0.2.14",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz",
+ "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=",
+ "dev": true,
+ "requires": {
+ "lru-cache": "2.7.3",
+ "sigmund": "1.0.1"
+ }
+ }
+ }
+ },
+ "glob-base": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
+ "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
+ "dev": true,
+ "requires": {
+ "glob-parent": "2.0.0",
+ "is-glob": "2.0.1"
+ },
+ "dependencies": {
+ "glob-parent": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
+ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
+ "dev": true,
+ "requires": {
+ "is-glob": "2.0.1"
+ }
+ },
+ "is-extglob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
+ "dev": true
+ },
+ "is-glob": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "1.0.0"
+ }
+ }
+ }
+ },
+ "glob-parent": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
+ "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
+ "dev": true,
+ "requires": {
+ "is-glob": "3.1.0",
+ "path-dirname": "1.0.2"
+ }
+ },
+ "glob-stream": {
+ "version": "5.3.5",
+ "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-5.3.5.tgz",
+ "integrity": "sha1-pVZlqajM3EGRWofHAeMtTgFvrSI=",
+ "dev": true,
+ "requires": {
+ "extend": "3.0.1",
+ "glob": "5.0.15",
+ "glob-parent": "3.1.0",
+ "micromatch": "2.3.11",
+ "ordered-read-streams": "0.3.0",
+ "through2": "0.6.5",
+ "to-absolute-glob": "0.1.1",
+ "unique-stream": "2.2.1"
+ },
+ "dependencies": {
+ "glob": {
+ "version": "5.0.15",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
+ "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
+ "dev": true,
+ "requires": {
+ "inflight": "1.0.6",
+ "inherits": "2.0.3",
+ "minimatch": "3.0.4",
+ "once": "1.4.0",
+ "path-is-absolute": "1.0.1"
+ }
+ }
+ }
+ },
+ "globals": {
+ "version": "9.17.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-9.17.0.tgz",
+ "integrity": "sha1-DAymltm5u2lNLlRwvTd3fKrVAoY=",
+ "dev": true
+ },
+ "globule": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz",
+ "integrity": "sha1-2cjt3h2nnRJaFRt5UzuXhnY0auU=",
+ "dev": true,
+ "requires": {
+ "glob": "3.1.21",
+ "lodash": "1.0.2",
+ "minimatch": "0.2.14"
+ },
+ "dependencies": {
+ "lodash": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz",
+ "integrity": "sha1-j1dWDIO1n8JwvT1WG2kAQ0MOJVE=",
+ "dev": true
+ },
+ "minimatch": {
+ "version": "0.2.14",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz",
+ "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=",
+ "dev": true,
+ "requires": {
+ "lru-cache": "2.7.3",
+ "sigmund": "1.0.1"
+ }
+ }
+ }
+ },
+ "glogg": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.0.tgz",
+ "integrity": "sha1-f+DxmfV6yQbPUS/urY+Q7kooT8U=",
+ "dev": true,
+ "requires": {
+ "sparkles": "1.0.0"
+ }
+ },
+ "google-cdn": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/google-cdn/-/google-cdn-0.7.0.tgz",
+ "integrity": "sha1-sVIvF5FFWymfehpVakkg6p0GCfk=",
+ "dev": true,
+ "requires": {
+ "async": "0.9.2",
+ "bower": "1.3.12",
+ "cdnjs-cdn-data": "0.1.2",
+ "debug": "1.0.4",
+ "google-cdn-data": "0.1.25",
+ "regexp-quote": "0.0.0",
+ "semver": "2.3.2"
+ },
+ "dependencies": {
+ "abbrev": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz",
+ "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=",
+ "dev": true
+ },
+ "ansi-regex": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz",
+ "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz",
+ "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=",
+ "dev": true
+ },
+ "asn1": {
+ "version": "0.1.11",
+ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz",
+ "integrity": "sha1-VZvhg3bQik7E2+gId9J4GGObLfc=",
+ "dev": true,
+ "optional": true
+ },
+ "assert-plus": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz",
+ "integrity": "sha1-7nQAlBMALYTOxyGcasgRgS5yMWA=",
+ "dev": true,
+ "optional": true
+ },
+ "async": {
+ "version": "0.9.2",
+ "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
+ "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=",
+ "dev": true
+ },
+ "aws-sign2": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz",
+ "integrity": "sha1-xXED96F/wDfwLXwuZLYC6iI/fWM=",
+ "dev": true,
+ "optional": true
+ },
+ "bl": {
+ "version": "0.9.5",
+ "resolved": "https://registry.npmjs.org/bl/-/bl-0.9.5.tgz",
+ "integrity": "sha1-wGt5evCF6gC8Unr8jvzxHeIjIFQ=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "1.0.34"
+ }
+ },
+ "boom": {
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/boom/-/boom-0.4.2.tgz",
+ "integrity": "sha1-emNune1O/O+xnO9JR6PGffrukRs=",
+ "dev": true,
+ "requires": {
+ "hoek": "0.9.1"
+ }
+ },
+ "bower": {
+ "version": "1.3.12",
+ "resolved": "https://registry.npmjs.org/bower/-/bower-1.3.12.tgz",
+ "integrity": "sha1-N94O2zkEuvkK7hM4Sho3mgXuIUw=",
+ "dev": true,
+ "requires": {
+ "abbrev": "1.0.9",
+ "archy": "0.0.2",
+ "bower-config": "0.5.2",
+ "bower-endpoint-parser": "0.2.2",
+ "bower-json": "0.4.0",
+ "bower-logger": "0.2.2",
+ "bower-registry-client": "0.2.4",
+ "cardinal": "0.4.0",
+ "chalk": "0.5.0",
+ "chmodr": "0.1.0",
+ "decompress-zip": "0.0.8",
+ "fstream": "1.0.11",
+ "fstream-ignore": "1.0.5",
+ "glob": "4.0.6",
+ "graceful-fs": "3.0.11",
+ "handlebars": "2.0.0",
+ "inquirer": "0.7.1",
+ "insight": "0.4.3",
+ "is-root": "1.0.0",
+ "junk": "1.0.3",
+ "lockfile": "1.0.3",
+ "lru-cache": "2.5.2",
+ "mkdirp": "0.5.0",
+ "mout": "0.9.1",
+ "nopt": "3.0.6",
+ "opn": "1.0.2",
+ "osenv": "0.1.0",
+ "p-throttler": "0.1.0",
+ "promptly": "0.2.0",
+ "q": "1.0.1",
+ "request": "2.42.0",
+ "request-progress": "0.3.0",
+ "retry": "0.6.0",
+ "rimraf": "2.2.8",
+ "semver": "2.3.2",
+ "shell-quote": "1.4.3",
+ "stringify-object": "1.0.1",
+ "tar-fs": "0.5.2",
+ "tmp": "0.0.23",
+ "update-notifier": "0.2.0",
+ "which": "1.0.9"
+ }
+ },
+ "caseless": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.6.0.tgz",
+ "integrity": "sha1-gWfBq4OX+1u5X5bSjlqBxQ8kesQ=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.0.tgz",
+ "integrity": "sha1-N138y8IcCmCothvFt489wqVcIS8=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "1.1.0",
+ "escape-string-regexp": "1.0.5",
+ "has-ansi": "0.1.0",
+ "strip-ansi": "0.3.0",
+ "supports-color": "0.2.0"
+ }
+ },
+ "combined-stream": {
+ "version": "0.0.7",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz",
+ "integrity": "sha1-ATfmV7qlp1QcV6w3rF/AfXO03B8=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "delayed-stream": "0.0.5"
+ }
+ },
+ "cryptiles": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz",
+ "integrity": "sha1-7ZH/HxetE9N0gohZT4pIoNJvMlw=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "boom": "0.4.2"
+ }
+ },
+ "debug": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-1.0.4.tgz",
+ "integrity": "sha1-W5wla9VLbsAigxdvqKDt5tFUy/g=",
+ "dev": true,
+ "requires": {
+ "ms": "0.6.2"
+ }
+ },
+ "delayed-stream": {
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz",
+ "integrity": "sha1-1LH0OpPoKW3+AmlPRoC8N6MTxz8=",
+ "dev": true,
+ "optional": true
+ },
+ "forever-agent": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz",
+ "integrity": "sha1-bQ4JxJIflKJ/Y9O0nF/v8epMUTA=",
+ "dev": true
+ },
+ "form-data": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-0.1.4.tgz",
+ "integrity": "sha1-kavXiKupcCsaq/qLwBAxoqyeOxI=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "async": "0.9.2",
+ "combined-stream": "0.0.7",
+ "mime": "1.2.11"
+ }
+ },
+ "glob": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-4.0.6.tgz",
+ "integrity": "sha1-aVxQvdTi+1xdNwsJHziNNwfikac=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "3.0.11",
+ "inherits": "2.0.3",
+ "minimatch": "1.0.0",
+ "once": "1.4.0"
+ }
+ },
+ "graceful-fs": {
+ "version": "3.0.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz",
+ "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=",
+ "dev": true,
+ "requires": {
+ "natives": "1.1.0"
+ }
+ },
+ "has-ansi": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz",
+ "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "0.2.1"
+ }
+ },
+ "hawk": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/hawk/-/hawk-1.1.1.tgz",
+ "integrity": "sha1-h81JH5tG5OKurKM1QWdmiF0tHtk=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "boom": "0.4.2",
+ "cryptiles": "0.2.2",
+ "hoek": "0.9.1",
+ "sntp": "0.2.4"
+ }
+ },
+ "hoek": {
+ "version": "0.9.1",
+ "resolved": "https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz",
+ "integrity": "sha1-PTIkYrrfB3Fup+uFuviAec3c5QU=",
+ "dev": true
+ },
+ "http-signature": {
+ "version": "0.10.1",
+ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-0.10.1.tgz",
+ "integrity": "sha1-T72sEyVZqoMjEh5UB3nAoBKyfmY=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "asn1": "0.1.11",
+ "assert-plus": "0.1.5",
+ "ctype": "0.5.3"
+ }
+ },
+ "lru-cache": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.2.tgz",
+ "integrity": "sha1-H92tk4quEmPOE4aAvhs/WRwKtBw=",
+ "dev": true
+ },
+ "mime": {
+ "version": "1.2.11",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz",
+ "integrity": "sha1-WCA+7Ybjpe8XrtK32evUfwpg3RA=",
+ "dev": true,
+ "optional": true
+ },
+ "mime-types": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-1.0.2.tgz",
+ "integrity": "sha1-mVrhOSq4r/y/yyZB3QVOlDwNXc4=",
+ "dev": true
+ },
+ "minimatch": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-1.0.0.tgz",
+ "integrity": "sha1-4N0hILSeG3JM6NcUxSCCKpQ4V20=",
+ "dev": true,
+ "requires": {
+ "lru-cache": "2.5.2",
+ "sigmund": "1.0.1"
+ }
+ },
+ "mkdirp": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz",
+ "integrity": "sha1-HXMHam35hs2TROFecfzAWkyavxI=",
+ "dev": true,
+ "requires": {
+ "minimist": "0.0.8"
+ }
+ },
+ "ms": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-0.6.2.tgz",
+ "integrity": "sha1-2JwhJMb9wTU9Zai3e/GqxLGTcIw=",
+ "dev": true
+ },
+ "nopt": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
+ "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
+ "dev": true,
+ "requires": {
+ "abbrev": "1.0.9"
+ }
+ },
+ "oauth-sign": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.4.0.tgz",
+ "integrity": "sha1-8ilW8x6nFRqCHl8vsywRPK2Ln2k=",
+ "dev": true,
+ "optional": true
+ },
+ "q": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/q/-/q-1.0.1.tgz",
+ "integrity": "sha1-EYcq7t7okmgRCxCnGESP+xARKhQ=",
+ "dev": true
+ },
+ "qs": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-1.2.2.tgz",
+ "integrity": "sha1-GbV/8k3CqZzh+L32r82ln472H4g=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "1.0.34",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "0.0.1",
+ "string_decoder": "0.10.31"
+ }
+ },
+ "request": {
+ "version": "2.42.0",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.42.0.tgz",
+ "integrity": "sha1-VyvQFIk4VkBArHqxSLlkI6BjMEo=",
+ "dev": true,
+ "requires": {
+ "aws-sign2": "0.5.0",
+ "bl": "0.9.5",
+ "caseless": "0.6.0",
+ "forever-agent": "0.5.2",
+ "form-data": "0.1.4",
+ "hawk": "1.1.1",
+ "http-signature": "0.10.1",
+ "json-stringify-safe": "5.0.1",
+ "mime-types": "1.0.2",
+ "node-uuid": "1.4.8",
+ "oauth-sign": "0.4.0",
+ "qs": "1.2.2",
+ "stringstream": "0.0.5",
+ "tough-cookie": "2.3.2",
+ "tunnel-agent": "0.4.3"
+ }
+ },
+ "semver": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-2.3.2.tgz",
+ "integrity": "sha1-uYSPJdbPNjMwc+ye+IVtQvEjPlI=",
+ "dev": true
+ },
+ "sntp": {
+ "version": "0.2.4",
+ "resolved": "https://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz",
+ "integrity": "sha1-+4hfGLDzqtGJ+CSGJTa87ux1CQA=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "hoek": "0.9.1"
+ }
+ },
+ "strip-ansi": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz",
+ "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "0.2.1"
+ }
+ },
+ "supports-color": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz",
+ "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=",
+ "dev": true
+ }
+ }
+ },
+ "google-cdn-data": {
+ "version": "0.1.25",
+ "resolved": "https://registry.npmjs.org/google-cdn-data/-/google-cdn-data-0.1.25.tgz",
+ "integrity": "sha1-nDwxSasYp8LV7V8PC07ovEWZK3E=",
+ "dev": true
+ },
+ "got": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/got/-/got-5.7.1.tgz",
+ "integrity": "sha1-X4FjWmHkplifGAVp6k44FoClHzU=",
+ "dev": true,
+ "requires": {
+ "create-error-class": "3.0.2",
+ "duplexer2": "0.1.4",
+ "is-redirect": "1.0.0",
+ "is-retry-allowed": "1.1.0",
+ "is-stream": "1.1.0",
+ "lowercase-keys": "1.0.0",
+ "node-status-codes": "1.0.0",
+ "object-assign": "4.1.1",
+ "parse-json": "2.2.0",
+ "pinkie-promise": "2.0.1",
+ "read-all-stream": "3.1.0",
+ "readable-stream": "2.2.10",
+ "timed-out": "3.1.3",
+ "unzip-response": "1.0.2",
+ "url-parse-lax": "1.0.0"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.2.10",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.10.tgz",
+ "integrity": "sha512-HQEnnoV404e0EtwB9yNiuk2tJ+egeVC8Y9QBAxzDg8DBJt4BzRp+yQuIb/t3FIWkSTmIi+sgx7yVv/ZM0GNoqw==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "1.0.7",
+ "safe-buffer": "5.1.0",
+ "string_decoder": "1.0.1",
+ "util-deprecate": "1.0.2"
+ }
+ },
+ "string_decoder": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz",
+ "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.0"
+ }
+ }
+ }
+ },
+ "graceful-fs": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz",
+ "integrity": "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=",
+ "dev": true
+ },
+ "graceful-readlink": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz",
+ "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=",
+ "dev": true
+ },
+ "growly": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz",
+ "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=",
+ "dev": true
+ },
+ "grunt": {
+ "version": "0.4.5",
+ "resolved": "https://registry.npmjs.org/grunt/-/grunt-0.4.5.tgz",
+ "integrity": "sha1-VpN81RlDJK3/bSB2MYMqnWuk5/A=",
+ "dev": true,
+ "requires": {
+ "async": "0.1.22",
+ "coffee-script": "1.3.3",
+ "colors": "0.6.2",
+ "dateformat": "1.0.2-1.2.3",
+ "eventemitter2": "0.4.14",
+ "exit": "0.1.2",
+ "findup-sync": "0.1.3",
+ "getobject": "0.1.0",
+ "glob": "3.1.21",
+ "grunt-legacy-log": "0.1.3",
+ "grunt-legacy-util": "0.2.0",
+ "hooker": "0.2.3",
+ "iconv-lite": "0.2.11",
+ "js-yaml": "2.0.5",
+ "lodash": "0.9.2",
+ "minimatch": "0.2.14",
+ "nopt": "1.0.10",
+ "rimraf": "2.2.8",
+ "underscore.string": "2.2.1",
+ "which": "1.0.9"
+ },
+ "dependencies": {
+ "argparse": {
+ "version": "0.1.16",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-0.1.16.tgz",
+ "integrity": "sha1-z9AeD7uj1srtBJ+9dY1A9lGW9Xw=",
+ "dev": true,
+ "requires": {
+ "underscore": "1.7.0",
+ "underscore.string": "2.4.0"
+ },
+ "dependencies": {
+ "underscore.string": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.4.0.tgz",
+ "integrity": "sha1-jN2PusTi0uoefi6Al8QvRCKA+Fs=",
+ "dev": true
+ }
+ }
+ },
+ "colors": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz",
+ "integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=",
+ "dev": true
+ },
+ "esprima": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz",
+ "integrity": "sha1-n1V+CPw7TSbs6d00+Pv0drYlha0=",
+ "dev": true
+ },
+ "js-yaml": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz",
+ "integrity": "sha1-olrmUJmZ6X3yeMZxnaEb0Gh3Q6g=",
+ "dev": true,
+ "requires": {
+ "argparse": "0.1.16",
+ "esprima": "1.0.4"
+ }
+ },
+ "lodash": {
+ "version": "0.9.2",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz",
+ "integrity": "sha1-jzSZxSRdNG1oLlsNO0B2fgnxqSw=",
+ "dev": true
+ },
+ "minimatch": {
+ "version": "0.2.14",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz",
+ "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=",
+ "dev": true,
+ "requires": {
+ "lru-cache": "2.7.3",
+ "sigmund": "1.0.1"
+ }
+ }
+ }
+ },
+ "grunt-angular-templates": {
+ "version": "0.5.9",
+ "resolved": "https://registry.npmjs.org/grunt-angular-templates/-/grunt-angular-templates-0.5.9.tgz",
+ "integrity": "sha1-KJm+INlDitGbDQqAaqjseiOyWyo=",
+ "dev": true,
+ "requires": {
+ "html-minifier": "0.6.9"
+ }
+ },
+ "grunt-concurrent": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/grunt-concurrent/-/grunt-concurrent-1.0.1.tgz",
+ "integrity": "sha1-1uL7HDzg2dB0y/zXhTfk5Ae/L7E=",
+ "dev": true,
+ "requires": {
+ "async": "0.9.2",
+ "pad-stdio": "1.0.0"
+ },
+ "dependencies": {
+ "async": {
+ "version": "0.9.2",
+ "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
+ "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=",
+ "dev": true
+ }
+ }
+ },
+ "grunt-contrib-clean": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/grunt-contrib-clean/-/grunt-contrib-clean-0.6.0.tgz",
+ "integrity": "sha1-9TLbpLghJnTHwBPhRr2mY4uQSPY=",
+ "dev": true,
+ "requires": {
+ "rimraf": "2.2.8"
+ }
+ },
+ "grunt-contrib-concat": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/grunt-contrib-concat/-/grunt-contrib-concat-0.5.1.tgz",
+ "integrity": "sha1-lTxu/f39LBB6uchQd/LUsk0xzUk=",
+ "dev": true,
+ "requires": {
+ "chalk": "0.5.1",
+ "source-map": "0.3.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz",
+ "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz",
+ "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz",
+ "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "1.1.0",
+ "escape-string-regexp": "1.0.5",
+ "has-ansi": "0.1.0",
+ "strip-ansi": "0.3.0",
+ "supports-color": "0.2.0"
+ }
+ },
+ "has-ansi": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz",
+ "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "0.2.1"
+ }
+ },
+ "source-map": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.3.0.tgz",
+ "integrity": "sha1-hYb7mloAXltQHiHNGLbyG0V60fk=",
+ "dev": true,
+ "requires": {
+ "amdefine": "1.0.1"
+ }
+ },
+ "strip-ansi": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz",
+ "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "0.2.1"
+ }
+ },
+ "supports-color": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz",
+ "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=",
+ "dev": true
+ }
+ }
+ },
+ "grunt-contrib-connect": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/grunt-contrib-connect/-/grunt-contrib-connect-0.9.0.tgz",
+ "integrity": "sha1-3tpaW9h1pbov3Ut3rn0GidXe5Mg=",
+ "dev": true,
+ "requires": {
+ "async": "0.9.2",
+ "connect": "2.30.2",
+ "connect-livereload": "0.5.4",
+ "opn": "1.0.2",
+ "portscanner": "1.2.0"
+ },
+ "dependencies": {
+ "async": {
+ "version": "0.9.2",
+ "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
+ "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=",
+ "dev": true
+ }
+ }
+ },
+ "grunt-contrib-copy": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-0.7.0.tgz",
+ "integrity": "sha1-xt5I4N9zFEmu2w8InAldvCpVBQ8=",
+ "dev": true,
+ "requires": {
+ "chalk": "0.5.1"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz",
+ "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz",
+ "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz",
+ "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "1.1.0",
+ "escape-string-regexp": "1.0.5",
+ "has-ansi": "0.1.0",
+ "strip-ansi": "0.3.0",
+ "supports-color": "0.2.0"
+ }
+ },
+ "has-ansi": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz",
+ "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "0.2.1"
+ }
+ },
+ "strip-ansi": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz",
+ "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "0.2.1"
+ }
+ },
+ "supports-color": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz",
+ "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=",
+ "dev": true
+ }
+ }
+ },
+ "grunt-contrib-cssmin": {
+ "version": "0.12.3",
+ "resolved": "https://registry.npmjs.org/grunt-contrib-cssmin/-/grunt-contrib-cssmin-0.12.3.tgz",
+ "integrity": "sha1-QVdZYJb7dlb8RktMx7B0beHzkBQ=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "clean-css": "3.4.26",
+ "maxmin": "1.1.0"
+ },
+ "dependencies": {
+ "clean-css": {
+ "version": "3.4.26",
+ "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.26.tgz",
+ "integrity": "sha1-VTI7NE/zvO5oSi6sgck9+Ppz3us=",
+ "dev": true,
+ "requires": {
+ "commander": "2.8.1",
+ "source-map": "0.4.4"
+ }
+ },
+ "commander": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz",
+ "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=",
+ "dev": true,
+ "requires": {
+ "graceful-readlink": "1.0.1"
+ }
+ }
+ }
+ },
+ "grunt-contrib-htmlmin": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/grunt-contrib-htmlmin/-/grunt-contrib-htmlmin-0.4.0.tgz",
+ "integrity": "sha1-y1X8owT0AbAF4hPntxizNjnL5PE=",
+ "dev": true,
+ "requires": {
+ "chalk": "0.5.1",
+ "html-minifier": "0.7.2",
+ "pretty-bytes": "1.0.4"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz",
+ "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz",
+ "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz",
+ "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "1.1.0",
+ "escape-string-regexp": "1.0.5",
+ "has-ansi": "0.1.0",
+ "strip-ansi": "0.3.0",
+ "supports-color": "0.2.0"
+ }
+ },
+ "change-case": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/change-case/-/change-case-2.3.1.tgz",
+ "integrity": "sha1-LE/ePwY7tB0AzWjg1aCdthy+iU8=",
+ "dev": true,
+ "requires": {
+ "camel-case": "1.2.2",
+ "constant-case": "1.1.2",
+ "dot-case": "1.1.2",
+ "is-lower-case": "1.1.3",
+ "is-upper-case": "1.1.2",
+ "lower-case": "1.1.4",
+ "lower-case-first": "1.0.2",
+ "param-case": "1.1.2",
+ "pascal-case": "1.1.2",
+ "path-case": "1.1.2",
+ "sentence-case": "1.1.3",
+ "snake-case": "1.1.2",
+ "swap-case": "1.1.2",
+ "title-case": "1.1.2",
+ "upper-case": "1.1.3",
+ "upper-case-first": "1.1.2"
+ }
+ },
+ "clean-css": {
+ "version": "3.1.9",
+ "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-3.1.9.tgz",
+ "integrity": "sha1-29BaFIvklDuzfOBnnmdsvJ9YAmY=",
+ "dev": true,
+ "requires": {
+ "commander": "2.6.0",
+ "source-map": "0.1.43"
+ }
+ },
+ "commander": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.6.0.tgz",
+ "integrity": "sha1-nfflL7Kgyw+4kFjugMMQQiXzfh0=",
+ "dev": true
+ },
+ "concat-stream": {
+ "version": "1.4.10",
+ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.4.10.tgz",
+ "integrity": "sha1-rMO79WAsuMyYDGrIQPp9hgPj7zY=",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "readable-stream": "1.1.14",
+ "typedarray": "0.0.6"
+ }
+ },
+ "has-ansi": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz",
+ "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "0.2.1"
+ }
+ },
+ "html-minifier": {
+ "version": "0.7.2",
+ "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-0.7.2.tgz",
+ "integrity": "sha1-K3lZsQUaSB5xzXxuWaZCcq+JXP0=",
+ "dev": true,
+ "requires": {
+ "change-case": "2.3.1",
+ "clean-css": "3.1.9",
+ "cli": "0.6.6",
+ "concat-stream": "1.4.10",
+ "relateurl": "0.2.7",
+ "uglify-js": "2.4.24"
+ }
+ },
+ "source-map": {
+ "version": "0.1.43",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
+ "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
+ "dev": true,
+ "requires": {
+ "amdefine": "1.0.1"
+ }
+ },
+ "strip-ansi": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz",
+ "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "0.2.1"
+ }
+ },
+ "supports-color": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz",
+ "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=",
+ "dev": true
+ }
+ }
+ },
+ "grunt-contrib-imagemin": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/grunt-contrib-imagemin/-/grunt-contrib-imagemin-1.0.1.tgz",
+ "integrity": "sha1-5Ho1YTN29MqpwfkERlA8rhyUTXk=",
+ "dev": true,
+ "requires": {
+ "async": "1.5.2",
+ "chalk": "1.1.3",
+ "gulp-rename": "1.2.2",
+ "imagemin": "4.0.0",
+ "pretty-bytes": "3.0.1"
+ },
+ "dependencies": {
+ "async": {
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+ "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
+ "dev": true
+ },
+ "pretty-bytes": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-3.0.1.tgz",
+ "integrity": "sha1-J9AAjXeAY6C0gRuzXHnxvV1fvM8=",
+ "dev": true,
+ "requires": {
+ "number-is-nan": "1.0.1"
+ }
+ }
+ }
+ },
+ "grunt-contrib-jshint": {
+ "version": "0.11.3",
+ "resolved": "https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.11.3.tgz",
+ "integrity": "sha1-gDaBgdzNVRGG5bg4XAEc7iTWQKA=",
+ "dev": true,
+ "requires": {
+ "hooker": "0.2.3",
+ "jshint": "2.8.0"
+ }
+ },
+ "grunt-contrib-less": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/grunt-contrib-less/-/grunt-contrib-less-1.4.1.tgz",
+ "integrity": "sha1-O73sC3XRLOqlXWKUNiXAsIYc328=",
+ "dev": true,
+ "requires": {
+ "async": "2.4.1",
+ "chalk": "1.1.3",
+ "less": "2.7.2",
+ "lodash": "4.17.4"
+ },
+ "dependencies": {
+ "async": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/async/-/async-2.4.1.tgz",
+ "integrity": "sha1-YqVrJ5yYoR0JhwlqAcw+6463u9c=",
+ "dev": true,
+ "requires": {
+ "lodash": "4.17.4"
+ }
+ }
+ }
+ },
+ "grunt-contrib-uglify": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.7.0.tgz",
+ "integrity": "sha1-ed3oGmLOxv+jW0ejKDNwZ0T454c=",
+ "dev": true,
+ "requires": {
+ "chalk": "0.5.1",
+ "lodash": "2.4.2",
+ "maxmin": "1.1.0",
+ "uglify-js": "2.4.24",
+ "uri-path": "0.0.2"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz",
+ "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz",
+ "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz",
+ "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "1.1.0",
+ "escape-string-regexp": "1.0.5",
+ "has-ansi": "0.1.0",
+ "strip-ansi": "0.3.0",
+ "supports-color": "0.2.0"
+ }
+ },
+ "has-ansi": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz",
+ "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "0.2.1"
+ }
+ },
+ "lodash": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz",
+ "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz",
+ "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "0.2.1"
+ }
+ },
+ "supports-color": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz",
+ "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=",
+ "dev": true
+ }
+ }
+ },
+ "grunt-contrib-watch": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/grunt-contrib-watch/-/grunt-contrib-watch-0.6.1.tgz",
+ "integrity": "sha1-ZP3LolpjX1tNobbOb5DaCutuPxU=",
+ "dev": true,
+ "requires": {
+ "async": "0.2.10",
+ "gaze": "0.5.2",
+ "lodash": "2.4.2",
+ "tiny-lr-fork": "0.0.5"
+ },
+ "dependencies": {
+ "async": {
+ "version": "0.2.10",
+ "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
+ "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=",
+ "dev": true
+ },
+ "lodash": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz",
+ "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=",
+ "dev": true
+ }
+ }
+ },
+ "grunt-filerev": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/grunt-filerev/-/grunt-filerev-2.3.1.tgz",
+ "integrity": "sha1-KZAhDwtantxecZiYf9HAKcbV9N8=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "convert-source-map": "1.5.0",
+ "each-async": "0.1.3"
+ },
+ "dependencies": {
+ "each-async": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/each-async/-/each-async-0.1.3.tgz",
+ "integrity": "sha1-tDYCWwjaL4ZggCVRnjCWdj3t/KM=",
+ "dev": true
+ }
+ }
+ },
+ "grunt-google-cdn": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/grunt-google-cdn/-/grunt-google-cdn-0.4.3.tgz",
+ "integrity": "sha1-i67ZjiNt5XweNNLvHc2q4RfHvxg=",
+ "dev": true,
+ "requires": {
+ "bower": "1.8.0",
+ "chalk": "0.5.1",
+ "google-cdn": "0.7.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz",
+ "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz",
+ "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz",
+ "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "1.1.0",
+ "escape-string-regexp": "1.0.5",
+ "has-ansi": "0.1.0",
+ "strip-ansi": "0.3.0",
+ "supports-color": "0.2.0"
+ }
+ },
+ "has-ansi": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz",
+ "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "0.2.1"
+ }
+ },
+ "strip-ansi": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz",
+ "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "0.2.1"
+ }
+ },
+ "supports-color": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz",
+ "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=",
+ "dev": true
+ }
+ }
+ },
+ "grunt-injector": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/grunt-injector/-/grunt-injector-1.1.0.tgz",
+ "integrity": "sha1-WmERPch5OT10cXh0ccbpmFj4XR0=",
+ "dev": true,
+ "requires": {
+ "lodash": "4.15.0",
+ "wiredep": "4.0.0"
+ },
+ "dependencies": {
+ "lodash": {
+ "version": "4.15.0",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.15.0.tgz",
+ "integrity": "sha1-MWI5HY8BQKoiz49rPDTWt/Y9Oqk=",
+ "dev": true
+ }
+ }
+ },
+ "grunt-jscs": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/grunt-jscs/-/grunt-jscs-1.8.0.tgz",
+ "integrity": "sha1-3pbfnN1zfuFcErMbtGo72R2UiYE=",
+ "dev": true,
+ "requires": {
+ "hooker": "0.2.3",
+ "jscs": "1.13.1",
+ "lodash": "2.4.2",
+ "vow": "0.4.16"
+ },
+ "dependencies": {
+ "lodash": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz",
+ "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=",
+ "dev": true
+ }
+ }
+ },
+ "grunt-legacy-log": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-0.1.3.tgz",
+ "integrity": "sha1-7ClCboAwIa9ZAp+H0vnNczWgVTE=",
+ "dev": true,
+ "requires": {
+ "colors": "0.6.2",
+ "grunt-legacy-log-utils": "0.1.1",
+ "hooker": "0.2.3",
+ "lodash": "2.4.2",
+ "underscore.string": "2.3.3"
+ },
+ "dependencies": {
+ "colors": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz",
+ "integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=",
+ "dev": true
+ },
+ "lodash": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz",
+ "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=",
+ "dev": true
+ },
+ "underscore.string": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz",
+ "integrity": "sha1-ccCL9rQosRM/N+ePo6Icgvcymw0=",
+ "dev": true
+ }
+ }
+ },
+ "grunt-legacy-log-utils": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-0.1.1.tgz",
+ "integrity": "sha1-wHBrndkGThFvNvI/5OawSGcsD34=",
+ "dev": true,
+ "requires": {
+ "colors": "0.6.2",
+ "lodash": "2.4.2",
+ "underscore.string": "2.3.3"
+ },
+ "dependencies": {
+ "colors": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz",
+ "integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=",
+ "dev": true
+ },
+ "lodash": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz",
+ "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=",
+ "dev": true
+ },
+ "underscore.string": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz",
+ "integrity": "sha1-ccCL9rQosRM/N+ePo6Icgvcymw0=",
+ "dev": true
+ }
+ }
+ },
+ "grunt-legacy-util": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-0.2.0.tgz",
+ "integrity": "sha1-kzJIhNv343qf98Am3/RR2UqeVUs=",
+ "dev": true,
+ "requires": {
+ "async": "0.1.22",
+ "exit": "0.1.2",
+ "getobject": "0.1.0",
+ "hooker": "0.2.3",
+ "lodash": "0.9.2",
+ "underscore.string": "2.2.1",
+ "which": "1.0.9"
+ },
+ "dependencies": {
+ "lodash": {
+ "version": "0.9.2",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz",
+ "integrity": "sha1-jzSZxSRdNG1oLlsNO0B2fgnxqSw=",
+ "dev": true
+ }
+ }
+ },
+ "grunt-mkdir": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/grunt-mkdir/-/grunt-mkdir-1.0.0.tgz",
+ "integrity": "sha1-c+GiasJKCFljY/TdlUsNMkheWOk="
+ },
+ "grunt-newer": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/grunt-newer/-/grunt-newer-1.3.0.tgz",
+ "integrity": "sha1-g8y3od2ny9irI7BZAk6+YUrS80I=",
+ "dev": true,
+ "requires": {
+ "async": "1.5.2",
+ "rimraf": "2.6.1"
+ },
+ "dependencies": {
+ "async": {
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+ "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
+ "dev": true
+ },
+ "glob": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
+ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "1.0.0",
+ "inflight": "1.0.6",
+ "inherits": "2.0.3",
+ "minimatch": "3.0.4",
+ "once": "1.4.0",
+ "path-is-absolute": "1.0.1"
+ }
+ },
+ "rimraf": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz",
+ "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=",
+ "dev": true,
+ "requires": {
+ "glob": "7.1.2"
+ }
+ }
+ }
+ },
+ "grunt-ng-annotate": {
+ "version": "0.9.2",
+ "resolved": "https://registry.npmjs.org/grunt-ng-annotate/-/grunt-ng-annotate-0.9.2.tgz",
+ "integrity": "sha1-cu2ORds4cVrbNbj5YicV9JcV994=",
+ "dev": true,
+ "requires": {
+ "lodash": "2.4.2",
+ "ng-annotate": "0.15.4"
+ },
+ "dependencies": {
+ "lodash": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz",
+ "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=",
+ "dev": true
+ }
+ }
+ },
+ "grunt-ng-constant": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/grunt-ng-constant/-/grunt-ng-constant-2.0.1.tgz",
+ "integrity": "sha1-CGHEOYsvwYdU/3M+WMmk9M/bV+k=",
+ "dev": true,
+ "requires": {
+ "jju": "1.3.0",
+ "lodash": "4.17.4",
+ "merge": "1.2.0",
+ "tosource": "1.0.0"
+ }
+ },
+ "grunt-postcss": {
+ "version": "0.5.5",
+ "resolved": "https://registry.npmjs.org/grunt-postcss/-/grunt-postcss-0.5.5.tgz",
+ "integrity": "sha1-GlXJ394ihAIn7goHRksBaXWeXOY=",
+ "dev": true,
+ "requires": {
+ "bluebird": "2.11.0",
+ "chalk": "1.1.3",
+ "diff": "1.4.0",
+ "postcss": "4.1.16"
+ }
+ },
+ "grunt-preprocess": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/grunt-preprocess/-/grunt-preprocess-5.1.0.tgz",
+ "integrity": "sha1-XJUpN14wQxsMSyYEenk+OCFyII8=",
+ "requires": {
+ "lodash": "4.17.4",
+ "preprocess": "3.1.0"
+ }
+ },
+ "grunt-svgmin": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/grunt-svgmin/-/grunt-svgmin-2.0.1.tgz",
+ "integrity": "sha1-HXl24hnKT2v7si04Pdq1zj540/8=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "each-async": "1.1.1",
+ "log-symbols": "1.0.2",
+ "pretty-bytes": "1.0.4",
+ "svgo": "0.5.6"
+ },
+ "dependencies": {
+ "esprima": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.2.0.tgz",
+ "integrity": "sha1-QpLB1o5Bc9gV+iKQ3Hr8ltgfzYM=",
+ "dev": true
+ },
+ "js-yaml": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.3.1.tgz",
+ "integrity": "sha1-yhrNNCPsJ10SFAp7q1HbAVugs8A=",
+ "dev": true,
+ "requires": {
+ "argparse": "1.0.9",
+ "esprima": "2.2.0"
+ }
+ },
+ "sax": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/sax/-/sax-1.1.6.tgz",
+ "integrity": "sha1-XWFr6KXmB9VOEUr65Vt+ry/MMkA=",
+ "dev": true
+ },
+ "svgo": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.5.6.tgz",
+ "integrity": "sha1-lQHFM8+E90p5vhuz80lNkSu+0Rk=",
+ "dev": true,
+ "requires": {
+ "coa": "1.0.2",
+ "colors": "1.1.2",
+ "js-yaml": "3.3.1",
+ "mkdirp": "0.5.1",
+ "sax": "1.1.6",
+ "whet.extend": "0.9.9"
+ }
+ }
+ }
+ },
+ "grunt-usemin": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/grunt-usemin/-/grunt-usemin-3.1.1.tgz",
+ "integrity": "sha1-WrZ5UQ1nLOpWbMcXq+i4oAn2QcI=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "debug": "2.6.8",
+ "lodash": "3.10.1",
+ "path-exists": "1.0.0"
+ },
+ "dependencies": {
+ "lodash": {
+ "version": "3.10.1",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
+ "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=",
+ "dev": true
+ },
+ "path-exists": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-1.0.0.tgz",
+ "integrity": "sha1-1aiZjrce83p0w06w2eum6HjuoIE=",
+ "dev": true
+ }
+ }
+ },
+ "grunt-wiredep": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/grunt-wiredep/-/grunt-wiredep-2.0.0.tgz",
+ "integrity": "sha1-ID9vYT95nW3XLOBE0NzvZNrx8uU=",
+ "dev": true,
+ "requires": {
+ "wiredep": "2.2.2"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz",
+ "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz",
+ "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz",
+ "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "1.1.0",
+ "escape-string-regexp": "1.0.5",
+ "has-ansi": "0.1.0",
+ "strip-ansi": "0.3.0",
+ "supports-color": "0.2.0"
+ }
+ },
+ "glob": {
+ "version": "4.5.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz",
+ "integrity": "sha1-xstz0yJsHv7wTePFbQEvAzd+4V8=",
+ "dev": true,
+ "requires": {
+ "inflight": "1.0.6",
+ "inherits": "2.0.3",
+ "minimatch": "2.0.10",
+ "once": "1.4.0"
+ }
+ },
+ "has-ansi": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz",
+ "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "0.2.1"
+ }
+ },
+ "lodash": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz",
+ "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=",
+ "dev": true
+ },
+ "minimatch": {
+ "version": "2.0.10",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
+ "integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "1.1.7"
+ }
+ },
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz",
+ "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "0.2.1"
+ }
+ },
+ "supports-color": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz",
+ "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=",
+ "dev": true
+ },
+ "wiredep": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/wiredep/-/wiredep-2.2.2.tgz",
+ "integrity": "sha1-FETRirLkk3UEEJP+3d3Rto97ZrM=",
+ "dev": true,
+ "requires": {
+ "bower-config": "0.5.2",
+ "chalk": "0.5.1",
+ "glob": "4.5.3",
+ "lodash": "2.4.2",
+ "minimist": "1.2.0",
+ "propprop": "0.3.1",
+ "through2": "0.6.5"
+ }
+ }
+ }
+ },
+ "gulp-decompress": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/gulp-decompress/-/gulp-decompress-1.2.0.tgz",
+ "integrity": "sha1-jutlpeAV+O2FMsr+KEVJYGJvDcc=",
+ "dev": true,
+ "requires": {
+ "archive-type": "3.2.0",
+ "decompress": "3.0.0",
+ "gulp-util": "3.0.8",
+ "readable-stream": "2.2.10"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.2.10",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.10.tgz",
+ "integrity": "sha512-HQEnnoV404e0EtwB9yNiuk2tJ+egeVC8Y9QBAxzDg8DBJt4BzRp+yQuIb/t3FIWkSTmIi+sgx7yVv/ZM0GNoqw==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "1.0.7",
+ "safe-buffer": "5.1.0",
+ "string_decoder": "1.0.1",
+ "util-deprecate": "1.0.2"
+ }
+ },
+ "string_decoder": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz",
+ "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.0"
+ }
+ }
+ }
+ },
+ "gulp-rename": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-1.2.2.tgz",
+ "integrity": "sha1-OtRCh2PwXidk3sHGfYaNsnVoeBc=",
+ "dev": true
+ },
+ "gulp-sourcemaps": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz",
+ "integrity": "sha1-uG/zSdgBzrVuHZ59x7vLS33uYAw=",
+ "dev": true,
+ "requires": {
+ "convert-source-map": "1.5.0",
+ "graceful-fs": "4.1.11",
+ "strip-bom": "2.0.0",
+ "through2": "2.0.3",
+ "vinyl": "1.2.0"
+ },
+ "dependencies": {
+ "graceful-fs": {
+ "version": "4.1.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "dev": true
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.2.10",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.10.tgz",
+ "integrity": "sha512-HQEnnoV404e0EtwB9yNiuk2tJ+egeVC8Y9QBAxzDg8DBJt4BzRp+yQuIb/t3FIWkSTmIi+sgx7yVv/ZM0GNoqw==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "1.0.7",
+ "safe-buffer": "5.1.0",
+ "string_decoder": "1.0.1",
+ "util-deprecate": "1.0.2"
+ }
+ },
+ "string_decoder": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz",
+ "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.0"
+ }
+ },
+ "through2": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+ "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "2.2.10",
+ "xtend": "4.0.1"
+ }
+ }
+ }
+ },
+ "gulp-util": {
+ "version": "3.0.8",
+ "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
+ "integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=",
+ "dev": true,
+ "requires": {
+ "array-differ": "1.0.0",
+ "array-uniq": "1.0.3",
+ "beeper": "1.1.1",
+ "chalk": "1.1.3",
+ "dateformat": "2.0.0",
+ "fancy-log": "1.3.0",
+ "gulplog": "1.0.0",
+ "has-gulplog": "0.1.0",
+ "lodash._reescape": "3.0.0",
+ "lodash._reevaluate": "3.0.0",
+ "lodash._reinterpolate": "3.0.0",
+ "lodash.template": "3.6.2",
+ "minimist": "1.2.0",
+ "multipipe": "0.1.2",
+ "object-assign": "3.0.0",
+ "replace-ext": "0.0.1",
+ "through2": "2.0.3",
+ "vinyl": "0.5.3"
+ },
+ "dependencies": {
+ "dateformat": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.0.0.tgz",
+ "integrity": "sha1-J0Pjq7XD/CRi5SfcpEXgTp9N7hc=",
+ "dev": true
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ },
+ "object-assign": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
+ "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.2.10",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.10.tgz",
+ "integrity": "sha512-HQEnnoV404e0EtwB9yNiuk2tJ+egeVC8Y9QBAxzDg8DBJt4BzRp+yQuIb/t3FIWkSTmIi+sgx7yVv/ZM0GNoqw==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "1.0.7",
+ "safe-buffer": "5.1.0",
+ "string_decoder": "1.0.1",
+ "util-deprecate": "1.0.2"
+ }
+ },
+ "string_decoder": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz",
+ "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.0"
+ }
+ },
+ "through2": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+ "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "2.2.10",
+ "xtend": "4.0.1"
+ }
+ },
+ "vinyl": {
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz",
+ "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=",
+ "dev": true,
+ "requires": {
+ "clone": "1.0.2",
+ "clone-stats": "0.0.1",
+ "replace-ext": "0.0.1"
+ }
+ }
+ }
+ },
+ "gulplog": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz",
+ "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=",
+ "dev": true,
+ "requires": {
+ "glogg": "1.0.0"
+ }
+ },
+ "gzip-size": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-1.0.0.tgz",
+ "integrity": "sha1-Zs+LEBBHInuVus5uodoMF37Vwi8=",
+ "dev": true,
+ "requires": {
+ "browserify-zlib": "0.1.4",
+ "concat-stream": "1.6.0"
+ }
+ },
+ "handlebars": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-2.0.0.tgz",
+ "integrity": "sha1-bp1/hRSjRn+l6fgswVjs/B1ax28=",
+ "dev": true,
+ "requires": {
+ "optimist": "0.3.7",
+ "uglify-js": "2.3.6"
+ },
+ "dependencies": {
+ "async": {
+ "version": "0.2.10",
+ "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
+ "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=",
+ "dev": true,
+ "optional": true
+ },
+ "optimist": {
+ "version": "0.3.7",
+ "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz",
+ "integrity": "sha1-yQlBrVnkJzMokjB00s8ufLxuwNk=",
+ "dev": true,
+ "requires": {
+ "wordwrap": "0.0.2"
+ }
+ },
+ "source-map": {
+ "version": "0.1.43",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
+ "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "amdefine": "1.0.1"
+ }
+ },
+ "uglify-js": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.3.6.tgz",
+ "integrity": "sha1-+gmEdwtCi3qbKoBY9GNV0U/vIRo=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "async": "0.2.10",
+ "optimist": "0.3.7",
+ "source-map": "0.1.43"
+ }
+ }
+ }
+ },
+ "har-schema": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz",
+ "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=",
+ "dev": true
+ },
+ "har-validator": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz",
+ "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=",
+ "dev": true,
+ "requires": {
+ "ajv": "4.11.8",
+ "har-schema": "1.0.5"
+ }
+ },
+ "has": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz",
+ "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=",
+ "dev": true,
+ "requires": {
+ "function-bind": "1.1.0"
+ }
+ },
+ "has-ansi": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "2.1.1"
+ }
+ },
+ "has-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+ "dev": true
+ },
+ "has-gulplog": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz",
+ "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=",
+ "dev": true,
+ "requires": {
+ "sparkles": "1.0.0"
+ }
+ },
+ "hash-base": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz",
+ "integrity": "sha1-ZuodhW206KVHDK32/OI65SRO8uE=",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3"
+ }
+ },
+ "hash.js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.0.3.tgz",
+ "integrity": "sha1-EzL/ABVsCg/92CNgE9B7d6BFFXM=",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3"
+ }
+ },
+ "hasha": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz",
+ "integrity": "sha1-eNfL/B5tZjA/55g3NlmEUXsvbuE=",
+ "dev": true,
+ "requires": {
+ "is-stream": "1.1.0",
+ "pinkie-promise": "2.0.1"
+ }
+ },
+ "hawk": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
+ "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
+ "dev": true,
+ "requires": {
+ "boom": "2.10.1",
+ "cryptiles": "2.0.5",
+ "hoek": "2.16.3",
+ "sntp": "1.0.9"
+ }
+ },
+ "hmac-drbg": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
+ "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
+ "dev": true,
+ "requires": {
+ "hash.js": "1.0.3",
+ "minimalistic-assert": "1.0.0",
+ "minimalistic-crypto-utils": "1.0.1"
+ }
+ },
+ "hoek": {
+ "version": "2.16.3",
+ "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
+ "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=",
+ "dev": true
+ },
+ "home-or-tmp": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz",
+ "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=",
+ "dev": true,
+ "requires": {
+ "os-homedir": "1.0.2",
+ "os-tmpdir": "1.0.2"
+ }
+ },
+ "hooker": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz",
+ "integrity": "sha1-uDT3I8xKJCqmWWNFnfbZhMXT2Vk=",
+ "dev": true
+ },
+ "hosted-git-info": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.4.2.tgz",
+ "integrity": "sha1-AHa59GonBQbduq6lZJaJdGBhKmc=",
+ "dev": true
+ },
+ "html-comment-regex": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.1.tgz",
+ "integrity": "sha1-ZouTd26q5V696POtRkswekljYl4=",
+ "dev": true
+ },
+ "html-encoding-sniffer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.1.tgz",
+ "integrity": "sha1-eb96eF6klf5mFl5zQVPzY/9UN9o=",
+ "dev": true,
+ "requires": {
+ "whatwg-encoding": "1.0.1"
+ }
+ },
+ "html-minifier": {
+ "version": "0.6.9",
+ "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-0.6.9.tgz",
+ "integrity": "sha1-UQXcI29efhqLplHUq5gThvx6vlM=",
+ "dev": true,
+ "requires": {
+ "change-case": "2.1.6",
+ "clean-css": "2.2.23",
+ "cli": "0.6.6",
+ "relateurl": "0.2.7",
+ "uglify-js": "2.4.24"
+ }
+ },
+ "htmlparser2": {
+ "version": "3.8.3",
+ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz",
+ "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=",
+ "dev": true,
+ "requires": {
+ "domelementtype": "1.3.0",
+ "domhandler": "2.3.0",
+ "domutils": "1.5.1",
+ "entities": "1.0.0",
+ "readable-stream": "1.1.14"
+ }
+ },
+ "http-errors": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz",
+ "integrity": "sha1-GX4izevUGYWF6GlO9nhhl7ke2UI=",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "statuses": "1.3.1"
+ }
+ },
+ "http-signature": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
+ "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "0.2.0",
+ "jsprim": "1.4.0",
+ "sshpk": "1.13.0"
+ }
+ },
+ "https-browserify": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz",
+ "integrity": "sha1-P5E2XKvmC3ftDruiS0VOPgnZWoI=",
+ "dev": true
+ },
+ "i": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/i/-/i-0.3.5.tgz",
+ "integrity": "sha1-HSuFQVjsgWkRPGy39raAHpniEdU=",
+ "dev": true
+ },
+ "iconv-lite": {
+ "version": "0.2.11",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz",
+ "integrity": "sha1-HOYKOleGSiktEyH/RgnKS7llrcg=",
+ "dev": true
+ },
+ "icss-replace-symbols": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz",
+ "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=",
+ "dev": true
+ },
+ "ieee754": {
+ "version": "1.1.8",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz",
+ "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=",
+ "dev": true
+ },
+ "image-size": {
+ "version": "0.5.4",
+ "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.4.tgz",
+ "integrity": "sha1-lOB77sBlk4bxrvuEsiIuiEBUhc0=",
+ "dev": true,
+ "optional": true
+ },
+ "imagemin": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/imagemin/-/imagemin-4.0.0.tgz",
+ "integrity": "sha1-6Q5/CTaDZZXxj6Ff6Qb0+iWeqEc=",
+ "dev": true,
+ "requires": {
+ "buffer-to-vinyl": "1.1.0",
+ "concat-stream": "1.6.0",
+ "imagemin-gifsicle": "4.2.0",
+ "imagemin-jpegtran": "4.3.2",
+ "imagemin-optipng": "4.3.0",
+ "imagemin-svgo": "4.2.1",
+ "optional": "0.1.3",
+ "readable-stream": "2.2.10",
+ "stream-combiner2": "1.1.1",
+ "vinyl-fs": "2.4.4"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.2.10",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.10.tgz",
+ "integrity": "sha512-HQEnnoV404e0EtwB9yNiuk2tJ+egeVC8Y9QBAxzDg8DBJt4BzRp+yQuIb/t3FIWkSTmIi+sgx7yVv/ZM0GNoqw==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "1.0.7",
+ "safe-buffer": "5.1.0",
+ "string_decoder": "1.0.1",
+ "util-deprecate": "1.0.2"
+ }
+ },
+ "string_decoder": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz",
+ "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.0"
+ }
+ }
+ }
+ },
+ "imagemin-gifsicle": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/imagemin-gifsicle/-/imagemin-gifsicle-4.2.0.tgz",
+ "integrity": "sha1-D++butNHbmt2iFc2zFsLh6CHV8o=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "gifsicle": "3.0.4",
+ "is-gif": "1.0.0",
+ "through2": "0.6.5"
+ }
+ },
+ "imagemin-jpegtran": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/imagemin-jpegtran/-/imagemin-jpegtran-4.3.2.tgz",
+ "integrity": "sha1-G8bR4r0T/bZNJFUm1jWn5d/rEvw=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "is-jpg": "1.0.0",
+ "jpegtran-bin": "3.2.0",
+ "through2": "2.0.3"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true,
+ "optional": true
+ },
+ "readable-stream": {
+ "version": "2.2.10",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.10.tgz",
+ "integrity": "sha512-HQEnnoV404e0EtwB9yNiuk2tJ+egeVC8Y9QBAxzDg8DBJt4BzRp+yQuIb/t3FIWkSTmIi+sgx7yVv/ZM0GNoqw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "1.0.7",
+ "safe-buffer": "5.1.0",
+ "string_decoder": "1.0.1",
+ "util-deprecate": "1.0.2"
+ }
+ },
+ "string_decoder": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz",
+ "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "safe-buffer": "5.1.0"
+ }
+ },
+ "through2": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+ "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "readable-stream": "2.2.10",
+ "xtend": "4.0.1"
+ }
+ }
+ }
+ },
+ "imagemin-optipng": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/imagemin-optipng/-/imagemin-optipng-4.3.0.tgz",
+ "integrity": "sha1-dgRmOrLuMVczJ0cm/Rw3TStErbY=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "exec-buffer": "2.0.1",
+ "is-png": "1.1.0",
+ "optipng-bin": "3.1.4",
+ "through2": "0.6.5"
+ }
+ },
+ "imagemin-svgo": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/imagemin-svgo/-/imagemin-svgo-4.2.1.tgz",
+ "integrity": "sha1-VPB9xW9HJgRi32phxUvvtEtXvlU=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "is-svg": "1.1.1",
+ "svgo": "0.6.6",
+ "through2": "2.0.3"
+ },
+ "dependencies": {
+ "csso": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/csso/-/csso-2.0.0.tgz",
+ "integrity": "sha1-F4tDpEYhIhwndWCG9THgL0KQDug=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "clap": "1.1.3",
+ "source-map": "0.5.6"
+ }
+ },
+ "is-svg": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-1.1.1.tgz",
+ "integrity": "sha1-rA76r7ZTrFhHNwix+HNjbKEQ4xs=",
+ "dev": true,
+ "optional": true
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true,
+ "optional": true
+ },
+ "js-yaml": {
+ "version": "3.6.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.6.1.tgz",
+ "integrity": "sha1-bl/mfYsgXOTSL60Ft3geja3MSzA=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "argparse": "1.0.9",
+ "esprima": "2.7.3"
+ }
+ },
+ "readable-stream": {
+ "version": "2.2.10",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.10.tgz",
+ "integrity": "sha512-HQEnnoV404e0EtwB9yNiuk2tJ+egeVC8Y9QBAxzDg8DBJt4BzRp+yQuIb/t3FIWkSTmIi+sgx7yVv/ZM0GNoqw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "1.0.7",
+ "safe-buffer": "5.1.0",
+ "string_decoder": "1.0.1",
+ "util-deprecate": "1.0.2"
+ }
+ },
+ "source-map": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true,
+ "optional": true
+ },
+ "string_decoder": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz",
+ "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "safe-buffer": "5.1.0"
+ }
+ },
+ "svgo": {
+ "version": "0.6.6",
+ "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.6.6.tgz",
+ "integrity": "sha1-s0CIkDbyD5tEdUMHfQ9Vc+0ETAg=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "coa": "1.0.2",
+ "colors": "1.1.2",
+ "csso": "2.0.0",
+ "js-yaml": "3.6.1",
+ "mkdirp": "0.5.1",
+ "sax": "1.2.2",
+ "whet.extend": "0.9.9"
+ }
+ },
+ "through2": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+ "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "readable-stream": "2.2.10",
+ "xtend": "4.0.1"
+ }
+ }
+ }
+ },
+ "indent-string": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
+ "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
+ "dev": true,
+ "requires": {
+ "repeating": "2.0.1"
+ }
+ },
+ "indexes-of": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz",
+ "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=",
+ "dev": true
+ },
+ "indexof": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
+ "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=",
+ "dev": true
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "dev": true,
+ "requires": {
+ "once": "1.4.0",
+ "wrappy": "1.0.2"
+ }
+ },
+ "inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
+ "dev": true
+ },
+ "ini": {
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz",
+ "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=",
+ "dev": true
+ },
+ "inquirer": {
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.7.1.tgz",
+ "integrity": "sha1-uKzxQBZb1YGGLtEZj7bSZDAJH6w=",
+ "dev": true,
+ "requires": {
+ "chalk": "0.5.1",
+ "cli-color": "0.3.3",
+ "figures": "1.7.0",
+ "lodash": "2.4.2",
+ "mute-stream": "0.0.4",
+ "readline2": "0.1.1",
+ "rx": "2.5.3",
+ "through": "2.3.8"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz",
+ "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz",
+ "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz",
+ "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "1.1.0",
+ "escape-string-regexp": "1.0.5",
+ "has-ansi": "0.1.0",
+ "strip-ansi": "0.3.0",
+ "supports-color": "0.2.0"
+ }
+ },
+ "has-ansi": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz",
+ "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "0.2.1"
+ }
+ },
+ "lodash": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz",
+ "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz",
+ "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "0.2.1"
+ }
+ },
+ "supports-color": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz",
+ "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=",
+ "dev": true
+ }
+ }
+ },
+ "insight": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/insight/-/insight-0.4.3.tgz",
+ "integrity": "sha1-dtZTxcDYBIsDzbpjhaaUj3RhSvA=",
+ "dev": true,
+ "requires": {
+ "async": "0.9.2",
+ "chalk": "0.5.1",
+ "configstore": "0.3.2",
+ "inquirer": "0.6.0",
+ "lodash.debounce": "2.4.1",
+ "object-assign": "1.0.0",
+ "os-name": "1.0.3",
+ "request": "2.81.0",
+ "tough-cookie": "0.12.1"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz",
+ "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz",
+ "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=",
+ "dev": true
+ },
+ "async": {
+ "version": "0.9.2",
+ "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
+ "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz",
+ "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "1.1.0",
+ "escape-string-regexp": "1.0.5",
+ "has-ansi": "0.1.0",
+ "strip-ansi": "0.3.0",
+ "supports-color": "0.2.0"
+ }
+ },
+ "has-ansi": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz",
+ "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "0.2.1"
+ }
+ },
+ "inquirer": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.6.0.tgz",
+ "integrity": "sha1-YU17s+SPnmqAKOlKDDjyPvKYI9M=",
+ "dev": true,
+ "requires": {
+ "chalk": "0.5.1",
+ "cli-color": "0.3.3",
+ "lodash": "2.4.2",
+ "mute-stream": "0.0.4",
+ "readline2": "0.1.1",
+ "rx": "2.5.3",
+ "through": "2.3.8"
+ }
+ },
+ "lodash": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz",
+ "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=",
+ "dev": true
+ },
+ "object-assign": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-1.0.0.tgz",
+ "integrity": "sha1-5l3Idm07R7S4MHRlyDEdoDCwcKY=",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz",
+ "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "0.2.1"
+ }
+ },
+ "supports-color": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz",
+ "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=",
+ "dev": true
+ },
+ "tough-cookie": {
+ "version": "0.12.1",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-0.12.1.tgz",
+ "integrity": "sha1-giDH4hq9WxPZaAQlS9WoHr8sfWI=",
+ "dev": true,
+ "requires": {
+ "punycode": "1.4.1"
+ }
+ }
+ }
+ },
+ "interpret": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.0.3.tgz",
+ "integrity": "sha1-y8NcYu7uc/Gat7EKgBURQBr8D5A=",
+ "dev": true
+ },
+ "intersect": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/intersect/-/intersect-0.0.3.tgz",
+ "integrity": "sha1-waSl5erG7eSvdQTMB+Ctp7yfSSA=",
+ "dev": true
+ },
+ "invariant": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz",
+ "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=",
+ "dev": true,
+ "requires": {
+ "loose-envify": "1.3.1"
+ }
+ },
+ "invert-kv": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
+ "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
+ "dev": true
+ },
+ "ip-regex": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-1.0.3.tgz",
+ "integrity": "sha1-3FiQdvZZ9BnCIgOaMzFvHHOH7/0=",
+ "dev": true,
+ "optional": true
+ },
+ "is-absolute": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.1.7.tgz",
+ "integrity": "sha1-hHSREZ/MtftDYhfMc39/qtUPYD8=",
+ "dev": true,
+ "requires": {
+ "is-relative": "0.1.3"
+ }
+ },
+ "is-absolute-url": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz",
+ "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=",
+ "dev": true
+ },
+ "is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
+ "dev": true
+ },
+ "is-binary-path": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
+ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
+ "dev": true,
+ "requires": {
+ "binary-extensions": "1.8.0"
+ }
+ },
+ "is-buffer": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz",
+ "integrity": "sha1-Hzsm72E7IUuIy8ojzGwB2Hlh7sw=",
+ "dev": true
+ },
+ "is-builtin-module": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
+ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
+ "dev": true,
+ "requires": {
+ "builtin-modules": "1.1.1"
+ }
+ },
+ "is-bzip2": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-bzip2/-/is-bzip2-1.0.0.tgz",
+ "integrity": "sha1-XuWOqlounIDiFAe+3yOuWsCRs/w=",
+ "dev": true
+ },
+ "is-ci": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.0.10.tgz",
+ "integrity": "sha1-9zkzayYyNlBhqdSCcM1WrjNpMY4=",
+ "dev": true,
+ "requires": {
+ "ci-info": "1.0.0"
+ }
+ },
+ "is-dotfile": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",
+ "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=",
+ "dev": true
+ },
+ "is-equal-shallow": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
+ "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
+ "dev": true,
+ "requires": {
+ "is-primitive": "2.0.0"
+ }
+ },
+ "is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
+ "dev": true
+ },
+ "is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+ "dev": true
+ },
+ "is-finite": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
+ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
+ "dev": true,
+ "requires": {
+ "number-is-nan": "1.0.1"
+ }
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "dev": true,
+ "requires": {
+ "number-is-nan": "1.0.1"
+ }
+ },
+ "is-gif": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-gif/-/is-gif-1.0.0.tgz",
+ "integrity": "sha1-ptKumIkwB7/6l6HYwB1jIFgyCX4=",
+ "dev": true,
+ "optional": true
+ },
+ "is-glob": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+ "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "2.1.1"
+ }
+ },
+ "is-gzip": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-gzip/-/is-gzip-1.0.0.tgz",
+ "integrity": "sha1-bKiwe5nHeZgCWQDlVc7Y7YCHmoM=",
+ "dev": true
+ },
+ "is-jpg": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-jpg/-/is-jpg-1.0.0.tgz",
+ "integrity": "sha1-KVnBfnNDDbOCZNp1uQ3VTy2G2hw=",
+ "dev": true,
+ "optional": true
+ },
+ "is-lower-case": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/is-lower-case/-/is-lower-case-1.1.3.tgz",
+ "integrity": "sha1-fhR75HaNxGbbO/shzGCzHmrWk5M=",
+ "dev": true,
+ "requires": {
+ "lower-case": "1.1.4"
+ }
+ },
+ "is-my-json-valid": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz",
+ "integrity": "sha1-8Hndm/2uZe4gOKrorLyGqxCeNpM=",
+ "dev": true,
+ "requires": {
+ "generate-function": "2.0.0",
+ "generate-object-property": "1.2.0",
+ "jsonpointer": "4.0.1",
+ "xtend": "4.0.1"
+ }
+ },
+ "is-natural-number": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-2.1.1.tgz",
+ "integrity": "sha1-fUxXKDd+84bD4ZSpkRv1fG3DNec=",
+ "dev": true
+ },
+ "is-number": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
+ "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ }
+ },
+ "is-obj": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
+ "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
+ "dev": true
+ },
+ "is-plain-obj": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
+ "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
+ "dev": true
+ },
+ "is-png": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-png/-/is-png-1.1.0.tgz",
+ "integrity": "sha1-1XSxK/J1wDUEVVcLDltXqwYgd84=",
+ "dev": true,
+ "optional": true
+ },
+ "is-posix-bracket": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz",
+ "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=",
+ "dev": true
+ },
+ "is-primitive": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz",
+ "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=",
+ "dev": true
+ },
+ "is-property": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz",
+ "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=",
+ "dev": true
+ },
+ "is-redirect": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz",
+ "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=",
+ "dev": true
+ },
+ "is-relative": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.1.3.tgz",
+ "integrity": "sha1-kF/uiuhvRbPsYUvDwVyGnfCHboI=",
+ "dev": true
+ },
+ "is-retry-allowed": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz",
+ "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=",
+ "dev": true
+ },
+ "is-root": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-root/-/is-root-1.0.0.tgz",
+ "integrity": "sha1-B7bCM7w5TNnQK6FclmvWZg1jQtU=",
+ "dev": true
+ },
+ "is-stream": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
+ "dev": true
+ },
+ "is-svg": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz",
+ "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=",
+ "dev": true,
+ "requires": {
+ "html-comment-regex": "1.1.1"
+ }
+ },
+ "is-tar": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-tar/-/is-tar-1.0.0.tgz",
+ "integrity": "sha1-L2suF5LB9bs2UZrKqdZcDSb+hT0=",
+ "dev": true
+ },
+ "is-typedarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
+ "dev": true
+ },
+ "is-upper-case": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/is-upper-case/-/is-upper-case-1.1.2.tgz",
+ "integrity": "sha1-jQsfp+eTOh5YSDYA7H2WYcuvdW8=",
+ "dev": true,
+ "requires": {
+ "upper-case": "1.1.3"
+ }
+ },
+ "is-url": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.2.tgz",
+ "integrity": "sha1-SYkFpZO/R8wtnn9zg3K792lsfyY=",
+ "dev": true
+ },
+ "is-utf8": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
+ "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
+ "dev": true
+ },
+ "is-valid-glob": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-0.3.0.tgz",
+ "integrity": "sha1-1LVcafUYhvm2XHDWwmItN+KfSP4=",
+ "dev": true
+ },
+ "is-zip": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-zip/-/is-zip-1.0.0.tgz",
+ "integrity": "sha1-R7Co/004p2QxzP2ZqOFaTIa6IyU=",
+ "dev": true
+ },
+ "isarray": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+ "dev": true
+ },
+ "isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
+ "dev": true
+ },
+ "isobject": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+ "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+ "dev": true,
+ "requires": {
+ "isarray": "1.0.0"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ }
+ }
+ },
+ "isstream": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
+ "dev": true
+ },
+ "istanbul-api": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.1.11.tgz",
+ "integrity": "sha1-/MC0YeKzvaceMFFVE4I4doJX2d4=",
+ "dev": true,
+ "requires": {
+ "async": "2.5.0",
+ "fileset": "2.0.3",
+ "istanbul-lib-coverage": "1.1.1",
+ "istanbul-lib-hook": "1.0.7",
+ "istanbul-lib-instrument": "1.7.4",
+ "istanbul-lib-report": "1.1.1",
+ "istanbul-lib-source-maps": "1.2.1",
+ "istanbul-reports": "1.1.1",
+ "js-yaml": "3.7.0",
+ "mkdirp": "0.5.1",
+ "once": "1.4.0"
+ },
+ "dependencies": {
+ "async": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/async/-/async-2.5.0.tgz",
+ "integrity": "sha512-e+lJAJeNWuPCNyxZKOBdaJGyLGHugXVQtrAwtuAe2vhxTYxFTKE73p8JuTmdH0qdQZtDvI4dhJwjZc5zsfIsYw==",
+ "dev": true,
+ "requires": {
+ "lodash": "4.17.4"
+ }
+ }
+ }
+ },
+ "istanbul-lib-coverage": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.1.tgz",
+ "integrity": "sha512-0+1vDkmzxqJIn5rcoEqapSB4DmPxE31EtI2dF2aCkV5esN9EWHxZ0dwgDClivMXJqE7zaYQxq30hj5L0nlTN5Q==",
+ "dev": true
+ },
+ "istanbul-lib-hook": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.0.7.tgz",
+ "integrity": "sha512-3U2HB9y1ZV9UmFlE12Fx+nPtFqIymzrqCksrXujm3NVbAZIJg/RfYgO1XiIa0mbmxTjWpVEVlkIZJ25xVIAfkQ==",
+ "dev": true,
+ "requires": {
+ "append-transform": "0.4.0"
+ }
+ },
+ "istanbul-lib-instrument": {
+ "version": "1.7.4",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.7.4.tgz",
+ "integrity": "sha1-6f2SDkdn89Ge3HZeLWs/XMvQ7qg=",
+ "dev": true,
+ "requires": {
+ "babel-generator": "6.24.1",
+ "babel-template": "6.24.1",
+ "babel-traverse": "6.24.1",
+ "babel-types": "6.24.1",
+ "babylon": "6.17.4",
+ "istanbul-lib-coverage": "1.1.1",
+ "semver": "5.3.0"
+ },
+ "dependencies": {
+ "babylon": {
+ "version": "6.17.4",
+ "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.17.4.tgz",
+ "integrity": "sha512-kChlV+0SXkjE0vUn9OZ7pBMWRFd8uq3mZe8x1K6jhuNcAFAtEnjchFAqB+dYEXKyd+JpT6eppRR78QAr5gTsUw==",
+ "dev": true
+ }
+ }
+ },
+ "istanbul-lib-report": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz",
+ "integrity": "sha512-tvF+YmCmH4thnez6JFX06ujIA19WPa9YUiwjc1uALF2cv5dmE3It8b5I8Ob7FHJ70H9Y5yF+TDkVa/mcADuw1Q==",
+ "dev": true,
+ "requires": {
+ "istanbul-lib-coverage": "1.1.1",
+ "mkdirp": "0.5.1",
+ "path-parse": "1.0.5",
+ "supports-color": "3.2.3"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "1.0.0"
+ }
+ }
+ }
+ },
+ "istanbul-lib-source-maps": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.1.tgz",
+ "integrity": "sha512-mukVvSXCn9JQvdJl8wP/iPhqig0MRtuWuD4ZNKo6vB2Ik//AmhAKe3QnPN02dmkRe3lTudFk3rzoHhwU4hb94w==",
+ "dev": true,
+ "requires": {
+ "debug": "2.6.8",
+ "istanbul-lib-coverage": "1.1.1",
+ "mkdirp": "0.5.1",
+ "rimraf": "2.6.1",
+ "source-map": "0.5.6"
+ },
+ "dependencies": {
+ "glob": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
+ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "1.0.0",
+ "inflight": "1.0.6",
+ "inherits": "2.0.3",
+ "minimatch": "3.0.4",
+ "once": "1.4.0",
+ "path-is-absolute": "1.0.1"
+ }
+ },
+ "rimraf": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz",
+ "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=",
+ "dev": true,
+ "requires": {
+ "glob": "7.1.2"
+ }
+ },
+ "source-map": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ }
+ }
+ },
+ "istanbul-reports": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.1.1.tgz",
+ "integrity": "sha512-P8G873A0kW24XRlxHVGhMJBhQ8gWAec+dae7ZxOBzxT4w+a9ATSPvRVK3LB1RAJ9S8bg2tOyWHAGW40Zd2dKfw==",
+ "dev": true,
+ "requires": {
+ "handlebars": "4.0.10"
+ },
+ "dependencies": {
+ "async": {
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+ "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
+ "dev": true
+ },
+ "handlebars": {
+ "version": "4.0.10",
+ "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.10.tgz",
+ "integrity": "sha1-PTDHGLCaPZbyPqTMH0A8TTup/08=",
+ "dev": true,
+ "requires": {
+ "async": "1.5.2",
+ "optimist": "0.6.1",
+ "source-map": "0.4.4",
+ "uglify-js": "2.8.29"
+ }
+ },
+ "uglify-js": {
+ "version": "2.8.29",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
+ "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "source-map": "0.5.6",
+ "uglify-to-browserify": "1.0.2",
+ "yargs": "3.10.0"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "yargs": {
+ "version": "3.10.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
+ "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "camelcase": "1.2.1",
+ "cliui": "2.1.0",
+ "decamelize": "1.2.0",
+ "window-size": "0.1.0"
+ }
+ }
+ }
+ },
+ "jasmine-core": {
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.6.2.tgz",
+ "integrity": "sha1-dOoffPQoaRryARB9YxI0AnoJ2qs=",
+ "dev": true
+ },
+ "jest-changed-files": {
+ "version": "20.0.3",
+ "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-20.0.3.tgz",
+ "integrity": "sha1-k5TVzGXEOEBhSb7xv01Sto4D4/g=",
+ "dev": true
+ },
+ "jest-cli": {
+ "version": "20.0.4",
+ "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-20.0.4.tgz",
+ "integrity": "sha1-5TKxnYiuW8bEF+iwWTpv6VSx3JM=",
+ "dev": true,
+ "requires": {
+ "ansi-escapes": "1.4.0",
+ "callsites": "2.0.0",
+ "chalk": "1.1.3",
+ "graceful-fs": "4.1.11",
+ "is-ci": "1.0.10",
+ "istanbul-api": "1.1.11",
+ "istanbul-lib-coverage": "1.1.1",
+ "istanbul-lib-instrument": "1.7.4",
+ "istanbul-lib-source-maps": "1.2.1",
+ "jest-changed-files": "20.0.3",
+ "jest-config": "20.0.4",
+ "jest-docblock": "20.0.3",
+ "jest-environment-jsdom": "20.0.3",
+ "jest-haste-map": "20.0.4",
+ "jest-jasmine2": "20.0.4",
+ "jest-message-util": "20.0.3",
+ "jest-regex-util": "20.0.3",
+ "jest-resolve-dependencies": "20.0.3",
+ "jest-runtime": "20.0.4",
+ "jest-snapshot": "20.0.3",
+ "jest-util": "20.0.3",
+ "micromatch": "2.3.11",
+ "node-notifier": "5.1.2",
+ "pify": "2.3.0",
+ "slash": "1.0.0",
+ "string-length": "1.0.1",
+ "throat": "3.2.0",
+ "which": "1.3.0",
+ "worker-farm": "1.4.1",
+ "yargs": "7.1.0"
+ },
+ "dependencies": {
+ "camelcase": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
+ "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
+ "dev": true
+ },
+ "cliui": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
+ "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
+ "dev": true,
+ "requires": {
+ "string-width": "1.0.2",
+ "strip-ansi": "3.0.1",
+ "wrap-ansi": "2.1.0"
+ }
+ },
+ "graceful-fs": {
+ "version": "4.1.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "dev": true
+ },
+ "string-length": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/string-length/-/string-length-1.0.1.tgz",
+ "integrity": "sha1-VpcPscOFWOnnC3KL894mmsRa36w=",
+ "dev": true,
+ "requires": {
+ "strip-ansi": "3.0.1"
+ }
+ },
+ "which": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz",
+ "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==",
+ "dev": true,
+ "requires": {
+ "isexe": "2.0.0"
+ }
+ },
+ "yargs": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz",
+ "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=",
+ "dev": true,
+ "requires": {
+ "camelcase": "3.0.0",
+ "cliui": "3.2.0",
+ "decamelize": "1.2.0",
+ "get-caller-file": "1.0.2",
+ "os-locale": "1.4.0",
+ "read-pkg-up": "1.0.1",
+ "require-directory": "2.1.1",
+ "require-main-filename": "1.0.1",
+ "set-blocking": "2.0.0",
+ "string-width": "1.0.2",
+ "which-module": "1.0.0",
+ "y18n": "3.2.1",
+ "yargs-parser": "5.0.0"
+ }
+ },
+ "yargs-parser": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz",
+ "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=",
+ "dev": true,
+ "requires": {
+ "camelcase": "3.0.0"
+ }
+ }
+ }
+ },
+ "jest-config": {
+ "version": "20.0.4",
+ "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-20.0.4.tgz",
+ "integrity": "sha1-43kwqyIXyRNgXv8T5712PsSPruo=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "glob": "7.1.2",
+ "jest-environment-jsdom": "20.0.3",
+ "jest-environment-node": "20.0.3",
+ "jest-jasmine2": "20.0.4",
+ "jest-matcher-utils": "20.0.3",
+ "jest-regex-util": "20.0.3",
+ "jest-resolve": "20.0.4",
+ "jest-validate": "20.0.3",
+ "pretty-format": "20.0.3"
+ },
+ "dependencies": {
+ "glob": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
+ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "1.0.0",
+ "inflight": "1.0.6",
+ "inherits": "2.0.3",
+ "minimatch": "3.0.4",
+ "once": "1.4.0",
+ "path-is-absolute": "1.0.1"
+ }
+ }
+ }
+ },
+ "jest-diff": {
+ "version": "20.0.3",
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-20.0.3.tgz",
+ "integrity": "sha1-gfKI/Z5nXw+yPHXxwrGURf5YZhc=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "diff": "3.3.0",
+ "jest-matcher-utils": "20.0.3",
+ "pretty-format": "20.0.3"
+ },
+ "dependencies": {
+ "diff": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-3.3.0.tgz",
+ "integrity": "sha512-w0XZubFWn0Adlsapj9EAWX0FqWdO4tz8kc3RiYdWLh4k/V8PTb6i0SMgXt0vRM3zyKnT8tKO7mUlieRQHIjMNg==",
+ "dev": true
+ }
+ }
+ },
+ "jest-docblock": {
+ "version": "20.0.3",
+ "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-20.0.3.tgz",
+ "integrity": "sha1-F76phDQswz2DxQ++FUXqDvqkRxI=",
+ "dev": true
+ },
+ "jest-environment-jsdom": {
+ "version": "20.0.3",
+ "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-20.0.3.tgz",
+ "integrity": "sha1-BIqKwS7iJfcZBBdxODS7mZeH3pk=",
+ "dev": true,
+ "requires": {
+ "jest-mock": "20.0.3",
+ "jest-util": "20.0.3",
+ "jsdom": "9.12.0"
+ }
+ },
+ "jest-environment-node": {
+ "version": "20.0.3",
+ "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-20.0.3.tgz",
+ "integrity": "sha1-1Ii8RhKvLCRumG6K52caCZFj1AM=",
+ "dev": true,
+ "requires": {
+ "jest-mock": "20.0.3",
+ "jest-util": "20.0.3"
+ }
+ },
+ "jest-haste-map": {
+ "version": "20.0.4",
+ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-20.0.4.tgz",
+ "integrity": "sha1-ZT61XIic48Ah97lGk/IKQVm63wM=",
+ "dev": true,
+ "requires": {
+ "fb-watchman": "2.0.0",
+ "graceful-fs": "4.1.11",
+ "jest-docblock": "20.0.3",
+ "micromatch": "2.3.11",
+ "sane": "1.6.0",
+ "worker-farm": "1.4.1"
+ },
+ "dependencies": {
+ "graceful-fs": {
+ "version": "4.1.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "dev": true
+ }
+ }
+ },
+ "jest-jasmine2": {
+ "version": "20.0.4",
+ "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-20.0.4.tgz",
+ "integrity": "sha1-/MWxQReA2RHQQpAu8YWehS5g1eE=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "graceful-fs": "4.1.11",
+ "jest-diff": "20.0.3",
+ "jest-matcher-utils": "20.0.3",
+ "jest-matchers": "20.0.3",
+ "jest-message-util": "20.0.3",
+ "jest-snapshot": "20.0.3",
+ "once": "1.4.0",
+ "p-map": "1.1.1"
+ },
+ "dependencies": {
+ "graceful-fs": {
+ "version": "4.1.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "dev": true
+ }
+ }
+ },
+ "jest-matcher-utils": {
+ "version": "20.0.3",
+ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-20.0.3.tgz",
+ "integrity": "sha1-s6a443yld4A7CDKpixZPRLeBVhI=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "pretty-format": "20.0.3"
+ }
+ },
+ "jest-matchers": {
+ "version": "20.0.3",
+ "resolved": "https://registry.npmjs.org/jest-matchers/-/jest-matchers-20.0.3.tgz",
+ "integrity": "sha1-ymnbHDLbWm9wf6XgQBq7VXAN/WA=",
+ "dev": true,
+ "requires": {
+ "jest-diff": "20.0.3",
+ "jest-matcher-utils": "20.0.3",
+ "jest-message-util": "20.0.3",
+ "jest-regex-util": "20.0.3"
+ }
+ },
+ "jest-message-util": {
+ "version": "20.0.3",
+ "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-20.0.3.tgz",
+ "integrity": "sha1-auwoRDBvyw5udNV5bBAG2W/dgxw=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "micromatch": "2.3.11",
+ "slash": "1.0.0"
+ }
+ },
+ "jest-mock": {
+ "version": "20.0.3",
+ "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-20.0.3.tgz",
+ "integrity": "sha1-i8Bw6QQUqhVcEajWTIaaDVxx2lk=",
+ "dev": true
+ },
+ "jest-regex-util": {
+ "version": "20.0.3",
+ "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-20.0.3.tgz",
+ "integrity": "sha1-hburXRM+RGJbGfr4xqpRItCF12I=",
+ "dev": true
+ },
+ "jest-resolve": {
+ "version": "20.0.4",
+ "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-20.0.4.tgz",
+ "integrity": "sha1-lEiz6La6/BVHlETGSZBFt//ll6U=",
+ "dev": true,
+ "requires": {
+ "browser-resolve": "1.11.2",
+ "is-builtin-module": "1.0.0",
+ "resolve": "1.4.0"
+ }
+ },
+ "jest-resolve-dependencies": {
+ "version": "20.0.3",
+ "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-20.0.3.tgz",
+ "integrity": "sha1-bhSntxevDyyzZnxUneQK8Bexcjo=",
+ "dev": true,
+ "requires": {
+ "jest-regex-util": "20.0.3"
+ }
+ },
+ "jest-runtime": {
+ "version": "20.0.4",
+ "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-20.0.4.tgz",
+ "integrity": "sha1-osgCIZxCA/dU3xQE5JAYYWnRJNg=",
+ "dev": true,
+ "requires": {
+ "babel-core": "6.24.1",
+ "babel-jest": "20.0.3",
+ "babel-plugin-istanbul": "4.1.4",
+ "chalk": "1.1.3",
+ "convert-source-map": "1.5.0",
+ "graceful-fs": "4.1.11",
+ "jest-config": "20.0.4",
+ "jest-haste-map": "20.0.4",
+ "jest-regex-util": "20.0.3",
+ "jest-resolve": "20.0.4",
+ "jest-util": "20.0.3",
+ "json-stable-stringify": "1.0.1",
+ "micromatch": "2.3.11",
+ "strip-bom": "3.0.0",
+ "yargs": "7.1.0"
+ },
+ "dependencies": {
+ "camelcase": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
+ "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
+ "dev": true
+ },
+ "cliui": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
+ "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
+ "dev": true,
+ "requires": {
+ "string-width": "1.0.2",
+ "strip-ansi": "3.0.1",
+ "wrap-ansi": "2.1.0"
+ }
+ },
+ "graceful-fs": {
+ "version": "4.1.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "dev": true
+ },
+ "strip-bom": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
+ "dev": true
+ },
+ "yargs": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz",
+ "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=",
+ "dev": true,
+ "requires": {
+ "camelcase": "3.0.0",
+ "cliui": "3.2.0",
+ "decamelize": "1.2.0",
+ "get-caller-file": "1.0.2",
+ "os-locale": "1.4.0",
+ "read-pkg-up": "1.0.1",
+ "require-directory": "2.1.1",
+ "require-main-filename": "1.0.1",
+ "set-blocking": "2.0.0",
+ "string-width": "1.0.2",
+ "which-module": "1.0.0",
+ "y18n": "3.2.1",
+ "yargs-parser": "5.0.0"
+ }
+ },
+ "yargs-parser": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz",
+ "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=",
+ "dev": true,
+ "requires": {
+ "camelcase": "3.0.0"
+ }
+ }
+ }
+ },
+ "jest-snapshot": {
+ "version": "20.0.3",
+ "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-20.0.3.tgz",
+ "integrity": "sha1-W4R+GtsaTZCFKn+fElCG4YfHZWY=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "jest-diff": "20.0.3",
+ "jest-matcher-utils": "20.0.3",
+ "jest-util": "20.0.3",
+ "natural-compare": "1.4.0",
+ "pretty-format": "20.0.3"
+ }
+ },
+ "jest-util": {
+ "version": "20.0.3",
+ "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-20.0.3.tgz",
+ "integrity": "sha1-DAf32A2C9OWmfG+LnD/n9lz9Mq0=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "graceful-fs": "4.1.11",
+ "jest-message-util": "20.0.3",
+ "jest-mock": "20.0.3",
+ "jest-validate": "20.0.3",
+ "leven": "2.1.0",
+ "mkdirp": "0.5.1"
+ },
+ "dependencies": {
+ "graceful-fs": {
+ "version": "4.1.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "dev": true
+ }
+ }
+ },
+ "jest-validate": {
+ "version": "20.0.3",
+ "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-20.0.3.tgz",
+ "integrity": "sha1-0M/R3k9XnymEhJJcKA+PHZTsPKs=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "jest-matcher-utils": "20.0.3",
+ "leven": "2.1.0",
+ "pretty-format": "20.0.3"
+ }
+ },
+ "jit-grunt": {
+ "version": "0.9.1",
+ "resolved": "https://registry.npmjs.org/jit-grunt/-/jit-grunt-0.9.1.tgz",
+ "integrity": "sha1-9mKT31f+Nz7sA9aVTRlmFmNAYZM=",
+ "dev": true
+ },
+ "jju": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/jju/-/jju-1.3.0.tgz",
+ "integrity": "sha1-2t2e8BkkvHKLA/L3l5vb1i96Kqo=",
+ "dev": true
+ },
+ "jodid25519": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz",
+ "integrity": "sha1-BtSRIlUJNBlHfUJWM2BuDpB4KWc=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "jsbn": "0.1.1"
+ }
+ },
+ "jpegtran-bin": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/jpegtran-bin/-/jpegtran-bin-3.2.0.tgz",
+ "integrity": "sha1-9g7PSumZwL2tLp+83ytvCYHnops=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "bin-build": "2.2.0",
+ "bin-wrapper": "3.0.2",
+ "logalot": "2.1.0"
+ }
+ },
+ "js-base64": {
+ "version": "2.1.9",
+ "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.1.9.tgz",
+ "integrity": "sha1-8OgK4DmkvWVLXygfyT8EqRSn/M4=",
+ "dev": true
+ },
+ "js-tokens": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.1.tgz",
+ "integrity": "sha1-COnxMkhKLEWjCQfp3E1VZ7fxFNc=",
+ "dev": true
+ },
+ "js-yaml": {
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz",
+ "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=",
+ "dev": true,
+ "requires": {
+ "argparse": "1.0.9",
+ "esprima": "2.7.3"
+ }
+ },
+ "jsbn": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
+ "dev": true,
+ "optional": true
+ },
+ "jscs": {
+ "version": "1.13.1",
+ "resolved": "https://registry.npmjs.org/jscs/-/jscs-1.13.1.tgz",
+ "integrity": "sha1-fdRuGG8PzgcSzQMerMCkXvfc/rA=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.0.0",
+ "cli-table": "0.3.1",
+ "commander": "2.6.0",
+ "esprima": "1.2.5",
+ "esprima-harmony-jscs": "1.1.0-bin",
+ "estraverse": "1.9.3",
+ "exit": "0.1.2",
+ "glob": "5.0.15",
+ "lodash.assign": "3.0.0",
+ "minimatch": "2.0.10",
+ "pathval": "0.1.1",
+ "prompt": "0.2.14",
+ "strip-json-comments": "1.0.4",
+ "vow": "0.4.16",
+ "vow-fs": "0.3.6",
+ "xmlbuilder": "2.6.5"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-1.1.1.tgz",
+ "integrity": "sha1-QchHGUZGN15qGl0Qw8oFTvn8mA0=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.0.0.tgz",
+ "integrity": "sha1-s89O0P9Tl8mcdbj2edsvUoMfltw=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "2.2.1",
+ "escape-string-regexp": "1.0.5",
+ "has-ansi": "1.0.3",
+ "strip-ansi": "2.0.1",
+ "supports-color": "1.3.1"
+ }
+ },
+ "commander": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.6.0.tgz",
+ "integrity": "sha1-nfflL7Kgyw+4kFjugMMQQiXzfh0=",
+ "dev": true
+ },
+ "esprima": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.5.tgz",
+ "integrity": "sha1-CZNQL+r2aBODJXVvMPmlH+7sEek=",
+ "dev": true
+ },
+ "glob": {
+ "version": "5.0.15",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
+ "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
+ "dev": true,
+ "requires": {
+ "inflight": "1.0.6",
+ "inherits": "2.0.3",
+ "minimatch": "2.0.10",
+ "once": "1.4.0",
+ "path-is-absolute": "1.0.1"
+ }
+ },
+ "has-ansi": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-1.0.3.tgz",
+ "integrity": "sha1-wLWxYV2eOCsP9nFp2We0JeSMpTg=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "1.1.1",
+ "get-stdin": "4.0.1"
+ }
+ },
+ "minimatch": {
+ "version": "2.0.10",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
+ "integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "1.1.7"
+ }
+ },
+ "strip-ansi": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-2.0.1.tgz",
+ "integrity": "sha1-32LBqpTtLxFOHQ8h/R1QSCt5pg4=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "1.1.1"
+ }
+ },
+ "strip-json-comments": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz",
+ "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-1.3.1.tgz",
+ "integrity": "sha1-FXWN8J2P87SswwdTn6vicJXhBC0=",
+ "dev": true
+ }
+ }
+ },
+ "jsdom": {
+ "version": "9.12.0",
+ "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-9.12.0.tgz",
+ "integrity": "sha1-6MVG//ywbADUgzyoRBD+1/igl9Q=",
+ "dev": true,
+ "requires": {
+ "abab": "1.0.3",
+ "acorn": "4.0.13",
+ "acorn-globals": "3.1.0",
+ "array-equal": "1.0.0",
+ "content-type-parser": "1.0.1",
+ "cssom": "0.3.2",
+ "cssstyle": "0.2.37",
+ "escodegen": "1.8.1",
+ "html-encoding-sniffer": "1.0.1",
+ "nwmatcher": "1.4.1",
+ "parse5": "1.5.1",
+ "request": "2.81.0",
+ "sax": "1.2.2",
+ "symbol-tree": "3.2.2",
+ "tough-cookie": "2.3.2",
+ "webidl-conversions": "4.0.1",
+ "whatwg-encoding": "1.0.1",
+ "whatwg-url": "4.8.0",
+ "xml-name-validator": "2.0.1"
+ },
+ "dependencies": {
+ "acorn": {
+ "version": "4.0.13",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz",
+ "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=",
+ "dev": true
+ }
+ }
+ },
+ "jsesc": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
+ "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=",
+ "dev": true
+ },
+ "jshint": {
+ "version": "2.8.0",
+ "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.8.0.tgz",
+ "integrity": "sha1-HQmjvZE8TK36gb8Y1YK9hb/+DUQ=",
+ "dev": true,
+ "requires": {
+ "cli": "0.6.6",
+ "console-browserify": "1.1.0",
+ "exit": "0.1.2",
+ "htmlparser2": "3.8.3",
+ "lodash": "3.7.0",
+ "minimatch": "2.0.10",
+ "shelljs": "0.3.0",
+ "strip-json-comments": "1.0.4"
+ },
+ "dependencies": {
+ "lodash": {
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.7.0.tgz",
+ "integrity": "sha1-Nni9irmVBXwHreg27S7wh9qBHUU=",
+ "dev": true
+ },
+ "minimatch": {
+ "version": "2.0.10",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
+ "integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "1.1.7"
+ }
+ },
+ "strip-json-comments": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz",
+ "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=",
+ "dev": true
+ }
+ }
+ },
+ "jshint-stylish": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/jshint-stylish/-/jshint-stylish-1.0.2.tgz",
+ "integrity": "sha1-6Z88w0CvsY4qdwL4eY10AMoxRGo=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "log-symbols": "1.0.2",
+ "string-length": "1.0.1",
+ "text-table": "0.2.0"
+ },
+ "dependencies": {
+ "string-length": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/string-length/-/string-length-1.0.1.tgz",
+ "integrity": "sha1-VpcPscOFWOnnC3KL894mmsRa36w=",
+ "dev": true,
+ "requires": {
+ "strip-ansi": "3.0.1"
+ }
+ }
+ }
+ },
+ "json-loader": {
+ "version": "0.5.4",
+ "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.4.tgz",
+ "integrity": "sha1-i6oTZaYy9Yo8RtIBdfxgAsluN94=",
+ "dev": true
+ },
+ "json-schema": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
+ "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
+ "dev": true
+ },
+ "json-stable-stringify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
+ "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
+ "dev": true,
+ "requires": {
+ "jsonify": "0.0.0"
+ }
+ },
+ "json-stringify-safe": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
+ "dev": true
+ },
+ "json5": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
+ "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
+ "dev": true
+ },
+ "jsonfile": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
+ "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11"
+ },
+ "dependencies": {
+ "graceful-fs": {
+ "version": "4.1.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "jsonify": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
+ "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
+ "dev": true
+ },
+ "jsonpointer": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz",
+ "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=",
+ "dev": true
+ },
+ "jsprim": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.0.tgz",
+ "integrity": "sha1-o7h+QCmNjDgFUtjMdiigu5WiKRg=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "1.0.0",
+ "extsprintf": "1.0.2",
+ "json-schema": "0.2.3",
+ "verror": "1.3.6"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+ "dev": true
+ }
+ }
+ },
+ "junk": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/junk/-/junk-1.0.3.tgz",
+ "integrity": "sha1-h75jSIZJy9ym9Tqzm+yczSNH9ZI=",
+ "dev": true
+ },
+ "kew": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz",
+ "integrity": "sha1-edk9LTM2PW/dKXCzNdkUGtWR15s=",
+ "dev": true
+ },
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.5"
+ }
+ },
+ "klaw": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz",
+ "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11"
+ },
+ "dependencies": {
+ "graceful-fs": {
+ "version": "4.1.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "latest-version": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-0.2.0.tgz",
+ "integrity": "sha1-ra+JjV8iOA0/nEU4bv3/ChtbdQE=",
+ "dev": true,
+ "requires": {
+ "package-json": "0.2.0"
+ }
+ },
+ "lazy-cache": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
+ "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=",
+ "dev": true
+ },
+ "lazy-req": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/lazy-req/-/lazy-req-1.1.0.tgz",
+ "integrity": "sha1-va6+rTD42CQDnODOFJ1Nqge6H6w=",
+ "dev": true,
+ "optional": true
+ },
+ "lazystream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz",
+ "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "2.2.10"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.2.10",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.10.tgz",
+ "integrity": "sha512-HQEnnoV404e0EtwB9yNiuk2tJ+egeVC8Y9QBAxzDg8DBJt4BzRp+yQuIb/t3FIWkSTmIi+sgx7yVv/ZM0GNoqw==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "1.0.7",
+ "safe-buffer": "5.1.0",
+ "string_decoder": "1.0.1",
+ "util-deprecate": "1.0.2"
+ }
+ },
+ "string_decoder": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz",
+ "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.0"
+ }
+ }
+ }
+ },
+ "lcid": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
+ "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
+ "dev": true,
+ "requires": {
+ "invert-kv": "1.0.0"
+ }
+ },
+ "less": {
+ "version": "2.7.2",
+ "resolved": "https://registry.npmjs.org/less/-/less-2.7.2.tgz",
+ "integrity": "sha1-No1sxz4fsDmBGDKAkYdDxdz5s98=",
+ "dev": true,
+ "requires": {
+ "errno": "0.1.4",
+ "graceful-fs": "4.1.11",
+ "image-size": "0.5.4",
+ "mime": "1.3.4",
+ "mkdirp": "0.5.1",
+ "promise": "7.1.1",
+ "request": "2.81.0",
+ "source-map": "0.5.6"
+ },
+ "dependencies": {
+ "graceful-fs": {
+ "version": "4.1.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "dev": true,
+ "optional": true
+ },
+ "source-map": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "leven": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz",
+ "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=",
+ "dev": true
+ },
+ "levn": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
+ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "1.1.2",
+ "type-check": "0.3.2"
+ }
+ },
+ "load-json-file": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
+ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "parse-json": "2.2.0",
+ "pify": "2.3.0",
+ "pinkie-promise": "2.0.1",
+ "strip-bom": "2.0.0"
+ },
+ "dependencies": {
+ "graceful-fs": {
+ "version": "4.1.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "dev": true
+ }
+ }
+ },
+ "loader-runner": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.0.tgz",
+ "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=",
+ "dev": true
+ },
+ "loader-utils": {
+ "version": "0.2.17",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
+ "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
+ "dev": true,
+ "requires": {
+ "big.js": "3.1.3",
+ "emojis-list": "2.1.0",
+ "json5": "0.5.1",
+ "object-assign": "4.1.1"
+ }
+ },
+ "locate-path": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
+ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
+ "dev": true,
+ "requires": {
+ "p-locate": "2.0.0",
+ "path-exists": "3.0.0"
+ },
+ "dependencies": {
+ "path-exists": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
+ "dev": true
+ }
+ }
+ },
+ "lockfile": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/lockfile/-/lockfile-1.0.3.tgz",
+ "integrity": "sha1-Jjj8OaAzHpysGgS3F5mTHJxQ33k=",
+ "dev": true
+ },
+ "lodash": {
+ "version": "4.17.4",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
+ "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4="
+ },
+ "lodash._baseassign": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz",
+ "integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=",
+ "dev": true,
+ "requires": {
+ "lodash._basecopy": "3.0.1",
+ "lodash.keys": "3.1.2"
+ }
+ },
+ "lodash._basecopy": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
+ "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=",
+ "dev": true
+ },
+ "lodash._basetostring": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz",
+ "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=",
+ "dev": true
+ },
+ "lodash._basevalues": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz",
+ "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=",
+ "dev": true
+ },
+ "lodash._bindcallback": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz",
+ "integrity": "sha1-5THCdkTPi1epnhftlbNcdIeJOS4=",
+ "dev": true
+ },
+ "lodash._createassigner": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/lodash._createassigner/-/lodash._createassigner-3.1.1.tgz",
+ "integrity": "sha1-g4pbri/aymOsIt7o4Z+k5taXCxE=",
+ "dev": true,
+ "requires": {
+ "lodash._bindcallback": "3.0.1",
+ "lodash._isiterateecall": "3.0.9",
+ "lodash.restparam": "3.6.1"
+ }
+ },
+ "lodash._getnative": {
+ "version": "3.9.1",
+ "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz",
+ "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=",
+ "dev": true
+ },
+ "lodash._isiterateecall": {
+ "version": "3.0.9",
+ "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz",
+ "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=",
+ "dev": true
+ },
+ "lodash._isnative": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz",
+ "integrity": "sha1-PqZAS3hKe+g2x7V1gOHN95sUgyw=",
+ "dev": true
+ },
+ "lodash._objecttypes": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz",
+ "integrity": "sha1-fAt/admKH3ZSn4kLDNsbTf7BHBE=",
+ "dev": true
+ },
+ "lodash._reescape": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz",
+ "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=",
+ "dev": true
+ },
+ "lodash._reevaluate": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz",
+ "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=",
+ "dev": true
+ },
+ "lodash._reinterpolate": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
+ "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=",
+ "dev": true
+ },
+ "lodash._root": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz",
+ "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=",
+ "dev": true
+ },
+ "lodash.assign": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-3.0.0.tgz",
+ "integrity": "sha1-93SdFYCkEgJzo3H1SmaxTJ1yJvo=",
+ "dev": true,
+ "requires": {
+ "lodash._baseassign": "3.2.0",
+ "lodash._createassigner": "3.1.1"
+ }
+ },
+ "lodash.camelcase": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
+ "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=",
+ "dev": true
+ },
+ "lodash.debounce": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-2.4.1.tgz",
+ "integrity": "sha1-2M6tJG7EuSbouFZ4/Dlr/rqMxvw=",
+ "dev": true,
+ "requires": {
+ "lodash.isfunction": "2.4.1",
+ "lodash.isobject": "2.4.1",
+ "lodash.now": "2.4.1"
+ }
+ },
+ "lodash.escape": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz",
+ "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=",
+ "dev": true,
+ "requires": {
+ "lodash._root": "3.0.1"
+ }
+ },
+ "lodash.isarguments": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
+ "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=",
+ "dev": true
+ },
+ "lodash.isarray": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz",
+ "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=",
+ "dev": true
+ },
+ "lodash.isequal": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
+ "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=",
+ "dev": true
+ },
+ "lodash.isfunction": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-2.4.1.tgz",
+ "integrity": "sha1-LP1XXHPkmKtX4xm3f6Aq3vE6lNE=",
+ "dev": true
+ },
+ "lodash.isobject": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz",
+ "integrity": "sha1-Wi5H/mmVPx7mMafrof5k0tBlWPU=",
+ "dev": true,
+ "requires": {
+ "lodash._objecttypes": "2.4.1"
+ }
+ },
+ "lodash.keys": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz",
+ "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=",
+ "dev": true,
+ "requires": {
+ "lodash._getnative": "3.9.1",
+ "lodash.isarguments": "3.1.0",
+ "lodash.isarray": "3.0.4"
+ }
+ },
+ "lodash.memoize": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
+ "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
+ "dev": true
+ },
+ "lodash.now": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/lodash.now/-/lodash.now-2.4.1.tgz",
+ "integrity": "sha1-aHIVZQBSUYX6+WeFu3/n/hW1YsY=",
+ "dev": true,
+ "requires": {
+ "lodash._isnative": "2.4.1"
+ }
+ },
+ "lodash.restparam": {
+ "version": "3.6.1",
+ "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz",
+ "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=",
+ "dev": true
+ },
+ "lodash.template": {
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz",
+ "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=",
+ "dev": true,
+ "requires": {
+ "lodash._basecopy": "3.0.1",
+ "lodash._basetostring": "3.0.1",
+ "lodash._basevalues": "3.0.0",
+ "lodash._isiterateecall": "3.0.9",
+ "lodash._reinterpolate": "3.0.0",
+ "lodash.escape": "3.2.0",
+ "lodash.keys": "3.1.2",
+ "lodash.restparam": "3.6.1",
+ "lodash.templatesettings": "3.1.1"
+ }
+ },
+ "lodash.templatesettings": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz",
+ "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=",
+ "dev": true,
+ "requires": {
+ "lodash._reinterpolate": "3.0.0",
+ "lodash.escape": "3.2.0"
+ }
+ },
+ "lodash.uniq": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
+ "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=",
+ "dev": true
+ },
+ "log-symbols": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz",
+ "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3"
+ }
+ },
+ "logalot": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/logalot/-/logalot-2.1.0.tgz",
+ "integrity": "sha1-X46MkNME7fElMJUaVVSruMXj9VI=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "figures": "1.7.0",
+ "squeak": "1.3.0"
+ }
+ },
+ "longest": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
+ "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=",
+ "dev": true
+ },
+ "loose-envify": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz",
+ "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=",
+ "dev": true,
+ "requires": {
+ "js-tokens": "3.0.1"
+ }
+ },
+ "loud-rejection": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
+ "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
+ "dev": true,
+ "requires": {
+ "currently-unhandled": "0.4.1",
+ "signal-exit": "3.0.2"
+ }
+ },
+ "lower-case": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz",
+ "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=",
+ "dev": true
+ },
+ "lower-case-first": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/lower-case-first/-/lower-case-first-1.0.2.tgz",
+ "integrity": "sha1-5dp8JvKacHO+AtUrrJmA5ZIq36E=",
+ "dev": true,
+ "requires": {
+ "lower-case": "1.1.4"
+ }
+ },
+ "lowercase-keys": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz",
+ "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=",
+ "dev": true
+ },
+ "lpad": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/lpad/-/lpad-1.0.0.tgz",
+ "integrity": "sha1-ojHdLBKaTuvHM1syTBR+3jq/tto=",
+ "dev": true
+ },
+ "lpad-align": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/lpad-align/-/lpad-align-1.1.2.tgz",
+ "integrity": "sha1-IfYArBwwlcPG5JfuZyce4ISB/p4=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "get-stdin": "4.0.1",
+ "indent-string": "2.1.0",
+ "longest": "1.0.1",
+ "meow": "3.7.0"
+ }
+ },
+ "lru-cache": {
+ "version": "2.7.3",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz",
+ "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=",
+ "dev": true
+ },
+ "lru-queue": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz",
+ "integrity": "sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=",
+ "dev": true,
+ "requires": {
+ "es5-ext": "0.10.22"
+ }
+ },
+ "macaddress": {
+ "version": "0.2.8",
+ "resolved": "https://registry.npmjs.org/macaddress/-/macaddress-0.2.8.tgz",
+ "integrity": "sha1-WQTcU3w57G2+/q6QIycTX6hRHxI=",
+ "dev": true
+ },
+ "makeerror": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz",
+ "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=",
+ "dev": true,
+ "requires": {
+ "tmpl": "1.0.4"
+ }
+ },
+ "map-obj": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
+ "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
+ "dev": true
+ },
+ "math-expression-evaluator": {
+ "version": "1.2.17",
+ "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz",
+ "integrity": "sha1-3oGf282E3M2PrlnGrreWFbnSZqw=",
+ "dev": true
+ },
+ "maxmin": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/maxmin/-/maxmin-1.1.0.tgz",
+ "integrity": "sha1-cTZehKmd2Piz99X94vANHn9zvmE=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "figures": "1.7.0",
+ "gzip-size": "1.0.0",
+ "pretty-bytes": "1.0.4"
+ }
+ },
+ "media-typer": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+ "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
+ "dev": true
+ },
+ "memoizee": {
+ "version": "0.3.10",
+ "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.3.10.tgz",
+ "integrity": "sha1-TsoNiu057J0Bf0xcLy9kMvQuXI8=",
+ "dev": true,
+ "requires": {
+ "d": "0.1.1",
+ "es5-ext": "0.10.22",
+ "es6-weak-map": "0.1.4",
+ "event-emitter": "0.3.5",
+ "lru-queue": "0.1.0",
+ "next-tick": "0.2.2",
+ "timers-ext": "0.1.2"
+ }
+ },
+ "memory-fs": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
+ "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
+ "dev": true,
+ "requires": {
+ "errno": "0.1.4",
+ "readable-stream": "2.2.10"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.2.10",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.10.tgz",
+ "integrity": "sha512-HQEnnoV404e0EtwB9yNiuk2tJ+egeVC8Y9QBAxzDg8DBJt4BzRp+yQuIb/t3FIWkSTmIi+sgx7yVv/ZM0GNoqw==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "1.0.7",
+ "safe-buffer": "5.1.0",
+ "string_decoder": "1.0.1",
+ "util-deprecate": "1.0.2"
+ }
+ },
+ "string_decoder": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz",
+ "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.0"
+ }
+ }
+ }
+ },
+ "meow": {
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
+ "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
+ "dev": true,
+ "requires": {
+ "camelcase-keys": "2.1.0",
+ "decamelize": "1.2.0",
+ "loud-rejection": "1.6.0",
+ "map-obj": "1.0.1",
+ "minimist": "1.2.0",
+ "normalize-package-data": "2.3.8",
+ "object-assign": "4.1.1",
+ "read-pkg-up": "1.0.1",
+ "redent": "1.0.0",
+ "trim-newlines": "1.0.0"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ }
+ }
+ },
+ "merge": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.0.tgz",
+ "integrity": "sha1-dTHjnUlJwoGma4xabgJl6LBYlNo=",
+ "dev": true
+ },
+ "merge-stream": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz",
+ "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "2.2.10"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.2.10",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.10.tgz",
+ "integrity": "sha512-HQEnnoV404e0EtwB9yNiuk2tJ+egeVC8Y9QBAxzDg8DBJt4BzRp+yQuIb/t3FIWkSTmIi+sgx7yVv/ZM0GNoqw==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "1.0.7",
+ "safe-buffer": "5.1.0",
+ "string_decoder": "1.0.1",
+ "util-deprecate": "1.0.2"
+ }
+ },
+ "string_decoder": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz",
+ "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.0"
+ }
+ }
+ }
+ },
+ "method-override": {
+ "version": "2.3.9",
+ "resolved": "https://registry.npmjs.org/method-override/-/method-override-2.3.9.tgz",
+ "integrity": "sha1-vRUfLONM8Bp2ykAKuVwBKxAtj3E=",
+ "dev": true,
+ "requires": {
+ "debug": "2.6.8",
+ "methods": "1.1.2",
+ "parseurl": "1.3.1",
+ "vary": "1.1.1"
+ },
+ "dependencies": {
+ "vary": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.1.tgz",
+ "integrity": "sha1-Z1Neu2lMHVIldFeYRmUyP1h+jTc=",
+ "dev": true
+ }
+ }
+ },
+ "methods": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
+ "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=",
+ "dev": true
+ },
+ "micromatch": {
+ "version": "2.3.11",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
+ "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
+ "dev": true,
+ "requires": {
+ "arr-diff": "2.0.0",
+ "array-unique": "0.2.1",
+ "braces": "1.8.5",
+ "expand-brackets": "0.1.5",
+ "extglob": "0.3.2",
+ "filename-regex": "2.0.1",
+ "is-extglob": "1.0.0",
+ "is-glob": "2.0.1",
+ "kind-of": "3.2.2",
+ "normalize-path": "2.1.1",
+ "object.omit": "2.0.1",
+ "parse-glob": "3.0.4",
+ "regex-cache": "0.4.3"
+ },
+ "dependencies": {
+ "is-extglob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
+ "dev": true
+ },
+ "is-glob": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "1.0.0"
+ }
+ }
+ }
+ },
+ "miller-rabin": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.0.tgz",
+ "integrity": "sha1-SmL7HUKTPAVYOYL0xxb2+55sbT0=",
+ "dev": true,
+ "requires": {
+ "bn.js": "4.11.6",
+ "brorand": "1.1.0"
+ }
+ },
+ "mime": {
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz",
+ "integrity": "sha1-EV+eO2s9rylZmDyzjxSaLUDrXVM=",
+ "dev": true
+ },
+ "mime-db": {
+ "version": "1.27.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.27.0.tgz",
+ "integrity": "sha1-gg9XIpa70g7CXtVeW13oaeVDbrE=",
+ "dev": true
+ },
+ "mime-types": {
+ "version": "2.1.15",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz",
+ "integrity": "sha1-pOv1BkCUVpI3uM9wBGd20J/JKu0=",
+ "dev": true,
+ "requires": {
+ "mime-db": "1.27.0"
+ }
+ },
+ "minimalistic-assert": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz",
+ "integrity": "sha1-cCvi3aazf0g2vLP121ZkG2Sh09M=",
+ "dev": true
+ },
+ "minimalistic-crypto-utils": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
+ "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=",
+ "dev": true
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "1.1.7"
+ }
+ },
+ "minimist": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
+ "dev": true
+ },
+ "mkdirp": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+ "dev": true,
+ "requires": {
+ "minimist": "0.0.8"
+ }
+ },
+ "mkpath": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/mkpath/-/mkpath-0.1.0.tgz",
+ "integrity": "sha1-dVSm+Nhxg0zJe1RisSLEwSTW3pE=",
+ "dev": true
+ },
+ "morgan": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.6.1.tgz",
+ "integrity": "sha1-X9gYOYxoGcuiinzWZk8pL+HAu/I=",
+ "dev": true,
+ "requires": {
+ "basic-auth": "1.0.4",
+ "debug": "2.2.0",
+ "depd": "1.0.1",
+ "on-finished": "2.3.0",
+ "on-headers": "1.0.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
+ "dev": true,
+ "requires": {
+ "ms": "0.7.1"
+ }
+ },
+ "ms": {
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
+ "dev": true
+ }
+ }
+ },
+ "mout": {
+ "version": "0.9.1",
+ "resolved": "https://registry.npmjs.org/mout/-/mout-0.9.1.tgz",
+ "integrity": "sha1-hPDz/WrMcxf2PeKv/cwM7gCbBHc=",
+ "dev": true
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "dev": true
+ },
+ "multiparty": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/multiparty/-/multiparty-3.3.2.tgz",
+ "integrity": "sha1-Nd5oBNwZZD5SSfPT473GyM4wHT8=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "1.1.14",
+ "stream-counter": "0.2.0"
+ }
+ },
+ "multipipe": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz",
+ "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=",
+ "dev": true,
+ "requires": {
+ "duplexer2": "0.0.2"
+ },
+ "dependencies": {
+ "duplexer2": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz",
+ "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "1.1.14"
+ }
+ }
+ }
+ },
+ "mute-stream": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.4.tgz",
+ "integrity": "sha1-qSGZYKbV1dBGWXruUSUsZlX3F34=",
+ "dev": true
+ },
+ "nan": {
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz",
+ "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==",
+ "dev": true,
+ "optional": true
+ },
+ "natives": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/natives/-/natives-1.1.0.tgz",
+ "integrity": "sha1-6f+EFBimsux6SV6TmYT3jxY+bjE=",
+ "dev": true
+ },
+ "natural-compare": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
+ "dev": true
+ },
+ "ncp": {
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz",
+ "integrity": "sha1-q8xsvT7C7Spyn/bnwfqPAXhKhXQ=",
+ "dev": true
+ },
+ "negotiator": {
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.5.3.tgz",
+ "integrity": "sha1-Jp1cR2gQ7JLtvntsLygxY4T5p+g=",
+ "dev": true
+ },
+ "next-tick": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-0.2.2.tgz",
+ "integrity": "sha1-ddpKkn7liH45BliABltzNkE7MQ0=",
+ "dev": true
+ },
+ "ng-annotate": {
+ "version": "0.15.4",
+ "resolved": "https://registry.npmjs.org/ng-annotate/-/ng-annotate-0.15.4.tgz",
+ "integrity": "sha1-ZQdSXI8vKPh4e824mPVtmzEGbpM=",
+ "dev": true,
+ "requires": {
+ "acorn": "0.11.0",
+ "alter": "0.2.0",
+ "convert-source-map": "0.4.1",
+ "optimist": "0.6.1",
+ "ordered-ast-traverse": "1.1.1",
+ "simple-fmt": "0.1.0",
+ "simple-is": "0.2.0",
+ "source-map": "0.1.43",
+ "stable": "0.1.6",
+ "stringmap": "0.2.2",
+ "stringset": "0.2.1",
+ "tryor": "0.1.2"
+ },
+ "dependencies": {
+ "convert-source-map": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.4.1.tgz",
+ "integrity": "sha1-+RmgCZ/jH4D8Wh0OswMWGzlAcMc=",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.1.43",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
+ "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
+ "dev": true,
+ "requires": {
+ "amdefine": "1.0.1"
+ }
+ }
+ }
+ },
+ "node-int64": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
+ "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=",
+ "dev": true
+ },
+ "node-libs-browser": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.0.0.tgz",
+ "integrity": "sha1-o6WeyXAkmFtG6Vg3lkb5bEthZkY=",
+ "dev": true,
+ "requires": {
+ "assert": "1.4.1",
+ "browserify-zlib": "0.1.4",
+ "buffer": "4.9.1",
+ "console-browserify": "1.1.0",
+ "constants-browserify": "1.0.0",
+ "crypto-browserify": "3.11.0",
+ "domain-browser": "1.1.7",
+ "events": "1.1.1",
+ "https-browserify": "0.0.1",
+ "os-browserify": "0.2.1",
+ "path-browserify": "0.0.0",
+ "process": "0.11.10",
+ "punycode": "1.4.1",
+ "querystring-es3": "0.2.1",
+ "readable-stream": "2.2.10",
+ "stream-browserify": "2.0.1",
+ "stream-http": "2.7.1",
+ "string_decoder": "0.10.31",
+ "timers-browserify": "2.0.2",
+ "tty-browserify": "0.0.0",
+ "url": "0.11.0",
+ "util": "0.10.3",
+ "vm-browserify": "0.0.4"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.2.10",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.10.tgz",
+ "integrity": "sha512-HQEnnoV404e0EtwB9yNiuk2tJ+egeVC8Y9QBAxzDg8DBJt4BzRp+yQuIb/t3FIWkSTmIi+sgx7yVv/ZM0GNoqw==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "1.0.7",
+ "safe-buffer": "5.1.0",
+ "string_decoder": "1.0.1",
+ "util-deprecate": "1.0.2"
+ },
+ "dependencies": {
+ "string_decoder": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz",
+ "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.0"
+ }
+ }
+ }
+ }
+ }
+ },
+ "node-notifier": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.1.2.tgz",
+ "integrity": "sha1-L6nhJgX6EACdRFSdb82KY93g5P8=",
+ "dev": true,
+ "requires": {
+ "growly": "1.3.0",
+ "semver": "5.3.0",
+ "shellwords": "0.1.0",
+ "which": "1.3.0"
+ },
+ "dependencies": {
+ "which": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz",
+ "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==",
+ "dev": true,
+ "requires": {
+ "isexe": "2.0.0"
+ }
+ }
+ }
+ },
+ "node-status-codes": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/node-status-codes/-/node-status-codes-1.0.0.tgz",
+ "integrity": "sha1-WuVUHQJGRdMqWPzdyc7s6nrjrC8=",
+ "dev": true
+ },
+ "node-uuid": {
+ "version": "1.4.8",
+ "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz",
+ "integrity": "sha1-sEDrCSOWivq/jTL7HxfxFn/auQc=",
+ "dev": true
+ },
+ "nopt": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz",
+ "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=",
+ "dev": true,
+ "requires": {
+ "abbrev": "1.1.0"
+ }
+ },
+ "noptify": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/noptify/-/noptify-0.0.3.tgz",
+ "integrity": "sha1-WPZUpz2XU98MUdlobckhBKZ/S7s=",
+ "dev": true,
+ "requires": {
+ "nopt": "2.0.0"
+ },
+ "dependencies": {
+ "nopt": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-2.0.0.tgz",
+ "integrity": "sha1-ynQW8gpeP5w7hhgPlilfo9C1Lg0=",
+ "dev": true,
+ "requires": {
+ "abbrev": "1.1.0"
+ }
+ }
+ }
+ },
+ "normalize-package-data": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.8.tgz",
+ "integrity": "sha1-2Bntoqne29H/pWPqQHHZNngilbs=",
+ "dev": true,
+ "requires": {
+ "hosted-git-info": "2.4.2",
+ "is-builtin-module": "1.0.0",
+ "semver": "5.3.0",
+ "validate-npm-package-license": "3.0.1"
+ }
+ },
+ "normalize-path": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+ "dev": true,
+ "requires": {
+ "remove-trailing-separator": "1.0.1"
+ }
+ },
+ "normalize-range": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
+ "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=",
+ "dev": true
+ },
+ "normalize-url": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz",
+ "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=",
+ "dev": true,
+ "requires": {
+ "object-assign": "4.1.1",
+ "prepend-http": "1.0.4",
+ "query-string": "4.3.4",
+ "sort-keys": "1.1.2"
+ }
+ },
+ "npmconf": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/npmconf/-/npmconf-2.1.2.tgz",
+ "integrity": "sha1-ZmBqSnNvHnegWaoHGnnJSreBhTo=",
+ "dev": true,
+ "requires": {
+ "config-chain": "1.1.11",
+ "inherits": "2.0.3",
+ "ini": "1.3.4",
+ "mkdirp": "0.5.1",
+ "nopt": "3.0.6",
+ "once": "1.3.3",
+ "osenv": "0.1.0",
+ "semver": "4.3.6",
+ "uid-number": "0.0.5"
+ },
+ "dependencies": {
+ "nopt": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
+ "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
+ "dev": true,
+ "requires": {
+ "abbrev": "1.1.0"
+ }
+ },
+ "once": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz",
+ "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=",
+ "dev": true,
+ "requires": {
+ "wrappy": "1.0.2"
+ }
+ },
+ "semver": {
+ "version": "4.3.6",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz",
+ "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=",
+ "dev": true
+ }
+ }
+ },
+ "num2fraction": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz",
+ "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=",
+ "dev": true
+ },
+ "number-is-nan": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
+ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
+ "dev": true
+ },
+ "nwmatcher": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.4.1.tgz",
+ "integrity": "sha1-eumwew6oBNt+JfBctf5Al9TklJ8=",
+ "dev": true
+ },
+ "oauth-sign": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
+ "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=",
+ "dev": true
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true
+ },
+ "object.omit": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
+ "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
+ "dev": true,
+ "requires": {
+ "for-own": "0.1.5",
+ "is-extendable": "0.1.1"
+ }
+ },
+ "on-finished": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
+ "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
+ "dev": true,
+ "requires": {
+ "ee-first": "1.1.1"
+ }
+ },
+ "on-headers": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz",
+ "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=",
+ "dev": true
+ },
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "dev": true,
+ "requires": {
+ "wrappy": "1.0.2"
+ }
+ },
+ "onetime": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz",
+ "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=",
+ "dev": true
+ },
+ "opn": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/opn/-/opn-1.0.2.tgz",
+ "integrity": "sha1-uQlkM0bQChq8l3qLlvPOPFPVz18=",
+ "dev": true
+ },
+ "optimist": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
+ "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
+ "dev": true,
+ "requires": {
+ "minimist": "0.0.8",
+ "wordwrap": "0.0.2"
+ }
+ },
+ "optional": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/optional/-/optional-0.1.3.tgz",
+ "integrity": "sha1-+HU3UXtZpecyz9jxjk9+6nq0dh4=",
+ "dev": true
+ },
+ "optionator": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
+ "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=",
+ "dev": true,
+ "requires": {
+ "deep-is": "0.1.3",
+ "fast-levenshtein": "2.0.6",
+ "levn": "0.3.0",
+ "prelude-ls": "1.1.2",
+ "type-check": "0.3.2",
+ "wordwrap": "1.0.0"
+ },
+ "dependencies": {
+ "wordwrap": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
+ "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
+ "dev": true
+ }
+ }
+ },
+ "optipng-bin": {
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/optipng-bin/-/optipng-bin-3.1.4.tgz",
+ "integrity": "sha1-ldNPLEiHBPb9cGBr/qDGWfHZXYQ=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "bin-build": "2.2.0",
+ "bin-wrapper": "3.0.2",
+ "logalot": "2.1.0"
+ }
+ },
+ "ordered-ast-traverse": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ordered-ast-traverse/-/ordered-ast-traverse-1.1.1.tgz",
+ "integrity": "sha1-aEOhcLwO7otSDMjdwd3TqjD6BXw=",
+ "dev": true,
+ "requires": {
+ "ordered-esprima-props": "1.1.0"
+ }
+ },
+ "ordered-esprima-props": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/ordered-esprima-props/-/ordered-esprima-props-1.1.0.tgz",
+ "integrity": "sha1-qYJwht9fAQqmDpvQK24DNc6i/8s=",
+ "dev": true
+ },
+ "ordered-read-streams": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz",
+ "integrity": "sha1-cTfmmzKYuzQiR6G77jiByA4v14s=",
+ "dev": true,
+ "requires": {
+ "is-stream": "1.1.0",
+ "readable-stream": "2.2.10"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.2.10",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.10.tgz",
+ "integrity": "sha512-HQEnnoV404e0EtwB9yNiuk2tJ+egeVC8Y9QBAxzDg8DBJt4BzRp+yQuIb/t3FIWkSTmIi+sgx7yVv/ZM0GNoqw==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "1.0.7",
+ "safe-buffer": "5.1.0",
+ "string_decoder": "1.0.1",
+ "util-deprecate": "1.0.2"
+ }
+ },
+ "string_decoder": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz",
+ "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.0"
+ }
+ }
+ }
+ },
+ "os-browserify": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.2.1.tgz",
+ "integrity": "sha1-Y/xMzuXS13Y9Jrv4YBB45sLgBE8=",
+ "dev": true
+ },
+ "os-filter-obj": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/os-filter-obj/-/os-filter-obj-1.0.3.tgz",
+ "integrity": "sha1-WRUzDZDs7VV9LZOKMcbdIU2cY60=",
+ "dev": true,
+ "optional": true
+ },
+ "os-homedir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
+ "dev": true
+ },
+ "os-locale": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
+ "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
+ "dev": true,
+ "requires": {
+ "lcid": "1.0.0"
+ }
+ },
+ "os-name": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/os-name/-/os-name-1.0.3.tgz",
+ "integrity": "sha1-GzefZINa98Wn9JizV8uVIVwVnt8=",
+ "dev": true,
+ "requires": {
+ "osx-release": "1.1.0",
+ "win-release": "1.1.1"
+ }
+ },
+ "os-tmpdir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
+ "dev": true
+ },
+ "osenv": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.0.tgz",
+ "integrity": "sha1-YWaBIe7FhJVQMLn0cLHSMJUEv8s=",
+ "dev": true
+ },
+ "osx-release": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/osx-release/-/osx-release-1.1.0.tgz",
+ "integrity": "sha1-8heRGigTaUmvG/kwiyQeJzfTzWw=",
+ "dev": true,
+ "requires": {
+ "minimist": "1.2.0"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ }
+ }
+ },
+ "p-limit": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.1.0.tgz",
+ "integrity": "sha1-sH/y2aXYi+yAYDWJWiurZqJ5iLw=",
+ "dev": true
+ },
+ "p-locate": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
+ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
+ "dev": true,
+ "requires": {
+ "p-limit": "1.1.0"
+ }
+ },
+ "p-map": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.1.1.tgz",
+ "integrity": "sha1-BfXkrpegaDcbwqXMhr+9vBnErno=",
+ "dev": true
+ },
+ "p-throttler": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/p-throttler/-/p-throttler-0.1.0.tgz",
+ "integrity": "sha1-GxaQeULDM+bx3eq8s0eSBLjEF8Q=",
+ "dev": true,
+ "requires": {
+ "q": "0.9.7"
+ },
+ "dependencies": {
+ "q": {
+ "version": "0.9.7",
+ "resolved": "https://registry.npmjs.org/q/-/q-0.9.7.tgz",
+ "integrity": "sha1-TeLmyzspCIyeTLwDv51C+5bOL3U=",
+ "dev": true
+ }
+ }
+ },
+ "package-json": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/package-json/-/package-json-0.2.0.tgz",
+ "integrity": "sha1-Axbhd7jrFJmF009wa0pVQ7J0vsU=",
+ "dev": true,
+ "requires": {
+ "got": "0.3.0",
+ "registry-url": "0.1.1"
+ },
+ "dependencies": {
+ "got": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/got/-/got-0.3.0.tgz",
+ "integrity": "sha1-iI7GbKS8c1qwidvpWUltD3lIVJM=",
+ "dev": true,
+ "requires": {
+ "object-assign": "0.3.1"
+ }
+ },
+ "object-assign": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-0.3.1.tgz",
+ "integrity": "sha1-Bg4qKifXwNd+x3t48Rqkf9iACNI=",
+ "dev": true
+ }
+ }
+ },
+ "pad-stdio": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/pad-stdio/-/pad-stdio-1.0.0.tgz",
+ "integrity": "sha1-ebKCriWOWH9pXb0DgZFDYsDJj8s=",
+ "dev": true,
+ "requires": {
+ "lpad": "1.0.0"
+ }
+ },
+ "pako": {
+ "version": "0.2.9",
+ "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz",
+ "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=",
+ "dev": true
+ },
+ "param-case": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/param-case/-/param-case-1.1.2.tgz",
+ "integrity": "sha1-3LCRpDwlm5Io8cNB57akTqC/l0M=",
+ "dev": true,
+ "requires": {
+ "sentence-case": "1.1.3"
+ }
+ },
+ "parse-asn1": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz",
+ "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=",
+ "dev": true,
+ "requires": {
+ "asn1.js": "4.9.1",
+ "browserify-aes": "1.0.6",
+ "create-hash": "1.1.3",
+ "evp_bytestokey": "1.0.0",
+ "pbkdf2": "3.0.12"
+ }
+ },
+ "parse-glob": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
+ "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
+ "dev": true,
+ "requires": {
+ "glob-base": "0.3.0",
+ "is-dotfile": "1.0.3",
+ "is-extglob": "1.0.0",
+ "is-glob": "2.0.1"
+ },
+ "dependencies": {
+ "is-extglob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
+ "dev": true
+ },
+ "is-glob": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "1.0.0"
+ }
+ }
+ }
+ },
+ "parse-json": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+ "dev": true,
+ "requires": {
+ "error-ex": "1.3.1"
+ }
+ },
+ "parse-ms": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-1.0.1.tgz",
+ "integrity": "sha1-VjRtR0nXjyNDDKDHE4UK75GqNh0=",
+ "dev": true
+ },
+ "parse5": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-1.5.1.tgz",
+ "integrity": "sha1-m387DeMr543CQBsXVzzK8Pb1nZQ=",
+ "dev": true
+ },
+ "parseurl": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz",
+ "integrity": "sha1-yKuMkiO6NIiKpkopeyiFO+wY2lY=",
+ "dev": true
+ },
+ "pascal-case": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-1.1.2.tgz",
+ "integrity": "sha1-Pl1kogBDgwp8STRMLXS0G+DJyZs=",
+ "dev": true,
+ "requires": {
+ "camel-case": "1.2.2",
+ "upper-case-first": "1.1.2"
+ }
+ },
+ "path-browserify": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz",
+ "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=",
+ "dev": true
+ },
+ "path-case": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/path-case/-/path-case-1.1.2.tgz",
+ "integrity": "sha1-UM5roNO+090LXCqcRVNpdDRAlRQ=",
+ "dev": true,
+ "requires": {
+ "sentence-case": "1.1.3"
+ }
+ },
+ "path-dirname": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
+ "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
+ "dev": true
+ },
+ "path-exists": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
+ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
+ "dev": true,
+ "requires": {
+ "pinkie-promise": "2.0.1"
+ }
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+ "dev": true
+ },
+ "path-parse": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz",
+ "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=",
+ "dev": true
+ },
+ "path-type": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
+ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "pify": "2.3.0",
+ "pinkie-promise": "2.0.1"
+ },
+ "dependencies": {
+ "graceful-fs": {
+ "version": "4.1.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "dev": true
+ }
+ }
+ },
+ "pathval": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/pathval/-/pathval-0.1.1.tgz",
+ "integrity": "sha1-CPkRzcqczllCiA2ngXvAtyO2bYI=",
+ "dev": true
+ },
+ "pause": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/pause/-/pause-0.1.0.tgz",
+ "integrity": "sha1-68ikqGGf8LioGsFRPDQ0/0af23Q=",
+ "dev": true
+ },
+ "pbkdf2": {
+ "version": "3.0.12",
+ "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.12.tgz",
+ "integrity": "sha1-vjZ4XFBn6kjYBv+SMojF91C2uKI=",
+ "dev": true,
+ "requires": {
+ "create-hash": "1.1.3",
+ "create-hmac": "1.1.6",
+ "ripemd160": "2.0.1",
+ "safe-buffer": "5.1.0",
+ "sha.js": "2.4.8"
+ }
+ },
+ "pend": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
+ "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=",
+ "dev": true
+ },
+ "performance-now": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz",
+ "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=",
+ "dev": true
+ },
+ "phantomjs-prebuilt": {
+ "version": "2.1.14",
+ "resolved": "https://registry.npmjs.org/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.14.tgz",
+ "integrity": "sha1-1T0xH8+30dCN2yQBRVjxGIxRbaA=",
+ "dev": true,
+ "requires": {
+ "es6-promise": "4.0.5",
+ "extract-zip": "1.5.0",
+ "fs-extra": "1.0.0",
+ "hasha": "2.2.0",
+ "kew": "0.7.0",
+ "progress": "1.1.8",
+ "request": "2.79.0",
+ "request-progress": "2.0.1",
+ "which": "1.2.14"
+ },
+ "dependencies": {
+ "caseless": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz",
+ "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=",
+ "dev": true
+ },
+ "commander": {
+ "version": "2.9.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
+ "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=",
+ "dev": true,
+ "requires": {
+ "graceful-readlink": "1.0.1"
+ }
+ },
+ "es6-promise": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.0.5.tgz",
+ "integrity": "sha1-eILzCt3lskDM+n99eMVIMwlRrkI=",
+ "dev": true
+ },
+ "har-validator": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz",
+ "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "commander": "2.9.0",
+ "is-my-json-valid": "2.16.0",
+ "pinkie-promise": "2.0.1"
+ }
+ },
+ "qs": {
+ "version": "6.3.2",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz",
+ "integrity": "sha1-51vV9uJoEioqDgvaYwslUMFmUCw=",
+ "dev": true
+ },
+ "request": {
+ "version": "2.79.0",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz",
+ "integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=",
+ "dev": true,
+ "requires": {
+ "aws-sign2": "0.6.0",
+ "aws4": "1.6.0",
+ "caseless": "0.11.0",
+ "combined-stream": "1.0.5",
+ "extend": "3.0.1",
+ "forever-agent": "0.6.1",
+ "form-data": "2.1.4",
+ "har-validator": "2.0.6",
+ "hawk": "3.1.3",
+ "http-signature": "1.1.1",
+ "is-typedarray": "1.0.0",
+ "isstream": "0.1.2",
+ "json-stringify-safe": "5.0.1",
+ "mime-types": "2.1.15",
+ "oauth-sign": "0.8.2",
+ "qs": "6.3.2",
+ "stringstream": "0.0.5",
+ "tough-cookie": "2.3.2",
+ "tunnel-agent": "0.4.3",
+ "uuid": "3.0.1"
+ }
+ },
+ "request-progress": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz",
+ "integrity": "sha1-XTa7V5YcZzqlt4jbyBQf3yO0Tgg=",
+ "dev": true,
+ "requires": {
+ "throttleit": "1.0.0"
+ }
+ },
+ "throttleit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz",
+ "integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=",
+ "dev": true
+ },
+ "uuid": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz",
+ "integrity": "sha1-ZUS7ot/ajBzxfmKaOjBeK7H+5sE=",
+ "dev": true
+ },
+ "which": {
+ "version": "1.2.14",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.2.14.tgz",
+ "integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU=",
+ "dev": true,
+ "requires": {
+ "isexe": "2.0.0"
+ }
+ }
+ }
+ },
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true
+ },
+ "pinkie": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
+ "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
+ "dev": true
+ },
+ "pinkie-promise": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
+ "dev": true,
+ "requires": {
+ "pinkie": "2.0.4"
+ }
+ },
+ "pkg-dir": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz",
+ "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=",
+ "dev": true,
+ "requires": {
+ "find-up": "1.1.2"
+ }
+ },
+ "pkginfo": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.0.tgz",
+ "integrity": "sha1-NJ27f/04CB/K3AhT32h/DHdEzWU=",
+ "dev": true
+ },
+ "plur": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/plur/-/plur-1.0.0.tgz",
+ "integrity": "sha1-24XGgU9eXlo7Se/CjWBP7GKXUVY=",
+ "dev": true
+ },
+ "portscanner": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/portscanner/-/portscanner-1.2.0.tgz",
+ "integrity": "sha1-sUu9olfRTDEPqcwJaCrwLUCWGAI=",
+ "dev": true,
+ "requires": {
+ "async": "1.5.2"
+ },
+ "dependencies": {
+ "async": {
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+ "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
+ "dev": true
+ }
+ }
+ },
+ "postcss": {
+ "version": "4.1.16",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-4.1.16.tgz",
+ "integrity": "sha1-TESbTIr53zyvbTf44eV10DYXWNw=",
+ "dev": true,
+ "requires": {
+ "es6-promise": "2.3.0",
+ "js-base64": "2.1.9",
+ "source-map": "0.4.4"
+ }
+ },
+ "postcss-calc": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz",
+ "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.17",
+ "postcss-message-helpers": "2.0.0",
+ "reduce-css-calc": "1.3.0"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "5.2.17",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz",
+ "integrity": "sha1-z09Ze4ZNZcikkrLqvp1wbIecOIs=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "js-base64": "2.1.9",
+ "source-map": "0.5.6",
+ "supports-color": "3.2.3"
+ }
+ },
+ "source-map": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-colormin": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz",
+ "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=",
+ "dev": true,
+ "requires": {
+ "colormin": "1.1.2",
+ "postcss": "5.2.17",
+ "postcss-value-parser": "3.3.0"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "5.2.17",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz",
+ "integrity": "sha1-z09Ze4ZNZcikkrLqvp1wbIecOIs=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "js-base64": "2.1.9",
+ "source-map": "0.5.6",
+ "supports-color": "3.2.3"
+ }
+ },
+ "source-map": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-convert-values": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz",
+ "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.17",
+ "postcss-value-parser": "3.3.0"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "5.2.17",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz",
+ "integrity": "sha1-z09Ze4ZNZcikkrLqvp1wbIecOIs=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "js-base64": "2.1.9",
+ "source-map": "0.5.6",
+ "supports-color": "3.2.3"
+ }
+ },
+ "source-map": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-discard-comments": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz",
+ "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.17"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "5.2.17",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz",
+ "integrity": "sha1-z09Ze4ZNZcikkrLqvp1wbIecOIs=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "js-base64": "2.1.9",
+ "source-map": "0.5.6",
+ "supports-color": "3.2.3"
+ }
+ },
+ "source-map": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-discard-duplicates": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz",
+ "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.17"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "5.2.17",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz",
+ "integrity": "sha1-z09Ze4ZNZcikkrLqvp1wbIecOIs=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "js-base64": "2.1.9",
+ "source-map": "0.5.6",
+ "supports-color": "3.2.3"
+ }
+ },
+ "source-map": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-discard-empty": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz",
+ "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.17"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "5.2.17",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz",
+ "integrity": "sha1-z09Ze4ZNZcikkrLqvp1wbIecOIs=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "js-base64": "2.1.9",
+ "source-map": "0.5.6",
+ "supports-color": "3.2.3"
+ }
+ },
+ "source-map": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-discard-overridden": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz",
+ "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.17"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "5.2.17",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz",
+ "integrity": "sha1-z09Ze4ZNZcikkrLqvp1wbIecOIs=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "js-base64": "2.1.9",
+ "source-map": "0.5.6",
+ "supports-color": "3.2.3"
+ }
+ },
+ "source-map": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-discard-unused": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz",
+ "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.17",
+ "uniqs": "2.0.0"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "5.2.17",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz",
+ "integrity": "sha1-z09Ze4ZNZcikkrLqvp1wbIecOIs=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "js-base64": "2.1.9",
+ "source-map": "0.5.6",
+ "supports-color": "3.2.3"
+ }
+ },
+ "source-map": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-filter-plugins": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.2.tgz",
+ "integrity": "sha1-bYWGJTTXNaxCDkqFgG4fXUKG2Ew=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.17",
+ "uniqid": "4.1.1"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "5.2.17",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz",
+ "integrity": "sha1-z09Ze4ZNZcikkrLqvp1wbIecOIs=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "js-base64": "2.1.9",
+ "source-map": "0.5.6",
+ "supports-color": "3.2.3"
+ }
+ },
+ "source-map": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-merge-idents": {
+ "version": "2.1.7",
+ "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz",
+ "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=",
+ "dev": true,
+ "requires": {
+ "has": "1.0.1",
+ "postcss": "5.2.17",
+ "postcss-value-parser": "3.3.0"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "5.2.17",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz",
+ "integrity": "sha1-z09Ze4ZNZcikkrLqvp1wbIecOIs=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "js-base64": "2.1.9",
+ "source-map": "0.5.6",
+ "supports-color": "3.2.3"
+ }
+ },
+ "source-map": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-merge-longhand": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz",
+ "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.17"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "5.2.17",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz",
+ "integrity": "sha1-z09Ze4ZNZcikkrLqvp1wbIecOIs=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "js-base64": "2.1.9",
+ "source-map": "0.5.6",
+ "supports-color": "3.2.3"
+ }
+ },
+ "source-map": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-merge-rules": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz",
+ "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=",
+ "dev": true,
+ "requires": {
+ "browserslist": "1.7.7",
+ "caniuse-api": "1.6.1",
+ "postcss": "5.2.17",
+ "postcss-selector-parser": "2.2.3",
+ "vendors": "1.0.1"
+ },
+ "dependencies": {
+ "browserslist": {
+ "version": "1.7.7",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz",
+ "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=",
+ "dev": true,
+ "requires": {
+ "caniuse-db": "1.0.30000676",
+ "electron-to-chromium": "1.3.13"
+ }
+ },
+ "postcss": {
+ "version": "5.2.17",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz",
+ "integrity": "sha1-z09Ze4ZNZcikkrLqvp1wbIecOIs=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "js-base64": "2.1.9",
+ "source-map": "0.5.6",
+ "supports-color": "3.2.3"
+ }
+ },
+ "source-map": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-message-helpers": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz",
+ "integrity": "sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4=",
+ "dev": true
+ },
+ "postcss-minify-font-values": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz",
+ "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=",
+ "dev": true,
+ "requires": {
+ "object-assign": "4.1.1",
+ "postcss": "5.2.17",
+ "postcss-value-parser": "3.3.0"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "5.2.17",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz",
+ "integrity": "sha1-z09Ze4ZNZcikkrLqvp1wbIecOIs=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "js-base64": "2.1.9",
+ "source-map": "0.5.6",
+ "supports-color": "3.2.3"
+ }
+ },
+ "source-map": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-minify-gradients": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz",
+ "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.17",
+ "postcss-value-parser": "3.3.0"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "5.2.17",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz",
+ "integrity": "sha1-z09Ze4ZNZcikkrLqvp1wbIecOIs=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "js-base64": "2.1.9",
+ "source-map": "0.5.6",
+ "supports-color": "3.2.3"
+ }
+ },
+ "source-map": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-minify-params": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz",
+ "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=",
+ "dev": true,
+ "requires": {
+ "alphanum-sort": "1.0.2",
+ "postcss": "5.2.17",
+ "postcss-value-parser": "3.3.0",
+ "uniqs": "2.0.0"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "5.2.17",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz",
+ "integrity": "sha1-z09Ze4ZNZcikkrLqvp1wbIecOIs=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "js-base64": "2.1.9",
+ "source-map": "0.5.6",
+ "supports-color": "3.2.3"
+ }
+ },
+ "source-map": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-minify-selectors": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz",
+ "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=",
+ "dev": true,
+ "requires": {
+ "alphanum-sort": "1.0.2",
+ "has": "1.0.1",
+ "postcss": "5.2.17",
+ "postcss-selector-parser": "2.2.3"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "5.2.17",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz",
+ "integrity": "sha1-z09Ze4ZNZcikkrLqvp1wbIecOIs=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "js-base64": "2.1.9",
+ "source-map": "0.5.6",
+ "supports-color": "3.2.3"
+ }
+ },
+ "source-map": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-modules-extract-imports": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.1.0.tgz",
+ "integrity": "sha1-thTJcgvmgW6u41+zpfqh26agXds=",
+ "dev": true,
+ "requires": {
+ "postcss": "6.0.1"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.1.tgz",
+ "integrity": "sha1-AA29H47vIXqjaLmiEsX8QLKo8/I=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "source-map": "0.5.6",
+ "supports-color": "3.2.3"
+ }
+ },
+ "source-map": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-modules-local-by-default": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz",
+ "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=",
+ "dev": true,
+ "requires": {
+ "css-selector-tokenizer": "0.7.0",
+ "postcss": "6.0.1"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.1.tgz",
+ "integrity": "sha1-AA29H47vIXqjaLmiEsX8QLKo8/I=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "source-map": "0.5.6",
+ "supports-color": "3.2.3"
+ }
+ },
+ "source-map": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-modules-scope": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz",
+ "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=",
+ "dev": true,
+ "requires": {
+ "css-selector-tokenizer": "0.7.0",
+ "postcss": "6.0.1"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.1.tgz",
+ "integrity": "sha1-AA29H47vIXqjaLmiEsX8QLKo8/I=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "source-map": "0.5.6",
+ "supports-color": "3.2.3"
+ }
+ },
+ "source-map": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-modules-values": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz",
+ "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=",
+ "dev": true,
+ "requires": {
+ "icss-replace-symbols": "1.1.0",
+ "postcss": "6.0.1"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.1.tgz",
+ "integrity": "sha1-AA29H47vIXqjaLmiEsX8QLKo8/I=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "source-map": "0.5.6",
+ "supports-color": "3.2.3"
+ }
+ },
+ "source-map": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-normalize-charset": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz",
+ "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.17"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "5.2.17",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz",
+ "integrity": "sha1-z09Ze4ZNZcikkrLqvp1wbIecOIs=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "js-base64": "2.1.9",
+ "source-map": "0.5.6",
+ "supports-color": "3.2.3"
+ }
+ },
+ "source-map": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-normalize-url": {
+ "version": "3.0.8",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz",
+ "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=",
+ "dev": true,
+ "requires": {
+ "is-absolute-url": "2.1.0",
+ "normalize-url": "1.9.1",
+ "postcss": "5.2.17",
+ "postcss-value-parser": "3.3.0"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "5.2.17",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz",
+ "integrity": "sha1-z09Ze4ZNZcikkrLqvp1wbIecOIs=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "js-base64": "2.1.9",
+ "source-map": "0.5.6",
+ "supports-color": "3.2.3"
+ }
+ },
+ "source-map": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-ordered-values": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz",
+ "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.17",
+ "postcss-value-parser": "3.3.0"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "5.2.17",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz",
+ "integrity": "sha1-z09Ze4ZNZcikkrLqvp1wbIecOIs=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "js-base64": "2.1.9",
+ "source-map": "0.5.6",
+ "supports-color": "3.2.3"
+ }
+ },
+ "source-map": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-reduce-idents": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz",
+ "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.17",
+ "postcss-value-parser": "3.3.0"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "5.2.17",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz",
+ "integrity": "sha1-z09Ze4ZNZcikkrLqvp1wbIecOIs=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "js-base64": "2.1.9",
+ "source-map": "0.5.6",
+ "supports-color": "3.2.3"
+ }
+ },
+ "source-map": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-reduce-initial": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz",
+ "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.17"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "5.2.17",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz",
+ "integrity": "sha1-z09Ze4ZNZcikkrLqvp1wbIecOIs=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "js-base64": "2.1.9",
+ "source-map": "0.5.6",
+ "supports-color": "3.2.3"
+ }
+ },
+ "source-map": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-reduce-transforms": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz",
+ "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=",
+ "dev": true,
+ "requires": {
+ "has": "1.0.1",
+ "postcss": "5.2.17",
+ "postcss-value-parser": "3.3.0"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "5.2.17",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz",
+ "integrity": "sha1-z09Ze4ZNZcikkrLqvp1wbIecOIs=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "js-base64": "2.1.9",
+ "source-map": "0.5.6",
+ "supports-color": "3.2.3"
+ }
+ },
+ "source-map": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-selector-parser": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz",
+ "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=",
+ "dev": true,
+ "requires": {
+ "flatten": "1.0.2",
+ "indexes-of": "1.0.1",
+ "uniq": "1.0.1"
+ }
+ },
+ "postcss-svgo": {
+ "version": "2.1.6",
+ "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz",
+ "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=",
+ "dev": true,
+ "requires": {
+ "is-svg": "2.1.0",
+ "postcss": "5.2.17",
+ "postcss-value-parser": "3.3.0",
+ "svgo": "0.7.2"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "5.2.17",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz",
+ "integrity": "sha1-z09Ze4ZNZcikkrLqvp1wbIecOIs=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "js-base64": "2.1.9",
+ "source-map": "0.5.6",
+ "supports-color": "3.2.3"
+ }
+ },
+ "source-map": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-unique-selectors": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz",
+ "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=",
+ "dev": true,
+ "requires": {
+ "alphanum-sort": "1.0.2",
+ "postcss": "5.2.17",
+ "uniqs": "2.0.0"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "5.2.17",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz",
+ "integrity": "sha1-z09Ze4ZNZcikkrLqvp1wbIecOIs=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "js-base64": "2.1.9",
+ "source-map": "0.5.6",
+ "supports-color": "3.2.3"
+ }
+ },
+ "source-map": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-value-parser": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz",
+ "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=",
+ "dev": true
+ },
+ "postcss-zindex": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz",
+ "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=",
+ "dev": true,
+ "requires": {
+ "has": "1.0.1",
+ "postcss": "5.2.17",
+ "uniqs": "2.0.0"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "5.2.17",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz",
+ "integrity": "sha1-z09Ze4ZNZcikkrLqvp1wbIecOIs=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "js-base64": "2.1.9",
+ "source-map": "0.5.6",
+ "supports-color": "3.2.3"
+ }
+ },
+ "source-map": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "1.0.0"
+ }
+ }
+ }
+ },
+ "prelude-ls": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
+ "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
+ "dev": true
+ },
+ "prepend-http": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz",
+ "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=",
+ "dev": true
+ },
+ "preprocess": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/preprocess/-/preprocess-3.1.0.tgz",
+ "integrity": "sha1-pE5c3Vu7WlTwrSiaru2AmV19k4o=",
+ "requires": {
+ "xregexp": "3.1.0"
+ }
+ },
+ "preserve": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
+ "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=",
+ "dev": true
+ },
+ "pretty-bytes": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-1.0.4.tgz",
+ "integrity": "sha1-CiLoIQYJrTVUL4yNXSFZr/B1HIQ=",
+ "dev": true,
+ "requires": {
+ "get-stdin": "4.0.1",
+ "meow": "3.7.0"
+ }
+ },
+ "pretty-format": {
+ "version": "20.0.3",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-20.0.3.tgz",
+ "integrity": "sha1-Ag41ClYKH+GpjcO+tsz/s4beixQ=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "2.1.1",
+ "ansi-styles": "3.2.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
+ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.0"
+ }
+ }
+ }
+ },
+ "pretty-ms": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-2.1.0.tgz",
+ "integrity": "sha1-QlfCVt8/sLRR1q/6qwIYhBJpgdw=",
+ "dev": true,
+ "requires": {
+ "is-finite": "1.0.2",
+ "parse-ms": "1.0.1",
+ "plur": "1.0.0"
+ }
+ },
+ "private": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/private/-/private-0.1.7.tgz",
+ "integrity": "sha1-aM5eih7woju1cMwoU3tTMqumPvE=",
+ "dev": true
+ },
+ "process": {
+ "version": "0.11.10",
+ "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
+ "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
+ "dev": true
+ },
+ "process-nextick-args": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
+ "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=",
+ "dev": true
+ },
+ "progress": {
+ "version": "1.1.8",
+ "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz",
+ "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=",
+ "dev": true
+ },
+ "promise": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/promise/-/promise-7.1.1.tgz",
+ "integrity": "sha1-SJZUxpJha4qlWwck+oCbt9tJxb8=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "asap": "2.0.5"
+ }
+ },
+ "prompt": {
+ "version": "0.2.14",
+ "resolved": "https://registry.npmjs.org/prompt/-/prompt-0.2.14.tgz",
+ "integrity": "sha1-V3VPZPVD/XsIRXB8gY7OYY8F/9w=",
+ "dev": true,
+ "requires": {
+ "pkginfo": "0.4.0",
+ "read": "1.0.7",
+ "revalidator": "0.1.8",
+ "utile": "0.2.1",
+ "winston": "0.8.3"
+ }
+ },
+ "promptly": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/promptly/-/promptly-0.2.0.tgz",
+ "integrity": "sha1-c+8gD6gynV06jfQXmJULhkbKRtk=",
+ "dev": true,
+ "requires": {
+ "read": "1.0.7"
+ }
+ },
+ "propprop": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/propprop/-/propprop-0.3.1.tgz",
+ "integrity": "sha1-oEmjVouJZEAGfRXY7J8zc15XAXg=",
+ "dev": true
+ },
+ "proto-list": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz",
+ "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=",
+ "dev": true
+ },
+ "prr": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz",
+ "integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=",
+ "dev": true
+ },
+ "public-encrypt": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz",
+ "integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=",
+ "dev": true,
+ "requires": {
+ "bn.js": "4.11.6",
+ "browserify-rsa": "4.0.1",
+ "create-hash": "1.1.3",
+ "parse-asn1": "5.1.0",
+ "randombytes": "2.0.4"
+ }
+ },
+ "pump": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/pump/-/pump-0.3.5.tgz",
+ "integrity": "sha1-rl/4wfk+2HrcZTCpdWWxJvWFRUs=",
+ "dev": true,
+ "requires": {
+ "end-of-stream": "1.0.0",
+ "once": "1.2.0"
+ },
+ "dependencies": {
+ "end-of-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.0.0.tgz",
+ "integrity": "sha1-1FlucCc0qT5A6a+GQxnqvZn/Lw4=",
+ "dev": true,
+ "requires": {
+ "once": "1.3.3"
+ },
+ "dependencies": {
+ "once": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz",
+ "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=",
+ "dev": true,
+ "requires": {
+ "wrappy": "1.0.2"
+ }
+ }
+ }
+ },
+ "once": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.2.0.tgz",
+ "integrity": "sha1-3hkFxjavh0qPuoYtmqvd0fkgRhw=",
+ "dev": true
+ }
+ }
+ },
+ "punycode": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
+ "dev": true
+ },
+ "q": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/q/-/q-1.5.0.tgz",
+ "integrity": "sha1-3QG6ydBtMObyGa7LglPunr3DCPE=",
+ "dev": true
+ },
+ "qs": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-4.0.0.tgz",
+ "integrity": "sha1-wx2bdOwn33XlQ6hseHKO2NRiNgc=",
+ "dev": true
+ },
+ "query-string": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz",
+ "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=",
+ "dev": true,
+ "requires": {
+ "object-assign": "4.1.1",
+ "strict-uri-encode": "1.1.0"
+ }
+ },
+ "querystring": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
+ "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
+ "dev": true
+ },
+ "querystring-es3": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
+ "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
+ "dev": true
+ },
+ "random-bytes": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz",
+ "integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs=",
+ "dev": true
+ },
+ "randomatic": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.6.tgz",
+ "integrity": "sha1-EQ3Kv/OX6dz/fAeJzMCkmt8exbs=",
+ "dev": true,
+ "requires": {
+ "is-number": "2.1.0",
+ "kind-of": "3.2.2"
+ }
+ },
+ "randombytes": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.4.tgz",
+ "integrity": "sha1-lVHfIIQiyPgOtY4jJt0LhA/yLv0=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.0"
+ }
+ },
+ "range-parser": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.0.3.tgz",
+ "integrity": "sha1-aHKCNTXGkuLCoBA4Jq/YLC4P8XU=",
+ "dev": true
+ },
+ "raw-body": {
+ "version": "2.1.7",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz",
+ "integrity": "sha1-rf6s4uT7MJgFgBTQjActzFl1h3Q=",
+ "dev": true,
+ "requires": {
+ "bytes": "2.4.0",
+ "iconv-lite": "0.4.13",
+ "unpipe": "1.0.0"
+ },
+ "dependencies": {
+ "bytes": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz",
+ "integrity": "sha1-fZcZb51br39pNeJZhVSe3SpsIzk=",
+ "dev": true
+ },
+ "iconv-lite": {
+ "version": "0.4.13",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz",
+ "integrity": "sha1-H4irpKsLFQjoMSrMOTRfNumS4vI=",
+ "dev": true
+ }
+ }
+ },
+ "rc": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.1.tgz",
+ "integrity": "sha1-LgPo5C7kULjLPc5lvhv4l04d/ZU=",
+ "dev": true,
+ "requires": {
+ "deep-extend": "0.4.2",
+ "ini": "1.3.4",
+ "minimist": "1.2.0",
+ "strip-json-comments": "2.0.1"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ }
+ }
+ },
+ "read": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz",
+ "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=",
+ "dev": true,
+ "requires": {
+ "mute-stream": "0.0.4"
+ }
+ },
+ "read-all-stream": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/read-all-stream/-/read-all-stream-3.1.0.tgz",
+ "integrity": "sha1-NcPhd/IHjveJ7kv6+kNzB06u9Po=",
+ "dev": true,
+ "requires": {
+ "pinkie-promise": "2.0.1",
+ "readable-stream": "2.2.10"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.2.10",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.10.tgz",
+ "integrity": "sha512-HQEnnoV404e0EtwB9yNiuk2tJ+egeVC8Y9QBAxzDg8DBJt4BzRp+yQuIb/t3FIWkSTmIi+sgx7yVv/ZM0GNoqw==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "1.0.7",
+ "safe-buffer": "5.1.0",
+ "string_decoder": "1.0.1",
+ "util-deprecate": "1.0.2"
+ }
+ },
+ "string_decoder": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz",
+ "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.0"
+ }
+ }
+ }
+ },
+ "read-pkg": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
+ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
+ "dev": true,
+ "requires": {
+ "load-json-file": "1.1.0",
+ "normalize-package-data": "2.3.8",
+ "path-type": "1.1.0"
+ }
+ },
+ "read-pkg-up": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
+ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
+ "dev": true,
+ "requires": {
+ "find-up": "1.1.2",
+ "read-pkg": "1.1.0"
+ }
+ },
+ "readable-stream": {
+ "version": "1.1.14",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+ "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "0.0.1",
+ "string_decoder": "0.10.31"
+ }
+ },
+ "readdirp": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz",
+ "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "minimatch": "3.0.4",
+ "readable-stream": "2.2.10",
+ "set-immediate-shim": "1.0.1"
+ },
+ "dependencies": {
+ "graceful-fs": {
+ "version": "4.1.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "dev": true
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.2.10",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.10.tgz",
+ "integrity": "sha512-HQEnnoV404e0EtwB9yNiuk2tJ+egeVC8Y9QBAxzDg8DBJt4BzRp+yQuIb/t3FIWkSTmIi+sgx7yVv/ZM0GNoqw==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "1.0.7",
+ "safe-buffer": "5.1.0",
+ "string_decoder": "1.0.1",
+ "util-deprecate": "1.0.2"
+ }
+ },
+ "string_decoder": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz",
+ "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.0"
+ }
+ }
+ }
+ },
+ "readline2": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/readline2/-/readline2-0.1.1.tgz",
+ "integrity": "sha1-mUQ7pug7gw7zBRv9fcJBqCco1Wg=",
+ "dev": true,
+ "requires": {
+ "mute-stream": "0.0.4",
+ "strip-ansi": "2.0.1"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-1.1.1.tgz",
+ "integrity": "sha1-QchHGUZGN15qGl0Qw8oFTvn8mA0=",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-2.0.1.tgz",
+ "integrity": "sha1-32LBqpTtLxFOHQ8h/R1QSCt5pg4=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "1.1.1"
+ }
+ }
+ }
+ },
+ "redent": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
+ "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
+ "dev": true,
+ "requires": {
+ "indent-string": "2.1.0",
+ "strip-indent": "1.0.1"
+ }
+ },
+ "redeyed": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-0.4.4.tgz",
+ "integrity": "sha1-N+mQpvKyGyoRwuakj9QTVpjLqX8=",
+ "dev": true,
+ "requires": {
+ "esprima": "1.0.4"
+ },
+ "dependencies": {
+ "esprima": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz",
+ "integrity": "sha1-n1V+CPw7TSbs6d00+Pv0drYlha0=",
+ "dev": true
+ }
+ }
+ },
+ "reduce-css-calc": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz",
+ "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=",
+ "dev": true,
+ "requires": {
+ "balanced-match": "0.4.2",
+ "math-expression-evaluator": "1.2.17",
+ "reduce-function-call": "1.0.2"
+ }
+ },
+ "reduce-function-call": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.2.tgz",
+ "integrity": "sha1-WiAL+S4ON3UXUv5FsKszD9S2vpk=",
+ "dev": true,
+ "requires": {
+ "balanced-match": "0.4.2"
+ }
+ },
+ "regenerate": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.2.tgz",
+ "integrity": "sha1-0ZQcZ7rUN+G+dkM63Vs4X5WxkmA=",
+ "dev": true
+ },
+ "regenerator-runtime": {
+ "version": "0.10.5",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz",
+ "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=",
+ "dev": true
+ },
+ "regenerator-transform": {
+ "version": "0.9.11",
+ "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.9.11.tgz",
+ "integrity": "sha1-On0GdSDLe3F2dp61/4aGkb7+EoM=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.23.0",
+ "babel-types": "6.24.1",
+ "private": "0.1.7"
+ }
+ },
+ "regex-cache": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.3.tgz",
+ "integrity": "sha1-mxpsNdTQ3871cRrmUejp09cRQUU=",
+ "dev": true,
+ "requires": {
+ "is-equal-shallow": "0.1.3",
+ "is-primitive": "2.0.0"
+ }
+ },
+ "regexp-quote": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/regexp-quote/-/regexp-quote-0.0.0.tgz",
+ "integrity": "sha1-Hg9GUMhi3L/tVP1CsUjpuxch/PI=",
+ "dev": true
+ },
+ "regexpu-core": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz",
+ "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=",
+ "dev": true,
+ "requires": {
+ "regenerate": "1.3.2",
+ "regjsgen": "0.2.0",
+ "regjsparser": "0.1.5"
+ }
+ },
+ "registry-url": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-0.1.1.tgz",
+ "integrity": "sha1-FzlCe4GxELMCSCocfNcn/8yC1b4=",
+ "dev": true,
+ "requires": {
+ "npmconf": "2.1.2"
+ }
+ },
+ "regjsgen": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
+ "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=",
+ "dev": true
+ },
+ "regjsparser": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz",
+ "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=",
+ "dev": true,
+ "requires": {
+ "jsesc": "0.5.0"
+ },
+ "dependencies": {
+ "jsesc": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
+ "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
+ "dev": true
+ }
+ }
+ },
+ "relateurl": {
+ "version": "0.2.7",
+ "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz",
+ "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=",
+ "dev": true
+ },
+ "remove-trailing-separator": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.0.1.tgz",
+ "integrity": "sha1-YV67lq9VlVLUv0BXyENtSGq2PMQ=",
+ "dev": true
+ },
+ "repeat-element": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz",
+ "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=",
+ "dev": true
+ },
+ "repeat-string": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
+ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
+ "dev": true
+ },
+ "repeating": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
+ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
+ "dev": true,
+ "requires": {
+ "is-finite": "1.0.2"
+ }
+ },
+ "replace-ext": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
+ "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=",
+ "dev": true
+ },
+ "request": {
+ "version": "2.81.0",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz",
+ "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=",
+ "dev": true,
+ "requires": {
+ "aws-sign2": "0.6.0",
+ "aws4": "1.6.0",
+ "caseless": "0.12.0",
+ "combined-stream": "1.0.5",
+ "extend": "3.0.1",
+ "forever-agent": "0.6.1",
+ "form-data": "2.1.4",
+ "har-validator": "4.2.1",
+ "hawk": "3.1.3",
+ "http-signature": "1.1.1",
+ "is-typedarray": "1.0.0",
+ "isstream": "0.1.2",
+ "json-stringify-safe": "5.0.1",
+ "mime-types": "2.1.15",
+ "oauth-sign": "0.8.2",
+ "performance-now": "0.2.0",
+ "qs": "6.4.0",
+ "safe-buffer": "5.1.0",
+ "stringstream": "0.0.5",
+ "tough-cookie": "2.3.2",
+ "tunnel-agent": "0.6.0",
+ "uuid": "3.0.1"
+ },
+ "dependencies": {
+ "qs": {
+ "version": "6.4.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz",
+ "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=",
+ "dev": true
+ },
+ "tunnel-agent": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.0"
+ }
+ },
+ "uuid": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz",
+ "integrity": "sha1-ZUS7ot/ajBzxfmKaOjBeK7H+5sE=",
+ "dev": true
+ }
+ }
+ },
+ "request-progress": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-0.3.0.tgz",
+ "integrity": "sha1-vfIGK/wZfF1JJQDUTLOv94ZbSS4=",
+ "dev": true,
+ "requires": {
+ "throttleit": "0.0.2"
+ }
+ },
+ "request-replay": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/request-replay/-/request-replay-0.2.0.tgz",
+ "integrity": "sha1-m2k6XRGLOfXFlurV7ZGiZEQFf2A=",
+ "dev": true,
+ "requires": {
+ "retry": "0.6.0"
+ }
+ },
+ "require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
+ "dev": true
+ },
+ "require-main-filename": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
+ "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
+ "dev": true
+ },
+ "resolve": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.4.0.tgz",
+ "integrity": "sha512-aW7sVKPufyHqOmyyLzg/J+8606v5nevBgaliIlV7nUpVMsDnoBGV/cbSLNjZAg9q0Cfd/+easKVKQ8vOu8fn1Q==",
+ "dev": true,
+ "requires": {
+ "path-parse": "1.0.5"
+ }
+ },
+ "response-time": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/response-time/-/response-time-2.3.2.tgz",
+ "integrity": "sha1-/6cbq5UtYvfB1Jt0NDVfvGjf/Fo=",
+ "dev": true,
+ "requires": {
+ "depd": "1.1.0",
+ "on-headers": "1.0.1"
+ },
+ "dependencies": {
+ "depd": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz",
+ "integrity": "sha1-4b2Cxqq2ztlluXuIsX7T5SjKGMM=",
+ "dev": true
+ }
+ }
+ },
+ "retry": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/retry/-/retry-0.6.0.tgz",
+ "integrity": "sha1-HAEHEyeab9Ho3vKK8MP/GHHKpTc=",
+ "dev": true
+ },
+ "revalidator": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/revalidator/-/revalidator-0.1.8.tgz",
+ "integrity": "sha1-/s5hv6DBtSoga9axgZgYS91SOjs=",
+ "dev": true
+ },
+ "right-align": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
+ "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
+ "dev": true,
+ "requires": {
+ "align-text": "0.1.4"
+ }
+ },
+ "rimraf": {
+ "version": "2.2.8",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz",
+ "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=",
+ "dev": true
+ },
+ "ripemd160": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz",
+ "integrity": "sha1-D0WEKVxTo2KK9+bXmsohzlfRxuc=",
+ "dev": true,
+ "requires": {
+ "hash-base": "2.0.2",
+ "inherits": "2.0.3"
+ }
+ },
+ "rndm": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/rndm/-/rndm-1.2.0.tgz",
+ "integrity": "sha1-8z/pz7Urv9UgqhgyO8ZdsRCht2w=",
+ "dev": true
+ },
+ "rx": {
+ "version": "2.5.3",
+ "resolved": "https://registry.npmjs.org/rx/-/rx-2.5.3.tgz",
+ "integrity": "sha1-Ia3H2A8CACr1Da6X/Z2/JIdV9WY=",
+ "dev": true
+ },
+ "safe-buffer": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.0.tgz",
+ "integrity": "sha512-aSLEDudu6OoRr/2rU609gRmnYboRLxgDG1z9o2Q0os7236FwvcqIOO8r8U5JUEwivZOhDaKlFO4SbPTJYyBEyQ==",
+ "dev": true
+ },
+ "sane": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/sane/-/sane-1.6.0.tgz",
+ "integrity": "sha1-lhDEUjB6E10pwf3+JUcDQYDEZ3U=",
+ "dev": true,
+ "requires": {
+ "anymatch": "1.3.0",
+ "exec-sh": "0.2.0",
+ "fb-watchman": "1.9.2",
+ "minimatch": "3.0.4",
+ "minimist": "1.2.0",
+ "walker": "1.0.7",
+ "watch": "0.10.0"
+ },
+ "dependencies": {
+ "bser": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/bser/-/bser-1.0.2.tgz",
+ "integrity": "sha1-OBEWlwsqbe6lZG3RXdcnhES1YWk=",
+ "dev": true,
+ "requires": {
+ "node-int64": "0.4.0"
+ }
+ },
+ "fb-watchman": {
+ "version": "1.9.2",
+ "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-1.9.2.tgz",
+ "integrity": "sha1-okz0eCf4LTj7Waaa1wt247auc4M=",
+ "dev": true,
+ "requires": {
+ "bser": "1.0.2"
+ }
+ },
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ }
+ }
+ },
+ "sax": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.2.tgz",
+ "integrity": "sha1-/YYxojvHgmvvXYcb24c3jJVkeCg=",
+ "dev": true
+ },
+ "sdc-pubsub": {
+ "version": "1.0.20",
+ "resolved": "https://registry.npmjs.org/sdc-pubsub/-/sdc-pubsub-1.0.20.tgz",
+ "integrity": "sha1-PtQqYpnuymwsCI++JJ/FdZXb8zs="
+ },
+ "seek-bzip": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.5.tgz",
+ "integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=",
+ "dev": true,
+ "requires": {
+ "commander": "2.8.1"
+ },
+ "dependencies": {
+ "commander": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz",
+ "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=",
+ "dev": true,
+ "requires": {
+ "graceful-readlink": "1.0.1"
+ }
+ }
+ }
+ },
+ "semver": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
+ "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
+ "dev": true
+ },
+ "semver-diff": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-0.1.0.tgz",
+ "integrity": "sha1-T2BXyj66I8xIS1H2Sq+IsTGjhV0=",
+ "dev": true,
+ "requires": {
+ "semver": "2.3.2"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-2.3.2.tgz",
+ "integrity": "sha1-uYSPJdbPNjMwc+ye+IVtQvEjPlI=",
+ "dev": true
+ }
+ }
+ },
+ "semver-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-1.0.0.tgz",
+ "integrity": "sha1-kqSWkGX5xwxpR1PVUkj8aPj2Usk=",
+ "dev": true,
+ "optional": true
+ },
+ "semver-truncate": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/semver-truncate/-/semver-truncate-1.1.2.tgz",
+ "integrity": "sha1-V/Qd5pcHpicJp+AQS6IRcQnqR+g=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "semver": "5.3.0"
+ }
+ },
+ "send": {
+ "version": "0.13.2",
+ "resolved": "https://registry.npmjs.org/send/-/send-0.13.2.tgz",
+ "integrity": "sha1-dl52B8gFVFK7pvCwUllTUJhgNt4=",
+ "dev": true,
+ "requires": {
+ "debug": "2.2.0",
+ "depd": "1.1.0",
+ "destroy": "1.0.4",
+ "escape-html": "1.0.3",
+ "etag": "1.7.0",
+ "fresh": "0.3.0",
+ "http-errors": "1.3.1",
+ "mime": "1.3.4",
+ "ms": "0.7.1",
+ "on-finished": "2.3.0",
+ "range-parser": "1.0.3",
+ "statuses": "1.2.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
+ "dev": true,
+ "requires": {
+ "ms": "0.7.1"
+ }
+ },
+ "depd": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz",
+ "integrity": "sha1-4b2Cxqq2ztlluXuIsX7T5SjKGMM=",
+ "dev": true
+ },
+ "ms": {
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
+ "dev": true
+ },
+ "statuses": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.2.1.tgz",
+ "integrity": "sha1-3e1FzBglbVHtQK7BQkidXGECbSg=",
+ "dev": true
+ }
+ }
+ },
+ "sentence-case": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/sentence-case/-/sentence-case-1.1.3.tgz",
+ "integrity": "sha1-gDSq/CFFdy06vhUJqkLJ4QQtwTk=",
+ "dev": true,
+ "requires": {
+ "lower-case": "1.1.4"
+ }
+ },
+ "serve-favicon": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.3.2.tgz",
+ "integrity": "sha1-3UGeJo3gEqtysxnTN/IQUBP5OB8=",
+ "dev": true,
+ "requires": {
+ "etag": "1.7.0",
+ "fresh": "0.3.0",
+ "ms": "0.7.2",
+ "parseurl": "1.3.1"
+ },
+ "dependencies": {
+ "ms": {
+ "version": "0.7.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",
+ "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=",
+ "dev": true
+ }
+ }
+ },
+ "serve-index": {
+ "version": "1.7.3",
+ "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.7.3.tgz",
+ "integrity": "sha1-egV/xu4o3GP2RWbl+lexEahq7NI=",
+ "dev": true,
+ "requires": {
+ "accepts": "1.2.13",
+ "batch": "0.5.3",
+ "debug": "2.2.0",
+ "escape-html": "1.0.3",
+ "http-errors": "1.3.1",
+ "mime-types": "2.1.15",
+ "parseurl": "1.3.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+ "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
+ "dev": true,
+ "requires": {
+ "ms": "0.7.1"
+ }
+ },
+ "ms": {
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
+ "dev": true
+ }
+ }
+ },
+ "serve-static": {
+ "version": "1.10.3",
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.10.3.tgz",
+ "integrity": "sha1-zlpuzTEB/tXsCYJ9rCKpwpv7BTU=",
+ "dev": true,
+ "requires": {
+ "escape-html": "1.0.3",
+ "parseurl": "1.3.1",
+ "send": "0.13.2"
+ }
+ },
+ "set-blocking": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
+ "dev": true
+ },
+ "set-immediate-shim": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz",
+ "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=",
+ "dev": true
+ },
+ "setimmediate": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
+ "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
+ "dev": true
+ },
+ "sha.js": {
+ "version": "2.4.8",
+ "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.8.tgz",
+ "integrity": "sha1-NwaMLEdra69ALRSknGf1l5IfY08=",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3"
+ }
+ },
+ "shell-quote": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.4.3.tgz",
+ "integrity": "sha1-lSxE4LHtkBPvU5WBecxkPod3Rms=",
+ "dev": true,
+ "requires": {
+ "array-filter": "0.0.1",
+ "array-map": "0.0.0",
+ "array-reduce": "0.0.0",
+ "jsonify": "0.0.0"
+ }
+ },
+ "shelljs": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz",
+ "integrity": "sha1-NZbmMHp4FUT1kfN9phg2DzHbV7E=",
+ "dev": true
+ },
+ "shellwords": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.0.tgz",
+ "integrity": "sha1-Zq/Ue2oSky2Qccv9mKUueFzQuhQ=",
+ "dev": true
+ },
+ "sigmund": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz",
+ "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=",
+ "dev": true
+ },
+ "signal-exit": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
+ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
+ "dev": true
+ },
+ "simple-fmt": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/simple-fmt/-/simple-fmt-0.1.0.tgz",
+ "integrity": "sha1-GRv1ZqWeZTBILLJatTtKjchcOms=",
+ "dev": true
+ },
+ "simple-is": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/simple-is/-/simple-is-0.2.0.tgz",
+ "integrity": "sha1-Krt1qt453rXMgVzhDmGRFkhQuvA=",
+ "dev": true
+ },
+ "slash": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
+ "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
+ "dev": true
+ },
+ "snake-case": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-1.1.2.tgz",
+ "integrity": "sha1-DC8l4wUVjZoY09l3BmGH/vilpmo=",
+ "dev": true,
+ "requires": {
+ "sentence-case": "1.1.3"
+ }
+ },
+ "sntp": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
+ "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
+ "dev": true,
+ "requires": {
+ "hoek": "2.16.3"
+ }
+ },
+ "sort-keys": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz",
+ "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=",
+ "dev": true,
+ "requires": {
+ "is-plain-obj": "1.1.0"
+ }
+ },
+ "source-list-map": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-0.1.8.tgz",
+ "integrity": "sha1-xVCyq1Qn9rPyH1r+rYjE9Vh7IQY=",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
+ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
+ "dev": true,
+ "requires": {
+ "amdefine": "1.0.1"
+ }
+ },
+ "source-map-support": {
+ "version": "0.4.15",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.15.tgz",
+ "integrity": "sha1-AyAt9lwG0r2MfsI2KhkwVv7407E=",
+ "dev": true,
+ "requires": {
+ "source-map": "0.5.6"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ }
+ }
+ },
+ "sparkles": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz",
+ "integrity": "sha1-Gsu/tZJDbRC76PeFt8xvgoFQEsM=",
+ "dev": true
+ },
+ "spdx-correct": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz",
+ "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=",
+ "dev": true,
+ "requires": {
+ "spdx-license-ids": "1.2.2"
+ }
+ },
+ "spdx-expression-parse": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz",
+ "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=",
+ "dev": true
+ },
+ "spdx-license-ids": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz",
+ "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=",
+ "dev": true
+ },
+ "sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
+ "dev": true
+ },
+ "squeak": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/squeak/-/squeak-1.3.0.tgz",
+ "integrity": "sha1-MwRQN7ZDiLVnZ0uEMiplIQc5FsM=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "console-stream": "0.1.1",
+ "lpad-align": "1.1.2"
+ }
+ },
+ "sshpk": {
+ "version": "1.13.0",
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.0.tgz",
+ "integrity": "sha1-/yo+T9BEl1Vf7Zezmg/YL6+zozw=",
+ "dev": true,
+ "requires": {
+ "asn1": "0.2.3",
+ "assert-plus": "1.0.0",
+ "bcrypt-pbkdf": "1.0.1",
+ "dashdash": "1.14.1",
+ "ecc-jsbn": "0.1.1",
+ "getpass": "0.1.7",
+ "jodid25519": "1.0.2",
+ "jsbn": "0.1.1",
+ "tweetnacl": "0.14.5"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+ "dev": true
+ }
+ }
+ },
+ "stable": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.6.tgz",
+ "integrity": "sha1-kQ9dKu17Ugxud3SZwfMuE5/eyxA=",
+ "dev": true
+ },
+ "stack-trace": {
+ "version": "0.0.10",
+ "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz",
+ "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=",
+ "dev": true
+ },
+ "stat-mode": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-0.2.2.tgz",
+ "integrity": "sha1-5sgLYjEj19gM8TLOU480YokHJQI=",
+ "dev": true
+ },
+ "statuses": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz",
+ "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=",
+ "dev": true
+ },
+ "stream-browserify": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz",
+ "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "readable-stream": "2.2.10"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.2.10",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.10.tgz",
+ "integrity": "sha512-HQEnnoV404e0EtwB9yNiuk2tJ+egeVC8Y9QBAxzDg8DBJt4BzRp+yQuIb/t3FIWkSTmIi+sgx7yVv/ZM0GNoqw==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "1.0.7",
+ "safe-buffer": "5.1.0",
+ "string_decoder": "1.0.1",
+ "util-deprecate": "1.0.2"
+ }
+ },
+ "string_decoder": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz",
+ "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.0"
+ }
+ }
+ }
+ },
+ "stream-combiner2": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz",
+ "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=",
+ "dev": true,
+ "requires": {
+ "duplexer2": "0.1.4",
+ "readable-stream": "2.2.10"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.2.10",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.10.tgz",
+ "integrity": "sha512-HQEnnoV404e0EtwB9yNiuk2tJ+egeVC8Y9QBAxzDg8DBJt4BzRp+yQuIb/t3FIWkSTmIi+sgx7yVv/ZM0GNoqw==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "1.0.7",
+ "safe-buffer": "5.1.0",
+ "string_decoder": "1.0.1",
+ "util-deprecate": "1.0.2"
+ }
+ },
+ "string_decoder": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz",
+ "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.0"
+ }
+ }
+ }
+ },
+ "stream-counter": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/stream-counter/-/stream-counter-0.2.0.tgz",
+ "integrity": "sha1-3tJmVWMZyLDiIoErnPOyb6fZR94=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "1.1.14"
+ }
+ },
+ "stream-http": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.7.1.tgz",
+ "integrity": "sha1-VGpRdBrVprB+njGwsQRBqRffUoo=",
+ "dev": true,
+ "requires": {
+ "builtin-status-codes": "3.0.0",
+ "inherits": "2.0.3",
+ "readable-stream": "2.2.10",
+ "to-arraybuffer": "1.0.1",
+ "xtend": "4.0.1"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.2.10",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.10.tgz",
+ "integrity": "sha512-HQEnnoV404e0EtwB9yNiuk2tJ+egeVC8Y9QBAxzDg8DBJt4BzRp+yQuIb/t3FIWkSTmIi+sgx7yVv/ZM0GNoqw==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "1.0.7",
+ "safe-buffer": "5.1.0",
+ "string_decoder": "1.0.1",
+ "util-deprecate": "1.0.2"
+ }
+ },
+ "string_decoder": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz",
+ "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.0"
+ }
+ }
+ }
+ },
+ "stream-shift": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz",
+ "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=",
+ "dev": true
+ },
+ "strict-uri-encode": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
+ "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=",
+ "dev": true
+ },
+ "string-length": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/string-length/-/string-length-0.1.2.tgz",
+ "integrity": "sha1-qwS7M4Z+50vu1/uJu38InTkngPI=",
+ "dev": true,
+ "requires": {
+ "strip-ansi": "0.2.2"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.1.0.tgz",
+ "integrity": "sha1-Vcpg22kAhXxCOukpeYACb5Qe2QM=",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.2.2.tgz",
+ "integrity": "sha1-hU0pDJgVJfyMOXqRCwJa4tVP/Ag=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "0.1.0"
+ }
+ }
+ }
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "dev": true,
+ "requires": {
+ "code-point-at": "1.1.0",
+ "is-fullwidth-code-point": "1.0.0",
+ "strip-ansi": "3.0.1"
+ }
+ },
+ "string_decoder": {
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+ "dev": true
+ },
+ "stringify-object": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-1.0.1.tgz",
+ "integrity": "sha1-htNefb+86apFY31+zdeEfhWduKI=",
+ "dev": true
+ },
+ "stringmap": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/stringmap/-/stringmap-0.2.2.tgz",
+ "integrity": "sha1-VWwTeyWPlCuHdvWy71gqoGnX0bE=",
+ "dev": true
+ },
+ "stringset": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/stringset/-/stringset-0.2.1.tgz",
+ "integrity": "sha1-7yWcTjSTRDd/zRyRPdLoSMnAQrU=",
+ "dev": true
+ },
+ "stringstream": {
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
+ "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "2.1.1"
+ }
+ },
+ "strip-bom": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+ "dev": true,
+ "requires": {
+ "is-utf8": "0.2.1"
+ }
+ },
+ "strip-bom-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz",
+ "integrity": "sha1-5xRDmFd9Uaa+0PoZlPoF9D/ZiO4=",
+ "dev": true,
+ "requires": {
+ "first-chunk-stream": "1.0.0",
+ "strip-bom": "2.0.0"
+ }
+ },
+ "strip-dirs": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-1.1.1.tgz",
+ "integrity": "sha1-lgu9EoeETzl1pFWKoQOoJV4kVqA=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "get-stdin": "4.0.1",
+ "is-absolute": "0.1.7",
+ "is-natural-number": "2.1.1",
+ "minimist": "1.2.0",
+ "sum-up": "1.0.3"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ }
+ }
+ },
+ "strip-indent": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
+ "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
+ "dev": true,
+ "requires": {
+ "get-stdin": "4.0.1"
+ }
+ },
+ "strip-json-comments": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+ "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
+ "dev": true
+ },
+ "strip-outer": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.0.tgz",
+ "integrity": "sha1-qsC6YNLpDF1PJ1/Yhp/ZotMQ/7g=",
+ "dev": true,
+ "requires": {
+ "escape-string-regexp": "1.0.5"
+ }
+ },
+ "style-loader": {
+ "version": "0.13.2",
+ "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.13.2.tgz",
+ "integrity": "sha1-dFMzhM9pjHEEx5URULSXF63C87s=",
+ "dev": true,
+ "requires": {
+ "loader-utils": "1.1.0"
+ },
+ "dependencies": {
+ "loader-utils": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz",
+ "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=",
+ "dev": true,
+ "requires": {
+ "big.js": "3.1.3",
+ "emojis-list": "2.1.0",
+ "json5": "0.5.1"
+ }
+ }
+ }
+ },
+ "sum-up": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sum-up/-/sum-up-1.0.3.tgz",
+ "integrity": "sha1-HGYfZnBX9jvLeHWqFDi8FiUlFW4=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3"
+ }
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ },
+ "svgo": {
+ "version": "0.7.2",
+ "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz",
+ "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=",
+ "dev": true,
+ "requires": {
+ "coa": "1.0.2",
+ "colors": "1.1.2",
+ "csso": "2.3.2",
+ "js-yaml": "3.7.0",
+ "mkdirp": "0.5.1",
+ "sax": "1.2.2",
+ "whet.extend": "0.9.9"
+ }
+ },
+ "swap-case": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/swap-case/-/swap-case-1.1.2.tgz",
+ "integrity": "sha1-w5IDpFhzhfrTyFCgvRvK+ggZdOM=",
+ "dev": true,
+ "requires": {
+ "lower-case": "1.1.4",
+ "upper-case": "1.1.3"
+ }
+ },
+ "symbol-tree": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz",
+ "integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=",
+ "dev": true
+ },
+ "tapable": {
+ "version": "0.2.6",
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.6.tgz",
+ "integrity": "sha1-IGvo4YiGC1FEJTdebxrom/sB/Y0=",
+ "dev": true
+ },
+ "tar-fs": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-0.5.2.tgz",
+ "integrity": "sha1-D1lCS+fu7kUjIxbjAvZtP26m2z4=",
+ "dev": true,
+ "requires": {
+ "mkdirp": "0.5.1",
+ "pump": "0.3.5",
+ "tar-stream": "0.4.7"
+ },
+ "dependencies": {
+ "bl": {
+ "version": "0.9.5",
+ "resolved": "https://registry.npmjs.org/bl/-/bl-0.9.5.tgz",
+ "integrity": "sha1-wGt5evCF6gC8Unr8jvzxHeIjIFQ=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "1.0.34"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "1.0.34",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "0.0.1",
+ "string_decoder": "0.10.31"
+ }
+ }
+ }
+ },
+ "tar-stream": {
+ "version": "0.4.7",
+ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-0.4.7.tgz",
+ "integrity": "sha1-Hx0s6evHtCdlJDyg6PG3v9oKrc0=",
+ "dev": true,
+ "requires": {
+ "bl": "0.9.5",
+ "end-of-stream": "1.4.0",
+ "readable-stream": "1.1.14",
+ "xtend": "4.0.1"
+ }
+ }
+ }
+ },
+ "tar-stream": {
+ "version": "1.5.4",
+ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.4.tgz",
+ "integrity": "sha1-NlSc8E7RrumyowwBQyUiONr5QBY=",
+ "dev": true,
+ "requires": {
+ "bl": "1.2.1",
+ "end-of-stream": "1.4.0",
+ "readable-stream": "2.2.10",
+ "xtend": "4.0.1"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.2.10",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.10.tgz",
+ "integrity": "sha512-HQEnnoV404e0EtwB9yNiuk2tJ+egeVC8Y9QBAxzDg8DBJt4BzRp+yQuIb/t3FIWkSTmIi+sgx7yVv/ZM0GNoqw==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "1.0.7",
+ "safe-buffer": "5.1.0",
+ "string_decoder": "1.0.1",
+ "util-deprecate": "1.0.2"
+ }
+ },
+ "string_decoder": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz",
+ "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.0"
+ }
+ }
+ }
+ },
+ "tempfile": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/tempfile/-/tempfile-1.1.1.tgz",
+ "integrity": "sha1-W8xOrsxKsscH2LwR2ZzMmiyyh/I=",
+ "dev": true,
+ "requires": {
+ "os-tmpdir": "1.0.2",
+ "uuid": "2.0.3"
+ }
+ },
+ "test-exclude": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.1.1.tgz",
+ "integrity": "sha512-35+Asrsk3XHJDBgf/VRFexPgh3UyETv8IAn/LRTiZjVy6rjPVqdEk8dJcJYBzl1w0XCJM48lvTy8SfEsCWS4nA==",
+ "dev": true,
+ "requires": {
+ "arrify": "1.0.1",
+ "micromatch": "2.3.11",
+ "object-assign": "4.1.1",
+ "read-pkg-up": "1.0.1",
+ "require-main-filename": "1.0.1"
+ }
+ },
+ "text-table": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
+ "dev": true
+ },
+ "throat": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/throat/-/throat-3.2.0.tgz",
+ "integrity": "sha512-/EY8VpvlqJ+sFtLPeOgc8Pl7kQVOWv0woD87KTXVHPIAE842FGT+rokxIhe8xIUP1cfgrkt0as0vDLjDiMtr8w==",
+ "dev": true
+ },
+ "throttleit": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-0.0.2.tgz",
+ "integrity": "sha1-z+34jmDADdlpe2H90qg0OptoDq8=",
+ "dev": true
+ },
+ "through": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
+ "dev": true
+ },
+ "through2": {
+ "version": "0.6.5",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+ "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "1.0.34",
+ "xtend": "4.0.1"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "1.0.34",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "0.0.1",
+ "string_decoder": "0.10.31"
+ }
+ }
+ }
+ },
+ "through2-filter": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz",
+ "integrity": "sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw=",
+ "dev": true,
+ "requires": {
+ "through2": "2.0.3",
+ "xtend": "4.0.1"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.2.10",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.10.tgz",
+ "integrity": "sha512-HQEnnoV404e0EtwB9yNiuk2tJ+egeVC8Y9QBAxzDg8DBJt4BzRp+yQuIb/t3FIWkSTmIi+sgx7yVv/ZM0GNoqw==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "1.0.7",
+ "safe-buffer": "5.1.0",
+ "string_decoder": "1.0.1",
+ "util-deprecate": "1.0.2"
+ }
+ },
+ "string_decoder": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz",
+ "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.0"
+ }
+ },
+ "through2": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+ "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "2.2.10",
+ "xtend": "4.0.1"
+ }
+ }
+ }
+ },
+ "time-grunt": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/time-grunt/-/time-grunt-1.4.0.tgz",
+ "integrity": "sha1-BiIT5mDJB+hvRAVWwB6mWXtxJCA=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "date-time": "1.1.0",
+ "figures": "1.7.0",
+ "hooker": "0.2.3",
+ "number-is-nan": "1.0.1",
+ "pretty-ms": "2.1.0",
+ "text-table": "0.2.0"
+ }
+ },
+ "time-stamp": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz",
+ "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=",
+ "dev": true
+ },
+ "time-zone": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/time-zone/-/time-zone-0.1.0.tgz",
+ "integrity": "sha1-Sncotqwo2w4Aj1FAQ/1VW9VXO0Y=",
+ "dev": true
+ },
+ "timed-out": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-3.1.3.tgz",
+ "integrity": "sha1-lYYL/MXHbCd/j4Mm/Q9bLiDrohc=",
+ "dev": true
+ },
+ "timers-browserify": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.2.tgz",
+ "integrity": "sha1-q0iDz1l9zVCvIRNJoA+8pWrIa4Y=",
+ "dev": true,
+ "requires": {
+ "setimmediate": "1.0.5"
+ }
+ },
+ "timers-ext": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.2.tgz",
+ "integrity": "sha1-YcxHp2wavTGV8UUn+XjViulMUgQ=",
+ "dev": true,
+ "requires": {
+ "es5-ext": "0.10.22",
+ "next-tick": "1.0.0"
+ },
+ "dependencies": {
+ "next-tick": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
+ "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=",
+ "dev": true
+ }
+ }
+ },
+ "tiny-lr-fork": {
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/tiny-lr-fork/-/tiny-lr-fork-0.0.5.tgz",
+ "integrity": "sha1-Hpnh4qhGm3NquX2X7vqYxx927Qo=",
+ "dev": true,
+ "requires": {
+ "debug": "0.7.4",
+ "faye-websocket": "0.4.4",
+ "noptify": "0.0.3",
+ "qs": "0.5.6"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "0.7.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz",
+ "integrity": "sha1-BuHqgILCyxTjmAbiLi9vdX+Srzk=",
+ "dev": true
+ },
+ "qs": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-0.5.6.tgz",
+ "integrity": "sha1-MbGtBYVnZRxSaSFQa5qHk5EaA4Q=",
+ "dev": true
+ }
+ }
+ },
+ "title-case": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/title-case/-/title-case-1.1.2.tgz",
+ "integrity": "sha1-+uSmrlRr+iLQg6DuqRCkDRLtT1o=",
+ "dev": true,
+ "requires": {
+ "sentence-case": "1.1.3",
+ "upper-case": "1.1.3"
+ }
+ },
+ "tmp": {
+ "version": "0.0.23",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.23.tgz",
+ "integrity": "sha1-3odKpel0qF8KMs39vXRmPLO9nHQ=",
+ "dev": true
+ },
+ "tmpl": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz",
+ "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=",
+ "dev": true
+ },
+ "to-absolute-glob": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz",
+ "integrity": "sha1-HN+kcqnvUMI57maZm2YsoOs5k38=",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "2.0.1"
+ }
+ },
+ "to-arraybuffer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
+ "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
+ "dev": true
+ },
+ "to-fast-properties": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
+ "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=",
+ "dev": true
+ },
+ "tosource": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/tosource/-/tosource-1.0.0.tgz",
+ "integrity": "sha1-QtiN0RZhi88A1hBt1URvNCeQL/E=",
+ "dev": true
+ },
+ "touch": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/touch/-/touch-0.0.2.tgz",
+ "integrity": "sha1-plp3d5Xly74SmUmb3EIoH/shtfQ=",
+ "dev": true,
+ "requires": {
+ "nopt": "1.0.10"
+ }
+ },
+ "tough-cookie": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz",
+ "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=",
+ "dev": true,
+ "requires": {
+ "punycode": "1.4.1"
+ }
+ },
+ "tr46": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
+ "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=",
+ "dev": true
+ },
+ "traverse": {
+ "version": "0.3.9",
+ "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz",
+ "integrity": "sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk=",
+ "dev": true
+ },
+ "trim-newlines": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
+ "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
+ "dev": true
+ },
+ "trim-repeated": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz",
+ "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=",
+ "dev": true,
+ "requires": {
+ "escape-string-regexp": "1.0.5"
+ }
+ },
+ "trim-right": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
+ "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
+ "dev": true
+ },
+ "tryor": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/tryor/-/tryor-0.1.2.tgz",
+ "integrity": "sha1-gUXkynyv9ArN48z5Rui4u3W0Fys=",
+ "dev": true
+ },
+ "tsscmp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.5.tgz",
+ "integrity": "sha1-fcSjOvcVgatDN9qR2FylQn69mpc=",
+ "dev": true
+ },
+ "tty-browserify": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
+ "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
+ "dev": true
+ },
+ "tunnel-agent": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz",
+ "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=",
+ "dev": true
+ },
+ "tweetnacl": {
+ "version": "0.14.5",
+ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
+ "dev": true,
+ "optional": true
+ },
+ "type-check": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
+ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "1.1.2"
+ }
+ },
+ "type-is": {
+ "version": "1.6.15",
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz",
+ "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=",
+ "dev": true,
+ "requires": {
+ "media-typer": "0.3.0",
+ "mime-types": "2.1.15"
+ }
+ },
+ "typedarray": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
+ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
+ "dev": true
+ },
+ "uglify-js": {
+ "version": "2.4.24",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.4.24.tgz",
+ "integrity": "sha1-+tV1XB4Vd2WLsG/5q25UjJW+vW4=",
+ "dev": true,
+ "requires": {
+ "async": "0.2.10",
+ "source-map": "0.1.34",
+ "uglify-to-browserify": "1.0.2",
+ "yargs": "3.5.4"
+ },
+ "dependencies": {
+ "async": {
+ "version": "0.2.10",
+ "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
+ "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.1.34",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.34.tgz",
+ "integrity": "sha1-p8/omux7FoLDsZjQrPtH19CQVms=",
+ "dev": true,
+ "requires": {
+ "amdefine": "1.0.1"
+ }
+ }
+ }
+ },
+ "uglify-to-browserify": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
+ "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=",
+ "dev": true
+ },
+ "uid-number": {
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.5.tgz",
+ "integrity": "sha1-Wj2yPvXb1VuB/ODsmirG/M3ruB4=",
+ "dev": true
+ },
+ "uid-safe": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.4.tgz",
+ "integrity": "sha1-Otbzg2jG1MjHXsF2I/t5qh0HHYE=",
+ "dev": true,
+ "requires": {
+ "random-bytes": "1.0.0"
+ }
+ },
+ "underscore": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz",
+ "integrity": "sha1-a7rwh3UA02vjTsqlhODbn+8DUgk=",
+ "dev": true
+ },
+ "underscore.string": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz",
+ "integrity": "sha1-18D6KvXVoaZ/QlPa7pgTLnM/Dxk=",
+ "dev": true
+ },
+ "uniq": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz",
+ "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=",
+ "dev": true
+ },
+ "uniqid": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/uniqid/-/uniqid-4.1.1.tgz",
+ "integrity": "sha1-iSIN32t1GuUrX3JISGNShZa7hME=",
+ "dev": true,
+ "requires": {
+ "macaddress": "0.2.8"
+ }
+ },
+ "uniqs": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz",
+ "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=",
+ "dev": true
+ },
+ "unique-stream": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.2.1.tgz",
+ "integrity": "sha1-WqADz76Uxf+GbE59ZouxxNuts2k=",
+ "dev": true,
+ "requires": {
+ "json-stable-stringify": "1.0.1",
+ "through2-filter": "2.0.0"
+ }
+ },
+ "unpipe": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+ "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
+ "dev": true
+ },
+ "untildify": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/untildify/-/untildify-2.1.0.tgz",
+ "integrity": "sha1-F+soB5h/dpUunASF/DEdBqgmouA=",
+ "dev": true,
+ "requires": {
+ "os-homedir": "1.0.2"
+ }
+ },
+ "unzip-response": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-1.0.2.tgz",
+ "integrity": "sha1-uYTwh3/AqJwsdzzB73tbIytbBv4=",
+ "dev": true
+ },
+ "update-notifier": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-0.2.0.tgz",
+ "integrity": "sha1-oBDJKK3PAgkLjgzn/vb7Cnysw0o=",
+ "dev": true,
+ "requires": {
+ "chalk": "0.5.1",
+ "configstore": "0.3.2",
+ "latest-version": "0.2.0",
+ "semver-diff": "0.1.0",
+ "string-length": "0.1.2"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz",
+ "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz",
+ "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz",
+ "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "1.1.0",
+ "escape-string-regexp": "1.0.5",
+ "has-ansi": "0.1.0",
+ "strip-ansi": "0.3.0",
+ "supports-color": "0.2.0"
+ }
+ },
+ "has-ansi": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz",
+ "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "0.2.1"
+ }
+ },
+ "strip-ansi": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz",
+ "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "0.2.1"
+ }
+ },
+ "supports-color": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz",
+ "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=",
+ "dev": true
+ }
+ }
+ },
+ "upper-case": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz",
+ "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=",
+ "dev": true
+ },
+ "upper-case-first": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-1.1.2.tgz",
+ "integrity": "sha1-XXm+3P8UQZUY/S7bCgUHybaFkRU=",
+ "dev": true,
+ "requires": {
+ "upper-case": "1.1.3"
+ }
+ },
+ "uri-path": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/uri-path/-/uri-path-0.0.2.tgz",
+ "integrity": "sha1-gD6wHy/rF5J9zOD2GH5yt19T9VQ=",
+ "dev": true
+ },
+ "url": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
+ "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
+ "dev": true,
+ "requires": {
+ "punycode": "1.3.2",
+ "querystring": "0.2.0"
+ },
+ "dependencies": {
+ "punycode": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
+ "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
+ "dev": true
+ }
+ }
+ },
+ "url-loader": {
+ "version": "0.5.8",
+ "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-0.5.8.tgz",
+ "integrity": "sha1-uRg7GAHg+EdxhnNnMEC8ncHHFcU=",
+ "dev": true,
+ "requires": {
+ "loader-utils": "1.1.0",
+ "mime": "1.3.4"
+ },
+ "dependencies": {
+ "loader-utils": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz",
+ "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=",
+ "dev": true,
+ "requires": {
+ "big.js": "3.1.3",
+ "emojis-list": "2.1.0",
+ "json5": "0.5.1"
+ }
+ }
+ }
+ },
+ "url-parse-lax": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz",
+ "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=",
+ "dev": true,
+ "requires": {
+ "prepend-http": "1.0.4"
+ }
+ },
+ "url-regex": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/url-regex/-/url-regex-3.2.0.tgz",
+ "integrity": "sha1-260eDJ4p4QXdCx8J9oYvf9tIJyQ=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ip-regex": "1.0.3"
+ }
+ },
+ "user-home": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz",
+ "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=",
+ "dev": true
+ },
+ "util": {
+ "version": "0.10.3",
+ "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
+ "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.1"
+ },
+ "dependencies": {
+ "inherits": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
+ "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
+ "dev": true
+ }
+ }
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
+ "dev": true
+ },
+ "utile": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/utile/-/utile-0.2.1.tgz",
+ "integrity": "sha1-kwyI6ZCY1iIINMNWy9mncFItkNc=",
+ "dev": true,
+ "requires": {
+ "async": "0.2.10",
+ "deep-equal": "1.0.1",
+ "i": "0.3.5",
+ "mkdirp": "0.5.1",
+ "ncp": "0.4.2",
+ "rimraf": "2.2.8"
+ },
+ "dependencies": {
+ "async": {
+ "version": "0.2.10",
+ "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
+ "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=",
+ "dev": true
+ }
+ }
+ },
+ "utils-merge": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz",
+ "integrity": "sha1-ApT7kiu5N1FTVBxPcJYjHyh8ivg=",
+ "dev": true
+ },
+ "uuid": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz",
+ "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=",
+ "dev": true
+ },
+ "vali-date": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/vali-date/-/vali-date-1.0.0.tgz",
+ "integrity": "sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY=",
+ "dev": true
+ },
+ "validate-npm-package-license": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz",
+ "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=",
+ "dev": true,
+ "requires": {
+ "spdx-correct": "1.0.2",
+ "spdx-expression-parse": "1.0.4"
+ }
+ },
+ "vary": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.0.1.tgz",
+ "integrity": "sha1-meSYFWaihhGN+yuBc1ffeZM3bRA=",
+ "dev": true
+ },
+ "vendors": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.1.tgz",
+ "integrity": "sha1-N61zyO5Bf7PVgOeFMSMH0nSEfyI=",
+ "dev": true
+ },
+ "verror": {
+ "version": "1.3.6",
+ "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz",
+ "integrity": "sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw=",
+ "dev": true,
+ "requires": {
+ "extsprintf": "1.0.2"
+ }
+ },
+ "vhost": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/vhost/-/vhost-3.0.2.tgz",
+ "integrity": "sha1-L7HezUxGaqiLD5NBrzPcGv8keNU=",
+ "dev": true
+ },
+ "vinyl": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz",
+ "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=",
+ "dev": true,
+ "requires": {
+ "clone": "1.0.2",
+ "clone-stats": "0.0.1",
+ "replace-ext": "0.0.1"
+ }
+ },
+ "vinyl-assign": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/vinyl-assign/-/vinyl-assign-1.2.1.tgz",
+ "integrity": "sha1-TRmIkbVRWRHXcajNnFSApGoHSkU=",
+ "dev": true,
+ "requires": {
+ "object-assign": "4.1.1",
+ "readable-stream": "2.2.10"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.2.10",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.10.tgz",
+ "integrity": "sha512-HQEnnoV404e0EtwB9yNiuk2tJ+egeVC8Y9QBAxzDg8DBJt4BzRp+yQuIb/t3FIWkSTmIi+sgx7yVv/ZM0GNoqw==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "1.0.7",
+ "safe-buffer": "5.1.0",
+ "string_decoder": "1.0.1",
+ "util-deprecate": "1.0.2"
+ }
+ },
+ "string_decoder": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz",
+ "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.0"
+ }
+ }
+ }
+ },
+ "vinyl-fs": {
+ "version": "2.4.4",
+ "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-2.4.4.tgz",
+ "integrity": "sha1-vm/zJwy1Xf19MGNkDegfJddTIjk=",
+ "dev": true,
+ "requires": {
+ "duplexify": "3.5.0",
+ "glob-stream": "5.3.5",
+ "graceful-fs": "4.1.11",
+ "gulp-sourcemaps": "1.6.0",
+ "is-valid-glob": "0.3.0",
+ "lazystream": "1.0.0",
+ "lodash.isequal": "4.5.0",
+ "merge-stream": "1.0.1",
+ "mkdirp": "0.5.1",
+ "object-assign": "4.1.1",
+ "readable-stream": "2.2.10",
+ "strip-bom": "2.0.0",
+ "strip-bom-stream": "1.0.0",
+ "through2": "2.0.3",
+ "through2-filter": "2.0.0",
+ "vali-date": "1.0.0",
+ "vinyl": "1.2.0"
+ },
+ "dependencies": {
+ "graceful-fs": {
+ "version": "4.1.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "dev": true
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.2.10",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.10.tgz",
+ "integrity": "sha512-HQEnnoV404e0EtwB9yNiuk2tJ+egeVC8Y9QBAxzDg8DBJt4BzRp+yQuIb/t3FIWkSTmIi+sgx7yVv/ZM0GNoqw==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "1.0.7",
+ "safe-buffer": "5.1.0",
+ "string_decoder": "1.0.1",
+ "util-deprecate": "1.0.2"
+ }
+ },
+ "string_decoder": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz",
+ "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.0"
+ }
+ },
+ "through2": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+ "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "2.2.10",
+ "xtend": "4.0.1"
+ }
+ }
+ }
+ },
+ "vm-browserify": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz",
+ "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=",
+ "dev": true,
+ "requires": {
+ "indexof": "0.0.1"
+ }
+ },
+ "vow": {
+ "version": "0.4.16",
+ "resolved": "https://registry.npmjs.org/vow/-/vow-0.4.16.tgz",
+ "integrity": "sha1-u51U2TjV+AUg1linQOeoleMP7us=",
+ "dev": true
+ },
+ "vow-fs": {
+ "version": "0.3.6",
+ "resolved": "https://registry.npmjs.org/vow-fs/-/vow-fs-0.3.6.tgz",
+ "integrity": "sha1-LUxZviLivyYY3fWXq0uqkjvnIA0=",
+ "dev": true,
+ "requires": {
+ "glob": "7.1.2",
+ "uuid": "2.0.3",
+ "vow": "0.4.16",
+ "vow-queue": "0.4.2"
+ },
+ "dependencies": {
+ "glob": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
+ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "1.0.0",
+ "inflight": "1.0.6",
+ "inherits": "2.0.3",
+ "minimatch": "3.0.4",
+ "once": "1.4.0",
+ "path-is-absolute": "1.0.1"
+ }
+ }
+ }
+ },
+ "vow-queue": {
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/vow-queue/-/vow-queue-0.4.2.tgz",
+ "integrity": "sha1-5/4XFg4Vx8QYTRtmapvGThjjAYQ=",
+ "dev": true,
+ "requires": {
+ "vow": "0.4.16"
+ }
+ },
+ "walker": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz",
+ "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=",
+ "dev": true,
+ "requires": {
+ "makeerror": "1.0.11"
+ }
+ },
+ "ware": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/ware/-/ware-1.3.0.tgz",
+ "integrity": "sha1-0bFPOdLiy0q4xAmPdW/ksWTkc9Q=",
+ "dev": true,
+ "requires": {
+ "wrap-fn": "0.1.5"
+ }
+ },
+ "watch": {
+ "version": "0.10.0",
+ "resolved": "https://registry.npmjs.org/watch/-/watch-0.10.0.tgz",
+ "integrity": "sha1-d3mLLaD5kQ1ZXxrOWwwiWFIfIdw=",
+ "dev": true
+ },
+ "watchpack": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.3.1.tgz",
+ "integrity": "sha1-fYaTkHsozmAT5/NhCqKhrPB9rYc=",
+ "dev": true,
+ "requires": {
+ "async": "2.4.1",
+ "chokidar": "1.7.0",
+ "graceful-fs": "4.1.11"
+ },
+ "dependencies": {
+ "async": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/async/-/async-2.4.1.tgz",
+ "integrity": "sha1-YqVrJ5yYoR0JhwlqAcw+6463u9c=",
+ "dev": true,
+ "requires": {
+ "lodash": "4.17.4"
+ }
+ },
+ "graceful-fs": {
+ "version": "4.1.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "dev": true
+ }
+ }
+ },
+ "webidl-conversions": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.1.tgz",
+ "integrity": "sha1-gBWherg+fhsxFjhIas6B2mziBqA=",
+ "dev": true
+ },
+ "webpack": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-2.6.1.tgz",
+ "integrity": "sha1-LgRX8KuxrF3zqxBsacZy8jZ4Xwc=",
+ "dev": true,
+ "requires": {
+ "acorn": "5.0.3",
+ "acorn-dynamic-import": "2.0.2",
+ "ajv": "4.11.8",
+ "ajv-keywords": "1.5.1",
+ "async": "2.4.1",
+ "enhanced-resolve": "3.1.0",
+ "interpret": "1.0.3",
+ "json-loader": "0.5.4",
+ "json5": "0.5.1",
+ "loader-runner": "2.3.0",
+ "loader-utils": "0.2.17",
+ "memory-fs": "0.4.1",
+ "mkdirp": "0.5.1",
+ "node-libs-browser": "2.0.0",
+ "source-map": "0.5.6",
+ "supports-color": "3.2.3",
+ "tapable": "0.2.6",
+ "uglify-js": "2.8.28",
+ "watchpack": "1.3.1",
+ "webpack-sources": "0.2.3",
+ "yargs": "6.6.0"
+ },
+ "dependencies": {
+ "acorn": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.0.3.tgz",
+ "integrity": "sha1-xGDfCEkUY/AozLguqzcwvwEIez0=",
+ "dev": true
+ },
+ "async": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/async/-/async-2.4.1.tgz",
+ "integrity": "sha1-YqVrJ5yYoR0JhwlqAcw+6463u9c=",
+ "dev": true,
+ "requires": {
+ "lodash": "4.17.4"
+ }
+ },
+ "source-map": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "1.0.0"
+ }
+ },
+ "uglify-js": {
+ "version": "2.8.28",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.28.tgz",
+ "integrity": "sha512-WqKNbmNJKzIdIEQu/U2ytgGBbhCy2PVks94GoetczOAJ/zCgVu2CuO7gguI5KPFGPtUtI1dmPQl6h0D4cPzypA==",
+ "dev": true,
+ "requires": {
+ "source-map": "0.5.6",
+ "uglify-to-browserify": "1.0.2",
+ "yargs": "3.10.0"
+ },
+ "dependencies": {
+ "yargs": {
+ "version": "3.10.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
+ "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
+ "dev": true,
+ "requires": {
+ "camelcase": "1.2.1",
+ "cliui": "2.1.0",
+ "decamelize": "1.2.0",
+ "window-size": "0.1.0"
+ }
+ }
+ }
+ },
+ "yargs": {
+ "version": "6.6.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz",
+ "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=",
+ "dev": true,
+ "requires": {
+ "camelcase": "3.0.0",
+ "cliui": "3.2.0",
+ "decamelize": "1.2.0",
+ "get-caller-file": "1.0.2",
+ "os-locale": "1.4.0",
+ "read-pkg-up": "1.0.1",
+ "require-directory": "2.1.1",
+ "require-main-filename": "1.0.1",
+ "set-blocking": "2.0.0",
+ "string-width": "1.0.2",
+ "which-module": "1.0.0",
+ "y18n": "3.2.1",
+ "yargs-parser": "4.2.1"
+ },
+ "dependencies": {
+ "camelcase": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
+ "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
+ "dev": true
+ },
+ "cliui": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
+ "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
+ "dev": true,
+ "requires": {
+ "string-width": "1.0.2",
+ "strip-ansi": "3.0.1",
+ "wrap-ansi": "2.1.0"
+ }
+ }
+ }
+ }
+ }
+ },
+ "webpack-sources": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-0.2.3.tgz",
+ "integrity": "sha1-F8Yr+vE8cH+dAsR54Nzd6DgGl/s=",
+ "dev": true,
+ "requires": {
+ "source-list-map": "1.1.2",
+ "source-map": "0.5.6"
+ },
+ "dependencies": {
+ "source-list-map": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-1.1.2.tgz",
+ "integrity": "sha1-mIkBnRAkzOVc3AaUmDN+9hhqEaE=",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ }
+ }
+ },
+ "whatwg-encoding": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.1.tgz",
+ "integrity": "sha1-PGxFGhmO567FWx7GHQkgxngBpfQ=",
+ "dev": true,
+ "requires": {
+ "iconv-lite": "0.4.13"
+ },
+ "dependencies": {
+ "iconv-lite": {
+ "version": "0.4.13",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz",
+ "integrity": "sha1-H4irpKsLFQjoMSrMOTRfNumS4vI=",
+ "dev": true
+ }
+ }
+ },
+ "whatwg-url": {
+ "version": "4.8.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-4.8.0.tgz",
+ "integrity": "sha1-0pgaqRSMHgCkHFphMRZqtGg7vMA=",
+ "dev": true,
+ "requires": {
+ "tr46": "0.0.3",
+ "webidl-conversions": "3.0.1"
+ },
+ "dependencies": {
+ "webidl-conversions": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
+ "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=",
+ "dev": true
+ }
+ }
+ },
+ "whet.extend": {
+ "version": "0.9.9",
+ "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz",
+ "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=",
+ "dev": true
+ },
+ "which": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.0.9.tgz",
+ "integrity": "sha1-RgwdoPgQED0DIam2M6+eV15kSG8=",
+ "dev": true
+ },
+ "which-module": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz",
+ "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=",
+ "dev": true
+ },
+ "win-release": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/win-release/-/win-release-1.1.1.tgz",
+ "integrity": "sha1-X6VeAr58qTTt/BJmVjLoSbcuUgk=",
+ "dev": true,
+ "requires": {
+ "semver": "5.3.0"
+ }
+ },
+ "window-size": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
+ "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=",
+ "dev": true
+ },
+ "winston": {
+ "version": "0.8.3",
+ "resolved": "https://registry.npmjs.org/winston/-/winston-0.8.3.tgz",
+ "integrity": "sha1-ZLar9M0Brcrv1QCTk7HY6L7BnbA=",
+ "dev": true,
+ "requires": {
+ "async": "0.2.10",
+ "colors": "0.6.2",
+ "cycle": "1.0.3",
+ "eyes": "0.1.8",
+ "isstream": "0.1.2",
+ "pkginfo": "0.3.1",
+ "stack-trace": "0.0.10"
+ },
+ "dependencies": {
+ "async": {
+ "version": "0.2.10",
+ "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
+ "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=",
+ "dev": true
+ },
+ "colors": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz",
+ "integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=",
+ "dev": true
+ },
+ "pkginfo": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.3.1.tgz",
+ "integrity": "sha1-Wyn2qB9wcXFC4J52W76rl7T4HiE=",
+ "dev": true
+ }
+ }
+ },
+ "wiredep": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/wiredep/-/wiredep-4.0.0.tgz",
+ "integrity": "sha1-7pVIqVBN/n6FQBpDXb7SybTqLkQ=",
+ "dev": true,
+ "requires": {
+ "bower-config": "1.4.0",
+ "glob": "7.1.2",
+ "lodash": "4.17.4",
+ "propprop": "0.3.1",
+ "through2": "2.0.3",
+ "wiredep-cli": "0.1.0"
+ },
+ "dependencies": {
+ "bower-config": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/bower-config/-/bower-config-1.4.0.tgz",
+ "integrity": "sha1-FsOMETX4BxwZ8lk41hsNjL8Y0/E=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "mout": "1.0.0",
+ "optimist": "0.6.1",
+ "osenv": "0.1.4",
+ "untildify": "2.1.0"
+ }
+ },
+ "glob": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
+ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "1.0.0",
+ "inflight": "1.0.6",
+ "inherits": "2.0.3",
+ "minimatch": "3.0.4",
+ "once": "1.4.0",
+ "path-is-absolute": "1.0.1"
+ }
+ },
+ "graceful-fs": {
+ "version": "4.1.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "dev": true
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "mout": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/mout/-/mout-1.0.0.tgz",
+ "integrity": "sha1-m98dSvV9ZtR8s1OmM1oygQmOFQE=",
+ "dev": true
+ },
+ "osenv": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz",
+ "integrity": "sha1-Qv5tWVPfBsgGS+bxdsPQWqqjRkQ=",
+ "dev": true,
+ "requires": {
+ "os-homedir": "1.0.2",
+ "os-tmpdir": "1.0.2"
+ }
+ },
+ "readable-stream": {
+ "version": "2.2.10",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.10.tgz",
+ "integrity": "sha512-HQEnnoV404e0EtwB9yNiuk2tJ+egeVC8Y9QBAxzDg8DBJt4BzRp+yQuIb/t3FIWkSTmIi+sgx7yVv/ZM0GNoqw==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "1.0.7",
+ "safe-buffer": "5.1.0",
+ "string_decoder": "1.0.1",
+ "util-deprecate": "1.0.2"
+ }
+ },
+ "string_decoder": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz",
+ "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.0"
+ }
+ },
+ "through2": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+ "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "2.2.10",
+ "xtend": "4.0.1"
+ }
+ }
+ }
+ },
+ "wiredep-cli": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/wiredep-cli/-/wiredep-cli-0.1.0.tgz",
+ "integrity": "sha1-ZCcr/KKUYfvQdEMVix4FZSb2xzk=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "minimist": "1.2.0",
+ "wiredep": "4.0.0"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ }
+ }
+ },
+ "wordwrap": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
+ "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
+ "dev": true
+ },
+ "worker-farm": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.4.1.tgz",
+ "integrity": "sha512-tgFAtgOYLPutkAyzgpS6VJFL5HY+0ui1Tvua+fITgz8ByaJTMFGtazR6xxQfwfiAcbwE+2fLG/K49wc2TfwCNw==",
+ "dev": true,
+ "requires": {
+ "errno": "0.1.4",
+ "xtend": "4.0.1"
+ }
+ },
+ "wrap-ansi": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
+ "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
+ "dev": true,
+ "requires": {
+ "string-width": "1.0.2",
+ "strip-ansi": "3.0.1"
+ }
+ },
+ "wrap-fn": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/wrap-fn/-/wrap-fn-0.1.5.tgz",
+ "integrity": "sha1-8htuQQFv9KfjFyDbxjoJAWvfmEU=",
+ "dev": true,
+ "requires": {
+ "co": "3.1.0"
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
+ "dev": true
+ },
+ "xdg-basedir": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-1.0.1.tgz",
+ "integrity": "sha1-FP+PY6T9vLBdW27qIrNvMDO58E4=",
+ "dev": true,
+ "requires": {
+ "user-home": "1.1.1"
+ }
+ },
+ "xml-name-validator": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-2.0.1.tgz",
+ "integrity": "sha1-TYuPHszTQZqjYgYb7O9RXh5VljU=",
+ "dev": true
+ },
+ "xmlbuilder": {
+ "version": "2.6.5",
+ "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-2.6.5.tgz",
+ "integrity": "sha1-b/etYPty0idk8AehZLd/K/FABSY=",
+ "dev": true,
+ "requires": {
+ "lodash": "3.10.1"
+ },
+ "dependencies": {
+ "lodash": {
+ "version": "3.10.1",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
+ "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=",
+ "dev": true
+ }
+ }
+ },
+ "xregexp": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-3.1.0.tgz",
+ "integrity": "sha1-FNhGHgvdOCJL/uUDmgiY/EL80zY="
+ },
+ "xtend": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
+ "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
+ "dev": true
+ },
+ "y18n": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
+ "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
+ "dev": true
+ },
+ "yargs": {
+ "version": "3.5.4",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.5.4.tgz",
+ "integrity": "sha1-2K/49mXpTDS9JZvevRv68N3TU2E=",
+ "dev": true,
+ "requires": {
+ "camelcase": "1.2.1",
+ "decamelize": "1.2.0",
+ "window-size": "0.1.0",
+ "wordwrap": "0.0.2"
+ }
+ },
+ "yargs-parser": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz",
+ "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=",
+ "dev": true,
+ "requires": {
+ "camelcase": "3.0.0"
+ },
+ "dependencies": {
+ "camelcase": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
+ "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
+ "dev": true
+ }
+ }
+ },
+ "yauzl": {
+ "version": "2.8.0",
+ "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.8.0.tgz",
+ "integrity": "sha1-eUUK/yKyqcWkHvVOAtuQfM+/nuI=",
+ "dev": true,
+ "requires": {
+ "buffer-crc32": "0.2.13",
+ "fd-slicer": "1.0.1"
+ }
+ }
+ }
+}
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..0db950b
--- /dev/null
+++ b/package.json
@@ -0,0 +1,61 @@
+{
+ "name": "dcaeApp",
+ "private": true,
+ "devDependencies": {
+ "autoprefixer-core": "^5.2.1",
+ "babel-core": "^6.23.1",
+ "babel-loader": "^6.3.2",
+ "babel-preset-es2015": "^6.22.0",
+ "css-loader": "^0.26.2",
+ "file-loader": "^0.10.1",
+ "grunt": "^0.4.5",
+ "grunt-angular-templates": "^0.5.7",
+ "grunt-concurrent": "^1.0.0",
+ "grunt-contrib-clean": "^0.6.0",
+ "grunt-contrib-concat": "^0.5.0",
+ "grunt-contrib-connect": "^0.9.0",
+ "grunt-contrib-copy": "^0.7.0",
+ "grunt-contrib-cssmin": "^0.12.0",
+ "grunt-contrib-htmlmin": "^0.4.0",
+ "grunt-contrib-imagemin": "^1.0.0",
+ "grunt-contrib-jshint": "^0.11.0",
+ "grunt-contrib-less": "^1.3.0",
+ "grunt-contrib-uglify": "^0.7.0",
+ "grunt-contrib-watch": "^0.6.1",
+ "grunt-filerev": "^2.1.2",
+ "grunt-google-cdn": "^0.4.3",
+ "grunt-injector": "^1.0.1",
+ "grunt-jscs": "^1.8.0",
+ "grunt-newer": "^1.1.0",
+ "grunt-ng-annotate": "^0.9.2",
+ "grunt-ng-constant": "^2.0.1",
+ "grunt-postcss": "^0.5.5",
+ "grunt-svgmin": "^2.0.0",
+ "grunt-usemin": "^3.0.0",
+ "grunt-wiredep": "^2.0.0",
+ "jasmine-core": "^2.4.1",
+ "jest-cli": "^20.0.4",
+ "jit-grunt": "^0.9.1",
+ "jshint-stylish": "^1.0.0",
+ "json-loader": "^0.5.4",
+ "phantomjs-prebuilt": "^2.1.7",
+ "style-loader": "^0.13.2",
+ "time-grunt": "^1.0.0",
+ "url-loader": "^0.5.8",
+ "webpack": "^2.2.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ },
+ "scripts": {
+ "test": "jest --watch",
+ "build": "grunt build2",
+ "setup": "npm install && bower install",
+ "run-local": "grunt serve"
+ },
+ "dependencies": {
+ "grunt-mkdir": "^1.0.0",
+ "grunt-preprocess": "^5.1.0",
+ "sdc-pubsub": "^1.0.20"
+ }
+}
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..6927093
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,445 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.onap.sdc.dcae-d.dt</groupId>
+ <artifactId>dcae-dt</artifactId>
+ <version>1.2.0-SNAPSHOT</version>
+ <packaging>war</packaging>
+ <name>dcae-dt</name>
+ <url>DCAE FE</url>
+
+ <parent>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-parent</artifactId>
+ <version>1.5.9.RELEASE</version>
+ <relativePath /> <!-- lookup parent from repository -->
+ </parent>
+
+ <properties>
+ <maven.build.timestamp.format>yyyyMMdd'T'HHmm</maven.build.timestamp.format>
+ <docker.tag>${project.version}-${maven.build.timestamp}</docker.tag>
+ <docker.latest.tag>${project.version}-latest</docker.latest.tag>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+ <java.version>1.8</java.version>
+ <nexus.proxy>https://nexus.onap.org</nexus.proxy>
+ <staging.profile.id>176c31dfe190a</staging.profile.id>
+ <sitePath>/content/sites/site/org/openecomp/sdc/${project.version}</sitePath>
+ <sonar.branch>${project.version}</sonar.branch>
+ </properties>
+ <dependencies>
+ <dependency>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-proxy</artifactId>
+ <version>${jetty.version}</version>
+ </dependency>
+ </dependencies>
+ <profiles>
+ <profile>
+ <id>local</id>
+ <activation>
+ <activeByDefault>false</activeByDefault>
+ </activation>
+ <dependencies>
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-web</artifactId>
+ <exclusions>
+ <exclusion>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-tomcat</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-jetty</artifactId>
+ <exclusions>
+ <exclusion>
+ <groupId>org.eclipse.jetty.websocket</groupId>
+ <artifactId>*</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-test</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-lang3</artifactId>
+ <version>3.5</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-net</groupId>
+ <artifactId>commons-net</artifactId>
+ <version>3.3</version>
+ </dependency>
+ <dependency>
+ <groupId>com.jcraft</groupId>
+ <artifactId>jsch</artifactId>
+ <version>0.1.54</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.code.gson</groupId>
+ <artifactId>gson</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.json</groupId>
+ <artifactId>json</artifactId>
+ <version>20160810</version>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ <version>2.5</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.sdc.dcae-d.dt-be-property</groupId>
+ <artifactId>DCAE-DT-PROPERTY</artifactId>
+ <version>1.2.0-SNAPSHOT</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ </dependencies>
+ </profile>
+
+ <profile>
+ <id>server</id>
+ <activation>
+ <activeByDefault>true</activeByDefault>
+ </activation>
+ <dependencies>
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-web</artifactId>
+ <exclusions>
+ <exclusion>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-tomcat</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-test</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-lang3</artifactId>
+ <version>3.5</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-net</groupId>
+ <artifactId>commons-net</artifactId>
+ <version>3.3</version>
+ </dependency>
+ <dependency>
+ <groupId>com.jcraft</groupId>
+ <artifactId>jsch</artifactId>
+ <version>0.1.54</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.code.gson</groupId>
+ <artifactId>gson</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.json</groupId>
+ <artifactId>json</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>javax.servlet-api</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.sdc.dcae-d.dt-be-property</groupId>
+ <artifactId>DCAE-DT-PROPERTY</artifactId>
+ <version>1.2.0-SNAPSHOT</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ </dependencies>
+ </profile>
+
+ <!-- Docker -->
+ <profile>
+ <id>docker</id>
+ <activation>
+ <activeByDefault>false</activeByDefault>
+ </activation>
+ <properties>
+ <fabric8.version>0.23.0</fabric8.version>
+ <docker.registry>nexus3.onap.org:10001</docker.registry>
+ <docker.username>docker</docker.username>
+ <docker.password>docker</docker.password>
+ <docker.namespace>onap</docker.namespace>
+ </properties>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>io.fabric8</groupId>
+ <artifactId>docker-maven-plugin</artifactId>
+ <version>${fabric8.version}</version>
+
+ <configuration>
+ <verbose>true</verbose>
+ <apiVersion>1.23</apiVersion>
+ <registry>${docker.registry}</registry>
+ <authConfig>
+ <username>${docker.username}</username>
+ <password>${docker.password}</password>
+ </authConfig>
+ <images>
+ <!-- Build backend image -->
+ <image>
+ <name>${docker.namespace}/${project.artifactId}</name>
+ <alias>${project.artifactId}</alias>
+ <build>
+ <cleanup>try</cleanup>
+ <dockerFileDir>${project.basedir}</dockerFileDir>
+ <tags>
+ <tag>${docker.tag}</tag>
+ <tag>${docker.latest.tag}</tag>
+ <tag>${docker.staging.tag}</tag>
+ </tags>
+ </build>
+ </image>
+ </images>
+ </configuration>
+ <executions>
+ <execution>
+ <id>clean-images</id>
+ <phase>pre-clean</phase>
+ <goals>
+ <goal>remove</goal>
+ </goals>
+ <configuration>
+ <removeAll>true</removeAll>
+ </configuration>
+ </execution>
+ <execution>
+ <id>generate-images</id>
+ <phase>install</phase>
+ <goals>
+ <goal>build</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>push-images</id>
+ <phase>deploy</phase>
+ <goals>
+ <goal>push</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+
+
+
+ </profiles>
+
+ <build>
+ <finalName>dcae-dt</finalName>
+
+ <!-- CLEAN -->
+ <plugins>
+ <plugin>
+ <artifactId>maven-clean-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>auto-clean</id>
+ <phase>initialize</phase>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!-- GRUNT + WEBAPP -->
+ <plugin>
+ <groupId>com.github.eirslett</groupId>
+ <artifactId>frontend-maven-plugin</artifactId>
+ <version>1.4</version>
+ <executions>
+ <execution>
+ <id>install node and npm</id>
+ <goals>
+ <goal>install-node-and-npm</goal>
+ </goals>
+ <configuration>
+ <!-- See https://nodejs.org/en/download/ for latest node and npm (lts)
+ versions -->
+ <nodeVersion>v6.9.5</nodeVersion>
+ <npmVersion>3.10.10</npmVersion>
+ </configuration>
+ </execution>
+ <execution>
+ <id>npm run setup</id>
+ <goals>
+ <goal>npm</goal>
+ </goals>
+ <!-- Optional configuration which provides for running any npm command -->
+ <configuration>
+ <arguments>run setup</arguments>
+ </configuration>
+ </execution>
+ <execution>
+ <id>npm run build</id>
+ <goals>
+ <goal>npm</goal>
+ </goals>
+ <configuration>
+ <arguments>run build:prod</arguments>
+ <arguments>run build</arguments>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!-- COPT FROM DIST TO WEBAPPS -->
+ <plugin>
+ <artifactId>maven-resources-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>copy-resources</id>
+ <phase>prepare-package</phase>
+ <goals>
+ <goal>copy-resources</goal>
+ </goals>
+ <configuration>
+ <outputDirectory>src/main/webapp</outputDirectory>
+ <resources>
+ <resource>
+ <directory>${project.basedir}/dist/exploded</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.sonatype.plugins</groupId>
+ <artifactId>nexus-staging-maven-plugin</artifactId>
+ <version>1.6.7</version>
+ <extensions>true</extensions>
+ <configuration>
+ <nexusUrl>${nexus.proxy}</nexusUrl>
+ <stagingProfileId>${staging.profile.id}</stagingProfileId>
+ <serverId>ecomp-staging</serverId>
+ </configuration>
+ </plugin>
+
+ <!-- ENRICH WITH SPRING BOOT JARS -->
+ <plugin>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-maven-plugin</artifactId>
+ <configuration>
+ <webXml>src/main/webapp/WEB-INF/web.xml</webXml>
+ <webResources>
+ <resource>
+ <!-- this is relative to the pom.xml directory -->
+ <directory>src/main/webapp/</directory>
+ </resource>
+ </webResources>
+ <archive>
+ <manifest>
+ <mainClass>org.openecomp.sdc.dcae.FeApp</mainClass>
+ </manifest>
+ </archive>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-war-plugin</artifactId>
+ <configuration>
+ <archive>
+ <manifestEntries>
+ <Specification-Version>${project.version}</Specification-Version>
+ </manifestEntries>
+ </archive>
+ </configuration>
+ </plugin>
+ <!-- Site Plugin -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-site-plugin</artifactId>
+ <version>3.4</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-webdav-jackrabbit</artifactId>
+ <version>2.10</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ </plugins>
+ </build>
+ <repositories>
+ <!-- LF repositories -->
+ <repository>
+ <id>ecomp-releases</id>
+ <name>Release Repository</name>
+ <url>${nexus.proxy}/content/repositories/releases/</url>
+ </repository>
+ <repository>
+ <id>ecomp-snapshots</id>
+ <name>Snapshots Repository</name>
+ <url>${nexus.proxy}/content/repositories/snapshots/</url>
+ </repository>
+ <repository>
+ <id>ecomp-public</id>
+ <name>Public Repository</name>
+ <url>${nexus.proxy}/content/repositories/public/</url>
+ </repository>
+ <!-- LF repositories END-->
+ </repositories>
+
+ <distributionManagement>
+ <repository>
+ <id>ecomp-releases</id>
+ <name>Release Repository</name>
+ <url>${nexus.proxy}/content/repositories/releases/</url>
+ </repository>
+ <snapshotRepository>
+ <id>ecomp-snapshots</id>
+ <name>Snapshot Repository</name>
+ <url>${nexus.proxy}/content/repositories/snapshots/</url>
+ </snapshotRepository>
+ <site>
+ <id>ecomp-site</id>
+ <url>dav:${nexus.proxy}${sitePath}</url>
+ </site>
+ </distributionManagement>
+ <!-- <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-war-plugin</artifactId> <version>3.0.0</version> <configuration>
+ <webResources> <resource> <directory>dist/imploded</directory> <targetPath>/</targetPath>
+ </resource> </webResources> </configuration> </plugin> </plugins> </build> -->
+
+</project>
diff --git a/run.sh b/run.sh
new file mode 100644
index 0000000..c80ac04
--- /dev/null
+++ b/run.sh
@@ -0,0 +1,9 @@
+#!/bin/bash
+echo "build"
+npm run build
+
+echo "Move to dist..."
+cd dist/imploded
+
+echo "Create war file..."
+jar -cvf dcae.war *
diff --git a/src/main/java/org/onap/sdc/dcae/FeApp.java b/src/main/java/org/onap/sdc/dcae/FeApp.java
new file mode 100644
index 0000000..c2e3bc9
--- /dev/null
+++ b/src/main/java/org/onap/sdc/dcae/FeApp.java
@@ -0,0 +1,76 @@
+package org.onap.sdc.dcae;
+
+import org.onap.sdc.dcae.controller.proxy.DcaeProxyOld;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.CommandLineRunner;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
+import org.springframework.boot.web.servlet.ServletRegistrationBean;
+import org.springframework.boot.web.support.SpringBootServletInitializer;
+import org.springframework.context.annotation.*;
+
+import javax.servlet.ServletContext;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.jar.Attributes;
+import java.util.jar.Manifest;
+
+
+@Configuration
+@ComponentScan()
+@EnableAutoConfiguration
+@PropertySource("file:${jetty.base}/config/dcae-dt/application.properties")
+public class FeApp extends SpringBootServletInitializer implements CommandLineRunner{
+
+ private static final String SPECIFICATION_VERSION = "Specification-Version";
+ @Autowired
+ ServletContext servletContext;
+
+ private static final String MANIFEST_FILE_NAME = "/META-INF/MANIFEST.MF";
+ private static String dcaeVersion;
+
+ @Value("${newFeUrl}")
+ private String newFeUrl;
+
+ @Value("${newFeContextPath}")
+ private String newFeContextPath;
+
+ public static void main(String[] args) {
+ SpringApplication.run(FeApp.class, args);
+ }
+
+ public void run(String... arg0) throws Exception {
+ InputStream inputStream = servletContext.getResourceAsStream(MANIFEST_FILE_NAME);
+
+ System.out.println("Server is starting..reading DCAE version...");
+
+ String version = null;
+ try {
+ Manifest mf = new Manifest(inputStream);
+ Attributes atts = mf.getMainAttributes();
+ version = atts.getValue(SPECIFICATION_VERSION);
+ if (version == null || version.isEmpty()) {
+ System.err.println("failed to read DCAE version from MANIFEST.");
+ } else {
+ System.out.println("DCAE version from MANIFEST is "+ version);
+ dcaeVersion = version;
+ }
+
+ } catch (IOException e) {
+ System.err.println("failed to read DCAE version from MANIFEST: "+ e.getMessage());
+ }
+ }
+
+ public static String getDcaeVersion() {
+ return dcaeVersion;
+ }
+
+
+ @Bean
+ public ServletRegistrationBean dcaeProxyBean() {
+ ServletRegistrationBean bean = new ServletRegistrationBean(new DcaeProxyOld(newFeUrl, newFeContextPath), "/dcaeProxyOld/*");
+ bean.setLoadOnStartup(1);
+ return bean;
+ }
+}
diff --git a/src/main/java/org/onap/sdc/dcae/controller/health/HealthController.java b/src/main/java/org/onap/sdc/dcae/controller/health/HealthController.java
new file mode 100644
index 0000000..9086600
--- /dev/null
+++ b/src/main/java/org/onap/sdc/dcae/controller/health/HealthController.java
@@ -0,0 +1,72 @@
+package org.onap.sdc.dcae.controller.health;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.onap.sdc.dcae.FeApp;
+import org.onap.sdc.dcae.composition.restmodels.health.ComponentsInfo;
+import org.onap.sdc.dcae.composition.restmodels.health.HealthResponse;
+import org.onap.sdc.dcae.composition.util.DcaeFeConstants;
+import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.google.gson.Gson;
+
+
+/**
+ *
+ * @author lezer
+ * Example:
+ * {
+ "healthCheckComponent": "DCAE Designer",
+ "healthCheckStatus": "UP",
+ "description": "OK",
+ "componentsInfo": [{
+ "healthCheckComponent": "FE",
+ "healthCheckStatus": "UP",
+ "description": "OK"
+ }]
+}
+ *
+ */
+@RestController
+@EnableAutoConfiguration
+@CrossOrigin
+public class HealthController {
+ Gson gson = new Gson();
+
+ @RequestMapping(value = "/healthCheckOld", method = RequestMethod.GET)
+ public ResponseEntity<String> healthCheck() {
+ try{
+ HealthResponse healthResponse = new HealthResponse();
+ healthResponse.setHealthCheckComponent(DcaeFeConstants.Health.APP_NAME);
+ healthResponse.setHealthCheckStatus(DcaeFeConstants.Health.UP);
+ healthResponse.setSdcVersion(FeApp.getDcaeVersion());
+ healthResponse.setDescription(DcaeFeConstants.Health.OK);
+
+ List<ComponentsInfo> componentsInfoList = new ArrayList<ComponentsInfo>();
+ ComponentsInfo componentsInfo = new ComponentsInfo();
+ componentsInfo.setHealthCheckComponent(DcaeFeConstants.Health.FE);
+ componentsInfo.setHealthCheckStatus(DcaeFeConstants.Health.UP);
+ componentsInfo.setVersion(FeApp.getDcaeVersion());
+ componentsInfo.setDescription(DcaeFeConstants.Health.OK);
+ componentsInfoList.add(componentsInfo);
+
+ healthResponse.setComponentsInfo(componentsInfoList);
+ String json = gson.toJson(healthResponse, HealthResponse.class);
+ System.out.println("Health Check response: "+json);
+
+ return new ResponseEntity<String>(json, HttpStatus.OK);
+ }
+ catch(Exception e){
+ System.err.println("Error occured while performing HealthCheck: "+e.getLocalizedMessage());
+ return new ResponseEntity<String>(e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
+ }
+ }
+
+}
diff --git a/src/main/java/org/onap/sdc/dcae/controller/proxy/DcaeProxyOld.java b/src/main/java/org/onap/sdc/dcae/controller/proxy/DcaeProxyOld.java
new file mode 100644
index 0000000..cacb092
--- /dev/null
+++ b/src/main/java/org/onap/sdc/dcae/controller/proxy/DcaeProxyOld.java
@@ -0,0 +1,164 @@
+package org.onap.sdc.dcae.controller.proxy;
+
+import com.google.common.cache.Cache;
+import com.google.common.cache.CacheBuilder;
+import org.eclipse.jetty.client.HttpClient;
+import org.eclipse.jetty.client.api.Response;
+import org.eclipse.jetty.proxy.ProxyServlet;
+import org.eclipse.jetty.util.ssl.SslContextFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.slf4j.MDC;
+import org.springframework.util.StringUtils;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.concurrent.TimeUnit;
+
+
+public class DcaeProxyOld extends ProxyServlet {
+
+ private static Logger log = LoggerFactory.getLogger(DcaeProxyOld.class);
+ private static Cache<String, MdcData> mdcDataCache = CacheBuilder.newBuilder().expireAfterWrite(10, TimeUnit.SECONDS).build();
+
+
+ //TODO proper configuration class
+ private String newFeUrl;
+ private String newFeContextPath;
+
+ public DcaeProxyOld(String newFeUrl, String newFeContextPath){
+ this.newFeUrl = newFeUrl;
+ this.newFeContextPath = newFeContextPath;
+ }
+
+ @Override
+ protected HttpClient newHttpClient() {
+ SslContextFactory factory = new SslContextFactory(true);
+ return new HttpClient(factory);
+ }
+
+ @Override
+ protected HttpClient createHttpClient() throws ServletException {
+ HttpClient client = super.createHttpClient();
+ client.setIdleTimeout(180000);
+ client.setConnectTimeout(180000);
+ return client;
+ }
+
+ @Override
+ protected String rewriteTarget(HttpServletRequest request) {
+ try{
+ logRequest(request);
+ }catch (Exception e){
+ log.error("Unexpected FE request logging error :", e);
+ }
+ String uri = request.getRequestURI();
+ uri = uri.replace("/dcaeProxyOld", "/dcaeProxy");
+ uri = uri.replaceFirst("/dcae", newFeContextPath);
+ String query = request.getQueryString();
+ StringBuilder url = new StringBuilder();
+ url.append(newFeUrl).append(uri);
+ if(null != query)
+ url.append("?").append(query);
+ String urlString = url.toString();
+ log.info("Proxy outgoing request={}", urlString);
+ return urlString;
+ }
+
+ @Override
+ protected void onProxyResponseSuccess(HttpServletRequest clientRequest, HttpServletResponse proxyResponse, Response serverResponse) {
+ try{
+ logResponse(clientRequest, serverResponse);
+ }catch (Exception e){
+ log.error("Unexpected FE response logging error :", e);
+ }
+ super.onProxyResponseSuccess(clientRequest, proxyResponse, serverResponse);
+ }
+
+
+ private void logRequest(HttpServletRequest httpRequest) {
+ MDC.clear();
+ Long transactionStartTime = System.currentTimeMillis();
+ String requestId = httpRequest.getHeader("X-ECOMP-RequestID");
+ String serviceInstanceID = httpRequest.getHeader("X-ECOMP-ServiceID");
+ if (!StringUtils.isEmpty(requestId)) {
+ String userId = httpRequest.getHeader("USER_ID");
+ String remoteAddr = httpRequest.getRemoteAddr();
+ String localAddr = httpRequest.getLocalAddr();
+ mdcDataCache.put(requestId, new MdcData(serviceInstanceID, userId, remoteAddr, localAddr, transactionStartTime));
+ updateMdc(requestId, serviceInstanceID, userId, remoteAddr, localAddr, null);
+ }
+ inHttpRequest(httpRequest);
+ }
+
+ private void logResponse(HttpServletRequest request, Response proxyResponse) {
+ String requestId = request.getHeader("X-ECOMP-RequestID");
+ if (requestId != null) {
+ MdcData mdcData = mdcDataCache.getIfPresent(requestId);
+ if (mdcData != null) {
+ Long transactionStartTime = mdcData.getTransactionStartTime();
+ String transactionRoundTime = Long.toString(System.currentTimeMillis() - transactionStartTime);
+ updateMdc(requestId, mdcData.getServiceInstanceID(), mdcData.getUserId(), mdcData.getRemoteAddr(), mdcData.getLocalAddr(), transactionRoundTime);
+ }
+ }
+ outHttpResponse(proxyResponse);
+ MDC.clear();
+ }
+
+ private class MdcData {
+ private String serviceInstanceID;
+ private String userId;
+ private String remoteAddr;
+ private String localAddr;
+ private Long transactionStartTime;
+
+ MdcData(String serviceInstanceID, String userId, String remoteAddr, String localAddr, Long transactionStartTime) {
+ this.serviceInstanceID = serviceInstanceID;
+ this.userId = userId;
+ this.remoteAddr = remoteAddr;
+ this.localAddr = localAddr;
+ this.transactionStartTime = transactionStartTime;
+ }
+
+ Long getTransactionStartTime() {
+ return transactionStartTime;
+ }
+
+ public String getUserId() {
+ return userId;
+ }
+
+ String getRemoteAddr() {
+ return remoteAddr;
+ }
+
+ String getLocalAddr() {
+ return localAddr;
+ }
+
+ String getServiceInstanceID() {
+ return serviceInstanceID;
+ }
+ }
+
+ private void updateMdc(String uuid, String serviceInstanceID, String userId, String remoteAddr, String localAddr, String transactionStartTime) {
+ MDC.put("uuid", uuid);
+ MDC.put("serviceInstanceID", serviceInstanceID);
+ MDC.put("userId", userId);
+ MDC.put("remoteAddr", remoteAddr);
+ MDC.put("localAddr", localAddr);
+ MDC.put("timer", transactionStartTime);
+ }
+
+ // Extracted for purpose of clear method name, for logback %M parameter
+ private void inHttpRequest(HttpServletRequest httpRequest) {
+ log.info("{} {} {}", httpRequest.getMethod(), httpRequest.getRequestURI(), httpRequest.getProtocol());
+ }
+
+ // Extracted for purpose of clear method name, for logback %M parameter
+ private void outHttpResponse(Response proxyResponse) {
+ log.info("SC=\"{}\"", proxyResponse.getStatus());
+ }
+
+}
diff --git a/src/test/org/onap/sdc/dcae/controller/proxy/DcaeProxyTest.java b/src/test/org/onap/sdc/dcae/controller/proxy/DcaeProxyTest.java
new file mode 100644
index 0000000..94cb2c0
--- /dev/null
+++ b/src/test/org/onap/sdc/dcae/controller/proxy/DcaeProxyTest.java
@@ -0,0 +1,29 @@
+package org.onap.sdc.dcae.controller.proxy;
+
+import org.junit.Test;
+import org.mockito.Mockito;
+
+import javax.servlet.http.HttpServletRequest;
+
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.when;
+
+
+//TODO headers and cookies test (API)
+public class DcaeProxyTest {
+
+ private static final String BEHOST = "https://host.xxx.yyy:8443";
+ private DcaeProxy proxy = new DcaeProxy(BEHOST);
+ private final static HttpServletRequest servletRequest = Mockito.mock(HttpServletRequest.class);
+
+
+ @Test
+ public void testRewriteUrlWithQueryParams(){
+ String requestUrl = "/dcae/dcaeProxy/someBeApi?%20x=1&y=2";
+ String expectedUrl = BEHOST + "/dcae/someBeApi?%20x=1&y=2";
+ when(servletRequest.getRequestURI()).thenReturn(requestUrl);
+ String target = proxy.rewriteTarget(servletRequest);
+ assertTrue(target.equals(expectedUrl));
+ }
+
+}
diff --git a/test/.jshintrc b/test/.jshintrc
new file mode 100644
index 0000000..b165217
--- /dev/null
+++ b/test/.jshintrc
@@ -0,0 +1,18 @@
+{
+ "bitwise": true,
+ "browser": true,
+ "curly": true,
+ "eqeqeq": true,
+ "esnext": true,
+ "jasmine": true,
+ "latedef": true,
+ "noarg": true,
+ "node": true,
+ "strict": true,
+ "undef": true,
+ "unused": true,
+ "globals": {
+ "angular": false,
+ "inject": false
+ }
+}
diff --git a/test/karma.conf.js b/test/karma.conf.js
new file mode 100644
index 0000000..987af6e
--- /dev/null
+++ b/test/karma.conf.js
@@ -0,0 +1,76 @@
+// Karma configuration
+// Generated on 2016-05-30
+
+module.exports = function(config) {
+ 'use strict';
+
+ config.set({
+ // enable / disable watching file and executing tests whenever any file changes
+ autoWatch: true,
+
+ // base path, that will be used to resolve files and exclude
+ basePath: '../',
+
+ // testing framework to use (jasmine/mocha/qunit/...)
+ // as well as any additional frameworks (requirejs/chai/sinon/...)
+ frameworks: [
+ 'jasmine'
+ ],
+
+ // list of files / patterns to load in the browser
+ files: [
+ // bower:js
+ 'bower_components/jquery/dist/jquery.js',
+ 'bower_components/angular/angular.js',
+ 'bower_components/bootstrap/dist/js/bootstrap.js',
+ 'bower_components/angular-ui-router/release/angular-ui-router.js',
+ 'bower_components/angular-mocks/angular-mocks.js',
+ // endbower
+ 'app/scripts/**/*.js',
+ 'test/mock/**/*.js',
+ 'test/spec/**/*.js'
+ ],
+
+ // list of files / patterns to exclude
+ exclude: [
+ ],
+
+ // web server port
+ port: 8080,
+
+ // Start these browsers, currently available:
+ // - Chrome
+ // - ChromeCanary
+ // - Firefox
+ // - Opera
+ // - Safari (only Mac)
+ // - PhantomJS
+ // - IE (only Windows)
+ browsers: [
+ 'PhantomJS'
+ ],
+
+ // Which plugins to enable
+ plugins: [
+ 'karma-phantomjs-launcher',
+ 'karma-jasmine'
+ ],
+
+ // Continuous Integration mode
+ // if true, it capture browsers, run tests and exit
+ singleRun: false,
+
+ colors: true,
+
+ // level of logging
+ // possible values: LOG_DISABLE || LOG_ERROR || LOG_WARN || LOG_INFO || LOG_DEBUG
+ logLevel: config.LOG_INFO,
+
+ // Uncomment the following lines if you are using grunt's server to run the tests
+ // proxies: {
+ // '/': 'http://localhost:9000/'
+ // },
+ // URL root prevent conflicts with the site root
+ // urlRoot: '_karma_'
+ });
+};
diff --git a/test/spec/controllers/main.js b/test/spec/controllers/main.js
new file mode 100644
index 0000000..d61482a
--- /dev/null
+++ b/test/spec/controllers/main.js
@@ -0,0 +1,23 @@
+'use strict';
+
+describe('Controller: MainCtrl', function () {
+
+ // load the controller's module
+ beforeEach(module('iceApp'));
+
+ var MainCtrl,
+ scope;
+
+ // Initialize the controller and a mock scope
+ beforeEach(inject(function ($controller, $rootScope) {
+ scope = $rootScope.$new();
+ MainCtrl = $controller('MainCtrl', {
+ $scope: scope
+ // place here mocked dependencies
+ });
+ }));
+
+ it('should attach a list of awesomeThings to the scope', function () {
+ expect(MainCtrl.awesomeThings.length).toBe(3);
+ });
+});
diff --git a/webpack.config.js b/webpack.config.js
new file mode 100644
index 0000000..aeecbdb
--- /dev/null
+++ b/webpack.config.js
@@ -0,0 +1,31 @@
+'use strict';
+// var CompressionPlugin = require('compression-webpack-plugin');
+
+module.exports = {
+ devtool: 'source-map',
+ entry: {
+ js: ['./.tmp/concat/scripts/scripts.js', './.tmp_imploded/styles/main.css']
+ },
+ output: {
+ path: __dirname + '/dist/imploded',
+ filename: 'dcae-bundle.js'
+ },
+ // plugins: [
+ // new CompressionPlugin({
+ // asset: "[path].gz[query]",
+ // algorithm: "gzip",
+ // test: /\.js$|\.css$|\.html$/
+ // })
+ // ],
+ module: {
+ loaders: [
+ { test: /\.(js|jsx)$/, loaders: ['babel-loader'], exclude: /node_modules/ },
+
+ // required for font icons
+ { test: /\.(woff|woff2)(\?.*)?$/, loader: 'url-loader?limit=16384&mimetype=application/font-woff' },
+ { test: /\.(ttf|eot|otf)(\?.*)?$/, loader: 'file-loader' },
+ { test: /\.(png|jpg|svg)(\?.*)?$/, loader: 'url-loader?limit=16384' },
+ { test: /\.css$/, loader: "style-loader!css-loader" }
+ ]
+ }
+};