From 2cda8ea3262552c29f20423f2755a3dfc66e2648 Mon Sep 17 00:00:00 2001 From: Jiahua Yan Date: Fri, 17 Jun 2016 16:23:10 -0700 Subject: [PATCH] Add 2.5 tag Change-Id: Ied0537b621526b24707b72c3ae065a03e743bc46 --- app/Gruntfile.coffee | 149 + app/README.md | 79 - .../css}/angular-ui-tree.min.css | 0 app/assets/css/chosen.css | 0 .../css}/daterangepicker-bs3.css | 0 .../css/font-awesome.min.css | 0 app/{vendor/nvd3 => assets/css}/nv.d3.min.css | 0 app/assets/css/style.css | 48 +- .../fonts/FontAwesome.otf | Bin .../fonts/fontawesome-webfont.eot | Bin .../fonts/fontawesome-webfont.svg | 0 .../fonts/fontawesome-webfont.ttf | Bin .../fonts/fontawesome-webfont.woff | Bin .../fonts/glyphicons-halflings-regular.woff | Bin app/bower.json | 43 + app/dash/app/app.20ee1677.js | 28 - app/dash/app/app.js | 28 - app/dash/app/components/require.config.js | 4 - app/dash/app/dashboards/Compute | 817 - app/dash/app/dashboards/Controller | 1173 - app/dash/app/dashboards/Database | 492 - app/dash/app/dashboards/Image | 511 - app/dash/app/dashboards/Message Bus | 541 - app/dash/app/dashboards/Metrics Dashboard | 953 - app/dash/app/dashboards/Network | 546 - app/dash/app/dashboards/Processes | 845 - app/dash/app/dashboards/Security | 531 - app/dash/app/dashboards/Storage | 670 - app/dash/app/dashboards/default.json | 153 - app/dash/app/dashboards/empty.json | 83 - app/dash/app/dashboards/scripted.js | 80 - app/dash/app/dashboards/scripted_async.js | 81 - app/dash/app/panels/annotations/editor.html | 1 - app/dash/app/panels/annotations/module.html | 1 - app/dash/app/panels/filtering/module.html | 1 - app/dash/app/panels/graph/axisEditor.html | 1 - app/dash/app/panels/graph/legend.html | 26 - app/dash/app/panels/graph/module.html | 1 - app/dash/app/panels/graph/styleEditor.html | 1 - app/dash/app/panels/text/editor.html | 2 - app/dash/app/panels/text/module.html | 1 - app/dash/app/panels/timepicker/custom.html | 31 - app/dash/app/panels/timepicker/editor.html | 1 - app/dash/app/panels/timepicker/module.html | 8 - .../app/panels/timepicker/refreshctrl.html | 1 - app/dash/app/partials/dashLoader.html | 3 - app/dash/app/partials/dashLoaderShare.html | 1 - app/dash/app/partials/dashboard.html | 1 - app/dash/app/partials/dasheditor.html | 1 - app/dash/app/partials/graphite/editor.html | 1 - app/dash/app/partials/import.html | 1 - app/dash/app/partials/influxdb/editor.html | 1 - app/dash/app/partials/inspector.html | 5 - app/dash/app/partials/kairosdb/editor.html | 1 - app/dash/app/partials/load.html | 1 - app/dash/app/partials/loadmetrics.html | 1 - app/dash/app/partials/metrics.html | 1 - app/dash/app/partials/modal.html | 1 - app/dash/app/partials/opentsdb/editor.html | 1 - app/dash/app/partials/paneladd.html | 1 - app/dash/app/partials/paneleditor.html | 1 - app/dash/app/partials/panelgeneral.html | 1 - app/dash/app/partials/playlist.html | 1 - app/dash/app/partials/roweditor.html | 1 - app/dash/app/partials/search.html | 11 - app/dash/app/partials/unsaved-changes.html | 1 - app/dash/build.txt | 106 - app/dash/config.js | 76 - app/dash/config.sample.js | 63 - app/dash/css/animate.min.css | 1 - app/dash/css/bootstrap-responsive.min.css | 9 - app/dash/css/bootstrap.dark.min.css | 9 - app/dash/css/bootstrap.light.min.css | 9 - app/dash/css/default.min.a9bd22e8.css | 26 - app/dash/css/default.min.css | 26 - app/dash/css/font-awesome.min.css | 1 - app/dash/css/normalize.min.css | 1 - app/dash/css/spectrum.css | 1 - app/dash/css/timepicker.css | 18 - app/dash/font/FontAwesome.otf | Bin 61896 -> 0 bytes app/dash/font/fontawesome-webfont.eot | Bin 37405 -> 0 bytes app/dash/font/fontawesome-webfont.svg | 399 - app/dash/font/fontawesome-webfont.ttf | Bin 79076 -> 0 bytes app/dash/font/fontawesome-webfont.woff | Bin 43572 -> 0 bytes app/dash/img/cubes.png | Bin 22505 -> 0 bytes app/dash/img/glyphicons-halflings-white.png | Bin 8777 -> 0 bytes app/dash/img/glyphicons-halflings.png | Bin 12799 -> 0 bytes app/dash/img/kibana.png | Bin 7359 -> 0 bytes app/dash/img/light.png | Bin 14080 -> 0 bytes app/dash/img/load.gif | Bin 723 -> 0 bytes app/dash/img/load_big.gif | Bin 2892 -> 0 bytes app/dash/img/small.png | Bin 4290 -> 0 bytes app/dash/index.html | 42 - app/dash/test/karma.conf.js | 4 - app/dash/test/mocks/dashboard-mock.js | 4 - app/dash/test/specs/filterSrv-specs.js | 4 - app/dash/test/specs/gfunc-specs.js | 4 - .../specs/graph-panel-controller-specs.js | 3 - .../test/specs/graphiteTargetCtrl-specs.js | 4 - app/dash/test/specs/kbn-format-specs.js | 4 - app/dash/test/specs/lexer-specs.js | 4 - app/dash/test/specs/parser-specs.js | 4 - app/dash/test/test-main.js | 4 - app/dash/test/tests.html | 26 - app/dash/tmpx | 1 - app/dash/vendor/angular/angular-mocks.js | 4 - .../vendor/jquery/jquery.flot.fillbetween.js | 4 - app/dash/vendor/license.json | 70 - app/dash/vendor/require/css-build.js | 4 - app/dash/vendor/require/require.js | 4 - app/dash/vendor/require/tmpl.js | 4 - app/data/config.json | 54 +- app/data/config.json-backup | 474 + app/data/sample_machine_uploadfile.txt | 5 + app/data/sample_switch_uploadfile.txt | 1 + app/data/wizard_steps.json | 50 +- app/dboards/.gitignore | 12 - app/dboards/.jscs.json | 13 - app/dboards/.jshintrc | 35 - app/dboards/.travis.yml | 5 - app/dboards/CHANGELOG.md | 217 - app/dboards/CONTRIBUTING.md | 14 - app/dboards/Gruntfile.js | 38 - app/dboards/LICENSE.md | 14 - app/dboards/NOTICE.md | 16 - app/dboards/README.md | 131 - app/dboards/grafana.sublime-project | 18 - app/dboards/latest.json | 4 - app/dboards/package.json | 63 - app/dboards/sample/apache_ldap.conf | 61 - app/dboards/sample/lighttpd_basic.conf | 24 - app/dboards/sample/nginx.conf | 60 - app/dboards/sample/server.js | 244 - app/dboards/src/app/app.js | 149 - .../src/app/components/extend-jquery.js | 47 - app/dboards/src/app/components/kbn.js | 563 - app/dboards/src/app/components/partials.js | 2 - .../src/app/components/require.config.js | 111 - app/dboards/src/app/components/settings.js | 86 - .../src/app/components/underscore.extended.js | 36 - app/dboards/src/app/controllers/all.js | 16 - app/dboards/src/app/controllers/dash.js | 152 - app/dboards/src/app/controllers/dashLoader.js | 172 - .../src/app/controllers/graphiteImport.js | 104 - .../src/app/controllers/graphiteTarget.js | 294 - .../src/app/controllers/influxTargetCtrl.js | 90 - .../src/app/controllers/inspectCtrl.js | 75 - .../src/app/controllers/kairosdbTargetCtrl.js | 344 - app/dboards/src/app/controllers/metricKeys.js | 186 - .../src/app/controllers/opentsdbTargetCtrl.js | 118 - .../src/app/controllers/panelBaseCtrl.js | 134 - .../src/app/controllers/playlistCtrl.js | 39 - app/dboards/src/app/controllers/pulldown.js | 42 - app/dboards/src/app/controllers/row.js | 195 - app/dboards/src/app/controllers/search.js | 196 - .../src/app/controllers/submenuCtrl.js | 27 - app/dboards/src/app/dashboards/default.json | 153 - app/dboards/src/app/dashboards/empty.json | 83 - app/dboards/src/app/dashboards/scripted.js | 80 - .../src/app/dashboards/scripted_async.js | 81 - .../src/app/directives/addGraphiteFunc.js | 100 - app/dboards/src/app/directives/addPanel.js | 35 - app/dboards/src/app/directives/all.js | 20 - app/dboards/src/app/directives/arrayJoin.js | 34 - app/dboards/src/app/directives/bodyClass.js | 44 - .../src/app/directives/bootstrap-tagsinput.js | 134 - app/dboards/src/app/directives/configModal.js | 48 - .../src/app/directives/confirmClick.js | 26 - app/dboards/src/app/directives/dashUpload.js | 37 - .../src/app/directives/grafanaGraph.js | 404 - .../src/app/directives/grafanaVersionCheck.js | 33 - .../src/app/directives/graphiteFuncEditor.js | 242 - .../src/app/directives/influxdbFuncEditor.js | 136 - app/dboards/src/app/directives/kibanaPanel.js | 118 - .../src/app/directives/kibanaSimplePanel.js | 77 - app/dboards/src/app/directives/ngBlur.js | 20 - .../src/app/directives/ngModelOnBlur.js | 25 - .../src/app/directives/spectrumPicker.js | 38 - app/dboards/src/app/directives/tip.js | 20 - app/dboards/src/app/filters/all.js | 117 - .../src/app/panels/annotations/editor.html | 76 - .../src/app/panels/annotations/module.html | 12 - .../src/app/panels/annotations/module.js | 67 - .../src/app/panels/filtering/module.html | 50 - .../src/app/panels/filtering/module.js | 104 - .../src/app/panels/graph/axisEditor.html | 113 - app/dboards/src/app/panels/graph/legend.html | 61 - app/dboards/src/app/panels/graph/module.html | 33 - app/dboards/src/app/panels/graph/module.js | 430 - .../src/app/panels/graph/styleEditor.html | 66 - .../src/app/panels/graph/timeSeries.js | 74 - app/dboards/src/app/panels/text/editor.html | 18 - .../src/app/panels/text/lib/showdown.js | 1454 - app/dboards/src/app/panels/text/module.html | 10 - app/dboards/src/app/panels/text/module.js | 101 - .../src/app/panels/timepicker/custom.html | 78 - .../src/app/panels/timepicker/editor.html | 12 - .../src/app/panels/timepicker/module.html | 56 - .../src/app/panels/timepicker/module.js | 197 - .../app/panels/timepicker/refreshctrl.html | 5 - app/dboards/src/app/partials/dashLoader.html | 77 - .../src/app/partials/dashLoaderShare.html | 11 - app/dboards/src/app/partials/dashboard.html | 110 - app/dboards/src/app/partials/dasheditor.html | 161 - .../src/app/partials/graphite/editor.html | 105 - app/dboards/src/app/partials/import.html | 31 - .../src/app/partials/influxdb/editor.html | 157 - app/dboards/src/app/partials/inspector.html | 68 - .../src/app/partials/kairosdb/editor.html | 375 - app/dboards/src/app/partials/load.html | 4 - app/dboards/src/app/partials/loadmetrics.html | 36 - app/dboards/src/app/partials/metrics.html | 17 - app/dboards/src/app/partials/modal.html | 12 - .../src/app/partials/opentsdb/editor.html | 176 - app/dboards/src/app/partials/paneladd.html | 6 - app/dboards/src/app/partials/paneleditor.html | 23 - .../src/app/partials/panelgeneral.html | 11 - app/dboards/src/app/partials/playlist.html | 54 - app/dboards/src/app/partials/roweditor.html | 66 - app/dboards/src/app/partials/search.html | 122 - .../src/app/partials/unsaved-changes.html | 16 - app/dboards/src/app/services/alertSrv.js | 49 - app/dboards/src/app/services/all.js | 13 - .../src/app/services/annotationsSrv.js | 157 - app/dboards/src/app/services/dashboard.js | 472 - app/dboards/src/app/services/dashboard/all.js | 4 - .../dashboard/dashboardKeyBindings.js | 58 - app/dboards/src/app/services/datasourceSrv.js | 61 - app/dboards/src/app/services/filterSrv.js | 110 - .../src/app/services/graphite/gfunc.js | 568 - .../services/graphite/graphiteDatasource.js | 185 - .../src/app/services/graphite/lexer.js | 667 - .../src/app/services/graphite/parser.js | 224 - .../services/influxdb/influxdbDatasource.js | 284 - .../services/kairosdb/kairosdbDatasource.js | 371 - .../src/app/services/keyboardManager.js | 280 - .../services/opentsdb/opentsdbDatasource.js | 153 - app/dboards/src/app/services/panelMove.js | 67 - app/dboards/src/app/services/playlistSrv.js | 86 - app/dboards/src/app/services/timer.js | 34 - .../src/app/services/unsavedChangesSrv.js | 115 - app/dboards/src/config.sample.js | 63 - app/dboards/src/css/animate.min.css | 3270 --- .../src/css/bootstrap-responsive.min.css | 9 - app/dboards/src/css/bootstrap.dark.min.css | 9 - app/dboards/src/css/bootstrap.light.min.css | 9 - app/dboards/src/css/default.min.css | 4222 --- app/dboards/src/css/font-awesome.min.css | 403 - .../src/css/less/bootstrap-tagsinput.less | 52 - app/dboards/src/css/less/bootstrap.dark.less | 5 - app/dboards/src/css/less/bootstrap.light.less | 5 - app/dboards/src/css/less/bootswatch.dark.less | 576 - .../src/css/less/bootswatch.light.less | 574 - .../src/css/less/grafana-responsive.less | 36 - app/dboards/src/css/less/grafana.less | 522 - app/dboards/src/css/less/overrides.less | 617 - app/dboards/src/css/less/submenu.less | 118 - app/dboards/src/css/less/variables.dark.less | 322 - app/dboards/src/css/less/variables.light.less | 324 - app/dboards/src/css/normalize.min.css | 1 - app/dboards/src/css/spectrum.css | 519 - app/dboards/src/css/timepicker.css | 423 - app/dboards/src/font/FontAwesome.otf | Bin 61896 -> 0 bytes app/dboards/src/font/fontawesome-webfont.eot | Bin 37405 -> 0 bytes app/dboards/src/font/fontawesome-webfont.ttf | Bin 79076 -> 0 bytes app/dboards/src/font/fontawesome-webfont.woff | Bin 43572 -> 0 bytes app/dboards/src/img/cubes.png | Bin 22505 -> 0 bytes .../src/img/glyphicons-halflings-white.png | Bin 8777 -> 0 bytes app/dboards/src/img/glyphicons-halflings.png | Bin 12799 -> 0 bytes app/dboards/src/img/kibana.png | Bin 7359 -> 0 bytes app/dboards/src/img/light.png | Bin 14080 -> 0 bytes app/dboards/src/img/load.gif | Bin 723 -> 0 bytes app/dboards/src/img/load_big.gif | Bin 2892 -> 0 bytes app/dboards/src/img/small.png | Bin 480 -> 0 bytes app/dboards/src/index.html | 44 - app/dboards/src/test/.jshintrc | 38 - app/dboards/src/test/karma.conf.js | 30 - app/dboards/src/test/mocks/dashboard-mock.js | 42 - app/dboards/src/test/specs/filterSrv-specs.js | 88 - app/dboards/src/test/specs/gfunc-specs.js | 108 - .../specs/graph-panel-controller-specs.js | 31 - .../test/specs/graphiteTargetCtrl-specs.js | 24 - .../src/test/specs/kbn-format-specs.js | 53 - app/dboards/src/test/specs/lexer-specs.js | 101 - app/dboards/src/test/specs/parser-specs.js | 153 - app/dboards/src/test/test-main.js | 138 - app/dboards/src/test/tests.html | 26 - .../src/vendor/angular/angular-dragdrop.js | 333 - .../src/vendor/angular/angular-mocks.js | 1886 -- .../src/vendor/angular/angular-sanitize.js | 558 - .../src/vendor/angular/angular-strap.js | 878 - app/dboards/src/vendor/angular/angular.js | 16893 ------------ app/dboards/src/vendor/angular/bindonce.js | 269 - app/dboards/src/vendor/angular/datepicker.js | 1046 - app/dboards/src/vendor/angular/timepicker.js | 888 - app/dboards/src/vendor/bootstrap/bootstrap.js | 2322 -- .../src/vendor/bootstrap/less/accordion.less | 34 - .../src/vendor/bootstrap/less/alerts.less | 79 - .../src/vendor/bootstrap/less/bootstrap.less | 63 - .../vendor/bootstrap/less/breadcrumbs.less | 24 - .../vendor/bootstrap/less/button-groups.less | 229 - .../src/vendor/bootstrap/less/buttons.less | 228 - .../src/vendor/bootstrap/less/carousel.less | 158 - .../src/vendor/bootstrap/less/close.less | 32 - .../src/vendor/bootstrap/less/code.less | 61 - .../src/vendor/bootstrap/less/dropdowns.less | 248 - .../src/vendor/bootstrap/less/forms.less | 690 - .../src/vendor/bootstrap/less/grid.less | 21 - .../src/vendor/bootstrap/less/hero-unit.less | 25 - .../vendor/bootstrap/less/labels-badges.less | 84 - .../src/vendor/bootstrap/less/layouts.less | 16 - .../src/vendor/bootstrap/less/mixins.less | 702 - .../src/vendor/bootstrap/less/modals.less | 87 - .../src/vendor/bootstrap/less/navbar.less | 497 - .../src/vendor/bootstrap/less/navs.less | 409 - .../src/vendor/bootstrap/less/pager.less | 43 - .../src/vendor/bootstrap/less/pagination.less | 123 - .../src/vendor/bootstrap/less/popovers.less | 133 - .../vendor/bootstrap/less/progress-bars.less | 122 - .../src/vendor/bootstrap/less/reset.less | 216 - .../bootstrap/less/responsive-1200px-min.less | 28 - .../bootstrap/less/responsive-767px-max.less | 193 - .../less/responsive-768px-979px.less | 19 - .../bootstrap/less/responsive-navbar.less | 189 - .../bootstrap/less/responsive-utilities.less | 59 - .../src/vendor/bootstrap/less/responsive.less | 48 - .../vendor/bootstrap/less/scaffolding.less | 53 - .../src/vendor/bootstrap/less/sprites.less | 197 - .../src/vendor/bootstrap/less/tables.less | 244 - .../src/vendor/bootstrap/less/thumbnails.less | 53 - .../src/vendor/bootstrap/less/tooltip.less | 70 - .../src/vendor/bootstrap/less/type.less | 247 - .../src/vendor/bootstrap/less/utilities.less | 30 - .../src/vendor/bootstrap/less/variables.less | 301 - app/dboards/src/vendor/crypto.min.js | 10 - .../elasticjs/elastic-angular-client.js | 100 - app/dboards/src/vendor/elasticjs/elastic.js | 22268 ---------------- app/dboards/src/vendor/filesaver.js | 216 - app/dboards/src/vendor/jquery/jquery-1.8.0.js | 2 - .../src/vendor/jquery/jquery-ui-1.10.3.js | 5253 ---- .../src/vendor/jquery/jquery.flot.byte.js | 107 - .../src/vendor/jquery/jquery.flot.events.js | 614 - .../vendor/jquery/jquery.flot.fillbetween.js | 225 - app/dboards/src/vendor/jquery/jquery.flot.js | 3060 --- .../src/vendor/jquery/jquery.flot.pie.js | 817 - .../vendor/jquery/jquery.flot.selection.js | 360 - .../src/vendor/jquery/jquery.flot.stack.js | 188 - .../vendor/jquery/jquery.flot.stackpercent.js | 126 - .../src/vendor/jquery/jquery.flot.time.js | 431 - app/dboards/src/vendor/license.json | 70 - app/dboards/src/vendor/modernizr-2.6.1.js | 4 - app/dboards/src/vendor/require/css-build.js | 78 - app/dboards/src/vendor/require/css.js | 23 - app/dboards/src/vendor/require/text.js | 386 - app/dboards/src/vendor/require/tmpl.js | 17 - app/dboards/src/vendor/spectrum.js | 2032 -- .../vendor/tagsinput/bootstrap-tagsinput.js | 503 - app/dboards/src/vendor/underscore.js | 1246 - app/dboards/tasks/build_task.js | 37 - app/dboards/tasks/default_task.js | 5 - app/dboards/tasks/distribute_task.js | 31 - app/dboards/tasks/options/clean.js | 7 - app/dboards/tasks/options/compress.js | 76 - app/dboards/tasks/options/concat.js | 22 - app/dboards/tasks/options/connect.js | 12 - app/dboards/tasks/options/copy.js | 11 - app/dboards/tasks/options/cssmin.js | 10 - app/dboards/tasks/options/filerev.js | 17 - app/dboards/tasks/options/git-describe.js | 7 - app/dboards/tasks/options/htmlmin.js | 18 - app/dboards/tasks/options/jscs.js | 22 - app/dboards/tasks/options/jshint.js | 26 - app/dboards/tasks/options/karma.js | 19 - app/dboards/tasks/options/less.js | 25 - app/dboards/tasks/options/meta.js | 9 - app/dboards/tasks/options/ngmin.js | 19 - app/dboards/tasks/options/ngtemplates.js | 18 - app/dboards/tasks/options/requirejs.js | 85 - app/dboards/tasks/options/uglify.js | 16 - app/dboards/tasks/options/usemin.js | 5 - app/dboards/tasks/options/useminPrepare.js | 5 - app/dboards/tasks/server_task.js | 3 - app/index.html | 46 +- app/package.json | 23 + app/src/app/app.coffee | 181 + app/src/app/app.js | 91 - app/src/app/appDev.js | 1819 -- app/src/app/cluster/cluster-create.tpl.html | 68 - app/src/app/cluster/cluster-hosts.tpl.html | 1 - app/src/app/cluster/cluster-log.tpl.html | 2 - app/src/app/cluster/cluster-network.tpl.html | 23 - app/src/app/cluster/cluster.js | 306 - app/src/app/cluster/clusterlist.js | 74 - app/src/app/controllers/all.coffee | 11 + app/src/app/controllers/appController.coffee | 26 + app/src/app/controllers/baseController.coffee | 13 + .../app/controllers/clusterController.coffee | 131 + .../app/controllers/loginController.coffee | 20 + .../app/controllers/modalControllers.coffee | 107 + .../app/controllers/serverController.coffee | 30 + .../app/controllers/topnavController.coffee | 17 + app/src/app/controllers/userController.coffee | 47 + .../app/controllers/wizardController.coffee | 566 + app/src/app/directives/all.coffee | 9 + app/src/app/directives/baseDirective.coffee | 7 + .../app/directives/clusterNavDirective.coffee | 24 + .../app/directives/dataMatchDirective.coffee | 40 + app/src/app/directives/enterDirective.coffee | 10 + .../app/directives/findServerDirective.coffee | 115 + .../hostprogressbarDirective.coffee | 45 + .../app/directives/pieChartDirective.coffee | 57 + app/src/app/directives/wizardDirective.coffee | 17 + app/src/app/factory/all.coffee | 5 + app/src/app/factory/baseFactory.coffee | 6 + .../app/factory/errorHandlingFactory.coffee | 19 + app/src/app/factory/userFactory.coffee | 19 + app/src/app/factory/wizardFactory.coffee | 143 + app/src/app/filters/all.coffee | 3 + app/src/app/filters/baseFilter.coffee | 5 + app/src/app/filters/healthReportFilter.coffee | 17 + app/src/app/login/login.js | 62 - app/src/app/monitoring/alerts.tpl.html | 33 - app/src/app/monitoring/charts.tpl.html | 11 - .../monitoring/cluster-monitoring.tpl.html | 3 - app/src/app/monitoring/hostgroups.tpl.html | 1 - app/src/app/monitoring/metrics.tpl.html | 104 - app/src/app/monitoring/monitoring.js | 447 - app/src/app/monitoring/multiSelect.tpl.html | 166 - app/src/app/monitoring/nagios.tpl.html | 1 - app/src/app/monitoring/novamanage.tpl.html | 1 - app/src/app/monitoring/overview.tpl.html | 51 - app/src/app/monitoring/servicegroups.tpl.html | 1 - app/src/app/monitoring/topology.tpl.html | 19 - app/src/app/partials/ErrorInfo.html | 31 + .../cluster-all-grid.tpl.html | 0 .../cluster-all-list.tpl.html | 0 .../cluster-all.tpl.html | 6 +- .../cluster-config.tpl.html | 0 app/src/app/partials/cluster-log.tpl.html | 2 + .../cluster-nav.tpl.html | 28 +- app/src/app/partials/cluster-network.tpl.html | 183 + .../cluster-overview.tpl.html | 28 +- .../cluster-partition.tpl.html | 0 app/src/app/partials/cluster-report.tpl.html | 110 + .../cluster-roles.tpl.html | 0 .../cluster-security.tpl.html | 0 .../{cluster => partials}/cluster.tpl.html | 0 .../partials}/find-new-servers.tpl.html | 0 app/src/app/partials/global.tpl.html | 103 + .../app/{login => partials}/login.tpl.html | 2 +- app/src/app/partials/modalAddNewServers.html | 33 + app/src/app/partials/modalAddSubnet.tpl.html | 36 + .../app/partials/modalClusterCreate.tpl.html | 66 + .../app/partials/modalCreateUserSetting.html | 56 + app/src/app/partials/modalErrorMessage.html | 20 + app/src/app/partials/modalModifySwitch.html | 46 + app/src/app/partials/modalUploadFiles.html | 46 + app/src/app/partials/network.tpl.html | 224 + app/src/app/partials/network_mapping.tpl.html | 231 + .../network_mapping.tpl.html-old} | 0 app/src/app/partials/package_config.tpl.html | 378 + .../{wizard => partials}/partition.tpl.html | 0 .../partials}/progressbar.tpl.html | 0 app/src/app/partials/review.tpl.html | 732 + .../role_assignment.tpl.html | 18 +- .../{server => partials}/server-list.tpl.html | 6 +- .../server_selection.tpl.html | 12 +- app/src/app/partials/test.tpl.html | 1 + .../app/{topnav => partials}/topnav.tpl.html | 32 +- .../app/{user => partials}/user-setting.html | 2 +- .../app/{wizard => partials}/wizard.tpl.html | 2 +- app/src/app/server/appDev.js | 7090 +++++ app/src/app/server/server.js | 123 - app/src/app/server/testServer.coffee | 141 + app/src/app/services.js | 771 - app/src/app/services/all.coffee | 7 + .../app/services/authenticationService.coffee | 32 + app/src/app/services/baseService.coffee | 13 + app/src/app/services/clusterService.coffee | 226 + app/src/app/services/dataService.coffee | 134 + app/src/app/services/userService.coffee | 11 + app/src/app/services/wizardService.coffee | 1117 + app/src/app/topnav/topnav.js | 38 - app/src/app/user/user-profile.html | 1 - app/src/app/user/user-setting-create.html | 58 - app/src/app/user/userprofile.js | 18 - app/src/app/user/usersetting.js | 149 - app/src/app/wizard/global.tpl.html | 257 - app/src/app/wizard/network.tpl.html | 258 - app/src/app/wizard/package_config.tpl.html | 385 - app/src/app/wizard/review.tpl.html | 360 - app/src/app/wizard/wizard.js | 2115 -- app/src/bootstrap.coffee | 6 + app/src/bootstrap.js | 6 - app/src/common/charts.js | 682 - app/src/common/findservers/findservers.js | 209 - app/src/common/gantt-chart-d3v2.js | 233 - app/src/common/ganttchart.tpl.html | 8 - app/src/main.coffee | 77 + app/src/main.js | 117 - app/target/assets/css/compass.min.css | 16 + ...HCpsQm3Vp6mXoaTXhCUOGz7vYGh680lGh-uXM.woff | Bin 0 -> 22656 bytes ...uBrn4kERxqtaUH3T8E0i7KZn-EPnyo3HZu7kw.woff | Bin 0 -> 21956 bytes app/target/assets/fonts/FontAwesome.otf | Bin 0 -> 75188 bytes .../assets/fonts/fontawesome-webfont.eot | Bin 0 -> 72449 bytes .../assets/fonts/fontawesome-webfont.svg | 504 + .../assets/fonts/fontawesome-webfont.ttf | Bin 0 -> 141564 bytes .../assets/fonts/fontawesome-webfont.woff | Bin 0 -> 83760 bytes .../fonts/glyphicons-halflings-regular.woff | Bin 0 -> 23320 bytes app/target/assets/img/README.md | Bin 0 -> 32103 bytes app/target/assets/img/bg.png | Bin 0 -> 2841 bytes app/target/assets/img/datacenter.jpg | Bin 0 -> 101794 bytes app/target/assets/img/datacenter1.jpg | Bin 0 -> 1199085 bytes app/target/assets/img/datacenter2.jpg | Bin 0 -> 320136 bytes app/target/assets/img/dialogue-bar.jpg | Bin 0 -> 52496 bytes app/target/assets/img/dialogue-bar.png | Bin 0 -> 15533 bytes app/target/assets/img/dialogue-bar1.jpg | Bin 0 -> 22775 bytes app/target/assets/img/fabric-texture.png | Bin 0 -> 80065 bytes app/target/assets/img/happy_face.png | Bin 0 -> 7997 bytes app/target/assets/img/header.png | Bin 0 -> 32606 bytes app/target/assets/img/logo-header.png | Bin 0 -> 32103 bytes app/target/assets/img/logo-pure.png | Bin 0 -> 24597 bytes app/target/assets/img/logo-text.png | Bin 0 -> 3056 bytes app/target/assets/img/logo.png | Bin 0 -> 28627 bytes app/target/assets/img/logo1.png | Bin 0 -> 34432 bytes app/target/assets/img/meh_face.png | Bin 0 -> 7765 bytes app/target/assets/img/moni/alert.png | Bin 0 -> 3889 bytes .../assets/img/moni/cluster_summary.png | Bin 0 -> 1903 bytes app/target/assets/img/moni/compute.png | Bin 0 -> 4917 bytes app/target/assets/img/moni/controller.png | Bin 0 -> 10411 bytes app/target/assets/img/moni/database.png | Bin 0 -> 7202 bytes app/target/assets/img/moni/image.png | Bin 0 -> 16852 bytes app/target/assets/img/moni/messagebus.png | Bin 0 -> 4238 bytes app/target/assets/img/moni/messagebus1.png | Bin 0 -> 7306 bytes app/target/assets/img/moni/monitoring.png | Bin 0 -> 7451 bytes app/target/assets/img/moni/network.png | Bin 0 -> 17328 bytes app/target/assets/img/moni/processes.png | Bin 0 -> 18238 bytes app/target/assets/img/moni/security.png | Bin 0 -> 5818 bytes app/target/assets/img/moni/store.png | Bin 0 -> 706 bytes app/target/assets/img/moni/users.png | Bin 0 -> 1428 bytes app/target/assets/img/network.png | Bin 0 -> 17328 bytes app/target/assets/img/network_mapping.png | Bin 0 -> 29508 bytes app/target/assets/img/os_global.png | Bin 0 -> 21686 bytes app/target/assets/img/package_config.png | Bin 0 -> 22690 bytes app/target/assets/img/partition.png | Bin 0 -> 26494 bytes app/target/assets/img/review.png | Bin 0 -> 32246 bytes app/target/assets/img/role_assign.png | Bin 0 -> 16884 bytes app/target/assets/img/router.png | Bin 0 -> 3438 bytes app/target/assets/img/server.png | Bin 0 -> 1687 bytes app/target/assets/img/server1.png | Bin 0 -> 3275 bytes app/target/assets/img/smile_face.png | Bin 0 -> 27580 bytes app/target/assets/img/sv_selection.png | Bin 0 -> 9272 bytes app/target/assets/img/switch.png | Bin 0 -> 1677 bytes app/target/assets/img/switch1.png | Bin 0 -> 3920 bytes app/target/assets/img/unhappy_face.png | Bin 0 -> 7888 bytes .../angular-animate/README.md | 54 + .../angular-animate/angular-animate.js | 1633 ++ .../angular-animate}/angular-animate.min.js | 0 .../angular-animate.min.js.map | 8 + .../angular-animate/bower.json | 8 + .../angular-bootstrap/bower.json | 19 + .../angular-bootstrap/ui-bootstrap-tpls.js | 4211 +++ .../ui-bootstrap-tpls.min.js | 10 + .../angular-bootstrap/ui-bootstrap.js | 3900 +++ .../angular-bootstrap/ui-bootstrap.min.js | 9 + .../angular-cookies/README.md | 54 + .../angular-cookies/angular-cookies.js | 196 + .../angular-cookies/angular-cookies.min.js | 8 + .../angular-cookies.min.js.map | 8 + .../angular-cookies/bower.json | 8 + .../angular-daterangepicker/Gruntfile.coffee | 43 + .../angular-daterangepicker/LICENSE.md | 21 + .../angular-daterangepicker/README.md | 103 + .../angular-daterangepicker/bower.json | 29 + .../coffee/angular-daterangepicker.coffee | 188 + .../angular-daterangepicker/coffeelint.json | 120 + .../angular-daterangepicker/example.html | 119 + .../js/angular-daterangepicker.js | 219 + .../js/angular-daterangepicker.min.js | 2 + .../js/angular-daterangepicker.min.map | 1 + .../angular-daterangepicker/package.json | 25 + .../bower_components/angular-mocks/README.md | 63 + .../angular-mocks}/angular-mocks.js | 86 +- .../bower_components/angular-mocks/bower.json | 9 + .../angular-mocks/ngAnimateMock.js | 2 + .../bower_components/angular-mocks/ngMock.js | 2 + .../angular-mocks/ngMockE2E.js | 2 + .../angular-mocks/package.json | 27 + .../angular-spinner/CHANGELOG.md | 41 + .../angular-spinner/Gruntfile.js | 51 + .../angular-spinner/README.md | 97 + .../angular-spinner/angular-spinner.js | 119 + .../angular-spinner/angular-spinner.min.js | 2 + .../angular-spinner.min.js.map | 1 + .../angular-spinner/bower.json | 22 + .../angular-spinner/karma.conf.js | 31 + .../angular-spinner/package.json | 27 + .../bower_components/angular-spinner/tests.js | 165 + .../bower_components/angular-touch/README.md | 68 + .../angular-touch}/angular-touch.js | 157 +- .../angular-touch/angular-touch.min.js | 13 + .../angular-touch/angular-touch.min.js.map | 8 + .../bower_components/angular-touch/bower.json | 9 + .../bower_components/angular-touch/index.js | 2 + .../angular-touch/package.json | 26 + .../angular-ui-router/CHANGELOG.md | 228 + .../angular-ui-router/CONTRIBUTING.md | 65 + .../angular-ui-router/LICENSE | 21 + .../angular-ui-router/README.md | 245 + .../api/angular-ui-router.d.ts | 126 + .../angular-ui-router/bower.json | 23 + .../release/angular-ui-router.js | 4370 +++ .../release/angular-ui-router.min.js | 7 + .../angular-ui-router/src/common.js | 292 + .../angular-ui-router/src/resolve.js | 252 + .../angular-ui-router/src/state.js | 1465 + .../angular-ui-router/src/stateDirectives.js | 285 + .../angular-ui-router/src/stateFilters.js | 39 + .../angular-ui-router/src/templateFactory.js | 110 + .../src/urlMatcherFactory.js | 1050 + .../angular-ui-router/src/urlRouter.js | 427 + .../angular-ui-router/src/view.js | 71 + .../angular-ui-router/src/viewDirective.js | 303 + .../angular-ui-router/src/viewScroll.js | 52 + app/target/bower_components/angular/README.md | 48 + .../bower_components/angular/angular-csp.css | 18 + .../bower_components/angular/angular.js | 21464 +++++++++++++++ .../bower_components}/angular/angular.min.js | 0 .../angular/angular.min.js.gzip | Bin 0 -> 39258 bytes .../angular/angular.min.js.map | 0 .../bower_components/angular/bower.json | 7 + .../bootstrap-daterangepicker/README.md | 176 + .../bootstrap-daterangepicker/bower.json | 21 + .../daterangepicker-bs2.css | 256 + .../daterangepicker-bs3.css | 284 + .../daterangepicker.js | 0 .../bootstrap-daterangepicker/examples.html | 243 + .../bower_components/bootstrap/Gruntfile.js | 421 + app/target/bower_components/bootstrap/LICENSE | 21 + .../bower_components/bootstrap/README.md | 173 + .../bower_components/bootstrap/bower.json | 24 + .../bootstrap/dist}/css/bootstrap-theme.css | 0 .../dist/css/bootstrap-theme.css.map | 1 + .../dist/css/bootstrap-theme.min.css | 7 + .../bootstrap/dist}/css/bootstrap.css | 0 .../bootstrap/dist}/css/bootstrap.css.map | 0 .../bootstrap/dist/css/bootstrap.min.css | 7 + .../fonts/glyphicons-halflings-regular.eot | Bin .../fonts/glyphicons-halflings-regular.svg | 0 .../fonts/glyphicons-halflings-regular.ttf | Bin .../fonts/glyphicons-halflings-regular.woff | Bin 0 -> 23320 bytes .../bootstrap/dist/js/bootstrap.js | 1951 ++ .../bootstrap/dist}/js/bootstrap.min.js | 0 .../fonts/glyphicons-halflings-regular.eot | Bin 0 -> 20335 bytes .../fonts/glyphicons-halflings-regular.svg | 229 + .../fonts/glyphicons-halflings-regular.ttf | Bin 0 -> 41280 bytes .../fonts/glyphicons-halflings-regular.woff | Bin 0 -> 23320 bytes .../grunt/bs-glyphicons-data-generator.js | 34 + .../bootstrap/grunt/bs-lessdoc-parser.js | 236 + .../bootstrap/grunt/bs-raw-files-generator.js | 31 + .../bootstrap/grunt/shrinkwrap.js | 28 + .../bower_components/bootstrap/js/affix.js | 137 + .../bower_components/bootstrap/js/alert.js | 88 + .../bower_components/bootstrap/js/button.js | 107 + .../bower_components/bootstrap/js/carousel.js | 205 + .../bower_components/bootstrap/js/collapse.js | 170 + .../bower_components/bootstrap/js/dropdown.js | 147 + .../bower_components/bootstrap/js/modal.js | 243 + .../bower_components/bootstrap/js/popover.js | 110 + .../bootstrap/js/scrollspy.js | 153 + .../bower_components/bootstrap/js/tab.js | 125 + .../bower_components/bootstrap/js/tooltip.js | 399 + .../bootstrap/js/transition.js | 48 + .../bootstrap/less/alerts.less | 67 + .../bootstrap/less/badges.less | 55 + .../bootstrap/less/bootstrap.less | 49 + .../bootstrap/less/breadcrumbs.less | 26 + .../bootstrap/less/button-groups.less | 226 + .../bootstrap/less/buttons.less | 159 + .../bootstrap/less/carousel.less | 232 + .../bootstrap/less/close.less | 33 + .../bower_components/bootstrap/less/code.less | 63 + .../bootstrap/less/component-animations.less | 13 +- .../bootstrap/less/dropdowns.less | 213 + .../bootstrap/less/forms.less | 438 + .../bootstrap/less/glyphicons.less | 233 + .../bower_components/bootstrap/less/grid.less | 84 + .../bootstrap/less/input-groups.less | 162 + .../bootstrap/less/jumbotron.less | 44 + .../bootstrap/less/labels.less | 64 + .../bootstrap/less/list-group.less | 110 + .../bootstrap/less/media.less | 15 +- .../bootstrap/less/mixins.less | 929 + .../bootstrap/less/modals.less | 139 + .../bootstrap/less/navbar.less | 616 + .../bower_components/bootstrap/less/navs.less | 242 + .../bootstrap/less/normalize.less | 423 + .../bootstrap/less/pager.less | 55 + .../bootstrap/less/pagination.less | 88 + .../bootstrap/less/panels.less | 241 + .../bootstrap/less/popovers.less | 133 + .../bootstrap/less/print.less | 101 + .../bootstrap/less/progress-bars.less | 80 + .../bootstrap/less/responsive-utilities.less | 92 + .../bootstrap/less/scaffolding.less | 134 + .../bootstrap/less/tables.less | 233 + .../bootstrap/less/theme.less | 247 + .../bootstrap/less/thumbnails.less | 36 + .../bootstrap/less/tooltip.less | 95 + .../bower_components/bootstrap/less/type.less | 293 + .../bootstrap/less/utilities.less | 56 + .../bootstrap/less/variables.less | 829 + .../bootstrap/less/wells.less | 14 +- .../bower_components/bootstrap/package.json | 70 + .../bootstrap/test-infra/README.md | 100 + .../test-infra/npm-shrinkwrap.canonical.json | 1 + .../bootstrap/test-infra/requirements.txt | 1 + .../bootstrap/test-infra/s3_cache.py | 107 + .../bootstrap/test-infra/sauce_browsers.yml | 83 + .../test-infra/uncached-npm-install.sh | 4 + .../components-font-awesome/README.md | 24 + .../components-font-awesome/bower.json | 25 + .../css/font-awesome.css | 1801 ++ .../css/font-awesome.min.css | 4 + .../fonts/FontAwesome.otf | Bin 0 -> 93888 bytes .../fonts/fontawesome-webfont.eot | Bin 0 -> 60767 bytes .../fonts}/fontawesome-webfont.svg | 240 +- .../fonts/fontawesome-webfont.ttf | Bin 0 -> 122092 bytes .../fonts/fontawesome-webfont.woff | Bin 0 -> 71508 bytes .../fonts/fontawesome-webfont.woff2 | Bin 0 -> 56780 bytes .../less/animated.less | 34 + .../less/bordered-pulled.less | 16 + .../components-font-awesome/less/core.less | 13 + .../less/fixed-width.less | 6 + .../less/font-awesome.less | 17 + .../components-font-awesome/less/icons.less | 596 + .../components-font-awesome/less/larger.less | 13 + .../components-font-awesome/less/list.less | 19 + .../components-font-awesome/less/mixins.less | 27 + .../components-font-awesome/less/path.less | 15 + .../less/rotated-flipped.less | 20 + .../components-font-awesome/less/stacked.less | 20 + .../less/variables.less | 606 + .../scss/_animated.scss | 34 + .../scss/_bordered-pulled.scss | 16 + .../components-font-awesome/scss/_core.scss | 13 + .../scss/_fixed-width.scss | 6 + .../components-font-awesome/scss/_icons.scss | 596 + .../components-font-awesome/scss/_larger.scss | 13 + .../components-font-awesome/scss/_list.scss | 19 + .../components-font-awesome/scss/_mixins.scss | 27 + .../components-font-awesome/scss/_path.scss | 15 + .../scss/_rotated-flipped.scss | 20 + .../scss/_stacked.scss | 20 + .../scss/_variables.scss | 606 + .../scss/font-awesome.scss | 17 + .../bower_components/d3/CONTRIBUTING.md | 27 + app/target/bower_components/d3/LICENSE | 26 + app/target/bower_components/d3/README.md | 9 + app/target/bower_components/d3/bower.json | 25 + app/target/bower_components/d3/d3.js | 9550 +++++++ app/target/bower_components/d3/d3.min.js | 5 + app/target/bower_components/d3/package.js | 13 + .../bower_components/jquery/MIT-LICENSE.txt | 21 + app/target/bower_components/jquery/bower.json | 28 + .../bower_components/jquery/dist/jquery.js | 9210 +++++++ .../jquery/dist/jquery.min.js | 5 + .../jquery/dist/jquery.min.map | 1 + .../bower_components/jquery/src/ajax.js | 786 + .../bower_components/jquery/src/ajax/jsonp.js | 89 + .../bower_components/jquery/src/ajax/load.js | 75 + .../jquery/src/ajax/parseJSON.js | 13 + .../jquery/src/ajax/parseXML.js | 28 + .../jquery/src/ajax/script.js | 64 + .../jquery/src/ajax/var/nonce.js | 5 + .../jquery/src/ajax/var/rquery.js | 3 + .../bower_components/jquery/src/ajax/xhr.js | 136 + .../bower_components/jquery/src/attributes.js | 11 + .../jquery/src/attributes/attr.js | 141 + .../jquery/src/attributes/classes.js | 158 + .../jquery/src/attributes/prop.js | 94 + .../jquery/src/attributes/support.js | 35 + .../jquery/src/attributes/val.js | 161 + .../bower_components/jquery/src/callbacks.js | 205 + .../bower_components/jquery/src/core.js | 502 + .../jquery/src/core/access.js | 60 + .../bower_components/jquery/src/core/init.js | 123 + .../jquery/src/core/parseHTML.js | 39 + .../bower_components/jquery/src/core/ready.js | 97 + .../jquery/src/core/var/rsingleTag.js | 4 + app/target/bower_components/jquery/src/css.js | 450 + .../jquery/src/css/addGetHookIf.js | 22 + .../bower_components/jquery/src/css/curCSS.js | 57 + .../jquery/src/css/defaultDisplay.js | 70 + .../jquery/src/css/hiddenVisibleSelectors.js | 15 + .../jquery/src/css/support.js | 96 + .../bower_components/jquery/src/css/swap.js | 28 + .../jquery/src/css/var/cssExpand.js | 3 + .../jquery/src/css/var/getStyles.js | 12 + .../jquery/src/css/var/isHidden.js | 13 + .../jquery/src/css/var/rmargin.js | 3 + .../jquery/src/css/var/rnumnonpx.js | 5 + .../bower_components/jquery/src/data.js | 178 + .../bower_components/jquery/src/data/Data.js | 181 + .../jquery/src/data/accepts.js | 20 + .../jquery/src/data/var/data_priv.js | 5 + .../jquery/src/data/var/data_user.js | 5 + .../bower_components/jquery/src/deferred.js | 149 + .../bower_components/jquery/src/deprecated.js | 13 + .../bower_components/jquery/src/dimensions.js | 50 + .../bower_components/jquery/src/effects.js | 648 + .../jquery/src/effects/Tween.js | 114 + .../jquery/src/effects/animatedSelector.js | 13 + .../bower_components/jquery/src/event.js | 868 + .../bower_components/jquery/src/event/ajax.js | 13 + .../jquery/src/event/alias.js | 39 + .../jquery/src/event/support.js | 9 + .../jquery/src/exports/amd.js | 24 + .../jquery/src/exports/global.js | 32 + .../bower_components/jquery/src/intro.js | 44 + .../bower_components/jquery/src/jquery.js | 37 + .../jquery/src/manipulation.js | 580 + .../jquery/src/manipulation/_evalUrl.js | 18 + .../jquery/src/manipulation/support.js | 32 + .../src/manipulation/var/rcheckableType.js | 3 + .../bower_components/jquery/src/offset.js | 207 + .../bower_components/jquery/src/outro.js | 1 + .../bower_components/jquery/src/queue.js | 142 + .../jquery/src/queue/delay.js | 22 + .../jquery/src/selector-native.js | 172 + .../jquery/src/selector-sizzle.js | 14 + .../bower_components/jquery/src/selector.js | 1 + .../bower_components/jquery/src/serialize.js | 111 + .../jquery/src/sizzle/dist/sizzle.js | 2067 ++ .../jquery/src/sizzle/dist/sizzle.min.js | 3 + .../jquery/src/sizzle/dist/sizzle.min.map | 1 + .../bower_components/jquery/src/traversing.js | 199 + .../jquery/src/traversing/findFilter.js | 100 + .../src/traversing/var/rneedsContext.js | 6 + .../bower_components/jquery/src/var/arr.js | 3 + .../jquery/src/var/class2type.js | 4 + .../bower_components/jquery/src/var/concat.js | 5 + .../bower_components/jquery/src/var/hasOwn.js | 5 + .../jquery/src/var/indexOf.js | 5 + .../bower_components/jquery/src/var/pnum.js | 3 + .../bower_components/jquery/src/var/push.js | 5 + .../jquery/src/var/rnotwhite.js | 3 + .../bower_components/jquery/src/var/slice.js | 5 + .../jquery/src/var/strundefined.js | 3 + .../jquery/src/var/support.js | 4 + .../jquery/src/var/toString.js | 5 + .../bower_components/jquery/src/wrap.js | 79 + .../bower_components/moment/CHANGELOG.md | 423 + app/target/bower_components/moment/LICENSE | 22 + .../bower_components/moment/Moment.js.nuspec | 28 + app/target/bower_components/moment/README.md | 39 + .../moment/benchmarks/clone.js | 10 + app/target/bower_components/moment/bower.json | 20 + .../bower_components/moment/locale/af.js | 71 + .../bower_components/moment/locale/ar-ma.js | 57 + .../bower_components/moment/locale/ar-sa.js | 101 + .../bower_components/moment/locale/ar-tn.js | 55 + .../bower_components/moment/locale/ar.js | 134 + .../bower_components/moment/locale/az.js | 107 + .../bower_components/moment/locale/be.js | 154 + .../bower_components/moment/locale/bg.js | 88 + .../bower_components/moment/locale/bn.js | 111 + .../bower_components/moment/locale/bo.js | 108 + .../bower_components/moment/locale/br.js | 109 + .../bower_components/moment/locale/bs.js | 140 + .../bower_components/moment/locale/ca.js | 77 + .../bower_components/moment/locale/cs.js | 157 + .../bower_components/moment/locale/cv.js | 61 + .../bower_components/moment/locale/cy.js | 79 + .../bower_components/moment/locale/da.js | 58 + .../bower_components/moment/locale/de-at.js | 74 + .../bower_components/moment/locale/de.js | 73 + .../bower_components/moment/locale/el.js | 94 + .../bower_components/moment/locale/en-au.js | 64 + .../bower_components/moment/locale/en-ca.js | 61 + .../bower_components/moment/locale/en-gb.js | 65 + .../bower_components/moment/locale/eo.js | 71 + .../bower_components/moment/locale/es.js | 77 + .../bower_components/moment/locale/et.js | 78 + .../bower_components/moment/locale/eu.js | 62 + .../bower_components/moment/locale/fa.js | 103 + .../bower_components/moment/locale/fi.js | 107 + .../bower_components/moment/locale/fo.js | 58 + .../bower_components/moment/locale/fr-ca.js | 56 + .../bower_components/moment/locale/fr.js | 60 + .../bower_components/moment/locale/fy.js | 69 + .../bower_components/moment/locale/gl.js | 73 + .../bower_components/moment/locale/he.js | 80 + .../bower_components/moment/locale/hi.js | 121 + .../bower_components/moment/locale/hr.js | 141 + .../bower_components/moment/locale/hu.js | 111 + .../bower_components/moment/locale/hy-am.js | 118 + .../bower_components/moment/locale/id.js | 81 + .../bower_components/moment/locale/is.js | 126 + .../bower_components/moment/locale/it.js | 68 + .../bower_components/moment/locale/ja.js | 63 + .../bower_components/moment/locale/ka.js | 109 + .../bower_components/moment/locale/km.js | 56 + .../bower_components/moment/locale/ko.js | 65 + .../bower_components/moment/locale/lb.js | 139 + .../bower_components/moment/locale/lt.js | 120 + .../bower_components/moment/locale/lv.js | 79 + .../bower_components/moment/locale/mk.js | 88 + .../bower_components/moment/locale/ml.js | 69 + .../bower_components/moment/locale/mr.js | 120 + .../bower_components/moment/locale/ms-my.js | 80 + .../bower_components/moment/locale/my.js | 89 + .../bower_components/moment/locale/nb.js | 59 + .../bower_components/moment/locale/ne.js | 121 + .../bower_components/moment/locale/nl.js | 69 + .../bower_components/moment/locale/nn.js | 58 + .../bower_components/moment/locale/pl.js | 100 + .../bower_components/moment/locale/pt-br.js | 58 + .../bower_components/moment/locale/pt.js | 62 + .../bower_components/moment/locale/ro.js | 73 + .../bower_components/moment/locale/ru.js | 176 + .../bower_components/moment/locale/sk.js | 158 + .../bower_components/moment/locale/sl.js | 146 + .../bower_components/moment/locale/sq.js | 67 + .../bower_components/moment/locale/sr-cyrl.js | 107 + .../bower_components/moment/locale/sr.js | 107 + .../bower_components/moment/locale/sv.js | 65 + .../bower_components/moment/locale/ta.js | 130 + .../bower_components/moment/locale/th.js | 63 + .../bower_components/moment/locale/tl-ph.js | 60 + .../bower_components/moment/locale/tr.js | 94 + .../moment/locale/tzm-latn.js | 56 + .../bower_components/moment/locale/tzm.js | 56 + .../bower_components/moment/locale/uk.js | 163 + .../bower_components/moment/locale/uz.js | 56 + .../bower_components/moment/locale/vi.js | 64 + .../bower_components/moment/locale/zh-cn.js | 125 + .../bower_components/moment/locale/zh-tw.js | 99 + .../bower_components/moment/meteor/README.md | 25 + .../bower_components/moment/meteor/export.js | 3 + .../bower_components/moment/meteor/test.js | 5 + .../bower_components/moment/min/locales.js | 7306 +++++ .../moment/min/locales.min.js | 4 + .../moment/min/moment-with-locales.js | 9792 +++++++ .../moment/min/moment-with-locales.min.js | 10 + .../bower_components/moment/min/moment.min.js | 7 + .../bower_components/moment}/moment.js | 1719 +- .../moment/scripts/npm_prepublish.sh | 43 + .../ng-bs-daterangepicker-plus/Gruntfile.js | 51 + .../ng-bs-daterangepicker-plus/LICENSE | 20 + .../ng-bs-daterangepicker-plus/README.md | 45 + .../ng-bs-daterangepicker-plus/bower.json | 13 + .../dist/ng-bs-daterangepicker.min.js | 6 + .../ng-bs-daterangepicker-plus/package.json | 37 + .../src/ng-bs-daterangepicker.html | 46 + .../src}/ng-bs-daterangepicker.js | 12 +- .../ng-bs-daterangepicker-plus/test/spec.js | 53 + .../bower_components/ng-table/CONTRIBUTING.md | 20 + .../bower_components/ng-table/Gruntfile.js | 138 + app/target/bower_components/ng-table/LICENSE | 9 + .../bower_components/ng-table/README.md | 101 + .../bower_components/ng-table/bower.json | 18 + .../bower_components/ng-table/karma.conf.js | 38 + .../bower_components/ng-table/ng-table.css | 136 + .../bower_components/ng-table/ng-table.js | 722 + .../bower_components/ng-table/ng-table.less | 151 + .../bower_components}/ng-table/ng-table.map | 0 .../ng-table/ng-table.min.css | 3 + .../ng-table/ng-table.min.js | 2 +- .../bower_components/ng-table/package.json | 39 + .../ng-table/test/tableControllerSpec.js | 35 + .../ng-table/test/tableParamsSpec.js | 273 + .../ng-table/test/tableSpec.js | 113 + app/target/bower_components/nvd3/bower.json | 47 + .../bower_components/nvd3/build/nv.d3.css | 645 + .../bower_components/nvd3/build/nv.d3.js | 11357 ++++++++ .../bower_components/nvd3/build/nv.d3.min.css | 1 + .../bower_components/nvd3/build/nv.d3.min.js | 7 + .../bower_components/requirejs/README.md | 4 + .../bower_components/requirejs/bower.json | 18 + .../bower_components/requirejs}/require.js | 719 +- .../bower_components/spin.js/LICENSE.txt | 21 + app/target/bower_components/spin.js/README.md | 21 + .../bower_components/spin.js/bower.json | 18 + .../bower_components/spin.js/jquery.spin.js | 80 + app/target/bower_components/spin.js/spin.js | 337 + app/target/data/config.json | 472 + app/target/data/machine_host_columns.json | 237 + app/target/data/monitoring_nav.json | 31 + app/target/data/timezone.json | 34 + app/target/data/wizard_steps.json | 121 + app/target/index.html | 28 + app/target/requirejs/require.js | 2129 ++ app/target/src/app/app.js | 199 + app/target/src/app/controllers/all.js | 4 + .../src/app/controllers/appController.js | 23 + .../src/app/controllers/baseController.js | 7 + .../src/app/controllers/clusterController.js | 149 + .../src/app/controllers/loginController.js | 26 + .../src/app/controllers/modalControllers.js | 128 + .../src/app/controllers/serverController.js | 47 + .../src/app/controllers/topnavController.js | 30 + .../src/app/controllers/userController.js | 59 + .../src/app/controllers/wizardController.js | 664 + app/target/src/app/directives/all.js | 4 + .../src/app/directives/baseDirective.js | 7 + .../src/app/directives/clusterNavDirective.js | 15 + .../src/app/directives/dataMatchDirective.js | 51 + .../src/app/directives/enterDirective.js | 18 + .../src/app/directives/findServerDirective.js | 161 + .../directives/hostprogressbarDirective.js | 55 + .../src/app/directives/pieChartDirective.js | 45 + .../src/app/directives/wizardDirective.js | 26 + app/target/src/app/factory/all.js | 4 + app/target/src/app/factory/baseFactory.js | 7 + .../src/app/factory/errorHandlingFactory.js | 29 + app/target/src/app/factory/userFactory.js | 32 + app/target/src/app/factory/wizardFactory.js | 193 + app/target/src/app/filters/all.js | 4 + app/target/src/app/filters/baseFilter.js | 7 + .../src/app/filters/healthReportFilter.js | 26 + app/target/src/app/partials/ErrorInfo.html | 1 + .../app/partials/cluster-all-grid.tpl.html | 1 + .../app/partials/cluster-all-list.tpl.html | 12 + .../src/app/partials/cluster-all.tpl.html | 1 + .../src/app/partials/cluster-config.tpl.html | 1 + .../src/app/partials/cluster-nav.tpl.html | 1 + .../src/app/partials/cluster-network.tpl.html | 1 + .../app/partials/cluster-overview.tpl.html | 15 + .../app/partials/cluster-partition.tpl.html | 1 + .../src/app/partials/cluster-report.tpl.html | 1 + .../src/app/partials/cluster-roles.tpl.html | 2 + .../app/partials/cluster-security.tpl.html | 1 + app/target/src/app/partials/cluster.tpl.html | 1 + .../app/partials/find-new-servers.tpl.html | 46 + app/target/src/app/partials/global.tpl.html | 1 + app/target/src/app/partials/login.tpl.html | 1 + .../src/app/partials/modalAddNewServers.html | 1 + .../src/app/partials/modalAddSubnet.tpl.html | 1 + .../app/partials/modalClusterCreate.tpl.html | 1 + .../app/partials/modalCreateUserSetting.html | 1 + .../src/app/partials/modalErrorMessage.html | 1 + .../src/app/partials/modalModifySwitch.html | 1 + .../src/app/partials/modalUploadFiles.html | 1 + app/target/src/app/partials/network.tpl.html | 3 + .../src/app/partials/network_mapping.tpl.html | 4 + .../app/partials/network_mapping.tpl.html-old | 1 + .../src/app/partials/package_config.tpl.html | 1 + .../src/app/partials/partition.tpl.html | 1 + .../src/app/partials/progressbar.tpl.html | 1 + app/target/src/app/partials/review.tpl.html | 2 + .../src/app/partials/role_assignment.tpl.html | 2 + .../src/app/partials/server-list.tpl.html | 1 + .../app/partials/server_selection.tpl.html | 2 + app/target/src/app/partials/test.tpl.html | 1 + app/target/src/app/partials/topnav.tpl.html | 1 + app/target/src/app/partials/user-setting.html | 1 + app/target/src/app/partials/wizard.tpl.html | 1 + app/target/src/app/server/appDev.js | 7090 +++++ app/target/src/app/server/testServer.js | 148 + app/target/src/app/services/all.js | 4 + .../src/app/services/authenticationService.js | 56 + app/target/src/app/services/baseService.js | 11 + app/target/src/app/services/clusterService.js | 314 + app/target/src/app/services/dataService.js | 197 + app/target/src/app/services/userService.js | 28 + app/target/src/app/services/wizardService.js | 1678 ++ app/target/src/bootstrap.js | 9 + app/target/src/main.js | 97 + .../vendor/angular-dragdrop/draganddrop.js | 338 + .../ui-bootstrap-tpls-0.11.0.min.js | 10 - .../angular-daterangepicker/moment.min.js | 1264 - .../angularjs-nvd3-directives.min.js | 3 - .../angular-spinner/angular-spinner.min.js | 2 - .../angular-spinner.min.js.map | 1 - app/vendor/angular-spinner/spin.min.js | 2 - .../angular-ui-router.min.js | 7 - .../angular-ui-tree/angular-ui-tree.min.js | 6 - app/vendor/angular/angular-animate.min.js.map | 8 - app/vendor/angular/angular-resource.min.js | 13 - app/vendor/d3/d3.min.js | 5 - app/vendor/jquery/jquery-1.11.1.min.js | 4 - app/vendor/nvd3/nv.d3.min.js | 6 - app/vendor/require.js | 36 - 1084 files changed, 160910 insertions(+), 117845 deletions(-) create mode 100644 app/Gruntfile.coffee delete mode 100644 app/README.md rename app/{vendor/angular-ui-tree => assets/css}/angular-ui-tree.min.css (100%) mode change 100755 => 100644 mode change 100755 => 100644 app/assets/css/chosen.css rename app/{vendor/angular-daterangepicker => assets/css}/daterangepicker-bs3.css (100%) rename app/{vendor/font-awesome => assets}/css/font-awesome.min.css (100%) rename app/{vendor/nvd3 => assets/css}/nv.d3.min.css (100%) rename app/{vendor/font-awesome => assets}/fonts/FontAwesome.otf (100%) rename app/{vendor/font-awesome => assets}/fonts/fontawesome-webfont.eot (100%) rename app/{vendor/font-awesome => assets}/fonts/fontawesome-webfont.svg (100%) rename app/{vendor/font-awesome => assets}/fonts/fontawesome-webfont.ttf (100%) rename app/{vendor/font-awesome => assets}/fonts/fontawesome-webfont.woff (100%) rename app/{vendor/bootstrap => assets}/fonts/glyphicons-halflings-regular.woff (100%) create mode 100644 app/bower.json delete mode 100644 app/dash/app/app.20ee1677.js delete mode 100644 app/dash/app/app.js delete mode 100644 app/dash/app/components/require.config.js delete mode 100644 app/dash/app/dashboards/Compute delete mode 100644 app/dash/app/dashboards/Controller delete mode 100644 app/dash/app/dashboards/Database delete mode 100644 app/dash/app/dashboards/Image delete mode 100644 app/dash/app/dashboards/Message Bus delete mode 100644 app/dash/app/dashboards/Metrics Dashboard delete mode 100644 app/dash/app/dashboards/Network delete mode 100644 app/dash/app/dashboards/Processes delete mode 100644 app/dash/app/dashboards/Security delete mode 100644 app/dash/app/dashboards/Storage delete mode 100644 app/dash/app/dashboards/default.json delete mode 100644 app/dash/app/dashboards/empty.json delete mode 100644 app/dash/app/dashboards/scripted.js delete mode 100644 app/dash/app/dashboards/scripted_async.js delete mode 100644 app/dash/app/panels/annotations/editor.html delete mode 100644 app/dash/app/panels/annotations/module.html delete mode 100644 app/dash/app/panels/filtering/module.html delete mode 100644 app/dash/app/panels/graph/axisEditor.html delete mode 100644 app/dash/app/panels/graph/legend.html delete mode 100644 app/dash/app/panels/graph/module.html delete mode 100644 app/dash/app/panels/graph/styleEditor.html delete mode 100644 app/dash/app/panels/text/editor.html delete mode 100644 app/dash/app/panels/text/module.html delete mode 100644 app/dash/app/panels/timepicker/custom.html delete mode 100644 app/dash/app/panels/timepicker/editor.html delete mode 100644 app/dash/app/panels/timepicker/module.html delete mode 100644 app/dash/app/panels/timepicker/refreshctrl.html delete mode 100644 app/dash/app/partials/dashLoader.html delete mode 100644 app/dash/app/partials/dashLoaderShare.html delete mode 100644 app/dash/app/partials/dashboard.html delete mode 100644 app/dash/app/partials/dasheditor.html delete mode 100644 app/dash/app/partials/graphite/editor.html delete mode 100644 app/dash/app/partials/import.html delete mode 100644 app/dash/app/partials/influxdb/editor.html delete mode 100644 app/dash/app/partials/inspector.html delete mode 100644 app/dash/app/partials/kairosdb/editor.html delete mode 100644 app/dash/app/partials/load.html delete mode 100644 app/dash/app/partials/loadmetrics.html delete mode 100644 app/dash/app/partials/metrics.html delete mode 100644 app/dash/app/partials/modal.html delete mode 100644 app/dash/app/partials/opentsdb/editor.html delete mode 100644 app/dash/app/partials/paneladd.html delete mode 100644 app/dash/app/partials/paneleditor.html delete mode 100644 app/dash/app/partials/panelgeneral.html delete mode 100644 app/dash/app/partials/playlist.html delete mode 100644 app/dash/app/partials/roweditor.html delete mode 100644 app/dash/app/partials/search.html delete mode 100644 app/dash/app/partials/unsaved-changes.html delete mode 100644 app/dash/build.txt delete mode 100644 app/dash/config.js delete mode 100644 app/dash/config.sample.js delete mode 100644 app/dash/css/animate.min.css delete mode 100644 app/dash/css/bootstrap-responsive.min.css delete mode 100644 app/dash/css/bootstrap.dark.min.css delete mode 100644 app/dash/css/bootstrap.light.min.css delete mode 100644 app/dash/css/default.min.a9bd22e8.css delete mode 100644 app/dash/css/default.min.css delete mode 100644 app/dash/css/font-awesome.min.css delete mode 100644 app/dash/css/normalize.min.css delete mode 100644 app/dash/css/spectrum.css delete mode 100644 app/dash/css/timepicker.css delete mode 100644 app/dash/font/FontAwesome.otf delete mode 100644 app/dash/font/fontawesome-webfont.eot delete mode 100644 app/dash/font/fontawesome-webfont.svg delete mode 100644 app/dash/font/fontawesome-webfont.ttf delete mode 100644 app/dash/font/fontawesome-webfont.woff delete mode 100644 app/dash/img/cubes.png delete mode 100644 app/dash/img/glyphicons-halflings-white.png delete mode 100644 app/dash/img/glyphicons-halflings.png delete mode 100644 app/dash/img/kibana.png delete mode 100644 app/dash/img/light.png delete mode 100644 app/dash/img/load.gif delete mode 100644 app/dash/img/load_big.gif delete mode 100644 app/dash/img/small.png delete mode 100644 app/dash/index.html delete mode 100644 app/dash/test/karma.conf.js delete mode 100644 app/dash/test/mocks/dashboard-mock.js delete mode 100644 app/dash/test/specs/filterSrv-specs.js delete mode 100644 app/dash/test/specs/gfunc-specs.js delete mode 100644 app/dash/test/specs/graph-panel-controller-specs.js delete mode 100644 app/dash/test/specs/graphiteTargetCtrl-specs.js delete mode 100644 app/dash/test/specs/kbn-format-specs.js delete mode 100644 app/dash/test/specs/lexer-specs.js delete mode 100644 app/dash/test/specs/parser-specs.js delete mode 100644 app/dash/test/test-main.js delete mode 100644 app/dash/test/tests.html delete mode 100644 app/dash/tmpx delete mode 100644 app/dash/vendor/angular/angular-mocks.js delete mode 100644 app/dash/vendor/jquery/jquery.flot.fillbetween.js delete mode 100644 app/dash/vendor/license.json delete mode 100644 app/dash/vendor/require/css-build.js delete mode 100644 app/dash/vendor/require/require.js delete mode 100644 app/dash/vendor/require/tmpl.js create mode 100644 app/data/config.json-backup create mode 100644 app/data/sample_machine_uploadfile.txt create mode 100644 app/data/sample_switch_uploadfile.txt delete mode 100644 app/dboards/.gitignore delete mode 100644 app/dboards/.jscs.json delete mode 100644 app/dboards/.jshintrc delete mode 100644 app/dboards/.travis.yml delete mode 100644 app/dboards/CHANGELOG.md delete mode 100644 app/dboards/CONTRIBUTING.md delete mode 100644 app/dboards/Gruntfile.js delete mode 100644 app/dboards/LICENSE.md delete mode 100644 app/dboards/NOTICE.md delete mode 100644 app/dboards/README.md delete mode 100644 app/dboards/grafana.sublime-project delete mode 100644 app/dboards/latest.json delete mode 100644 app/dboards/package.json delete mode 100644 app/dboards/sample/apache_ldap.conf delete mode 100644 app/dboards/sample/lighttpd_basic.conf delete mode 100644 app/dboards/sample/nginx.conf delete mode 100644 app/dboards/sample/server.js delete mode 100644 app/dboards/src/app/app.js delete mode 100644 app/dboards/src/app/components/extend-jquery.js delete mode 100644 app/dboards/src/app/components/kbn.js delete mode 100644 app/dboards/src/app/components/partials.js delete mode 100644 app/dboards/src/app/components/require.config.js delete mode 100644 app/dboards/src/app/components/settings.js delete mode 100644 app/dboards/src/app/components/underscore.extended.js delete mode 100644 app/dboards/src/app/controllers/all.js delete mode 100644 app/dboards/src/app/controllers/dash.js delete mode 100644 app/dboards/src/app/controllers/dashLoader.js delete mode 100644 app/dboards/src/app/controllers/graphiteImport.js delete mode 100644 app/dboards/src/app/controllers/graphiteTarget.js delete mode 100644 app/dboards/src/app/controllers/influxTargetCtrl.js delete mode 100644 app/dboards/src/app/controllers/inspectCtrl.js delete mode 100644 app/dboards/src/app/controllers/kairosdbTargetCtrl.js delete mode 100644 app/dboards/src/app/controllers/metricKeys.js delete mode 100644 app/dboards/src/app/controllers/opentsdbTargetCtrl.js delete mode 100644 app/dboards/src/app/controllers/panelBaseCtrl.js delete mode 100644 app/dboards/src/app/controllers/playlistCtrl.js delete mode 100644 app/dboards/src/app/controllers/pulldown.js delete mode 100644 app/dboards/src/app/controllers/row.js delete mode 100644 app/dboards/src/app/controllers/search.js delete mode 100644 app/dboards/src/app/controllers/submenuCtrl.js delete mode 100644 app/dboards/src/app/dashboards/default.json delete mode 100644 app/dboards/src/app/dashboards/empty.json delete mode 100644 app/dboards/src/app/dashboards/scripted.js delete mode 100644 app/dboards/src/app/dashboards/scripted_async.js delete mode 100644 app/dboards/src/app/directives/addGraphiteFunc.js delete mode 100644 app/dboards/src/app/directives/addPanel.js delete mode 100644 app/dboards/src/app/directives/all.js delete mode 100644 app/dboards/src/app/directives/arrayJoin.js delete mode 100644 app/dboards/src/app/directives/bodyClass.js delete mode 100644 app/dboards/src/app/directives/bootstrap-tagsinput.js delete mode 100644 app/dboards/src/app/directives/configModal.js delete mode 100644 app/dboards/src/app/directives/confirmClick.js delete mode 100644 app/dboards/src/app/directives/dashUpload.js delete mode 100755 app/dboards/src/app/directives/grafanaGraph.js delete mode 100644 app/dboards/src/app/directives/grafanaVersionCheck.js delete mode 100644 app/dboards/src/app/directives/graphiteFuncEditor.js delete mode 100644 app/dboards/src/app/directives/influxdbFuncEditor.js delete mode 100644 app/dboards/src/app/directives/kibanaPanel.js delete mode 100644 app/dboards/src/app/directives/kibanaSimplePanel.js delete mode 100644 app/dboards/src/app/directives/ngBlur.js delete mode 100644 app/dboards/src/app/directives/ngModelOnBlur.js delete mode 100644 app/dboards/src/app/directives/spectrumPicker.js delete mode 100644 app/dboards/src/app/directives/tip.js delete mode 100755 app/dboards/src/app/filters/all.js delete mode 100644 app/dboards/src/app/panels/annotations/editor.html delete mode 100644 app/dboards/src/app/panels/annotations/module.html delete mode 100644 app/dboards/src/app/panels/annotations/module.js delete mode 100755 app/dboards/src/app/panels/filtering/module.html delete mode 100644 app/dboards/src/app/panels/filtering/module.js delete mode 100644 app/dboards/src/app/panels/graph/axisEditor.html delete mode 100755 app/dboards/src/app/panels/graph/legend.html delete mode 100644 app/dboards/src/app/panels/graph/module.html delete mode 100644 app/dboards/src/app/panels/graph/module.js delete mode 100644 app/dboards/src/app/panels/graph/styleEditor.html delete mode 100644 app/dboards/src/app/panels/graph/timeSeries.js delete mode 100644 app/dboards/src/app/panels/text/editor.html delete mode 100644 app/dboards/src/app/panels/text/lib/showdown.js delete mode 100644 app/dboards/src/app/panels/text/module.html delete mode 100644 app/dboards/src/app/panels/text/module.js delete mode 100644 app/dboards/src/app/panels/timepicker/custom.html delete mode 100644 app/dboards/src/app/panels/timepicker/editor.html delete mode 100644 app/dboards/src/app/panels/timepicker/module.html delete mode 100644 app/dboards/src/app/panels/timepicker/module.js delete mode 100644 app/dboards/src/app/panels/timepicker/refreshctrl.html delete mode 100644 app/dboards/src/app/partials/dashLoader.html delete mode 100644 app/dboards/src/app/partials/dashLoaderShare.html delete mode 100644 app/dboards/src/app/partials/dashboard.html delete mode 100644 app/dboards/src/app/partials/dasheditor.html delete mode 100755 app/dboards/src/app/partials/graphite/editor.html delete mode 100644 app/dboards/src/app/partials/import.html delete mode 100644 app/dboards/src/app/partials/influxdb/editor.html delete mode 100644 app/dboards/src/app/partials/inspector.html delete mode 100644 app/dboards/src/app/partials/kairosdb/editor.html delete mode 100644 app/dboards/src/app/partials/load.html delete mode 100644 app/dboards/src/app/partials/loadmetrics.html delete mode 100644 app/dboards/src/app/partials/metrics.html delete mode 100644 app/dboards/src/app/partials/modal.html delete mode 100644 app/dboards/src/app/partials/opentsdb/editor.html delete mode 100644 app/dboards/src/app/partials/paneladd.html delete mode 100644 app/dboards/src/app/partials/paneleditor.html delete mode 100644 app/dboards/src/app/partials/panelgeneral.html delete mode 100644 app/dboards/src/app/partials/playlist.html delete mode 100644 app/dboards/src/app/partials/roweditor.html delete mode 100644 app/dboards/src/app/partials/search.html delete mode 100644 app/dboards/src/app/partials/unsaved-changes.html delete mode 100644 app/dboards/src/app/services/alertSrv.js delete mode 100644 app/dboards/src/app/services/all.js delete mode 100644 app/dboards/src/app/services/annotationsSrv.js delete mode 100644 app/dboards/src/app/services/dashboard.js delete mode 100644 app/dboards/src/app/services/dashboard/all.js delete mode 100644 app/dboards/src/app/services/dashboard/dashboardKeyBindings.js delete mode 100644 app/dboards/src/app/services/datasourceSrv.js delete mode 100644 app/dboards/src/app/services/filterSrv.js delete mode 100644 app/dboards/src/app/services/graphite/gfunc.js delete mode 100644 app/dboards/src/app/services/graphite/graphiteDatasource.js delete mode 100644 app/dboards/src/app/services/graphite/lexer.js delete mode 100644 app/dboards/src/app/services/graphite/parser.js delete mode 100644 app/dboards/src/app/services/influxdb/influxdbDatasource.js delete mode 100644 app/dboards/src/app/services/kairosdb/kairosdbDatasource.js delete mode 100644 app/dboards/src/app/services/keyboardManager.js delete mode 100644 app/dboards/src/app/services/opentsdb/opentsdbDatasource.js delete mode 100644 app/dboards/src/app/services/panelMove.js delete mode 100644 app/dboards/src/app/services/playlistSrv.js delete mode 100644 app/dboards/src/app/services/timer.js delete mode 100644 app/dboards/src/app/services/unsavedChangesSrv.js delete mode 100644 app/dboards/src/config.sample.js delete mode 100644 app/dboards/src/css/animate.min.css delete mode 100644 app/dboards/src/css/bootstrap-responsive.min.css delete mode 100644 app/dboards/src/css/bootstrap.dark.min.css delete mode 100644 app/dboards/src/css/bootstrap.light.min.css delete mode 100644 app/dboards/src/css/default.min.css delete mode 100644 app/dboards/src/css/font-awesome.min.css delete mode 100644 app/dboards/src/css/less/bootstrap-tagsinput.less delete mode 100644 app/dboards/src/css/less/bootstrap.dark.less delete mode 100644 app/dboards/src/css/less/bootstrap.light.less delete mode 100644 app/dboards/src/css/less/bootswatch.dark.less delete mode 100644 app/dboards/src/css/less/bootswatch.light.less delete mode 100644 app/dboards/src/css/less/grafana-responsive.less delete mode 100644 app/dboards/src/css/less/grafana.less delete mode 100644 app/dboards/src/css/less/overrides.less delete mode 100644 app/dboards/src/css/less/submenu.less delete mode 100644 app/dboards/src/css/less/variables.dark.less delete mode 100644 app/dboards/src/css/less/variables.light.less delete mode 100644 app/dboards/src/css/normalize.min.css delete mode 100644 app/dboards/src/css/spectrum.css delete mode 100644 app/dboards/src/css/timepicker.css delete mode 100644 app/dboards/src/font/FontAwesome.otf delete mode 100644 app/dboards/src/font/fontawesome-webfont.eot delete mode 100644 app/dboards/src/font/fontawesome-webfont.ttf delete mode 100644 app/dboards/src/font/fontawesome-webfont.woff delete mode 100644 app/dboards/src/img/cubes.png delete mode 100644 app/dboards/src/img/glyphicons-halflings-white.png delete mode 100644 app/dboards/src/img/glyphicons-halflings.png delete mode 100644 app/dboards/src/img/kibana.png delete mode 100644 app/dboards/src/img/light.png delete mode 100644 app/dboards/src/img/load.gif delete mode 100644 app/dboards/src/img/load_big.gif delete mode 100644 app/dboards/src/img/small.png delete mode 100644 app/dboards/src/index.html delete mode 100644 app/dboards/src/test/.jshintrc delete mode 100644 app/dboards/src/test/karma.conf.js delete mode 100644 app/dboards/src/test/mocks/dashboard-mock.js delete mode 100644 app/dboards/src/test/specs/filterSrv-specs.js delete mode 100644 app/dboards/src/test/specs/gfunc-specs.js delete mode 100644 app/dboards/src/test/specs/graph-panel-controller-specs.js delete mode 100644 app/dboards/src/test/specs/graphiteTargetCtrl-specs.js delete mode 100644 app/dboards/src/test/specs/kbn-format-specs.js delete mode 100644 app/dboards/src/test/specs/lexer-specs.js delete mode 100644 app/dboards/src/test/specs/parser-specs.js delete mode 100644 app/dboards/src/test/test-main.js delete mode 100644 app/dboards/src/test/tests.html delete mode 100644 app/dboards/src/vendor/angular/angular-dragdrop.js delete mode 100644 app/dboards/src/vendor/angular/angular-mocks.js delete mode 100644 app/dboards/src/vendor/angular/angular-sanitize.js delete mode 100644 app/dboards/src/vendor/angular/angular-strap.js delete mode 100644 app/dboards/src/vendor/angular/angular.js delete mode 100644 app/dboards/src/vendor/angular/bindonce.js delete mode 100644 app/dboards/src/vendor/angular/datepicker.js delete mode 100644 app/dboards/src/vendor/angular/timepicker.js delete mode 100644 app/dboards/src/vendor/bootstrap/bootstrap.js delete mode 100644 app/dboards/src/vendor/bootstrap/less/accordion.less delete mode 100644 app/dboards/src/vendor/bootstrap/less/alerts.less delete mode 100644 app/dboards/src/vendor/bootstrap/less/bootstrap.less delete mode 100644 app/dboards/src/vendor/bootstrap/less/breadcrumbs.less delete mode 100644 app/dboards/src/vendor/bootstrap/less/button-groups.less delete mode 100644 app/dboards/src/vendor/bootstrap/less/buttons.less delete mode 100644 app/dboards/src/vendor/bootstrap/less/carousel.less delete mode 100644 app/dboards/src/vendor/bootstrap/less/close.less delete mode 100644 app/dboards/src/vendor/bootstrap/less/code.less delete mode 100644 app/dboards/src/vendor/bootstrap/less/dropdowns.less delete mode 100644 app/dboards/src/vendor/bootstrap/less/forms.less delete mode 100644 app/dboards/src/vendor/bootstrap/less/grid.less delete mode 100644 app/dboards/src/vendor/bootstrap/less/hero-unit.less delete mode 100644 app/dboards/src/vendor/bootstrap/less/labels-badges.less delete mode 100644 app/dboards/src/vendor/bootstrap/less/layouts.less delete mode 100644 app/dboards/src/vendor/bootstrap/less/mixins.less delete mode 100644 app/dboards/src/vendor/bootstrap/less/modals.less delete mode 100644 app/dboards/src/vendor/bootstrap/less/navbar.less delete mode 100644 app/dboards/src/vendor/bootstrap/less/navs.less delete mode 100644 app/dboards/src/vendor/bootstrap/less/pager.less delete mode 100644 app/dboards/src/vendor/bootstrap/less/pagination.less delete mode 100644 app/dboards/src/vendor/bootstrap/less/popovers.less delete mode 100644 app/dboards/src/vendor/bootstrap/less/progress-bars.less delete mode 100644 app/dboards/src/vendor/bootstrap/less/reset.less delete mode 100644 app/dboards/src/vendor/bootstrap/less/responsive-1200px-min.less delete mode 100644 app/dboards/src/vendor/bootstrap/less/responsive-767px-max.less delete mode 100644 app/dboards/src/vendor/bootstrap/less/responsive-768px-979px.less delete mode 100644 app/dboards/src/vendor/bootstrap/less/responsive-navbar.less delete mode 100644 app/dboards/src/vendor/bootstrap/less/responsive-utilities.less delete mode 100644 app/dboards/src/vendor/bootstrap/less/responsive.less delete mode 100644 app/dboards/src/vendor/bootstrap/less/scaffolding.less delete mode 100644 app/dboards/src/vendor/bootstrap/less/sprites.less delete mode 100644 app/dboards/src/vendor/bootstrap/less/tables.less delete mode 100644 app/dboards/src/vendor/bootstrap/less/thumbnails.less delete mode 100644 app/dboards/src/vendor/bootstrap/less/tooltip.less delete mode 100644 app/dboards/src/vendor/bootstrap/less/type.less delete mode 100644 app/dboards/src/vendor/bootstrap/less/utilities.less delete mode 100644 app/dboards/src/vendor/bootstrap/less/variables.less delete mode 100644 app/dboards/src/vendor/crypto.min.js delete mode 100644 app/dboards/src/vendor/elasticjs/elastic-angular-client.js delete mode 100644 app/dboards/src/vendor/elasticjs/elastic.js delete mode 100644 app/dboards/src/vendor/filesaver.js delete mode 100644 app/dboards/src/vendor/jquery/jquery-1.8.0.js delete mode 100644 app/dboards/src/vendor/jquery/jquery-ui-1.10.3.js delete mode 100644 app/dboards/src/vendor/jquery/jquery.flot.byte.js delete mode 100644 app/dboards/src/vendor/jquery/jquery.flot.events.js delete mode 100644 app/dboards/src/vendor/jquery/jquery.flot.fillbetween.js delete mode 100644 app/dboards/src/vendor/jquery/jquery.flot.js delete mode 100644 app/dboards/src/vendor/jquery/jquery.flot.pie.js delete mode 100644 app/dboards/src/vendor/jquery/jquery.flot.selection.js delete mode 100644 app/dboards/src/vendor/jquery/jquery.flot.stack.js delete mode 100644 app/dboards/src/vendor/jquery/jquery.flot.stackpercent.js delete mode 100644 app/dboards/src/vendor/jquery/jquery.flot.time.js delete mode 100644 app/dboards/src/vendor/license.json delete mode 100644 app/dboards/src/vendor/modernizr-2.6.1.js delete mode 100644 app/dboards/src/vendor/require/css-build.js delete mode 100644 app/dboards/src/vendor/require/css.js delete mode 100644 app/dboards/src/vendor/require/text.js delete mode 100644 app/dboards/src/vendor/require/tmpl.js delete mode 100644 app/dboards/src/vendor/spectrum.js delete mode 100644 app/dboards/src/vendor/tagsinput/bootstrap-tagsinput.js delete mode 100644 app/dboards/src/vendor/underscore.js delete mode 100644 app/dboards/tasks/build_task.js delete mode 100644 app/dboards/tasks/default_task.js delete mode 100644 app/dboards/tasks/distribute_task.js delete mode 100644 app/dboards/tasks/options/clean.js delete mode 100644 app/dboards/tasks/options/compress.js delete mode 100644 app/dboards/tasks/options/concat.js delete mode 100644 app/dboards/tasks/options/connect.js delete mode 100644 app/dboards/tasks/options/copy.js delete mode 100644 app/dboards/tasks/options/cssmin.js delete mode 100644 app/dboards/tasks/options/filerev.js delete mode 100644 app/dboards/tasks/options/git-describe.js delete mode 100644 app/dboards/tasks/options/htmlmin.js delete mode 100644 app/dboards/tasks/options/jscs.js delete mode 100644 app/dboards/tasks/options/jshint.js delete mode 100644 app/dboards/tasks/options/karma.js delete mode 100644 app/dboards/tasks/options/less.js delete mode 100644 app/dboards/tasks/options/meta.js delete mode 100644 app/dboards/tasks/options/ngmin.js delete mode 100644 app/dboards/tasks/options/ngtemplates.js delete mode 100644 app/dboards/tasks/options/requirejs.js delete mode 100644 app/dboards/tasks/options/uglify.js delete mode 100644 app/dboards/tasks/options/usemin.js delete mode 100644 app/dboards/tasks/options/useminPrepare.js delete mode 100644 app/dboards/tasks/server_task.js create mode 100644 app/package.json create mode 100644 app/src/app/app.coffee delete mode 100644 app/src/app/app.js delete mode 100644 app/src/app/appDev.js delete mode 100644 app/src/app/cluster/cluster-create.tpl.html delete mode 100644 app/src/app/cluster/cluster-hosts.tpl.html delete mode 100644 app/src/app/cluster/cluster-log.tpl.html delete mode 100644 app/src/app/cluster/cluster-network.tpl.html delete mode 100644 app/src/app/cluster/cluster.js delete mode 100644 app/src/app/cluster/clusterlist.js create mode 100644 app/src/app/controllers/all.coffee create mode 100644 app/src/app/controllers/appController.coffee create mode 100644 app/src/app/controllers/baseController.coffee create mode 100644 app/src/app/controllers/clusterController.coffee create mode 100644 app/src/app/controllers/loginController.coffee create mode 100644 app/src/app/controllers/modalControllers.coffee create mode 100644 app/src/app/controllers/serverController.coffee create mode 100644 app/src/app/controllers/topnavController.coffee create mode 100644 app/src/app/controllers/userController.coffee create mode 100644 app/src/app/controllers/wizardController.coffee create mode 100644 app/src/app/directives/all.coffee create mode 100644 app/src/app/directives/baseDirective.coffee create mode 100644 app/src/app/directives/clusterNavDirective.coffee create mode 100644 app/src/app/directives/dataMatchDirective.coffee create mode 100644 app/src/app/directives/enterDirective.coffee create mode 100644 app/src/app/directives/findServerDirective.coffee create mode 100644 app/src/app/directives/hostprogressbarDirective.coffee create mode 100644 app/src/app/directives/pieChartDirective.coffee create mode 100644 app/src/app/directives/wizardDirective.coffee create mode 100644 app/src/app/factory/all.coffee create mode 100644 app/src/app/factory/baseFactory.coffee create mode 100644 app/src/app/factory/errorHandlingFactory.coffee create mode 100644 app/src/app/factory/userFactory.coffee create mode 100644 app/src/app/factory/wizardFactory.coffee create mode 100644 app/src/app/filters/all.coffee create mode 100644 app/src/app/filters/baseFilter.coffee create mode 100644 app/src/app/filters/healthReportFilter.coffee delete mode 100644 app/src/app/login/login.js delete mode 100644 app/src/app/monitoring/alerts.tpl.html delete mode 100644 app/src/app/monitoring/charts.tpl.html delete mode 100644 app/src/app/monitoring/cluster-monitoring.tpl.html delete mode 100644 app/src/app/monitoring/hostgroups.tpl.html delete mode 100644 app/src/app/monitoring/metrics.tpl.html delete mode 100644 app/src/app/monitoring/monitoring.js delete mode 100644 app/src/app/monitoring/multiSelect.tpl.html delete mode 100644 app/src/app/monitoring/nagios.tpl.html delete mode 100644 app/src/app/monitoring/novamanage.tpl.html delete mode 100644 app/src/app/monitoring/overview.tpl.html delete mode 100644 app/src/app/monitoring/servicegroups.tpl.html delete mode 100644 app/src/app/monitoring/topology.tpl.html create mode 100644 app/src/app/partials/ErrorInfo.html rename app/src/app/{cluster => partials}/cluster-all-grid.tpl.html (100%) rename app/src/app/{cluster => partials}/cluster-all-list.tpl.html (100%) rename app/src/app/{cluster => partials}/cluster-all.tpl.html (93%) rename app/src/app/{cluster => partials}/cluster-config.tpl.html (100%) create mode 100644 app/src/app/partials/cluster-log.tpl.html rename app/src/app/{cluster => partials}/cluster-nav.tpl.html (80%) create mode 100644 app/src/app/partials/cluster-network.tpl.html rename app/src/app/{cluster => partials}/cluster-overview.tpl.html (91%) rename app/src/app/{cluster => partials}/cluster-partition.tpl.html (100%) create mode 100644 app/src/app/partials/cluster-report.tpl.html rename app/src/app/{cluster => partials}/cluster-roles.tpl.html (100%) rename app/src/app/{cluster => partials}/cluster-security.tpl.html (100%) rename app/src/app/{cluster => partials}/cluster.tpl.html (100%) rename app/src/{common/findservers => app/partials}/find-new-servers.tpl.html (100%) create mode 100644 app/src/app/partials/global.tpl.html rename app/src/app/{login => partials}/login.tpl.html (96%) create mode 100644 app/src/app/partials/modalAddNewServers.html create mode 100644 app/src/app/partials/modalAddSubnet.tpl.html create mode 100644 app/src/app/partials/modalClusterCreate.tpl.html create mode 100644 app/src/app/partials/modalCreateUserSetting.html create mode 100644 app/src/app/partials/modalErrorMessage.html create mode 100644 app/src/app/partials/modalModifySwitch.html create mode 100644 app/src/app/partials/modalUploadFiles.html create mode 100644 app/src/app/partials/network.tpl.html create mode 100644 app/src/app/partials/network_mapping.tpl.html rename app/src/app/{wizard/network_mapping.tpl.html => partials/network_mapping.tpl.html-old} (100%) create mode 100644 app/src/app/partials/package_config.tpl.html rename app/src/app/{wizard => partials}/partition.tpl.html (100%) rename app/src/{common => app/partials}/progressbar.tpl.html (100%) create mode 100644 app/src/app/partials/review.tpl.html rename app/src/app/{wizard => partials}/role_assignment.tpl.html (93%) rename app/src/app/{server => partials}/server-list.tpl.html (97%) rename app/src/app/{wizard => partials}/server_selection.tpl.html (89%) create mode 100644 app/src/app/partials/test.tpl.html rename app/src/app/{topnav => partials}/topnav.tpl.html (84%) rename app/src/app/{user => partials}/user-setting.html (98%) rename app/src/app/{wizard => partials}/wizard.tpl.html (94%) create mode 100644 app/src/app/server/appDev.js delete mode 100644 app/src/app/server/server.js create mode 100644 app/src/app/server/testServer.coffee delete mode 100644 app/src/app/services.js create mode 100644 app/src/app/services/all.coffee create mode 100644 app/src/app/services/authenticationService.coffee create mode 100644 app/src/app/services/baseService.coffee create mode 100644 app/src/app/services/clusterService.coffee create mode 100644 app/src/app/services/dataService.coffee create mode 100644 app/src/app/services/userService.coffee create mode 100644 app/src/app/services/wizardService.coffee delete mode 100644 app/src/app/topnav/topnav.js delete mode 100644 app/src/app/user/user-profile.html delete mode 100644 app/src/app/user/user-setting-create.html delete mode 100644 app/src/app/user/userprofile.js delete mode 100644 app/src/app/user/usersetting.js delete mode 100644 app/src/app/wizard/global.tpl.html delete mode 100644 app/src/app/wizard/network.tpl.html delete mode 100644 app/src/app/wizard/package_config.tpl.html delete mode 100644 app/src/app/wizard/review.tpl.html delete mode 100644 app/src/app/wizard/wizard.js create mode 100644 app/src/bootstrap.coffee delete mode 100644 app/src/bootstrap.js delete mode 100644 app/src/common/charts.js delete mode 100644 app/src/common/findservers/findservers.js delete mode 100644 app/src/common/gantt-chart-d3v2.js delete mode 100644 app/src/common/ganttchart.tpl.html create mode 100644 app/src/main.coffee delete mode 100644 app/src/main.js create mode 100644 app/target/assets/css/compass.min.css create mode 100644 app/target/assets/font/DXI1ORHCpsQm3Vp6mXoaTXhCUOGz7vYGh680lGh-uXM.woff create mode 100644 app/target/assets/font/cJZKeOuBrn4kERxqtaUH3T8E0i7KZn-EPnyo3HZu7kw.woff create mode 100644 app/target/assets/fonts/FontAwesome.otf create mode 100644 app/target/assets/fonts/fontawesome-webfont.eot create mode 100644 app/target/assets/fonts/fontawesome-webfont.svg create mode 100644 app/target/assets/fonts/fontawesome-webfont.ttf create mode 100644 app/target/assets/fonts/fontawesome-webfont.woff create mode 100644 app/target/assets/fonts/glyphicons-halflings-regular.woff create mode 100644 app/target/assets/img/README.md create mode 100644 app/target/assets/img/bg.png create mode 100644 app/target/assets/img/datacenter.jpg create mode 100644 app/target/assets/img/datacenter1.jpg create mode 100644 app/target/assets/img/datacenter2.jpg create mode 100644 app/target/assets/img/dialogue-bar.jpg create mode 100644 app/target/assets/img/dialogue-bar.png create mode 100644 app/target/assets/img/dialogue-bar1.jpg create mode 100644 app/target/assets/img/fabric-texture.png create mode 100644 app/target/assets/img/happy_face.png create mode 100644 app/target/assets/img/header.png create mode 100644 app/target/assets/img/logo-header.png create mode 100644 app/target/assets/img/logo-pure.png create mode 100644 app/target/assets/img/logo-text.png create mode 100644 app/target/assets/img/logo.png create mode 100644 app/target/assets/img/logo1.png create mode 100644 app/target/assets/img/meh_face.png create mode 100644 app/target/assets/img/moni/alert.png create mode 100644 app/target/assets/img/moni/cluster_summary.png create mode 100644 app/target/assets/img/moni/compute.png create mode 100644 app/target/assets/img/moni/controller.png create mode 100644 app/target/assets/img/moni/database.png create mode 100644 app/target/assets/img/moni/image.png create mode 100644 app/target/assets/img/moni/messagebus.png create mode 100644 app/target/assets/img/moni/messagebus1.png create mode 100644 app/target/assets/img/moni/monitoring.png create mode 100644 app/target/assets/img/moni/network.png create mode 100644 app/target/assets/img/moni/processes.png create mode 100644 app/target/assets/img/moni/security.png create mode 100644 app/target/assets/img/moni/store.png create mode 100644 app/target/assets/img/moni/users.png create mode 100644 app/target/assets/img/network.png create mode 100644 app/target/assets/img/network_mapping.png create mode 100644 app/target/assets/img/os_global.png create mode 100644 app/target/assets/img/package_config.png create mode 100644 app/target/assets/img/partition.png create mode 100644 app/target/assets/img/review.png create mode 100644 app/target/assets/img/role_assign.png create mode 100644 app/target/assets/img/router.png create mode 100644 app/target/assets/img/server.png create mode 100644 app/target/assets/img/server1.png create mode 100644 app/target/assets/img/smile_face.png create mode 100644 app/target/assets/img/sv_selection.png create mode 100644 app/target/assets/img/switch.png create mode 100644 app/target/assets/img/switch1.png create mode 100644 app/target/assets/img/unhappy_face.png create mode 100644 app/target/bower_components/angular-animate/README.md create mode 100644 app/target/bower_components/angular-animate/angular-animate.js rename app/{vendor/angular => target/bower_components/angular-animate}/angular-animate.min.js (100%) create mode 100644 app/target/bower_components/angular-animate/angular-animate.min.js.map create mode 100644 app/target/bower_components/angular-animate/bower.json create mode 100644 app/target/bower_components/angular-bootstrap/bower.json create mode 100644 app/target/bower_components/angular-bootstrap/ui-bootstrap-tpls.js create mode 100644 app/target/bower_components/angular-bootstrap/ui-bootstrap-tpls.min.js create mode 100644 app/target/bower_components/angular-bootstrap/ui-bootstrap.js create mode 100644 app/target/bower_components/angular-bootstrap/ui-bootstrap.min.js create mode 100644 app/target/bower_components/angular-cookies/README.md create mode 100644 app/target/bower_components/angular-cookies/angular-cookies.js create mode 100644 app/target/bower_components/angular-cookies/angular-cookies.min.js create mode 100644 app/target/bower_components/angular-cookies/angular-cookies.min.js.map create mode 100644 app/target/bower_components/angular-cookies/bower.json create mode 100644 app/target/bower_components/angular-daterangepicker/Gruntfile.coffee create mode 100644 app/target/bower_components/angular-daterangepicker/LICENSE.md create mode 100644 app/target/bower_components/angular-daterangepicker/README.md create mode 100644 app/target/bower_components/angular-daterangepicker/bower.json create mode 100644 app/target/bower_components/angular-daterangepicker/coffee/angular-daterangepicker.coffee create mode 100644 app/target/bower_components/angular-daterangepicker/coffeelint.json create mode 100644 app/target/bower_components/angular-daterangepicker/example.html create mode 100644 app/target/bower_components/angular-daterangepicker/js/angular-daterangepicker.js create mode 100644 app/target/bower_components/angular-daterangepicker/js/angular-daterangepicker.min.js create mode 100644 app/target/bower_components/angular-daterangepicker/js/angular-daterangepicker.min.map create mode 100644 app/target/bower_components/angular-daterangepicker/package.json create mode 100644 app/target/bower_components/angular-mocks/README.md rename app/{vendor/angular => target/bower_components/angular-mocks}/angular-mocks.js (95%) create mode 100644 app/target/bower_components/angular-mocks/bower.json create mode 100644 app/target/bower_components/angular-mocks/ngAnimateMock.js create mode 100644 app/target/bower_components/angular-mocks/ngMock.js create mode 100644 app/target/bower_components/angular-mocks/ngMockE2E.js create mode 100644 app/target/bower_components/angular-mocks/package.json create mode 100644 app/target/bower_components/angular-spinner/CHANGELOG.md create mode 100644 app/target/bower_components/angular-spinner/Gruntfile.js create mode 100644 app/target/bower_components/angular-spinner/README.md create mode 100644 app/target/bower_components/angular-spinner/angular-spinner.js create mode 100644 app/target/bower_components/angular-spinner/angular-spinner.min.js create mode 100644 app/target/bower_components/angular-spinner/angular-spinner.min.js.map create mode 100644 app/target/bower_components/angular-spinner/bower.json create mode 100644 app/target/bower_components/angular-spinner/karma.conf.js create mode 100644 app/target/bower_components/angular-spinner/package.json create mode 100644 app/target/bower_components/angular-spinner/tests.js create mode 100644 app/target/bower_components/angular-touch/README.md rename app/{vendor/angular => target/bower_components/angular-touch}/angular-touch.js (80%) create mode 100644 app/target/bower_components/angular-touch/angular-touch.min.js create mode 100644 app/target/bower_components/angular-touch/angular-touch.min.js.map create mode 100644 app/target/bower_components/angular-touch/bower.json create mode 100644 app/target/bower_components/angular-touch/index.js create mode 100644 app/target/bower_components/angular-touch/package.json create mode 100644 app/target/bower_components/angular-ui-router/CHANGELOG.md create mode 100644 app/target/bower_components/angular-ui-router/CONTRIBUTING.md create mode 100644 app/target/bower_components/angular-ui-router/LICENSE create mode 100644 app/target/bower_components/angular-ui-router/README.md create mode 100644 app/target/bower_components/angular-ui-router/api/angular-ui-router.d.ts create mode 100644 app/target/bower_components/angular-ui-router/bower.json create mode 100644 app/target/bower_components/angular-ui-router/release/angular-ui-router.js create mode 100644 app/target/bower_components/angular-ui-router/release/angular-ui-router.min.js create mode 100644 app/target/bower_components/angular-ui-router/src/common.js create mode 100644 app/target/bower_components/angular-ui-router/src/resolve.js create mode 100644 app/target/bower_components/angular-ui-router/src/state.js create mode 100644 app/target/bower_components/angular-ui-router/src/stateDirectives.js create mode 100644 app/target/bower_components/angular-ui-router/src/stateFilters.js create mode 100644 app/target/bower_components/angular-ui-router/src/templateFactory.js create mode 100644 app/target/bower_components/angular-ui-router/src/urlMatcherFactory.js create mode 100644 app/target/bower_components/angular-ui-router/src/urlRouter.js create mode 100644 app/target/bower_components/angular-ui-router/src/view.js create mode 100644 app/target/bower_components/angular-ui-router/src/viewDirective.js create mode 100644 app/target/bower_components/angular-ui-router/src/viewScroll.js create mode 100644 app/target/bower_components/angular/README.md create mode 100644 app/target/bower_components/angular/angular-csp.css create mode 100644 app/target/bower_components/angular/angular.js rename app/{vendor => target/bower_components}/angular/angular.min.js (100%) create mode 100644 app/target/bower_components/angular/angular.min.js.gzip rename app/{vendor => target/bower_components}/angular/angular.min.js.map (100%) create mode 100644 app/target/bower_components/angular/bower.json create mode 100644 app/target/bower_components/bootstrap-daterangepicker/README.md create mode 100644 app/target/bower_components/bootstrap-daterangepicker/bower.json create mode 100644 app/target/bower_components/bootstrap-daterangepicker/daterangepicker-bs2.css create mode 100644 app/target/bower_components/bootstrap-daterangepicker/daterangepicker-bs3.css rename app/{vendor/angular-daterangepicker => target/bower_components/bootstrap-daterangepicker}/daterangepicker.js (100%) create mode 100644 app/target/bower_components/bootstrap-daterangepicker/examples.html create mode 100644 app/target/bower_components/bootstrap/Gruntfile.js create mode 100644 app/target/bower_components/bootstrap/LICENSE create mode 100644 app/target/bower_components/bootstrap/README.md create mode 100644 app/target/bower_components/bootstrap/bower.json rename app/{vendor/bootstrap => target/bower_components/bootstrap/dist}/css/bootstrap-theme.css (100%) create mode 100644 app/target/bower_components/bootstrap/dist/css/bootstrap-theme.css.map create mode 100644 app/target/bower_components/bootstrap/dist/css/bootstrap-theme.min.css rename app/{vendor/bootstrap => target/bower_components/bootstrap/dist}/css/bootstrap.css (100%) rename app/{vendor/bootstrap => target/bower_components/bootstrap/dist}/css/bootstrap.css.map (100%) create mode 100644 app/target/bower_components/bootstrap/dist/css/bootstrap.min.css rename app/{vendor/bootstrap => target/bower_components/bootstrap/dist}/fonts/glyphicons-halflings-regular.eot (100%) rename app/{vendor/bootstrap => target/bower_components/bootstrap/dist}/fonts/glyphicons-halflings-regular.svg (100%) rename app/{vendor/bootstrap => target/bower_components/bootstrap/dist}/fonts/glyphicons-halflings-regular.ttf (100%) create mode 100644 app/target/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff create mode 100644 app/target/bower_components/bootstrap/dist/js/bootstrap.js rename app/{vendor/bootstrap => target/bower_components/bootstrap/dist}/js/bootstrap.min.js (100%) create mode 100644 app/target/bower_components/bootstrap/fonts/glyphicons-halflings-regular.eot create mode 100644 app/target/bower_components/bootstrap/fonts/glyphicons-halflings-regular.svg create mode 100644 app/target/bower_components/bootstrap/fonts/glyphicons-halflings-regular.ttf create mode 100644 app/target/bower_components/bootstrap/fonts/glyphicons-halflings-regular.woff create mode 100644 app/target/bower_components/bootstrap/grunt/bs-glyphicons-data-generator.js create mode 100644 app/target/bower_components/bootstrap/grunt/bs-lessdoc-parser.js create mode 100644 app/target/bower_components/bootstrap/grunt/bs-raw-files-generator.js create mode 100644 app/target/bower_components/bootstrap/grunt/shrinkwrap.js create mode 100644 app/target/bower_components/bootstrap/js/affix.js create mode 100644 app/target/bower_components/bootstrap/js/alert.js create mode 100644 app/target/bower_components/bootstrap/js/button.js create mode 100644 app/target/bower_components/bootstrap/js/carousel.js create mode 100644 app/target/bower_components/bootstrap/js/collapse.js create mode 100644 app/target/bower_components/bootstrap/js/dropdown.js create mode 100644 app/target/bower_components/bootstrap/js/modal.js create mode 100644 app/target/bower_components/bootstrap/js/popover.js create mode 100644 app/target/bower_components/bootstrap/js/scrollspy.js create mode 100644 app/target/bower_components/bootstrap/js/tab.js create mode 100644 app/target/bower_components/bootstrap/js/tooltip.js create mode 100644 app/target/bower_components/bootstrap/js/transition.js create mode 100644 app/target/bower_components/bootstrap/less/alerts.less create mode 100644 app/target/bower_components/bootstrap/less/badges.less create mode 100644 app/target/bower_components/bootstrap/less/bootstrap.less create mode 100644 app/target/bower_components/bootstrap/less/breadcrumbs.less create mode 100644 app/target/bower_components/bootstrap/less/button-groups.less create mode 100644 app/target/bower_components/bootstrap/less/buttons.less create mode 100644 app/target/bower_components/bootstrap/less/carousel.less create mode 100644 app/target/bower_components/bootstrap/less/close.less create mode 100644 app/target/bower_components/bootstrap/less/code.less rename app/{dboards/src/vendor => target/bower_components}/bootstrap/less/component-animations.less (56%) create mode 100644 app/target/bower_components/bootstrap/less/dropdowns.less create mode 100644 app/target/bower_components/bootstrap/less/forms.less create mode 100644 app/target/bower_components/bootstrap/less/glyphicons.less create mode 100644 app/target/bower_components/bootstrap/less/grid.less create mode 100644 app/target/bower_components/bootstrap/less/input-groups.less create mode 100644 app/target/bower_components/bootstrap/less/jumbotron.less create mode 100644 app/target/bower_components/bootstrap/less/labels.less create mode 100644 app/target/bower_components/bootstrap/less/list-group.less rename app/{dboards/src/vendor => target/bower_components}/bootstrap/less/media.less (84%) create mode 100644 app/target/bower_components/bootstrap/less/mixins.less create mode 100644 app/target/bower_components/bootstrap/less/modals.less create mode 100644 app/target/bower_components/bootstrap/less/navbar.less create mode 100644 app/target/bower_components/bootstrap/less/navs.less create mode 100644 app/target/bower_components/bootstrap/less/normalize.less create mode 100644 app/target/bower_components/bootstrap/less/pager.less create mode 100644 app/target/bower_components/bootstrap/less/pagination.less create mode 100644 app/target/bower_components/bootstrap/less/panels.less create mode 100644 app/target/bower_components/bootstrap/less/popovers.less create mode 100644 app/target/bower_components/bootstrap/less/print.less create mode 100644 app/target/bower_components/bootstrap/less/progress-bars.less create mode 100644 app/target/bower_components/bootstrap/less/responsive-utilities.less create mode 100644 app/target/bower_components/bootstrap/less/scaffolding.less create mode 100644 app/target/bower_components/bootstrap/less/tables.less create mode 100644 app/target/bower_components/bootstrap/less/theme.less create mode 100644 app/target/bower_components/bootstrap/less/thumbnails.less create mode 100644 app/target/bower_components/bootstrap/less/tooltip.less create mode 100644 app/target/bower_components/bootstrap/less/type.less create mode 100644 app/target/bower_components/bootstrap/less/utilities.less create mode 100644 app/target/bower_components/bootstrap/less/variables.less rename app/{dboards/src/vendor => target/bower_components}/bootstrap/less/wells.less (58%) create mode 100644 app/target/bower_components/bootstrap/package.json create mode 100644 app/target/bower_components/bootstrap/test-infra/README.md create mode 100644 app/target/bower_components/bootstrap/test-infra/npm-shrinkwrap.canonical.json create mode 100644 app/target/bower_components/bootstrap/test-infra/requirements.txt create mode 100644 app/target/bower_components/bootstrap/test-infra/s3_cache.py create mode 100644 app/target/bower_components/bootstrap/test-infra/sauce_browsers.yml create mode 100644 app/target/bower_components/bootstrap/test-infra/uncached-npm-install.sh create mode 100644 app/target/bower_components/components-font-awesome/README.md create mode 100644 app/target/bower_components/components-font-awesome/bower.json create mode 100644 app/target/bower_components/components-font-awesome/css/font-awesome.css create mode 100644 app/target/bower_components/components-font-awesome/css/font-awesome.min.css create mode 100644 app/target/bower_components/components-font-awesome/fonts/FontAwesome.otf create mode 100644 app/target/bower_components/components-font-awesome/fonts/fontawesome-webfont.eot rename app/{dboards/src/font => target/bower_components/components-font-awesome/fonts}/fontawesome-webfont.svg (58%) create mode 100644 app/target/bower_components/components-font-awesome/fonts/fontawesome-webfont.ttf create mode 100644 app/target/bower_components/components-font-awesome/fonts/fontawesome-webfont.woff create mode 100644 app/target/bower_components/components-font-awesome/fonts/fontawesome-webfont.woff2 create mode 100644 app/target/bower_components/components-font-awesome/less/animated.less create mode 100644 app/target/bower_components/components-font-awesome/less/bordered-pulled.less create mode 100644 app/target/bower_components/components-font-awesome/less/core.less create mode 100644 app/target/bower_components/components-font-awesome/less/fixed-width.less create mode 100644 app/target/bower_components/components-font-awesome/less/font-awesome.less create mode 100644 app/target/bower_components/components-font-awesome/less/icons.less create mode 100644 app/target/bower_components/components-font-awesome/less/larger.less create mode 100644 app/target/bower_components/components-font-awesome/less/list.less create mode 100644 app/target/bower_components/components-font-awesome/less/mixins.less create mode 100644 app/target/bower_components/components-font-awesome/less/path.less create mode 100644 app/target/bower_components/components-font-awesome/less/rotated-flipped.less create mode 100644 app/target/bower_components/components-font-awesome/less/stacked.less create mode 100644 app/target/bower_components/components-font-awesome/less/variables.less create mode 100644 app/target/bower_components/components-font-awesome/scss/_animated.scss create mode 100644 app/target/bower_components/components-font-awesome/scss/_bordered-pulled.scss create mode 100644 app/target/bower_components/components-font-awesome/scss/_core.scss create mode 100644 app/target/bower_components/components-font-awesome/scss/_fixed-width.scss create mode 100644 app/target/bower_components/components-font-awesome/scss/_icons.scss create mode 100644 app/target/bower_components/components-font-awesome/scss/_larger.scss create mode 100644 app/target/bower_components/components-font-awesome/scss/_list.scss create mode 100644 app/target/bower_components/components-font-awesome/scss/_mixins.scss create mode 100644 app/target/bower_components/components-font-awesome/scss/_path.scss create mode 100644 app/target/bower_components/components-font-awesome/scss/_rotated-flipped.scss create mode 100644 app/target/bower_components/components-font-awesome/scss/_stacked.scss create mode 100644 app/target/bower_components/components-font-awesome/scss/_variables.scss create mode 100644 app/target/bower_components/components-font-awesome/scss/font-awesome.scss create mode 100644 app/target/bower_components/d3/CONTRIBUTING.md create mode 100644 app/target/bower_components/d3/LICENSE create mode 100644 app/target/bower_components/d3/README.md create mode 100644 app/target/bower_components/d3/bower.json create mode 100644 app/target/bower_components/d3/d3.js create mode 100644 app/target/bower_components/d3/d3.min.js create mode 100644 app/target/bower_components/d3/package.js create mode 100644 app/target/bower_components/jquery/MIT-LICENSE.txt create mode 100644 app/target/bower_components/jquery/bower.json create mode 100644 app/target/bower_components/jquery/dist/jquery.js create mode 100644 app/target/bower_components/jquery/dist/jquery.min.js create mode 100644 app/target/bower_components/jquery/dist/jquery.min.map create mode 100644 app/target/bower_components/jquery/src/ajax.js create mode 100644 app/target/bower_components/jquery/src/ajax/jsonp.js create mode 100644 app/target/bower_components/jquery/src/ajax/load.js create mode 100644 app/target/bower_components/jquery/src/ajax/parseJSON.js create mode 100644 app/target/bower_components/jquery/src/ajax/parseXML.js create mode 100644 app/target/bower_components/jquery/src/ajax/script.js create mode 100644 app/target/bower_components/jquery/src/ajax/var/nonce.js create mode 100644 app/target/bower_components/jquery/src/ajax/var/rquery.js create mode 100644 app/target/bower_components/jquery/src/ajax/xhr.js create mode 100644 app/target/bower_components/jquery/src/attributes.js create mode 100644 app/target/bower_components/jquery/src/attributes/attr.js create mode 100644 app/target/bower_components/jquery/src/attributes/classes.js create mode 100644 app/target/bower_components/jquery/src/attributes/prop.js create mode 100644 app/target/bower_components/jquery/src/attributes/support.js create mode 100644 app/target/bower_components/jquery/src/attributes/val.js create mode 100644 app/target/bower_components/jquery/src/callbacks.js create mode 100644 app/target/bower_components/jquery/src/core.js create mode 100644 app/target/bower_components/jquery/src/core/access.js create mode 100644 app/target/bower_components/jquery/src/core/init.js create mode 100644 app/target/bower_components/jquery/src/core/parseHTML.js create mode 100644 app/target/bower_components/jquery/src/core/ready.js create mode 100644 app/target/bower_components/jquery/src/core/var/rsingleTag.js create mode 100644 app/target/bower_components/jquery/src/css.js create mode 100644 app/target/bower_components/jquery/src/css/addGetHookIf.js create mode 100644 app/target/bower_components/jquery/src/css/curCSS.js create mode 100644 app/target/bower_components/jquery/src/css/defaultDisplay.js create mode 100644 app/target/bower_components/jquery/src/css/hiddenVisibleSelectors.js create mode 100644 app/target/bower_components/jquery/src/css/support.js create mode 100644 app/target/bower_components/jquery/src/css/swap.js create mode 100644 app/target/bower_components/jquery/src/css/var/cssExpand.js create mode 100644 app/target/bower_components/jquery/src/css/var/getStyles.js create mode 100644 app/target/bower_components/jquery/src/css/var/isHidden.js create mode 100644 app/target/bower_components/jquery/src/css/var/rmargin.js create mode 100644 app/target/bower_components/jquery/src/css/var/rnumnonpx.js create mode 100644 app/target/bower_components/jquery/src/data.js create mode 100644 app/target/bower_components/jquery/src/data/Data.js create mode 100644 app/target/bower_components/jquery/src/data/accepts.js create mode 100644 app/target/bower_components/jquery/src/data/var/data_priv.js create mode 100644 app/target/bower_components/jquery/src/data/var/data_user.js create mode 100644 app/target/bower_components/jquery/src/deferred.js create mode 100644 app/target/bower_components/jquery/src/deprecated.js create mode 100644 app/target/bower_components/jquery/src/dimensions.js create mode 100644 app/target/bower_components/jquery/src/effects.js create mode 100644 app/target/bower_components/jquery/src/effects/Tween.js create mode 100644 app/target/bower_components/jquery/src/effects/animatedSelector.js create mode 100644 app/target/bower_components/jquery/src/event.js create mode 100644 app/target/bower_components/jquery/src/event/ajax.js create mode 100644 app/target/bower_components/jquery/src/event/alias.js create mode 100644 app/target/bower_components/jquery/src/event/support.js create mode 100644 app/target/bower_components/jquery/src/exports/amd.js create mode 100644 app/target/bower_components/jquery/src/exports/global.js create mode 100644 app/target/bower_components/jquery/src/intro.js create mode 100644 app/target/bower_components/jquery/src/jquery.js create mode 100644 app/target/bower_components/jquery/src/manipulation.js create mode 100644 app/target/bower_components/jquery/src/manipulation/_evalUrl.js create mode 100644 app/target/bower_components/jquery/src/manipulation/support.js create mode 100644 app/target/bower_components/jquery/src/manipulation/var/rcheckableType.js create mode 100644 app/target/bower_components/jquery/src/offset.js create mode 100644 app/target/bower_components/jquery/src/outro.js create mode 100644 app/target/bower_components/jquery/src/queue.js create mode 100644 app/target/bower_components/jquery/src/queue/delay.js create mode 100644 app/target/bower_components/jquery/src/selector-native.js create mode 100644 app/target/bower_components/jquery/src/selector-sizzle.js create mode 100644 app/target/bower_components/jquery/src/selector.js create mode 100644 app/target/bower_components/jquery/src/serialize.js create mode 100644 app/target/bower_components/jquery/src/sizzle/dist/sizzle.js create mode 100644 app/target/bower_components/jquery/src/sizzle/dist/sizzle.min.js create mode 100644 app/target/bower_components/jquery/src/sizzle/dist/sizzle.min.map create mode 100644 app/target/bower_components/jquery/src/traversing.js create mode 100644 app/target/bower_components/jquery/src/traversing/findFilter.js create mode 100644 app/target/bower_components/jquery/src/traversing/var/rneedsContext.js create mode 100644 app/target/bower_components/jquery/src/var/arr.js create mode 100644 app/target/bower_components/jquery/src/var/class2type.js create mode 100644 app/target/bower_components/jquery/src/var/concat.js create mode 100644 app/target/bower_components/jquery/src/var/hasOwn.js create mode 100644 app/target/bower_components/jquery/src/var/indexOf.js create mode 100644 app/target/bower_components/jquery/src/var/pnum.js create mode 100644 app/target/bower_components/jquery/src/var/push.js create mode 100644 app/target/bower_components/jquery/src/var/rnotwhite.js create mode 100644 app/target/bower_components/jquery/src/var/slice.js create mode 100644 app/target/bower_components/jquery/src/var/strundefined.js create mode 100644 app/target/bower_components/jquery/src/var/support.js create mode 100644 app/target/bower_components/jquery/src/var/toString.js create mode 100644 app/target/bower_components/jquery/src/wrap.js create mode 100644 app/target/bower_components/moment/CHANGELOG.md create mode 100644 app/target/bower_components/moment/LICENSE create mode 100644 app/target/bower_components/moment/Moment.js.nuspec create mode 100644 app/target/bower_components/moment/README.md create mode 100644 app/target/bower_components/moment/benchmarks/clone.js create mode 100644 app/target/bower_components/moment/bower.json create mode 100644 app/target/bower_components/moment/locale/af.js create mode 100644 app/target/bower_components/moment/locale/ar-ma.js create mode 100644 app/target/bower_components/moment/locale/ar-sa.js create mode 100644 app/target/bower_components/moment/locale/ar-tn.js create mode 100644 app/target/bower_components/moment/locale/ar.js create mode 100644 app/target/bower_components/moment/locale/az.js create mode 100644 app/target/bower_components/moment/locale/be.js create mode 100644 app/target/bower_components/moment/locale/bg.js create mode 100644 app/target/bower_components/moment/locale/bn.js create mode 100644 app/target/bower_components/moment/locale/bo.js create mode 100644 app/target/bower_components/moment/locale/br.js create mode 100644 app/target/bower_components/moment/locale/bs.js create mode 100644 app/target/bower_components/moment/locale/ca.js create mode 100644 app/target/bower_components/moment/locale/cs.js create mode 100644 app/target/bower_components/moment/locale/cv.js create mode 100644 app/target/bower_components/moment/locale/cy.js create mode 100644 app/target/bower_components/moment/locale/da.js create mode 100644 app/target/bower_components/moment/locale/de-at.js create mode 100644 app/target/bower_components/moment/locale/de.js create mode 100644 app/target/bower_components/moment/locale/el.js create mode 100644 app/target/bower_components/moment/locale/en-au.js create mode 100644 app/target/bower_components/moment/locale/en-ca.js create mode 100644 app/target/bower_components/moment/locale/en-gb.js create mode 100644 app/target/bower_components/moment/locale/eo.js create mode 100644 app/target/bower_components/moment/locale/es.js create mode 100644 app/target/bower_components/moment/locale/et.js create mode 100644 app/target/bower_components/moment/locale/eu.js create mode 100644 app/target/bower_components/moment/locale/fa.js create mode 100644 app/target/bower_components/moment/locale/fi.js create mode 100644 app/target/bower_components/moment/locale/fo.js create mode 100644 app/target/bower_components/moment/locale/fr-ca.js create mode 100644 app/target/bower_components/moment/locale/fr.js create mode 100644 app/target/bower_components/moment/locale/fy.js create mode 100644 app/target/bower_components/moment/locale/gl.js create mode 100644 app/target/bower_components/moment/locale/he.js create mode 100644 app/target/bower_components/moment/locale/hi.js create mode 100644 app/target/bower_components/moment/locale/hr.js create mode 100644 app/target/bower_components/moment/locale/hu.js create mode 100644 app/target/bower_components/moment/locale/hy-am.js create mode 100644 app/target/bower_components/moment/locale/id.js create mode 100644 app/target/bower_components/moment/locale/is.js create mode 100644 app/target/bower_components/moment/locale/it.js create mode 100644 app/target/bower_components/moment/locale/ja.js create mode 100644 app/target/bower_components/moment/locale/ka.js create mode 100644 app/target/bower_components/moment/locale/km.js create mode 100644 app/target/bower_components/moment/locale/ko.js create mode 100644 app/target/bower_components/moment/locale/lb.js create mode 100644 app/target/bower_components/moment/locale/lt.js create mode 100644 app/target/bower_components/moment/locale/lv.js create mode 100644 app/target/bower_components/moment/locale/mk.js create mode 100644 app/target/bower_components/moment/locale/ml.js create mode 100644 app/target/bower_components/moment/locale/mr.js create mode 100644 app/target/bower_components/moment/locale/ms-my.js create mode 100644 app/target/bower_components/moment/locale/my.js create mode 100644 app/target/bower_components/moment/locale/nb.js create mode 100644 app/target/bower_components/moment/locale/ne.js create mode 100644 app/target/bower_components/moment/locale/nl.js create mode 100644 app/target/bower_components/moment/locale/nn.js create mode 100644 app/target/bower_components/moment/locale/pl.js create mode 100644 app/target/bower_components/moment/locale/pt-br.js create mode 100644 app/target/bower_components/moment/locale/pt.js create mode 100644 app/target/bower_components/moment/locale/ro.js create mode 100644 app/target/bower_components/moment/locale/ru.js create mode 100644 app/target/bower_components/moment/locale/sk.js create mode 100644 app/target/bower_components/moment/locale/sl.js create mode 100644 app/target/bower_components/moment/locale/sq.js create mode 100644 app/target/bower_components/moment/locale/sr-cyrl.js create mode 100644 app/target/bower_components/moment/locale/sr.js create mode 100644 app/target/bower_components/moment/locale/sv.js create mode 100644 app/target/bower_components/moment/locale/ta.js create mode 100644 app/target/bower_components/moment/locale/th.js create mode 100644 app/target/bower_components/moment/locale/tl-ph.js create mode 100644 app/target/bower_components/moment/locale/tr.js create mode 100644 app/target/bower_components/moment/locale/tzm-latn.js create mode 100644 app/target/bower_components/moment/locale/tzm.js create mode 100644 app/target/bower_components/moment/locale/uk.js create mode 100644 app/target/bower_components/moment/locale/uz.js create mode 100644 app/target/bower_components/moment/locale/vi.js create mode 100644 app/target/bower_components/moment/locale/zh-cn.js create mode 100644 app/target/bower_components/moment/locale/zh-tw.js create mode 100644 app/target/bower_components/moment/meteor/README.md create mode 100644 app/target/bower_components/moment/meteor/export.js create mode 100644 app/target/bower_components/moment/meteor/test.js create mode 100644 app/target/bower_components/moment/min/locales.js create mode 100644 app/target/bower_components/moment/min/locales.min.js create mode 100644 app/target/bower_components/moment/min/moment-with-locales.js create mode 100644 app/target/bower_components/moment/min/moment-with-locales.min.js create mode 100644 app/target/bower_components/moment/min/moment.min.js rename app/{dboards/src/vendor => target/bower_components/moment}/moment.js (56%) create mode 100644 app/target/bower_components/moment/scripts/npm_prepublish.sh create mode 100644 app/target/bower_components/ng-bs-daterangepicker-plus/Gruntfile.js create mode 100644 app/target/bower_components/ng-bs-daterangepicker-plus/LICENSE create mode 100644 app/target/bower_components/ng-bs-daterangepicker-plus/README.md create mode 100644 app/target/bower_components/ng-bs-daterangepicker-plus/bower.json create mode 100644 app/target/bower_components/ng-bs-daterangepicker-plus/dist/ng-bs-daterangepicker.min.js create mode 100644 app/target/bower_components/ng-bs-daterangepicker-plus/package.json create mode 100644 app/target/bower_components/ng-bs-daterangepicker-plus/src/ng-bs-daterangepicker.html rename app/{vendor/angular-daterangepicker => target/bower_components/ng-bs-daterangepicker-plus/src}/ng-bs-daterangepicker.js (78%) create mode 100644 app/target/bower_components/ng-bs-daterangepicker-plus/test/spec.js create mode 100644 app/target/bower_components/ng-table/CONTRIBUTING.md create mode 100644 app/target/bower_components/ng-table/Gruntfile.js create mode 100644 app/target/bower_components/ng-table/LICENSE create mode 100644 app/target/bower_components/ng-table/README.md create mode 100644 app/target/bower_components/ng-table/bower.json create mode 100644 app/target/bower_components/ng-table/karma.conf.js create mode 100644 app/target/bower_components/ng-table/ng-table.css create mode 100644 app/target/bower_components/ng-table/ng-table.js create mode 100644 app/target/bower_components/ng-table/ng-table.less rename app/{vendor => target/bower_components}/ng-table/ng-table.map (100%) mode change 100755 => 100644 create mode 100644 app/target/bower_components/ng-table/ng-table.min.css rename app/{vendor => target/bower_components}/ng-table/ng-table.min.js (63%) create mode 100644 app/target/bower_components/ng-table/package.json create mode 100644 app/target/bower_components/ng-table/test/tableControllerSpec.js create mode 100644 app/target/bower_components/ng-table/test/tableParamsSpec.js create mode 100644 app/target/bower_components/ng-table/test/tableSpec.js create mode 100644 app/target/bower_components/nvd3/bower.json create mode 100644 app/target/bower_components/nvd3/build/nv.d3.css create mode 100644 app/target/bower_components/nvd3/build/nv.d3.js create mode 100644 app/target/bower_components/nvd3/build/nv.d3.min.css create mode 100644 app/target/bower_components/nvd3/build/nv.d3.min.js create mode 100644 app/target/bower_components/requirejs/README.md create mode 100644 app/target/bower_components/requirejs/bower.json rename app/{dboards/src/vendor/require => target/bower_components/requirejs}/require.js (75%) create mode 100644 app/target/bower_components/spin.js/LICENSE.txt create mode 100644 app/target/bower_components/spin.js/README.md create mode 100644 app/target/bower_components/spin.js/bower.json create mode 100644 app/target/bower_components/spin.js/jquery.spin.js create mode 100644 app/target/bower_components/spin.js/spin.js create mode 100644 app/target/data/config.json create mode 100644 app/target/data/machine_host_columns.json create mode 100644 app/target/data/monitoring_nav.json create mode 100644 app/target/data/timezone.json create mode 100644 app/target/data/wizard_steps.json create mode 100644 app/target/index.html create mode 100644 app/target/requirejs/require.js create mode 100644 app/target/src/app/app.js create mode 100644 app/target/src/app/controllers/all.js create mode 100644 app/target/src/app/controllers/appController.js create mode 100644 app/target/src/app/controllers/baseController.js create mode 100644 app/target/src/app/controllers/clusterController.js create mode 100644 app/target/src/app/controllers/loginController.js create mode 100644 app/target/src/app/controllers/modalControllers.js create mode 100644 app/target/src/app/controllers/serverController.js create mode 100644 app/target/src/app/controllers/topnavController.js create mode 100644 app/target/src/app/controllers/userController.js create mode 100644 app/target/src/app/controllers/wizardController.js create mode 100644 app/target/src/app/directives/all.js create mode 100644 app/target/src/app/directives/baseDirective.js create mode 100644 app/target/src/app/directives/clusterNavDirective.js create mode 100644 app/target/src/app/directives/dataMatchDirective.js create mode 100644 app/target/src/app/directives/enterDirective.js create mode 100644 app/target/src/app/directives/findServerDirective.js create mode 100644 app/target/src/app/directives/hostprogressbarDirective.js create mode 100644 app/target/src/app/directives/pieChartDirective.js create mode 100644 app/target/src/app/directives/wizardDirective.js create mode 100644 app/target/src/app/factory/all.js create mode 100644 app/target/src/app/factory/baseFactory.js create mode 100644 app/target/src/app/factory/errorHandlingFactory.js create mode 100644 app/target/src/app/factory/userFactory.js create mode 100644 app/target/src/app/factory/wizardFactory.js create mode 100644 app/target/src/app/filters/all.js create mode 100644 app/target/src/app/filters/baseFilter.js create mode 100644 app/target/src/app/filters/healthReportFilter.js create mode 100644 app/target/src/app/partials/ErrorInfo.html create mode 100644 app/target/src/app/partials/cluster-all-grid.tpl.html create mode 100644 app/target/src/app/partials/cluster-all-list.tpl.html create mode 100644 app/target/src/app/partials/cluster-all.tpl.html create mode 100644 app/target/src/app/partials/cluster-config.tpl.html create mode 100644 app/target/src/app/partials/cluster-nav.tpl.html create mode 100644 app/target/src/app/partials/cluster-network.tpl.html create mode 100644 app/target/src/app/partials/cluster-overview.tpl.html create mode 100644 app/target/src/app/partials/cluster-partition.tpl.html create mode 100644 app/target/src/app/partials/cluster-report.tpl.html create mode 100644 app/target/src/app/partials/cluster-roles.tpl.html create mode 100644 app/target/src/app/partials/cluster-security.tpl.html create mode 100644 app/target/src/app/partials/cluster.tpl.html create mode 100644 app/target/src/app/partials/find-new-servers.tpl.html create mode 100644 app/target/src/app/partials/global.tpl.html create mode 100644 app/target/src/app/partials/login.tpl.html create mode 100644 app/target/src/app/partials/modalAddNewServers.html create mode 100644 app/target/src/app/partials/modalAddSubnet.tpl.html create mode 100644 app/target/src/app/partials/modalClusterCreate.tpl.html create mode 100644 app/target/src/app/partials/modalCreateUserSetting.html create mode 100644 app/target/src/app/partials/modalErrorMessage.html create mode 100644 app/target/src/app/partials/modalModifySwitch.html create mode 100644 app/target/src/app/partials/modalUploadFiles.html create mode 100644 app/target/src/app/partials/network.tpl.html create mode 100644 app/target/src/app/partials/network_mapping.tpl.html create mode 100644 app/target/src/app/partials/network_mapping.tpl.html-old create mode 100644 app/target/src/app/partials/package_config.tpl.html create mode 100644 app/target/src/app/partials/partition.tpl.html create mode 100644 app/target/src/app/partials/progressbar.tpl.html create mode 100644 app/target/src/app/partials/review.tpl.html create mode 100644 app/target/src/app/partials/role_assignment.tpl.html create mode 100644 app/target/src/app/partials/server-list.tpl.html create mode 100644 app/target/src/app/partials/server_selection.tpl.html create mode 100644 app/target/src/app/partials/test.tpl.html create mode 100644 app/target/src/app/partials/topnav.tpl.html create mode 100644 app/target/src/app/partials/user-setting.html create mode 100644 app/target/src/app/partials/wizard.tpl.html create mode 100644 app/target/src/app/server/appDev.js create mode 100644 app/target/src/app/server/testServer.js create mode 100644 app/target/src/app/services/all.js create mode 100644 app/target/src/app/services/authenticationService.js create mode 100644 app/target/src/app/services/baseService.js create mode 100644 app/target/src/app/services/clusterService.js create mode 100644 app/target/src/app/services/dataService.js create mode 100644 app/target/src/app/services/userService.js create mode 100644 app/target/src/app/services/wizardService.js create mode 100644 app/target/src/bootstrap.js create mode 100644 app/target/src/main.js create mode 100644 app/target/vendor/angular-dragdrop/draganddrop.js delete mode 100644 app/vendor/angular-bootstrap/ui-bootstrap-tpls-0.11.0.min.js delete mode 100644 app/vendor/angular-daterangepicker/moment.min.js delete mode 100644 app/vendor/angular-nvd3/angularjs-nvd3-directives.min.js delete mode 100755 app/vendor/angular-spinner/angular-spinner.min.js delete mode 100755 app/vendor/angular-spinner/angular-spinner.min.js.map delete mode 100644 app/vendor/angular-spinner/spin.min.js delete mode 100644 app/vendor/angular-ui-router/angular-ui-router.min.js delete mode 100755 app/vendor/angular-ui-tree/angular-ui-tree.min.js delete mode 100644 app/vendor/angular/angular-animate.min.js.map delete mode 100644 app/vendor/angular/angular-resource.min.js delete mode 100755 app/vendor/d3/d3.min.js delete mode 100644 app/vendor/jquery/jquery-1.11.1.min.js delete mode 100644 app/vendor/nvd3/nv.d3.min.js delete mode 100755 app/vendor/require.js diff --git a/app/Gruntfile.coffee b/app/Gruntfile.coffee new file mode 100644 index 0000000..d59bb5b --- /dev/null +++ b/app/Gruntfile.coffee @@ -0,0 +1,149 @@ +module.exports = (grunt)-> + #config + grunt.initConfig + clean: + target: + src: 'target' + dist: + src: 'dist' + + coffee: + glob_to_multiple: + expand: true + flatten: false + src: ["src/**/*.coffee"] + dest: 'target' + ext: ".js" + + copy: + target: + files: [ + { + src: 'index.html' + dest:'target/index.html' + }, + { + src: 'src/app/server/appDev.js' + dest: 'target/src/app/server/appDev.js' + }, + { + expand: true + flatten: false + src: 'bower_components/**/*' + dest: 'target/' + }, + { + expand: true + flatten: false + src: 'vendor/**/*' + dest: 'target/' + }, + { + expand: true + flatten: true + src: 'data/*.json' + dest: 'target/data/' + }, + { + expand: true + src: ['assets/font/*', 'assets/fonts/*', 'assets/img/**/*'] + dest: 'target/' + + }, + { + expand: true + flatten: true + src: 'bower_components/requirejs/require.js' + dest: 'target/requirejs/' + } + ] + dist: + files: [ + { + src: 'target/index.html' + dest: 'dist/index.html' + }, + { + expand: true + cwd:'target' + src: ['assets/**/*'] + dest: 'dist/' + + }, + { + expand: true + flatten: true + src: 'target/src/app/partials/*.html' + dest: 'dist/src/app/partials' + }, + { + expand: true + flatten: true + src: 'target/data/*.json' + dest: 'dist/data/' + }, + { + expand: true + flatten: true + src: 'bower_components/requirejs/require.js' + dest: 'dist/requirejs/' + } + ] + cssmin: + options: + rebase: false + target: + files: + 'target/assets/css/compass.min.css':[ + 'bower_components/bootstrap/dist/css/bootstrap.css' + 'assets/css/font-awesome.min.css' + 'assets/css/ace.min.css' + 'assets/css/ace-skins.min.css' + 'assets/css/ace-fonts.css' + 'assets/css/style.css' + 'assets/css/chart.css' + 'assets/css/chosen.css' + 'assets/css/shelf.css' + 'bower_components/bootstrap-daterangepicker/daterangepicker-bs3.css' + ] + htmlmin: + target: + options: + removeComments: true + collapseWhitespace: true + files: [ + expand: true + src: 'src/app/partials/*' + dest: 'target/' + ] + watch: + build: + files: ["**/*.{css,coffee,html}"] + tasks: ['build'] + options: + spawn: false + requirejs: + dist: + options: + baseUrl: "target/src" + mainConfigFile: "target/src/main.js" + name: "main" + keepBuildDir: true + out: "dist/src/main.js" + optimize: "uglify2" + + #dependencis + grunt.loadNpmTasks('grunt-contrib-clean') + grunt.loadNpmTasks('grunt-contrib-copy') + grunt.loadNpmTasks('grunt-contrib-coffee') + grunt.loadNpmTasks('grunt-contrib-cssmin') + grunt.loadNpmTasks('grunt-contrib-htmlmin') + grunt.loadNpmTasks('grunt-contrib-watch') + grunt.loadNpmTasks('grunt-contrib-requirejs') + + #Alias tasks + grunt.registerTask('build', ['clean:target','copy:target','coffee','cssmin', 'htmlmin']) + grunt.registerTask('watcher', ['watch']) + grunt.registerTask('default',['build','watcher']) + grunt.registerTask('dist',['build','clean:dist', 'copy:dist', 'requirejs:dist','watch']) + diff --git a/app/README.md b/app/README.md deleted file mode 100644 index 2c4c3ea..0000000 --- a/app/README.md +++ /dev/null @@ -1,79 +0,0 @@ -Compass-Web V2 -============== - -`Compass-Web V2` is an [AngularJS](https://angularjs.org/) based project for distributed systems deployment and monitoring. - - -Why Compass-Web V2? -------------------- -`Compass-Web V2` is designed to help users have a streamlined OpenStack deployment experience, -and provide extensibility to deploy other distributed systems such as Ceph system. -It targets to make a great-practice structure to ensure code resuability and module extensibility. - -`Compass-Web V2` also comes prepackaged with the required frameworks: -[AngularUI Router](https://github.com/angular-ui/ui-router) -[Twitter Bootstrap](http://getbootstrap.com), -[Angular Bootstrap](http://angular-ui.github.io/bootstrap), -[ngTable](http://bazalt-cms.com/ng-table/), -[Font Awesome](http://fortawesome.github.com/Font-Awesome), -[D3](http://d3js.org/), -[NVD3](http://nvd3.org/) -etc. - - -Directory Structure -------------------- -``` -v2/ -├── assets/ -│   ├── css/ -│   │   ├── -│   ├── font/ -│   │   ├── -│   └── img/ -│   ├── -├── dash/ -│   ├── -├── data/ -│   ├── -├── index.html -├── src/ -│   ├── app/ -│   │   ├── app.js -│   │   ├── appDev.js -│   │   ├── services.js -│   │   ├── cluster/ -│   │   │   ├── -│   │   ├── login/ -│   │   │   ├── -│   │   ├── monitoring/ -│   │   │   ├── -│   │   ├── server/ -│   │   │   ├── -│   │   ├── topnav/ -│   │   │   ├── -│   │   ├── user/ -│   │   │   ├── -│   │   └── wizard/ -│   │   ├── -│   ├── common/ -│   │   ├── -│   ├── bootstrap.js -│   └── main.js -└── vendor/ - ├── -``` - -Functional Modules ------------------- - -* Cluster Module * - -* Monitoring Module * - -* Server Module * - -* Wizard Module * - - - diff --git a/app/vendor/angular-ui-tree/angular-ui-tree.min.css b/app/assets/css/angular-ui-tree.min.css old mode 100755 new mode 100644 similarity index 100% rename from app/vendor/angular-ui-tree/angular-ui-tree.min.css rename to app/assets/css/angular-ui-tree.min.css diff --git a/app/assets/css/chosen.css b/app/assets/css/chosen.css old mode 100755 new mode 100644 diff --git a/app/vendor/angular-daterangepicker/daterangepicker-bs3.css b/app/assets/css/daterangepicker-bs3.css similarity index 100% rename from app/vendor/angular-daterangepicker/daterangepicker-bs3.css rename to app/assets/css/daterangepicker-bs3.css diff --git a/app/vendor/font-awesome/css/font-awesome.min.css b/app/assets/css/font-awesome.min.css similarity index 100% rename from app/vendor/font-awesome/css/font-awesome.min.css rename to app/assets/css/font-awesome.min.css diff --git a/app/vendor/nvd3/nv.d3.min.css b/app/assets/css/nv.d3.min.css similarity index 100% rename from app/vendor/nvd3/nv.d3.min.css rename to app/assets/css/nv.d3.min.css diff --git a/app/assets/css/style.css b/app/assets/css/style.css index 40c286f..a727ad7 100644 --- a/app/assets/css/style.css +++ b/app/assets/css/style.css @@ -1082,18 +1082,46 @@ h4.widget-title:hover { .review-osconfig{ background:#69AA46; } -.table-border-green{ - border-bottom: 1px solid #69AA46; +.centerLoading{ + padding-top: 20%; + padding-left: 45%; } -.table-border-blue{ - border-bottom: 1px solid #307ECC; +.popover-title{ + background: #F2DEDE; } -.table-border-purple{ - border-bottom: 1px solid #7E6EB0; +.yellow{ + color: #FEE188 !important; } -.table-border-grey{ - border-bottom: 1px solid #DDD; +.input-spacing{ + margin-top: 8px; } -.table-review-padding{ - padding-left:20px; +.uploadContainer{ + width: 25px; + height: 25px; + background-color: #6FB3E0; + display: inline-block; + line-height: 25px; + margin-top: 10px; + margin-right: -35px; + border-radius: 20px; +} +.uploadContainer:hover { + background-color: #EBEBEB; + cursor:pointer; +} +.uploadFile{ + margin-left: 6px; + color: #fff; +} +.col1{ + margin-top:10px; + float: left; + width: 46%; +} +.col2{ + margin-top: 10px; + margin-left: 8%; + float: left; + position: relative; + width: 46%; } \ No newline at end of file diff --git a/app/vendor/font-awesome/fonts/FontAwesome.otf b/app/assets/fonts/FontAwesome.otf similarity index 100% rename from app/vendor/font-awesome/fonts/FontAwesome.otf rename to app/assets/fonts/FontAwesome.otf diff --git a/app/vendor/font-awesome/fonts/fontawesome-webfont.eot b/app/assets/fonts/fontawesome-webfont.eot similarity index 100% rename from app/vendor/font-awesome/fonts/fontawesome-webfont.eot rename to app/assets/fonts/fontawesome-webfont.eot diff --git a/app/vendor/font-awesome/fonts/fontawesome-webfont.svg b/app/assets/fonts/fontawesome-webfont.svg similarity index 100% rename from app/vendor/font-awesome/fonts/fontawesome-webfont.svg rename to app/assets/fonts/fontawesome-webfont.svg diff --git a/app/vendor/font-awesome/fonts/fontawesome-webfont.ttf b/app/assets/fonts/fontawesome-webfont.ttf similarity index 100% rename from app/vendor/font-awesome/fonts/fontawesome-webfont.ttf rename to app/assets/fonts/fontawesome-webfont.ttf diff --git a/app/vendor/font-awesome/fonts/fontawesome-webfont.woff b/app/assets/fonts/fontawesome-webfont.woff similarity index 100% rename from app/vendor/font-awesome/fonts/fontawesome-webfont.woff rename to app/assets/fonts/fontawesome-webfont.woff diff --git a/app/vendor/bootstrap/fonts/glyphicons-halflings-regular.woff b/app/assets/fonts/glyphicons-halflings-regular.woff similarity index 100% rename from app/vendor/bootstrap/fonts/glyphicons-halflings-regular.woff rename to app/assets/fonts/glyphicons-halflings-regular.woff diff --git a/app/bower.json b/app/bower.json new file mode 100644 index 0000000..7eb28f5 --- /dev/null +++ b/app/bower.json @@ -0,0 +1,43 @@ +{ + "name": "Compass_v2.5", + "version": "2.5", + "homepage": "https://github.com/stackforge/compass-web", + "authors": [ + "Compass Team" + ], + "license": "MIT", + "ignore": [ + "**/.*", + "node_modules", + "bower_components", + "test", + "tests" + ], + "devDependencies": { + "angular-bootstrap": "~0.12.0", + "angular": "1.2.16", + "angular-cookies": "1.2.16", + "angular-daterangepicker": "~0.1.12", + "bootstrap": "3.1.1", + "angular-ui-router": "~0.2.13", + "angular-mocks": "~1.2.18", + "angular-touch": "~1.3.0", + "ng-table": "0.3.2", + "angular-animate": "1.2.17", + "d3": "~3.5.5", + "nvd3": "~1.7.1", + "moment": "~2.9.0", + "ng-bs-daterangepicker-plus": "0.0.1", + "bootstrap-daterangepicker": "https://github.com/dangrossman/bootstrap-daterangepicker.git#1.3.12", + "angular-spinner": "https://github.com/urish/angular-spinner.git#~0.6.1", + "requirejs": "~2.1.16", + "components-font-awesome": "~4.3.0" + }, + "resolutions": { + "bootstrap": "3.1.1", + "moment": "~2.9.0", + "d3": "~3.5.5", + "angular": "1.2.16", + "bootstrap-daterangepicker": "1.3.12" + } +} diff --git a/app/dash/app/app.20ee1677.js b/app/dash/app/app.20ee1677.js deleted file mode 100644 index 480f0d4..0000000 --- a/app/dash/app/app.20ee1677.js +++ /dev/null @@ -1,28 +0,0 @@ -/*! grafana - v1.6.1 - 2014-09-02 - * Copyright (c) 2014 Torkel Ödegaard; Licensed Apache License */ - -var requirejs,require,define;!function(global){function isFunction(a){return"[object Function]"===ostring.call(a)}function isArray(a){return"[object Array]"===ostring.call(a)}function each(a,b){if(a){var c;for(c=0;c-1&&(!a[c]||!b(a[c],c,a));c-=1);}}function hasProp(a,b){return hasOwn.call(a,b)}function getOwn(a,b){return hasProp(a,b)&&a[b]}function eachProp(a,b){var c;for(c in a)if(hasProp(a,c)&&b(a[c],c))break}function mixin(a,b,c,d){return b&&eachProp(b,function(b,e){(c||!hasProp(a,e))&&(d&&"string"!=typeof b?(a[e]||(a[e]={}),mixin(a[e],b,c,d)):a[e]=b)}),a}function bind(a,b){return function(){return b.apply(a,arguments)}}function scripts(){return document.getElementsByTagName("script")}function defaultOnError(a){throw a}function getGlobal(a){if(!a)return a;var b=global;return each(a.split("."),function(a){b=b[a]}),b}function makeError(a,b,c,d){var e=new Error(b+"\nhttp://requirejs.org/docs/errors.html#"+a);return e.requireType=a,e.requireModules=d,c&&(e.originalError=c),e}function newContext(a){function b(a){var b,c;for(b=0;a[b];b+=1)if(c=a[b],"."===c)a.splice(b,1),b-=1;else if(".."===c){if(1===b&&(".."===a[2]||".."===a[0]))break;b>0&&(a.splice(b-1,2),b-=2)}}function c(a,c,d){var e,f,g,h,i,j,k,l,m,n,o,p=c&&c.split("/"),q=p,r=x.map,s=r&&r["*"];if(a&&"."===a.charAt(0)&&(c?(q=getOwn(x.pkgs,c)?p=[c]:p.slice(0,p.length-1),a=q.concat(a.split("/")),b(a),f=getOwn(x.pkgs,e=a[0]),a=a.join("/"),f&&a===e+"/"+f.main&&(a=e)):0===a.indexOf("./")&&(a=a.substring(2))),d&&r&&(p||s)){for(h=a.split("/"),i=h.length;i>0;i-=1){if(k=h.slice(0,i).join("/"),p)for(j=p.length;j>0;j-=1)if(g=getOwn(r,p.slice(0,j).join("/")),g&&(g=getOwn(g,k))){l=g,m=i;break}if(l)break;!n&&s&&getOwn(s,k)&&(n=getOwn(s,k),o=i)}!l&&n&&(l=n,m=o),l&&(h.splice(0,m,l),a=h.join("/"))}return a}function d(a){isBrowser&&each(scripts(),function(b){return b.getAttribute("data-requiremodule")===a&&b.getAttribute("data-requirecontext")===u.contextName?(b.parentNode.removeChild(b),!0):void 0})}function e(a){var b=getOwn(x.paths,a);return b&&isArray(b)&&b.length>1?(d(a),b.shift(),u.require.undef(a),u.require([a]),!0):void 0}function f(a){var b,c=a?a.indexOf("!"):-1;return c>-1&&(b=a.substring(0,c),a=a.substring(c+1,a.length)),[b,a]}function g(a,b,d,e){var g,h,i,j,k=null,l=b?b.name:null,m=a,n=!0,o="";return a||(n=!1,a="_@r"+(E+=1)),j=f(a),k=j[0],a=j[1],k&&(k=c(k,l,e),h=getOwn(C,k)),a&&(k?o=h&&h.normalize?h.normalize(a,function(a){return c(a,l,e)}):c(a,l,e):(o=c(a,l,e),j=f(o),k=j[0],o=j[1],d=!0,g=u.nameToUrl(o))),i=!k||h||d?"":"_unnormalized"+(F+=1),{prefix:k,name:o,parentMap:b,unnormalized:!!i,url:g,originalName:m,isDefine:n,id:(k?k+"!"+o:o)+i}}function h(a){var b=a.id,c=getOwn(y,b);return c||(c=y[b]=new u.Module(a)),c}function i(a,b,c){var d=a.id,e=getOwn(y,d);!hasProp(C,d)||e&&!e.defineEmitComplete?(e=h(a),e.error&&"error"===b?c(e.error):e.on(b,c)):"defined"===b&&c(C[d])}function j(a,b){var c=a.requireModules,d=!1;b?b(a):(each(c,function(b){var c=getOwn(y,b);c&&(c.error=a,c.events.error&&(d=!0,c.emit("error",a)))}),d||req.onError(a))}function k(){globalDefQueue.length&&(apsp.apply(B,[B.length-1,0].concat(globalDefQueue)),globalDefQueue=[])}function l(a){delete y[a],delete z[a]}function m(a,b,c){var d=a.map.id;a.error?a.emit("error",a.error):(b[d]=!0,each(a.depMaps,function(d,e){var f=d.id,g=getOwn(y,f);!g||a.depMatched[e]||c[f]||(getOwn(b,f)?(a.defineDep(e,C[f]),a.check()):m(g,b,c))}),c[d]=!0)}function n(){var a,b,c,f,g=1e3*x.waitSeconds,h=g&&u.startTime+g<(new Date).getTime(),i=[],k=[],l=!1,o=!0;if(!s){if(s=!0,eachProp(z,function(c){if(a=c.map,b=a.id,c.enabled&&(a.isDefine||k.push(c),!c.error))if(!c.inited&&h)e(b)?(f=!0,l=!0):(i.push(b),d(b));else if(!c.inited&&c.fetched&&a.isDefine&&(l=!0,!a.prefix))return o=!1}),h&&i.length)return c=makeError("timeout","Load timeout for modules: "+i,null,i),c.contextName=u.contextName,j(c);o&&each(k,function(a){m(a,{},{})}),h&&!f||!l||!isBrowser&&!isWebWorker||w||(w=setTimeout(function(){w=0,n()},50)),s=!1}}function o(a){hasProp(C,a[0])||h(g(a[0],null,!0)).init(a[1],a[2])}function p(a,b,c,d){a.detachEvent&&!isOpera?d&&a.detachEvent(d,b):a.removeEventListener(c,b,!1)}function q(a){var b=a.currentTarget||a.srcElement;return p(b,u.onScriptLoad,"load","onreadystatechange"),p(b,u.onScriptError,"error"),{node:b,id:b&&b.getAttribute("data-requiremodule")}}function r(){var a;for(k();B.length;){if(a=B.shift(),null===a[0])return j(makeError("mismatch","Mismatched anonymous define() module: "+a[a.length-1]));o(a)}}var s,t,u,v,w,x={waitSeconds:7,baseUrl:"./",paths:{},pkgs:{},shim:{},config:{}},y={},z={},A={},B=[],C={},D={},E=1,F=1;return v={require:function(a){return a.require?a.require:a.require=u.makeRequire(a.map)},exports:function(a){return a.usingExports=!0,a.map.isDefine?a.exports?a.exports:a.exports=C[a.map.id]={}:void 0},module:function(a){return a.module?a.module:a.module={id:a.map.id,uri:a.map.url,config:function(){var b,c=getOwn(x.pkgs,a.map.id);return b=c?getOwn(x.config,a.map.id+"/"+c.main):getOwn(x.config,a.map.id),b||{}},exports:C[a.map.id]}}},t=function(a){this.events=getOwn(A,a.id)||{},this.map=a,this.shim=getOwn(x.shim,a.id),this.depExports=[],this.depMaps=[],this.depMatched=[],this.pluginMaps={},this.depCount=0},t.prototype={init:function(a,b,c,d){d=d||{},this.inited||(this.factory=b,c?this.on("error",c):this.events.error&&(c=bind(this,function(a){this.emit("error",a)})),this.depMaps=a&&a.slice(0),this.errback=c,this.inited=!0,this.ignore=d.ignore,d.enabled||this.enabled?this.enable():this.check())},defineDep:function(a,b){this.depMatched[a]||(this.depMatched[a]=!0,this.depCount-=1,this.depExports[a]=b)},fetch:function(){if(!this.fetched){this.fetched=!0,u.startTime=(new Date).getTime();var a=this.map;return this.shim?void u.makeRequire(this.map,{enableBuildCallback:!0})(this.shim.deps||[],bind(this,function(){return a.prefix?this.callPlugin():this.load()})):a.prefix?this.callPlugin():this.load()}},load:function(){var a=this.map.url;D[a]||(D[a]=!0,u.load(this.map.id,a))},check:function(){if(this.enabled&&!this.enabling){var a,b,c=this.map.id,d=this.depExports,e=this.exports,f=this.factory;if(this.inited){if(this.error)this.emit("error",this.error);else if(!this.defining){if(this.defining=!0,this.depCount<1&&!this.defined){if(isFunction(f)){if(this.events.error&&this.map.isDefine||req.onError!==defaultOnError)try{e=u.execCb(c,f,d,e)}catch(g){a=g}else e=u.execCb(c,f,d,e);if(this.map.isDefine&&(b=this.module,b&&void 0!==b.exports&&b.exports!==this.exports?e=b.exports:void 0===e&&this.usingExports&&(e=this.exports)),a)return a.requireMap=this.map,a.requireModules=this.map.isDefine?[this.map.id]:null,a.requireType=this.map.isDefine?"define":"require",j(this.error=a)}else e=f;this.exports=e,this.map.isDefine&&!this.ignore&&(C[c]=e,req.onResourceLoad&&req.onResourceLoad(u,this.map,this.depMaps)),l(c),this.defined=!0}this.defining=!1,this.defined&&!this.defineEmitted&&(this.defineEmitted=!0,this.emit("defined",this.exports),this.defineEmitComplete=!0)}}else this.fetch()}},callPlugin:function(){var a=this.map,b=a.id,d=g(a.prefix);this.depMaps.push(d),i(d,"defined",bind(this,function(d){var e,f,k,m=this.map.name,n=this.map.parentMap?this.map.parentMap.name:null,o=u.makeRequire(a.parentMap,{enableBuildCallback:!0});return this.map.unnormalized?(d.normalize&&(m=d.normalize(m,function(a){return c(a,n,!0)})||""),f=g(a.prefix+"!"+m,this.map.parentMap),i(f,"defined",bind(this,function(a){this.init([],function(){return a},null,{enabled:!0,ignore:!0})})),k=getOwn(y,f.id),void(k&&(this.depMaps.push(f),this.events.error&&k.on("error",bind(this,function(a){this.emit("error",a)})),k.enable()))):(e=bind(this,function(a){this.init([],function(){return a},null,{enabled:!0})}),e.error=bind(this,function(a){this.inited=!0,this.error=a,a.requireModules=[b],eachProp(y,function(a){0===a.map.id.indexOf(b+"_unnormalized")&&l(a.map.id)}),j(a)}),e.fromText=bind(this,function(c,d){var f=a.name,i=g(f),k=useInteractive;d&&(c=d),k&&(useInteractive=!1),h(i),hasProp(x.config,b)&&(x.config[f]=x.config[b]);try{req.exec(c)}catch(l){return j(makeError("fromtexteval","fromText eval for "+b+" failed: "+l,l,[b]))}k&&(useInteractive=!0),this.depMaps.push(i),u.completeLoad(f),o([f],e)}),void d.load(a.name,o,e,x))})),u.enable(d,this),this.pluginMaps[d.id]=d},enable:function(){z[this.map.id]=this,this.enabled=!0,this.enabling=!0,each(this.depMaps,bind(this,function(a,b){var c,d,e;if("string"==typeof a){if(a=g(a,this.map.isDefine?this.map:this.map.parentMap,!1,!this.skipMap),this.depMaps[b]=a,e=getOwn(v,a.id))return void(this.depExports[b]=e(this));this.depCount+=1,i(a,"defined",bind(this,function(a){this.defineDep(b,a),this.check()})),this.errback&&i(a,"error",bind(this,this.errback))}c=a.id,d=y[c],hasProp(v,c)||!d||d.enabled||u.enable(a,this)})),eachProp(this.pluginMaps,bind(this,function(a){var b=getOwn(y,a.id);b&&!b.enabled&&u.enable(a,this)})),this.enabling=!1,this.check()},on:function(a,b){var c=this.events[a];c||(c=this.events[a]=[]),c.push(b)},emit:function(a,b){each(this.events[a],function(a){a(b)}),"error"===a&&delete this.events[a]}},u={config:x,contextName:a,registry:y,defined:C,urlFetched:D,defQueue:B,Module:t,makeModuleMap:g,nextTick:req.nextTick,onError:j,configure:function(a){a.baseUrl&&"/"!==a.baseUrl.charAt(a.baseUrl.length-1)&&(a.baseUrl+="/");var b=x.pkgs,c=x.shim,d={paths:!0,config:!0,map:!0};eachProp(a,function(a,b){d[b]?"map"===b?(x.map||(x.map={}),mixin(x[b],a,!0,!0)):mixin(x[b],a,!0):x[b]=a}),a.shim&&(eachProp(a.shim,function(a,b){isArray(a)&&(a={deps:a}),!a.exports&&!a.init||a.exportsFn||(a.exportsFn=u.makeShimExports(a)),c[b]=a}),x.shim=c),a.packages&&(each(a.packages,function(a){var c;a="string"==typeof a?{name:a}:a,c=a.location,b[a.name]={name:a.name,location:c||a.name,main:(a.main||"main").replace(currDirRegExp,"").replace(jsSuffixRegExp,"")}}),x.pkgs=b),eachProp(y,function(a,b){a.inited||a.map.unnormalized||(a.map=g(b))}),(a.deps||a.callback)&&u.require(a.deps||[],a.callback)},makeShimExports:function(a){function b(){var b;return a.init&&(b=a.init.apply(global,arguments)),b||a.exports&&getGlobal(a.exports)}return b},makeRequire:function(b,d){function e(c,f,i){var k,l,m;return d.enableBuildCallback&&f&&isFunction(f)&&(f.__requireJsBuild=!0),"string"==typeof c?isFunction(f)?j(makeError("requireargs","Invalid require call"),i):b&&hasProp(v,c)?v[c](y[b.id]):req.get?req.get(u,c,b,e):(l=g(c,b,!1,!0),k=l.id,hasProp(C,k)?C[k]:j(makeError("notloaded",'Module name "'+k+'" has not been loaded yet for context: '+a+(b?"":". Use require([])")))):(r(),u.nextTick(function(){r(),m=h(g(null,b)),m.skipMap=d.skipMap,m.init(c,f,i,{enabled:!0}),n()}),e)}return d=d||{},mixin(e,{isBrowser:isBrowser,toUrl:function(a){var d,e=a.lastIndexOf("."),f=a.split("/")[0],g="."===f||".."===f;return-1!==e&&(!g||e>1)&&(d=a.substring(e,a.length),a=a.substring(0,e)),u.nameToUrl(c(a,b&&b.id,!0),d,!0)},defined:function(a){return hasProp(C,g(a,b,!1,!0).id)},specified:function(a){return a=g(a,b,!1,!0).id,hasProp(C,a)||hasProp(y,a)}}),b||(e.undef=function(a){k();var c=g(a,b,!0),d=getOwn(y,a);delete C[a],delete D[c.url],delete A[a],d&&(d.events.defined&&(A[a]=d.events),l(a))}),e},enable:function(a){var b=getOwn(y,a.id);b&&h(a).enable()},completeLoad:function(a){var b,c,d,f=getOwn(x.shim,a)||{},g=f.exports;for(k();B.length;){if(c=B.shift(),null===c[0]){if(c[0]=a,b)break;b=!0}else c[0]===a&&(b=!0);o(c)}if(d=getOwn(y,a),!b&&!hasProp(C,a)&&d&&!d.inited){if(!(!x.enforceDefine||g&&getGlobal(g)))return e(a)?void 0:j(makeError("nodefine","No define call for "+a,null,[a]));o([a,f.deps||[],f.exportsFn])}n()},nameToUrl:function(a,b,c){var d,e,f,g,h,i,j,k,l;if(req.jsExtRegExp.test(a))k=a+(b||"");else{for(d=x.paths,e=x.pkgs,h=a.split("/"),i=h.length;i>0;i-=1){if(j=h.slice(0,i).join("/"),f=getOwn(e,j),l=getOwn(d,j)){isArray(l)&&(l=l[0]),h.splice(0,i,l);break}if(f){g=a===f.name?f.location+"/"+f.main:f.location,h.splice(0,i,g);break}}k=h.join("/"),k+=b||(/\?/.test(k)||c?"":".js"),k=("/"===k.charAt(0)||k.match(/^[\w\+\.\-]+:/)?"":x.baseUrl)+k}return x.urlArgs?k+((-1===k.indexOf("?")?"?":"&")+x.urlArgs):k},load:function(a,b){req.load(u,a,b)},execCb:function(a,b,c,d){return b.apply(d,c)},onScriptLoad:function(a){if("load"===a.type||readyRegExp.test((a.currentTarget||a.srcElement).readyState)){interactiveScript=null;var b=q(a);u.completeLoad(b.id)}},onScriptError:function(a){var b=q(a);return e(b.id)?void 0:j(makeError("scripterror","Script error for: "+b.id,a,[b.id]))}},u.require=u.makeRequire(),u}function getInteractiveScript(){return interactiveScript&&"interactive"===interactiveScript.readyState?interactiveScript:(eachReverse(scripts(),function(a){return"interactive"===a.readyState?interactiveScript=a:void 0}),interactiveScript)}var req,s,head,baseElement,dataMain,src,interactiveScript,currentlyAddingScript,mainScript,subPath,version="2.1.8",commentRegExp=/(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/gm,cjsRequireRegExp=/[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,jsSuffixRegExp=/\.js$/,currDirRegExp=/^\.\//,op=Object.prototype,ostring=op.toString,hasOwn=op.hasOwnProperty,ap=Array.prototype,apsp=ap.splice,isBrowser=!("undefined"==typeof window||!navigator||!window.document),isWebWorker=!isBrowser&&"undefined"!=typeof importScripts,readyRegExp=isBrowser&&"PLAYSTATION 3"===navigator.platform?/^complete$/:/^(complete|loaded)$/,defContextName="_",isOpera="undefined"!=typeof opera&&"[object Opera]"===opera.toString(),contexts={},cfg={},globalDefQueue=[],useInteractive=!1;if("undefined"==typeof define){if("undefined"!=typeof requirejs){if(isFunction(requirejs))return;cfg=requirejs,requirejs=void 0}"undefined"==typeof require||isFunction(require)||(cfg=require,require=void 0),req=requirejs=function(a,b,c,d){var e,f,g=defContextName;return isArray(a)||"string"==typeof a||(f=a,isArray(b)?(a=b,b=c,c=d):a=[]),f&&f.context&&(g=f.context),e=getOwn(contexts,g),e||(e=contexts[g]=req.s.newContext(g)),f&&e.configure(f),e.require(a,b,c)},req.config=function(a){return req(a)},req.nextTick="undefined"!=typeof setTimeout?function(a){setTimeout(a,4)}:function(a){a()},require||(require=req),req.version=version,req.jsExtRegExp=/^\/|:|\?|\.js$/,req.isBrowser=isBrowser,s=req.s={contexts:contexts,newContext:newContext},req({}),each(["toUrl","undef","defined","specified"],function(a){req[a]=function(){var b=contexts[defContextName];return b.require[a].apply(b,arguments)}}),isBrowser&&(head=s.head=document.getElementsByTagName("head")[0],baseElement=document.getElementsByTagName("base")[0],baseElement&&(head=s.head=baseElement.parentNode)),req.onError=defaultOnError,req.createNode=function(a){var b=a.xhtml?document.createElementNS("http://www.w3.org/1999/xhtml","html:script"):document.createElement("script");return b.type=a.scriptType||"text/javascript",b.charset="utf-8",b.async=!0,b},req.load=function(a,b,c){var d,e=a&&a.config||{};if(isBrowser)return d=req.createNode(e,b,c),d.setAttribute("data-requirecontext",a.contextName),d.setAttribute("data-requiremodule",b),!d.attachEvent||d.attachEvent.toString&&d.attachEvent.toString().indexOf("[native code")<0||isOpera?(d.addEventListener("load",a.onScriptLoad,!1),d.addEventListener("error",a.onScriptError,!1)):(useInteractive=!0,d.attachEvent("onreadystatechange",a.onScriptLoad)),d.src=c,currentlyAddingScript=d,baseElement?head.insertBefore(d,baseElement):head.appendChild(d),currentlyAddingScript=null,d;if(isWebWorker)try{importScripts(c),a.completeLoad(b)}catch(f){a.onError(makeError("importscripts","importScripts failed for "+b+" at "+c,f,[b]))}},isBrowser&&eachReverse(scripts(),function(a){return head||(head=a.parentNode),dataMain=a.getAttribute("data-main"),dataMain?(mainScript=dataMain,cfg.baseUrl||(src=mainScript.split("/"),mainScript=src.pop(),subPath=src.length?src.join("/")+"/":"./",cfg.baseUrl=subPath),mainScript=mainScript.replace(jsSuffixRegExp,""),req.jsExtRegExp.test(mainScript)&&(mainScript=dataMain),cfg.deps=cfg.deps?cfg.deps.concat(mainScript):[mainScript],!0):void 0}),define=function(a,b,c){var d,e;"string"!=typeof a&&(c=b,b=a,a=null),isArray(b)||(c=b,b=null),!b&&isFunction(c)&&(b=[],c.length&&(c.toString().replace(commentRegExp,"").replace(cjsRequireRegExp,function(a,c){b.push(c)}),b=(1===c.length?["require"]:["require","exports","module"]).concat(b))),useInteractive&&(d=currentlyAddingScript||getInteractiveScript(),d&&(a||(a=d.getAttribute("data-requiremodule")),e=contexts[d.getAttribute("data-requirecontext")])),(e?e.defQueue:globalDefQueue).push([a,b,c])},define.amd={jQuery:!0},req.exec=function(text){return eval(text)},req(cfg)}}(this),require.config({baseUrl:"app",paths:{config:["../config","../config.sample"],settings:"components/settings",kbn:"components/kbn",css:"../vendor/require/css",text:"../vendor/require/text",moment:"../vendor/moment",filesaver:"../vendor/filesaver",angular:"../vendor/angular/angular","angular-dragdrop":"../vendor/angular/angular-dragdrop","angular-strap":"../vendor/angular/angular-strap","angular-sanitize":"../vendor/angular/angular-sanitize",timepicker:"../vendor/angular/timepicker",datepicker:"../vendor/angular/datepicker",bindonce:"../vendor/angular/bindonce",crypto:"../vendor/crypto.min",spectrum:"../vendor/spectrum",underscore:"components/underscore.extended","underscore-src":"../vendor/underscore",bootstrap:"../vendor/bootstrap/bootstrap",jquery:"../vendor/jquery/jquery-1.8.0","jquery-ui":"../vendor/jquery/jquery-ui-1.10.3","extend-jquery":"components/extend-jquery","jquery.flot":"../vendor/jquery/jquery.flot","jquery.flot.pie":"../vendor/jquery/jquery.flot.pie","jquery.flot.events":"../vendor/jquery/jquery.flot.events","jquery.flot.selection":"../vendor/jquery/jquery.flot.selection","jquery.flot.stack":"../vendor/jquery/jquery.flot.stack","jquery.flot.stackpercent":"../vendor/jquery/jquery.flot.stackpercent","jquery.flot.time":"../vendor/jquery/jquery.flot.time","jquery.flot.byte":"../vendor/jquery/jquery.flot.byte",modernizr:"../vendor/modernizr-2.6.1",elasticjs:"../vendor/elasticjs/elastic-angular-client","bootstrap-tagsinput":"../vendor/tagsinput/bootstrap-tagsinput"},shim:{underscore:{exports:"_"},spectrum:{deps:["jquery"]},crypto:{exports:"Crypto"},angular:{deps:["jquery","config"],exports:"angular"},bootstrap:{deps:["jquery"]},modernizr:{exports:"Modernizr"},jquery:{exports:"jQuery"},"jquery-ui":["jquery"],"jquery.flot":["jquery"],"jquery.flot.byte":["jquery","jquery.flot"],"jquery.flot.pie":["jquery","jquery.flot"],"jquery.flot.events":["jquery","jquery.flot"],"jquery.flot.selection":["jquery","jquery.flot"],"jquery.flot.stack":["jquery","jquery.flot"],"jquery.flot.stackpercent":["jquery","jquery.flot"],"jquery.flot.time":["jquery","jquery.flot"],"angular-sanitize":["angular"],"angular-cookies":["angular"],"angular-dragdrop":["jquery","jquery-ui","angular"],"angular-loader":["angular"],"angular-mocks":["angular"],"angular-resource":["angular"],"angular-route":["angular"],"angular-touch":["angular"],bindonce:["angular"],"angular-strap":["angular","bootstrap","timepicker","datepicker"],timepicker:["jquery","bootstrap"],datepicker:["jquery","bootstrap"],elasticjs:["angular","../vendor/elasticjs/elastic"],"bootstrap-tagsinput":["jquery"]},waitSeconds:60}),function(a,b){function c(a){var b=ob[a]={};return $.each(a.split(bb),function(a,c){b[c]=!0}),b}function d(a,c,d){if(d===b&&1===a.nodeType){var e="data-"+c.replace(qb,"-$1").toLowerCase();if(d=a.getAttribute(e),"string"==typeof d){try{d="true"===d?!0:"false"===d?!1:"null"===d?null:+d+""===d?+d:pb.test(d)?$.parseJSON(d):d}catch(f){}$.data(a,c,d)}else d=b}return d}function e(a){var b;for(b in a)if(("data"!==b||!$.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function f(){return!1}function g(){return!0}function h(a){return!a||!a.parentNode||11===a.parentNode.nodeType}function i(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}function j(a,b,c){if(b=b||0,$.isFunction(b))return $.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return $.grep(a,function(a){return a===b===c});if("string"==typeof b){var d=$.grep(a,function(a){return 1===a.nodeType});if(Kb.test(b))return $.filter(b,d,!c);b=$.filter(b,d)}return $.grep(a,function(a){return $.inArray(a,b)>=0===c})}function k(a){var b=Nb.split("|"),c=a.createDocumentFragment();if(c.createElement)for(;b.length;)c.createElement(b.pop());return c}function l(a,b){return a.getElementsByTagName(b)[0]||a.appendChild(a.ownerDocument.createElement(b))}function m(a,b){if(1===b.nodeType&&$.hasData(a)){var c,d,e,f=$._data(a),g=$._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)$.event.add(b,c,h[c][d])}g.data&&(g.data=$.extend({},g.data))}}function n(a,b){var c;1===b.nodeType&&(b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase(),"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),$.support.html5Clone&&a.innerHTML&&!$.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&Xb.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.selected=a.defaultSelected:"input"===c||"textarea"===c?b.defaultValue=a.defaultValue:"script"===c&&b.text!==a.text&&(b.text=a.text),b.removeAttribute($.expando))}function o(a){return"undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName("*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll("*"):[]}function p(a){Xb.test(a.type)&&(a.defaultChecked=a.checked)}function q(a,b){if(b in a)return b;for(var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=qc.length;e--;)if(b=qc[e]+c,b in a)return b;return d}function r(a,b){return a=b||a,"none"===$.css(a,"display")||!$.contains(a.ownerDocument,a)}function s(a,b){for(var c,d,e=[],f=0,g=a.length;g>f;f++)c=a[f],c.style&&(e[f]=$._data(c,"olddisplay"),b?(!e[f]&&"none"===c.style.display&&(c.style.display=""),""===c.style.display&&r(c)&&(e[f]=$._data(c,"olddisplay",w(c.nodeName)))):(d=cc(c,"display"),!e[f]&&"none"!==d&&$._data(c,"olddisplay",d)));for(f=0;g>f;f++)c=a[f],c.style&&(b&&"none"!==c.style.display&&""!==c.style.display||(c.style.display=b?e[f]||"":"none"));return a}function t(a,b,c){var d=jc.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function u(a,b,c,d){for(var e=c===(d?"border":"content")?4:"width"===b?1:0,f=0;4>e;e+=2)"margin"===c&&(f+=$.css(a,c+pc[e],!0)),d?("content"===c&&(f-=parseFloat(cc(a,"padding"+pc[e]))||0),"margin"!==c&&(f-=parseFloat(cc(a,"border"+pc[e]+"Width"))||0)):(f+=parseFloat(cc(a,"padding"+pc[e]))||0,"padding"!==c&&(f+=parseFloat(cc(a,"border"+pc[e]+"Width"))||0));return f}function v(a,b,c){var d="width"===b?a.offsetWidth:a.offsetHeight,e=!0,f=$.support.boxSizing&&"border-box"===$.css(a,"boxSizing");if(0>=d){if(d=cc(a,b),(0>d||null==d)&&(d=a.style[b]),kc.test(d))return d;e=f&&($.support.boxSizingReliable||d===a.style[b]),d=parseFloat(d)||0}return d+u(a,b,c||(f?"border":"content"),e)+"px"}function w(a){if(mc[a])return mc[a];var b=$("<"+a+">").appendTo(P.body),c=b.css("display");return b.remove(),("none"===c||""===c)&&(dc=P.body.appendChild(dc||$.extend(P.createElement("iframe"),{frameBorder:0,width:0,height:0})),ec&&dc.createElement||(ec=(dc.contentWindow||dc.contentDocument).document,ec.write(""),ec.close()),b=ec.body.appendChild(ec.createElement(a)),c=cc(b,"display"),P.body.removeChild(dc)),mc[a]=c,c}function x(a,b,c,d){var e;if($.isArray(b))$.each(b,function(b,e){c||tc.test(a)?d(a,e):x(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==$.type(b))d(a,b);else for(e in b)x(a+"["+e+"]",b[e],c,d)}function y(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e,f,g=b.toLowerCase().split(bb),h=0,i=g.length;if($.isFunction(c))for(;i>h;h++)d=g[h],f=/^\+/.test(d),f&&(d=d.substr(1)||"*"),e=a[d]=a[d]||[],e[f?"unshift":"push"](c)}}function z(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;for(var h,i=a[f],j=0,k=i?i.length:0,l=a===Jc;k>j&&(l||!h);j++)h=i[j](c,d,e),"string"==typeof h&&(!l||g[h]?h=b:(c.dataTypes.unshift(h),h=z(a,c,d,e,h,g)));return(l||!h)&&!g["*"]&&(h=z(a,c,d,e,"*",g)),h}function A(a,c){var d,e,f=$.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((f[d]?a:e||(e={}))[d]=c[d]);e&&$.extend(!0,a,e)}function B(a,c,d){var e,f,g,h,i=a.contents,j=a.dataTypes,k=a.responseFields;for(f in k)f in d&&(c[k[f]]=d[f]);for(;"*"===j[0];)j.shift(),e===b&&(e=a.mimeType||c.getResponseHeader("content-type"));if(e)for(f in i)if(i[f]&&i[f].test(e)){j.unshift(f);break}if(j[0]in d)g=j[0];else{for(f in d){if(!j[0]||a.converters[f+" "+j[0]]){g=f;break}h||(h=f)}g=g||h}return g?(g!==j[0]&&j.unshift(g),d[g]):void 0}function C(a,b){var c,d,e,f,g=a.dataTypes.slice(),h=g[0],i={},j=0;if(a.dataFilter&&(b=a.dataFilter(b,a.dataType)),g[1])for(c in a.converters)i[c.toLowerCase()]=a.converters[c];for(;e=g[++j];)if("*"!==e){if("*"!==h&&h!==e){if(c=i[h+" "+e]||i["* "+e],!c)for(d in i)if(f=d.split(" "),f[1]===e&&(c=i[h+" "+f[0]]||i["* "+f[0]])){c===!0?c=i[d]:i[d]!==!0&&(e=f[0],g.splice(j--,0,e));break}if(c!==!0)if(c&&a["throws"])b=c(b);else try{b=c(b)}catch(k){return{state:"parsererror",error:c?k:"No conversion from "+h+" to "+e}}}h=e}return{state:"success",data:b}}function D(){try{return new a.XMLHttpRequest}catch(b){}}function E(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function F(){return setTimeout(function(){Uc=b},0),Uc=$.now()}function G(a,b){$.each(b,function(b,c){for(var d=($c[b]||[]).concat($c["*"]),e=0,f=d.length;f>e;e++)if(d[e].call(a,b,c))return})}function H(a,b,c){var d,e=0,f=Zc.length,g=$.Deferred().always(function(){delete h.elem}),h=function(){for(var b=Uc||F(),c=Math.max(0,i.startTime+i.duration-b),d=1-(c/i.duration||0),e=0,f=i.tweens.length;f>e;e++)i.tweens[e].run(d);return g.notifyWith(a,[i,d,c]),1>d&&f?c:(g.resolveWith(a,[i]),!1)},i=g.promise({elem:a,props:$.extend({},b),opts:$.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:Uc||F(),duration:c.duration,tweens:[],createTween:function(b,c){var d=$.Tween(a,i.opts,b,c,i.opts.specialEasing[b]||i.opts.easing);return i.tweens.push(d),d},stop:function(b){for(var c=0,d=b?i.tweens.length:0;d>c;c++)i.tweens[c].run(1);return b?g.resolveWith(a,[i,b]):g.rejectWith(a,[i,b]),this}}),j=i.props;for(I(j,i.opts.specialEasing);f>e;e++)if(d=Zc[e].call(i,a,j,i.opts))return d;return G(i,j),$.isFunction(i.opts.start)&&i.opts.start.call(a,i),$.fx.timer($.extend(h,{anim:i,queue:i.opts.queue,elem:a})),i.progress(i.opts.progress).done(i.opts.done,i.opts.complete).fail(i.opts.fail).always(i.opts.always)}function I(a,b){var c,d,e,f,g;for(c in a)if(d=$.camelCase(c),e=b[d],f=a[c],$.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=$.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function J(a,b,c){var d,e,f,g,h,i,j,k,l=this,m=a.style,n={},o=[],p=a.nodeType&&r(a);c.queue||(j=$._queueHooks(a,"fx"),null==j.unqueued&&(j.unqueued=0,k=j.empty.fire,j.empty.fire=function(){j.unqueued||k()}),j.unqueued++,l.always(function(){l.always(function(){j.unqueued--,$.queue(a,"fx").length||j.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[m.overflow,m.overflowX,m.overflowY],"inline"===$.css(a,"display")&&"none"===$.css(a,"float")&&($.support.inlineBlockNeedsLayout&&"inline"!==w(a.nodeName)?m.zoom=1:m.display="inline-block")),c.overflow&&(m.overflow="hidden",$.support.shrinkWrapBlocks||l.done(function(){m.overflow=c.overflow[0],m.overflowX=c.overflow[1],m.overflowY=c.overflow[2]}));for(d in b)if(f=b[d],Wc.exec(f)){if(delete b[d],f===(p?"hide":"show"))continue;o.push(d)}if(g=o.length)for(h=$._data(a,"fxshow")||$._data(a,"fxshow",{}),p?$(a).show():l.done(function(){$(a).hide()}),l.done(function(){var b;$.removeData(a,"fxshow",!0);for(b in n)$.style(a,b,n[b])}),d=0;g>d;d++)e=o[d],i=l.createTween(e,p?h[e]:0),n[e]=h[e]||$.style(a,e),e in h||(h[e]=i.start,p&&(i.end=i.start,i.start="width"===e||"height"===e?1:0))}function K(a,b,c,d,e){return new K.prototype.init(a,b,c,d,e)}function L(a,b){for(var c,d={height:a},e=0;4>e;e+=2-b)c=pc[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function M(a){return $.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}var N,O,P=a.document,Q=a.location,R=a.navigator,S=a.jQuery,T=a.$,U=Array.prototype.push,V=Array.prototype.slice,W=Array.prototype.indexOf,X=Object.prototype.toString,Y=Object.prototype.hasOwnProperty,Z=String.prototype.trim,$=function(a,b){return new $.fn.init(a,b,N)},_=/[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source,ab=/\S/,bb=/\s+/,cb=ab.test(" ")?/^[\s\xA0]+|[\s\xA0]+$/g:/^\s+|\s+$/g,db=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,eb=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,fb=/^[\],:{}\s]*$/,gb=/(?:^|:|,)(?:\s*\[)+/g,hb=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,ib=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,jb=/^-ms-/,kb=/-([\da-z])/gi,lb=function(a,b){return(b+"").toUpperCase()},mb=function(){P.addEventListener?(P.removeEventListener("DOMContentLoaded",mb,!1),$.ready()):"complete"===P.readyState&&(P.detachEvent("onreadystatechange",mb),$.ready())},nb={};$.fn=$.prototype={constructor:$,init:function(a,c,d){var e,f,g;if(!a)return this;if(a.nodeType)return this.context=this[0]=a,this.length=1,this;if("string"==typeof a){if(e="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:db.exec(a),e&&(e[1]||!c)){if(e[1])return c=c instanceof $?c[0]:c,g=c&&c.nodeType?c.ownerDocument||c:P,a=$.parseHTML(e[1],g,!0),eb.test(e[1])&&$.isPlainObject(c)&&this.attr.call(a,c,!0),$.merge(this,a);if(f=P.getElementById(e[2]),f&&f.parentNode){if(f.id!==e[2])return d.find(a);this.length=1,this[0]=f}return this.context=P,this.selector=a,this}return!c||c.jquery?(c||d).find(a):this.constructor(c).find(a)}return $.isFunction(a)?d.ready(a):(a.selector!==b&&(this.selector=a.selector,this.context=a.context),$.makeArray(a,this))},selector:"",jquery:"1.8.0",length:0,size:function(){return this.length},toArray:function(){return V.call(this)},get:function(a){return null==a?this.toArray():0>a?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=$.merge(this.constructor(),a);return d.prevObject=this,d.context=this.context,"find"===b?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")"),d},each:function(a,b){return $.each(this,a,b)},ready:function(a){return $.ready.promise().done(a),this},eq:function(a){return a=+a,-1===a?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(V.apply(this,arguments),"slice",V.call(arguments).join(","))},map:function(a){return this.pushStack($.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:U,sort:[].sort,splice:[].splice},$.fn.init.prototype=$.fn,$.extend=$.fn.extend=function(){var a,c,d,e,f,g,h=arguments[0]||{},i=1,j=arguments.length,k=!1;for("boolean"==typeof h&&(k=h,h=arguments[1]||{},i=2),"object"!=typeof h&&!$.isFunction(h)&&(h={}),j===i&&(h=this,--i);j>i;i++)if(null!=(a=arguments[i]))for(c in a)d=h[c],e=a[c],h!==e&&(k&&e&&($.isPlainObject(e)||(f=$.isArray(e)))?(f?(f=!1,g=d&&$.isArray(d)?d:[]):g=d&&$.isPlainObject(d)?d:{},h[c]=$.extend(k,g,e)):e!==b&&(h[c]=e));return h},$.extend({noConflict:function(b){return a.$===$&&(a.$=T),b&&a.jQuery===$&&(a.jQuery=S),$},isReady:!1,readyWait:1,holdReady:function(a){a?$.readyWait++:$.ready(!0)},ready:function(a){if(a===!0?!--$.readyWait:!$.isReady){if(!P.body)return setTimeout($.ready,1);$.isReady=!0,a!==!0&&--$.readyWait>0||(O.resolveWith(P,[$]),$.fn.trigger&&$(P).trigger("ready").off("ready"))}},isFunction:function(a){return"function"===$.type(a)},isArray:Array.isArray||function(a){return"array"===$.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return null==a?String(a):nb[X.call(a)]||"object"},isPlainObject:function(a){if(!a||"object"!==$.type(a)||a.nodeType||$.isWindow(a))return!1;try{if(a.constructor&&!Y.call(a,"constructor")&&!Y.call(a.constructor.prototype,"isPrototypeOf"))return!1 -}catch(c){return!1}var d;for(d in a);return d===b||Y.call(a,d)},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},error:function(a){throw new Error(a)},parseHTML:function(a,b,c){var d;return a&&"string"==typeof a?("boolean"==typeof b&&(c=b,b=0),b=b||P,(d=eb.exec(a))?[b.createElement(d[1])]:(d=$.buildFragment([a],b,c?null:[]),$.merge([],(d.cacheable?$.clone(d.fragment):d.fragment).childNodes))):null},parseJSON:function(b){return b&&"string"==typeof b?(b=$.trim(b),a.JSON&&a.JSON.parse?a.JSON.parse(b):fb.test(b.replace(hb,"@").replace(ib,"]").replace(gb,""))?new Function("return "+b)():void $.error("Invalid JSON: "+b)):null},parseXML:function(c){var d,e;if(!c||"string"!=typeof c)return null;try{a.DOMParser?(e=new DOMParser,d=e.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(f){d=b}return(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&$.error("Invalid XML: "+c),d},noop:function(){},globalEval:function(b){b&&ab.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(jb,"ms-").replace(kb,lb)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var e,f=0,g=a.length,h=g===b||$.isFunction(a);if(d)if(h){for(e in a)if(c.apply(a[e],d)===!1)break}else for(;g>f&&c.apply(a[f++],d)!==!1;);else if(h){for(e in a)if(c.call(a[e],e,a[e])===!1)break}else for(;g>f&&c.call(a[f],f,a[f++])!==!1;);return a},trim:Z?function(a){return null==a?"":Z.call(a)}:function(a){return null==a?"":a.toString().replace(cb,"")},makeArray:function(a,b){var c,d=b||[];return null!=a&&(c=$.type(a),null==a.length||"string"===c||"function"===c||"regexp"===c||$.isWindow(a)?U.call(d,a):$.merge(d,a)),d},inArray:function(a,b,c){var d;if(b){if(W)return W.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,c){var d=c.length,e=a.length,f=0;if("number"==typeof d)for(;d>f;f++)a[e++]=c[f];else for(;c[f]!==b;)a[e++]=c[f++];return a.length=e,a},grep:function(a,b,c){var d,e=[],f=0,g=a.length;for(c=!!c;g>f;f++)d=!!b(a[f],f),c!==d&&e.push(a[f]);return e},map:function(a,c,d){var e,f,g=[],h=0,i=a.length,j=a instanceof $||i!==b&&"number"==typeof i&&(i>0&&a[0]&&a[i-1]||0===i||$.isArray(a));if(j)for(;i>h;h++)e=c(a[h],h,d),null!=e&&(g[g.length]=e);else for(f in a)e=c(a[f],f,d),null!=e&&(g[g.length]=e);return g.concat.apply([],g)},guid:1,proxy:function(a,c){var d,e,f;return"string"==typeof c&&(d=a[c],c=a,a=d),$.isFunction(a)?(e=V.call(arguments,2),f=function(){return a.apply(c,e.concat(V.call(arguments)))},f.guid=a.guid=a.guid||f.guid||$.guid++,f):b},access:function(a,c,d,e,f,g,h){var i,j=null==d,k=0,l=a.length;if(d&&"object"==typeof d){for(k in d)$.access(a,c,k,d[k],1,g,e);f=1}else if(e!==b){if(i=h===b&&$.isFunction(e),j&&(i?(i=c,c=function(a,b,c){return i.call($(a),c)}):(c.call(a,e),c=null)),c)for(;l>k;k++)c(a[k],d,i?e.call(a[k],k,c(a[k],d)):e,h);f=1}return f?a:j?c.call(a):l?c(a[0],d):g},now:function(){return(new Date).getTime()}}),$.ready.promise=function(b){if(!O)if(O=$.Deferred(),"complete"===P.readyState||"loading"!==P.readyState&&P.addEventListener)setTimeout($.ready,1);else if(P.addEventListener)P.addEventListener("DOMContentLoaded",mb,!1),a.addEventListener("load",$.ready,!1);else{P.attachEvent("onreadystatechange",mb),a.attachEvent("onload",$.ready);var c=!1;try{c=null==a.frameElement&&P.documentElement}catch(d){}c&&c.doScroll&&function e(){if(!$.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}$.ready()}}()}return O.promise(b)},$.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){nb["[object "+b+"]"]=b.toLowerCase()}),N=$(P);var ob={};$.Callbacks=function(a){a="string"==typeof a?ob[a]||c(a):$.extend({},a);var d,e,f,g,h,i,j=[],k=!a.once&&[],l=function(b){for(d=a.memory&&b,e=!0,i=g||0,g=0,h=j.length,f=!0;j&&h>i;i++)if(j[i].apply(b[0],b[1])===!1&&a.stopOnFalse){d=!1;break}f=!1,j&&(k?k.length&&l(k.shift()):d?j=[]:m.disable())},m={add:function(){if(j){var b=j.length;!function c(b){$.each(b,function(b,d){!$.isFunction(d)||a.unique&&m.has(d)?d&&d.length&&c(d):j.push(d)})}(arguments),f?h=j.length:d&&(g=b,l(d))}return this},remove:function(){return j&&$.each(arguments,function(a,b){for(var c;(c=$.inArray(b,j,c))>-1;)j.splice(c,1),f&&(h>=c&&h--,i>=c&&i--)}),this},has:function(a){return $.inArray(a,j)>-1},empty:function(){return j=[],this},disable:function(){return j=k=d=b,this},disabled:function(){return!j},lock:function(){return k=b,d||m.disable(),this},locked:function(){return!k},fireWith:function(a,b){return b=b||[],b=[a,b.slice?b.slice():b],j&&(!e||k)&&(f?k.push(b):l(b)),this},fire:function(){return m.fireWith(this,arguments),this},fired:function(){return!!e}};return m},$.extend({Deferred:function(a){var b=[["resolve","done",$.Callbacks("once memory"),"resolved"],["reject","fail",$.Callbacks("once memory"),"rejected"],["notify","progress",$.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return $.Deferred(function(c){$.each(b,function(b,d){var f=d[0],g=a[b];e[d[1]]($.isFunction(g)?function(){var a=g.apply(this,arguments);a&&$.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f+"With"](this===e?c:this,[a])}:c[f])}),a=null}).promise()},promise:function(a){return"object"==typeof a?$.extend(a,d):d}},e={};return d.pipe=d.then,$.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=g.fire,e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b,c,d,e=0,f=V.call(arguments),g=f.length,h=1!==g||a&&$.isFunction(a.promise)?g:0,i=1===h?a:$.Deferred(),j=function(a,c,d){return function(e){c[a]=this,d[a]=arguments.length>1?V.call(arguments):e,d===b?i.notifyWith(c,d):--h||i.resolveWith(c,d)}};if(g>1)for(b=new Array(g),c=new Array(g),d=new Array(g);g>e;e++)f[e]&&$.isFunction(f[e].promise)?f[e].promise().done(j(e,d,f)).fail(i.reject).progress(j(e,c,b)):--h;return h||i.resolveWith(d,f),i.promise()}}),$.support=function(){var b,c,d,e,f,g,h,i,j,k,l,m=P.createElement("div");if(m.setAttribute("className","t"),m.innerHTML="
a",c=m.getElementsByTagName("*"),d=m.getElementsByTagName("a")[0],d.style.cssText="top:1px;float:left;opacity:.5",!c||!c.length||!d)return{};e=P.createElement("select"),f=e.appendChild(P.createElement("option")),g=m.getElementsByTagName("input")[0],b={leadingWhitespace:3===m.firstChild.nodeType,tbody:!m.getElementsByTagName("tbody").length,htmlSerialize:!!m.getElementsByTagName("link").length,style:/top/.test(d.getAttribute("style")),hrefNormalized:"/a"===d.getAttribute("href"),opacity:/^0.5/.test(d.style.opacity),cssFloat:!!d.style.cssFloat,checkOn:"on"===g.value,optSelected:f.selected,getSetAttribute:"t"!==m.className,enctype:!!P.createElement("form").enctype,html5Clone:"<:nav>"!==P.createElement("nav").cloneNode(!0).outerHTML,boxModel:"CSS1Compat"===P.compatMode,submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},g.checked=!0,b.noCloneChecked=g.cloneNode(!0).checked,e.disabled=!0,b.optDisabled=!f.disabled;try{delete m.test}catch(n){b.deleteExpando=!1}if(!m.addEventListener&&m.attachEvent&&m.fireEvent&&(m.attachEvent("onclick",l=function(){b.noCloneEvent=!1}),m.cloneNode(!0).fireEvent("onclick"),m.detachEvent("onclick",l)),g=P.createElement("input"),g.value="t",g.setAttribute("type","radio"),b.radioValue="t"===g.value,g.setAttribute("checked","checked"),g.setAttribute("name","t"),m.appendChild(g),h=P.createDocumentFragment(),h.appendChild(m.lastChild),b.checkClone=h.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=g.checked,h.removeChild(g),h.appendChild(m),m.attachEvent)for(j in{submit:!0,change:!0,focusin:!0})i="on"+j,k=i in m,k||(m.setAttribute(i,"return;"),k="function"==typeof m[i]),b[j+"Bubbles"]=k;return $(function(){var c,d,e,f,g="padding:0;margin:0;border:0;display:block;overflow:hidden;",h=P.getElementsByTagName("body")[0];h&&(c=P.createElement("div"),c.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",h.insertBefore(c,h.firstChild),d=P.createElement("div"),c.appendChild(d),d.innerHTML="
t
",e=d.getElementsByTagName("td"),e[0].style.cssText="padding:0;margin:0;border:0;display:none",k=0===e[0].offsetHeight,e[0].style.display="",e[1].style.display="none",b.reliableHiddenOffsets=k&&0===e[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",b.boxSizing=4===d.offsetWidth,b.doesNotIncludeMarginInBodyOffset=1!==h.offsetTop,a.getComputedStyle&&(b.pixelPosition="1%"!==(a.getComputedStyle(d,null)||{}).top,b.boxSizingReliable="4px"===(a.getComputedStyle(d,null)||{width:"4px"}).width,f=P.createElement("div"),f.style.cssText=d.style.cssText=g,f.style.marginRight=f.style.width="0",d.style.width="1px",d.appendChild(f),b.reliableMarginRight=!parseFloat((a.getComputedStyle(f,null)||{}).marginRight)),"undefined"!=typeof d.style.zoom&&(d.innerHTML="",d.style.cssText=g+"width:1px;padding:1px;display:inline;zoom:1",b.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.style.overflow="visible",d.innerHTML="
",d.firstChild.style.width="5px",b.shrinkWrapBlocks=3!==d.offsetWidth,c.style.zoom=1),h.removeChild(c),c=d=e=f=null)}),h.removeChild(m),c=d=e=f=g=h=m=null,b}();var pb=/^(?:\{.*\}|\[.*\])$/,qb=/([A-Z])/g;$.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+($.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){return a=a.nodeType?$.cache[a[$.expando]]:a[$.expando],!!a&&!e(a)},data:function(a,c,d,e){if($.acceptData(a)){var f,g,h=$.expando,i="string"==typeof c,j=a.nodeType,k=j?$.cache:a,l=j?a[h]:a[h]&&h;if(l&&k[l]&&(e||k[l].data)||!i||d!==b)return l||(j?a[h]=l=$.deletedIds.pop()||++$.uuid:l=h),k[l]||(k[l]={},j||(k[l].toJSON=$.noop)),("object"==typeof c||"function"==typeof c)&&(e?k[l]=$.extend(k[l],c):k[l].data=$.extend(k[l].data,c)),f=k[l],e||(f.data||(f.data={}),f=f.data),d!==b&&(f[$.camelCase(c)]=d),i?(g=f[c],null==g&&(g=f[$.camelCase(c)])):g=f,g}},removeData:function(a,b,c){if($.acceptData(a)){var d,f,g,h=a.nodeType,i=h?$.cache:a,j=h?a[$.expando]:$.expando;if(i[j]){if(b&&(d=c?i[j]:i[j].data)){$.isArray(b)||(b in d?b=[b]:(b=$.camelCase(b),b=b in d?[b]:b.split(" ")));for(f=0,g=b.length;g>f;f++)delete d[b[f]];if(!(c?e:$.isEmptyObject)(d))return}(c||(delete i[j].data,e(i[j])))&&(h?$.cleanData([a],!0):$.support.deleteExpando||i!=i.window?delete i[j]:i[j]=null)}}},_data:function(a,b,c){return $.data(a,b,c,!0)},acceptData:function(a){var b=a.nodeName&&$.noData[a.nodeName.toLowerCase()];return!b||b!==!0&&a.getAttribute("classid")===b}}),$.fn.extend({data:function(a,c){var e,f,g,h,i,j=this[0],k=0,l=null;if(a===b){if(this.length&&(l=$.data(j),1===j.nodeType&&!$._data(j,"parsedAttrs"))){for(g=j.attributes,i=g.length;i>k;k++)h=g[k].name,0===h.indexOf("data-")&&(h=$.camelCase(h.substring(5)),d(j,h,l[h]));$._data(j,"parsedAttrs",!0)}return l}return"object"==typeof a?this.each(function(){$.data(this,a)}):(e=a.split(".",2),e[1]=e[1]?"."+e[1]:"",f=e[1]+"!",$.access(this,function(c){return c===b?(l=this.triggerHandler("getData"+f,[e[0]]),l===b&&j&&(l=$.data(j,a),l=d(j,a,l)),l===b&&e[1]?this.data(e[0]):l):(e[1]=c,void this.each(function(){var b=$(this);b.triggerHandler("setData"+f,e),$.data(this,a,c),b.triggerHandler("changeData"+f,e)}))},null,c,arguments.length>1,null,!1))},removeData:function(a){return this.each(function(){$.removeData(this,a)})}}),$.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=$._data(a,b),c&&(!d||$.isArray(c)?d=$._data(a,b,$.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=$.queue(a,b),d=c.shift(),e=$._queueHooks(a,b),f=function(){$.dequeue(a,b)};"inprogress"===d&&(d=c.shift()),d&&("fx"===b&&c.unshift("inprogress"),delete e.stop,d.call(a,f,e)),!c.length&&e&&e.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return $._data(a,c)||$._data(a,c,{empty:$.Callbacks("once memory").add(function(){$.removeData(a,b+"queue",!0),$.removeData(a,c,!0)})})}}),$.fn.extend({queue:function(a,c){var d=2;return"string"!=typeof a&&(c=a,a="fx",d--),arguments.length1)},removeAttr:function(a){return this.each(function(){$.removeAttr(this,a)})},prop:function(a,b){return $.access(this,$.prop,a,b,arguments.length>1)},removeProp:function(a){return a=$.propFix[a]||a,this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,f,g,h;if($.isFunction(a))return this.each(function(b){$(this).addClass(a.call(this,b,this.className))});if(a&&"string"==typeof a)for(b=a.split(bb),c=0,d=this.length;d>c;c++)if(e=this[c],1===e.nodeType)if(e.className||1!==b.length){for(f=" "+e.className+" ",g=0,h=b.length;h>g;g++)~f.indexOf(" "+b[g]+" ")||(f+=b[g]+" ");e.className=$.trim(f)}else e.className=a;return this},removeClass:function(a){var c,d,e,f,g,h,i;if($.isFunction(a))return this.each(function(b){$(this).removeClass(a.call(this,b,this.className))});if(a&&"string"==typeof a||a===b)for(c=(a||"").split(bb),h=0,i=this.length;i>h;h++)if(e=this[h],1===e.nodeType&&e.className){for(d=(" "+e.className+" ").replace(ub," "),f=0,g=c.length;g>f;f++)for(;d.indexOf(" "+c[f]+" ")>-1;)d=d.replace(" "+c[f]+" "," ");e.className=a?$.trim(d):""}return this},toggleClass:function(a,b){var c=typeof a,d="boolean"==typeof b;return this.each($.isFunction(a)?function(c){$(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c)for(var e,f=0,g=$(this),h=b,i=a.split(bb);e=i[f++];)h=d?h:!g.hasClass(e),g[h?"addClass":"removeClass"](e);else("undefined"===c||"boolean"===c)&&(this.className&&$._data(this,"__className__",this.className),this.className=this.className||a===!1?"":$._data(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(ub," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e,f=this[0];{if(arguments.length)return e=$.isFunction(a),this.each(function(d){var f,g=$(this);1===this.nodeType&&(f=e?a.call(this,d,g.val()):a,null==f?f="":"number"==typeof f?f+="":$.isArray(f)&&(f=$.map(f,function(a){return null==a?"":a+""})),c=$.valHooks[this.type]||$.valHooks[this.nodeName.toLowerCase()],c&&"set"in c&&c.set(this,f,"value")!==b||(this.value=f))});if(f)return c=$.valHooks[f.type]||$.valHooks[f.nodeName.toLowerCase()],c&&"get"in c&&(d=c.get(f,"value"))!==b?d:(d=f.value,"string"==typeof d?d.replace(vb,""):null==d?"":d)}}}),$.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,f=a.selectedIndex,g=[],h=a.options,i="select-one"===a.type;if(0>f)return null;for(c=i?f:0,d=i?f+1:h.length;d>c;c++)if(e=h[c],!(!e.selected||($.support.optDisabled?e.disabled:null!==e.getAttribute("disabled"))||e.parentNode.disabled&&$.nodeName(e.parentNode,"optgroup"))){if(b=$(e).val(),i)return b;g.push(b)}return i&&!g.length&&h.length?$(h[f]).val():g},set:function(a,b){var c=$.makeArray(b);return $(a).find("option").each(function(){this.selected=$.inArray($(this).val(),c)>=0}),c.length||(a.selectedIndex=-1),c}}},attrFn:{},attr:function(a,c,d,e){var f,g,h,i=a.nodeType;if(a&&3!==i&&8!==i&&2!==i)return e&&$.isFunction($.fn[c])?$(a)[c](d):"undefined"==typeof a.getAttribute?$.prop(a,c,d):(h=1!==i||!$.isXMLDoc(a),h&&(c=c.toLowerCase(),g=$.attrHooks[c]||(zb.test(c)?sb:rb)),d!==b?null===d?void $.removeAttr(a,c):g&&"set"in g&&h&&(f=g.set(a,d,c))!==b?f:(a.setAttribute(c,""+d),d):g&&"get"in g&&h&&null!==(f=g.get(a,c))?f:(f=a.getAttribute(c),null===f?b:f))},removeAttr:function(a,b){var c,d,e,f,g=0;if(b&&1===a.nodeType)for(d=b.split(bb);g=0:void 0}})});var Bb=/^(?:textarea|input|select)$/i,Cb=/^([^\.]*|)(?:\.(.+)|)$/,Db=/(?:^|\s)hover(\.\S+|)\b/,Eb=/^key/,Fb=/^(?:mouse|contextmenu)|click/,Gb=/^(?:focusinfocus|focusoutblur)$/,Hb=function(a){return $.event.special.hover?a:a.replace(Db,"mouseenter$1 mouseleave$1")};$.event={add:function(a,c,d,e,f){var g,h,i,j,k,l,m,n,o,p,q;if(3!==a.nodeType&&8!==a.nodeType&&c&&d&&(g=$._data(a))){for(d.handler&&(o=d,d=o.handler,f=o.selector),d.guid||(d.guid=$.guid++),i=g.events,i||(g.events=i={}),h=g.handle,h||(g.handle=h=function(a){return"undefined"==typeof $||a&&$.event.triggered===a.type?b:$.event.dispatch.apply(h.elem,arguments)},h.elem=a),c=$.trim(Hb(c)).split(" "),j=0;j=0&&(q=q.slice(0,-1),h=!0),q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),(!e||$.event.customEvent[q])&&!$.event.global[q])return;if(c="object"==typeof c?c[$.expando]?c:new $.Event(q,c):new $.Event(q),c.type=q,c.isTrigger=!0,c.exclusive=h,c.namespace=r.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,l=q.indexOf(":")<0?"on"+q:"",!e){g=$.cache;for(i in g)g[i].events&&g[i].events[q]&&$.event.trigger(c,d,g[i].handle.elem,!0);return}if(c.result=b,c.target||(c.target=e),d=null!=d?$.makeArray(d):[],d.unshift(c),m=$.event.special[q]||{},m.trigger&&m.trigger.apply(e,d)===!1)return;if(o=[[e,m.bindType||q]],!f&&!m.noBubble&&!$.isWindow(e)){for(p=m.delegateType||q,j=Gb.test(p+q)?e:e.parentNode,k=e;j;j=j.parentNode)o.push([j,p]),k=j;k===(e.ownerDocument||P)&&o.push([k.defaultView||k.parentWindow||a,p])}for(i=0;id;d++)l=n[d],m=l.selector,i[m]===b&&(i[m]=g.is(m)),i[m]&&k.push(l);k.length&&s.push({elem:f,matches:k})}for(n.length>o&&s.push({elem:this,matches:n.slice(o)}),d=0;d0?this.on(b,null,a,c):this.trigger(b)},Eb.test(b)&&($.event.fixHooks[b]=$.event.keyHooks),Fb.test(b)&&($.event.fixHooks[b]=$.event.mouseHooks) -}),function(a,b){function c(a,b,c,d){for(var e=0,f=b.length;f>e;e++)fb(a,b[e],c,d)}function d(a,b,d,e,f,g){var h,i=gb.setFilters[b.toLowerCase()];return i||fb.error(b),(a||!(h=f))&&c(a||"*",e,h=[],f),h.length>0?i(h,d,g):[]}function e(a,e,f,g,h){for(var i,j,k,l,m,n,o,p,q=0,r=h.length,s=S.POS,t=new RegExp("^"+s.source+"(?!"+y+")","i"),u=function(){for(var a=1,c=arguments.length-2;c>a;a++)arguments[a]===b&&(i[a]=b)};r>q;q++){for(s.exec(""),a=h[q],l=[],k=0,m=g;i=s.exec(a);)p=s.lastIndex=i.index+i[0].length,p>k&&(o=a.slice(k,i.index),k=p,n=[e],I.test(o)&&(m&&(n=m),m=g),(j=O.test(o))&&(o=o.slice(0,-5).replace(I,"$&*")),i.length>1&&i[0].replace(t,u),m=d(o,i[1],i[2],n,m,j));m?(l=l.concat(m),(o=a.slice(k))&&")"!==o?I.test(o)?c(o,l,f,g):fb(o,e,f,g?g.concat(m):m):w.apply(f,l)):fb(a,e,f,g)}return 1===r?f:fb.uniqueSort(f)}function f(a,b,c){for(var d,e,f,g=[],h=0,i=K.exec(a),j=!i.pop()&&!i.pop(),k=j&&a.match(J)||[""],l=gb.preFilter,m=gb.filter,n=!c&&b!==p;null!=(e=k[h])&&j;h++)for(g.push(d=[]),n&&(e=" "+e);e;){j=!1,(i=I.exec(e))&&(e=e.slice(i[0].length),j=d.push({part:i.pop().replace(H," "),captures:i}));for(f in m)(i=S[f].exec(e))&&(!l[f]||(i=l[f](i,b,c)))&&(e=e.slice(i.shift().length),j=d.push({part:f,captures:i}));if(!j)break}return j||fb.error(a),g}function g(a,b,c){var d=b.dir,e=u++;return a||(a=function(a){return a===c}),b.first?function(b,c){for(;b=b[d];)if(1===b.nodeType)return a(b,c)&&b}:function(b,c){for(var f,g=e+"."+l,h=g+"."+k;b=b[d];)if(1===b.nodeType){if((f=b[x])===h)return b.sizset;if("string"==typeof f&&0===f.indexOf(g)){if(b.sizset)return b}else{if(b[x]=h,a(b,c))return b.sizset=!0,b;b.sizset=!1}}}}function h(a,b){return a?function(c,d){var e=b(c,d);return e&&a(e===!0?c:e,d)}:b}function i(a,b,c){for(var d,e,f=0;d=a[f];f++)gb.relative[d.part]?e=g(e,gb.relative[d.part],b):(d.captures.push(b,c),e=h(e,gb.filter[d.part].apply(null,d.captures)));return e}function j(a){return function(b,c){for(var d,e=0;d=a[e];e++)if(d(b,c))return!0;return!1}}var k,l,m,n,o,p=a.document,q=p.documentElement,r="undefined",s=!1,t=!0,u=0,v=[].slice,w=[].push,x=("sizcache"+Math.random()).replace(".",""),y="[\\x20\\t\\r\\n\\f]",z="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",A=z.replace("w","w#"),B="([*^$|!~]?=)",C="\\["+y+"*("+z+")"+y+"*(?:"+B+y+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+A+")|)|)"+y+"*\\]",D=":("+z+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|((?:[^,]|\\\\,|(?:,(?=[^\\[]*\\]))|(?:,(?=[^\\(]*\\))))*))\\)|)",E=":(nth|eq|gt|lt|first|last|even|odd)(?:\\((\\d*)\\)|)(?=[^-]|$)",F=y+"*([\\x20\\t\\r\\n\\f>+~])"+y+"*",G="(?=[^\\x20\\t\\r\\n\\f])(?:\\\\.|"+C+"|"+D.replace(2,7)+"|[^\\\\(),])+",H=new RegExp("^"+y+"+|((?:^|[^\\\\])(?:\\\\.)*)"+y+"+$","g"),I=new RegExp("^"+F),J=new RegExp(G+"?(?="+y+"*,|$)","g"),K=new RegExp("^(?:(?!,)(?:(?:^|,)"+y+"*"+G+")*?|"+y+"*(.*?))(\\)|$)"),L=new RegExp(G.slice(19,-6)+"\\x20\\t\\r\\n\\f>+~])+|"+F,"g"),M=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,N=/[\x20\t\r\n\f]*[+~]/,O=/:not\($/,P=/h\d/i,Q=/input|select|textarea|button/i,R=/\\(?!\\)/g,S={ID:new RegExp("^#("+z+")"),CLASS:new RegExp("^\\.("+z+")"),NAME:new RegExp("^\\[name=['\"]?("+z+")['\"]?\\]"),TAG:new RegExp("^("+z.replace("[-","[-\\*")+")"),ATTR:new RegExp("^"+C),PSEUDO:new RegExp("^"+D),CHILD:new RegExp("^:(only|nth|last|first)-child(?:\\("+y+"*(even|odd|(([+-]|)(\\d*)n|)"+y+"*(?:([+-]|)"+y+"*(\\d+)|))"+y+"*\\)|)","i"),POS:new RegExp(E,"ig"),needsContext:new RegExp("^"+y+"*[>+~]|"+E,"i")},T={},U=[],V={},W=[],X=function(a){return a.sizzleFilter=!0,a},Y=function(a){return function(b){return"input"===b.nodeName.toLowerCase()&&b.type===a}},Z=function(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}},_=function(a){var b=!1,c=p.createElement("div");try{b=a(c)}catch(d){}return c=null,b},ab=_(function(a){a.innerHTML="";var b=typeof a.lastChild.getAttribute("multiple");return"boolean"!==b&&"string"!==b}),bb=_(function(a){a.id=x+0,a.innerHTML="
",q.insertBefore(a,q.firstChild);var b=p.getElementsByName&&p.getElementsByName(x).length===2+p.getElementsByName(x+0).length;return o=!p.getElementById(x),q.removeChild(a),b}),cb=_(function(a){return a.appendChild(p.createComment("")),0===a.getElementsByTagName("*").length}),db=_(function(a){return a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!==r&&"#"===a.firstChild.getAttribute("href")}),eb=_(function(a){return a.innerHTML="",a.getElementsByClassName&&0!==a.getElementsByClassName("e").length?(a.lastChild.className="e",1!==a.getElementsByClassName("e").length):!1}),fb=function(a,b,c,d){c=c||[],b=b||p;var e,f,g,h,i=b.nodeType;if(1!==i&&9!==i)return[];if(!a||"string"!=typeof a)return c;if(g=ib(b),!g&&!d&&(e=M.exec(a)))if(h=e[1]){if(9===i){if(f=b.getElementById(h),!f||!f.parentNode)return c;if(f.id===h)return c.push(f),c}else if(b.ownerDocument&&(f=b.ownerDocument.getElementById(h))&&jb(b,f)&&f.id===h)return c.push(f),c}else{if(e[2])return w.apply(c,v.call(b.getElementsByTagName(a),0)),c;if((h=e[3])&&eb&&b.getElementsByClassName)return w.apply(c,v.call(b.getElementsByClassName(h),0)),c}return mb(a,b,c,d,g)},gb=fb.selectors={cacheLength:50,match:S,order:["ID","TAG"],attrHandle:{},createPseudo:X,find:{ID:o?function(a,b,c){if(typeof b.getElementById!==r&&!c){var d=b.getElementById(a);return d&&d.parentNode?[d]:[]}}:function(a,c,d){if(typeof c.getElementById!==r&&!d){var e=c.getElementById(a);return e?e.id===a||typeof e.getAttributeNode!==r&&e.getAttributeNode("id").value===a?[e]:b:[]}},TAG:cb?function(a,b){return typeof b.getElementsByTagName!==r?b.getElementsByTagName(a):void 0}:function(a,b){var c=b.getElementsByTagName(a);if("*"===a){for(var d,e=[],f=0;d=c[f];f++)1===d.nodeType&&e.push(d);return e}return c}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(R,""),a[3]=(a[4]||a[5]||"").replace(R,""),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1]?(a[2]||fb.error(a[0]),a[3]=+(a[3]?a[4]+(a[5]||1):2*("even"===a[2]||"odd"===a[2])),a[4]=+(a[6]+a[7]||"odd"===a[2])):a[2]&&fb.error(a[0]),a},PSEUDO:function(a){var b,c=a[4];return S.CHILD.test(a[0])?null:(c&&(b=K.exec(c))&&b.pop()&&(a[0]=a[0].slice(0,b[0].length-c.length-1),c=b[0].slice(0,-1)),a.splice(2,3,c||a[3]),a)}},filter:{ID:o?function(a){return a=a.replace(R,""),function(b){return b.getAttribute("id")===a}}:function(a){return a=a.replace(R,""),function(b){var c=typeof b.getAttributeNode!==r&&b.getAttributeNode("id");return c&&c.value===a}},TAG:function(a){return"*"===a?function(){return!0}:(a=a.replace(R,"").toLowerCase(),function(b){return b.nodeName&&b.nodeName.toLowerCase()===a})},CLASS:function(a){var b=T[a];return b||(b=T[a]=new RegExp("(^|"+y+")"+a+"("+y+"|$)"),U.push(a),U.length>gb.cacheLength&&delete T[U.shift()]),function(a){return b.test(a.className||typeof a.getAttribute!==r&&a.getAttribute("class")||"")}},ATTR:function(a,b,c){return b?function(d){var e=fb.attr(d,a),f=e+"";if(null==e)return"!="===b;switch(b){case"=":return f===c;case"!=":return f!==c;case"^=":return c&&0===f.indexOf(c);case"*=":return c&&f.indexOf(c)>-1;case"$=":return c&&f.substr(f.length-c.length)===c;case"~=":return(" "+f+" ").indexOf(c)>-1;case"|=":return f===c||f.substr(0,c.length+1)===c+"-"}}:function(b){return null!=fb.attr(b,a)}},CHILD:function(a,b,c,d){if("nth"===a){var e=u++;return function(a){var b,f,g=0,h=a;if(1===c&&0===d)return!0;if(b=a.parentNode,b&&(b[x]!==e||!a.sizset)){for(h=b.firstChild;h&&(1!==h.nodeType||(h.sizset=++g,h!==a));h=h.nextSibling);b[x]=e}return f=a.sizset-d,0===c?0===f:f%c===0&&f/c>=0}}return function(b){var c=b;switch(a){case"only":case"first":for(;c=c.previousSibling;)if(1===c.nodeType)return!1;if("first"===a)return!0;c=b;case"last":for(;c=c.nextSibling;)if(1===c.nodeType)return!1;return!0}}},PSEUDO:function(a,b,c,d){var e=gb.pseudos[a]||gb.pseudos[a.toLowerCase()];return e||fb.error("unsupported pseudo: "+a),e.sizzleFilter?e(b,c,d):e}},pseudos:{not:X(function(a,b,c){var d=lb(a.replace(H,"$1"),b,c);return function(a){return!d(a)}}),enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},parent:function(a){return!gb.pseudos.empty(a)},empty:function(a){var b;for(a=a.firstChild;a;){if(a.nodeName>"@"||3===(b=a.nodeType)||4===b)return!1;a=a.nextSibling}return!0},contains:X(function(a){return function(b){return(b.textContent||b.innerText||kb(b)).indexOf(a)>-1}}),has:X(function(a){return function(b){return fb(a,b).length>0}}),header:function(a){return P.test(a.nodeName)},text:function(a){var b,c;return"input"===a.nodeName.toLowerCase()&&"text"===(b=a.type)&&(null==(c=a.getAttribute("type"))||c.toLowerCase()===b)},radio:Y("radio"),checkbox:Y("checkbox"),file:Y("file"),password:Y("password"),image:Y("image"),submit:Z("submit"),reset:Z("reset"),button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},input:function(a){return Q.test(a.nodeName)},focus:function(a){var b=a.ownerDocument;return!(a!==b.activeElement||b.hasFocus&&!b.hasFocus()||!a.type&&!a.href)},active:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b,c){return c?a.slice(1):[a[0]]},last:function(a,b,c){var d=a.pop();return c?a:[d]},even:function(a,b,c){for(var d=[],e=c?1:0,f=a.length;f>e;e+=2)d.push(a[e]);return d},odd:function(a,b,c){for(var d=[],e=c?0:1,f=a.length;f>e;e+=2)d.push(a[e]);return d},lt:function(a,b,c){return c?a.slice(+b):a.slice(0,+b)},gt:function(a,b,c){return c?a.slice(0,+b+1):a.slice(+b+1)},eq:function(a,b,c){var d=a.splice(+b,1);return c?a:d}}};gb.setFilters.nth=gb.setFilters.eq,gb.filters=gb.pseudos,db||(gb.attrHandle={href:function(a){return a.getAttribute("href",2)},type:function(a){return a.getAttribute("type")}}),bb&&(gb.order.push("NAME"),gb.find.NAME=function(a,b){return typeof b.getElementsByName!==r?b.getElementsByName(a):void 0}),eb&&(gb.order.splice(1,0,"CLASS"),gb.find.CLASS=function(a,b,c){return typeof b.getElementsByClassName===r||c?void 0:b.getElementsByClassName(a)});try{v.call(q.childNodes,0)[0].nodeType}catch(hb){v=function(a){for(var b,c=[];b=this[a];a++)c.push(b);return c}}var ib=fb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},jb=fb.contains=q.compareDocumentPosition?function(a,b){return!!(16&a.compareDocumentPosition(b))}:q.contains?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b.parentNode;return a===d||!!(d&&1===d.nodeType&&c.contains&&c.contains(d))}:function(a,b){for(;b=b.parentNode;)if(b===a)return!0;return!1},kb=fb.getText=function(a){var b,c="",d=0,e=a.nodeType;if(e){if(1===e||9===e||11===e){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=kb(a)}else if(3===e||4===e)return a.nodeValue}else for(;b=a[d];d++)c+=kb(b);return c};fb.attr=function(a,b){var c,d=ib(a);return d||(b=b.toLowerCase()),gb.attrHandle[b]?gb.attrHandle[b](a):ab||d?a.getAttribute(b):(c=a.getAttributeNode(b),c?"boolean"==typeof a[b]?a[b]?b:null:c.specified?c.value:null:null)},fb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},[0,0].sort(function(){return t=0}),q.compareDocumentPosition?m=function(a,b){return a===b?(s=!0,0):(a.compareDocumentPosition&&b.compareDocumentPosition?4&a.compareDocumentPosition(b):a.compareDocumentPosition)?-1:1}:(m=function(a,b){if(a===b)return s=!0,0;if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],g=a.parentNode,h=b.parentNode,i=g;if(g===h)return n(a,b);if(!g)return-1;if(!h)return 1;for(;i;)e.unshift(i),i=i.parentNode;for(i=h;i;)f.unshift(i),i=i.parentNode;c=e.length,d=f.length;for(var j=0;c>j&&d>j;j++)if(e[j]!==f[j])return n(e[j],f[j]);return j===c?n(a,f[j],-1):n(e[j],b,1)},n=function(a,b,c){if(a===b)return c;for(var d=a.nextSibling;d;){if(d===b)return-1;d=d.nextSibling}return 1}),fb.uniqueSort=function(a){var b,c=1;if(m&&(s=t,a.sort(m),s))for(;b=a[c];c++)b===a[c-1]&&a.splice(c--,1);return a};var lb=fb.compile=function(a,b,c){var d,e,g,h=V[a];if(h&&h.context===b)return h;for(e=f(a,b,c),g=0;d=e[g];g++)e[g]=i(d,b,c);return h=V[a]=j(e),h.context=b,h.runs=h.dirruns=0,W.push(a),W.length>gb.cacheLength&&delete V[W.shift()],h};fb.matches=function(a,b){return fb(a,null,null,b)},fb.matchesSelector=function(a,b){return fb(b,null,null,[a]).length>0};var mb=function(a,b,c,d,f){a=a.replace(H,"$1");var g,h,i,j,m,n,o,p,q,r=a.match(J),s=a.match(L),t=b.nodeType;if(S.POS.test(a))return e(a,b,c,d,r);if(d)g=v.call(d,0);else if(r&&1===r.length){if(s.length>1&&9===t&&!f&&(r=S.ID.exec(s[0]))){if(b=gb.find.ID(r[1],b,f)[0],!b)return c;a=a.slice(s.shift().length)}for(p=(r=N.exec(s[0]))&&!r.index&&b.parentNode||b,q=s.pop(),n=q.split(":not")[0],i=0,j=gb.order.length;j>i;i++)if(o=gb.order[i],r=S[o].exec(n)){if(g=gb.find[o]((r[1]||"").replace(R,""),p,f),null==g)continue;n===q&&(a=a.slice(0,a.length-q.length)+n.replace(S[o],""),a||w.apply(c,v.call(g,0)));break}}if(a)for(h=lb(a,b,f),l=h.dirruns++,null==g&&(g=gb.find.TAG("*",N.test(a)&&b.parentNode||b)),i=0;m=g[i];i++)k=h.runs++,h(m,b)&&c.push(m);return c};p.querySelectorAll&&function(){var a,b=mb,c=/'|\\/g,d=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,e=[],f=[":active"],g=q.matchesSelector||q.mozMatchesSelector||q.webkitMatchesSelector||q.oMatchesSelector||q.msMatchesSelector;_(function(a){a.innerHTML="",a.querySelectorAll("[selected]").length||e.push("\\["+y+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),a.querySelectorAll(":checked").length||e.push(":checked")}),_(function(a){a.innerHTML="

",a.querySelectorAll("[test^='']").length&&e.push("[*^$]="+y+"*(?:\"\"|'')"),a.innerHTML="",a.querySelectorAll(":enabled").length||e.push(":enabled",":disabled")}),e=e.length&&new RegExp(e.join("|")),mb=function(a,d,f,g,h){if(!(g||h||e&&e.test(a)))if(9===d.nodeType)try{return w.apply(f,v.call(d.querySelectorAll(a),0)),f}catch(i){}else if(1===d.nodeType&&"object"!==d.nodeName.toLowerCase()){var j=d.getAttribute("id"),k=j||x,l=N.test(a)&&d.parentNode||d;j?k=k.replace(c,"\\$&"):d.setAttribute("id",k);try{return w.apply(f,v.call(l.querySelectorAll(a.replace(J,"[id='"+k+"'] $&")),0)),f}catch(i){}finally{j||d.removeAttribute("id")}}return b(a,d,f,g,h)},g&&(_(function(b){a=g.call(b,"div");try{g.call(b,"[test!='']:sizzle"),f.push(gb.match.PSEUDO)}catch(c){}}),f=new RegExp(f.join("|")),fb.matchesSelector=function(b,c){if(c=c.replace(d,"='$1']"),!(ib(b)||f.test(c)||e&&e.test(c)))try{var h=g.call(b,c);if(h||a||b.document&&11!==b.document.nodeType)return h}catch(i){}return fb(c,null,null,[b]).length>0})}(),fb.attr=$.attr,$.find=fb,$.expr=fb.selectors,$.expr[":"]=$.expr.pseudos,$.unique=fb.uniqueSort,$.text=fb.getText,$.isXMLDoc=fb.isXML,$.contains=fb.contains}(a);var Ib=/Until$/,Jb=/^(?:parents|prev(?:Until|All))/,Kb=/^.[^:#\[\.,]*$/,Lb=$.expr.match.needsContext,Mb={children:!0,contents:!0,next:!0,prev:!0};$.fn.extend({find:function(a){var b,c,d,e,f,g,h=this;if("string"!=typeof a)return $(a).filter(function(){for(b=0,c=h.length;c>b;b++)if($.contains(h[b],this))return!0});for(g=this.pushStack("","find",a),b=0,c=this.length;c>b;b++)if(d=g.length,$.find(a,this[b],g),b>0)for(e=d;ef;f++)if(g[f]===g[e]){g.splice(e--,1);break}return g},has:function(a){var b,c=$(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if($.contains(this,c[b]))return!0})},not:function(a){return this.pushStack(j(this,a,!1),"not",a)},filter:function(a){return this.pushStack(j(this,a,!0),"filter",a)},is:function(a){return!!a&&("string"==typeof a?Lb.test(a)?$(a,this.context).index(this[0])>=0:$.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=Lb.test(a)||"string"!=typeof a?$(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c.ownerDocument&&c!==b&&11!==c.nodeType;){if(g?g.index(c)>-1:$.find.matchesSelector(c,a)){f.push(c);break}c=c.parentNode}return f=f.length>1?$.unique(f):f,this.pushStack(f,"closest",a)},index:function(a){return a?"string"==typeof a?$.inArray(this[0],$(a)):$.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(a,b){var c="string"==typeof a?$(a,b):$.makeArray(a&&a.nodeType?[a]:a),d=$.merge(this.get(),c);return this.pushStack(h(c[0])||h(d[0])?d:$.unique(d))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}}),$.fn.andSelf=$.fn.addBack,$.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return $.dir(a,"parentNode")},parentsUntil:function(a,b,c){return $.dir(a,"parentNode",c)},next:function(a){return i(a,"nextSibling")},prev:function(a){return i(a,"previousSibling")},nextAll:function(a){return $.dir(a,"nextSibling")},prevAll:function(a){return $.dir(a,"previousSibling")},nextUntil:function(a,b,c){return $.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return $.dir(a,"previousSibling",c)},siblings:function(a){return $.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return $.sibling(a.firstChild)},contents:function(a){return $.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:$.merge([],a.childNodes)}},function(a,b){$.fn[a]=function(c,d){var e=$.map(this,b,c);return Ib.test(a)||(d=c),d&&"string"==typeof d&&(e=$.filter(d,e)),e=this.length>1&&!Mb[a]?$.unique(e):e,this.length>1&&Jb.test(a)&&(e=e.reverse()),this.pushStack(e,a,V.call(arguments).join(","))}}),$.extend({filter:function(a,b,c){return c&&(a=":not("+a+")"),1===b.length?$.find.matchesSelector(b[0],a)?[b[0]]:[]:$.find.matches(a,b)},dir:function(a,c,d){for(var e=[],f=a[c];f&&9!==f.nodeType&&(d===b||1!==f.nodeType||!$(f).is(d));)1===f.nodeType&&e.push(f),f=f[c];return e},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}});var Nb="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",Ob=/ jQuery\d+="(?:null|\d+)"/g,Pb=/^\s+/,Qb=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,Rb=/<([\w:]+)/,Sb=/]","i"),Xb=/^(?:checkbox|radio)$/,Yb=/checked\s*(?:[^=]|=\s*.checked.)/i,Zb=/\/(java|ecma)script/i,$b=/^\s*\s*$/g,_b={option:[1,""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},ac=k(P),bc=ac.appendChild(P.createElement("div"));_b.optgroup=_b.option,_b.tbody=_b.tfoot=_b.colgroup=_b.caption=_b.thead,_b.th=_b.td,$.support.htmlSerialize||(_b._default=[1,"X
","
"]),$.fn.extend({text:function(a){return $.access(this,function(a){return a===b?$.text(this):this.empty().append((this[0]&&this[0].ownerDocument||P).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if($.isFunction(a))return this.each(function(b){$(this).wrapAll(a.call(this,b))});if(this[0]){var b=$(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){for(var a=this;a.firstChild&&1===a.firstChild.nodeType;)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return this.each($.isFunction(a)?function(b){$(this).wrapInner(a.call(this,b))}:function(){var b=$(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=$.isFunction(a);return this.each(function(c){$(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){$.nodeName(this,"body")||$(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){(1===this.nodeType||11===this.nodeType)&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){(1===this.nodeType||11===this.nodeType)&&this.insertBefore(a,this.firstChild)})},before:function(){if(!h(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=$.clean(arguments);return this.pushStack($.merge(a,this),"before",this.selector)}},after:function(){if(!h(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=$.clean(arguments);return this.pushStack($.merge(this,a),"after",this.selector)}},remove:function(a,b){for(var c,d=0;null!=(c=this[d]);d++)(!a||$.filter(a,[c]).length)&&(!b&&1===c.nodeType&&($.cleanData(c.getElementsByTagName("*")),$.cleanData([c])),c.parentNode&&c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)for(1===a.nodeType&&$.cleanData(a.getElementsByTagName("*"));a.firstChild;)a.removeChild(a.firstChild);return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return $.clone(this,a,b)})},html:function(a){return $.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return 1===c.nodeType?c.innerHTML.replace(Ob,""):b;if(!("string"!=typeof a||Ub.test(a)||!$.support.htmlSerialize&&Wb.test(a)||!$.support.leadingWhitespace&&Pb.test(a)||_b[(Rb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(Qb,"<$1>");try{for(;e>d;d++)c=this[d]||{},1===c.nodeType&&($.cleanData(c.getElementsByTagName("*")),c.innerHTML=a);c=0}catch(f){}}c&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(a){return h(this[0])?this.length?this.pushStack($($.isFunction(a)?a():a),"replaceWith",a):this:$.isFunction(a)?this.each(function(b){var c=$(this),d=c.html();c.replaceWith(a.call(this,b,d))}):("string"!=typeof a&&(a=$(a).detach()),this.each(function(){var b=this.nextSibling,c=this.parentNode;$(this).remove(),b?$(b).before(a):$(c).append(a)}))},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){a=[].concat.apply([],a);var e,f,g,h,i=0,j=a[0],k=[],m=this.length;if(!$.support.checkClone&&m>1&&"string"==typeof j&&Yb.test(j))return this.each(function(){$(this).domManip(a,c,d)});if($.isFunction(j))return this.each(function(e){var f=$(this);a[0]=j.call(this,e,c?f.html():b),f.domManip(a,c,d)});if(this[0]){if(e=$.buildFragment(a,this,k),g=e.fragment,f=g.firstChild,1===g.childNodes.length&&(g=f),f)for(c=c&&$.nodeName(f,"tr"),h=e.cacheable||m-1;m>i;i++)d.call(c&&$.nodeName(this[i],"table")?l(this[i],"tbody"):this[i],i===h?g:$.clone(g,!0,!0));g=f=null,k.length&&$.each(k,function(a,b){b.src?$.ajax?$.ajax({url:b.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):$.error("no ajax"):$.globalEval((b.text||b.textContent||b.innerHTML||"").replace($b,"")),b.parentNode&&b.parentNode.removeChild(b)})}return this}}),$.buildFragment=function(a,c,d){var e,f,g,h=a[0];return c=c||P,c=(c[0]||c).ownerDocument||c[0]||c,"undefined"==typeof c.createDocumentFragment&&(c=P),1===a.length&&"string"==typeof h&&h.length<512&&c===P&&"<"===h.charAt(0)&&!Vb.test(h)&&($.support.checkClone||!Yb.test(h))&&($.support.html5Clone||!Wb.test(h))&&(f=!0,e=$.fragments[h],g=e!==b),e||(e=c.createDocumentFragment(),$.clean(a,c,e,d),f&&($.fragments[h]=g&&e)),{fragment:e,cacheable:f}},$.fragments={},$.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){$.fn[a]=function(c){var d,e=0,f=[],g=$(c),h=g.length,i=1===this.length&&this[0].parentNode;if((null==i||i&&11===i.nodeType&&1===i.childNodes.length)&&1===h)return g[b](this[0]),this;for(;h>e;e++)d=(e>0?this.clone(!0):this).get(),$(g[e])[b](d),f=f.concat(d);return this.pushStack(f,a,g.selector)}}),$.extend({clone:function(a,b,c){var d,e,f,g;if($.support.html5Clone||$.isXMLDoc(a)||!Wb.test("<"+a.nodeName+">")?g=a.cloneNode(!0):(bc.innerHTML=a.outerHTML,bc.removeChild(g=bc.firstChild)),!($.support.noCloneEvent&&$.support.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||$.isXMLDoc(a)))for(n(a,g),d=o(a),e=o(g),f=0;d[f];++f)e[f]&&n(d[f],e[f]);if(b&&(m(a,g),c))for(d=o(a),e=o(g),f=0;d[f];++f)m(d[f],e[f]);return d=e=null,g},clean:function(a,b,c,d){var e,f,g,h,i,j,l,m,n,o,q,r=0,s=[];for(b&&"undefined"!=typeof b.createDocumentFragment||(b=P),f=b===P&∾null!=(g=a[r]);r++)if("number"==typeof g&&(g+=""),g){if("string"==typeof g)if(Tb.test(g)){for(f=f||k(b),l=l||f.appendChild(b.createElement("div")),g=g.replace(Qb,"<$1>"),h=(Rb.exec(g)||["",""])[1].toLowerCase(),i=_b[h]||_b._default,j=i[0],l.innerHTML=i[1]+g+i[2];j--;)l=l.lastChild;if(!$.support.tbody)for(m=Sb.test(g),n="table"!==h||m?""!==i[1]||m?[]:l.childNodes:l.firstChild&&l.firstChild.childNodes,e=n.length-1;e>=0;--e)$.nodeName(n[e],"tbody")&&!n[e].childNodes.length&&n[e].parentNode.removeChild(n[e]);!$.support.leadingWhitespace&&Pb.test(g)&&l.insertBefore(b.createTextNode(Pb.exec(g)[0]),l.firstChild),g=l.childNodes,l=f.lastChild}else g=b.createTextNode(g);g.nodeType?s.push(g):s=$.merge(s,g)}if(l&&(f.removeChild(l),g=l=f=null),!$.support.appendChecked)for(r=0;null!=(g=s[r]);r++)$.nodeName(g,"input")?p(g):"undefined"!=typeof g.getElementsByTagName&&$.grep(g.getElementsByTagName("input"),p);if(c)for(o=function(a){return!a.type||Zb.test(a.type)?d?d.push(a.parentNode?a.parentNode.removeChild(a):a):c.appendChild(a):void 0},r=0;null!=(g=s[r]);r++)$.nodeName(g,"script")&&o(g)||(c.appendChild(g),"undefined"!=typeof g.getElementsByTagName&&(q=$.grep($.merge([],g.getElementsByTagName("script")),o),s.splice.apply(s,[r+1,0].concat(q)),r+=q.length));return s},cleanData:function(a,b){for(var c,d,e,f,g=0,h=$.expando,i=$.cache,j=$.support.deleteExpando,k=$.event.special;null!=(e=a[g]);g++)if((b||$.acceptData(e))&&(d=e[h],c=d&&i[d])){if(c.events)for(f in c.events)k[f]?$.event.remove(e,f):$.removeEvent(e,f,c.handle);i[d]&&(delete i[d],j?delete e[h]:e.removeAttribute?e.removeAttribute(h):e[h]=null,$.deletedIds.push(d))}}}),function(){var a,b;$.uaMatch=function(a){a=a.toLowerCase();var b=/(chrome)[ \/]([\w.]+)/.exec(a)||/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||a.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},a=$.uaMatch(R.userAgent),b={},a.browser&&(b[a.browser]=!0,b.version=a.version),b.webkit&&(b.safari=!0),$.browser=b,$.sub=function(){function a(b,c){return new a.fn.init(b,c)}$.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function c(c,d){return d&&d instanceof $&&!(d instanceof a)&&(d=a(d)),$.fn.init.call(this,c,d,b)},a.fn.init.prototype=a.fn;var b=a(P);return a}}();var cc,dc,ec,fc=/alpha\([^)]*\)/i,gc=/opacity=([^)]*)/,hc=/^(top|right|bottom|left)$/,ic=/^margin/,jc=new RegExp("^("+_+")(.*)$","i"),kc=new RegExp("^("+_+")(?!px)[a-z%]+$","i"),lc=new RegExp("^([-+])=("+_+")","i"),mc={},nc={position:"absolute",visibility:"hidden",display:"block"},oc={letterSpacing:0,fontWeight:400,lineHeight:1},pc=["Top","Right","Bottom","Left"],qc=["Webkit","O","Moz","ms"],rc=$.fn.toggle;$.fn.extend({css:function(a,c){return $.access(this,function(a,c,d){return d!==b?$.style(a,c,d):$.css(a,c)},a,c,arguments.length>1)},show:function(){return s(this,!0)},hide:function(){return s(this)},toggle:function(a,b){var c="boolean"==typeof a;return $.isFunction(a)&&$.isFunction(b)?rc.apply(this,arguments):this.each(function(){(c?a:r(this))?$(this).show():$(this).hide()})}}),$.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=cc(a,"opacity");return""===c?"1":c}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":$.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var f,g,h,i=$.camelCase(c),j=a.style;if(c=$.cssProps[i]||($.cssProps[i]=q(j,i)),h=$.cssHooks[c]||$.cssHooks[i],d===b)return h&&"get"in h&&(f=h.get(a,!1,e))!==b?f:j[c];if(g=typeof d,"string"===g&&(f=lc.exec(d))&&(d=(f[1]+1)*f[2]+parseFloat($.css(a,c)),g="number"),!(null==d||"number"===g&&isNaN(d)||("number"===g&&!$.cssNumber[i]&&(d+="px"),h&&"set"in h&&(d=h.set(a,d,e))===b)))try{j[c]=d}catch(k){}}},css:function(a,c,d,e){var f,g,h,i=$.camelCase(c);return c=$.cssProps[i]||($.cssProps[i]=q(a.style,i)),h=$.cssHooks[c]||$.cssHooks[i],h&&"get"in h&&(f=h.get(a,!0,e)),f===b&&(f=cc(a,c)),"normal"===f&&c in oc&&(f=oc[c]),d||e!==b?(g=parseFloat(f),d||$.isNumeric(g)?g||0:f):f},swap:function(a,b,c){var d,e,f={};for(e in b)f[e]=a.style[e],a.style[e]=b[e];d=c.call(a);for(e in b)a.style[e]=f[e];return d}}),a.getComputedStyle?cc=function(a,b){var c,d,e,f,g=getComputedStyle(a,null),h=a.style;return g&&(c=g[b],""===c&&!$.contains(a.ownerDocument.documentElement,a)&&(c=$.style(a,b)),kc.test(c)&&ic.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=c,c=g.width,h.width=d,h.minWidth=e,h.maxWidth=f)),c}:P.documentElement.currentStyle&&(cc=function(a,b){var c,d,e=a.currentStyle&&a.currentStyle[b],f=a.style;return null==e&&f&&f[b]&&(e=f[b]),kc.test(e)&&!hc.test(b)&&(c=f.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),f.left="fontSize"===b?"1em":e,e=f.pixelLeft+"px",f.left=c,d&&(a.runtimeStyle.left=d)),""===e?"auto":e}),$.each(["height","width"],function(a,b){$.cssHooks[b]={get:function(a,c,d){return c?0!==a.offsetWidth||"none"!==cc(a,"display")?v(a,b,d):$.swap(a,nc,function(){return v(a,b,d)}):void 0},set:function(a,c,d){return t(a,c,d?u(a,b,d,$.support.boxSizing&&"border-box"===$.css(a,"boxSizing")):0)}}}),$.support.opacity||($.cssHooks.opacity={get:function(a,b){return gc.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=$.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,b>=1&&""===$.trim(f.replace(fc,""))&&c.removeAttribute&&(c.removeAttribute("filter"),d&&!d.filter)||(c.filter=fc.test(f)?f.replace(fc,e):f+" "+e)}}),$(function(){$.support.reliableMarginRight||($.cssHooks.marginRight={get:function(a,b){return $.swap(a,{display:"inline-block"},function(){return b?cc(a,"marginRight"):void 0})}}),!$.support.pixelPosition&&$.fn.position&&$.each(["top","left"],function(a,b){$.cssHooks[b]={get:function(a,c){if(c){var d=cc(a,b);return kc.test(d)?$(a).position()[b]+"px":d}}}})}),$.expr&&$.expr.filters&&($.expr.filters.hidden=function(a){return 0===a.offsetWidth&&0===a.offsetHeight||!$.support.reliableHiddenOffsets&&"none"===(a.style&&a.style.display||cc(a,"display"))},$.expr.filters.visible=function(a){return!$.expr.filters.hidden(a)}),$.each({margin:"",padding:"",border:"Width"},function(a,b){$.cssHooks[a+b]={expand:function(c){var d,e="string"==typeof c?c.split(" "):[c],f={};for(d=0;4>d;d++)f[a+pc[d]+b]=e[d]||e[d-2]||e[0];return f}},ic.test(a)||($.cssHooks[a+b].set=t)});var sc=/%20/g,tc=/\[\]$/,uc=/\r?\n/g,vc=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,wc=/^(?:select|textarea)/i;$.fn.extend({serialize:function(){return $.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?$.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||wc.test(this.nodeName)||vc.test(this.type))}).map(function(a,b){var c=$(this).val();return null==c?null:$.isArray(c)?$.map(c,function(a){return{name:b.name,value:a.replace(uc,"\r\n")}}):{name:b.name,value:c.replace(uc,"\r\n")}}).get()}}),$.param=function(a,c){var d,e=[],f=function(a,b){b=$.isFunction(b)?b():null==b?"":b,e[e.length]=encodeURIComponent(a)+"="+encodeURIComponent(b) -};if(c===b&&(c=$.ajaxSettings&&$.ajaxSettings.traditional),$.isArray(a)||a.jquery&&!$.isPlainObject(a))$.each(a,function(){f(this.name,this.value)});else for(d in a)x(d,a[d],c,f);return e.join("&").replace(sc,"+")};var xc,yc,zc=/#.*$/,Ac=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Bc=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,Cc=/^(?:GET|HEAD)$/,Dc=/^\/\//,Ec=/\?/,Fc=/)<[^<]*)*<\/script>/gi,Gc=/([?&])_=[^&]*/,Hc=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,Ic=$.fn.load,Jc={},Kc={},Lc=["*/"]+["*"];try{xc=Q.href}catch(Mc){xc=P.createElement("a"),xc.href="",xc=xc.href}yc=Hc.exec(xc.toLowerCase())||[],$.fn.load=function(a,c,d){if("string"!=typeof a&&Ic)return Ic.apply(this,arguments);if(!this.length)return this;var e,f,g,h=this,i=a.indexOf(" ");return i>=0&&(e=a.slice(i,a.length),a=a.slice(0,i)),$.isFunction(c)?(d=c,c=b):"object"==typeof c&&(f="POST"),$.ajax({url:a,type:f,dataType:"html",data:c,complete:function(a,b){d&&h.each(d,g||[a.responseText,b,a])}}).done(function(a){g=arguments,h.html(e?$("
").append(a.replace(Fc,"")).find(e):a)}),this},$.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){$.fn[b]=function(a){return this.on(b,a)}}),$.each(["get","post"],function(a,c){$[c]=function(a,d,e,f){return $.isFunction(d)&&(f=f||e,e=d,d=b),$.ajax({type:c,url:a,data:d,success:e,dataType:f})}}),$.extend({getScript:function(a,c){return $.get(a,b,c,"script")},getJSON:function(a,b,c){return $.get(a,b,c,"json")},ajaxSetup:function(a,b){return b?A(a,$.ajaxSettings):(b=a,a=$.ajaxSettings),A(a,b),a},ajaxSettings:{url:xc,isLocal:Bc.test(yc[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":Lc},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":$.parseJSON,"text xml":$.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:y(Jc),ajaxTransport:y(Kc),ajax:function(a,c){function d(a,c,d,g){var j,l,s,t,v,x=c;2!==u&&(u=2,i&&clearTimeout(i),h=b,f=g||"",w.readyState=a>0?4:0,d&&(t=B(m,w,d)),a>=200&&300>a||304===a?(m.ifModified&&(v=w.getResponseHeader("Last-Modified"),v&&($.lastModified[e]=v),v=w.getResponseHeader("Etag"),v&&($.etag[e]=v)),304===a?(x="notmodified",j=!0):(j=C(m,t),x=j.state,l=j.data,s=j.error,j=!s)):(s=x,(!x||a)&&(x="error",0>a&&(a=0))),w.status=a,w.statusText=""+(c||x),j?p.resolveWith(n,[l,x,w]):p.rejectWith(n,[w,x,s]),w.statusCode(r),r=b,k&&o.trigger("ajax"+(j?"Success":"Error"),[w,m,j?l:s]),q.fireWith(n,[w,x]),k&&(o.trigger("ajaxComplete",[w,m]),--$.active||$.event.trigger("ajaxStop")))}"object"==typeof a&&(c=a,a=b),c=c||{};var e,f,g,h,i,j,k,l,m=$.ajaxSetup({},c),n=m.context||m,o=n!==m&&(n.nodeType||n instanceof $)?$(n):$.event,p=$.Deferred(),q=$.Callbacks("once memory"),r=m.statusCode||{},s={},t={},u=0,v="canceled",w={readyState:0,setRequestHeader:function(a,b){if(!u){var c=a.toLowerCase();a=t[c]=t[c]||a,s[a]=b}return this},getAllResponseHeaders:function(){return 2===u?f:null},getResponseHeader:function(a){var c;if(2===u){if(!g)for(g={};c=Ac.exec(f);)g[c[1].toLowerCase()]=c[2];c=g[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){return u||(m.mimeType=a),this},abort:function(a){return a=a||v,h&&h.abort(a),d(0,a),this}};if(p.promise(w),w.success=w.done,w.error=w.fail,w.complete=q.add,w.statusCode=function(a){if(a){var b;if(2>u)for(b in a)r[b]=[r[b],a[b]];else b=a[w.status],w.always(b)}return this},m.url=((a||m.url)+"").replace(zc,"").replace(Dc,yc[1]+"//"),m.dataTypes=$.trim(m.dataType||"*").toLowerCase().split(bb),null==m.crossDomain&&(j=Hc.exec(m.url.toLowerCase()),m.crossDomain=!(!j||j[1]==yc[1]&&j[2]==yc[2]&&(j[3]||("http:"===j[1]?80:443))==(yc[3]||("http:"===yc[1]?80:443)))),m.data&&m.processData&&"string"!=typeof m.data&&(m.data=$.param(m.data,m.traditional)),z(Jc,m,c,w),2===u)return w;if(k=m.global,m.type=m.type.toUpperCase(),m.hasContent=!Cc.test(m.type),k&&0===$.active++&&$.event.trigger("ajaxStart"),!m.hasContent&&(m.data&&(m.url+=(Ec.test(m.url)?"&":"?")+m.data,delete m.data),e=m.url,m.cache===!1)){var x=$.now(),y=m.url.replace(Gc,"$1_="+x);m.url=y+(y===m.url?(Ec.test(m.url)?"&":"?")+"_="+x:"")}(m.data&&m.hasContent&&m.contentType!==!1||c.contentType)&&w.setRequestHeader("Content-Type",m.contentType),m.ifModified&&(e=e||m.url,$.lastModified[e]&&w.setRequestHeader("If-Modified-Since",$.lastModified[e]),$.etag[e]&&w.setRequestHeader("If-None-Match",$.etag[e])),w.setRequestHeader("Accept",m.dataTypes[0]&&m.accepts[m.dataTypes[0]]?m.accepts[m.dataTypes[0]]+("*"!==m.dataTypes[0]?", "+Lc+"; q=0.01":""):m.accepts["*"]);for(l in m.headers)w.setRequestHeader(l,m.headers[l]);if(!m.beforeSend||m.beforeSend.call(n,w,m)!==!1&&2!==u){v="abort";for(l in{success:1,error:1,complete:1})w[l](m[l]);if(h=z(Kc,m,c,w)){w.readyState=1,k&&o.trigger("ajaxSend",[w,m]),m.async&&m.timeout>0&&(i=setTimeout(function(){w.abort("timeout")},m.timeout));try{u=1,h.send(s,d)}catch(A){if(!(2>u))throw A;d(-1,A)}}else d(-1,"No Transport");return w}return w.abort()},active:0,lastModified:{},etag:{}});var Nc=[],Oc=/\?/,Pc=/(=)\?(?=&|$)|\?\?/,Qc=$.now();$.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Nc.pop()||$.expando+"_"+Qc++;return this[a]=!0,a}}),$.ajaxPrefilter("json jsonp",function(c,d,e){var f,g,h,i=c.data,j=c.url,k=c.jsonp!==!1,l=k&&Pc.test(j),m=k&&!l&&"string"==typeof i&&!(c.contentType||"").indexOf("application/x-www-form-urlencoded")&&Pc.test(i);return"jsonp"===c.dataTypes[0]||l||m?(f=c.jsonpCallback=$.isFunction(c.jsonpCallback)?c.jsonpCallback():c.jsonpCallback,g=a[f],l?c.url=j.replace(Pc,"$1"+f):m?c.data=i.replace(Pc,"$1"+f):k&&(c.url+=(Oc.test(j)?"&":"?")+c.jsonp+"="+f),c.converters["script json"]=function(){return h||$.error(f+" was not called"),h[0]},c.dataTypes[0]="json",a[f]=function(){h=arguments},e.always(function(){a[f]=g,c[f]&&(c.jsonpCallback=d.jsonpCallback,Nc.push(f)),h&&$.isFunction(g)&&g(h[0]),h=g=b}),"script"):void 0}),$.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){return $.globalEval(a),a}}}),$.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),$.ajaxTransport("script",function(a){if(a.crossDomain){var c,d=P.head||P.getElementsByTagName("head")[0]||P.documentElement;return{send:function(e,f){c=P.createElement("script"),c.async="async",a.scriptCharset&&(c.charset=a.scriptCharset),c.src=a.url,c.onload=c.onreadystatechange=function(a,e){(e||!c.readyState||/loaded|complete/.test(c.readyState))&&(c.onload=c.onreadystatechange=null,d&&c.parentNode&&d.removeChild(c),c=b,e||f(200,"success"))},d.insertBefore(c,d.firstChild)},abort:function(){c&&c.onload(0,1)}}}});var Rc,Sc=a.ActiveXObject?function(){for(var a in Rc)Rc[a](0,1)}:!1,Tc=0;$.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&D()||E()}:D,function(a){$.extend($.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}($.ajaxSettings.xhr()),$.support.ajax&&$.ajaxTransport(function(c){if(!c.crossDomain||$.support.cors){var d;return{send:function(e,f){var g,h,i=c.xhr();if(c.username?i.open(c.type,c.url,c.async,c.username,c.password):i.open(c.type,c.url,c.async),c.xhrFields)for(h in c.xhrFields)i[h]=c.xhrFields[h];c.mimeType&&i.overrideMimeType&&i.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(h in e)i.setRequestHeader(h,e[h])}catch(j){}i.send(c.hasContent&&c.data||null),d=function(a,e){var h,j,k,l,m;try{if(d&&(e||4===i.readyState))if(d=b,g&&(i.onreadystatechange=$.noop,Sc&&delete Rc[g]),e)4!==i.readyState&&i.abort();else{h=i.status,k=i.getAllResponseHeaders(),l={},m=i.responseXML,m&&m.documentElement&&(l.xml=m);try{l.text=i.responseText}catch(a){}try{j=i.statusText}catch(n){j=""}h||!c.isLocal||c.crossDomain?1223===h&&(h=204):h=l.text?200:404}}catch(o){e||f(-1,o)}l&&f(h,j,l,k)},c.async?4===i.readyState?setTimeout(d,0):(g=++Tc,Sc&&(Rc||(Rc={},$(a).unload(Sc)),Rc[g]=d),i.onreadystatechange=d):d()},abort:function(){d&&d(0,1)}}}});var Uc,Vc,Wc=/^(?:toggle|show|hide)$/,Xc=new RegExp("^(?:([-+])=|)("+_+")([a-z%]*)$","i"),Yc=/queueHooks$/,Zc=[J],$c={"*":[function(a,b){var c,d,e,f=this.createTween(a,b),g=Xc.exec(b),h=f.cur(),i=+h||0,j=1;if(g){if(c=+g[2],d=g[3]||($.cssNumber[a]?"":"px"),"px"!==d&&i){i=$.css(f.elem,a,!0)||c||1;do e=j=j||".5",i/=j,$.style(f.elem,a,i+d),j=f.cur()/h;while(1!==j&&j!==e)}f.unit=d,f.start=i,f.end=g[1]?i+(g[1]+1)*c:c}return f}]};$.Animation=$.extend(H,{tweener:function(a,b){$.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],$c[c]=$c[c]||[],$c[c].unshift(b)},prefilter:function(a,b){b?Zc.unshift(a):Zc.push(a)}}),$.Tween=K,K.prototype={constructor:K,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||($.cssNumber[c]?"":"px")},cur:function(){var a=K.propHooks[this.prop];return a&&a.get?a.get(this):K.propHooks._default.get(this)},run:function(a){var b,c=K.propHooks[this.prop];return this.pos=b=$.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration),this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):K.propHooks._default.set(this),this}},K.prototype.init.prototype=K.prototype,K.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=$.css(a.elem,a.prop,!1,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){$.fx.step[a.prop]?$.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[$.cssProps[a.prop]]||$.cssHooks[a.prop])?$.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},K.propHooks.scrollTop=K.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},$.each(["toggle","show","hide"],function(a,b){var c=$.fn[b];$.fn[b]=function(d,e,f){return null==d||"boolean"==typeof d||!a&&$.isFunction(d)&&$.isFunction(e)?c.apply(this,arguments):this.animate(L(b,!0),d,e,f)}}),$.fn.extend({fadeTo:function(a,b,c,d){return this.filter(r).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=$.isEmptyObject(a),f=$.speed(b,c,d),g=function(){var b=H(this,$.extend({},a),f);e&&b.stop(!0)};return e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,c,d){var e=function(a){var b=a.stop;delete a.stop,b(d)};return"string"!=typeof a&&(d=c,c=a,a=b),c&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,c=null!=a&&a+"queueHooks",f=$.timers,g=$._data(this);if(c)g[c]&&g[c].stop&&e(g[c]);else for(c in g)g[c]&&g[c].stop&&Yc.test(c)&&e(g[c]);for(c=f.length;c--;)f[c].elem===this&&(null==a||f[c].queue===a)&&(f[c].anim.stop(d),b=!1,f.splice(c,1));(b||!d)&&$.dequeue(this,a)})}}),$.each({slideDown:L("show"),slideUp:L("hide"),slideToggle:L("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){$.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),$.speed=function(a,b,c){var d=a&&"object"==typeof a?$.extend({},a):{complete:c||!c&&b||$.isFunction(a)&&a,duration:a,easing:c&&b||b&&!$.isFunction(b)&&b};return d.duration=$.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in $.fx.speeds?$.fx.speeds[d.duration]:$.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){$.isFunction(d.old)&&d.old.call(this),d.queue&&$.dequeue(this,d.queue)},d},$.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},$.timers=[],$.fx=K.prototype.init,$.fx.tick=function(){for(var a,b=$.timers,c=0;c-1,l={},m={};k?(m=g.position(),e=m.top,f=m.left):(e=parseFloat(i)||0,f=parseFloat(j)||0),$.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(l.top=b.top-h.top+e),null!=b.left&&(l.left=b.left-h.left+f),"using"in b?b.using.call(a,l):g.css(l)}},$.fn.extend({position:function(){if(this[0]){var a=this[0],b=this.offsetParent(),c=this.offset(),d=_c.test(b[0].nodeName)?{top:0,left:0}:b.offset();return c.top-=parseFloat($.css(a,"marginTop"))||0,c.left-=parseFloat($.css(a,"marginLeft"))||0,d.top+=parseFloat($.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat($.css(b[0],"borderLeftWidth"))||0,{top:c.top-d.top,left:c.left-d.left}}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||P.body;a&&!_c.test(a.nodeName)&&"static"===$.css(a,"position");)a=a.offsetParent;return a||P.body})}}),$.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);$.fn[a]=function(e){return $.access(this,function(a,e,f){var g=M(a);return f===b?g?c in g?g[c]:g.document.documentElement[e]:a[e]:void(g?g.scrollTo(d?$(g).scrollLeft():f,d?f:$(g).scrollTop()):a[e]=f)},a,e,arguments.length,null)}}),$.each({Height:"height",Width:"width"},function(a,c){$.each({padding:"inner"+a,content:c,"":"outer"+a},function(d,e){$.fn[e]=function(e,f){var g=arguments.length&&(d||"boolean"!=typeof e),h=d||(e===!0||f===!0?"margin":"border");return $.access(this,function(c,d,e){var f;return $.isWindow(c)?c.document.documentElement["client"+a]:9===c.nodeType?(f=c.documentElement,Math.max(c.body["scroll"+a],f["scroll"+a],c.body["offset"+a],f["offset"+a],f["client"+a])):e===b?$.css(c,d,e,h):$.style(c,d,e,h)},c,g?e:b,g)}})}),a.jQuery=a.$=$,"function"==typeof define&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return $})}(window),function(){var a=this,b=a._,c={},d=Array.prototype,e=Object.prototype,f=Function.prototype,g=d.push,h=d.slice,i=d.concat,j=e.toString,k=e.hasOwnProperty,l=d.forEach,m=d.map,n=d.reduce,o=d.reduceRight,p=d.filter,q=d.every,r=d.some,s=d.indexOf,t=d.lastIndexOf,u=Array.isArray,v=Object.keys,w=f.bind,x=function(a){return a instanceof x?a:this instanceof x?void(this._wrapped=a):new x(a)};"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=x),exports._=x):a._=x,x.VERSION="1.5.1";var y=x.each=x.forEach=function(a,b,d){if(null!=a)if(l&&a.forEach===l)a.forEach(b,d);else if(a.length===+a.length){for(var e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===c)return}else for(var g in a)if(x.has(a,g)&&b.call(d,a[g],g,a)===c)return};x.map=x.collect=function(a,b,c){var d=[];return null==a?d:m&&a.map===m?a.map(b,c):(y(a,function(a,e,f){d.push(b.call(c,a,e,f))}),d)};var z="Reduce of empty array with no initial value";x.reduce=x.foldl=x.inject=function(a,b,c,d){var e=arguments.length>2;if(null==a&&(a=[]),n&&a.reduce===n)return d&&(b=x.bind(b,d)),e?a.reduce(b,c):a.reduce(b);if(y(a,function(a,f,g){e?c=b.call(d,c,a,f,g):(c=a,e=!0)}),!e)throw new TypeError(z);return c},x.reduceRight=x.foldr=function(a,b,c,d){var e=arguments.length>2;if(null==a&&(a=[]),o&&a.reduceRight===o)return d&&(b=x.bind(b,d)),e?a.reduceRight(b,c):a.reduceRight(b);var f=a.length;if(f!==+f){var g=x.keys(a);f=g.length}if(y(a,function(h,i,j){i=g?g[--f]:--f,e?c=b.call(d,c,a[i],i,j):(c=a[i],e=!0)}),!e)throw new TypeError(z);return c},x.find=x.detect=function(a,b,c){var d;return A(a,function(a,e,f){return b.call(c,a,e,f)?(d=a,!0):void 0}),d},x.filter=x.select=function(a,b,c){var d=[];return null==a?d:p&&a.filter===p?a.filter(b,c):(y(a,function(a,e,f){b.call(c,a,e,f)&&d.push(a)}),d)},x.reject=function(a,b,c){return x.filter(a,function(a,d,e){return!b.call(c,a,d,e)},c)},x.every=x.all=function(a,b,d){b||(b=x.identity);var e=!0;return null==a?e:q&&a.every===q?a.every(b,d):(y(a,function(a,f,g){return(e=e&&b.call(d,a,f,g))?void 0:c}),!!e)};var A=x.some=x.any=function(a,b,d){b||(b=x.identity);var e=!1;return null==a?e:r&&a.some===r?a.some(b,d):(y(a,function(a,f,g){return e||(e=b.call(d,a,f,g))?c:void 0}),!!e)};x.contains=x.include=function(a,b){return null==a?!1:s&&a.indexOf===s?-1!=a.indexOf(b):A(a,function(a){return a===b})},x.invoke=function(a,b){var c=h.call(arguments,2),d=x.isFunction(b);return x.map(a,function(a){return(d?b:a[b]).apply(a,c)})},x.pluck=function(a,b){return x.map(a,function(a){return a[b]})},x.where=function(a,b,c){return x.isEmpty(b)?c?void 0:[]:x[c?"find":"filter"](a,function(a){for(var c in b)if(b[c]!==a[c])return!1;return!0})},x.findWhere=function(a,b){return x.where(a,b,!0)},x.max=function(a,b,c){if(!b&&x.isArray(a)&&a[0]===+a[0]&&a.length<65535)return Math.max.apply(Math,a);if(!b&&x.isEmpty(a))return-1/0;var d={computed:-1/0,value:-1/0};return y(a,function(a,e,f){var g=b?b.call(c,a,e,f):a;g>d.computed&&(d={value:a,computed:g})}),d.value},x.min=function(a,b,c){if(!b&&x.isArray(a)&&a[0]===+a[0]&&a.length<65535)return Math.min.apply(Math,a);if(!b&&x.isEmpty(a))return 1/0;var d={computed:1/0,value:1/0};return y(a,function(a,e,f){var g=b?b.call(c,a,e,f):a;gd||void 0===c)return 1;if(d>c||void 0===d)return-1}return a.indexf;){var h=f+g>>>1;c.call(d,a[h])=0})})},x.difference=function(a){var b=i.apply(d,h.call(arguments,1));return x.filter(a,function(a){return!x.contains(b,a)})},x.zip=function(){for(var a=x.max(x.pluck(arguments,"length").concat(0)),b=new Array(a),c=0;a>c;c++)b[c]=x.pluck(arguments,""+c);return b},x.object=function(a,b){if(null==a)return{};for(var c={},d=0,e=a.length;e>d;d++)b?c[a[d]]=b[d]:c[a[d][0]]=a[d][1];return c},x.indexOf=function(a,b,c){if(null==a)return-1;var d=0,e=a.length;if(c){if("number"!=typeof c)return d=x.sortedIndex(a,b),a[d]===b?d:-1;d=0>c?Math.max(0,e+c):c}if(s&&a.indexOf===s)return a.indexOf(b,c);for(;e>d;d++)if(a[d]===b)return d;return-1},x.lastIndexOf=function(a,b,c){if(null==a)return-1;var d=null!=c;if(t&&a.lastIndexOf===t)return d?a.lastIndexOf(b,c):a.lastIndexOf(b);for(var e=d?c:a.length;e--;)if(a[e]===b)return e;return-1},x.range=function(a,b,c){arguments.length<=1&&(b=a||0,a=0),c=arguments[2]||1;for(var d=Math.max(Math.ceil((b-a)/c),0),e=0,f=new Array(d);d>e;)f[e++]=a,a+=c;return f};var E=function(){};x.bind=function(a,b){var c,d;if(w&&a.bind===w)return w.apply(a,h.call(arguments,1));if(!x.isFunction(a))throw new TypeError;return c=h.call(arguments,2),d=function(){if(!(this instanceof d))return a.apply(b,c.concat(h.call(arguments)));E.prototype=a.prototype;var e=new E;E.prototype=null;var f=a.apply(e,c.concat(h.call(arguments)));return Object(f)===f?f:e}},x.partial=function(a){var b=h.call(arguments,1);return function(){return a.apply(this,b.concat(h.call(arguments)))}},x.bindAll=function(a){var b=h.call(arguments,1);if(0===b.length)throw new Error("bindAll must be passed function names");return y(b,function(b){a[b]=x.bind(a[b],a)}),a},x.memoize=function(a,b){var c={};return b||(b=x.identity),function(){var d=b.apply(this,arguments);return x.has(c,d)?c[d]:c[d]=a.apply(this,arguments)}},x.delay=function(a,b){var c=h.call(arguments,2);return setTimeout(function(){return a.apply(null,c)},b)},x.defer=function(a){return x.delay.apply(x,[a,1].concat(h.call(arguments,1)))},x.throttle=function(a,b,c){var d,e,f,g=null,h=0;c||(c={});var i=function(){h=c.leading===!1?0:new Date,g=null,f=a.apply(d,e)};return function(){var j=new Date;h||c.leading!==!1||(h=j);var k=b-(j-h);return d=this,e=arguments,0>=k?(clearTimeout(g),g=null,h=j,f=a.apply(d,e)):g||c.trailing===!1||(g=setTimeout(i,k)),f}},x.debounce=function(a,b,c){var d,e=null;return function(){var f=this,g=arguments,h=function(){e=null,c||(d=a.apply(f,g))},i=c&&!e;return clearTimeout(e),e=setTimeout(h,b),i&&(d=a.apply(f,g)),d}},x.once=function(a){var b,c=!1;return function(){return c?b:(c=!0,b=a.apply(this,arguments),a=null,b)}},x.wrap=function(a,b){return function(){var c=[a];return g.apply(c,arguments),b.apply(this,c)}},x.compose=function(){var a=arguments;return function(){for(var b=arguments,c=a.length-1;c>=0;c--)b=[a[c].apply(this,b)];return b[0]}},x.after=function(a,b){return function(){return--a<1?b.apply(this,arguments):void 0}},x.keys=v||function(a){if(a!==Object(a))throw new TypeError("Invalid object");var b=[];for(var c in a)x.has(a,c)&&b.push(c);return b},x.values=function(a){var b=[];for(var c in a)x.has(a,c)&&b.push(a[c]);return b},x.pairs=function(a){var b=[];for(var c in a)x.has(a,c)&&b.push([c,a[c]]);return b},x.invert=function(a){var b={};for(var c in a)x.has(a,c)&&(b[a[c]]=c);return b},x.functions=x.methods=function(a){var b=[];for(var c in a)x.isFunction(a[c])&&b.push(c);return b.sort()},x.extend=function(a){return y(h.call(arguments,1),function(b){if(b)for(var c in b)a[c]=b[c]}),a},x.pick=function(a){var b={},c=i.apply(d,h.call(arguments,1));return y(c,function(c){c in a&&(b[c]=a[c])}),b},x.omit=function(a){var b={},c=i.apply(d,h.call(arguments,1));for(var e in a)x.contains(c,e)||(b[e]=a[e]);return b},x.defaults=function(a){return y(h.call(arguments,1),function(b){if(b)for(var c in b)void 0===a[c]&&(a[c]=b[c])}),a},x.clone=function(a){return x.isObject(a)?x.isArray(a)?a.slice():x.extend({},a):a},x.tap=function(a,b){return b(a),a};var F=function(a,b,c,d){if(a===b)return 0!==a||1/a==1/b;if(null==a||null==b)return a===b;a instanceof x&&(a=a._wrapped),b instanceof x&&(b=b._wrapped);var e=j.call(a);if(e!=j.call(b))return!1;switch(e){case"[object String]":return a==String(b);case"[object Number]":return a!=+a?b!=+b:0==a?1/a==1/b:a==+b;case"[object Date]":case"[object Boolean]":return+a==+b;case"[object RegExp]":return a.source==b.source&&a.global==b.global&&a.multiline==b.multiline&&a.ignoreCase==b.ignoreCase}if("object"!=typeof a||"object"!=typeof b)return!1;for(var f=c.length;f--;)if(c[f]==a)return d[f]==b;var g=a.constructor,h=b.constructor;if(g!==h&&!(x.isFunction(g)&&g instanceof g&&x.isFunction(h)&&h instanceof h))return!1;c.push(a),d.push(b);var i=0,k=!0;if("[object Array]"==e){if(i=a.length,k=i==b.length)for(;i--&&(k=F(a[i],b[i],c,d)););}else{for(var l in a)if(x.has(a,l)&&(i++,!(k=x.has(b,l)&&F(a[l],b[l],c,d))))break;if(k){for(l in b)if(x.has(b,l)&&!i--)break;k=!i}}return c.pop(),d.pop(),k};x.isEqual=function(a,b){return F(a,b,[],[])},x.isEmpty=function(a){if(null==a)return!0;if(x.isArray(a)||x.isString(a))return 0===a.length;for(var b in a)if(x.has(a,b))return!1;return!0},x.isElement=function(a){return!(!a||1!==a.nodeType)},x.isArray=u||function(a){return"[object Array]"==j.call(a)},x.isObject=function(a){return a===Object(a)},y(["Arguments","Function","String","Number","Date","RegExp"],function(a){x["is"+a]=function(b){return j.call(b)=="[object "+a+"]"}}),x.isArguments(arguments)||(x.isArguments=function(a){return!(!a||!x.has(a,"callee"))}),"function"!=typeof/./&&(x.isFunction=function(a){return"function"==typeof a}),x.isFinite=function(a){return isFinite(a)&&!isNaN(parseFloat(a))},x.isNaN=function(a){return x.isNumber(a)&&a!=+a},x.isBoolean=function(a){return a===!0||a===!1||"[object Boolean]"==j.call(a)},x.isNull=function(a){return null===a},x.isUndefined=function(a){return void 0===a},x.has=function(a,b){return k.call(a,b)},x.noConflict=function(){return a._=b,this},x.identity=function(a){return a},x.times=function(a,b,c){for(var d=Array(Math.max(0,a)),e=0;a>e;e++)d[e]=b.call(c,e);return d},x.random=function(a,b){return null==b&&(b=a,a=0),a+Math.floor(Math.random()*(b-a+1))};var G={escape:{"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"}};G.unescape=x.invert(G.escape);var H={escape:new RegExp("["+x.keys(G.escape).join("")+"]","g"),unescape:new RegExp("("+x.keys(G.unescape).join("|")+")","g")};x.each(["escape","unescape"],function(a){x[a]=function(b){return null==b?"":(""+b).replace(H[a],function(b){return G[a][b]})}}),x.result=function(a,b){if(null==a)return void 0;var c=a[b];return x.isFunction(c)?c.call(a):c},x.mixin=function(a){y(x.functions(a),function(b){var c=x[b]=a[b];x.prototype[b]=function(){var a=[this._wrapped];return g.apply(a,arguments),M.call(this,c.apply(x,a))}})};var I=0;x.uniqueId=function(a){var b=++I+"";return a?a+b:b},x.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var J=/(.)^/,K={"'":"'","\\":"\\","\r":"r","\n":"n"," ":"t","\u2028":"u2028","\u2029":"u2029"},L=/\\|'|\r|\n|\t|\u2028|\u2029/g;x.template=function(a,b,c){var d;c=x.defaults({},c,x.templateSettings);var e=new RegExp([(c.escape||J).source,(c.interpolate||J).source,(c.evaluate||J).source].join("|")+"|$","g"),f=0,g="__p+='";a.replace(e,function(b,c,d,e,h){return g+=a.slice(f,h).replace(L,function(a){return"\\"+K[a]}),c&&(g+="'+\n((__t=("+c+"))==null?'':_.escape(__t))+\n'"),d&&(g+="'+\n((__t=("+d+"))==null?'':__t)+\n'"),e&&(g+="';\n"+e+"\n__p+='"),f=h+b.length,b}),g+="';\n",c.variable||(g="with(obj||{}){\n"+g+"}\n"),g="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+g+"return __p;\n";try{d=new Function(c.variable||"obj","_",g)}catch(h){throw h.source=g,h}if(b)return d(b,x);var i=function(a){return d.call(this,a,x)};return i.source="function("+(c.variable||"obj")+"){\n"+g+"}",i},x.chain=function(a){return x(a).chain()};var M=function(a){return this._chain?x(a).chain():a};x.mixin(x),y(["pop","push","reverse","shift","sort","splice","unshift"],function(a){var b=d[a];x.prototype[a]=function(){var c=this._wrapped;return b.apply(c,arguments),"shift"!=a&&"splice"!=a||0!==c.length||delete c[0],M.call(this,c)}}),y(["concat","join","slice"],function(a){var b=d[a];x.prototype[a]=function(){return M.call(this,b.apply(this._wrapped,arguments))}}),x.extend(x.prototype,{chain:function(){return this._chain=!0,this},value:function(){return this._wrapped}})}.call(this),define("underscore-src",function(){}),define("underscore",["underscore-src"],function(){var a=window._;return a.mixin({move:function(a,b,c){return a.splice(c,0,a.splice(b,1)[0]),a},remove:function(a,b){return a.splice(b,1),a},toggle:function(a,b,c){return a===b?c:b},toggleInOut:function(b,c){return a.contains(b,c)?b=a.without(b,c):b.push(c),b}}),a}),("undefined"==typeof Crypto||!Crypto.util)&&function(){var a=window.Crypto={},b=a.util={rotl:function(a,b){return a<>>32-b},rotr:function(a,b){return a<<32-b|a>>>b},endian:function(a){if(a.constructor==Number)return 16711935&b.rotl(a,8)|4278255360&b.rotl(a,24);for(var c=0;c0;a--)b.push(Math.floor(256*Math.random()));return b},bytesToWords:function(a){for(var b=[],c=0,d=0;c>>5]|=(255&a[c])<<24-d%32;return b},wordsToBytes:function(a){for(var b=[],c=0;c<32*a.length;c+=8)b.push(a[c>>>5]>>>24-c%32&255);return b},bytesToHex:function(a){for(var b=[],c=0;c>>4).toString(16)),b.push((15&a[c]).toString(16));return b.join("")},hexToBytes:function(a){for(var b=[],c=0;cf;f++)b.push(8*d+6*f<=8*a.length?"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>>6*(3-f)&63):"=");return b.join("")},base64ToBytes:function(a){if("function"==typeof atob)return c.stringToBytes(atob(a));for(var a=a.replace(/[^A-Z0-9+\/]/gi,""),b=[],d=0,e=0;d>>6-2*e);return b}},a=a.charenc={};a.UTF8={stringToBytes:function(a){return c.stringToBytes(unescape(encodeURIComponent(a)))},bytesToString:function(a){return decodeURIComponent(escape(c.bytesToString(a)))}};var c=a.Binary={stringToBytes:function(a){for(var b=[],c=0;c0){var d=a.url.indexOf("//")+2,e=a.url.substring(d,c),f=b.charenc.Binary.stringToBytes(e);a.basicAuth=b.util.bytesToBase64(f);var g=a.url.substring(0,d); -a.url=g+a.url.substring(c+1)}return a},g=function(b){return b.urls=a.map(b.url.split(","),function(a){return a.trim()}),b};c.graphiteUrl&&(e.datasources={graphite:{type:"graphite",url:c.graphiteUrl,"default":!0}}),a.each(e.datasources,function(a,b){a.name=b,f(a),"influxdb"===a.type&&g(a)});var h=f({url:e.elasticsearch});return e.elasticsearchBasicAuth=h.basicAuth,e.elasticsearch=h.url,e.plugins.panels&&(e.panels=a.union(e.panels,e.plugins.panels)),e}}),function(a,b,c){function d(){var b=a.angular;return a.angular=dd,b}function e(a){return a&&"number"==typeof a.length?"function"!=typeof a.hasOwnProperty&&"function"!=typeof a.constructor?!0:a instanceof gb||Yc&&a instanceof Yc||"[object Object]"!==cd.call(a)||"function"==typeof a.callee:!1}function f(a,b,c){var d;if(a)if(y(a))for(d in a)"prototype"!=d&&"length"!=d&&"name"!=d&&a.hasOwnProperty(d)&&b.call(c,a[d],d);else if(a.forEach&&a.forEach!==f)a.forEach(b,c);else if(e(a))for(d=0;d=0&&a.splice(c,1),b}function I(a,b){if(z(a)||A(a))throw Error("Can't copy Window or Scope");if(b){if(a===b)throw Error("Can't copy equivalent objects or arrays");if(x(a)){b.length=0;for(var c=0;ce;e++)if(!K(a[e],b[e]))return!1;return!0}}return!1}function L(a,b,c){return a.concat(ad.call(b,c))}function M(a,b){return ad.call(a,b||0)}function N(a,b){var c=arguments.length>2?M(arguments,2):[];return!y(b)||b instanceof RegExp?b:c.length?function(){return arguments.length?b.apply(a,c.concat(ad.call(arguments,0))):b.apply(a,c)}:function(){return arguments.length?b.apply(a,arguments):b.call(a)}}function O(a,d){var e=d;return/^\$+/.test(a)?e=c:z(d)?e="$WINDOW":d&&b===d?e="$DOCUMENT":A(d)&&(e="$SCOPE"),e}function P(a,b){return JSON.stringify(a,O,b?" ":null)}function Q(a){return u(a)?JSON.parse(a):a}function R(a){if(a&&0!==a.length){var b=Tc(""+a);a=!("f"==b||"0"==b||"false"==b||"no"==b||"n"==b||"[]"==b)}else a=!1;return a}function S(a){a=Xc(a).clone();try{a.html("")}catch(b){}var c=3,d=Xc("
").append(a).html();try{return a[0].nodeType===c?Tc(d):d.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,function(a,b){return"<"+Tc(b)})}catch(b){return Tc(d)}}function T(a){var b,c,d={};return f((a||"").split("&"),function(a){a&&(b=a.split("="),c=decodeURIComponent(b[0]),d[c]=s(b[1])?decodeURIComponent(b[1]):!0)}),d}function U(a){var b=[];return f(a,function(a,c){b.push(W(c,!0)+(a===!0?"":"="+W(a,!0)))}),b.length?b.join("&"):""}function V(a){return W(a,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function W(a,b){return encodeURIComponent(a).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,b?"%20":"+")}function X(a,c){function d(a){a&&h.push(a)}var e,g,h=[a],i=["ng:app","ng-app","x-ng-app","data-ng-app"],j=/\sng[:\-]app(:\s*([\w\d_]+);?)?\s/;f(i,function(c){i[c]=!0,d(b.getElementById(c)),c=c.replace(":","\\:"),a.querySelectorAll&&(f(a.querySelectorAll("."+c),d),f(a.querySelectorAll("."+c+"\\:"),d),f(a.querySelectorAll("["+c+"]"),d))}),f(h,function(a){if(!e){var b=" "+a.className+" ",c=j.exec(b);c?(e=a,g=(c[2]||"").replace(/\s+/g,",")):f(a.attributes,function(b){!e&&i[b.name]&&(e=a,g=b.value)})}}),e&&c(e,g?[g]:[])}function Y(b,c){var d=function(){b=Xc(b),c=c||[],c.unshift(["$provide",function(a){a.value("$rootElement",b)}]),c.unshift("ng");var a=yb(c);return a.invoke(["$rootScope","$rootElement","$compile","$injector","$animator",function(a,b,c,d,e){a.$apply(function(){b.data("$injector",d),c(b)(a)}),e.enabled(!0)}]),a},e=/^NG_DEFER_BOOTSTRAP!/;return a&&!e.test(a.name)?d():(a.name=a.name.replace(e,""),void(ed.resumeBootstrap=function(a){f(a,function(a){c.push(a)}),d()}))}function Z(a,b){return b=b||"_",a.replace(gd,function(a,c){return(c?b:"")+a.toLowerCase()})}function $(){Yc=a.jQuery,Yc?(Xc=Yc,l(Yc.fn,{scope:pd.scope,controller:pd.controller,injector:pd.injector,inheritedData:pd.inheritedData}),fb("remove",!0),fb("empty"),fb("html")):Xc=gb,ed.element=Xc}function _(a,b,c){if(!a)throw new Error("Argument '"+(b||"?")+"' is "+(c||"required"));return a}function ab(a,b,c){return c&&x(a)&&(a=a[a.length-1]),_(y(a),b,"not a function, got "+(a&&"object"==typeof a?a.constructor.name||"Object":typeof a)),a}function bb(a){function b(a,b,c){return a[b]||(a[b]=c())}return b(b(a,"angular",Object),"module",function(){var a={};return function(c,d,e){return d&&a.hasOwnProperty(c)&&(a[c]=null),b(a,c,function(){function a(a,c,d){return function(){return b[d||"push"]([a,c,arguments]),h}}if(!d)throw Error("No module: "+c);var b=[],f=[],g=a("$injector","invoke"),h={_invokeQueue:b,_runBlocks:f,requires:d,name:c,provider:a("$provide","provider"),factory:a("$provide","factory"),service:a("$provide","service"),value:a("$provide","value"),constant:a("$provide","constant","unshift"),animation:a("$animationProvider","register"),filter:a("$filterProvider","register"),controller:a("$controllerProvider","register"),directive:a("$compileProvider","directive"),config:g,run:function(a){return f.push(a),this}};return e&&g(e),h})}})}function cb(b){l(b,{bootstrap:Y,copy:I,extend:l,equals:K,element:Xc,forEach:f,injector:yb,noop:o,bind:N,toJson:P,fromJson:Q,identity:p,isUndefined:r,isDefined:s,isString:u,isFunction:y,isObject:t,isNumber:v,isElement:D,isArray:x,version:hd,isDate:w,lowercase:Tc,uppercase:Uc,callbacks:{counter:0},noConflict:d}),Zc=bb(a);try{Zc("ngLocale")}catch(c){Zc("ngLocale",[]).provider("$locale",tc)}Zc("ng",["ngLocale"],["$provide",function(a){a.provider("$compile",Fb).directive({a:Nd,input:Xd,textarea:Xd,form:Rd,script:Ge,select:Ie,style:Ke,option:Je,ngBind:he,ngBindHtmlUnsafe:je,ngBindTemplate:ie,ngClass:ke,ngClassEven:me,ngClassOdd:le,ngCsp:pe,ngCloak:ne,ngController:oe,ngForm:Sd,ngHide:ze,ngIf:se,ngInclude:te,ngInit:ue,ngNonBindable:ve,ngPluralize:we,ngRepeat:xe,ngShow:ye,ngSubmit:re,ngStyle:Ae,ngSwitch:Be,ngSwitchWhen:Ce,ngSwitchDefault:De,ngOptions:He,ngView:Fe,ngTransclude:Ee,ngModel:be,ngList:ee,ngChange:ce,required:de,ngRequired:de,ngValue:ge}).directive(Od).directive(qe),a.provider({$anchorScroll:zb,$animation:Ab,$animator:wd,$browser:Cb,$cacheFactory:Db,$controller:Hb,$document:Ib,$exceptionHandler:Jb,$filter:vc,$interpolate:Kb,$http:qc,$httpBackend:rc,$location:Xb,$log:Yb,$parse:dc,$route:gc,$routeParams:hc,$rootScope:ic,$q:ec,$sniffer:jc,$templateCache:Eb,$timeout:uc,$window:kc})}])}function db(){return++kd}function eb(a){return a.replace(nd,function(a,b,c,d){return d?c.toUpperCase():c}).replace(od,"Moz$1")}function fb(a,b){function c(){for(var a,c,e,f,g,h,i,j=[this],k=b;j.length;)for(a=j.shift(),c=0,e=a.length;e>c;c++)for(f=Xc(a[c]),k?f.triggerHandler("$destroy"):k=!k,g=0,h=(i=f.children()).length;h>g;g++)j.push(Yc(i[g]));return d.apply(this,arguments)}var d=Yc.fn[a];d=d.$original||d,c.$original=d,Yc.fn[a]=c}function gb(a){if(a instanceof gb)return a;if(!(this instanceof gb)){if(u(a)&&"<"!=a.charAt(0))throw Error("selectors not implemented");return new gb(a)}if(u(a)){var c=b.createElement("div");c.innerHTML="
 
"+a,c.removeChild(c.firstChild),qb(this,c.childNodes),this.remove()}else qb(this,a)}function hb(a){return a.cloneNode(!0)}function ib(a){kb(a);for(var b=0,c=a.childNodes||[];b-1}function ob(a,b){b&&f(b.split(" "),function(b){a.className=C((" "+a.className+" ").replace(/[\n\t]/g," ").replace(" "+C(b)+" "," "))})}function pb(a,b){b&&f(b.split(" "),function(b){nb(a,b)||(a.className=C(a.className+" "+C(b)))})}function qb(a,b){if(b){b=b.nodeName||!s(b.length)||z(b)?[b]:b;for(var c=0;c=_c?(d.preventDefault=null,d.stopPropagation=null,d.isDefaultPrevented=null):(delete d.preventDefault,delete d.stopPropagation,delete d.isDefaultPrevented)};return d.elem=a,d}function vb(a){var b,d=typeof a;return"object"==d&&null!==a?"function"==typeof(b=a.$$hashKey)?b=a.$$hashKey():b===c&&(b=a.$$hashKey=j()):b=a,d+":"+b}function wb(a){f(a,this.put,this)}function xb(a){var b,c,d,e;return"function"==typeof a?(b=a.$inject)||(b=[],c=a.toString().replace(vd,""),d=c.match(sd),f(d[1].split(td),function(a){a.replace(ud,function(a,c,d){b.push(d)})}),a.$inject=b):x(a)?(e=a.length-1,ab(a[e],"fn"),b=a.slice(0,e)):ab(a,"fn",!0),b}function yb(a){function b(a){return function(b,c){return t(b)?void f(b,i(a)):a(b,c)}}function c(a,b){if((y(b)||x(b))&&(b=v.instantiate(b)),!b.$get)throw Error("Provider "+a+" must define $get factory method.");return s[a+n]=b}function d(a,b){return c(a,{$get:b})}function e(a,b){return d(a,["$injector",function(a){return a.instantiate(b)}])}function g(a,b){return d(a,q(b))}function h(a,b){s[a]=b,w[a]=b}function j(a,b){var c=v.get(a+n),d=c.$get;c.$get=function(){var a=z.invoke(d,c);return z.invoke(b,null,{$delegate:a})}}function k(a){var b=[];return f(a,function(a){if(!r.get(a))if(r.put(a,!0),u(a)){var c=Zc(a);b=b.concat(k(c.requires)).concat(c._runBlocks);try{for(var d=c._invokeQueue,e=0,f=d.length;f>e;e++){var g=d[e],h=v.get(g[0]);h[g[1]].apply(h,g[2])}}catch(i){throw i.message&&(i.message+=" from "+a),i}}else if(y(a))try{b.push(v.invoke(a))}catch(i){throw i.message&&(i.message+=" from "+a),i}else if(x(a))try{b.push(v.invoke(a))}catch(i){throw i.message&&(i.message+=" from "+String(a[a.length-1])),i}else ab(a,"module")}),b}function l(a,b){function c(c){if("string"!=typeof c)throw Error("Service name expected");if(a.hasOwnProperty(c)){if(a[c]===m)throw Error("Circular dependency: "+p.join(" <- "));return a[c]}try{return p.unshift(c),a[c]=m,a[c]=b(c)}finally{p.shift()}}function d(a,b,d){var e,f,g,h=[],i=xb(a);for(f=0,e=i.length;e>f;f++)g=i[f],h.push(d&&d.hasOwnProperty(g)?d[g]:c(g));switch(a.$inject||(a=a[e]),b?-1:h.length){case 0:return a();case 1:return a(h[0]);case 2:return a(h[0],h[1]);case 3:return a(h[0],h[1],h[2]);case 4:return a(h[0],h[1],h[2],h[3]);case 5:return a(h[0],h[1],h[2],h[3],h[4]);case 6:return a(h[0],h[1],h[2],h[3],h[4],h[5]);case 7:return a(h[0],h[1],h[2],h[3],h[4],h[5],h[6]);case 8:return a(h[0],h[1],h[2],h[3],h[4],h[5],h[6],h[7]);case 9:return a(h[0],h[1],h[2],h[3],h[4],h[5],h[6],h[7],h[8]);case 10:return a(h[0],h[1],h[2],h[3],h[4],h[5],h[6],h[7],h[8],h[9]);default:return a.apply(b,h)}}function e(a,b){var c,e,f=function(){};return f.prototype=(x(a)?a[a.length-1]:a).prototype,c=new f,e=d(a,c,b),t(e)?e:c}return{invoke:d,instantiate:e,get:c,annotate:xb,has:function(b){return s.hasOwnProperty(b+n)||a.hasOwnProperty(b)}}}var m={},n="Provider",p=[],r=new wb,s={$provide:{provider:b(c),factory:b(d),service:b(e),value:b(g),constant:b(h),decorator:j}},v=s.$injector=l(s,function(){throw Error("Unknown provider: "+p.join(" <- "))}),w={},z=w.$injector=l(w,function(a){var b=v.get(a+n);return z.invoke(b.$get,b)});return f(k(a),function(a){z.invoke(a||o)}),z}function zb(){var a=!0;this.disableAutoScrolling=function(){a=!1},this.$get=["$window","$location","$rootScope",function(b,c,d){function e(a){var b=null;return f(a,function(a){b||"a"!==Tc(a.nodeName)||(b=a)}),b}function g(){var a,d=c.hash();d?(a=h.getElementById(d))?a.scrollIntoView():(a=e(h.getElementsByName(d)))?a.scrollIntoView():"top"===d&&b.scrollTo(0,0):b.scrollTo(0,0)}var h=b.document;return a&&d.$watch(function(){return c.hash()},function(){d.$evalAsync(g)}),g}]}function Ab(a){var b="Animation";this.register=function(c,d){a.factory(eb(c)+b,d)},this.$get=["$injector",function(a){return function(c){if(c){var d=eb(c)+b;if(a.has(d))return a.get(d)}}}]}function Bb(a,b,d,e){function g(a){try{a.apply(null,M(arguments,1))}finally{if(s--,0===s)for(;t.length;)try{t.pop()()}catch(b){d.error(b)}}}function h(a,b){!function c(){f(w,function(a){a()}),v=b(c,a)}()}function i(){x!=j.url()&&(x=j.url(),f(z,function(a){a(j.url())}))}var j=this,k=b[0],l=a.location,m=a.history,n=a.setTimeout,p=a.clearTimeout,q={};j.isMock=!1;var s=0,t=[];j.$$completeOutstandingRequest=g,j.$$incOutstandingRequestCount=function(){s++},j.notifyWhenNoOutstandingRequests=function(a){f(w,function(a){a()}),0===s?a():t.push(a)};var v,w=[];j.addPollFn=function(a){return r(v)&&h(100,n),w.push(a),a};var x=l.href,y=b.find("base");j.url=function(a,b){if(a){if(x==a)return;return x=a,e.history?b?m.replaceState(null,"",a):(m.pushState(null,"",a),y.attr("href",y.attr("href"))):b?l.replace(a):l.href=a,j}return l.href.replace(/%27/g,"'")};var z=[],A=!1;j.onUrlChange=function(b){return A||(e.history&&Xc(a).bind("popstate",i),e.hashchange?Xc(a).bind("hashchange",i):j.addPollFn(i),A=!0),z.push(b),b},j.baseHref=function(){var a=y.attr("href");return a?a.replace(/^https?\:\/\/[^\/]*/,""):""};var B={},C="",D=j.baseHref();j.cookies=function(a,b){var e,f,g,h,i;if(!a){if(k.cookie!==C)for(C=k.cookie,f=C.split("; "),B={},h=0;h0){var a=unescape(g.substring(0,i));B[a]===c&&(B[a]=unescape(g.substring(i+1)))}return B}b===c?k.cookie=escape(a)+"=;path="+D+";expires=Thu, 01 Jan 1970 00:00:00 GMT":u(b)&&(e=(k.cookie=escape(a)+"="+escape(b)+";path="+D).length+1,e>4096&&d.warn("Cookie '"+a+"' possibly not set or overflowed because it was too large ("+e+" > 4096 bytes)!"))},j.defer=function(a,b){var c;return s++,c=n(function(){delete q[c],g(a)},b||0),q[c]=!0,c},j.defer.cancel=function(a){return q[a]?(delete q[a],p(a),g(o),!0):!1}}function Cb(){this.$get=["$window","$log","$sniffer","$document",function(a,b,c,d){return new Bb(a,d,b,c)}]}function Db(){this.$get=function(){function a(a,c){function d(a){a!=k&&(m?m==a&&(m=a.n):m=a,e(a.n,a.p),e(a,k),k=a,k.n=null)}function e(a,b){a!=b&&(a&&(a.p=b),b&&(b.n=a))}if(a in b)throw Error("cacheId "+a+" taken");var f=0,g=l({},c,{id:a}),h={},i=c&&c.capacity||Number.MAX_VALUE,j={},k=null,m=null;return b[a]={put:function(a,b){var c=j[a]||(j[a]={key:a});return d(c),r(b)?void 0:(a in h||f++,h[a]=b,f>i&&this.remove(m.key),b)},get:function(a){var b=j[a];if(b)return d(b),h[a]},remove:function(a){var b=j[a];b&&(b==k&&(k=b.p),b==m&&(m=b.n),e(b.n,b.p),delete j[a],delete h[a],f--)},removeAll:function(){h={},f=0,j={},k=m=null},destroy:function(){h=null,g=null,j=null,delete b[a]},info:function(){return l({},g,{size:f})}}}var b={};return a.info=function(){var a={};return f(b,function(b,c){a[c]=b.info()}),a},a.get=function(a){return b[a]},a}}function Eb(){this.$get=["$cacheFactory",function(a){return a("templates")}]}function Fb(a){var d={},e="Directive",g=/^\s*directive\:\s*([\d\w\-_]+)\s+(.*)$/,h=/(([\d\w\-_]+)(?:\:([^;]+))?;?)/,j="Template must have exactly one root element. was: ",k=/^\s*(https?|ftp|mailto|file):/;this.directive=function m(b,c){return u(b)?(_(c,"directive"),d.hasOwnProperty(b)||(d[b]=[],a.factory(b+e,["$injector","$exceptionHandler",function(a,c){var e=[];return f(d[b],function(d){try{var f=a.invoke(d);y(f)?f={compile:q(f)}:!f.compile&&f.link&&(f.compile=q(f.link)),f.priority=f.priority||0,f.name=f.name||b,f.require=f.require||f.controller&&f.name,f.restrict=f.restrict||"A",e.push(f)}catch(g){c(g)}}),e}])),d[b].push(c)):f(b,i(m)),this},this.urlSanitizationWhitelist=function(a){return s(a)?(k=a,this):k},this.$get=["$injector","$interpolate","$exceptionHandler","$http","$templateCache","$parse","$controller","$rootScope","$document",function(a,i,m,n,o,r,s,v,w){function z(a,b,c){a instanceof Xc||(a=Xc(a)),f(a,function(b,c){3==b.nodeType&&b.nodeValue.match(/\S+/)&&(a[c]=Xc(b).wrap("").parent()[0])});var d=B(a,b,a,c);return function(b,c){_(b,"scope");for(var e=c?pd.clone.call(a):a,f=0,g=e.length;g>f;f++){var h=e[f];(1==h.nodeType||9==h.nodeType)&&e.eq(f).data("$scope",b)}return A(e,"ng-scope"),c&&c(e,b),d&&d(b,e,e),e}}function A(a,b){try{a.addClass(b)}catch(c){}}function B(a,b,d,e){function f(a,d,e,f){var g,h,i,j,k,m,n,o,p=[];for(m=0,n=d.length;n>m;m++)p.push(d[m]);for(m=0,o=0,n=l.length;n>m;o++)i=p[o],g=l[m++],h=l[m++],g?(g.scope?(j=a.$new(t(g.scope)),Xc(i).data("$scope",j)):j=a,k=g.transclude,k||!f&&b?g(h,j,i,e,function(b){return function(c){var d=a.$new();return d.$$transcluded=!0,b(d,c).bind("$destroy",N(d,d.$destroy))}}(k||b)):g(h,j,i,c,f)):h&&h(a,i.childNodes,c,f)}for(var g,h,i,j,k,l=[],m=0;mq;q++)k=p[q],k.specified&&(l=k.name,n=Gb(l),V.test(n)&&(l=n.substr(6).toLowerCase()),m=Gb(l.toLowerCase()),j[m]=l,c[m]=o=C(_c&&"href"==l?decodeURIComponent(a.getAttribute(l,2)):k.value),tb(a,m)&&(c[m]=!0),M(a,b,o,m),F(b,m,"A",d));if(f=a.className,u(f)&&""!==f)for(;e=h.exec(f);)m=Gb(e[2]),F(b,m,"C",d)&&(c[m]=C(e[3])),f=f.substr(e.index+e[0].length);break;case 3:L(b,a.nodeValue);break;case 8:try{e=g.exec(a.nodeValue),e&&(m=Gb(e[1]),F(b,m,"M",d)&&(c[m]=C(e[2])))}catch(s){}}return b.sort(I),b}function E(a,d,e,g,h){function k(a,b){a&&(a.require=o.require,I.push(a)),b&&(b.require=o.require,L.push(b))}function l(a,b){var c,d="data",e=!1;if(u(a)){for(;"^"==(c=a.charAt(0))||"?"==c;)a=a.substr(1),"^"==c&&(d="inheritedData"),e=e||"?"==c;if(c=b[d]("$"+a+"Controller"),!c&&!e)throw Error("No controller: "+a);return c}return x(a)&&(c=[],f(a,function(a){c.push(l(a,b))})),c}function n(a,b,g,h,j){var k,n,o,p,q,t;if(k=d===g?e:J(e,new P(Xc(g),e.$attr)),n=k.$$element,N){var u=/^\s*([@=&])(\??)\s*(\w*)\s*$/,v=b.$parent||b;f(N.scope,function(a,c){var d,e,f,g=a.match(u)||[],h=g[3]||c,j="?"==g[2],l=g[1];switch(b.$$isolateBindings[c]=l+h,l){case"@":k.$observe(h,function(a){b[c]=a}),k.$$observers[h].$$scope=v,k[h]&&(b[c]=i(k[h])(v));break;case"=":if(j&&!k[h])return;e=r(k[h]),f=e.assign||function(){throw d=b[c]=e(v),Error(xd+k[h]+" (directive: "+N.name+")")},d=b[c]=e(v),b.$watch(function(){var a=e(v);return a!==b[c]&&(a!==d?d=b[c]=a:f(v,a=d=b[c])),a});break;case"&":e=r(k[h]),b[c]=function(a){return e(v,a)};break;default:throw Error("Invalid isolate scope definition for directive "+N.name+": "+a)}})}for(w&&f(w,function(a){var c={$scope:b,$element:n,$attrs:k,$transclude:j};t=a.controller,"@"==t&&(t=k[a.name]),n.data("$"+a.name+"Controller",s(t,c))}),o=0,p=I.length;p>o;o++)try{q=I[o],q(b,n,k,q.require&&l(q.require,n))}catch(x){m(x,S(n))}for(a&&a(b,g.childNodes,c,j),o=0,p=L.length;p>o;o++)try{q=L[o],q(b,n,k,q.require&&l(q.require,n))}catch(x){m(x,S(n))}}for(var o,p,q,v,w,B,E,F=-Number.MAX_VALUE,I=[],L=[],M=null,N=null,Q=null,R=e.$$element=Xc(d),T=g,V=0,W=a.length;W>V&&(o=a[V],q=c,!(F>o.priority));V++){if((E=o.scope)&&(K("isolated scope",N,o,R),t(E)&&(A(R,"ng-isolate-scope"),N=o),A(R,"ng-scope"),M=M||o),p=o.name,(E=o.controller)&&(w=w||{},K("'"+p+"' controller",w[p],o,R),w[p]=o),(E=o.transclude)&&(K("transclusion",v,o,R),v=o,F=o.priority,"element"==E?(q=Xc(d),R=e.$$element=Xc(b.createComment(" "+p+": "+e[p]+" ")),d=R[0],O(h,Xc(q[0]),d),T=z(q,g,F)):(q=Xc(hb(d)).contents(),R.html(""),T=z(q,g))),o.template)if(K("template",Q,o,R),Q=o,E=y(o.template)?o.template(R,e):o.template,E=U(E),o.replace){if(q=Xc("
"+C(E)+"
").contents(),d=q[0],1!=q.length||1!==d.nodeType)throw new Error(j+E);O(h,R,d);var X={$attr:{}};a=a.concat(D(d,a.splice(V+1,a.length-(V+1)),X)),G(e,X),W=a.length}else R.html(E);if(o.templateUrl)K("template",Q,o,R),Q=o,n=H(a.splice(V,a.length-V),n,R,e,h,o.replace,T),W=a.length;else if(o.compile)try{B=o.compile(R,e,T),y(B)?k(null,B):B&&k(B.pre,B.post)}catch(Y){m(Y,S(R))}o.terminal&&(n.terminal=!0,F=Math.max(F,o.priority))}return n.scope=M&&M.scope,n.transclude=v&&T,n}function F(b,f,g,h){var i=!1;if(d.hasOwnProperty(f))for(var j,k=a.get(f+e),l=0,n=k.length;n>l;l++)try{j=k[l],(h===c||h>j.priority)&&-1!=j.restrict.indexOf(g)&&(b.push(j),i=!0)}catch(o){m(o)}return i}function G(a,b){var c=b.$attr,d=a.$attr,e=a.$$element;f(a,function(d,e){"$"!=e.charAt(0)&&(b[e]&&(d+=("style"===e?";":" ")+b[e]),a.$set(e,d,!0,c[e]))}),f(b,function(b,f){"class"==f?(A(e,b),a["class"]=(a["class"]?a["class"]+" ":"")+b):"style"==f?e.attr("style",e.attr("style")+";"+b):"$"==f.charAt(0)||a.hasOwnProperty(f)||(a[f]=b,d[f]=c[f])})}function H(a,b,c,d,e,f,g){var h,i,k=[],m=c[0],p=a.shift(),q=l({},p,{controller:null,templateUrl:null,transclude:null,scope:null}),r=y(p.templateUrl)?p.templateUrl(c,d):p.templateUrl;return c.html(""),n.get(r,{cache:o}).success(function(l){var n,o,p;if(l=U(l),f){if(p=Xc("
"+C(l)+"
").contents(),n=p[0],1!=p.length||1!==n.nodeType)throw new Error(j+l);o={$attr:{}},O(e,c,n),D(n,a,o),G(d,o)}else n=m,c.html(l);for(a.unshift(q),h=E(a,n,d,g),i=B(c[0].childNodes,g);k.length;){var r=k.shift(),s=k.shift(),t=k.shift(),u=k.shift(),v=n;s!==m&&(v=hb(n),O(t,Xc(s),v)),h(function(){b(i,r,v,e,u)},r,v,e,u)}k=null}).error(function(a,b,c,d){throw Error("Failed to load template: "+d.url)}),function(a,c,d,e,f){k?(k.push(c),k.push(d),k.push(e),k.push(f)):h(function(){b(i,c,d,e,f)},c,d,e,f)}}function I(a,b){return b.priority-a.priority}function K(a,b,c,d){if(b)throw Error("Multiple directives ["+b.name+", "+c.name+"] asking for "+a+" on: "+S(d))}function L(a,b){var c=i(b,!0);c&&a.push({priority:0,compile:q(function(a,b){var d=b.parent(),e=d.data("$binding")||[];e.push(c),A(d.data("$binding",e),"ng-binding"),a.$watch(c,function(a){b[0].nodeValue=a})})})}function M(a,b,c,d){var e=i(c,!0);e&&b.push({priority:100,compile:q(function(a,b,c){var f=c.$$observers||(c.$$observers={});e=i(c[d],!0),e&&(c[d]=e(a),(f[d]||(f[d]=[])).$$inter=!0,(c.$$observers&&c.$$observers[d].$$scope||a).$watch(e,function(a){c.$set(d,a)}))})})}function O(a,b,c){var d,e,f=b[0],g=f.parentNode;if(a)for(d=0,e=a.length;e>d;d++)if(a[d]==f){a[d]=c;break}g&&g.replaceChild(c,f),c[Xc.expando]=f[Xc.expando],b[0]=c}var P=function(a,b){this.$$element=a,this.$attr=b||{}};P.prototype={$normalize:Gb,$set:function(a,b,d,e){var g,h=tb(this.$$element[0],a),i=this.$$observers;h&&(this.$$element.prop(a,b),e=h),this[a]=b,e?this.$attr[a]=e:(e=this.$attr[a],e||(this.$attr[a]=e=Z(a,"-"))),"A"===$c(this.$$element[0])&&"href"===a&&(Q.setAttribute("href",b),g=Q.href,g.match(k)||(this[a]=b="unsafe:"+g)),d!==!1&&(null===b||b===c?this.$$element.removeAttr(e):this.$$element.attr(e,b)),i&&f(i[a],function(a){try{a(b)}catch(c){m(c)}})},$observe:function(a,b){var c=this,d=c.$$observers||(c.$$observers={}),e=d[a]||(d[a]=[]);return e.push(b),v.$evalAsync(function(){e.$$inter||b(c[a])}),b}};var Q=w[0].createElement("a"),R=i.startSymbol(),T=i.endSymbol(),U="{{"==R||"}}"==T?p:function(a){return a.replace(/\{\{/g,R).replace(/}}/g,T)},V=/^ngAttr[A-Z]/;return z}]}function Gb(a){return eb(a.replace(yd,""))}function Hb(){var a={},b=/^(\S+)(\s+as\s+(\w+))?$/;this.register=function(b,c){t(b)?l(a,b):a[b]=c},this.$get=["$injector","$window",function(c,d){return function(e,f){var g,h,i,j;if(u(e)&&(h=e.match(b),i=h[1],j=h[3],e=a.hasOwnProperty(i)?a[i]:ac(f.$scope,i,!0)||ac(d,i,!0),ab(e,i,!0)),g=c.instantiate(e,f),j){if("object"!=typeof f.$scope)throw new Error('Can not export controller as "'+j+'". No scope object provided!');f.$scope[j]=g}return g}}]}function Ib(){this.$get=["$window",function(a){return Xc(a.document)}]}function Jb(){this.$get=["$log",function(a){return function(){a.error.apply(a,arguments)}}]}function Kb(){var a="{{",b="}}";this.startSymbol=function(b){return b?(a=b,this):a},this.endSymbol=function(a){return a?(b=a,this):b},this.$get=["$parse","$exceptionHandler",function(d,e){function f(f,i){for(var j,k,l,m,n=0,o=[],p=f.length,q=!1,r=[];p>n;)-1!=(j=f.indexOf(a,n))&&-1!=(k=f.indexOf(b,j+g))?(n!=j&&o.push(f.substring(n,j)),o.push(l=d(m=f.substring(j+g,k))),l.exp=m,n=k+h,q=!0):(n!=p&&o.push(f.substring(n)),n=p);return(p=o.length)||(o.push(""),p=1),!i||q?(r.length=p,l=function(a){try{for(var b,d=0,g=p;g>d;d++)"function"==typeof(b=o[d])&&(b=b(a),null==b||b==c?b="":"string"!=typeof b&&(b=P(b))),r[d]=b;return r.join("")}catch(h){var i=new Error("Error while interpolating: "+f+"\n"+h.toString());e(i)}},l.exp=f,l.parts=o,l):void 0}var g=a.length,h=b.length;return f.startSymbol=function(){return a},f.endSymbol=function(){return b},f}]}function Lb(a){for(var b=a.split("/"),c=b.length;c--;)b[c]=V(b[c]);return b.join("/")}function Mb(a,b){var c=zd.exec(a);b.$$protocol=c[1],b.$$host=c[3],b.$$port=m(c[5])||Bd[c[1]]||null}function Nb(a,b){var c=Ad.exec(a);b.$$path=decodeURIComponent(c[1]),b.$$search=T(c[3]),b.$$hash=decodeURIComponent(c[5]||""),b.$$path&&"/"!=b.$$path.charAt(0)&&(b.$$path="/"+b.$$path)}function Ob(a,b,c){return 0==b.indexOf(a)?b.substr(a.length):c}function Pb(a){var b=a.indexOf("#");return-1==b?a:a.substr(0,b)}function Qb(a){return a.substr(0,Pb(a).lastIndexOf("/")+1)}function Rb(a){return a.substring(0,a.indexOf("/",a.indexOf("//")+2))}function Sb(a,b){b=b||"";var d=Qb(a);this.$$parse=function(a){var b={};Mb(a,b);var c=Ob(d,a);if(!u(c))throw Error('Invalid url "'+a+'", missing path prefix "'+d+'".');Nb(c,b),l(this,b),this.$$path||(this.$$path="/"),this.$$compose()},this.$$compose=function(){var a=U(this.$$search),b=this.$$hash?"#"+V(this.$$hash):"";this.$$url=Lb(this.$$path)+(a?"?"+a:"")+b,this.$$absUrl=d+this.$$url.substr(1)},this.$$rewrite=function(e){var f,g;return(f=Ob(a,e))!==c?(g=f,(f=Ob(b,f))!==c?d+(Ob("/",f)||f):a+g):(f=Ob(d,e))!==c?d+f:d==e+"/"?d:void 0}}function Tb(a,b){var c=Qb(a);this.$$parse=function(d){Mb(d,this);var e=Ob(a,d)||Ob(c,d);if(!u(e))throw new Error('Invalid url "'+d+'", does not start with "'+a+'".');var f="#"==e.charAt(0)?Ob(b,e):e;if(!u(f))throw new Error('Invalid url "'+d+'", missing hash prefix "'+b+'".');Nb(f,this),this.$$compose()},this.$$compose=function(){var c=U(this.$$search),d=this.$$hash?"#"+V(this.$$hash):"";this.$$url=Lb(this.$$path)+(c?"?"+c:"")+d,this.$$absUrl=a+(this.$$url?b+this.$$url:"")},this.$$rewrite=function(b){return Pb(a)==Pb(b)?b:void 0}}function Ub(a,b){Tb.apply(this,arguments);var c=Qb(a);this.$$rewrite=function(d){var e;return a==Pb(d)?d:(e=Ob(c,d))?a+b+e:c===d+"/"?c:void 0}}function Vb(a){return function(){return this[a]}}function Wb(a,b){return function(c){return r(c)?this[a]:(this[a]=b(c),this.$$compose(),this)}}function Xb(){var b="",c=!1;this.hashPrefix=function(a){return s(a)?(b=a,this):b},this.html5Mode=function(a){return s(a)?(c=a,this):c},this.$get=["$rootScope","$browser","$sniffer","$rootElement",function(d,e,f,g){function h(a){d.$broadcast("$locationChangeSuccess",i.absUrl(),a)}var i,j,k,l=e.baseHref(),m=e.url();c?(k=l?Rb(m)+l:m,j=f.history?Sb:Ub):(k=Pb(m),j=Tb),i=new j(k,"#"+b),i.$$parse(i.$$rewrite(m)),g.bind("click",function(b){if(!b.ctrlKey&&!b.metaKey&&2!=b.which){for(var c=Xc(b.target);"a"!==Tc(c[0].nodeName);)if(c[0]===g[0]||!(c=c.parent())[0])return;var f=c.prop("href"),h=i.$$rewrite(f);f&&!c.attr("target")&&h&&!b.isDefaultPrevented()&&(b.preventDefault(),h!=e.url()&&(i.$$parse(h),d.$apply(),a.angular["ff-684208-preventDefault"]=!0))}}),i.absUrl()!=m&&e.url(i.absUrl(),!0),e.onUrlChange(function(a){if(i.absUrl()!=a){if(d.$broadcast("$locationChangeStart",a,i.absUrl()).defaultPrevented)return void e.url(i.absUrl());d.$evalAsync(function(){var b=i.absUrl();i.$$parse(a),h(b)}),d.$$phase||d.$digest()}});var n=0;return d.$watch(function(){var a=e.url(),b=i.$$replace;return n&&a==i.absUrl()||(n++,d.$evalAsync(function(){d.$broadcast("$locationChangeStart",i.absUrl(),a).defaultPrevented?i.$$parse(a):(e.url(i.absUrl(),b),h(a))})),i.$$replace=!1,n}),i}]}function Yb(){var a=!0,b=this;this.debugEnabled=function(b){return s(b)?(a=b,this):a},this.$get=["$window",function(c){function d(a){return a instanceof Error&&(a.stack?a=a.message&&-1===a.stack.indexOf(a.message)?"Error: "+a.message+"\n"+a.stack:a.stack:a.sourceURL&&(a=a.message+"\n"+a.sourceURL+":"+a.line)),a}function e(a){var b=c.console||{},e=b[a]||b.log||o;return e.apply?function(){var a=[];return f(arguments,function(b){a.push(d(b))}),e.apply(b,a)}:function(a,b){e(a,b)}}return{log:e("log"),warn:e("warn"),info:e("info"),error:e("error"),debug:function(){var c=e("debug");return function(){a&&c.apply(b,arguments)}}()}}]}function Zb(a,b){function c(a){return-1!=a.indexOf(p)}function d(a){return-1!=a.indexOf(u)}function e(b){var c=b||1;return r+c="0"&&"9">=a}function g(a){return" "==a||"\r"==a||" "==a||"\n"==a||" "==a||" "==a}function h(a){return a>="a"&&"z">=a||a>="A"&&"Z">=a||"_"==a||"$"==a}function i(a){return"-"==a||"+"==a||f(a)}function j(b,c,d){throw d=d||r,Error("Lexer Error: "+b+" at column"+(s(c)?"s "+c+"-"+r+" ["+a.substring(c,d)+"]":" "+d)+" in expression ["+a+"].")}function k(){for(var b="",c=r;r0){var e=L[0],f=e.text;if(f==a||f==b||f==c||f==d||!a&&!b&&!c&&!d)return e}return!1}function i(a,c,d,e){var g=h(a,c,d,e);return g?(b&&!g.json&&f("is not valid json",g),L.shift(),g):!1}function j(a){i(a)||f("is unexpected, expecting ["+a+"]",h())}function k(a,b){return l(function(c,d){return a(c,d,b)},{constant:b.constant})}function m(a,b,c){return l(function(d,e){return a(d,e)?b(d,e):c(d,e)},{constant:a.constant&&b.constant&&c.constant})}function n(a,b,c){return l(function(d,e){return b(d,e,a,c)},{constant:a.constant&&c.constant})}function p(){for(var a=[];;)if(L.length>0&&!h("}",")",";","]")&&a.push(Q()),!i(";"))return 1==a.length?a[0]:function(b,c){for(var d,e=0;e","<=",">="))&&(b=n(b,a.fn,z())),b}function A(){for(var a,b=B();a=i("+","-");)b=n(b,a.fn,B());return b}function B(){for(var a,b=C();a=i("*","/","%");)b=n(b,a.fn,C());return b}function C(){var a;return i("+")?D():(a=i("-"))?n(K,a.fn,C()):(a=i("!"))?k(a.fn,C()):D()}function D(){var a;if(i("("))a=Q(),j(")");else if(i("["))a=H();else if(i("{"))a=I();else{var b=i();a=b.fn,a||f("not a primary expression",b),b.json&&(a.constant=a.literal=!0)}for(var c,d;c=i("(","[",".");)"("===c.text?(a=N(a,d),d=null):"["===c.text?(d=a,a=P(a)):"."===c.text?(d=a,a=O(a)):f("IMPOSSIBLE");return a}function E(a){var b=i().text,c=cc(b,e);return l(function(b,d,e){return c(e||a(b,d),d)},{assign:function(c,d,e){return _b(a(c,e),b,d)}})}function F(a){var b=t();return j("]"),l(function(d,e){var f,g,h=a(d,e),i=b(d,e);return h?(f=h[i],f&&f.then&&(g=f,"$$v"in f||(g.$$v=c,g.then(function(a){g.$$v=a})),f=f.$$v),f):c},{assign:function(c,d,e){return a(c,e)[b(c,e)]=d}})}function G(a,b){var c=[];if(")"!=g().text)do c.push(t());while(i(","));return j(")"),function(d,e){for(var f=[],g=b?b(d,e):d,h=0;h1;e++){var f=d.shift(),g=a[f];g||(g={},a[f]=g),a=g}return a[d.shift()]=c,c}function ac(a,b,c){if(!b)return a;for(var d,e=b.split("."),f=a,g=e.length,h=0;g>h;h++)d=e[h],a&&(a=(f=a)[d]);return!c&&y(a)?N(f,a):a}function bc(a,b,d,e,f){return function(g,h){var i,j=h&&h.hasOwnProperty(a)?h:g;return null===j||j===c?j:(j=j[a],j&&j.then&&("$$v"in j||(i=j,i.$$v=c,i.then(function(a){i.$$v=a})),j=j.$$v),b&&null!==j&&j!==c?(j=j[b],j&&j.then&&("$$v"in j||(i=j,i.$$v=c,i.then(function(a){i.$$v=a})),j=j.$$v),d&&null!==j&&j!==c?(j=j[d],j&&j.then&&("$$v"in j||(i=j,i.$$v=c,i.then(function(a){i.$$v=a})),j=j.$$v),e&&null!==j&&j!==c?(j=j[e],j&&j.then&&("$$v"in j||(i=j,i.$$v=c,i.then(function(a){i.$$v=a})),j=j.$$v),f&&null!==j&&j!==c?(j=j[f],j&&j.then&&("$$v"in j||(i=j,i.$$v=c,i.then(function(a){i.$$v=a})),j=j.$$v),j):j):j):j):j)}}function cc(a,b){if(Ed.hasOwnProperty(a))return Ed[a];var d,e=a.split("."),g=e.length;if(b)d=6>g?bc(e[0],e[1],e[2],e[3],e[4]):function(a,b){var d,f=0;do d=bc(e[f++],e[f++],e[f++],e[f++],e[f++])(a,b),b=c,a=d;while(g>f);return d};else{var h="var l, fn, p;\n";f(e,function(a,b){h+="if(s === null || s === undefined) return s;\nl=s;\ns="+(b?"s":'((k&&k.hasOwnProperty("'+a+'"))?k:s)')+'["'+a+'"];\nif (s && s.then) {\n if (!("$$v" in s)) {\n p=s;\n p.$$v = undefined;\n p.then(function(v) {p.$$v=v;});\n}\n s=s.$$v\n}\n'}),h+="return s;",d=Function("s","k",h),d.toString=function(){return h}}return Ed[a]=d}function dc(){var a={};this.$get=["$filter","$sniffer",function(b,c){return function(d){switch(typeof d){case"string":return a.hasOwnProperty(d)?a[d]:a[d]=$b(d,!1,b,c.csp);case"function":return d;default:return o}}}]}function ec(){this.$get=["$rootScope","$exceptionHandler",function(a,b){return fc(function(b){a.$evalAsync(b)},b)}]}function fc(a,b){function d(a){return a}function e(a){return j(a)}function g(a){var b=h(),c=0,d=x(a)?[]:{};return f(a,function(a,e){c++,i(a).then(function(a){d.hasOwnProperty(e)||(d[e]=a,--c||b.resolve(d))},function(a){d.hasOwnProperty(e)||b.reject(a)})}),0===c&&b.resolve(d),b.promise}var h=function(){var f,g,k=[];return g={resolve:function(b){if(k){var d=k;k=c,f=i(b),d.length&&a(function(){for(var a,b=0,c=d.length;c>b;b++)a=d[b],f.then(a[0],a[1])})}},reject:function(a){g.resolve(j(a))},promise:{then:function(a,c){var g=h(),i=function(c){try{g.resolve((a||d)(c))}catch(e){b(e),g.reject(e)}},j=function(a){try{g.resolve((c||e)(a))}catch(d){b(d),g.reject(d)}};return k?k.push([i,j]):f.then(i,j),g.promise},always:function(a){function b(a,b){var c=h();return b?c.resolve(a):c.reject(a),c.promise}function c(c,e){var f=null;try{f=(a||d)()}catch(g){return b(g,!1)}return f&&f.then?f.then(function(){return b(c,e)},function(a){return b(a,!1)}):b(c,e)}return this.then(function(a){return c(a,!0)},function(a){return c(a,!1)})}}}},i=function(b){return b&&b.then?b:{then:function(c){var d=h();return a(function(){d.resolve(c(b))}),d.promise}}},j=function(b){return{then:function(c,d){var f=h();return a(function(){f.resolve((d||e)(b))}),f.promise}}},k=function(c,f,g){var k,l=h(),m=function(a){try{return(f||d)(a)}catch(c){return b(c),j(c)}},n=function(a){try{return(g||e)(a)}catch(c){return b(c),j(c)}};return a(function(){i(c).then(function(a){k||(k=!0,l.resolve(i(a).then(m,n)))},function(a){k||(k=!0,l.resolve(n(a)))})}),l.promise};return{defer:h,reject:j,when:k,all:g}}function gc(){var a={};this.when=function(b,c){if(a[b]=l({reloadOnSearch:!0,caseInsensitiveMatch:!1},c),b){var d="/"==b[b.length-1]?b.substr(0,b.length-1):b+"/";a[d]={redirectTo:b}}return this},this.otherwise=function(a){return this.when(null,a),this},this.$get=["$rootScope","$location","$routeParams","$q","$injector","$http","$templateCache",function(b,c,d,e,g,h,i){function j(a,b,c){b="^"+b.replace(/[-\/\\^$:*+?.()|[\]{}]/g,"\\$&")+"$";for(var d,e="",g=[],h={},i=/\\([:*])(\w+)/g,j=0;null!==(d=i.exec(b));){switch(e+=b.slice(j,d.index),d[1]){case":":e+="([^\\/]*)";break;case"*":e+="(.*)"}g.push(d[2]),j=i.lastIndex}e+=b.substr(j);var k=a.match(new RegExp(e,c.caseInsensitiveMatch?"i":""));return k&&f(g,function(a,b){h[a]=k[b+1]}),k?h:null}function k(){var a=m(),j=q.current;a&&j&&a.$$route===j.$$route&&K(a.pathParams,j.pathParams)&&!a.reloadOnSearch&&!p?(j.params=a.params,I(j.params,d),b.$broadcast("$routeUpdate",j)):(a||j)&&(p=!1,b.$broadcast("$routeChangeStart",a,j),q.current=a,a&&a.redirectTo&&(u(a.redirectTo)?c.path(o(a.redirectTo,a.params)).search(a.params).replace():c.url(a.redirectTo(a.pathParams,c.path(),c.search())).replace()),e.when(a).then(function(){if(a){var b,c=l({},a.resolve);return f(c,function(a,b){c[b]=u(a)?g.get(a):g.invoke(a)}),s(b=a.template)?y(b)&&(b=b(a.params)):s(b=a.templateUrl)&&(y(b)&&(b=b(a.params)),s(b)&&(a.loadedTemplateUrl=b,b=h.get(b,{cache:i}).then(function(a){return a.data}))),s(b)&&(c.$template=b),e.all(c)}}).then(function(c){a==q.current&&(a&&(a.locals=c,I(a.params,d)),b.$broadcast("$routeChangeSuccess",a,j))},function(c){a==q.current&&b.$broadcast("$routeChangeError",a,j,c)}))}function m(){var b,d;return f(a,function(a,e){!d&&(b=j(c.path(),e,a))&&(d=n(a,{params:l({},c.search(),b),pathParams:b}),d.$$route=a)}),d||a[null]&&n(a[null],{params:{},pathParams:{}})}function o(a,b){var c=[];return f((a||"").split(":"),function(a,d){if(0==d)c.push(a);else{var e=a.match(/(\w+)(.*)/),f=e[1];c.push(b[f]),c.push(e[2]||""),delete b[f]}}),c.join("")}var p=!1,q={routes:a,reload:function(){p=!0,b.$evalAsync(k)}};return b.$on("$locationChangeSuccess",k),q}]}function hc(){this.$get=q({})}function ic(){var a=10;this.digestTtl=function(b){return arguments.length&&(a=b),a},this.$get=["$injector","$exceptionHandler","$parse",function(b,c,d){function f(){this.$id=j(),this.$$phase=this.$parent=this.$$watchers=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null,this["this"]=this.$root=this,this.$$destroyed=!1,this.$$asyncQueue=[],this.$$listeners={},this.$$isolateBindings={}}function g(a){if(l.$$phase)throw Error(l.$$phase+" already in progress");l.$$phase=a}function h(){l.$$phase=null}function i(a,b){var c=d(a);return ab(c,b),c}function k(){}f.prototype={$new:function(a){var b,c;if(y(a))throw Error("API-CHANGE: Use $controller to instantiate controllers.");return a?(c=new f,c.$root=this.$root):(b=function(){},b.prototype=this,c=new b,c.$id=j()),c["this"]=c,c.$$listeners={},c.$parent=this,c.$$watchers=c.$$nextSibling=c.$$childHead=c.$$childTail=null,c.$$prevSibling=this.$$childTail,this.$$childHead?(this.$$childTail.$$nextSibling=c,this.$$childTail=c):this.$$childHead=this.$$childTail=c,c.$on("$destroy",function(){b&&(b.prototype=null),setTimeout(function(){c.__proto__={};for(var a in c)c[a]=null;return c=null,null})}),c},$watch:function(a,b,c){var d=this,e=i(a,"watch"),f=d.$$watchers,g={fn:b,last:k,get:e,exp:a,eq:!!c};if(!y(b)){var h=i(b||o,"listener");g.fn=function(a,b,c){h(c)}}if("string"==typeof a&&e.constant){var j=g.fn;g.fn=function(a,b,c){j.call(this,a,b,c),H(f,g)}}return f||(f=d.$$watchers=[]),f.unshift(g),function(){H(f,g)}},$watchCollection:function(a,b){function c(){h=k(i);var a,b;if(t(h))if(e(h)){g!==l&&(g=l,n=g.length=0,j++),a=h.length,n!==a&&(j++,g.length=n=a);for(var c=0;a>c;c++)g[c]!==h[c]&&(j++,g[c]=h[c])}else{g!==m&&(g=m={},n=0,j++),a=0;for(b in h)h.hasOwnProperty(b)&&(a++,g.hasOwnProperty(b)?g[b]!==h[b]&&(j++,g[b]=h[b]):(n++,g[b]=h[b],j++));if(n>a){j++;for(b in g)g.hasOwnProperty(b)&&!h.hasOwnProperty(b)&&(n--,delete g[b])}}else g!==h&&(g=h,j++);return j}function f(){b(h,g,i)}var g,h,i=this,j=0,k=d(a),l=[],m={},n=0;return this.$watch(c,f)},$digest:function(){var b,d,e,f,i,j,l,m,n,o,p=this.$$asyncQueue,q=a,r=this,s=[];g("$digest");do{for(j=!1,m=r;p.length;)try{m.$eval(p.shift())}catch(t){c(t)}do{if(f=m.$$watchers)for(i=f.length;i--;)try{b=f[i],(d=b.get(m))===(e=b.last)||(b.eq?K(d,e):"number"==typeof d&&"number"==typeof e&&isNaN(d)&&isNaN(e))||(j=!0,b.last=b.eq?I(d):d,b.fn(d,e===k?d:e,m),5>q&&(n=4-q,s[n]||(s[n]=[]),o=y(b.exp)?"fn: "+(b.exp.name||b.exp.toString()):b.exp,o+="; newVal: "+P(d)+"; oldVal: "+P(e),s[n].push(o)))}catch(t){c(t)}if(!(l=m.$$childHead||m!==r&&m.$$nextSibling))for(;m!==r&&!(l=m.$$nextSibling);)m=m.$parent}while(m=l);if(j&&!q--)throw h(),Error(a+" $digest() iterations reached. Aborting!\nWatchers fired in the last 5 iterations: "+P(s))}while(j||p.length);h()},$destroy:function(){if(l!=this&&!this.$$destroyed){var a=this.$parent;this.$broadcast("$destroy"),this.$$destroyed=!0,a.$$childHead==this&&(a.$$childHead=this.$$nextSibling),a.$$childTail==this&&(a.$$childTail=this.$$prevSibling),this.$$prevSibling&&(this.$$prevSibling.$$nextSibling=this.$$nextSibling),this.$$nextSibling&&(this.$$nextSibling.$$prevSibling=this.$$prevSibling),this.$parent=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null,a=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null}},$eval:function(a,b){return d(a)(this,b)},$evalAsync:function(a){this.$$asyncQueue.push(a)},$apply:function(a){try{return g("$apply"),this.$eval(a)}catch(b){c(b)}finally{h();try{l.$digest()}catch(b){throw c(b),b}}},$on:function(a,b){var c=this.$$listeners[a];return c||(this.$$listeners[a]=c=[]),c.push(b),function(){c[G(c,b)]=null}},$emit:function(a){var b,d,e,f=[],g=this,h=!1,i={name:a,targetScope:g,stopPropagation:function(){h=!0},preventDefault:function(){i.defaultPrevented=!0},defaultPrevented:!1},j=L([i],arguments,1);do{for(b=g.$$listeners[a]||f,i.currentScope=g,d=0,e=b.length;e>d;d++)if(b[d])try{if(b[d].apply(null,j),h)return i}catch(k){c(k)}else b.splice(d,1),d--,e--;g=g.$parent}while(g);return i},$broadcast:function(a){var b,d,e,f=this,g=f,h=f,i={name:a,targetScope:f,preventDefault:function(){i.defaultPrevented=!0},defaultPrevented:!1},j=L([i],arguments,1);do{for(g=h,i.currentScope=g,b=g.$$listeners[a]||[],d=0,e=b.length;e>d;d++)if(b[d])try{b[d].apply(null,j)}catch(k){c(k)}else b.splice(d,1),d--,e--;if(!(h=g.$$childHead||g!==f&&g.$$nextSibling))for(;g!==f&&!(h=g.$$nextSibling);)g=g.$parent}while(g=h);return i}};var l=new f;return l}]}function jc(){this.$get=["$window","$document",function(a,b){var c,d,e={},f=m((/android (\d+)/.exec(Tc((a.navigator||{}).userAgent))||[])[1]),g=b[0]||{},h=/^(Moz|webkit|O|ms)(?=[A-Z])/,i=g.body&&g.body.style,j=!1,k=!1;if(i){for(var l in i)if(d=h.exec(l)){c=d[0],c=c.substr(0,1).toUpperCase()+c.substr(1);break}j=!!("transition"in i||c+"Transition"in i),k=!!("animation"in i||c+"Animation"in i)}return{history:!(!a.history||!a.history.pushState||4>f),hashchange:"onhashchange"in a&&(!g.documentMode||g.documentMode>7),hasEvent:function(a){if("input"==a&&9==_c)return!1;if(r(e[a])){var b=g.createElement("div");e[a]="on"+a in b}return e[a]},csp:g.securityPolicy?g.securityPolicy.isActive:!1,vendorPrefix:c,transitions:j,animations:k}}]}function kc(){this.$get=q(a)}function lc(a){var b,c,d,e={};return a?(f(a.split("\n"),function(a){d=a.indexOf(":"),b=Tc(C(a.substr(0,d))),c=C(a.substr(d+1)),b&&(e[b]?e[b]+=", "+c:e[b]=c)}),e):e}function mc(a,b){var d=Fd.exec(a);if(null==d)return!0;var e={protocol:d[2],host:d[4],port:m(d[6])||Bd[d[2]]||null,relativeProtocol:d[2]===c||""===d[2]};d=zd.exec(b);var f={protocol:d[1],host:d[3],port:m(d[5])||Bd[d[1]]||null};return(e.protocol==f.protocol||e.relativeProtocol)&&e.host==f.host&&(e.port==f.port||e.relativeProtocol&&f.port==Bd[f.protocol])}function nc(a){var b=t(a)?a:c;return function(c){return b||(b=lc(a)),c?b[Tc(c)]||null:b}}function oc(a,b,c){return y(c)?c(a,b):(f(c,function(c){a=c(a,b)}),a)}function pc(a){return a>=200&&300>a}function qc(){var a=/^\s*(\[|\{[^\{])/,b=/[\}\]]\s*$/,d=/^\)\]\}',?\n/,e={"Content-Type":"application/json;charset=utf-8"},g=this.defaults={transformResponse:[function(c){return u(c)&&(c=c.replace(d,""),a.test(c)&&b.test(c)&&(c=Q(c,!0))),c}],transformRequest:[function(a){return t(a)&&!B(a)?P(a):a}],headers:{common:{Accept:"application/json, text/plain, */*"},post:e,put:e,patch:e},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN"},i=this.interceptors=[],j=this.responseInterceptors=[];this.$get=["$httpBackend","$browser","$cacheFactory","$rootScope","$q","$injector",function(a,b,d,e,k,m){function n(a){function d(a){var b=l({},a,{data:oc(a.data,a.headers,e.transformResponse)});return pc(a.status)?b:k.reject(b)}var e={transformRequest:g.transformRequest,transformResponse:g.transformResponse},h={};l(e,a),e.headers=h,e.method=Uc(e.method),l(h,g.headers.common,g.headers[Tc(e.method)],a.headers);var i=mc(e.url,b.url())?b.cookies()[e.xsrfCookieName||g.xsrfCookieName]:c;i&&(h[e.xsrfHeaderName||g.xsrfHeaderName]=i);var j=function(a){var b=oc(a.data,nc(h),a.transformRequest);return r(a.data)&&delete h["Content-Type"],r(a.withCredentials)&&!r(g.withCredentials)&&(a.withCredentials=g.withCredentials),q(a,b,h).then(d,d)},m=[j,c],n=k.when(e);for(f(w,function(a){(a.request||a.requestError)&&m.unshift(a.request,a.requestError),(a.response||a.responseError)&&m.push(a.response,a.responseError)});m.length;){var o=m.shift(),p=m.shift();n=n.then(o,p)}return n.success=function(a){return n.then(function(b){a(b.data,b.status,b.headers,e)}),n},n.error=function(a){return n.then(null,function(b){a(b.data,b.status,b.headers,e)}),n},n}function o(){f(arguments,function(a){n[a]=function(b,c){return n(l(c||{},{method:a,url:b}))}})}function p(){f(arguments,function(a){n[a]=function(b,c,d){return n(l(d||{},{method:a,url:b,data:c}))}})}function q(b,c,d){function f(a,b,c){j&&(pc(a)?j.put(p,[a,b,lc(c)]):j.remove(p)),h(b,a,c),e.$$phase||e.$apply()}function h(a,c,d){c=Math.max(c,0),(pc(c)?m.resolve:m.reject)({data:a,status:c,headers:nc(d),config:b})}function i(){var a=G(n.pendingRequests,b);-1!==a&&n.pendingRequests.splice(a,1)}var j,l,m=k.defer(),o=m.promise,p=s(b.url,b.params);if(n.pendingRequests.push(b),o.then(i,i),(b.cache||g.cache)&&b.cache!==!1&&"GET"==b.method&&(j=t(b.cache)?b.cache:t(g.cache)?g.cache:v),j)if(l=j.get(p)){if(l.then)return l.then(i,i),l;x(l)?h(l[1],l[0],I(l[2])):h(l,200,{})}else j.put(p,o);return l||a(b.method,p,c,f,d,b.timeout,b.withCredentials,b.responseType),o}function s(a,b){if(!b)return a;var d=[];return h(b,function(a,b){null!=a&&a!=c&&(x(a)||(a=[a]),f(a,function(a){t(a)&&(a=P(a)),d.push(W(b)+"="+W(a))}))}),a+(-1==a.indexOf("?")?"?":"&")+d.join("&")}var v=d("$http"),w=[];return f(i,function(a){w.unshift(u(a)?m.get(a):m.invoke(a))}),f(j,function(a,b){var c=u(a)?m.get(a):m.invoke(a);w.splice(b,0,{response:function(a){return c(k.when(a))},responseError:function(a){return c(k.reject(a))}})}),n.pendingRequests=[],o("get","delete","head","jsonp"),p("post","put"),n.defaults=g,n}]}function rc(){this.$get=["$browser","$window","$document",function(a,b,c){return sc(a,Gd,a.defer,b.angular.callbacks,c[0],b.location.protocol.replace(":",""))}]}function sc(a,b,c,d,e,g){function h(a,b){var c=e.createElement("script"),d=function(){e.body.removeChild(c),b&&b()};return c.type="text/javascript",c.src=a,_c?c.onreadystatechange=function(){/loaded|complete/.test(c.readyState)&&d()}:c.onload=c.onerror=d,e.body.appendChild(c),d}return function(e,i,j,k,l,m,n,p){function q(){s=-1,u&&u(),v&&v.abort()}function r(b,d,e,f){var h=(i.match(zd)||["",g])[1];w&&c.cancel(w),u=v=null,d="file"==h?e?200:404:d,d=1223==d?204:d,b(d,e,f),a.$$completeOutstandingRequest(o)}var s;if(a.$$incOutstandingRequestCount(),i=i||a.url(),"jsonp"==Tc(e)){var t="_"+(d.counter++).toString(36);d[t]=function(a){d[t].data=a};var u=h(i.replace("JSON_CALLBACK","angular.callbacks."+t),function(){d[t].data?r(k,200,d[t].data):r(k,s||-2),delete d[t]})}else{var v=new b;v.open(e,i,!0),f(l,function(a,b){a&&v.setRequestHeader(b,a)}),v.onreadystatechange=function(){if(4==v.readyState){var a=v.getAllResponseHeaders(),b=["Cache-Control","Content-Language","Content-Type","Expires","Last-Modified","Pragma"];a||(a="",f(b,function(b){var c=v.getResponseHeader(b);c&&(a+=b+": "+c+"\n")})),r(k,s||v.status,v.responseType?v.response:v.responseText,a)}},n&&(v.withCredentials=!0),p&&(v.responseType=p),v.send(j||"")}if(m>0)var w=c(q,m);else m&&m.then&&m.then(q)}}function tc(){this.$get=function(){return{id:"en-us",NUMBER_FORMATS:{DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{minInt:1,minFrac:0,maxFrac:3,posPre:"",posSuf:"",negPre:"-",negSuf:"",gSize:3,lgSize:3},{minInt:1,minFrac:2,maxFrac:2,posPre:"¤",posSuf:"",negPre:"(¤",negSuf:")",gSize:3,lgSize:3}],CURRENCY_SYM:"$"},DATETIME_FORMATS:{MONTH:"January,February,March,April,May,June,July,August,September,October,November,December".split(","),SHORTMONTH:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),DAY:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),SHORTDAY:"Sun,Mon,Tue,Wed,Thu,Fri,Sat".split(","),AMPMS:["AM","PM"],medium:"MMM d, y h:mm:ss a","short":"M/d/yy h:mm a",fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",mediumDate:"MMM d, y",shortDate:"M/d/yy",mediumTime:"h:mm:ss a",shortTime:"h:mm a"},pluralCat:function(a){return 1===a?"one":"other"}}}}function uc(){this.$get=["$rootScope","$browser","$q","$exceptionHandler",function(a,b,c,d){function e(e,g,h){var i,j,k=c.defer(),l=k.promise,m=s(h)&&!h;return i=b.defer(function(){try{k.resolve(e())}catch(b){k.reject(b),d(b)}m||a.$apply()},g),j=function(){delete f[l.$$timeoutId]},l.$$timeoutId=i,f[i]=k,l.then(j,j),l}var f={};return e.cancel=function(a){return a&&a.$$timeoutId in f?(f[a.$$timeoutId].reject("canceled"),b.defer.cancel(a.$$timeoutId)):!1},e}]}function vc(a){function b(b,d){return a.factory(b+c,d)}var c="Filter";this.register=b,this.$get=["$injector",function(a){return function(b){return a.get(b+c)}}],b("currency",xc),b("date",Fc),b("filter",wc),b("json",Gc),b("limitTo",Hc),b("lowercase",Ld),b("number",yc),b("orderBy",Ic),b("uppercase",Md)}function wc(){return function(a,b,c){if(!x(a))return a;var d=[];switch(d.check=function(a){for(var b=0;b-1}}var e=function(a,b){if("string"==typeof b&&"!"===b.charAt(0))return!e(a,b.substr(1));switch(typeof a){case"boolean":case"number":case"string":return c(a,b);case"object":switch(typeof b){case"object":return c(a,b);default:for(var d in a)if("$"!==d.charAt(0)&&e(a[d],b))return!0}return!1;case"array":for(var f=0;fa;a=Math.abs(a);var g=a+"",h="",i=[],j=!1;if(-1!==g.indexOf("e")){var k=g.match(/([\d\.]+)e(-?)(\d+)/);k&&"-"==k[2]&&k[3]>e+1?g="0":(h=g,j=!0)}if(!j){var l=(g.split(Hd)[1]||"").length;r(e)&&(e=Math.min(Math.max(b.minFrac,l),b.maxFrac));var m=Math.pow(10,e);a=Math.round(a*m)/m;var n=(""+a).split(Hd),o=n[0];n=n[1]||"";var p=0,q=b.lgSize,s=b.gSize;if(o.length>=q+s){p=o.length-q;for(var t=0;p>t;t++)(p-t)%s===0&&0!==t&&(h+=c),h+=o.charAt(t)}for(t=p;ta&&(d="-",a=-a),a=""+a;a.length0||f>-c)&&(f+=c),0===f&&-12==c&&(f=12),Ac(f,b,d)}}function Cc(a,b){return function(c,d){var e=c["get"+a](),f=Uc(b?"SHORT"+a:a);return d[f][e]}}function Dc(a){var b=-1*a.getTimezoneOffset(),c=b>=0?"+":"";return c+=Ac(Math[b>0?"floor":"ceil"](b/60),2)+Ac(Math.abs(b%60),2)}function Ec(a,b){return a.getHours()<12?b.AMPMS[0]:b.AMPMS[1]}function Fc(a){function b(a){var b;if(b=a.match(c)){var d=new Date(0),e=0,f=0,g=b[8]?d.setUTCFullYear:d.setFullYear,h=b[8]?d.setUTCHours:d.setHours;b[9]&&(e=m(b[9]+b[10]),f=m(b[9]+b[11])),g.call(d,m(b[1]),m(b[2])-1,m(b[3]));var i=m(b[4]||0)-e,j=m(b[5]||0)-f,k=m(b[6]||0),l=Math.round(1e3*parseFloat("0."+(b[7]||0)));return h.call(d,i,j,k,l),d}return a}var c=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(c,d){var e,g,h="",i=[];if(d=d||"mediumDate",d=a.DATETIME_FORMATS[d]||d,u(c)&&(c=Kd.test(c)?m(c):b(c)),v(c)&&(c=new Date(c)),!w(c))return c;for(;d;)g=Jd.exec(d),g?(i=L(i,g,1),d=i.pop()):(i.push(d),d=null);return f(i,function(b){e=Id[b],h+=e?e(c,a.DATETIME_FORMATS):b.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),h}}function Gc(){return function(a){return P(a,!0)}}function Hc(){return function(a,b){if(!x(a)&&!u(a))return a;if(b=m(b),u(a))return b?b>=0?a.slice(0,b):a.slice(b,a.length):"";var c,d,e=[];for(b>a.length?b=a.length:b<-a.length&&(b=-a.length),b>0?(c=0,d=b):(c=a.length+b,d=a.length);d>c;c++)e.push(a[c]);return e}}function Ic(a){return function(b,c,d){function e(a,b){for(var d=0;da?-1:1):d>c?-1:1}if(!x(b))return b;if(!c)return b;c=x(c)?c:[c],c=E(c,function(b){var c=!1,d=b||p;return u(b)&&(("+"==b.charAt(0)||"-"==b.charAt(0))&&(c="-"==b.charAt(0),b=b.substring(1)),d=a(b)),f(function(a,b){return g(d(a),d(b))},c)});for(var h=[],i=0;i15&&19>b||b>=37&&40>=b||j()}),b.bind("change",h),f.hasEvent("paste")&&b.bind("paste cut",j)}e.$render=function(){b.val(Lc(e.$viewValue)?"":e.$viewValue)};var k,l,n=d.ngPattern,o=function(a,b){return Lc(b)||a.test(b)?(e.$setValidity("pattern",!0),b):(e.$setValidity("pattern",!1),c)};if(n&&(l=n.match(/^\/(.*)\/([gim]*)$/),l?(n=new RegExp(l[1],l[2]),k=function(a){return o(n,a)}):k=function(b){var c=a.$eval(n);if(!c||!c.test)throw new Error("Expected "+n+" to be a RegExp but was "+c);return o(c,b)},e.$formatters.push(k),e.$parsers.push(k)),d.ngMinlength){var p=m(d.ngMinlength),q=function(a){return!Lc(a)&&a.lengthr?(e.$setValidity("maxlength",!1),c):(e.$setValidity("maxlength",!0),a)};e.$parsers.push(s),e.$formatters.push(s)}}function Nc(a,b,d,e,f,g){if(Mc(a,b,d,e,f,g),e.$parsers.push(function(a){var b=Lc(a);return b||Vd.test(a)?(e.$setValidity("number",!0),""===a?null:b?a:parseFloat(a)):(e.$setValidity("number",!1),c)}),e.$formatters.push(function(a){return Lc(a)?"":""+a}),d.min){var h=parseFloat(d.min),i=function(a){return!Lc(a)&&h>a?(e.$setValidity("min",!1),c):(e.$setValidity("min",!0),a)};e.$parsers.push(i),e.$formatters.push(i)}if(d.max){var j=parseFloat(d.max),k=function(a){return!Lc(a)&&a>j?(e.$setValidity("max",!1),c):(e.$setValidity("max",!0),a)};e.$parsers.push(k),e.$formatters.push(k)}e.$formatters.push(function(a){return Lc(a)||v(a)?(e.$setValidity("number",!0),a):(e.$setValidity("number",!1),c)})}function Oc(a,b,d,e,f,g){Mc(a,b,d,e,f,g);var h=function(a){return Lc(a)||Td.test(a)?(e.$setValidity("url",!0),a):(e.$setValidity("url",!1),c)};e.$formatters.push(h),e.$parsers.push(h)}function Pc(a,b,d,e,f,g){Mc(a,b,d,e,f,g);var h=function(a){return Lc(a)||Ud.test(a)?(e.$setValidity("email",!0),a):(e.$setValidity("email",!1),c)};e.$formatters.push(h),e.$parsers.push(h)}function Qc(a,b,c,d){r(c.name)&&b.attr("name",j()),b.bind("click",function(){b[0].checked&&a.$apply(function(){d.$setViewValue(c.value)})}),d.$render=function(){var a=c.value;b[0].checked=a==d.$viewValue},c.$observe("value",d.$render)}function Rc(a,b,c,d){var e=c.ngTrueValue,f=c.ngFalseValue;u(e)||(e=!0),u(f)||(f=!1),b.bind("click",function(){a.$apply(function(){d.$setViewValue(b[0].checked)})}),d.$render=function(){b[0].checked=d.$viewValue},d.$formatters.push(function(a){return a===e}),d.$parsers.push(function(a){return a?e:f})}function Sc(a,b){return a="ngClass"+a,Jc(function(d,e,f){function g(a){(b===!0||d.$index%2===b)&&(j&&!K(a,j)&&h(j),i(a)),j=I(a)}function h(a){t(a)&&!x(a)&&(a=E(a,function(a,b){return a?b:void 0})),e.removeClass(x(a)?a.join(" "):a)}function i(a){t(a)&&!x(a)&&(a=E(a,function(a,b){return a?b:void 0})),a&&e.addClass(x(a)?a.join(" "):a)}var j=c;d.$watch(f[a],g,!0),f.$observe("class",function(){var b=d.$eval(f[a]);g(b,b)}),"ngClass"!==a&&d.$watch("$index",function(c,e){var g=1&c;g!==e&1&&(g===b?i(d.$eval(f[a])):h(d.$eval(f[a])))})})}var Tc=function(a){return u(a)?a.toLowerCase():a},Uc=function(a){return u(a)?a.toUpperCase():a},Vc=function(a){return u(a)?a.replace(/[A-Z]/g,function(a){return String.fromCharCode(32|a.charCodeAt(0)) -}):a},Wc=function(a){return u(a)?a.replace(/[a-z]/g,function(a){return String.fromCharCode(-33&a.charCodeAt(0))}):a};"i"!=="I".toLowerCase()&&(Tc=Vc,Uc=Wc);var Xc,Yc,Zc,$c,_c=m((/msie (\d+)/.exec(Tc(navigator.userAgent))||[])[1]),ad=[].slice,bd=[].push,cd=Object.prototype.toString,dd=a.angular,ed=a.angular||(a.angular={}),fd=["0","0","0"];o.$inject=[],p.$inject=[],$c=9>_c?function(a){return a=a.nodeName?a:a[0],a.scopeName&&"HTML"!=a.scopeName?Uc(a.scopeName+":"+a.nodeName):a.nodeName}:function(a){return a.nodeName?a.nodeName:a[0].nodeName};var gd=/[A-Z]/g,hd={full:"1.1.5",major:1,minor:1,dot:5,codeName:"triangle-squarification"},id=gb.cache={},jd=gb.expando="ng-"+(new Date).getTime(),kd=1,ld=a.document.addEventListener?function(a,b,c){a.addEventListener(b,c,!1)}:function(a,b,c){a.attachEvent("on"+b,c)},md=a.document.removeEventListener?function(a,b,c){a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent("on"+b,c)},nd=/([\:\-\_]+(.))/g,od=/^moz([A-Z])/,pd=gb.prototype={ready:function(c){function d(){e||(e=!0,c())}var e=!1;"complete"===b.readyState?setTimeout(d):(this.bind("DOMContentLoaded",d),gb(a).bind("load",d))},toString:function(){var a=[];return f(this,function(b){a.push(""+b)}),"["+a.join(", ")+"]"},eq:function(a){return Xc(a>=0?this[a]:this[this.length+a])},length:0,push:bd,sort:[].sort,splice:[].splice},qd={};f("multiple,selected,checked,disabled,readOnly,required,open".split(","),function(a){qd[Tc(a)]=a});var rd={};f("input,select,option,textarea,button,form,details".split(","),function(a){rd[Uc(a)]=!0}),f({data:mb,inheritedData:sb,scope:function(a){return sb(a,"$scope")},controller:rb,injector:function(a){return sb(a,"$injector")},removeAttr:function(a,b){a.removeAttribute(b)},hasClass:nb,css:function(a,b,d){if(b=eb(b),!s(d)){var e;return 8>=_c&&(e=a.currentStyle&&a.currentStyle[b],""===e&&(e="auto")),e=e||a.style[b],8>=_c&&(e=""===e?c:e),e}a.style[b]=d},attr:function(a,b,d){var e=Tc(b);if(qd[e]){if(!s(d))return a[b]||(a.attributes.getNamedItem(b)||o).specified?e:c;d?(a[b]=!0,a.setAttribute(b,e)):(a[b]=!1,a.removeAttribute(e))}else if(s(d))a.setAttribute(b,d);else if(a.getAttribute){var f=a.getAttribute(b,2);return null===f?c:f}},prop:function(a,b,c){return s(c)?void(a[b]=c):a[b]},text:l(9>_c?function(a,b){if(1==a.nodeType){if(r(b))return a.innerText;a.innerText=b}else{if(r(b))return a.nodeValue;a.nodeValue=b}}:function(a,b){return r(b)?a.textContent:void(a.textContent=b)},{$dv:""}),val:function(a,b){return r(b)?a.value:void(a.value=b)},html:function(a,b){if(r(b))return a.innerHTML;for(var c=0,d=a.childNodes;c0||parseFloat(p[c+h])>0)&&(f=a,k=c,o=Math.max(parseInt(p[f+j])||0,parseInt(p[k+j])||0,o));var q=Math.max(n(p[f+i]),n(p[k+i])),r=Math.max(n(p[f+h]),n(p[k+h]));l=Math.max(q+o*r,l)}}),d.setTimeout(q,1e3*l)}else q()}function q(){q.run||(q.run=!0,j(k,l,m),k.removeClass(s),k.removeClass(A),k.removeData(a))}var r=b.$eval(g.ngAnimate),s=r?t(r)?r[h]:r+"-"+h:"",v=c(s),w=v&&v.setup,x=v&&v.start,z=v&&v.cancel;if(s){var A=s+"-active";if(l||(l=m?m.parent():k.parent()),!e.transitions&&!w&&!x||(l.inheritedData(a)||o).running)return i(k,l,m),void j(k,l,m);var B=k.data(a)||{};if(B.running&&((z||o)(k),B.done()),k.data(a,{running:!0,done:q}),k.addClass(s),i(k,l,m),0==k.length)return q();var C=(w||o)(k);d.setTimeout(p,1)}else i(k,l,m),j(k,l,m)}}function i(a){a.css("display","")}function j(a){a.css("display","none")}function k(a,b,c){c?c.after(a):b.append(a)}function l(a){a.remove()}function m(a,b,c){k(a,b,c)}var n={};return n.enter=h("enter",k,o),n.leave=h("leave",o,l),n.move=h("move",m,o),n.show=h("show",i,o),n.hide=h("hide",o,j),n.animate=function(a,b){h(a,o,o)(b)},n};return h.enabled=function(a){return arguments.length&&(b.running=!a),!b.running},h}]},xd="Non-assignable model expression: ";Fb.$inject=["$provide"];var yd=/^(x[\:\-_]|data[\:\-_])/i,zd=/^([^:]+):\/\/(\w+:{0,1}\w*@)?(\{?[\w\.-]*\}?)(:([0-9]+))?(\/[^\?#]*)?(\?([^#]*))?(#(.*))?$/,Ad=/^([^\?#]*)(\?([^#]*))?(#(.*))?$/,Bd={http:80,https:443,ftp:21};Ub.prototype=Tb.prototype=Sb.prototype={$$replace:!1,absUrl:Vb("$$absUrl"),url:function(a,b){if(r(a))return this.$$url;var c=Ad.exec(a);return c[1]&&this.path(decodeURIComponent(c[1])),(c[2]||c[1])&&this.search(c[3]||""),this.hash(c[5]||"",b),this},protocol:Vb("$$protocol"),host:Vb("$$host"),port:Vb("$$port"),path:Wb("$$path",function(a){return"/"==a.charAt(0)?a:"/"+a}),search:function(a,b){return r(a)?this.$$search:(s(b)?null===b?delete this.$$search[a]:this.$$search[a]=b:this.$$search=u(a)?T(a):a,this.$$compose(),this)},hash:Wb("$$hash",p),replace:function(){return this.$$replace=!0,this}};var Cd={"null":function(){return null},"true":function(){return!0},"false":function(){return!1},undefined:o,"+":function(a,b,d,e){return d=d(a,b),e=e(a,b),s(d)?s(e)?d+e:d:s(e)?e:c},"-":function(a,b,c,d){return c=c(a,b),d=d(a,b),(s(c)?c:0)-(s(d)?d:0)},"*":function(a,b,c,d){return c(a,b)*d(a,b)},"/":function(a,b,c,d){return c(a,b)/d(a,b)},"%":function(a,b,c,d){return c(a,b)%d(a,b)},"^":function(a,b,c,d){return c(a,b)^d(a,b)},"=":o,"===":function(a,b,c,d){return c(a,b)===d(a,b)},"!==":function(a,b,c,d){return c(a,b)!==d(a,b)},"==":function(a,b,c,d){return c(a,b)==d(a,b)},"!=":function(a,b,c,d){return c(a,b)!=d(a,b)},"<":function(a,b,c,d){return c(a,b)":function(a,b,c,d){return c(a,b)>d(a,b)},"<=":function(a,b,c,d){return c(a,b)<=d(a,b)},">=":function(a,b,c,d){return c(a,b)>=d(a,b)},"&&":function(a,b,c,d){return c(a,b)&&d(a,b)},"||":function(a,b,c,d){return c(a,b)||d(a,b)},"&":function(a,b,c,d){return c(a,b)&d(a,b)},"|":function(a,b,c,d){return d(a,b)(a,b,c(a,b))},"!":function(a,b,c){return!c(a,b)}},Dd={n:"\n",f:"\f",r:"\r",t:" ",v:" ","'":"'",'"':'"'},Ed={},Fd=/^(([^:]+):)?\/\/(\w+:{0,1}\w*@)?([\w\.-]*)?(:([0-9]+))?(.*)$/,Gd=a.XMLHttpRequest||function(){try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(a){}try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(b){}try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(c){}throw new Error("This browser does not support XMLHttpRequest.")};vc.$inject=["$provide"],xc.$inject=["$locale"],yc.$inject=["$locale"];var Hd=".",Id={yyyy:Bc("FullYear",4),yy:Bc("FullYear",2,0,!0),y:Bc("FullYear",1),MMMM:Cc("Month"),MMM:Cc("Month",!0),MM:Bc("Month",2,1),M:Bc("Month",1,1),dd:Bc("Date",2),d:Bc("Date",1),HH:Bc("Hours",2),H:Bc("Hours",1),hh:Bc("Hours",2,-12),h:Bc("Hours",1,-12),mm:Bc("Minutes",2),m:Bc("Minutes",1),ss:Bc("Seconds",2),s:Bc("Seconds",1),sss:Bc("Milliseconds",3),EEEE:Cc("Day"),EEE:Cc("Day",!0),a:Ec,Z:Dc},Jd=/((?:[^yMdHhmsaZE']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z))(.*)/,Kd=/^\d+$/;Fc.$inject=["$locale"];var Ld=q(Tc),Md=q(Uc);Ic.$inject=["$parse"];var Nd=q({restrict:"E",compile:function(a,c){return 8>=_c&&(c.href||c.name||c.$set("href",""),a.append(b.createComment("IE fix"))),function(a,b){b.bind("click",function(a){b.attr("href")||a.preventDefault()})}}}),Od={};f(qd,function(a,b){var c=Gb("ng-"+b);Od[c]=function(){return{priority:100,compile:function(){return function(a,d,e){a.$watch(e[c],function(a){e.$set(b,!!a)})}}}}}),f(["src","srcset","href"],function(a){var b=Gb("ng-"+a);Od[b]=function(){return{priority:99,link:function(c,d,e){e.$observe(b,function(b){b&&(e.$set(a,b),_c&&d.prop(a,e[a]))})}}}});var Pd={$addControl:o,$removeControl:o,$setValidity:o,$setDirty:o,$setPristine:o};Kc.$inject=["$element","$attrs","$scope"];var Qd=function(a){return["$timeout",function(b){var d={name:"form",restrict:"E",controller:Kc,compile:function(){return{pre:function(a,d,e,f){if(!e.action){var g=function(a){a.preventDefault?a.preventDefault():a.returnValue=!1};ld(d[0],"submit",g),d.bind("$destroy",function(){b(function(){md(d[0],"submit",g)},0,!1)})}var h=d.parent().controller("form"),i=e.name||e.ngForm;i&&(a[i]=f),h&&d.bind("$destroy",function(){h.$removeControl(f),i&&(a[i]=c),l(f,Pd)})}}}};return a?l(I(d),{restrict:"EAC"}):d}]},Rd=Qd(),Sd=Qd(!0),Td=/^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/,Ud=/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/,Vd=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/,Wd={text:Mc,number:Nc,url:Oc,email:Pc,radio:Qc,checkbox:Rc,hidden:o,button:o,submit:o,reset:o},Xd=["$browser","$sniffer",function(a,b){return{restrict:"E",require:"?ngModel",link:function(c,d,e,f){f&&(Wd[Tc(e.type)]||Wd.text)(c,d,e,f,b,a)}}}],Yd="ng-valid",Zd="ng-invalid",$d="ng-pristine",_d="ng-dirty",ae=["$scope","$exceptionHandler","$attrs","$element","$parse",function(a,b,c,d,e){function g(a,b){b=b?"-"+Z(b,"-"):"",d.removeClass((a?Zd:Yd)+b).addClass((a?Yd:Zd)+b)}this.$viewValue=Number.NaN,this.$modelValue=Number.NaN,this.$parsers=[],this.$formatters=[],this.$viewChangeListeners=[],this.$pristine=!0,this.$dirty=!1,this.$valid=!0,this.$invalid=!1,this.$name=c.name;var h=e(c.ngModel),i=h.assign;if(!i)throw Error(xd+c.ngModel+" ("+S(d)+")");this.$render=o;var j=d.inheritedData("$formController")||Pd,k=0,l=this.$error={};d.addClass($d),g(!0),this.$setValidity=function(a,b){l[a]!==!b&&(b?(l[a]&&k--,k||(g(!0),this.$valid=!0,this.$invalid=!1)):(g(!1),this.$invalid=!0,this.$valid=!1,k++),l[a]=!b,g(b,a),j.$setValidity(a,b,this))},this.$setPristine=function(){this.$dirty=!1,this.$pristine=!0,d.removeClass(_d).addClass($d)},this.$setViewValue=function(c){this.$viewValue=c,this.$pristine&&(this.$dirty=!0,this.$pristine=!1,d.removeClass($d).addClass(_d),j.$setDirty()),f(this.$parsers,function(a){c=a(c)}),this.$modelValue!==c&&(this.$modelValue=c,i(a,c),f(this.$viewChangeListeners,function(a){try{a()}catch(c){b(c)}}))};var m=this;a.$watch(function(){var b=h(a);if(m.$modelValue!==b){var c=m.$formatters,d=c.length;for(m.$modelValue=b;d--;)b=c[d](b);m.$viewValue!==b&&(m.$viewValue=b,m.$render())}})}],be=function(){return{require:["ngModel","^?form"],controller:ae,link:function(a,b,c,d){var e=d[0],f=d[1]||Pd;f.$addControl(e),b.bind("$destroy",function(){f.$removeControl(e)})}}},ce=q({require:"ngModel",link:function(a,b,c,d){d.$viewChangeListeners.push(function(){a.$eval(c.ngChange)})}}),de=function(){return{require:"?ngModel",link:function(a,b,c,d){if(d){c.required=!0;var e=function(a){return c.required&&(Lc(a)||a===!1)?void d.$setValidity("required",!1):(d.$setValidity("required",!0),a)};d.$formatters.push(e),d.$parsers.unshift(e),c.$observe("required",function(){e(d.$viewValue)})}}}},ee=function(){return{require:"ngModel",link:function(a,b,d,e){var g=/\/(.*)\//.exec(d.ngList),h=g&&new RegExp(g[1])||d.ngList||",",i=function(a){var b=[];return a&&f(a.split(h),function(a){a&&b.push(C(a))}),b};e.$parsers.push(i),e.$formatters.push(function(a){return x(a)?a.join(", "):c})}}},fe=/^(true|false|\d+)$/,ge=function(){return{priority:100,compile:function(a,b){return fe.test(b.ngValue)?function(a,b,c){c.$set("value",a.$eval(c.ngValue))}:function(a,b,c){a.$watch(c.ngValue,function(a){c.$set("value",a,!1)})}}}},he=Jc(function(a,b,d){b.addClass("ng-binding").data("$binding",d.ngBind),a.$watch(d.ngBind,function(a){b.text(a==c?"":a)})}),ie=["$interpolate",function(a){return function(b,c,d){var e=a(c.attr(d.$attr.ngBindTemplate));c.addClass("ng-binding").data("$binding",e),d.$observe("ngBindTemplate",function(a){c.text(a)})}}],je=[function(){return function(a,b,c){b.addClass("ng-binding").data("$binding",c.ngBindHtmlUnsafe),a.$watch(c.ngBindHtmlUnsafe,function(a){b.html(a||"")})}}],ke=Sc("",!0),le=Sc("Odd",0),me=Sc("Even",1),ne=Jc({compile:function(a,b){b.$set("ngCloak",c),a.removeClass("ng-cloak")}}),oe=[function(){return{scope:!0,controller:"@"}}],pe=["$sniffer",function(a){return{priority:1e3,compile:function(){a.csp=!0}}}],qe={};f("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress".split(" "),function(a){var b=Gb("ng-"+a);qe[b]=["$parse",function(c){return function(d,e,f){var g=c(f[b]);e.bind(Tc(a),function(a){d.$apply(function(){g(d,{$event:a})})})}}]});var re=Jc(function(a,b,c){b.bind("submit",function(){a.$apply(c.ngSubmit)})}),se=["$animator",function(a){return{transclude:"element",priority:1e3,terminal:!0,restrict:"A",compile:function(b,d,e){return function(b,d,f){var g,h,i=a(b,f);b.$watch(f.ngIf,function(a){g&&(i.leave(g),g=c),h&&(h.$destroy(),h=c),R(a)&&(h=b.$new(),e(h,function(a){g=a,i.enter(a,d.parent(),d)}))})}}}}],te=["$http","$templateCache","$anchorScroll","$compile","$animator",function(a,b,c,d,e){return{restrict:"ECA",terminal:!0,compile:function(f,g){var h=g.ngInclude||g.src,i=g.onload||"",j=g.autoscroll;return function(f,g,k){var l,m=e(f,k),n=0,o=function(){l&&(l.$destroy(),l=null),m.leave(g.contents(),g)};f.$watch(h,function(e){var h=++n;e?(a.get(e,{cache:b}).success(function(a){if(h===n){l&&l.$destroy(),l=f.$new(),m.leave(g.contents(),g);var b=Xc("
").html(a).contents();m.enter(b,g),d(b)(l),!s(j)||j&&!f.$eval(j)||c(),l.$emit("$includeContentLoaded"),f.$eval(i)}}).error(function(){h===n&&o()}),f.$emit("$includeContentRequested")):o()})}}}}],ue=Jc({compile:function(){return{pre:function(a,b,c){a.$eval(c.ngInit)}}}}),ve=Jc({terminal:!0,priority:1e3}),we=["$locale","$interpolate",function(a,b){var c=/{}/g;return{restrict:"EA",link:function(d,e,g){var h=g.count,i=e.attr(g.$attr.when),j=g.offset||0,k=d.$eval(i),l={},m=b.startSymbol(),n=b.endSymbol();f(k,function(a,d){l[d]=b(a.replace(c,m+h+"-"+j+n))}),d.$watch(function(){var b=parseFloat(d.$eval(h));return isNaN(b)?"":(b in k||(b=a.pluralCat(b-j)),l[b](d,e,!0))},function(a){e.text(a)})}}}],xe=["$parse","$animator",function(a,b){var c="$$NG_REMOVED";return{transclude:"element",priority:1e3,terminal:!0,compile:function(d,g,h){return function(d,g,i){var j,k,l,m,n,o,p,q=b(d,i),r=i.ngRepeat,s=r.match(/^\s*(.+)\s+in\s+(.*?)\s*(\s+track\s+by\s+(.+)\s*)?$/),t={$id:vb};if(!s)throw Error("Expected ngRepeat in form of '_item_ in _collection_[ track by _id_]' but got '"+r+"'.");if(m=s[1],n=s[2],j=s[4],j?(k=a(j),l=function(a,b,c){return p&&(t[p]=a),t[o]=b,t.$index=c,k(d,t)}):l=function(a,b){return vb(b)},s=m.match(/^(?:([\$\w]+)|\(([\$\w]+)\s*,\s*([\$\w]+)\))$/),!s)throw Error("'item' in 'item in collection' should be identifier or (key, value) but got '"+m+"'.");o=s[3]||s[1],p=s[2];var u={};d.$watchCollection(n,function(a){var b,i,j,k,m,n,s,t,v,w,x=g,y={},z=[];if(e(a))v=a;else{v=[];for(n in a)a.hasOwnProperty(n)&&"$"!=n.charAt(0)&&v.push(n);v.sort()}for(k=v.length,i=z.length=v.length,b=0;i>b;b++)if(n=a===v?b:v[b],s=a[n],t=l(n,s,b),u.hasOwnProperty(t))w=u[t],delete u[t],y[t]=w,z[b]=w;else{if(y.hasOwnProperty(t))throw f(z,function(a){a&&a.element&&(u[a.id]=a)}),new Error("Duplicates in a repeater are not allowed. Repeater: "+r+" key: "+t);z[b]={id:t},y[t]=!1}for(n in u)u.hasOwnProperty(n)&&(w=u[n],q.leave(w.element),w.element[0][c]=!0,w.scope.$destroy());for(b=0,i=v.length;i>b;b++){if(n=a===v?b:v[b],s=a[n],w=z[b],w.element){m=w.scope,j=x[0];do j=j.nextSibling;while(j&&j[c]);w.element[0]==j?x=w.element:(q.move(w.element,null,x),x=w.element)}else m=d.$new();m[o]=s,p&&(m[p]=n),m.$index=b,m.$first=0===b,m.$last=b===k-1,m.$middle=!(m.$first||m.$last),w.element||h(m,function(a){q.enter(a,null,x),x=a,w.scope=m,w.element=a,y[w.id]=w})}u=y})}}}}],ye=["$animator",function(a){return function(b,c,d){var e=a(b,d);b.$watch(d.ngShow,function(a){e[R(a)?"show":"hide"](c)})}}],ze=["$animator",function(a){return function(b,c,d){var e=a(b,d);b.$watch(d.ngHide,function(a){e[R(a)?"hide":"show"](c)})}}],Ae=Jc(function(a,b,c){a.$watch(c.ngStyle,function(a,c){c&&a!==c&&f(c,function(a,c){b.css(c,"")}),a&&b.css(a)},!0)}),Be=["$animator",function(a){return{restrict:"EA",require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(b,c,d,e){var g,h,i=a(b,d),j=d.ngSwitch||d.on,k=[];b.$watch(j,function(a){for(var c=0,j=k.length;j>c;c++)k[c].$destroy(),i.leave(h[c]);h=[],k=[],(g=e.cases["!"+a]||e.cases["?"])&&(b.$eval(d.change),f(g,function(a){var c=b.$new();k.push(c),a.transclude(c,function(b){var c=a.element;h.push(b),i.enter(b,c.parent(),c)})}))})}}}],Ce=Jc({transclude:"element",priority:500,require:"^ngSwitch",compile:function(a,b,c){return function(a,d,e,f){f.cases["!"+b.ngSwitchWhen]=f.cases["!"+b.ngSwitchWhen]||[],f.cases["!"+b.ngSwitchWhen].push({transclude:c,element:d})}}}),De=Jc({transclude:"element",priority:500,require:"^ngSwitch",compile:function(a,b,c){return function(a,b,d,e){e.cases["?"]=e.cases["?"]||[],e.cases["?"].push({transclude:c,element:b})}}}),Ee=Jc({controller:["$transclude","$element",function(a,b){a(function(a){b.append(a)})}]}),Fe=["$http","$templateCache","$route","$anchorScroll","$compile","$controller","$animator",function(a,b,c,d,e,f,g){return{restrict:"ECA",terminal:!0,link:function(a,b,h){function i(){l&&(l.$destroy(),l=null)}function j(){n.leave(b.contents(),b),i()}function k(){var g=c.current&&c.current.locals,h=g&&g.$template;if(h){j();var i=Xc("
").html(h).contents();n.enter(i,b);var k,o=e(i),p=c.current;l=p.scope=a.$new(),p.controller&&(g.$scope=l,k=f(p.controller,g),p.controllerAs&&(l[p.controllerAs]=k),b.children().data("$ngControllerController",k)),o(l),l.$emit("$viewContentLoaded"),l.$eval(m),d()}else j()}var l,m=h.onload||"",n=g(a,h);a.$on("$routeChangeSuccess",k),k()}}}],Ge=["$templateCache",function(a){return{restrict:"E",terminal:!0,compile:function(b,c){if("text/ng-template"==c.type){var d=c.id,e=b[0].text;a.put(d,e)}}}}],He=q({terminal:!0}),Ie=["$compile","$parse",function(a,d){var e=/^\s*(.*?)(?:\s+as\s+(.*?))?(?:\s+group\s+by\s+(.*))?\s+for\s+(?:([\$\w][\$\w\d]*)|(?:\(\s*([\$\w][\$\w\d]*)\s*,\s*([\$\w][\$\w\d]*)\s*\)))\s+in\s+(.*?)(?:\s+track\s+by\s+(.*?))?$/,h={$setViewValue:o};return{restrict:"E",require:["select","?ngModel"],controller:["$element","$scope","$attrs",function(a,b,c){var d,e,f=this,g={},i=h;f.databound=c.ngModel,f.init=function(a,b,c){i=a,d=b,e=c},f.addOption=function(b){g[b]=!0,i.$viewValue==b&&(a.val(b),e.parent()&&e.remove())},f.removeOption=function(a){this.hasOption(a)&&(delete g[a],i.$viewValue==a&&this.renderUnknownOption(a))},f.renderUnknownOption=function(b){var c="? "+vb(b)+" ?";e.val(c),a.prepend(e),a.val(c),e.prop("selected",!0)},f.hasOption=function(a){return g.hasOwnProperty(a)},b.$on("$destroy",function(){f.renderUnknownOption=o})}],link:function(h,i,j,k){function l(a,b,c,d){c.$render=function(){var a=c.$viewValue;d.hasOption(a)?(z.parent()&&z.remove(),b.val(a),""===a&&o.prop("selected",!0)):r(a)&&o?b.val(""):d.renderUnknownOption(a)},b.bind("change",function(){a.$apply(function(){z.parent()&&z.remove(),c.$setViewValue(b.val())})})}function m(a,b,c){var d;c.$render=function(){var a=new wb(c.$viewValue);f(b.find("option"),function(b){b.selected=s(a.get(b.value))})},a.$watch(function(){K(d,c.$viewValue)||(d=I(c.$viewValue),c.$render())}),b.bind("change",function(){a.$apply(function(){var a=[];f(b.find("option"),function(b){b.selected&&a.push(b.value)}),c.$setViewValue(a)})})}function n(b,f,h){function i(){var a,d,e,i,j,q,u,z,A,B,C,D,E,F,G={"":[]},H=[""],I=h.$modelValue,J=p(b)||[],K=m?g(J):J,L={},M=!1;if(t)if(r&&x(I)){M=new wb([]);for(var N=0;NB;B++){if(L[l]=J[m?L[m]=K[B]:B],a=n(b,L)||"",(d=G[a])||(d=G[a]=[],H.push(a)),t)C=M.remove(r?r(b,L):o(b,L))!=c;else{if(r){var O={};O[l]=I,C=r(b,O)===r(b,L)}else C=I===o(b,L);M=M||C}F=k(b,L),F=F===c?"":F,d.push({id:r?r(b,L):m?K[B]:B,label:F,selected:C})}for(t||(v||null===I?G[""].unshift({id:"",label:"",selected:!M}):M||G[""].unshift({id:"?",label:"",selected:!0})),A=0,u=H.length;u>A;A++){for(a=H[A],d=G[a],s.length<=A?(i={element:y.clone().attr("label",a),label:d.label},j=[i],s.push(j),f.append(i.element)):(j=s[A],i=j[0],i.label!=a&&i.element.attr("label",i.label=a)),D=null,B=0,z=d.length;z>B;B++)e=d[B],(q=j[B+1])?(D=q.element,q.label!==e.label&&D.text(q.label=e.label),q.id!==e.id&&D.val(q.id=e.id),D[0].selected!==e.selected&&D.prop("selected",q.selected=e.selected)):(""===e.id&&v?E=v:(E=w.clone()).val(e.id).attr("selected",e.selected).text(e.label),j.push(q={element:E,label:e.label,id:e.id,selected:e.selected}),D?D.after(E):i.element.append(E),D=E);for(B++;j.length>B;)j.pop().element.remove()}for(;s.length>A;)s.pop()[0].element.remove()}var j;if(!(j=u.match(e)))throw Error("Expected ngOptions in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_ (track by _expr_)?' but got '"+u+"'.");var k=d(j[2]||j[1]),l=j[4]||j[6],m=j[5],n=d(j[3]||""),o=d(j[2]?j[1]:l),p=d(j[7]),q=j[8],r=q?d(j[8]):null,s=[[{element:f,label:""}]];v&&(a(v)(b),v.removeClass("ng-scope"),v.remove()),f.html(""),f.bind("change",function(){b.$apply(function(){var a,d,e,g,i,j,k,n,q=p(b)||[],u={};if(t){for(e=[],j=0,n=s.length;n>j;j++)for(a=s[j],i=1,k=a.length;k>i;i++)if((g=a[i].element)[0].selected){if(d=g.val(),m&&(u[m]=d),r)for(var v=0;vA;A++)if(""==B[A].value){o=v=B.eq(A);break}if(p.init(q,v,z),t&&(j.required||j.ngRequired)){var D=function(a){return q.$setValidity("required",!j.required||a&&a.length),a};q.$parsers.push(D),q.$formatters.unshift(D),j.$observe("required",function(){D(q.$viewValue)})}u?n(h,i,q):t?m(h,i,q):l(h,i,q,p)}}}}],Je=["$interpolate",function(a){var b={addOption:o,removeOption:o};return{restrict:"E",priority:100,compile:function(c,d){if(r(d.value)){var e=a(c.text(),!0);e||d.$set("value",c.text())}return function(a,c,d){var f="$selectController",g=c.parent(),h=g.data(f)||g.parent().data(f);h&&h.databound?c.prop("selected",!1):h=b,e?a.$watch(e,function(a,b){d.$set("value",a),a!==b&&h.removeOption(b),h.addOption(a)}):h.addOption(d.value),c.bind("$destroy",function(){h.removeOption(d.value)})}}}}],Ke=q({restrict:"E",terminal:!0});$(),cb(ed),Xc(b).ready(function(){X(b,Y)})}(window,document),angular.element(document).find("head").append(''),define("angular",["jquery","config"],function(a){return function(){var b;return b||a.angular}}(this)),function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F=this,G=F&&F.ejs,H=Array.prototype,I=Object.prototype,J=H.slice,K=I.toString,L=I.hasOwnProperty,M=H.forEach,N=Array.isArray,O=H.indexOf,P={};E="undefined"!=typeof exports?exports:F.ejs={},a=function(a,b){return L.call(a,b)},b=function(b,c,d){if(null!=b)if(M&&b.forEach===M)b.forEach(c,d);else if(b.length===+b.length){for(var e=0,f=b.length;f>e;e++)if(c.call(d,b[e],e,b)===P)return}else for(var g in b)if(a(b,g)&&c.call(d,b[g],g,b)===P)return},c=function(a){return b(J.call(arguments,1),function(b){for(var c in b)a[c]=b[c]}),a},d=function(a,b){if(null==a)return-1;var c=0,d=a.length;if(O&&a.indexOf===O)return a.indexOf(b);for(;d>c;c++)if(a[c]===b)return c;return-1},e=function(b,c){var e,f,h={};for(e in b)a(b,e)&&-1===d(c,e)&&(f=b[e],g(f)&&(f=f.join()),h[e]=f);return h},f=function(b,c){var d,f=e(b,c),g=[];for(d in f)a(f,d)&&g.push(d+"="+encodeURIComponent(f[d]));return g.join("&")},g=N||function(a){return"[object Array]"===K.call(a)},h=function(a){return a===Object(a)},i=function(a){return"[object String]"===K.call(a)},j=function(a){return"[object Number]"===K.call(a)},k="function"!=typeof/./?function(a){return"function"==typeof a}:function(a){return"[object Function]"===K.call(a)},l=function(b){return h(b)&&a(b,"_type")&&a(b,"_self")&&a(b,"toString")},m=function(a){return l(a)&&"query"===a._type()},n=function(a){return l(a)&&"rescore"===a._type()},o=function(a){return l(a)&&"filter"===a._type()},p=function(a){return l(a)&&"facet"===a._type()},q=function(a){return l(a)&&"script field"===a._type()},r=function(a){return l(a)&&"geo point"===a._type()},s=function(a){return l(a)&&"indexed shape"===a._type()},t=function(a){return l(a)&&"shape"===a._type()},u=function(a){return l(a)&&"sort"===a._type()},v=function(a){return l(a)&&"highlight"===a._type()},w=function(a){return l(a)&&"suggest"===a._type()},x=function(a){return l(a)&&"generator"===a._type()},y=function(a){return l(a)&&"cluster health"===a._type()},z=function(a){return l(a)&&"cluster state"===a._type()},A=function(a){return l(a)&&"node stats"===a._type()},B=function(a){return l(a)&&"node info"===a._type()},C=function(a){return l(a)&&"request"===a._type()},D=function(a){return l(a)&&"multi search request"===a._type()},E.DateHistogramFacet=function(a){var b={};return b[a]={date_histogram:{}},{field:function(c){return null==c?b[a].date_histogram.field:(b[a].date_histogram.field=c,this)},keyField:function(c){return null==c?b[a].date_histogram.key_field:(b[a].date_histogram.key_field=c,this)},valueField:function(c){return null==c?b[a].date_histogram.value_field:(b[a].date_histogram.value_field=c,this)},interval:function(c){return null==c?b[a].date_histogram.interval:(b[a].date_histogram.interval=c,this)},timeZone:function(c){return null==c?b[a].date_histogram.time_zone:(b[a].date_histogram.time_zone=c,this)},preZone:function(c){return null==c?b[a].date_histogram.pre_zone:(b[a].date_histogram.pre_zone=c,this)},preZoneAdjustLargeInterval:function(c){return null==c?b[a].date_histogram.pre_zone_adjust_large_interval:(b[a].date_histogram.pre_zone_adjust_large_interval=c,this)},postZone:function(c){return null==c?b[a].date_histogram.post_zone:(b[a].date_histogram.post_zone=c,this)},preOffset:function(c){return null==c?b[a].date_histogram.pre_offset:(b[a].date_histogram.pre_offset=c,this)},postOffset:function(c){return null==c?b[a].date_histogram.post_offset:(b[a].date_histogram.post_offset=c,this)},factor:function(c){return null==c?b[a].date_histogram.factor:(b[a].date_histogram.factor=c,this)},valueScript:function(c){return null==c?b[a].date_histogram.value_script:(b[a].date_histogram.value_script=c,this)},order:function(c){return null==c?b[a].date_histogram.order:(c=c.toLowerCase(),("time"===c||"count"===c||"total"===c)&&(b[a].date_histogram.order=c),this)},lang:function(c){return null==c?b[a].date_histogram.lang:(b[a].date_histogram.lang=c,this)},params:function(c){return null==c?b[a].date_histogram.params:(b[a].date_histogram.params=c,this)},facetFilter:function(c){if(null==c)return b[a].facet_filter;if(!o(c))throw new TypeError("Argument must be a Filter");return b[a].facet_filter=c._self(),this},global:function(c){return null==c?b[a].global:(b[a].global=c,this)},mode:function(c){return null==c?b[a].mode:(c=c.toLowerCase(),("collector"===c||"post"===c)&&(b[a].mode=c),this)},scope:function(){return this},cacheFilter:function(c){return null==c?b[a].cache_filter:(b[a].cache_filter=c,this)},nested:function(c){return null==c?b[a].nested:(b[a].nested=c,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"facet"},_self:function(){return b}}},E.FilterFacet=function(a){var b={};return b[a]={},{filter:function(c){if(null==c)return b[a].filter;if(!o(c))throw new TypeError("Argument must be a Filter");return b[a].filter=c._self(),this},facetFilter:function(c){if(null==c)return b[a].facet_filter;if(!o(c))throw new TypeError("Argument must be a Filter");return b[a].facet_filter=c._self(),this},global:function(c){return null==c?b[a].global:(b[a].global=c,this)},mode:function(c){return null==c?b[a].mode:(c=c.toLowerCase(),("collector"===c||"post"===c)&&(b[a].mode=c),this)},scope:function(){return this},cacheFilter:function(c){return null==c?b[a].cache_filter:(b[a].cache_filter=c,this)},nested:function(c){return null==c?b[a].nested:(b[a].nested=c,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"facet"},_self:function(){return b}}},E.GeoDistanceFacet=function(a){var b={},c=E.GeoPoint([0,0]),d="location";return b[a]={geo_distance:{location:c._self(),ranges:[]}},{field:function(c){var e=b[a].geo_distance[d];return null==c?d:(delete b[a].geo_distance[d],d=c,b[a].geo_distance[c]=e,this)},point:function(e){if(null==e)return c;if(!r(e))throw new TypeError("Argument must be a GeoPoint");return c=e,b[a].geo_distance[d]=e._self(),this},addRange:function(c,d){return 0===arguments.length?b[a].geo_distance.ranges:(b[a].geo_distance.ranges.push({from:c,to:d}),this)},addUnboundedFrom:function(c){return null==c?b[a].geo_distance.ranges:(b[a].geo_distance.ranges.push({from:c}),this)},addUnboundedTo:function(c){return null==c?b[a].geo_distance.ranges:(b[a].geo_distance.ranges.push({to:c}),this)},unit:function(c){return null==c?b[a].geo_distance.unit:(c=c.toLowerCase(),("mi"===c||"km"===c)&&(b[a].geo_distance.unit=c),this) -},distanceType:function(c){return null==c?b[a].geo_distance.distance_type:(c=c.toLowerCase(),("arc"===c||"plane"===c)&&(b[a].geo_distance.distance_type=c),this)},normalize:function(c){return null==c?b[a].geo_distance.normalize:(b[a].geo_distance.normalize=c,this)},valueField:function(c){return null==c?b[a].geo_distance.value_field:(b[a].geo_distance.value_field=c,this)},valueScript:function(c){return null==c?b[a].geo_distance.value_script:(b[a].geo_distance.value_script=c,this)},lang:function(c){return null==c?b[a].geo_distance.lang:(b[a].geo_distance.lang=c,this)},params:function(c){return null==c?b[a].geo_distance.params:(b[a].geo_distance.params=c,this)},facetFilter:function(c){if(null==c)return b[a].facet_filter;if(!o(c))throw new TypeError("Argument must be a Filter");return b[a].facet_filter=c._self(),this},global:function(c){return null==c?b[a].global:(b[a].global=c,this)},mode:function(c){return null==c?b[a].mode:(c=c.toLowerCase(),("collector"===c||"post"===c)&&(b[a].mode=c),this)},scope:function(){return this},cacheFilter:function(c){return null==c?b[a].cache_filter:(b[a].cache_filter=c,this)},nested:function(c){return null==c?b[a].nested:(b[a].nested=c,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"facet"},_self:function(){return b}}},E.HistogramFacet=function(a){var b={};return b[a]={histogram:{}},{field:function(c){return null==c?b[a].histogram.field:(b[a].histogram.field=c,this)},interval:function(c){return null==c?b[a].histogram.interval:(b[a].histogram.interval=c,this)},timeInterval:function(c){return null==c?b[a].histogram.time_interval:(b[a].histogram.time_interval=c,this)},from:function(c){return null==c?b[a].histogram.from:(b[a].histogram.from=c,this)},to:function(c){return null==c?b[a].histogram.to:(b[a].histogram.to=c,this)},valueField:function(c){return null==c?b[a].histogram.value_field:(b[a].histogram.value_field=c,this)},keyField:function(c){return null==c?b[a].histogram.key_field:(b[a].histogram.key_field=c,this)},valueScript:function(c){return null==c?b[a].histogram.value_script:(b[a].histogram.value_script=c,this)},keyScript:function(c){return null==c?b[a].histogram.key_script:(b[a].histogram.key_script=c,this)},lang:function(c){return null==c?b[a].histogram.lang:(b[a].histogram.lang=c,this)},params:function(c){return null==c?b[a].histogram.params:(b[a].histogram.params=c,this)},order:function(c){return null==c?b[a].histogram.order:(c=c.toLowerCase(),("key"===c||"count"===c||"total"===c)&&(b[a].histogram.order=c),this)},facetFilter:function(c){if(null==c)return b[a].facet_filter;if(!o(c))throw new TypeError("Argument must be a Filter");return b[a].facet_filter=c._self(),this},global:function(c){return null==c?b[a].global:(b[a].global=c,this)},mode:function(c){return null==c?b[a].mode:(c=c.toLowerCase(),("collector"===c||"post"===c)&&(b[a].mode=c),this)},scope:function(){return this},cacheFilter:function(c){return null==c?b[a].cache_filter:(b[a].cache_filter=c,this)},nested:function(c){return null==c?b[a].nested:(b[a].nested=c,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"facet"},_self:function(){return b}}},E.QueryFacet=function(a){var b={};return b[a]={},{query:function(c){if(null==c)return b[a].query;if(!m(c))throw new TypeError("Argument must be a Query");return b[a].query=c._self(),this},facetFilter:function(c){if(null==c)return b[a].facet_filter;if(!o(c))throw new TypeError("Argumnet must be a Filter");return b[a].facet_filter=c._self(),this},global:function(c){return null==c?b[a].global:(b[a].global=c,this)},mode:function(c){return null==c?b[a].mode:(c=c.toLowerCase(),("collector"===c||"post"===c)&&(b[a].mode=c),this)},scope:function(){return this},cacheFilter:function(c){return null==c?b[a].cache_filter:(b[a].cache_filter=c,this)},nested:function(c){return null==c?b[a].nested:(b[a].nested=c,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"facet"},_self:function(){return b}}},E.RangeFacet=function(a){var b={};return b[a]={range:{ranges:[]}},{field:function(c){return null==c?b[a].range.field:(b[a].range.field=c,this)},keyField:function(c){return null==c?b[a].range.key_field:(b[a].range.key_field=c,this)},valueField:function(c){return null==c?b[a].range.value_field:(b[a].range.value_field=c,this)},valueScript:function(c){return null==c?b[a].range.value_script:(b[a].range.value_script=c,this)},keyScript:function(c){return null==c?b[a].range.key_script:(b[a].range.key_script=c,this)},lang:function(c){return null==c?b[a].range.lang:(b[a].range.lang=c,this)},params:function(c){return null==c?b[a].range.params:(b[a].range.params=c,this)},addRange:function(c,d){return 0===arguments.length?b[a].range.ranges:(b[a].range.ranges.push({from:c,to:d}),this)},addUnboundedFrom:function(c){return null==c?b[a].range.ranges:(b[a].range.ranges.push({from:c}),this)},addUnboundedTo:function(c){return null==c?b[a].range.ranges:(b[a].range.ranges.push({to:c}),this)},facetFilter:function(c){if(null==c)return b[a].facet_filter;if(!o(c))throw new TypeError("Argument must be a Filter");return b[a].facet_filter=c._self(),this},global:function(c){return null==c?b[a].global:(b[a].global=c,this)},mode:function(c){return null==c?b[a].mode:(c=c.toLowerCase(),("collector"===c||"post"===c)&&(b[a].mode=c),this)},scope:function(){return this},cacheFilter:function(c){return null==c?b[a].cache_filter:(b[a].cache_filter=c,this)},nested:function(c){return null==c?b[a].nested:(b[a].nested=c,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"facet"},_self:function(){return b}}},E.StatisticalFacet=function(a){var b={};return b[a]={statistical:{}},{field:function(c){return null==c?b[a].statistical.field:(b[a].statistical.field=c,this)},fields:function(c){if(null==c)return b[a].statistical.fields;if(!g(c))throw new TypeError("Argument must be an array");return b[a].statistical.fields=c,this},script:function(c){return null==c?b[a].statistical.script:(b[a].statistical.script=c,this)},lang:function(c){return null==c?b[a].statistical.lang:(b[a].statistical.lang=c,this)},params:function(c){return null==c?b[a].statistical.params:(b[a].statistical.params=c,this)},facetFilter:function(c){if(null==c)return b[a].facet_filter;if(!o(c))throw new TypeError("Argument must be a Filter");return b[a].facet_filter=c._self(),this},global:function(c){return null==c?b[a].global:(b[a].global=c,this)},mode:function(c){return null==c?b[a].mode:(c=c.toLowerCase(),("collector"===c||"post"===c)&&(b[a].mode=c),this)},scope:function(){return this},cacheFilter:function(c){return null==c?b[a].cache_filter:(b[a].cache_filter=c,this)},nested:function(c){return null==c?b[a].nested:(b[a].nested=c,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"facet"},_self:function(){return b}}},E.TermStatsFacet=function(a){var b={};return b[a]={terms_stats:{}},{valueField:function(c){return null==c?b[a].terms_stats.value_field:(b[a].terms_stats.value_field=c,this)},keyField:function(c){return null==c?b[a].terms_stats.key_field:(b[a].terms_stats.key_field=c,this)},scriptField:function(c){return null==c?b[a].terms_stats.script_field:(b[a].terms_stats.script_field=c,this)},valueScript:function(c){return null==c?b[a].terms_stats.value_script:(b[a].terms_stats.value_script=c,this)},allTerms:function(c){return null==c?b[a].terms_stats.all_terms:(b[a].terms_stats.all_terms=c,this)},lang:function(c){return null==c?b[a].terms_stats.lang:(b[a].terms_stats.lang=c,this)},params:function(c){return null==c?b[a].terms_stats.params:(b[a].terms_stats.params=c,this)},size:function(c){return null==c?b[a].terms_stats.size:(b[a].terms_stats.size=c,this)},order:function(c){return null==c?b[a].terms_stats.order:(c=c.toLowerCase(),("count"===c||"term"===c||"reverse_count"===c||"reverse_term"===c||"total"===c||"reverse_total"===c||"min"===c||"reverse_min"===c||"max"===c||"reverse_max"===c||"mean"===c||"reverse_mean"===c)&&(b[a].terms_stats.order=c),this)},facetFilter:function(c){if(null==c)return b[a].facet_filter;if(!o(c))throw new TypeError("Argument must be a Filter");return b[a].facet_filter=c._self(),this},global:function(c){return null==c?b[a].global:(b[a].global=c,this)},mode:function(c){return null==c?b[a].mode:(c=c.toLowerCase(),("collector"===c||"post"===c)&&(b[a].mode=c),this)},scope:function(){return this},cacheFilter:function(c){return null==c?b[a].cache_filter:(b[a].cache_filter=c,this)},nested:function(c){return null==c?b[a].nested:(b[a].nested=c,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"facet"},_self:function(){return b}}},E.TermsFacet=function(a){var b={};return b[a]={terms:{}},{field:function(c){return null==c?b[a].terms.field:(b[a].terms.field=c,this)},fields:function(c){if(null==c)return b[a].terms.fields;if(!g(c))throw new TypeError("Argument must be an array");return b[a].terms.fields=c,this},scriptField:function(c){return null==c?b[a].terms.script_field:(b[a].terms.script_field=c,this)},size:function(c){return null==c?b[a].terms.size:(b[a].terms.size=c,this)},order:function(c){return null==c?b[a].terms.order:(c=c.toLowerCase(),("count"===c||"term"===c||"reverse_count"===c||"reverse_term"===c)&&(b[a].terms.order=c),this)},allTerms:function(c){return null==c?b[a].terms.all_terms:(b[a].terms.all_terms=c,this)},exclude:function(c){if(null==b[a].terms.exclude&&(b[a].terms.exclude=[]),null==c)return b[a].terms.exclude;if(i(c))b[a].terms.exclude.push(c);else{if(!g(c))throw new TypeError("Argument must be string or array");b[a].terms.exclude=c}return this},regex:function(c){return null==c?b[a].terms.regex:(b[a].terms.regex=c,this)},regexFlags:function(c){return null==c?b[a].terms.regex_flags:(b[a].terms.regex_flags=c,this)},script:function(c){return null==c?b[a].terms.script:(b[a].terms.script=c,this)},lang:function(c){return null==c?b[a].terms.lang:(b[a].terms.lang=c,this)},params:function(c){return null==c?b[a].terms.params:(b[a].terms.params=c,this)},executionHint:function(c){return null==c?b[a].terms.execution_hint:(b[a].terms.execution_hint=c,this)},facetFilter:function(c){if(null==c)return b[a].facet_filter;if(!o(c))throw new TypeError("Argument must be a Filter");return b[a].facet_filter=c._self(),this},global:function(c){return null==c?b[a].global:(b[a].global=c,this)},mode:function(c){return null==c?b[a].mode:(c=c.toLowerCase(),("collector"===c||"post"===c)&&(b[a].mode=c),this)},scope:function(){return this},cacheFilter:function(c){return null==c?b[a].cache_filter:(b[a].cache_filter=c,this)},nested:function(c){return null==c?b[a].nested:(b[a].nested=c,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"facet"},_self:function(){return b}}},E.AndFilter=function(a){var b,c,d={and:{filters:[]}};if(o(a))d.and.filters.push(a._self());else{if(!g(a))throw new TypeError("Argument must be a Filter or Array of Filters");for(b=0,c=a.length;c>b;b++){if(!o(a[b]))throw new TypeError("Array must contain only Filter objects");d.and.filters.push(a[b]._self())}}return{filters:function(a){var b,c;if(null==a)return d.and.filters;if(o(a))d.and.filters.push(a._self());else{if(!g(a))throw new TypeError("Argument must be a Filter or an Array of Filters");for(d.and.filters=[],b=0,c=a.length;c>b;b++){if(!o(a[b]))throw new TypeError("Array must contain only Filter objects");d.and.filters.push(a[b]._self())}}return this},name:function(a){return null==a?d.and._name:(d.and._name=a,this)},cache:function(a){return null==a?d.and._cache:(d.and._cache=a,this)},cacheKey:function(a){return null==a?d.and._cache_key:(d.and._cache_key=a,this)},toString:function(){return JSON.stringify(d)},_type:function(){return"filter"},_self:function(){return d}}},E.BoolFilter=function(){var a={bool:{}};return{must:function(b){var c,d;if(null==a.bool.must&&(a.bool.must=[]),null==b)return a.bool.must;if(o(b))a.bool.must.push(b._self());else{if(!g(b))throw new TypeError("Argument must be a Filter or array of Filters");for(a.bool.must=[],c=0,d=b.length;d>c;c++){if(!o(b[c]))throw new TypeError("Argument must be an array of Filters");a.bool.must.push(b[c]._self())}}return this},mustNot:function(b){var c,d;if(null==a.bool.must_not&&(a.bool.must_not=[]),null==b)return a.bool.must_not;if(o(b))a.bool.must_not.push(b._self());else{if(!g(b))throw new TypeError("Argument must be a Filter or array of Filters");for(a.bool.must_not=[],c=0,d=b.length;d>c;c++){if(!o(b[c]))throw new TypeError("Argument must be an array of Filters");a.bool.must_not.push(b[c]._self())}}return this},should:function(b){var c,d;if(null==a.bool.should&&(a.bool.should=[]),null==b)return a.bool.should;if(o(b))a.bool.should.push(b._self());else{if(!g(b))throw new TypeError("Argument must be a Filter or array of Filters");for(a.bool.should=[],c=0,d=b.length;d>c;c++){if(!o(b[c]))throw new TypeError("Argument must be an array of Filters");a.bool.should.push(b[c]._self())}}return this},name:function(b){return null==b?a.bool._name:(a.bool._name=b,this)},cache:function(b){return null==b?a.bool._cache:(a.bool._cache=b,this)},cacheKey:function(b){return null==b?a.bool._cache_key:(a.bool._cache_key=b,this)},toString:function(){return JSON.stringify(a)},_type:function(){return"filter"},_self:function(){return a}}},E.ExistsFilter=function(a){var b={exists:{field:a}};return{field:function(a){return null==a?b.exists.field:(b.exists.field=a,this)},name:function(a){return null==a?b.exists._name:(b.exists._name=a,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"filter"},_self:function(){return b}}},E.GeoBboxFilter=function(a){var b={geo_bounding_box:{}};return b.geo_bounding_box[a]={},{field:function(c){var d=b.geo_bounding_box[a];return null==c?a:(delete b.geo_bounding_box[a],a=c,b.geo_bounding_box[c]=d,this)},topLeft:function(c){if(null==c)return b.geo_bounding_box[a].top_left;if(!r(c))throw new TypeError("Argument must be a GeoPoint");return b.geo_bounding_box[a].top_left=c._self(),this},bottomRight:function(c){if(null==c)return b.geo_bounding_box[a].bottom_right;if(!r(c))throw new TypeError("Argument must be a GeoPoint");return b.geo_bounding_box[a].bottom_right=c._self(),this},type:function(a){return null==a?b.geo_bounding_box.type:(a=a.toLowerCase(),("memory"===a||"indexed"===a)&&(b.geo_bounding_box.type=a),this)},normalize:function(a){return null==a?b.geo_bounding_box.normalize:(b.geo_bounding_box.normalize=a,this)},name:function(a){return null==a?b.geo_bounding_box._name:(b.geo_bounding_box._name=a,this)},cache:function(a){return null==a?b.geo_bounding_box._cache:(b.geo_bounding_box._cache=a,this)},cacheKey:function(a){return null==a?b.geo_bounding_box._cache_key:(b.geo_bounding_box._cache_key=a,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"filter"},_self:function(){return b}}},E.GeoDistanceFilter=function(a){var b={geo_distance:{}};return b.geo_distance[a]=[0,0],{field:function(c){var d=b.geo_distance[a];return null==c?a:(delete b.geo_distance[a],a=c,b.geo_distance[c]=d,this)},distance:function(a){if(null==a)return b.geo_distance.distance;if(!j(a))throw new TypeError("Argument must be a numeric value");return b.geo_distance.distance=a,this},unit:function(a){return null==a?b.geo_distance.unit:(a=a.toLowerCase(),("mi"===a||"km"===a)&&(b.geo_distance.unit=a),this)},point:function(c){if(null==c)return b.geo_distance[a];if(!r(c))throw new TypeError("Argument must be a GeoPoint");return b.geo_distance[a]=c._self(),this},distanceType:function(a){return null==a?b.geo_distance.distance_type:(a=a.toLowerCase(),("arc"===a||"plane"===a)&&(b.geo_distance.distance_type=a),this)},normalize:function(a){return null==a?b.geo_distance.normalize:(b.geo_distance.normalize=a,this)},optimizeBbox:function(a){return null==a?b.geo_distance.optimize_bbox:(a=a.toLowerCase(),("memory"===a||"indexed"===a||"none"===a)&&(b.geo_distance.optimize_bbox=a),this)},name:function(a){return null==a?b.geo_distance._name:(b.geo_distance._name=a,this)},cache:function(a){return null==a?b.geo_distance._cache:(b.geo_distance._cache=a,this)},cacheKey:function(a){return null==a?b.geo_distance._cache_key:(b.geo_distance._cache_key=a,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"filter"},_self:function(){return b}}},E.GeoDistanceRangeFilter=function(a){var b={geo_distance_range:{}};return b.geo_distance_range[a]=[0,0],{field:function(c){var d=b.geo_distance_range[a];return null==c?a:(delete b.geo_distance_range[a],a=c,b.geo_distance_range[c]=d,this)},from:function(a){if(null==a)return b.geo_distance_range.from;if(!j(a))throw new TypeError("Argument must be a numeric value");return b.geo_distance_range.from=a,this},to:function(a){if(null==a)return b.geo_distance_range.to;if(!j(a))throw new TypeError("Argument must be a numeric value");return b.geo_distance_range.to=a,this},includeLower:function(a){return null==a?b.geo_distance_range.include_lower:(b.geo_distance_range.include_lower=a,this)},includeUpper:function(a){return null==a?b.geo_distance_range.include_upper:(b.geo_distance_range.include_upper=a,this)},gt:function(a){if(null==a)return b.geo_distance_range.gt;if(!j(a))throw new TypeError("Argument must be a numeric value");return b.geo_distance_range.gt=a,this},gte:function(a){if(null==a)return b.geo_distance_range.gte;if(!j(a))throw new TypeError("Argument must be a numeric value");return b.geo_distance_range.gte=a,this},lt:function(a){if(null==a)return b.geo_distance_range.lt;if(!j(a))throw new TypeError("Argument must be a numeric value");return b.geo_distance_range.lt=a,this},lte:function(a){if(null==a)return b.geo_distance_range.lte;if(!j(a))throw new TypeError("Argument must be a numeric value");return b.geo_distance_range.lte=a,this},unit:function(a){return null==a?b.geo_distance_range.unit:(a=a.toLowerCase(),("mi"===a||"km"===a)&&(b.geo_distance_range.unit=a),this)},point:function(c){if(null==c)return b.geo_distance_range[a];if(!r(c))throw new TypeError("Argument must be a GeoPoint");return b.geo_distance_range[a]=c._self(),this},distanceType:function(a){return null==a?b.geo_distance_range.distance_type:(a=a.toLowerCase(),("arc"===a||"plane"===a)&&(b.geo_distance_range.distance_type=a),this)},normalize:function(a){return null==a?b.geo_distance_range.normalize:(b.geo_distance_range.normalize=a,this)},optimizeBbox:function(a){return null==a?b.geo_distance_range.optimize_bbox:(a=a.toLowerCase(),("memory"===a||"indexed"===a||"none"===a)&&(b.geo_distance_range.optimize_bbox=a),this)},name:function(a){return null==a?b.geo_distance_range._name:(b.geo_distance_range._name=a,this)},cache:function(a){return null==a?b.geo_distance_range._cache:(b.geo_distance_range._cache=a,this)},cacheKey:function(a){return null==a?b.geo_distance_range._cache_key:(b.geo_distance_range._cache_key=a,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"filter"},_self:function(){return b}}},E.GeoPolygonFilter=function(a){var b={geo_polygon:{}};return b.geo_polygon[a]={points:[]},{field:function(c){var d=b.geo_polygon[a];return null==c?a:(delete b.geo_polygon[a],a=c,b.geo_polygon[c]=d,this)},points:function(c){var d,e;if(null==c)return b.geo_polygon[a].points;if(r(c))b.geo_polygon[a].points.push(c._self());else{if(!g(c))throw new TypeError("Argument must be a GeoPoint or Array of GeoPoints");for(b.geo_polygon[a].points=[],d=0,e=c.length;e>d;d++){if(!r(c[d]))throw new TypeError("Argument must be Array of GeoPoints");b.geo_polygon[a].points.push(c[d]._self())}}return this},normalize:function(a){return null==a?b.geo_polygon.normalize:(b.geo_polygon.normalize=a,this)},name:function(a){return null==a?b.geo_polygon._name:(b.geo_polygon._name=a,this)},cache:function(a){return null==a?b.geo_polygon._cache:(b.geo_polygon._cache=a,this)},cacheKey:function(a){return null==a?b.geo_polygon._cache_key:(b.geo_polygon._cache_key=a,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"filter"},_self:function(){return b}}},E.GeoShapeFilter=function(a){var b={geo_shape:{}};return b.geo_shape[a]={},{field:function(c){var d=b.geo_shape[a];return null==c?a:(delete b.geo_shape[a],a=c,b.geo_shape[c]=d,this)},shape:function(c){return null==c?b.geo_shape[a].shape:(null!=b.geo_shape[a].indexed_shape&&delete b.geo_shape[a].indexed_shape,b.geo_shape[a].shape=c._self(),this)},indexedShape:function(c){return null==c?b.geo_shape[a].indexed_shape:(null!=b.geo_shape[a].shape&&delete b.geo_shape[a].shape,b.geo_shape[a].indexed_shape=c._self(),this)},relation:function(c){return null==c?b.geo_shape[a].relation:(c=c.toLowerCase(),("intersects"===c||"disjoint"===c||"within"===c)&&(b.geo_shape[a].relation=c),this)},strategy:function(c){return null==c?b.geo_shape[a].strategy:(c=c.toLowerCase(),("recursive"===c||"term"===c)&&(b.geo_shape[a].strategy=c),this)},name:function(a){return null==a?b.geo_shape._name:(b.geo_shape._name=a,this)},cache:function(a){return null==a?b.geo_shape._cache:(b.geo_shape._cache=a,this)},cacheKey:function(a){return null==a?b.geo_shape._cache_key:(b.geo_shape._cache_key=a,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"filter"},_self:function(){return b}}},E.HasChildFilter=function(a,b){if(!m(a))throw new TypeError("No Query object found");var c={has_child:{query:a._self(),type:b}};return{query:function(a){if(null==a)return c.has_child.query;if(!m(a))throw new TypeError("Argument must be a Query object");return c.has_child.query=a._self(),this},filter:function(a){if(null==a)return c.has_child.filter;if(!o(a))throw new TypeError("Argument must be a Filter object");return c.has_child.filter=a._self(),this},type:function(a){return null==a?c.has_child.type:(c.has_child.type=a,this)},shortCircuitCutoff:function(a){return null==a?c.has_child.short_circuit_cutoff:(c.has_child.short_circuit_cutoff=a,this)},scope:function(){return this},name:function(a){return null==a?c.has_child._name:(c.has_child._name=a,this)},cache:function(a){return null==a?c.has_child._cache:(c.has_child._cache=a,this)},cacheKey:function(a){return null==a?c.has_child._cache_key:(c.has_child._cache_key=a,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"filter"},_self:function(){return c}}},E.HasParentFilter=function(a,b){if(!m(a))throw new TypeError("No Query object found");var c={has_parent:{query:a._self(),parent_type:b}};return{query:function(a){if(null==a)return c.has_parent.query;if(!m(a))throw new TypeError("Argument must be a Query object");return c.has_parent.query=a._self(),this},filter:function(a){if(null==a)return c.has_parent.filter;if(!o(a))throw new TypeError("Argument must be a Filter object");return c.has_parent.filter=a._self(),this},parentType:function(a){return null==a?c.has_parent.parent_type:(c.has_parent.parent_type=a,this)},scope:function(){return this},name:function(a){return null==a?c.has_parent._name:(c.has_parent._name=a,this)},cache:function(a){return null==a?c.has_parent._cache:(c.has_parent._cache=a,this)},cacheKey:function(a){return null==a?c.has_parent._cache_key:(c.has_parent._cache_key=a,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"filter"},_self:function(){return c}}},E.IdsFilter=function(a){var b={ids:{}};if(i(a))b.ids.values=[a];else{if(!g(a))throw new TypeError("Argument must be a string or an array");b.ids.values=a}return{values:function(a){if(null==a)return b.ids.values;if(i(a))b.ids.values.push(a);else{if(!g(a))throw new TypeError("Argument must be a string or an array");b.ids.values=a}return this},type:function(a){if(null==b.ids.type&&(b.ids.type=[]),null==a)return b.ids.type;if(i(a))b.ids.type.push(a);else{if(!g(a))throw new TypeError("Argument must be a string or an array");b.ids.type=a}return this},name:function(a){return null==a?b.ids._name:(b.ids._name=a,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"filter"},_self:function(){return b}}},E.IndicesFilter=function(a,b){if(!o(a))throw new TypeError("Argument must be a Filter");var c={indices:{filter:a._self()}};if(i(b))c.indices.indices=[b];else{if(!g(b))throw new TypeError("Argument must be a string or array");c.indices.indices=b}return{indices:function(a){if(null==a)return c.indices.indices;if(i(a))c.indices.indices.push(a);else{if(!g(a))throw new TypeError("Argument must be a string or array");c.indices.indices=a}return this},filter:function(a){if(null==a)return c.indices.filter;if(!o(a))throw new TypeError("Argument must be a Filter");return c.indices.filter=a._self(),this},noMatchFilter:function(a){if(null==a)return c.indices.no_match_filter;if(i(a))a=a.toLowerCase(),("none"===a||"all"===a)&&(c.indices.no_match_filter=a);else{if(!o(a))throw new TypeError("Argument must be string or Filter");c.indices.no_match_filter=a._self()}return this},toString:function(){return JSON.stringify(c)},_type:function(){return"filter"},_self:function(){return c}}},E.LimitFilter=function(a){var b={limit:{value:a}};return{value:function(a){if(null==a)return b.limit.value;if(!j(a))throw new TypeError("Argument must be a numeric value");return b.limit.value=a,this},toString:function(){return JSON.stringify(b)},_type:function(){return"filter"},_self:function(){return b}}},E.MatchAllFilter=function(){var a={match_all:{}};return{toString:function(){return JSON.stringify(a)},_type:function(){return"filter"},_self:function(){return a}}},E.MissingFilter=function(a){var b={missing:{field:a}};return{field:function(a){return null==a?b.missing.field:(b.missing.field=a,this)},existence:function(a){return null==a?b.missing.existence:(b.missing.existence=a,this)},nullValue:function(a){return null==a?b.missing.null_value:(b.missing.null_value=a,this)},name:function(a){return null==a?b.missing._name:(b.missing._name=a,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"filter"},_self:function(){return b}}},E.NestedFilter=function(a){var b={nested:{path:a}};return{path:function(a){return null==a?b.nested.path:(b.nested.path=a,this)},query:function(a){if(null==a)return b.nested.query;if(!m(a))throw new TypeError("Argument must be a Query object");return b.nested.query=a._self(),this},filter:function(a){if(null==a)return b.nested.filter;if(!o(a))throw new TypeError("Argument must be a Filter object");return b.nested.filter=a._self(),this},boost:function(a){return null==a?b.nested.boost:(b.nested.boost=a,this)},join:function(a){return null==a?b.nested.join:(b.nested.join=a,this)},scope:function(){return this},name:function(a){return null==a?b.nested._name:(b.nested._name=a,this)},cache:function(a){return null==a?b.nested._cache:(b.nested._cache=a,this)},cacheKey:function(a){return null==a?b.nested._cache_key:(b.nested._cache_key=a,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"filter"},_self:function(){return b}}},E.NotFilter=function(a){if(!o(a))throw new TypeError("Argument must be a Filter");var b={not:a._self()};return{filter:function(a){if(null==a)return b.not;if(!o(a))throw new TypeError("Argument must be a Filter");return b.not=a._self(),this},name:function(a){return null==a?b.not._name:(b.not._name=a,this)},cache:function(a){return null==a?b.not._cache:(b.not._cache=a,this)},cacheKey:function(a){return null==a?b.not._cache_key:(b.not._cache_key=a,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"filter"},_self:function(){return b}}},E.NumericRangeFilter=function(a){var b={numeric_range:{}};return b.numeric_range[a]={},{field:function(c){var d=b.numeric_range[a];return null==c?a:(delete b.numeric_range[a],a=c,b.numeric_range[a]=d,this)},from:function(c){if(null==c)return b.numeric_range[a].from;if(!j(c))throw new TypeError("Argument must be a numeric value");return b.numeric_range[a].from=c,this},to:function(c){if(null==c)return b.numeric_range[a].to;if(!j(c))throw new TypeError("Argument must be a numeric value");return b.numeric_range[a].to=c,this},includeLower:function(c){return null==c?b.numeric_range[a].include_lower:(b.numeric_range[a].include_lower=c,this)},includeUpper:function(c){return null==c?b.numeric_range[a].include_upper:(b.numeric_range[a].include_upper=c,this)},gt:function(c){if(null==c)return b.numeric_range[a].gt;if(!j(c))throw new TypeError("Argument must be a numeric value");return b.numeric_range[a].gt=c,this},gte:function(c){if(null==c)return b.numeric_range[a].gte;if(!j(c))throw new TypeError("Argument must be a numeric value");return b.numeric_range[a].gte=c,this},lt:function(c){if(null==c)return b.numeric_range[a].lt;if(!j(c))throw new TypeError("Argument must be a numeric value");return b.numeric_range[a].lt=c,this},lte:function(c){if(null==c)return b.numeric_range[a].lte;if(!j(c))throw new TypeError("Argument must be a numeric value");return b.numeric_range[a].lte=c,this},name:function(a){return null==a?b.numeric_range._name:(b.numeric_range._name=a,this)},cache:function(a){return null==a?b.numeric_range._cache:(b.numeric_range._cache=a,this)},cacheKey:function(a){return null==a?b.numeric_range._cache_key:(b.numeric_range._cache_key=a,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"filter"},_self:function(){return b}}},E.OrFilter=function(a){var b,c,d;if(b={or:{filters:[]}},o(a))b.or.filters.push(a._self());else{if(!g(a))throw new TypeError("Argument must be a Filter or array of Filters");for(c=0,d=a.length;d>c;c++){if(!o(a[c]))throw new TypeError("Argument must be array of Filters");b.or.filters.push(a[c]._self())}}return{filters:function(a){var c,d;if(null==a)return b.or.filters;if(o(a))b.or.filters.push(a._self());else{if(!g(a))throw new TypeError("Argument must be a Filter or array of Filters");for(b.or.filters=[],c=0,d=a.length;d>c;c++){if(!o(a[c]))throw new TypeError("Argument must be an array of Filters");b.or.filters.push(a[c]._self())}}return this},name:function(a){return null==a?b.or._name:(b.or._name=a,this)},cache:function(a){return null==a?b.or._cache:(b.or._cache=a,this)},cacheKey:function(a){return null==a?b.or._cache_key:(b.or._cache_key=a,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"filter"},_self:function(){return b}}},E.PrefixFilter=function(a,b){var c={prefix:{}};return c.prefix[a]=b,{field:function(b){var d=c.prefix[a];return null==b?a:(delete c.prefix[a],a=b,c.prefix[a]=d,this)},prefix:function(b){return null==b?c.prefix[a]:(c.prefix[a]=b,this)},name:function(a){return null==a?c.prefix._name:(c.prefix._name=a,this)},cache:function(a){return null==a?c.prefix._cache:(c.prefix._cache=a,this)},cacheKey:function(a){return null==a?c.prefix._cache_key:(c.prefix._cache_key=a,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"filter"},_self:function(){return c}}},E.QueryFilter=function(a){if(!m(a))throw new TypeError("Argument must be a Query");var b={fquery:{query:a._self()}};return{query:function(a){if(null==a)return b.fquery.query;if(!m(a))throw new TypeError("Argument must be a Query");return b.fquery.query=a._self(),this},name:function(a){return null==a?b.fquery._name:(b.fquery._name=a,this)},cache:function(a){return null==a?b.fquery._cache:(b.fquery._cache=a,this)},cacheKey:function(a){return null==a?b.fquery._cache_key:(b.fquery._cache_key=a,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"filter"},_self:function(){return b}}},E.RangeFilter=function(a){var b={range:{}};return b.range[a]={},{field:function(c){var d=b.range[a];return null==c?a:(delete b.range[a],a=c,b.range[c]=d,this)},from:function(c){return null==c?b.range[a].from:(b.range[a].from=c,this)},to:function(c){return null==c?b.range[a].to:(b.range[a].to=c,this)},includeLower:function(c){return null==c?b.range[a].include_lower:(b.range[a].include_lower=c,this)},includeUpper:function(c){return null==c?b.range[a].include_upper:(b.range[a].include_upper=c,this)},gt:function(c){return null==c?b.range[a].gt:(b.range[a].gt=c,this)},gte:function(c){return null==c?b.range[a].gte:(b.range[a].gte=c,this)},lt:function(c){return null==c?b.range[a].lt:(b.range[a].lt=c,this)},lte:function(c){return null==c?b.range[a].lte:(b.range[a].lte=c,this)},name:function(a){return null==a?b.range._name:(b.range._name=a,this) -},cache:function(a){return null==a?b.range._cache:(b.range._cache=a,this)},cacheKey:function(a){return null==a?b.range._cache_key:(b.range._cache_key=a,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"filter"},_self:function(){return b}}},E.RegexpFilter=function(a,b){var c={regexp:{}};return c.regexp[a]={value:b},{field:function(b){var d=c.regexp[a];return null==b?a:(delete c.regexp[a],a=b,c.regexp[b]=d,this)},value:function(b){return null==b?c.regexp[a].value:(c.regexp[a].value=b,this)},flags:function(b){return null==b?c.regexp[a].flags:(c.regexp[a].flags=b,this)},flagsValue:function(b){return null==b?c.regexp[a].flags_value:(c.regexp[a].flags_value=b,this)},name:function(a){return null==a?c.regexp._name:(c.regexp._name=a,this)},cache:function(a){return null==a?c.regexp._cache:(c.regexp._cache=a,this)},cacheKey:function(a){return null==a?c.regexp._cache_key:(c.regexp._cache_key=a,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"filter"},_self:function(){return c}}},E.ScriptFilter=function(a){var b={script:{script:a}};return{script:function(a){return null==a?b.script.script:(b.script.script=a,this)},params:function(a){return null==a?b.script.params:(b.script.params=a,this)},lang:function(a){return null==a?b.script.lang:(b.script.lang=a,this)},name:function(a){return null==a?b.script._name:(b.script._name=a,this)},cache:function(a){return null==a?b.script._cache:(b.script._cache=a,this)},cacheKey:function(a){return null==a?b.script._cache_key:(b.script._cache_key=a,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"filter"},_self:function(){return b}}},E.TermFilter=function(a,b){var c={term:{}};return c.term[a]=b,{field:function(b){var d=c.term[a];return null==b?a:(delete c.term[a],a=b,c.term[a]=d,this)},term:function(b){return null==b?c.term[a]:(c.term[a]=b,this)},name:function(a){return null==a?c.term._name:(c.term._name=a,this)},cache:function(a){return null==a?c.term._cache:(c.term._cache=a,this)},cacheKey:function(a){return null==a?c.term._cache_key:(c.term._cache_key=a,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"filter"},_self:function(){return c}}},E.TermsFilter=function(a,b){var c={terms:{}},d=function(){g(c.terms[a])||(c.terms[a]=[])},e=function(){g(c.terms[a])&&(c.terms[a]={})};return c.terms[a]=g(b)?b:[b],{field:function(b){var d=c.terms[a];return null==b?a:(delete c.terms[a],a=b,c.terms[b]=d,this)},terms:function(b){return d(),null==b?c.terms[a]:(g(b)?c.terms[a]=b:c.terms[a].push(b),this)},index:function(b){return e(),null==b?c.terms[a].index:(c.terms[a].index=b,this)},type:function(b){return e(),null==b?c.terms[a].type:(c.terms[a].type=b,this)},id:function(b){return e(),null==b?c.terms[a].id:(c.terms[a].id=b,this)},path:function(b){return e(),null==b?c.terms[a].path:(c.terms[a].path=b,this)},routing:function(b){return e(),null==b?c.terms[a].routing:(c.terms[a].routing=b,this)},cacheLookup:function(b){return e(),null==b?c.terms[a].cache:(c.terms[a].cache=b,this)},execution:function(a){return null==a?c.terms.execution:(a=a.toLowerCase(),("plain"===a||"bool"===a||"bool_nocache"===a||"and"===a||"and_nocache"===a||"or"===a||"or_nocache"===a)&&(c.terms.execution=a),this)},name:function(a){return null==a?c.terms._name:(c.terms._name=a,this)},cache:function(a){return null==a?c.terms._cache:(c.terms._cache=a,this)},cacheKey:function(a){return null==a?c.terms._cache_key:(c.terms._cache_key=a,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"filter"},_self:function(){return c}}},E.TypeFilter=function(a){var b={type:{value:a}};return{type:function(a){return null==a?b.type.value:(b.type.value=a,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"filter"},_self:function(){return b}}},E.Document=function(a,b,c){var d={},j=["upsert","source","script","lang","params"];return{index:function(b){return null==b?a:(a=b,this)},type:function(a){return null==a?b:(b=a,this)},id:function(a){return null==a?c:(c=a,this)},routing:function(a){return null==a?d.routing:(d.routing=a,this)},parent:function(a){return null==a?d.parent:(d.parent=a,this)},timestamp:function(a){return null==a?d.timestamp:(d.timestamp=a,this)},ttl:function(a){return null==a?d.ttl:(d.ttl=a,this)},timeout:function(a){return null==a?d.timeout:(d.timeout=a,this)},refresh:function(a){return null==a?d.refresh:(d.refresh=a,this)},version:function(a){return null==a?d.version:(d.version=a,this)},versionType:function(a){return null==a?d.version_type:(a=a.toLowerCase(),("internal"===a||"external"===a)&&(d.version_type=a),this)},opType:function(a){return null==a?d.op_type:(a=a.toLowerCase(),("index"===a||"create"===a)&&(d.op_type=a),this)},replication:function(a){return null==a?d.replication:(a=a.toLowerCase(),("async"===a||"sync"===a||"default"===a)&&(d.replication=a),this)},consistency:function(a){return null==a?d.consistency:(a=a.toLowerCase(),("default"===a||"one"===a||"quorum"===a||"all"===a)&&(d.consistency=a),this)},preference:function(a){return null==a?d.preference:(d.preference=a,this)},realtime:function(a){return null==a?d.realtime:(d.realtime=a,this)},fields:function(a){if(null==d.fields&&(d.fields=[]),null==a)return d.fields;if(i(a))d.fields.push(a);else{if(!g(a))throw new TypeError("Argument must be string or array");d.fields=a}return this},script:function(a){return null==a?d.script:(d.script=a,this)},lang:function(a){return null==a?d.lang:(d.lang=a,this)},params:function(a){if(null==a)return d.params;if(!h(a))throw new TypeError("Argument must be an object");return d.params=a,this},retryOnConflict:function(a){return null==a?d.retry_on_conflict:(d.retry_on_conflict=a,this)},upsert:function(a){if(null==a)return d.upsert;if(!h(a))throw new TypeError("Argument must be an object");return d.upsert=a,this},docAsUpsert:function(a){return null==a?d.doc_as_upsert:(d.doc_as_upsert=a,this)},source:function(a){if(null==a)return d.source;if(!h(a))throw new TypeError("Argument must be an object");return d.source=a,this},toString:function(){return JSON.stringify(d)},_type:function(){return"document"},_self:function(){return d},doGet:function(f,g){if(null==E.client)throw new Error("No Client Set");if(null==a||null==b||null==c)throw new Error("Index, Type, and ID must be set");var h="/"+a+"/"+b+"/"+c;return E.client.get(h,e(d,j),f,g)},doIndex:function(e,g){if(null==E.client)throw new Error("No Client Set");if(null==a||null==b)throw new Error("Index and Type must be set");if(null==d.source)throw new Error("No source document found");var h,i="/"+a+"/"+b,k=JSON.stringify(d.source),l=f(d,j);return null!=c&&(i=i+"/"+c),""!==l&&(i=i+"?"+l),h=null==c?E.client.post(i,k,e,g):E.client.put(i,k,e,g)},doUpdate:function(e,g){if(null==E.client)throw new Error("No Client Set");if(null==a||null==b||null==c)throw new Error("Index, Type, and ID must be set");if(null==d.script&&null==d.source)throw new Error("Update script or document required");var h="/"+a+"/"+b+"/"+c+"/_update",i={},k=f(d,j);return""!==k&&(h=h+"?"+k),null!=d.script&&(i.script=d.script),null!=d.lang&&(i.lang=d.lang),null!=d.params&&(i.params=d.params),null!=d.upsert&&(i.upsert=d.upsert),null!=d.source&&(i.doc=d.source),E.client.post(h,JSON.stringify(i),e,g)},doDelete:function(e,g){if(null==E.client)throw new Error("No Client Set");if(null==a||null==b||null==c)throw new Error("Index, Type, and ID must be set");var h="/"+a+"/"+b+"/"+c,i="",k=f(d,j);return""!==k&&(h=h+"?"+k),E.client.del(h,i,e,g)}}},E.BoolQuery=function(){var a={bool:{}};return{must:function(b){var c,d;if(null==a.bool.must&&(a.bool.must=[]),null==b)return a.bool.must;if(m(b))a.bool.must.push(b._self());else{if(!g(b))throw new TypeError("Argument must be a Query or array of Queries");for(a.bool.must=[],c=0,d=b.length;d>c;c++){if(!m(b[c]))throw new TypeError("Argument must be an array of Queries");a.bool.must.push(b[c]._self())}}return this},mustNot:function(b){var c,d;if(null==a.bool.must_not&&(a.bool.must_not=[]),null==b)return a.bool.must_not;if(m(b))a.bool.must_not.push(b._self());else{if(!g(b))throw new TypeError("Argument must be a Query or array of Queries");for(a.bool.must_not=[],c=0,d=b.length;d>c;c++){if(!m(b[c]))throw new TypeError("Argument must be an array of Queries");a.bool.must_not.push(b[c]._self())}}return this},should:function(b){var c,d;if(null==a.bool.should&&(a.bool.should=[]),null==b)return a.bool.should;if(m(b))a.bool.should.push(b._self());else{if(!g(b))throw new TypeError("Argument must be a Query or array of Queries");for(a.bool.should=[],c=0,d=b.length;d>c;c++){if(!m(b[c]))throw new TypeError("Argument must be an array of Queries");a.bool.should.push(b[c]._self())}}return this},boost:function(b){return null==b?a.bool.boost:(a.bool.boost=b,this)},adjustPureNegative:function(b){return null==b?a.bool.adjust_pure_negative:(a.bool.adjust_pure_negative=b,this)},disableCoord:function(b){return null==b?a.bool.disable_coord:(a.bool.disable_coord=b,this)},minimumNumberShouldMatch:function(b){return null==b?a.bool.minimum_number_should_match:(a.bool.minimum_number_should_match=b,this)},toString:function(){return JSON.stringify(a)},_type:function(){return"query"},_self:function(){return a}}},E.BoostingQuery=function(a,b,c){if(!m(a)||!m(b))throw new TypeError("Arguments must be Queries");var d={boosting:{positive:a._self(),negative:b._self(),negative_boost:c}};return{positive:function(a){if(null==a)return d.boosting.positive;if(!m(a))throw new TypeError("Argument must be a Query");return d.boosting.positive=a._self(),this},negative:function(a){if(null==a)return d.boosting.negative;if(!m(a))throw new TypeError("Argument must be a Query");return d.boosting.negative=a._self(),this},negativeBoost:function(a){return null==a?d.boosting.negative_boost:(d.boosting.negative_boost=a,this)},boost:function(a){return null==a?d.boosting.boost:(d.boosting.boost=a,this)},toString:function(){return JSON.stringify(d)},_type:function(){return"query"},_self:function(){return d}}},E.CommonTermsQuery=function(a,b){var c={common:{}};return null==a&&(a="no_field_set"),c.common[a]={},null!=b&&(c.common[a].query=b),{field:function(b){var d=c.common[a];return null==b?a:(delete c.common[a],a=b,c.common[b]=d,this)},query:function(b){return null==b?c.common[a].query:(c.common[a].query=b,this)},analyzer:function(b){return null==b?c.common[a].analyzer:(c.common[a].analyzer=b,this)},disableCoord:function(b){return null==b?c.common[a].disable_coord:(c.common[a].disable_coord=b,this)},cutoffFrequency:function(b){return null==b?c.common[a].cutoff_frequency:(c.common[a].cutoff_frequency=b,this)},highFreqOperator:function(b){return null==b?c.common[a].high_freq_operator:(b=b.toLowerCase(),("and"===b||"or"===b)&&(c.common[a].high_freq_operator=b),this)},lowFreqOperator:function(b){return null==b?c.common[a].low_freq_operator:(b=b.toLowerCase(),("and"===b||"or"===b)&&(c.common[a].low_freq_operator=b),this)},minimumShouldMatch:function(b){return null==b?c.common[a].minimum_should_match.low_freq:(null==c.common[a].minimum_should_match&&(c.common[a].minimum_should_match={}),c.common[a].minimum_should_match.low_freq=b,this)},minimumShouldMatchLowFreq:function(a){return this.minimumShouldMatch(a)},minimumShouldMatchHighFreq:function(b){return null==b?c.common[a].minimum_should_match.high_freq:(null==c.common[a].minimum_should_match&&(c.common[a].minimum_should_match={}),c.common[a].minimum_should_match.high_freq=b,this)},boost:function(b){return null==b?c.common[a].boost:(c.common[a].boost=b,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"query"},_self:function(){return c}}},E.ConstantScoreQuery=function(){var a={constant_score:{}};return{query:function(b){if(null==b)return a.constant_score.query;if(!m(b))throw new TypeError("Argument must be a Query");return a.constant_score.query=b._self(),this},filter:function(b){if(null==b)return a.constant_score.filter;if(!o(b))throw new TypeError("Argument must be a Filter");return a.constant_score.filter=b._self(),this},cache:function(b){return null==b?a.constant_score._cache:(a.constant_score._cache=b,this)},cacheKey:function(b){return null==b?a.constant_score._cache_key:(a.constant_score._cache_key=b,this)},boost:function(b){return null==b?a.constant_score.boost:(a.constant_score.boost=b,this)},toString:function(){return JSON.stringify(a)},_type:function(){return"query"},_self:function(){return a}}},E.CustomBoostFactorQuery=function(a){if(!m(a))throw new TypeError("Argument must be a Query");var b={custom_boost_factor:{query:a._self()}};return{query:function(a){if(null==a)return b.custom_boost_factor.query;if(!m(a))throw new TypeError("Argument must be a Query");return b.custom_boost_factor.query=a._self(),this},boostFactor:function(a){return null==a?b.custom_boost_factor.boost_factor:(b.custom_boost_factor.boost_factor=a,this)},boost:function(a){return null==a?b.custom_boost_factor.boost:(b.custom_boost_factor.boost=a,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"query"},_self:function(){return b}}},E.CustomFiltersScoreQuery=function(a,c){if(!m(a))throw new TypeError("Argument must be a Query");var d={custom_filters_score:{query:a._self(),filters:[]}},e=function(a){var b=null;return a.filter&&o(a.filter)&&(b={filter:a.filter._self()},a.boost?b.boost=a.boost:a.script?b.script=a.script:b=null),b};return b(g(c)?c:[c],function(a){var b=e(a);null!==b&&d.custom_filters_score.filters.push(b)}),{query:function(a){if(null==a)return d.custom_filters_score.query;if(!m(a))throw new TypeError("Argument must be a Query");return d.custom_filters_score.query=a._self(),this},filters:function(a){return null==a?d.custom_filters_score.filters:(g(a)&&(d.custom_filters_score.filters=[]),b(g(a)?a:[a],function(a){var b=e(a);null!==b&&d.custom_filters_score.filters.push(b)}),this)},scoreMode:function(a){return null==a?d.custom_filters_score.score_mode:(a=a.toLowerCase(),("first"===a||"min"===a||"max"===a||"total"===a||"avg"===a||"multiply"===a)&&(d.custom_filters_score.score_mode=a),this)},params:function(a){return null==a?d.custom_filters_score.params:(d.custom_filters_score.params=a,this)},lang:function(a){return null==a?d.custom_filters_score.lang:(d.custom_filters_score.lang=a,this)},maxBoost:function(a){return null==a?d.custom_filters_score.max_boost:(d.custom_filters_score.max_boost=a,this)},boost:function(a){return null==a?d.custom_filters_score.boost:(d.custom_filters_score.boost=a,this)},toString:function(){return JSON.stringify(d)},_type:function(){return"query"},_self:function(){return d}}},E.CustomScoreQuery=function(a,b){if(!m(a)&&!o(a))throw new TypeError("Argument must be a Query or Filter");var c={custom_score:{script:b}};return m(a)?c.custom_score.query=a._self():o(a)&&(c.custom_score.filter=a._self()),{query:function(a){if(null==a)return c.custom_score.query;if(!m(a))throw new TypeError("Argument must be a Query");return c.custom_score.query=a._self(),this},filter:function(a){if(null==a)return c.custom_score.filter;if(!o(a))throw new TypeError("Argument must be a Filter");return c.custom_score.filter=a._self(),this},script:function(a){return null==a?c.custom_score.script:(c.custom_score.script=a,this)},params:function(a){return null==a?c.custom_score.params:(c.custom_score.params=a,this)},lang:function(a){return null==a?c.custom_score.lang:(c.custom_score.lang=a,this)},boost:function(a){return null==a?c.custom_score.boost:(c.custom_score.boost=a,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"query"},_self:function(){return c}}},E.DisMaxQuery=function(){var a={dis_max:{}};return{queries:function(b){var c,d;if(null==b)return a.dis_max.queries;if(null==a.dis_max.queries&&(a.dis_max.queries=[]),m(b))a.dis_max.queries.push(b._self());else{if(!g(b))throw new TypeError("Argument must be a Query or array of Queries");for(a.dis_max.queries=[],c=0,d=b.length;d>c;c++){if(!m(b[c]))throw new TypeError("Argument must be array of Queries");a.dis_max.queries.push(b[c]._self())}}return this},boost:function(b){return null==b?a.dis_max.boost:(a.dis_max.boost=b,this)},tieBreaker:function(b){return null==b?a.dis_max.tie_breaker:(a.dis_max.tie_breaker=b,this)},toString:function(){return JSON.stringify(a)},_type:function(){return"query"},_self:function(){return a}}},E.FieldMaskingSpanQuery=function(a,b){if(!m(a))throw new TypeError("Argument must be a SpanQuery");var c={field_masking_span:{query:a._self(),field:b}};return{query:function(a){if(null==a)return c.field_masking_span.query;if(!m(a))throw new TypeError("Argument must be a SpanQuery");return c.field_masking_span.query=a._self(),this},field:function(a){return null==a?c.field_masking_span.field:(c.field_masking_span.field=a,this)},boost:function(a){return null==a?c.field_masking_span.boost:(c.field_masking_span.boost=a,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"query"},_self:function(){return c}}},E.FieldQuery=function(a,b){var c={field:{}};return c.field[a]={query:b},{field:function(b){var d=c.field[a];return null==b?a:(delete c.field[a],a=b,c.field[b]=d,this)},query:function(b){return null==b?c.field[a].query:(c.field[a].query=b,this)},defaultOperator:function(b){return null==b?c.field[a].default_operator:(b=b.toUpperCase(),("AND"===b||"OR"===b)&&(c.field[a].default_operator=b),this)},analyzer:function(b){return null==b?c.field[a].analyzer:(c.field[a].analyzer=b,this)},quoteAnalyzer:function(b){return null==b?c.field[a].quote_analyzer:(c.field[a].quote_analyzer=b,this)},autoGeneratePhraseQueries:function(b){return null==b?c.field[a].auto_generate_phrase_queries:(c.field[a].auto_generate_phrase_queries=b,this)},allowLeadingWildcard:function(b){return null==b?c.field[a].allow_leading_wildcard:(c.field[a].allow_leading_wildcard=b,this)},lowercaseExpandedTerms:function(b){return null==b?c.field[a].lowercase_expanded_terms:(c.field[a].lowercase_expanded_terms=b,this)},enablePositionIncrements:function(b){return null==b?c.field[a].enable_position_increments:(c.field[a].enable_position_increments=b,this)},fuzzyMinSim:function(b){return null==b?c.field[a].fuzzy_min_sim:(c.field[a].fuzzy_min_sim=b,this)},boost:function(b){return null==b?c.field[a].boost:(c.field[a].boost=b,this)},fuzzyPrefixLength:function(b){return null==b?c.field[a].fuzzy_prefix_length:(c.field[a].fuzzy_prefix_length=b,this)},fuzzyMaxExpansions:function(b){return null==b?c.field[a].fuzzy_max_expansions:(c.field[a].fuzzy_max_expansions=b,this)},fuzzyRewrite:function(b){return null==b?c.field[a].fuzzy_rewrite:(b=b.toLowerCase(),("constant_score_auto"===b||"scoring_boolean"===b||"constant_score_boolean"===b||"constant_score_filter"===b||0===b.indexOf("top_terms_boost_")||0===b.indexOf("top_terms_"))&&(c.field[a].fuzzy_rewrite=b),this)},rewrite:function(b){return null==b?c.field[a].rewrite:(b=b.toLowerCase(),("constant_score_auto"===b||"scoring_boolean"===b||"constant_score_boolean"===b||"constant_score_filter"===b||0===b.indexOf("top_terms_boost_")||0===b.indexOf("top_terms_"))&&(c.field[a].rewrite=b),this)},quoteFieldSuffix:function(b){return null==b?c.field[a].quote_field_suffix:(c.field[a].quote_field_suffix=b,this)},phraseSlop:function(b){return null==b?c.field[a].phrase_slop:(c.field[a].phrase_slop=b,this)},analyzeWildcard:function(b){return null==b?c.field[a].analyze_wildcard:(c.field[a].analyze_wildcard=b,this)},escape:function(b){return null==b?c.field[a].escape:(c.field[a].escape=b,this)},minimumShouldMatch:function(b){return null==b?c.field[a].minimum_should_match:(c.field[a].minimum_should_match=b,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"query"},_self:function(){return c}}},E.FilteredQuery=function(a,b){if(!m(a))throw new TypeError("Argument must be a Query");if(null!=b&&!o(b))throw new TypeError("Argument must be a Filter");var c={filtered:{query:a._self()}};return null!=b&&(c.filtered.filter=b._self()),{query:function(a){if(null==a)return c.filtered.query;if(!m(a))throw new TypeError("Argument must be a Query");return c.filtered.query=a._self(),this},filter:function(a){if(null==a)return c.filtered.filter;if(!o(a))throw new TypeError("Argument must be a Filter");return c.filtered.filter=a._self(),this},strategy:function(a){return null==a?c.filtered.strategy:(a=a.toLowerCase(),("query_first"===a||"random_access_always"===a||"leap_frog"===a||"leap_frog_filter_first"===a||0===a.indexOf("random_access_"))&&(c.filtered.strategy=a),this)},cache:function(a){return null==a?c.filtered._cache:(c.filtered._cache=a,this)},cacheKey:function(a){return null==a?c.filtered._cache_key:(c.filtered._cache_key=a,this)},boost:function(a){return null==a?c.filtered.boost:(c.filtered.boost=a,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"query"},_self:function(){return c}}},E.FuzzyLikeThisFieldQuery=function(a,b){var c={flt_field:{}};return c.flt_field[a]={like_text:b},{field:function(b){var d=c.flt_field[a];return null==b?a:(delete c.flt_field[a],a=b,c.flt_field[b]=d,this)},likeText:function(b){return null==b?c.flt_field[a].like_text:(c.flt_field[a].like_text=b,this)},ignoreTf:function(b){return null==b?c.flt_field[a].ignore_tf:(c.flt_field[a].ignore_tf=b,this)},maxQueryTerms:function(b){return null==b?c.flt_field[a].max_query_terms:(c.flt_field[a].max_query_terms=b,this)},minSimilarity:function(b){return null==b?c.flt_field[a].min_similarity:(c.flt_field[a].min_similarity=b,this)},prefixLength:function(b){return null==b?c.flt_field[a].prefix_length:(c.flt_field[a].prefix_length=b,this)},analyzer:function(b){return null==b?c.flt_field[a].analyzer:(c.flt_field[a].analyzer=b,this)},failOnUnsupportedField:function(b){return null==b?c.flt_field[a].fail_on_unsupported_field:(c.flt_field[a].fail_on_unsupported_field=b,this)},boost:function(b){return null==b?c.flt_field[a].boost:(c.flt_field[a].boost=b,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"query"},_self:function(){return c}}},E.FuzzyLikeThisQuery=function(a){var b={flt:{like_text:a}};return{fields:function(a){if(null==b.flt.fields&&(b.flt.fields=[]),null==a)return b.flt.fields;if(i(a))b.flt.fields.push(a);else{if(!g(a))throw new TypeError("Argument must be a string or array");b.flt.fields=a}return this},likeText:function(a){return null==a?b.flt.like_text:(b.flt.like_text=a,this)},ignoreTf:function(a){return null==a?b.flt.ignore_tf:(b.flt.ignore_tf=a,this)},maxQueryTerms:function(a){return null==a?b.flt.max_query_terms:(b.flt.max_query_terms=a,this)},minSimilarity:function(a){return null==a?b.flt.min_similarity:(b.flt.min_similarity=a,this)},prefixLength:function(a){return null==a?b.flt.prefix_length:(b.flt.prefix_length=a,this)},analyzer:function(a){return null==a?b.flt.analyzer:(b.flt.analyzer=a,this)},failOnUnsupportedField:function(a){return null==a?b.flt.fail_on_unsupported_field:(b.flt.fail_on_unsupported_field=a,this)},boost:function(a){return null==a?b.flt.boost:(b.flt.boost=a,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"query"},_self:function(){return b}}},E.FuzzyQuery=function(a,b){var c={fuzzy:{}};return c.fuzzy[a]={value:b},{field:function(b){var d=c.fuzzy[a];return null==b?a:(delete c.fuzzy[a],a=b,c.fuzzy[b]=d,this)},value:function(b){return null==b?c.fuzzy[a].value:(c.fuzzy[a].value=b,this)},transpositions:function(b){return null==b?c.fuzzy[a].transpositions:(c.fuzzy[a].transpositions=b,this)},maxExpansions:function(b){return null==b?c.fuzzy[a].max_expansions:(c.fuzzy[a].max_expansions=b,this)},minSimilarity:function(b){return null==b?c.fuzzy[a].min_similarity:(c.fuzzy[a].min_similarity=b,this)},prefixLength:function(b){return null==b?c.fuzzy[a].prefix_length:(c.fuzzy[a].prefix_length=b,this)},rewrite:function(b){return null==b?c.fuzzy[a].rewrite:(b=b.toLowerCase(),("constant_score_auto"===b||"scoring_boolean"===b||"constant_score_boolean"===b||"constant_score_filter"===b||0===b.indexOf("top_terms_boost_")||0===b.indexOf("top_terms_"))&&(c.fuzzy[a].rewrite=b),this)},boost:function(b){return null==b?c.fuzzy[a].boost:(c.fuzzy[a].boost=b,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"query"},_self:function(){return c}}},E.GeoShapeQuery=function(a){var b={geo_shape:{}};return b.geo_shape[a]={},{field:function(c){var d=b.geo_shape[a];return null==c?a:(delete b.geo_shape[a],a=c,b.geo_shape[c]=d,this)},shape:function(c){return null==c?b.geo_shape[a].shape:(null!=b.geo_shape[a].indexed_shape&&delete b.geo_shape[a].indexed_shape,b.geo_shape[a].shape=c._self(),this)},indexedShape:function(c){return null==c?b.geo_shape[a].indexed_shape:(null!=b.geo_shape[a].shape&&delete b.geo_shape[a].shape,b.geo_shape[a].indexed_shape=c._self(),this)},relation:function(c){return null==c?b.geo_shape[a].relation:(c=c.toLowerCase(),("intersects"===c||"disjoint"===c||"within"===c)&&(b.geo_shape[a].relation=c),this)},strategy:function(c){return null==c?b.geo_shape[a].strategy:(c=c.toLowerCase(),("recursive"===c||"term"===c)&&(b.geo_shape[a].strategy=c),this)},boost:function(c){return null==c?b.geo_shape[a].boost:(b.geo_shape[a].boost=c,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"query"},_self:function(){return b}}},E.HasChildQuery=function(a,b){if(!m(a))throw new TypeError("Argument must be a valid Query");var c={has_child:{query:a._self(),type:b}};return{query:function(a){if(null==a)return c.has_child.query;if(!m(a))throw new TypeError("Argument must be a valid Query");return c.has_child.query=a._self(),this},type:function(a){return null==a?c.has_child.type:(c.has_child.type=a,this)},scope:function(){return this},scoreType:function(a){return null==a?c.has_child.score_type:(a=a.toLowerCase(),("none"===a||"max"===a||"sum"===a||"avg"===a)&&(c.has_child.score_type=a),this)},scoreMode:function(a){return null==a?c.has_child.score_mode:(a=a.toLowerCase(),("none"===a||"max"===a||"sum"===a||"avg"===a)&&(c.has_child.score_mode=a),this)},shortCircuitCutoff:function(a){return null==a?c.has_child.short_circuit_cutoff:(c.has_child.short_circuit_cutoff=a,this)},boost:function(a){return null==a?c.has_child.boost:(c.has_child.boost=a,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"query"},_self:function(){return c}}},E.HasParentQuery=function(a,b){if(!m(a))throw new TypeError("Argument must be a Query");var c={has_parent:{query:a._self(),parent_type:b}};return{query:function(a){if(null==a)return c.has_parent.query;if(!m(a))throw new TypeError("Argument must be a Query");return c.has_parent.query=a._self(),this},parentType:function(a){return null==a?c.has_parent.parent_type:(c.has_parent.parent_type=a,this)},scope:function(){return this},scoreType:function(a){return null==a?c.has_parent.score_type:(a=a.toLowerCase(),("none"===a||"score"===a)&&(c.has_parent.score_type=a),this)},scoreMode:function(a){return null==a?c.has_parent.score_mode:(a=a.toLowerCase(),("none"===a||"score"===a)&&(c.has_parent.score_mode=a),this)},boost:function(a){return null==a?c.has_parent.boost:(c.has_parent.boost=a,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"query"},_self:function(){return c}}},E.IdsQuery=function(a){var b={ids:{}};if(i(a))b.ids.values=[a];else{if(!g(a))throw new TypeError("Argument must be string or array");b.ids.values=a}return{values:function(a){if(null==a)return b.ids.values;if(i(a))b.ids.values.push(a);else{if(!g(a))throw new TypeError("Argument must be string or array");b.ids.values=a}return this},type:function(a){if(null==b.ids.type&&(b.ids.type=[]),null==a)return b.ids.type;if(i(a))b.ids.type.push(a);else{if(!g(a))throw new TypeError("Argument must be string or array");b.ids.type=a}return this},boost:function(a){return null==a?b.ids.boost:(b.ids.boost=a,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"query"},_self:function(){return b}}},E.IndicesQuery=function(a,b){if(!m(a))throw new TypeError("Argument must be a Query");var c={indices:{query:a._self()}};if(i(b))c.indices.indices=[b];else{if(!g(b))throw new TypeError("Argument must be a string or array");c.indices.indices=b}return{indices:function(a){if(null==a)return c.indices.indices;if(i(a))c.indices.indices.push(a);else{if(!g(a))throw new TypeError("Argument must be a string or array");c.indices.indices=a}return this},query:function(a){if(null==a)return c.indices.query;if(!m(a))throw new TypeError("Argument must be a Query");return c.indices.query=a._self(),this},noMatchQuery:function(a){if(null==a)return c.indices.no_match_query;if(i(a))a=a.toLowerCase(),("none"===a||"all"===a)&&(c.indices.no_match_query=a);else{if(!m(a))throw new TypeError("Argument must be string or Query");c.indices.no_match_query=a._self()}return this},boost:function(a){return null==a?c.indices.boost:(c.indices.boost=a,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"query"},_self:function(){return c}}},E.MatchAllQuery=function(){var a={match_all:{}};return{boost:function(b){return null==b?a.match_all.boost:(a.match_all.boost=b,this)},toString:function(){return JSON.stringify(a)},_type:function(){return"query"},_self:function(){return a}}},E.MatchQuery=function(a,b){var c={match:{}};return c.match[a]={query:b},{boost:function(b){return null==b?c.match[a].boost:(c.match[a].boost=b,this)},query:function(b){return null==b?c.match[a].query:(c.match[a].query=b,this)},type:function(b){return null==b?c.match[a].type:(b=b.toLowerCase(),("boolean"===b||"phrase"===b||"phrase_prefix"===b)&&(c.match[a].type=b),this)},fuzziness:function(b){return null==b?c.match[a].fuzziness:(c.match[a].fuzziness=b,this)},cutoffFrequency:function(b){return null==b?c.match[a].cutoff_frequency:(c.match[a].cutoff_frequency=b,this)},prefixLength:function(b){return null==b?c.match[a].prefix_length:(c.match[a].prefix_length=b,this)},maxExpansions:function(b){return null==b?c.match[a].max_expansions:(c.match[a].max_expansions=b,this)},operator:function(b){return null==b?c.match[a].operator:(b=b.toLowerCase(),("and"===b||"or"===b)&&(c.match[a].operator=b),this)},slop:function(b){return null==b?c.match[a].slop:(c.match[a].slop=b,this)},analyzer:function(b){return null==b?c.match[a].analyzer:(c.match[a].analyzer=b,this)},minimumShouldMatch:function(b){return null==b?c.match[a].minimum_should_match:(c.match[a].minimum_should_match=b,this)},rewrite:function(b){return null==b?c.match[a].rewrite:(b=b.toLowerCase(),("constant_score_auto"===b||"scoring_boolean"===b||"constant_score_boolean"===b||"constant_score_filter"===b||0===b.indexOf("top_terms_boost_")||0===b.indexOf("top_terms_"))&&(c.match[a].rewrite=b),this)},fuzzyRewrite:function(b){return null==b?c.match[a].fuzzy_rewrite:(b=b.toLowerCase(),("constant_score_auto"===b||"scoring_boolean"===b||"constant_score_boolean"===b||"constant_score_filter"===b||0===b.indexOf("top_terms_boost_")||0===b.indexOf("top_terms_"))&&(c.match[a].fuzzy_rewrite=b),this)},fuzzyTranspositions:function(b){return null==b?c.match[a].fuzzy_transpositions:(c.match[a].fuzzy_transpositions=b,this)},lenient:function(b){return null==b?c.match[a].lenient:(c.match[a].lenient=b,this)},zeroTermsQuery:function(b){return null==b?c.match[a].zero_terms_query:(b=b.toLowerCase(),("all"===b||"none"===b)&&(c.match[a].zero_terms_query=b),this)},toString:function(){return JSON.stringify(c)},_type:function(){return"query"},_self:function(){return c}}},E.MoreLikeThisFieldQuery=function(a,b){var c={mlt_field:{}};return c.mlt_field[a]={like_text:b},{field:function(b){var d=c.mlt_field[a];return null==b?a:(delete c.mlt_field[a],a=b,c.mlt_field[b]=d,this)},likeText:function(b){return null==b?c.mlt_field[a].like_text:(c.mlt_field[a].like_text=b,this)},percentTermsToMatch:function(b){return null==b?c.mlt_field[a].percent_terms_to_match:(c.mlt_field[a].percent_terms_to_match=b,this)},minTermFreq:function(b){return null==b?c.mlt_field[a].min_term_freq:(c.mlt_field[a].min_term_freq=b,this)},maxQueryTerms:function(b){return null==b?c.mlt_field[a].max_query_terms:(c.mlt_field[a].max_query_terms=b,this)},stopWords:function(b){return null==b?c.mlt_field[a].stop_words:(c.mlt_field[a].stop_words=b,this) -},minDocFreq:function(b){return null==b?c.mlt_field[a].min_doc_freq:(c.mlt_field[a].min_doc_freq=b,this)},maxDocFreq:function(b){return null==b?c.mlt_field[a].max_doc_freq:(c.mlt_field[a].max_doc_freq=b,this)},minWordLen:function(b){return null==b?c.mlt_field[a].min_word_len:(c.mlt_field[a].min_word_len=b,this)},maxWordLen:function(b){return null==b?c.mlt_field[a].max_word_len:(c.mlt_field[a].max_word_len=b,this)},analyzer:function(b){return null==b?c.mlt_field[a].analyzer:(c.mlt_field[a].analyzer=b,this)},boostTerms:function(b){return null==b?c.mlt_field[a].boost_terms:(c.mlt_field[a].boost_terms=b,this)},failOnUnsupportedField:function(b){return null==b?c.mlt_field[a].fail_on_unsupported_field:(c.mlt_field[a].fail_on_unsupported_field=b,this)},boost:function(b){return null==b?c.mlt_field[a].boost:(c.mlt_field[a].boost=b,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"query"},_self:function(){return c}}},E.MoreLikeThisQuery=function(a,b){var c={mlt:{like_text:b,fields:[]}};if(i(a))c.mlt.fields.push(a);else{if(!g(a))throw new TypeError("Argument must be string or array");c.mlt.fields=a}return{fields:function(a){if(null==a)return c.mlt.fields;if(i(a))c.mlt.fields.push(a);else{if(!g(a))throw new TypeError("Argument must be a string or array");c.mlt.fields=a}return this},likeText:function(a){return null==a?c.mlt.like_text:(c.mlt.like_text=a,this)},percentTermsToMatch:function(a){return null==a?c.mlt.percent_terms_to_match:(c.mlt.percent_terms_to_match=a,this)},minTermFreq:function(a){return null==a?c.mlt.min_term_freq:(c.mlt.min_term_freq=a,this)},maxQueryTerms:function(a){return null==a?c.mlt.max_query_terms:(c.mlt.max_query_terms=a,this)},stopWords:function(a){return null==a?c.mlt.stop_words:(c.mlt.stop_words=a,this)},minDocFreq:function(a){return null==a?c.mlt.min_doc_freq:(c.mlt.min_doc_freq=a,this)},maxDocFreq:function(a){return null==a?c.mlt.max_doc_freq:(c.mlt.max_doc_freq=a,this)},minWordLen:function(a){return null==a?c.mlt.min_word_len:(c.mlt.min_word_len=a,this)},maxWordLen:function(a){return null==a?c.mlt.max_word_len:(c.mlt.max_word_len=a,this)},analyzer:function(a){return null==a?c.mlt.analyzer:(c.mlt.analyzer=a,this)},boostTerms:function(a){return null==a?c.mlt.boost_terms:(c.mlt.boost_terms=a,this)},failOnUnsupportedField:function(a){return null==a?c.mlt.fail_on_unsupported_field:(c.mlt.fail_on_unsupported_field=a,this)},boost:function(a){return null==a?c.mlt.boost:(c.mlt.boost=a,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"query"},_self:function(){return c}}},E.MultiMatchQuery=function(a,b){var c={multi_match:{query:b,fields:[]}};if(i(a))c.multi_match.fields.push(a);else{if(!g(a))throw new TypeError("Argument must be string or array");c.multi_match.fields=a}return{fields:function(a){if(null==a)return c.multi_match.fields;if(i(a))c.multi_match.fields.push(a);else{if(!g(a))throw new TypeError("Argument must be string or array");c.multi_match.fields=a}return this},useDisMax:function(a){return null==a?c.multi_match.use_dis_max:(c.multi_match.use_dis_max=a,this)},tieBreaker:function(a){return null==a?c.multi_match.tie_breaker:(c.multi_match.tie_breaker=a,this)},cutoffFrequency:function(a){return null==a?c.multi_match.cutoff_frequency:(c.multi_match.cutoff_frequency=a,this)},minimumShouldMatch:function(a){return null==a?c.multi_match.minimum_should_match:(c.multi_match.minimum_should_match=a,this)},rewrite:function(a){return null==a?c.multi_match.rewrite:(a=a.toLowerCase(),("constant_score_auto"===a||"scoring_boolean"===a||"constant_score_boolean"===a||"constant_score_filter"===a||0===a.indexOf("top_terms_boost_")||0===a.indexOf("top_terms_"))&&(c.multi_match.rewrite=a),this)},fuzzyRewrite:function(a){return null==a?c.multi_match.fuzzy_rewrite:(a=a.toLowerCase(),("constant_score_auto"===a||"scoring_boolean"===a||"constant_score_boolean"===a||"constant_score_filter"===a||0===a.indexOf("top_terms_boost_")||0===a.indexOf("top_terms_"))&&(c.multi_match.fuzzy_rewrite=a),this)},lenient:function(a){return null==a?c.multi_match.lenient:(c.multi_match.lenient=a,this)},boost:function(a){return null==a?c.multi_match.boost:(c.multi_match.boost=a,this)},query:function(a){return null==a?c.multi_match.query:(c.multi_match.query=a,this)},type:function(a){return null==a?c.multi_match.type:(a=a.toLowerCase(),("boolean"===a||"phrase"===a||"phrase_prefix"===a)&&(c.multi_match.type=a),this)},fuzziness:function(a){return null==a?c.multi_match.fuzziness:(c.multi_match.fuzziness=a,this)},prefixLength:function(a){return null==a?c.multi_match.prefix_length:(c.multi_match.prefix_length=a,this)},maxExpansions:function(a){return null==a?c.multi_match.max_expansions:(c.multi_match.max_expansions=a,this)},operator:function(a){return null==a?c.multi_match.operator:(a=a.toLowerCase(),("and"===a||"or"===a)&&(c.multi_match.operator=a),this)},slop:function(a){return null==a?c.multi_match.slop:(c.multi_match.slop=a,this)},analyzer:function(a){return null==a?c.multi_match.analyzer:(c.multi_match.analyzer=a,this)},zeroTermsQuery:function(a){return null==a?c.multi_match.zero_terms_query:(a=a.toLowerCase(),("all"===a||"none"===a)&&(c.multi_match.zero_terms_query=a),this)},toString:function(){return JSON.stringify(c)},_type:function(){return"query"},_self:function(){return c}}},E.NestedQuery=function(a){var b={nested:{path:a}};return{path:function(a){return null==a?b.nested.path:(b.nested.path=a,this)},query:function(a){if(null==a)return b.nested.query;if(!m(a))throw new TypeError("Argument must be a Query");return b.nested.query=a._self(),this},filter:function(a){if(null==a)return b.nested.filter;if(!o(a))throw new TypeError("Argument must be a Filter");return b.nested.filter=a._self(),this},scoreMode:function(a){return null==a?b.nested.score_mode:(a=a.toLowerCase(),("avg"===a||"total"===a||"max"===a||"none"===a||"sum"===a)&&(b.nested.score_mode=a),this)},scope:function(){return this},boost:function(a){return null==a?b.nested.boost:(b.nested.boost=a,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"query"},_self:function(){return b}}},E.PrefixQuery=function(a,b){var c={prefix:{}};return c.prefix[a]={value:b},{field:function(b){var d=c.prefix[a];return null==b?a:(delete c.prefix[a],a=b,c.prefix[b]=d,this)},value:function(b){return null==b?c.prefix[a].value:(c.prefix[a].value=b,this)},rewrite:function(b){return null==b?c.prefix[a].rewrite:(b=b.toLowerCase(),("constant_score_auto"===b||"scoring_boolean"===b||"constant_score_boolean"===b||"constant_score_filter"===b||0===b.indexOf("top_terms_boost_")||0===b.indexOf("top_terms_"))&&(c.prefix[a].rewrite=b),this)},boost:function(b){return null==b?c.prefix[a].boost:(c.prefix[a].boost=b,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"query"},_self:function(){return c}}},E.QueryStringQuery=function(a){var b={query_string:{}};return b.query_string.query=a,{query:function(a){return null==a?b.query_string.query:(b.query_string.query=a,this)},defaultField:function(a){return null==a?b.query_string.default_field:(b.query_string.default_field=a,this)},fields:function(a){if(null==b.query_string.fields&&(b.query_string.fields=[]),null==a)return b.query_string.fields;if(i(a))b.query_string.fields.push(a);else{if(!g(a))throw new TypeError("Argument must be a string or array");b.query_string.fields=a}return this},useDisMax:function(a){return null==a?b.query_string.use_dis_max:(b.query_string.use_dis_max=a,this)},defaultOperator:function(a){return null==a?b.query_string.default_operator:(a=a.toUpperCase(),("AND"===a||"OR"===a)&&(b.query_string.default_operator=a),this)},analyzer:function(a){return null==a?b.query_string.analyzer:(b.query_string.analyzer=a,this)},quoteAnalyzer:function(a){return null==a?b.query_string.quote_analyzer:(b.query_string.quote_analyzer=a,this)},allowLeadingWildcard:function(a){return null==a?b.query_string.allow_leading_wildcard:(b.query_string.allow_leading_wildcard=a,this)},lowercaseExpandedTerms:function(a){return null==a?b.query_string.lowercase_expanded_terms:(b.query_string.lowercase_expanded_terms=a,this)},enablePositionIncrements:function(a){return null==a?b.query_string.enable_position_increments:(b.query_string.enable_position_increments=a,this)},fuzzyPrefixLength:function(a){return null==a?b.query_string.fuzzy_prefix_length:(b.query_string.fuzzy_prefix_length=a,this)},fuzzyMinSim:function(a){return null==a?b.query_string.fuzzy_min_sim:(b.query_string.fuzzy_min_sim=a,this)},phraseSlop:function(a){return null==a?b.query_string.phrase_slop:(b.query_string.phrase_slop=a,this)},boost:function(a){return null==a?b.query_string.boost:(b.query_string.boost=a,this)},analyzeWildcard:function(a){return null==a?b.query_string.analyze_wildcard:(b.query_string.analyze_wildcard=a,this)},autoGeneratePhraseQueries:function(a){return null==a?b.query_string.auto_generate_phrase_queries:(b.query_string.auto_generate_phrase_queries=a,this)},minimumShouldMatch:function(a){return null==a?b.query_string.minimum_should_match:(b.query_string.minimum_should_match=a,this)},tieBreaker:function(a){return null==a?b.query_string.tie_breaker:(b.query_string.tie_breaker=a,this)},escape:function(a){return null==a?b.query_string.escape:(b.query_string.escape=a,this)},fuzzyMaxExpansions:function(a){return null==a?b.query_string.fuzzy_max_expansions:(b.query_string.fuzzy_max_expansions=a,this)},fuzzyRewrite:function(a){return null==a?b.query_string.fuzzy_rewrite:(a=a.toLowerCase(),("constant_score_auto"===a||"scoring_boolean"===a||"constant_score_boolean"===a||"constant_score_filter"===a||0===a.indexOf("top_terms_boost_")||0===a.indexOf("top_terms_"))&&(b.query_string.fuzzy_rewrite=a),this)},rewrite:function(a){return null==a?b.query_string.rewrite:(a=a.toLowerCase(),("constant_score_auto"===a||"scoring_boolean"===a||"constant_score_boolean"===a||"constant_score_filter"===a||0===a.indexOf("top_terms_boost_")||0===a.indexOf("top_terms_"))&&(b.query_string.rewrite=a),this)},quoteFieldSuffix:function(a){return null==a?b.query_string.quote_field_suffix:(b.query_string.quote_field_suffix=a,this)},lenient:function(a){return null==a?b.query_string.lenient:(b.query_string.lenient=a,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"query"},_self:function(){return b}}},E.RangeQuery=function(a){var b={range:{}};return b.range[a]={},{field:function(c){var d=b.range[a];return null==c?a:(delete b.range[a],a=c,b.range[c]=d,this)},from:function(c){return null==c?b.range[a].from:(b.range[a].from=c,this)},to:function(c){return null==c?b.range[a].to:(b.range[a].to=c,this)},includeLower:function(c){return null==c?b.range[a].include_lower:(b.range[a].include_lower=c,this)},includeUpper:function(c){return null==c?b.range[a].include_upper:(b.range[a].include_upper=c,this)},gt:function(c){return null==c?b.range[a].gt:(b.range[a].gt=c,this)},gte:function(c){return null==c?b.range[a].gte:(b.range[a].gte=c,this)},lt:function(c){return null==c?b.range[a].lt:(b.range[a].lt=c,this)},lte:function(c){return null==c?b.range[a].lte:(b.range[a].lte=c,this)},boost:function(c){return null==c?b.range[a].boost:(b.range[a].boost=c,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"query"},_self:function(){return b}}},E.RegexpQuery=function(a,b){var c={regexp:{}};return c.regexp[a]={value:b},{field:function(b){var d=c.regexp[a];return null==b?a:(delete c.regexp[a],a=b,c.regexp[b]=d,this)},value:function(b){return null==b?c.regexp[a].value:(c.regexp[a].value=b,this)},flags:function(b){return null==b?c.regexp[a].flags:(c.regexp[a].flags=b,this)},flagsValue:function(b){return null==b?c.regexp[a].flags_value:(c.regexp[a].flags_value=b,this)},rewrite:function(b){return null==b?c.regexp[a].rewrite:(b=b.toLowerCase(),("constant_score_auto"===b||"scoring_boolean"===b||"constant_score_boolean"===b||"constant_score_filter"===b||0===b.indexOf("top_terms_boost_")||0===b.indexOf("top_terms_"))&&(c.regexp[a].rewrite=b),this)},boost:function(b){return null==b?c.regexp[a].boost:(c.regexp[a].boost=b,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"query"},_self:function(){return c}}},E.SpanFirstQuery=function(a,b){if(!m(a))throw new TypeError("Argument must be a SpanQuery");var c={span_first:{match:a._self(),end:b}};return{match:function(a){if(null==a)return c.span_first.match;if(!m(a))throw new TypeError("Argument must be a SpanQuery");return c.span_first.match=a._self(),this},end:function(a){return null==a?c.span_first.end:(c.span_first.end=a,this)},boost:function(a){return null==a?c.span_first.boost:(c.span_first.boost=a,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"query"},_self:function(){return c}}},E.SpanMultiTermQuery=function(a){if(null!=a&&!m(a))throw new TypeError("Argument must be a MultiTermQuery");var b={span_multi:{match:{}}};return null!=a&&(b.span_multi.match=a._self()),{match:function(a){if(null==a)return b.span_multi.match;if(!m(a))throw new TypeError("Argument must be a MultiTermQuery");return b.span_multi.match=a._self(),this},toString:function(){return JSON.stringify(b)},_type:function(){return"query"},_self:function(){return b}}},E.SpanNearQuery=function(a,b){var c,d,e={span_near:{clauses:[],slop:b}};if(m(a))e.span_near.clauses.push(a._self());else{if(!g(a))throw new TypeError("Argument must be SpanQuery or array of SpanQueries");for(c=0,d=a.length;d>c;c++){if(!m(a[c]))throw new TypeError("Argument must be array of SpanQueries");e.span_near.clauses.push(a[c]._self())}}return{clauses:function(a){var b,c;if(null==a)return e.span_near.clauses;if(m(a))e.span_near.clauses.push(a._self());else{if(!g(a))throw new TypeError("Argument must be SpanQuery or array of SpanQueries");for(e.span_near.clauses=[],b=0,c=a.length;c>b;b++){if(!m(a[b]))throw new TypeError("Argument must be array of SpanQueries");e.span_near.clauses.push(a[b]._self())}}return this},slop:function(a){return null==a?e.span_near.slop:(e.span_near.slop=a,this)},inOrder:function(a){return null==a?e.span_near.in_order:(e.span_near.in_order=a,this)},collectPayloads:function(a){return null==a?e.span_near.collect_payloads:(e.span_near.collect_payloads=a,this)},boost:function(a){return null==a?e.span_near.boost:(e.span_near.boost=a,this)},toString:function(){return JSON.stringify(e)},_type:function(){return"query"},_self:function(){return e}}},E.SpanNotQuery=function(a,b){if(!m(a)||!m(b))throw new TypeError("Argument must be a SpanQuery");var c={span_not:{include:a._self(),exclude:b._self()}};return{include:function(a){if(null==a)return c.span_not.include;if(!m(a))throw new TypeError("Argument must be a SpanQuery");return c.span_not.include=a._self(),this},exclude:function(a){if(null==a)return c.span_not.exclude;if(!m(a))throw new TypeError("Argument must be a SpanQuery");return c.span_not.exclude=a._self(),this},boost:function(a){return null==a?c.span_not.boost:(c.span_not.boost=a,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"query"},_self:function(){return c}}},E.SpanOrQuery=function(a){var b,c,d={span_or:{clauses:[]}};if(m(a))d.span_or.clauses.push(a._self());else{if(!g(a))throw new TypeError("Argument must be SpanQuery or array of SpanQueries");for(b=0,c=a.length;c>b;b++){if(!m(a[b]))throw new TypeError("Argument must be array of SpanQueries");d.span_or.clauses.push(a[b]._self())}}return{clauses:function(a){var b,c;if(null==a)return d.span_or.clauses;if(m(a))d.span_or.clauses.push(a._self());else{if(!g(a))throw new TypeError("Argument must be SpanQuery or array of SpanQueries");for(d.span_or.clauses=[],b=0,c=a.length;c>b;b++){if(!m(a[b]))throw new TypeError("Argument must be array of SpanQueries");d.span_or.clauses.push(a[b]._self())}}return this},boost:function(a){return null==a?d.span_or.boost:(d.span_or.boost=a,this)},toString:function(){return JSON.stringify(d)},_type:function(){return"query"},_self:function(){return d}}},E.SpanTermQuery=function(a,b){var c={span_term:{}};return c.span_term[a]={term:b},{field:function(b){var d=c.span_term[a];return null==b?a:(delete c.span_term[a],a=b,c.span_term[b]=d,this)},term:function(b){return null==b?c.span_term[a].term:(c.span_term[a].term=b,this)},boost:function(b){return null==b?c.span_term[a].boost:(c.span_term[a].boost=b,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"query"},_self:function(){return c}}},E.TermQuery=function(a,b){var c={term:{}};return c.term[a]={term:b},{field:function(b){var d=c.term[a];return null==b?a:(delete c.term[a],a=b,c.term[b]=d,this)},term:function(b){return null==b?c.term[a].term:(c.term[a].term=b,this)},boost:function(b){return null==b?c.term[a].boost:(c.term[a].boost=b,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"query"},_self:function(){return c}}},E.TermsQuery=function(a,b){var c={terms:{}};if(i(b))c.terms[a]=[b];else{if(!g(b))throw new TypeError("Argument must be string or array");c.terms[a]=b}return{field:function(b){var d=c.terms[a];return null==b?a:(delete c.terms[a],a=b,c.terms[b]=d,this)},terms:function(b){if(null==b)return c.terms[a];if(i(b))c.terms[a].push(b);else{if(!g(b))throw new TypeError("Argument must be string or array");c.terms[a]=b}return this},minimumShouldMatch:function(a){return null==a?c.terms.minimum_should_match:(c.terms.minimum_should_match=a,this)},disableCoord:function(a){return null==a?c.terms.disable_coord:(c.terms.disable_coord=a,this)},boost:function(a){return null==a?c.terms.boost:(c.terms.boost=a,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"query"},_self:function(){return c}}},E.TopChildrenQuery=function(a,b){if(!m(a))throw new TypeError("Argument must be a Query");var c={top_children:{query:a._self(),type:b}};return{query:function(a){if(null==a)return c.top_children.query;if(!m(a))throw new TypeError("Argument must be a Query");return c.top_children.query=a._self(),this},type:function(a){return null==a?c.top_children.type:(c.top_children.type=a,this)},scope:function(){return this},score:function(a){return null==a?c.top_children.score:(a=a.toLowerCase(),("max"===a||"sum"===a||"avg"===a||"total"===a)&&(c.top_children.score=a),this)},scoreMode:function(a){return null==a?c.top_children.score_mode:(a=a.toLowerCase(),("max"===a||"sum"===a||"avg"===a||"total"===a)&&(c.top_children.score_mode=a),this)},factor:function(a){return null==a?c.top_children.factor:(c.top_children.factor=a,this)},incrementalFactor:function(a){return null==a?c.top_children.incremental_factor:(c.top_children.incremental_factor=a,this)},boost:function(a){return null==a?c.top_children.boost:(c.top_children.boost=a,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"query"},_self:function(){return c}}},E.WildcardQuery=function(a,b){var c={wildcard:{}};return c.wildcard[a]={value:b},{field:function(b){var d=c.wildcard[a];return null==b?a:(delete c.wildcard[a],a=b,c.wildcard[b]=d,this)},value:function(b){return null==b?c.wildcard[a].value:(c.wildcard[a].value=b,this)},rewrite:function(b){return null==b?c.wildcard[a].rewrite:(b=b.toLowerCase(),("constant_score_auto"===b||"scoring_boolean"===b||"constant_score_boolean"===b||"constant_score_filter"===b||0===b.indexOf("top_terms_boost_")||0===b.indexOf("top_terms_"))&&(c.wildcard[a].rewrite=b),this)},boost:function(b){return null==b?c.wildcard[a].boost:(c.wildcard[a].boost=b,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"query"},_self:function(){return c}}},E.ClusterHealth=function(){var a={},b=["indices"];return{indices:function(b){if(null==a.indices&&(a.indices=[]),null==b)return a.indices;if(i(b))a.indices.push(b);else{if(!g(b))throw new TypeError("Argument must be string or array");a.indices=b}return this},local:function(b){return null==b?a.local:(a.local=b,this)},masterTimeout:function(b){return null==b?a.master_timeout:(a.master_timeout=b,this)},timeout:function(b){return null==b?a.timeout:(a.timeout=b,this)},waitForStatus:function(b){return null==b?a.wait_for_status:(b=b.toLowerCase(),("green"===b||"yellow"===b||"red"===b)&&(a.wait_for_status=b),this)},waitForRelocatingShards:function(b){return null==b?a.wait_for_relocating_shards:(a.wait_for_relocating_shards=b,this)},waitForActiveShards:function(b){return null==b?a.wait_for_active_shards:(a.wait_for_active_shards=b,this)},waitForNodes:function(b){return null==b?a.wait_for_nodes:(a.wait_for_nodes=b,this)},level:function(b){return null==b?a.level:(b=b.toLowerCase(),("cluster"===b||"indices"===b||"shards"===b)&&(a.level=b),this)},toString:function(){return JSON.stringify(a)},_type:function(){return"cluster health"},_self:function(){return a},doHealth:function(c,d){if(null==E.client)throw new Error("No Client Set");var f="/_cluster/health";return a.indices&&a.indices.length>0&&(f=f+"/"+a.indices.join()),E.client.get(f,e(a,b),c,d)}}},E.ClusterState=function(){var a={},b=[];return{local:function(b){return null==b?a.local:(a.local=b,this)},masterTimeout:function(b){return null==b?a.master_timeout:(a.master_timeout=b,this)},filterNodes:function(b){return null==b?a.filter_nodes:(a.filter_nodes=b,this)},filterRoutingTable:function(b){return null==b?a.filter_routing_table:(a.filter_routing_table=b,this)},filterMetadata:function(b){return null==b?a.filter_metadata:(a.filter_metadata=b,this)},filterBlocks:function(b){return null==b?a.filter_blocks:(a.filter_blocks=b,this)},filterIndices:function(b){if(null==a.filter_indices&&(a.filter_indices=[]),null==b)return a.filter_indices;if(i(b))a.filter_indices.push(b);else{if(!g(b))throw new TypeError("Argument must be string or array");a.filter_indices=b}return this},filterIndexTemplates:function(b){if(null==a.filter_index_templates&&(a.filter_index_templates=[]),null==b)return a.filter_index_templates;if(i(b))a.filter_index_templates.push(b);else{if(!g(b))throw new TypeError("Argument must be string or array");a.filter_index_templates=b}return this},toString:function(){return JSON.stringify(a)},_type:function(){return"cluster state"},_self:function(){return a},doState:function(c,d){if(null==E.client)throw new Error("No Client Set");var f="/_cluster/state";return E.client.get(f,e(a,b),c,d)}}},E.NodeInfo=function(){var a={},b=["nodes"];return{nodes:function(b){if(null==a.nodes&&(a.nodes=[]),null==b)return a.nodes;if(i(b))a.nodes.push(b);else{if(!g(b))throw new TypeError("Argument must be string or array");a.nodes=b}return this},clear:function(b){return null==b?a.clear:(a.clear=b,this)},all:function(b){return null==b?a.all:(a.all=b,this)},settings:function(b){return null==b?a.settings:(a.settings=b,this)},os:function(b){return null==b?a.os:(a.os=b,this)},process:function(b){return null==b?a.process:(a.process=b,this)},jvm:function(b){return null==b?a.jvm:(a.jvm=b,this)},threadPool:function(b){return null==b?a.thread_pool:(a.thread_pool=b,this)},network:function(b){return null==b?a.network:(a.network=b,this)},transport:function(b){return null==b?a.transport:(a.transport=b,this)},http:function(b){return null==b?a.http:(a.http=b,this)},plugin:function(b){return null==b?a.plugin:(a.plugin=b,this)},timeout:function(b){return null==b?a.timeout:(a.timeout=b,this)},toString:function(){return JSON.stringify(a)},_type:function(){return"node info"},_self:function(){return a},doInfo:function(c,d){if(null==E.client)throw new Error("No Client Set");var f="/_nodes";return a.nodes&&a.nodes.length>0&&(f=f+"/"+a.nodes.join()),E.client.get(f,e(a,b),c,d)}}},E.NodeStats=function(){var a={},b=["nodes"];return{nodes:function(b){if(null==a.nodes&&(a.nodes=[]),null==b)return a.nodes;if(i(b))a.nodes.push(b);else{if(!g(b))throw new TypeError("Argument must be string or array");a.nodes=b}return this},clear:function(b){return null==b?a.clear:(a.clear=b,this)},all:function(b){return null==b?a.all:(a.all=b,this)},indices:function(b){return null==b?a.indices:(a.indices=b,this)},os:function(b){return null==b?a.os:(a.os=b,this)},process:function(b){return null==b?a.process:(a.process=b,this)},jvm:function(b){return null==b?a.jvm:(a.jvm=b,this)},threadPool:function(b){return null==b?a.thread_pool:(a.thread_pool=b,this)},network:function(b){return null==b?a.network:(a.network=b,this)},fs:function(b){return null==b?a.fs:(a.fs=b,this)},transport:function(b){return null==b?a.transport:(a.transport=b,this)},http:function(b){return null==b?a.http:(a.http=b,this)},toString:function(){return JSON.stringify(a)},_type:function(){return"node stats"},_self:function(){return a},doStats:function(c,d){if(null==E.client)throw new Error("No Client Set");var f="/_nodes";return a.nodes&&a.nodes.length>0&&(f=f+"/"+a.nodes.join()),f+="/stats",E.client.get(f,e(a,b),c,d)}}},E.GeoPoint=function(b){var c=[0,0];return null!=b&&g(b)&&2===b.length&&(c=[b[1],b[0]]),{properties:function(b){return null==b?c:(h(b)&&a(b,"lat")&&a(b,"lon")?c={lat:b.lat,lon:b.lon}:h(b)&&a(b,"geohash")&&(c={geohash:b.geohash}),this)},string:function(a){return null==a?c:(i(a)&&-1!==a.indexOf(",")&&(c=a),this)},geohash:function(a,b){return b=null!=b&&j(b)?b:12,null==a?c:(i(a)&&a.length===b&&(c=a),this)},array:function(a){return null==a?c:(g(a)&&2===a.length&&(c=[a[1],a[0]]),this)},toString:function(){return JSON.stringify(c)},_type:function(){return"geo point"},_self:function(){return c}}},E.Highlight=function(c){var d={fields:{}},e=function(b,c,e){null==b?d[c]=e:(a(d.fields,b)||(d.fields[b]={}),d.fields[b][c]=e)};return null!=c&&(i(c)?d.fields[c]={}:g(c)&&b(c,function(a){d.fields[a]={}})),{fields:function(c){return null==c?d.fields:void(i(c)?a(d.fields,c)||(d.fields[c]={}):g(c)&&b(c,function(b){a(d.fields,b)||(d.fields[b]={})}))},preTags:function(a,b){return null===a&&null!=b?d.fields[b].pre_tags:null==a?d.pre_tags:(i(a)?e(b,"pre_tags",[a]):g(a)&&e(b,"pre_tags",a),this)},postTags:function(a,b){return null===a&&null!=b?d.fields[b].post_tags:null==a?d.post_tags:(i(a)?e(b,"post_tags",[a]):g(a)&&e(b,"post_tags",a),this)},order:function(a,b){return null===a&&null!=b?d.fields[b].order:null==a?d.order:(a=a.toLowerCase(),"score"===a&&e(b,"order",a),this)},tagsSchema:function(a){return null==a?d.tags_schema:(a=a.toLowerCase(),"styled"===a&&(d.tags_schema=a),this)},highlightFilter:function(a,b){return null===a&&null!=b?d.fields[b].highlight_filter:null==a?d.highlight_filter:(e(b,"highlight_filter",a),this)},fragmentSize:function(a,b){return null===a&&null!=b?d.fields[b].fragment_size:null==a?d.fragment_size:(e(b,"fragment_size",a),this)},numberOfFragments:function(a,b){return null===a&&null!=b?d.fields[b].number_of_fragments:null==a?d.number_of_fragments:(e(b,"number_of_fragments",a),this)},encoder:function(a){return null==a?d.encoder:(a=a.toLowerCase(),("default"===a||"html"===a)&&(d.encoder=a),this)},requireFieldMatch:function(a,b){return null===a&&null!=b?d.fields[b].require_field_match:null==a?d.require_field_match:(e(b,"require_field_match",a),this)},boundaryMaxScan:function(a,b){return null===a&&null!=b?d.fields[b].boundary_max_scan:null==a?d.boundary_max_scan:(e(b,"boundary_max_scan",a),this)},boundaryChars:function(a,b){return null===a&&null!=b?d.fields[b].boundary_chars:null==a?d.boundary_chars:(e(b,"boundary_chars",a),this)},type:function(a,b){return null===a&&null!=b?d.fields[b].type:null==a?d.type:(a=a.toLowerCase(),("fast-vector-highlighter"===a||"highlighter"===a)&&e(b,"type",a),this)},fragmenter:function(a,b){return null===a&&null!=b?d.fields[b].fragmenter:null==a?d.fragmenter:(a=a.toLowerCase(),("simple"===a||"span"===a)&&e(b,"fragmenter",a),this)},options:function(a,b){if(null===a&&null!=b)return d.fields[b].options;if(null==a)return d.options;if(!h(a)||g(a)||l(a))throw new TypeError("Parameter must be an object");return e(b,"options",a),this},toString:function(){return JSON.stringify(d)},_type:function(){return"highlight"},_self:function(){return d}}},E.IndexedShape=function(a,b){var c={type:a,id:b};return{type:function(a){return null==a?c.type:(c.type=a,this)},id:function(a){return null==a?c.id:(c.id=a,this)},index:function(a){return null==a?c.index:(c.index=a,this)},shapeFieldName:function(a){return null==a?c.shape_field_name:(c.shape_field_name=a,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"indexed shape"},_self:function(){return c}}},E.MultiSearchRequest=function(b){var c,d,e,f={},h=function(){var b="",c=[];d.length>0&&(b=b+"/"+d.join()),e.length>0&&(b=b+"/"+e.join()),b+="/_msearch";for(var g in f)a(f,g)&&""!==f[g]&&c.push(g+"="+encodeURIComponent(f[g]));return c.length>0&&(b=b+"?"+c.join("&")),b};return c=[],b=b||{},d=null==b.indices?[]:i(b.indices)?[b.indices]:b.indices,e=null==b.types?[]:i(b.types)?[b.types]:b.types,0===d.length&&e.length>0&&(d=["_all"]),{requests:function(a){if(null==a)return c;if(C(a))c.push(a);else{if(!g(a))throw new TypeError("Argument must be request or array");c=a}return this},searchType:function(a){return null==a?f.search_type:(a=a.toLowerCase(),("dfs_query_then_fetch"===a||"dfs_query_and_fetch"===a||"query_then_fetch"===a||"query_and_fetch"===a||"scan"===a||"count"===a)&&(f.search_type=a),this)},indices:function(a){if(null==a)return d;if(i(a))d=[a];else{if(!g(a))throw new TypeError("Argument must be a string or array");d=a}return 0===d.length&&e.length>0&&(d=["_all"]),this},types:function(a){if(null==a)return e;if(i(a))e=[a];else{if(!g(a))throw new TypeError("Argument must be a string or array");e=a}return 0===d.length&&e.length>0&&(d=["_all"]),this},ignoreIndices:function(a){return null==a?f.ignore_indices:(a=a.toLowerCase(),("none"===a||"missing"===a)&&(f.ignore_indices=a),this)},toString:function(){var a,b,d=[];for(a=0,b=c.length;b>a;a++)d.push(c[a]._self());return JSON.stringify(d)},_type:function(){return"multi search request"},_self:function(){var a,b,d=[];for(a=0,b=c.length;b>a;a++)d.push(c[a]._self());return d},doSearch:function(a,b){var d,e,f,g,i,j="";if(null==E.client)throw new Error("No Client Set");for(d=0,e=c.length;e>d;d++)f=c[d],i={},f.indices().length>0&&(i.indices=f.indices()),f.types().length>0&&(i.types=f.types()),null!=f.searchType()&&(i.search_type=f.searchType()),null!=f.preference()&&(i.preference=f.preference()),null!=f.routing()&&(i.routing=f.routing()),null!=f.ignoreIndices()&&(i.ignore_indices=f.ignoreIndices()),j=j+JSON.stringify(i)+"\n",g=f._self(),null!=f.timeout()&&(g.timeout=f.timeout()),j=j+JSON.stringify(g)+"\n";return E.client.post(h(),j,a,b)}}},E.Request=function(b){var d,e,f,h={},j=function(b){var c="",d=[];e.length>0&&(c=c+"/"+e.join()),f.length>0&&(c=c+"/"+f.join()),b.length>0&&"/"!==b[0]&&(c+="/"),c+=b;for(var g in h)a(h,g)&&""!==h[g]&&d.push(g+"="+encodeURIComponent(h[g]));return d.length>0&&(c=c+"?"+d.join("&")),c};return d={},b=b||{},e=null==b.indices?[]:i(b.indices)?[b.indices]:b.indices,f=null==b.types?[]:i(b.types)?[b.types]:b.types,0===e.length&&f.length>0&&(e=["_all"]),null!=b.routing&&(h.routing=b.routing),{sort:function(){var b,c;if(a(d,"sort")||(d.sort=[]),0===arguments.length)return d.sort;if(1===arguments.length){var e=arguments[0];if(i(e))d.sort.push(e);else if(u(e))d.sort.push(e._self());else{if(!g(e))throw new TypeError("Argument must be string, Sort, or array");for(d.sort=[],b=0,c=e.length;c>b;b++)if(i(e[b]))d.sort.push(e[b]);else{if(!u(e[b]))throw new TypeError("Invalid object in array");d.sort.push(e[b]._self())}}}else if(2===arguments.length){var f=arguments[0],h=arguments[1];if(i(f)&&i(h)&&(h=h.toLowerCase(),"asc"===h||"desc"===h)){var j={};j[f]={order:h},d.sort.push(j)}}return this},trackScores:function(a){return null==a?d.track_scores:(d.track_scores=a,this)},size:function(a){return null==a?d.size:(d.size=a,this)},timeout:function(a){return null==a?h.timeout:(h.timeout=a,this)},routing:function(a){return null==a?h.routing:(h.routing=a,this)},replication:function(a){return null==a?h.replication:(a=a.toLowerCase(),("async"===a||"sync"===a||"default"===a)&&(h.replication=a),this)},consistency:function(a){return null==a?h.consistency:(a=a.toLowerCase(),("default"===a||"one"===a||"quorum"===a||"all"===a)&&(h.consistency=a),this)},searchType:function(a){return null==a?h.search_type:(a=a.toLowerCase(),("dfs_query_then_fetch"===a||"dfs_query_and_fetch"===a||"query_then_fetch"===a||"query_and_fetch"===a||"scan"===a||"count"===a)&&(h.search_type=a),this) -},fields:function(a){if(null==a)return d.fields;if(null==d.fields&&(d.fields=[]),i(a))d.fields.push(a);else{if(!g(a))throw new TypeError("Argument must be string or array");d.fields=a}return this},rescore:function(a){if(null==a)return d.rescore;if(!n(a))throw new TypeError("Argument must be a Rescore");return d.rescore=a._self(),this},from:function(a){return null==a?d.from:(d.from=a,this)},query:function(a){if(null==a)return d.query;if(!m(a))throw new TypeError("Argument must be a Query");return d.query=a._self(),this},indices:function(a){if(null==a)return e;if(i(a))e=[a];else{if(!g(a))throw new TypeError("Argument must be a string or array");e=a}return 0===e.length&&f.length>0&&(e=["_all"]),this},types:function(a){if(null==a)return f;if(i(a))f=[a];else{if(!g(a))throw new TypeError("Argument must be a string or array");f=a}return 0===e.length&&f.length>0&&(e=["_all"]),this},facet:function(a){if(null==a)return d.facets;if(null==d.facets&&(d.facets={}),!p(a))throw new TypeError("Argument must be a Facet");return c(d.facets,a._self()),this},filter:function(a){if(null==a)return d.filter;if(!o(a))throw new TypeError("Argument must be a Filter");return d.filter=a._self(),this},highlight:function(a){if(null==a)return d.highlight;if(!v(a))throw new TypeError("Argument must be a Highlight object");return d.highlight=a._self(),this},suggest:function(a){if(null==a)return d.suggest;if(null==d.suggest&&(d.suggest={}),i(a))d.suggest.text=a;else{if(!w(a))throw new TypeError("Argument must be a string or Suggest object");c(d.suggest,a._self())}return this},scriptField:function(a){if(null==a)return d.script_fields;if(null==d.script_fields&&(d.script_fields={}),!q(a))throw new TypeError("Argument must be a ScriptField");return c(d.script_fields,a._self()),this},preference:function(a){return null==a?h.preference:(h.preference=a,this)},local:function(a){return null==a?h.local:(h.local=a,this)},ignoreIndices:function(a){return null==a?h.ignore_indices:(a=a.toLowerCase(),("none"===a||"missing"===a)&&(h.ignore_indices=a),this)},indexBoost:function(a,b){return null==d.indices_boost&&(d.indices_boost={}),0===arguments.length?d.indices_boost:(d.indices_boost[a]=b,this)},explain:function(a){return null==a?d.explain:(d.explain=a,this)},version:function(a){return null==a?d.version:(d.version=a,this)},minScore:function(a){return null==a?d.min_score:(d.min_score=a,this)},toString:function(){return JSON.stringify(d)},_type:function(){return"request"},_self:function(){return d},doDeleteByQuery:function(a,b){var c=JSON.stringify(d.query);if(null==E.client)throw new Error("No Client Set");return E.client.del(j("_query"),c,a,b)},doCount:function(a,b){var c=JSON.stringify(d.query);if(null==E.client)throw new Error("No Client Set");return E.client.post(j("_count"),c,a,b)},doSearch:function(a,b){var c=JSON.stringify(d);if(null==E.client)throw new Error("No Client Set");return E.client.post(j("_search"),c,a,b)},doSearchShards:function(a,b){if(null==E.client)throw new Error("No Client Set");return E.client.post(j("_search_shards"),"",a,b)}}},E.Rescore=function(a,b){if(null!=a&&!j(a))throw new TypeError("Argument must be a Number");if(null!=b&&!m(b))throw new TypeError("Argument must be a Query");var c={query:{}};return null!=a&&(c.window_size=a),null!=b&&(c.query.rescore_query=b._self()),{rescoreQuery:function(a){if(null==a)return c.query.rescore_query;if(!m(a))throw new TypeError("Argument must be a Query");return c.query.rescore_query=a._self(),this},queryWeight:function(a){if(null==a)return c.query.query_weight;if(!j(a))throw new TypeError("Argument must be a Number");return c.query.query_weight=a,this},rescoreQueryWeight:function(a){if(null==a)return c.query.rescore_query_weight;if(!j(a))throw new TypeError("Argument must be a Number");return c.query.rescore_query_weight=a,this},windowSize:function(a){if(null==a)return c.window_size;if(!j(a))throw new TypeError("Argument must be a Number");return c.window_size=a,this},scoreMode:function(a){return null==a?c.query.score_mode:(a=a.toLowerCase(),("total"===a||"min"===a||"max"===a||"multiply"===a||"avg"===a)&&(c.query.score_mode=a),this)},toString:function(){return JSON.stringify(c)},_type:function(){return"rescore"},_self:function(){return c}}},E.ScriptField=function(a){var b={};return b[a]={},{lang:function(c){return null==c?b[a].lang:(b[a].lang=c,this)},script:function(c){return null==c?b[a].script:(b[a].script=c,this)},params:function(c){return null==c?b[a].params:(b[a].params=c,this)},ignoreFailure:function(c){return null==c?b[a].ignore_failure:(b[a].ignore_failure=c,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"script field"},_self:function(){return b}}},E.Shape=function(a,b){var c={},d=function(a){var b=!1;return("point"===a||"linestring"===a||"polygon"===a||"multipoint"===a||"envelope"===a||"multipolygon"===a||"circle"===a||"multilinestring"===a)&&(b=!0),b};return a=a.toLowerCase(),d(a)&&(c.type=a,c.coordinates=b),{type:function(a){return null==a?c.type:(a=a.toLowerCase(),d(a)&&(c.type=a),this)},coordinates:function(a){return null==a?c.coordinates:(c.coordinates=a,this)},radius:function(a){return null==a?c.radius:(c.radius=a,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"shape"},_self:function(){return c}}},E.Sort=function(a){null==a&&(a="_score");var b={},c=a,d="_geo_distance",e="_script";return b[c]={},{field:function(d){var e=b[c];return null==d?a:(delete b[c],a=d,c=d,b[c]=e,this)},geoDistance:function(e){var f=b[c];if(null==e)return b[c][a];if(!r(e))throw new TypeError("Argument must be a GeoPoint");return delete b[c],c=d,b[c]=f,b[c][a]=e._self(),this},script:function(a){var d=b[c];return null==a?b[c].script:(delete b[c],c=e,b[c]=d,b[c].script=a,this)},order:function(a){return null==a?b[c].order:(a=a.toLowerCase(),("asc"===a||"desc"===a)&&(b[c].order=a),this)},asc:function(){return b[c].order="asc",this},desc:function(){return b[c].order="desc",this},reverse:function(a){return null==a?b[c].reverse:(b[c].reverse=a,this)},missing:function(a){return null==a?b[c].missing:(b[c].missing=a,this)},ignoreUnmapped:function(a){return null==a?b[c].ignore_unmapped:(b[c].ignore_unmapped=a,this)},unit:function(a){return null==a?b[c].unit:(a=a.toLowerCase(),("mi"===a||"km"===a)&&(b[c].unit=a),this)},normalize:function(a){return null==a?b[c].normalize:(b[c].normalize=a,this)},distanceType:function(a){return null==a?b[c].distance_type:(a=a.toLowerCase(),("arc"===a||"plane"===a)&&(b[c].distance_type=a),this)},params:function(a){return null==a?b[c].params:(b[c].params=a,this)},lang:function(a){return null==a?b[c].lang:(b[c].lang=a,this)},type:function(a){return null==a?b[c].type:(a=a.toLowerCase(),("string"===a||"number"===a)&&(b[c].type=a),this)},mode:function(a){return null==a?b[c].mode:(a=a.toLowerCase(),("min"===a||"max"===a||"sum"===a||"avg"===a)&&(b[c].mode=a),this)},nestedPath:function(a){return null==a?b[c].nested_path:(b[c].nested_path=a,this)},nestedFilter:function(a){if(null==a)return b[c].nested_filter;if(!o(a))throw new TypeError("Argument must be a Filter");return b[c].nested_filter=a._self(),this},toString:function(){return JSON.stringify(b)},_type:function(){return"sort"},_self:function(){return b}}},E.DirectGenerator=function(){var a=E.DirectSettingsMixin(),b=a._self();return c(a,{preFilter:function(a){return null==a?b.pre_filter:(b.pre_filter=a,this)},postFilter:function(a){return null==a?b.post_filter:(b.post_filter=a,this)},field:function(a){return null==a?b.field:(b.field=a,this)},size:function(a){return null==a?b.size:(b.size=a,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"generator"},_self:function(){return b}})},E.DirectSettingsMixin=function(){var a={};return{accuracy:function(b){return null==b?a.accuracy:(a.accuracy=b,this)},suggestMode:function(b){return null==b?a.suggest_mode:(b=b.toLowerCase(),("missing"===b||"popular"===b||"always"===b)&&(a.suggest_mode=b),this)},sort:function(b){return null==b?a.sort:(b=b.toLowerCase(),("score"===b||"frequency"===b)&&(a.sort=b),this)},stringDistance:function(b){return null==b?a.string_distance:(b=b.toLowerCase(),("internal"===b||"damerau_levenshtein"===b||"levenstein"===b||"jarowinkler"===b||"ngram"===b)&&(a.string_distance=b),this)},maxEdits:function(b){return null==b?a.max_edits:(a.max_edits=b,this)},maxInspections:function(b){return null==b?a.max_inspections:(a.max_inspections=b,this)},maxTermFreq:function(b){return null==b?a.max_term_freq:(a.max_term_freq=b,this)},prefixLen:function(b){return null==b?a.prefix_len:(a.prefix_len=b,this)},minWordLen:function(b){return null==b?a.min_word_len:(a.min_word_len=b,this)},minDocFreq:function(b){return null==b?a.min_doc_freq:(a.min_doc_freq=b,this)},_self:function(){return a}}},E.PhraseSuggester=function(a){var b={};return b[a]={phrase:{}},{text:function(c){return null==c?b[a].text:(b[a].text=c,this)},analyzer:function(c){return null==c?b[a].phrase.analyzer:(b[a].phrase.analyzer=c,this)},field:function(c){return null==c?b[a].phrase.field:(b[a].phrase.field=c,this)},size:function(c){return null==c?b[a].phrase.size:(b[a].phrase.size=c,this)},shardSize:function(c){return null==c?b[a].phrase.shard_size:(b[a].phrase.shard_size=c,this)},realWorldErrorLikelihood:function(c){return null==c?b[a].phrase.real_world_error_likelihood:(b[a].phrase.real_world_error_likelihood=c,this)},confidence:function(c){return null==c?b[a].phrase.confidence:(b[a].phrase.confidence=c,this)},separator:function(c){return null==c?b[a].phrase.separator:(b[a].phrase.separator=c,this)},maxErrors:function(c){return null==c?b[a].phrase.max_errors:(b[a].phrase.max_errors=c,this)},gramSize:function(c){return null==c?b[a].phrase.gram_size:(b[a].phrase.gram_size=c,this)},forceUnigrams:function(c){return null==c?b[a].phrase.force_unigrams:(b[a].phrase.force_unigrams=c,this)},tokenLimit:function(c){return null==c?b[a].phrase.token_limit:(b[a].phrase.token_limit=c,this)},linearSmoothing:function(c,d,e){return 0===arguments.length?b[a].phrase.smoothing:(b[a].phrase.smoothing={linear:{trigram_lambda:c,bigram_lambda:d,unigram_lambda:e}},this)},laplaceSmoothing:function(c){return null==c?b[a].phrase.smoothing:(b[a].phrase.smoothing={laplace:{alpha:c}},this)},stupidBackoffSmoothing:function(c){return null==c?b[a].phrase.smoothing:(b[a].phrase.smoothing={stupid_backoff:{discount:c}},this)},highlight:function(c,d){return 0===arguments.length?b[a].phrase.highlight:(b[a].phrase.highlight={pre_tag:c,post_tag:d},this)},directGenerator:function(c){var d,e;if(null==b[a].phrase.direct_generator&&(b[a].phrase.direct_generator=[]),null==c)return b[a].phrase.direct_generator;if(x(c))b[a].phrase.direct_generator.push(c._self());else{if(!g(c))throw new TypeError("Argument must be a Generator or array of Generators");for(b[a].phrase.direct_generator=[],d=0,e=c.length;e>d;d++){if(!x(c[d]))throw new TypeError("Argument must be an array of Generators");b[a].phrase.direct_generator.push(c[d]._self())}}return this},toString:function(){return JSON.stringify(b)},_type:function(){return"suggest"},_self:function(){return b}}},E.TermSuggester=function(a){var b={},d=E.DirectSettingsMixin();return b[a]={term:d._self()},c(d,{text:function(c){return null==c?b[a].text:(b[a].text=c,this)},analyzer:function(c){return null==c?b[a].term.analyzer:(b[a].term.analyzer=c,this)},field:function(c){return null==c?b[a].term.field:(b[a].term.field=c,this)},size:function(c){return null==c?b[a].term.size:(b[a].term.size=c,this)},shardSize:function(c){return null==c?b[a].term.shard_size:(b[a].term.shard_size=c,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"suggest"},_self:function(){return b}})},E.noConflict=function(){return F.ejs=G,this}}.call(this),define("../vendor/elasticjs/elastic",function(){}),angular.module("elasticjs.service",[]).factory("ejsResource",["$http",function(a){return function(b,c){var d=window.ejs||{},e=function(a,b,c){return a.then(function(a){return(b||angular.noop)(a.data),a.data},function(a){return(c||angular.noop)(a.data),a.data})};return b!==Object(b)&&(b={server:b}),null==b.server&&(b.server=""),(c||b.basicAuth)&&(b.headers=angular.extend(b.headers||{},{Authorization:"Basic "+(c||b.basicAuth)})),d.client={server:function(a){return null==a?b.server:(b.server=a,this)},post:function(c,d,f,g){c=b.server+c;var h={url:c,data:d,method:"POST"};return e(a(angular.extend(h,b)),f,g)},get:function(c,d,f,g){c=b.server+c;var h={url:c,params:d,method:"GET"};return e(a(angular.extend(h,b)),f,g)},put:function(c,d,f,g){c=b.server+c;var h={url:c,data:d,method:"PUT"};return e(a(angular.extend(h,b)),f,g)},del:function(c,d,f,g){c=b.server+c;var h={url:c,data:d,method:"DELETE"};return e(a(angular.extend(h,b)),f,g)},head:function(c,d,e,f){c=b.server+c;var g={url:c,params:d,method:"HEAD"};return a(angular.extend(g,b)).then(function(a){return(e||angular.noop)(a.headers()),a.headers()},function(){return void(f||angular.noop)(void 0)})}},d}}]),define("elasticjs",function(){}),!function(a){a(function(){a.support.transition=function(){var a=function(){var a,b=document.createElement("bootstrap"),c={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(a in c)if(void 0!==b.style[a])return c[a]}();return a&&{end:a}}()})}(window.jQuery),!function(a){var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.close=function(b){function c(){d.trigger("closed").remove()}var d,e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,"")),d=a(f),b&&b.preventDefault(),d.length||(d=e.hasClass("alert")?e:e.parent()),d.trigger(b=a.Event("close")),b.isDefaultPrevented()||(d.removeClass("in"),a.support.transition&&d.hasClass("fade")?d.on(a.support.transition.end,c):c())};var d=a.fn.alert;a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("alert");e||d.data("alert",e=new c(this)),"string"==typeof b&&e[b].call(d)})},a.fn.alert.Constructor=c,a.fn.alert.noConflict=function(){return a.fn.alert=d,this},a(document).on("click.alert.data-api",b,c.prototype.close)}(window.jQuery),!function(a){var b=function(b,c){this.$element=a(b),this.options=a.extend({},a.fn.button.defaults,c)};b.prototype.setState=function(a){var b="disabled",c=this.$element,d=c.data(),e=c.is("input")?"val":"html";a+="Text",d.resetText||c.data("resetText",c[e]()),c[e](d[a]||this.options[a]),setTimeout(function(){"loadingText"==a?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b)},0)},b.prototype.toggle=function(){var a=this.$element.closest('[data-toggle="buttons-radio"]');a&&a.find(".active").removeClass("active"),this.$element.toggleClass("active")};var c=a.fn.button;a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("button"),f="object"==typeof c&&c;e||d.data("button",e=new b(this,f)),"toggle"==c?e.toggle():c&&e.setState(c)})},a.fn.button.defaults={loadingText:"loading..."},a.fn.button.Constructor=b,a.fn.button.noConflict=function(){return a.fn.button=c,this},a(document).on("click.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle")})}(window.jQuery),!function(a){var b=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,"hover"==this.options.pause&&this.$element.on("mouseenter",a.proxy(this.pause,this)).on("mouseleave",a.proxy(this.cycle,this))};b.prototype={cycle:function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},getActiveIndex:function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},to:function(b){var c=this.getActiveIndex(),d=this;if(!(b>this.$items.length-1||0>b))return this.sliding?this.$element.one("slid",function(){d.to(b)}):c==b?this.pause().cycle():this.slide(b>c?"next":"prev",a(this.$items[b]))},pause:function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition.end&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),clearInterval(this.interval),this.interval=null,this},next:function(){return this.sliding?void 0:this.slide("next")},prev:function(){return this.sliding?void 0:this.slide("prev")},slide:function(b,c){var d,e=this.$element.find(".item.active"),f=c||e[b](),g=this.interval,h="next"==b?"left":"right",i="next"==b?"first":"last",j=this;if(this.sliding=!0,g&&this.pause(),f=f.length?f:this.$element.find(".item")[i](),d=a.Event("slide",{relatedTarget:f[0],direction:h}),!f.hasClass("active")){if(this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid",function(){var b=a(j.$indicators.children()[j.getActiveIndex()]);b&&b.addClass("active")})),a.support.transition&&this.$element.hasClass("slide")){if(this.$element.trigger(d),d.isDefaultPrevented())return;f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),this.$element.one(a.support.transition.end,function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),j.sliding=!1,setTimeout(function(){j.$element.trigger("slid")},0)})}else{if(this.$element.trigger(d),d.isDefaultPrevented())return;e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger("slid")}return g&&this.cycle(),this}}};var c=a.fn.carousel;a.fn.carousel=function(c){return this.each(function(){var d=a(this),e=d.data("carousel"),f=a.extend({},a.fn.carousel.defaults,"object"==typeof c&&c),g="string"==typeof c?c:f.slide;e||d.data("carousel",e=new b(this,f)),"number"==typeof c?e.to(c):g?e[g]():f.interval&&e.pause().cycle()})},a.fn.carousel.defaults={interval:5e3,pause:"hover"},a.fn.carousel.Constructor=b,a.fn.carousel.noConflict=function(){return a.fn.carousel=c,this},a(document).on("click.carousel.data-api","[data-slide], [data-slide-to]",function(b){var c,d,e=a(this),f=a(e.attr("data-target")||(c=e.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"")),g=a.extend({},f.data(),e.data());f.carousel(g),(d=e.attr("data-slide-to"))&&f.data("carousel").pause().to(d).cycle(),b.preventDefault()})}(window.jQuery),!function(a){var b=function(b,c){this.$element=a(b),this.options=a.extend({},a.fn.collapse.defaults,c),this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};b.prototype={constructor:b,dimension:function(){var a=this.$element.hasClass("width");return a?"width":"height"},show:function(){var b,c,d,e;if(!this.transitioning&&!this.$element.hasClass("in")){if(b=this.dimension(),c=a.camelCase(["scroll",b].join("-")),d=this.$parent&&this.$parent.find("> .accordion-group > .in"),d&&d.length){if(e=d.data("collapse"),e&&e.transitioning)return;d.collapse("hide"),e||d.data("collapse",null)}this.$element[b](0),this.transition("addClass",a.Event("show"),"shown"),a.support.transition&&this.$element[b](this.$element[0][c])}},hide:function(){var b;!this.transitioning&&this.$element.hasClass("in")&&(b=this.dimension(),this.reset(this.$element[b]()),this.transition("removeClass",a.Event("hide"),"hidden"),this.$element[b](0))},reset:function(a){var b=this.dimension();return this.$element.removeClass("collapse")[b](a||"auto")[0].offsetWidth,this.$element[null!==a?"addClass":"removeClass"]("collapse"),this},transition:function(b,c,d){var e=this,f=function(){"show"==c.type&&e.reset(),e.transitioning=0,e.$element.trigger(d)};this.$element.trigger(c),c.isDefaultPrevented()||(this.transitioning=1,this.$element[b]("in"),a.support.transition&&this.$element.hasClass("collapse")?this.$element.one(a.support.transition.end,f):f())},toggle:function(){this[this.$element.hasClass("in")?"hide":"show"]()}};var c=a.fn.collapse;a.fn.collapse=function(c){return this.each(function(){var d=a(this),e=d.data("collapse"),f=a.extend({},a.fn.collapse.defaults,d.data(),"object"==typeof c&&c);e||d.data("collapse",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.collapse.defaults={toggle:!0},a.fn.collapse.Constructor=b,a.fn.collapse.noConflict=function(){return a.fn.collapse=c,this},a(document).on("click.collapse.data-api","[data-toggle=collapse]",function(b){var c,d=a(this),e=d.attr("data-target")||b.preventDefault()||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,""),f=a(e).data("collapse")?"toggle":d.data();d[a(e).hasClass("in")?"addClass":"removeClass"]("collapsed"),a(e).collapse(f)})}(window.jQuery),!function(a){function b(){a(".dropdown-backdrop").remove(),a(d).each(function(){c(a(this)).removeClass("open")})}function c(b){var c,d=b.attr("data-target");return d||(d=b.attr("href"),d=d&&/#/.test(d)&&d.replace(/.*(?=#[^\s]*$)/,"")),c=d&&a(d),c&&c.length||(c=b.parent()),c}var d="[data-toggle=dropdown]",e=function(b){var c=a(b).on("click.dropdown.data-api",this.toggle);a("html").on("click.dropdown.data-api",function(){c.parent().removeClass("open")})};e.prototype={constructor:e,toggle:function(){var d,e,f=a(this);if(!f.is(".disabled, :disabled"))return d=c(f),e=d.hasClass("open"),b(),e||("ontouchstart"in document.documentElement&&a('
'+(this.showSeconds?'':"")+(this.showMeridian?'':"")+" "+(this.showSeconds?'":"")+(this.showMeridian?'":"")+''+(this.showSeconds?'':"")+(this.showMeridian?'':"")+"
   
"+b+' :'+c+":'+d+" '+e+"
  
",this.template){case"modal":a='';break;case"dropdown":a='"}return a},getTime:function(){return this.formatTime(this.hour,this.minute,this.second,this.meridian)},hideWidget:function(){this.isOpen!==!1&&(this.showInputs&&this.updateFromWidgetInputs(),this.$element.trigger({type:"hide.timepicker",time:{value:this.getTime(),hours:this.hour,minutes:this.minute,seconds:this.second,meridian:this.meridian}}),"modal"===this.template?this.$widget.modal("hide"):this.$widget.removeClass("open"),a(c).off("mousedown.timepicker"),this.isOpen=!1)},highlightUnit:function(){this.position=this.getCursorPosition(),this.position>=0&&this.position<=2?this.highlightHour():this.position>=3&&this.position<=5?this.highlightMinute():this.position>=6&&this.position<=8?this.showSeconds?this.highlightSecond():this.highlightMeridian():this.position>=9&&this.position<=11&&this.highlightMeridian()},highlightNextUnit:function(){switch(this.highlightedUnit){case"hour":this.highlightMinute();break;case"minute":this.showSeconds?this.highlightSecond():this.showMeridian?this.highlightMeridian():this.highlightHour();break;case"second":this.showMeridian?this.highlightMeridian():this.highlightHour();break;case"meridian":this.highlightHour()}},highlightPrevUnit:function(){switch(this.highlightedUnit){case"hour":this.highlightMeridian();break;case"minute":this.highlightHour();break;case"second":this.highlightMinute();break;case"meridian":this.showSeconds?this.highlightSecond():this.highlightMinute()}},highlightHour:function(){var a=this.$element.get(0);this.highlightedUnit="hour",a.setSelectionRange&&setTimeout(function(){a.setSelectionRange(0,2)},0)},highlightMinute:function(){var a=this.$element.get(0);this.highlightedUnit="minute",a.setSelectionRange&&setTimeout(function(){a.setSelectionRange(3,5)},0)},highlightSecond:function(){var a=this.$element.get(0);this.highlightedUnit="second",a.setSelectionRange&&setTimeout(function(){a.setSelectionRange(6,8)},0)},highlightMeridian:function(){var a=this.$element.get(0);this.highlightedUnit="meridian",a.setSelectionRange&&(this.showSeconds?setTimeout(function(){a.setSelectionRange(9,11)},0):setTimeout(function(){a.setSelectionRange(6,8)},0))},incrementHour:function(){if(this.showMeridian){if(11===this.hour)return this.hour++,this.toggleMeridian();12===this.hour&&(this.hour=0)}return 23===this.hour?void(this.hour=0):(this.hour++,void this.update())},incrementMinute:function(a){var b;b=a?this.minute+a:this.minute+this.minuteStep-this.minute%this.minuteStep,b>59?(this.incrementHour(),this.minute=b-60):this.minute=b,this.update()},incrementSecond:function(){var a=this.second+this.secondStep-this.second%this.secondStep;a>59?(this.incrementMinute(!0),this.second=a-60):this.second=a,this.update()},remove:function(){a("document").off(".timepicker"),this.$widget&&this.$widget.remove(),delete this.$element.data().timepicker},setDefaultTime:function(a){if(this.$element.val())this.updateFromElementVal();else if("current"===a){var b=new Date,c=b.getHours(),d=Math.floor(b.getMinutes()/this.minuteStep)*this.minuteStep,e=Math.floor(b.getSeconds()/this.secondStep)*this.secondStep,f="AM";this.showMeridian&&(0===c?c=12:c>=12?(c>12&&(c-=12),f="PM"):f="AM"),this.hour=c,this.minute=d,this.second=e,this.meridian=f,this.update()}else a===!1?(this.hour=0,this.minute=0,this.second=0,this.meridian="AM"):this.setTime(a)},setTime:function(a){var b,c;this.showMeridian?(b=a.split(" "),c=b[0].split(":"),this.meridian=b[1]):c=a.split(":"),this.hour=parseInt(c[0],10),this.minute=parseInt(c[1],10),this.second=parseInt(c[2],10),isNaN(this.hour)&&(this.hour=0),isNaN(this.minute)&&(this.minute=0),this.showMeridian?(this.hour>12?this.hour=12:this.hour<1&&(this.hour=12),"am"===this.meridian||"a"===this.meridian?this.meridian="AM":("pm"===this.meridian||"p"===this.meridian)&&(this.meridian="PM"),"AM"!==this.meridian&&"PM"!==this.meridian&&(this.meridian="AM")):this.hour>=24?this.hour=23:this.hour<0&&(this.hour=0),this.minute<0?this.minute=0:this.minute>=60&&(this.minute=59),this.showSeconds&&(isNaN(this.second)?this.second=0:this.second<0?this.second=0:this.second>=60&&(this.second=59)),this.update()},showWidget:function(){if(!this.isOpen&&!this.$element.is(":disabled")){var b=this;a(c).on("mousedown.timepicker",function(c){0===a(c.target).closest(".bootstrap-timepicker-widget").length&&b.hideWidget()}),this.$element.trigger({type:"show.timepicker",time:{value:this.getTime(),hours:this.hour,minutes:this.minute,seconds:this.second,meridian:this.meridian}}),this.disableFocus&&this.$element.blur(),this.updateFromElementVal(),"modal"===this.template?this.$widget.modal("show").on("hidden",a.proxy(this.hideWidget,this)):this.isOpen===!1&&this.$widget.addClass("open"),this.isOpen=!0}},toggleMeridian:function(){this.meridian="AM"===this.meridian?"PM":"AM",this.update()},update:function(){this.$element.trigger({type:"changeTime.timepicker",time:{value:this.getTime(),hours:this.hour,minutes:this.minute,seconds:this.second,meridian:this.meridian}}),this.updateElement(),this.updateWidget()},updateElement:function(){this.$element.val(this.getTime()).change()},updateFromElementVal:function(){var a=this.$element.val();a&&this.setTime(a)},updateWidget:function(){if(this.$widget!==!1){var a=this.hour<10?"0"+this.hour:this.hour,b=this.minute<10?"0"+this.minute:this.minute,c=this.second<10?"0"+this.second:this.second;this.showInputs?(this.$widget.find("input.bootstrap-timepicker-hour").val(a),this.$widget.find("input.bootstrap-timepicker-minute").val(b),this.showSeconds&&this.$widget.find("input.bootstrap-timepicker-second").val(c),this.showMeridian&&this.$widget.find("input.bootstrap-timepicker-meridian").val(this.meridian)):(this.$widget.find("span.bootstrap-timepicker-hour").text(a),this.$widget.find("span.bootstrap-timepicker-minute").text(b),this.showSeconds&&this.$widget.find("span.bootstrap-timepicker-second").text(c),this.showMeridian&&this.$widget.find("span.bootstrap-timepicker-meridian").text(this.meridian))}},updateFromWidgetInputs:function(){if(this.$widget!==!1){var b=a("input.bootstrap-timepicker-hour",this.$widget).val()+":"+a("input.bootstrap-timepicker-minute",this.$widget).val()+(this.showSeconds?":"+a("input.bootstrap-timepicker-second",this.$widget).val():"")+(this.showMeridian?" "+a("input.bootstrap-timepicker-meridian",this.$widget).val():"");this.setTime(b)}},widgetClick:function(b){b.stopPropagation(),b.preventDefault();var c=a(b.target).closest("a").data("action");c&&this[c]()},widgetKeydown:function(b){var c=a(b.target).closest("input"),d=c.attr("name");switch(b.keyCode){case 9:if(this.showMeridian){if("meridian"===d)return this.hideWidget()}else if(this.showSeconds){if("second"===d)return this.hideWidget()}else if("minute"===d)return this.hideWidget();this.updateFromWidgetInputs();break;case 27:this.hideWidget();break;case 38:switch(b.preventDefault(),d){case"hour":this.incrementHour();break;case"minute":this.incrementMinute();break;case"second":this.incrementSecond();break;case"meridian":this.toggleMeridian()}break;case 40:switch(b.preventDefault(),d){case"hour":this.decrementHour();break;case"minute":this.decrementMinute();break;case"second":this.decrementSecond();break;case"meridian":this.toggleMeridian()}}}},a.fn.timepicker=function(b){var c=Array.apply(null,arguments);return c.shift(),this.each(function(){var d=a(this),f=d.data("timepicker"),g="object"==typeof b&&b;f||d.data("timepicker",f=new e(this,a.extend({},a.fn.timepicker.defaults,g,a(this).data()))),"string"==typeof b&&f[b].apply(f,c)})},a.fn.timepicker.defaults={defaultTime:"current",disableFocus:!1,isOpen:!1,minuteStep:15,modalBackdrop:!1,secondStep:15,showSeconds:!1,showInputs:!0,showMeridian:!0,template:"dropdown",appendWidgetTo:".bootstrap-timepicker"},a.fn.timepicker.Constructor=e}(jQuery,window,document),define("timepicker",function(){}),!function(a){function b(){return new Date(Date.UTC.apply(Date,arguments))}var c=function(b,c){switch(this.element=a(b),this.language=c.language||this.element.data("date-language")||"en",this.language=this.language in d?this.language:this.language.split("-")[0],this.language=this.language in d?this.language:"en",this.isRTL=d[this.language].rtl||!1,this.format=e.parseFormat(c.format||this.element.data("date-format")||d[this.language].format||"mm/dd/yyyy"),this.isInline=!1,this.isInput=this.element.is("input"),this.component=this.element.is(".date")?this.element.find(".add-on, .btn"):!1,this.hasInput=this.component&&this.element.find("input").length,this.component&&0===this.component.length&&(this.component=!1),this.forceParse=!0,"forceParse"in c?this.forceParse=c.forceParse:"dateForceParse"in this.element.data()&&(this.forceParse=this.element.data("date-force-parse")),this.picker=a(e.template),this._buildEvents(),this._attachEvents(),this.isInline?this.picker.addClass("datepicker-inline").appendTo(this.element):this.picker.addClass("datepicker-dropdown dropdown-menu"),this.isRTL&&(this.picker.addClass("datepicker-rtl"),this.picker.find(".prev i, .next i").toggleClass("icon-arrow-left icon-arrow-right")),this.autoclose=!1,"autoclose"in c?this.autoclose=c.autoclose:"dateAutoclose"in this.element.data()&&(this.autoclose=this.element.data("date-autoclose")),this.keyboardNavigation=!0,"keyboardNavigation"in c?this.keyboardNavigation=c.keyboardNavigation:"dateKeyboardNavigation"in this.element.data()&&(this.keyboardNavigation=this.element.data("date-keyboard-navigation")),this.viewMode=this.startViewMode=0,c.startView||this.element.data("date-start-view")){case 2:case"decade":this.viewMode=this.startViewMode=2;break;case 1:case"year":this.viewMode=this.startViewMode=1}if(this.minViewMode=c.minViewMode||this.element.data("date-min-view-mode")||0,"string"==typeof this.minViewMode)switch(this.minViewMode){case"months":this.minViewMode=1;break;case"years":this.minViewMode=2;break;default:this.minViewMode=0}this.viewMode=this.startViewMode=Math.max(this.startViewMode,this.minViewMode),this.todayBtn=c.todayBtn||this.element.data("date-today-btn")||!1,this.todayHighlight=c.todayHighlight||this.element.data("date-today-highlight")||!1,this.calendarWeeks=!1,"calendarWeeks"in c?this.calendarWeeks=c.calendarWeeks:"dateCalendarWeeks"in this.element.data()&&(this.calendarWeeks=this.element.data("date-calendar-weeks")),this.calendarWeeks&&this.picker.find("tfoot th.today").attr("colspan",function(a,b){return parseInt(b)+1}),this._allow_update=!1,this.weekStart=(c.weekStart||this.element.data("date-weekstart")||d[this.language].weekStart||0)%7,this.weekEnd=(this.weekStart+6)%7,this.startDate=-1/0,this.endDate=1/0,this.daysOfWeekDisabled=[],this.setStartDate(c.startDate||this.element.data("date-startdate")),this.setEndDate(c.endDate||this.element.data("date-enddate")),this.setDaysOfWeekDisabled(c.daysOfWeekDisabled||this.element.data("date-days-of-week-disabled")),this.fillDow(),this.fillMonths(),this._allow_update=!0,this.update(),this.showMode(),this.isInline&&this.show()};c.prototype={constructor:c,_events:[],_secondaryEvents:[],_applyEvents:function(a){for(var b,c,d=0;dthis.endDate?this.endDate:this.date),this.fill()}},fillDow:function(){var a=this.weekStart,b="";if(this.calendarWeeks){var c=' ';b+=c,this.picker.find(".datepicker-days thead tr:first-child").prepend(c)}for(;a'+d[this.language].daysMin[a++%7]+"";b+="",this.picker.find(".datepicker-days thead").append(b)},fillMonths:function(){for(var a="",b=0;12>b;)a+=''+d[this.language].monthsShort[b++]+"";this.picker.find(".datepicker-months td").html(a)},fill:function(){var c=new Date(this.viewDate),f=c.getUTCFullYear(),g=c.getUTCMonth(),h=this.startDate!==-1/0?this.startDate.getUTCFullYear():-1/0,i=this.startDate!==-1/0?this.startDate.getUTCMonth():-1/0,j=1/0!==this.endDate?this.endDate.getUTCFullYear():1/0,k=1/0!==this.endDate?this.endDate.getUTCMonth():1/0,l=this.date&&this.date.valueOf(),m=new Date;this.picker.find(".datepicker-days thead th.switch").text(d[this.language].months[g]+" "+f),this.picker.find("tfoot th.today").text(d[this.language].today).toggle(this.todayBtn!==!1),this.updateNavArrows(),this.fillMonths();var n=b(f,g-1,28,0,0,0,0),o=e.getDaysInMonth(n.getUTCFullYear(),n.getUTCMonth());n.setUTCDate(o),n.setUTCDate(o-(n.getUTCDay()-this.weekStart+7)%7);var p=new Date(n);p.setUTCDate(p.getUTCDate()+42),p=p.valueOf();for(var q,r=[];n.valueOf()"),this.calendarWeeks)){var s=new Date(+n+(this.weekStart-n.getUTCDay()-7)%7*864e5),t=new Date(+s+(11-s.getUTCDay())%7*864e5),u=new Date(+(u=b(t.getUTCFullYear(),0,1))+(11-u.getUTCDay())%7*864e5),v=(t-u)/864e5/7+1;r.push(''+v+"")}q="",n.getUTCFullYear()f||n.getUTCFullYear()==f&&n.getUTCMonth()>g)&&(q+=" new"),this.todayHighlight&&n.getUTCFullYear()==m.getFullYear()&&n.getUTCMonth()==m.getMonth()&&n.getUTCDate()==m.getDate()&&(q+=" today"),l&&n.valueOf()==l&&(q+=" active"),(n.valueOf()this.endDate||-1!==a.inArray(n.getUTCDay(),this.daysOfWeekDisabled))&&(q+=" disabled"),r.push(''+n.getUTCDate()+""),n.getUTCDay()==this.weekEnd&&r.push(""),n.setUTCDate(n.getUTCDate()+1)}this.picker.find(".datepicker-days tbody").empty().append(r.join(""));var w=this.date&&this.date.getUTCFullYear(),x=this.picker.find(".datepicker-months").find("th:eq(1)").text(f).end().find("span").removeClass("active");w&&w==f&&x.eq(this.date.getUTCMonth()).addClass("active"),(h>f||f>j)&&x.addClass("disabled"),f==h&&x.slice(0,i).addClass("disabled"),f==j&&x.slice(k+1).addClass("disabled"),r="",f=10*parseInt(f/10,10);var y=this.picker.find(".datepicker-years").find("th:eq(1)").text(f+"-"+(f+9)).end().find("td");f-=1;for(var z=-1;11>z;z++)r+='f||f>j?" disabled":"")+'">'+f+"",f+=1;y.html(r)},updateNavArrows:function(){if(this._allow_update){var a=new Date(this.viewDate),b=a.getUTCFullYear(),c=a.getUTCMonth();switch(this.viewMode){case 0:this.picker.find(".prev").css(this.startDate!==-1/0&&b<=this.startDate.getUTCFullYear()&&c<=this.startDate.getUTCMonth()?{visibility:"hidden"}:{visibility:"visible"}),this.picker.find(".next").css(1/0!==this.endDate&&b>=this.endDate.getUTCFullYear()&&c>=this.endDate.getUTCMonth()?{visibility:"hidden"}:{visibility:"visible"});break;case 1:case 2:this.picker.find(".prev").css(this.startDate!==-1/0&&b<=this.startDate.getUTCFullYear()?{visibility:"hidden"}:{visibility:"visible"}),this.picker.find(".next").css(1/0!==this.endDate&&b>=this.endDate.getUTCFullYear()?{visibility:"hidden"}:{visibility:"visible"})}}},click:function(c){c.preventDefault();var d=a(c.target).closest("span, td, th");if(1==d.length)switch(d[0].nodeName.toLowerCase()){case"th":switch(d[0].className){case"switch":this.showMode(1);break;case"prev":case"next":var f=e.modes[this.viewMode].navStep*("prev"==d[0].className?-1:1);switch(this.viewMode){case 0:this.viewDate=this.moveMonth(this.viewDate,f);break;case 1:case 2:this.viewDate=this.moveYear(this.viewDate,f)}this.fill();break;case"today":var g=new Date;g=b(g.getFullYear(),g.getMonth(),g.getDate(),0,0,0),this.showMode(-2);var h="linked"==this.todayBtn?null:"view";this._setDate(g,h)}break;case"span":if(!d.is(".disabled")){if(this.viewDate.setUTCDate(1),d.is(".month")){var i=1,j=d.parent().find("span").index(d),k=this.viewDate.getUTCFullYear();this.viewDate.setUTCMonth(j),this.element.trigger({type:"changeMonth",date:this.viewDate}),1==this.minViewMode&&this._setDate(b(k,j,i,0,0,0,0))}else{var k=parseInt(d.text(),10)||0,i=1,j=0;this.viewDate.setUTCFullYear(k),this.element.trigger({type:"changeYear",date:this.viewDate}),2==this.minViewMode&&this._setDate(b(k,j,i,0,0,0,0))}this.showMode(-1),this.fill()}break;case"td":if(d.is(".day")&&!d.is(".disabled")){var i=parseInt(d.text(),10)||1,k=this.viewDate.getUTCFullYear(),j=this.viewDate.getUTCMonth();d.is(".old")?0===j?(j=11,k-=1):j-=1:d.is(".new")&&(11==j?(j=0,k+=1):j+=1),this._setDate(b(k,j,i,0,0,0,0))}}},_setDate:function(a,b){b&&"date"!=b||(this.date=a),b&&"view"!=b||(this.viewDate=a),this.fill(),this.setValue(),this.element.trigger({type:"changeDate",date:this.date});var c;this.isInput?c=this.element:this.component&&(c=this.element.find("input")),c&&(c.change(),!this.autoclose||b&&"date"!=b||this.hide())},moveMonth:function(a,b){if(!b)return a;var c,d,e=new Date(a.valueOf()),f=e.getUTCDate(),g=e.getUTCMonth(),h=Math.abs(b);if(b=b>0?1:-1,1==h)d=-1==b?function(){return e.getUTCMonth()==g}:function(){return e.getUTCMonth()!=c},c=g+b,e.setUTCMonth(c),(0>c||c>11)&&(c=(c+12)%12);else{for(var i=0;h>i;i++)e=this.moveMonth(e,b);c=e.getUTCMonth(),e.setUTCDate(f),d=function(){return c!=e.getUTCMonth()}}for(;d();)e.setUTCDate(--f),e.setUTCMonth(c);return e},moveYear:function(a,b){return this.moveMonth(a,12*b)},dateWithinRange:function(a){return a>=this.startDate&&a<=this.endDate},keydown:function(a){if(this.picker.is(":not(:visible)"))return void(27==a.keyCode&&this.show());var b,c,d,e=!1;switch(a.keyCode){case 27:this.hide(),a.preventDefault();break;case 37:case 39:if(!this.keyboardNavigation)break;b=37==a.keyCode?-1:1,a.ctrlKey?(c=this.moveYear(this.date,b),d=this.moveYear(this.viewDate,b)):a.shiftKey?(c=this.moveMonth(this.date,b),d=this.moveMonth(this.viewDate,b)):(c=new Date(this.date),c.setUTCDate(this.date.getUTCDate()+b),d=new Date(this.viewDate),d.setUTCDate(this.viewDate.getUTCDate()+b)),this.dateWithinRange(c)&&(this.date=c,this.viewDate=d,this.setValue(),this.update(),a.preventDefault(),e=!0);break;case 38:case 40:if(!this.keyboardNavigation)break;b=38==a.keyCode?-1:1,a.ctrlKey?(c=this.moveYear(this.date,b),d=this.moveYear(this.viewDate,b)):a.shiftKey?(c=this.moveMonth(this.date,b),d=this.moveMonth(this.viewDate,b)):(c=new Date(this.date),c.setUTCDate(this.date.getUTCDate()+7*b),d=new Date(this.viewDate),d.setUTCDate(this.viewDate.getUTCDate()+7*b)),this.dateWithinRange(c)&&(this.date=c,this.viewDate=d,this.setValue(),this.update(),a.preventDefault(),e=!0);break;case 13:this.hide(),a.preventDefault();break;case 9:this.hide()}if(e){this.element.trigger({type:"changeDate",date:this.date});var f;this.isInput?f=this.element:this.component&&(f=this.element.find("input")),f&&f.change()}},showMode:function(a){a&&(this.viewMode=Math.max(this.minViewMode,Math.min(2,this.viewMode+a))),this.picker.find(">div").hide().filter(".datepicker-"+e.modes[this.viewMode].clsName).css("display","block"),this.updateNavArrows()}},a.fn.datepicker=function(b){var d=Array.apply(null,arguments);return d.shift(),this.each(function(){var e=a(this),f=e.data("datepicker"),g="object"==typeof b&&b;f||e.data("datepicker",f=new c(this,a.extend({},a.fn.datepicker.defaults,g))),"string"==typeof b&&"function"==typeof f[b]&&f[b].apply(f,d)})},a.fn.datepicker.defaults={},a.fn.datepicker.Constructor=c;var d=a.fn.datepicker.dates={en:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sun"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa","Su"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today"}},e={modes:[{clsName:"days",navFnc:"Month",navStep:1},{clsName:"months",navFnc:"FullYear",navStep:1},{clsName:"years",navFnc:"FullYear",navStep:10}],isLeapYear:function(a){return a%4===0&&a%100!==0||a%400===0},getDaysInMonth:function(a,b){return[31,e.isLeapYear(a)?29:28,31,30,31,30,31,31,30,31,30,31][b]},validParts:/dd?|DD?|mm?|MM?|yy(?:yy)?/g,nonpunctuation:/[^ -\/:-@\[\u3400-\u9fff-`{-~\t\n\r]+/g,parseFormat:function(a){var b=a.replace(this.validParts,"\x00").split("\x00"),c=a.match(this.validParts);if(!b||!b.length||!c||0===c.length)throw new Error("Invalid date format.");return{separators:b,parts:c}},parseDate:function(e,f,g){if(e instanceof Date)return e;if(/^[\-+]\d+[dmwy]([\s,]+[\-+]\d+[dmwy])*$/.test(e)){var h,i,j=/([\-+]\d+)([dmwy])/,k=e.match(/([\-+]\d+)([dmwy])/g);e=new Date;for(var l=0;lb;)b+=12;for(b%=12,a.setUTCMonth(b);a.getUTCMonth()!=b;)a.setUTCDate(a.getUTCDate()-1);return a},d:function(a,b){return a.setUTCDate(b)}};q.M=q.MM=q.mm=q.m,q.dd=q.d,e=b(e.getFullYear(),e.getMonth(),e.getDate(),0,0,0);var r=f.parts.slice();if(k.length!=r.length&&(r=a(r).filter(function(b,c){return-1!==a.inArray(c,p)}).toArray()),k.length==r.length){for(var l=0,s=r.length;s>l;l++){if(m=parseInt(k[l],10),h=r[l],isNaN(m))switch(h){case"MM":n=a(d[g].months).filter(function(){var a=this.slice(0,k[l].length),b=k[l].slice(0,a.length);return a==b}),m=a.inArray(n[0],d[g].months)+1;break;case"M":n=a(d[g].monthsShort).filter(function(){var a=this.slice(0,k[l].length),b=k[l].slice(0,a.length);return a==b}),m=a.inArray(n[0],d[g].monthsShort)+1}o[h]=m}for(var t,l=0;lh;h++)g.length&&b.push(g.shift()),b.push(f[c.parts[h]]);return b.join("")},headTemplate:'',contTemplate:'',footTemplate:''};e.template='
'+e.headTemplate+""+e.footTemplate+'
'+e.headTemplate+e.contTemplate+e.footTemplate+'
'+e.headTemplate+e.contTemplate+e.footTemplate+"
",a.fn.datepicker.DPGlobal=e}(window.jQuery),define("datepicker",function(){}),angular.module("$strap.config",[]).value("$strapConfig",{}),angular.module("$strap.filters",["$strap.config"]),angular.module("$strap.directives",["$strap.config"]),angular.module("$strap",["$strap.filters","$strap.directives","$strap.config"]),angular.module("$strap.directives").directive("bsAlert",["$parse","$timeout","$compile",function(a,b,c){return{restrict:"A",link:function(d,e,f){var g=a(f.bsAlert),h=(g.assign,g(d)),i=function(a){b(function(){e.alert("close")},1*a)};f.bsAlert?d.$watch(f.bsAlert,function(a,b){h=a,e.html((a.title?""+a.title+" ":"")+a.content||""),a.closed&&e.hide(),c(e.contents())(d),(a.type||b.type)&&(b.type&&e.removeClass("alert-"+b.type),a.type&&e.addClass("alert-"+a.type)),angular.isDefined(a.closeAfter)?i(a.closeAfter):f.closeAfter&&i(f.closeAfter),(angular.isUndefined(f.closeButton)||"0"!==f.closeButton&&"false"!==f.closeButton)&&e.prepend('')},!0):((angular.isUndefined(f.closeButton)||"0"!==f.closeButton&&"false"!==f.closeButton)&&e.prepend(''),f.closeAfter&&i(f.closeAfter)),e.addClass("alert").alert(),e.hasClass("fade")&&(e.removeClass("in"),setTimeout(function(){e.addClass("in")}));var j=f.ngRepeat&&f.ngRepeat.split(" in ").pop();e.on("close",function(a){var b;j?(a.preventDefault(),e.removeClass("in"),b=function(){e.trigger("closed"),d.$parent&&d.$parent.$apply(function(){for(var a=j.split("."),b=d.$parent,c=0;cg.length-2?g[0]:g[i+1],b.$apply(function(){c.text(j),e&&e.$setViewValue(j)})})}}}]),angular.module("$strap.directives").directive("bsDatepicker",["$timeout","$strapConfig",function(a,b){var c=/(iP(a|o)d|iPhone)/g.test(navigator.userAgent),d=function(a){return a=a||"en",{"/":"[\\/]","-":"[-]",".":"[.]"," ":"[\\s]",dd:"(?:(?:[0-2]?[0-9]{1})|(?:[3][01]{1}))",d:"(?:(?:[0-2]?[0-9]{1})|(?:[3][01]{1}))",mm:"(?:[0]?[1-9]|[1][012])",m:"(?:[0]?[1-9]|[1][012])",DD:"(?:"+$.fn.datepicker.dates[a].days.join("|")+")",D:"(?:"+$.fn.datepicker.dates[a].daysShort.join("|")+")",MM:"(?:"+$.fn.datepicker.dates[a].months.join("|")+")",M:"(?:"+$.fn.datepicker.dates[a].monthsShort.join("|")+")",yyyy:"(?:(?:[1]{1}[0-9]{1}[0-9]{1}[0-9]{1})|(?:[2]{1}[0-9]{3}))(?![[0-9]])",yy:"(?:(?:[0-9]{1}[0-9]{1}))(?![[0-9]])"}},e=function(a,b){var c,e=a,f=d(b);return c=0,angular.forEach(f,function(a,b){e=e.split(b).join("${"+c+"}"),c++}),c=0,angular.forEach(f,function(a){e=e.split("${"+c+"}").join(a),c++}),new RegExp("^"+e+"$",["i"])};return{restrict:"A",require:"?ngModel",link:function(a,d,f,g){var h=angular.extend({autoclose:!0},b.datepicker||{}),i=f.dateType||h.type||"date";angular.forEach(["format","weekStart","calendarWeeks","startDate","endDate","daysOfWeekDisabled","autoclose","startView","minViewMode","todayBtn","todayHighlight","keyboardNavigation","language","forceParse"],function(a){angular.isDefined(f[a])&&(h[a]=f[a])});var j=h.language||"en",k=f.dateFormat||h.format||$.fn.datepicker.dates[j]&&$.fn.datepicker.dates[j].format||"mm/dd/yyyy",l=c?"yyyy-mm-dd":k,m=e(l,j);g&&(g.$formatters.unshift(function(a){return"date"===i&&angular.isString(a)&&a?$.fn.datepicker.DPGlobal.parseDate(a,$.fn.datepicker.DPGlobal.parseFormat(k),j):a}),g.$parsers.unshift(function(a){return a?"date"===i&&angular.isDate(a)?(g.$setValidity("date",!0),a):angular.isString(a)&&m.test(a)?(g.$setValidity("date",!0),c?new Date(a):"string"===i?a:$.fn.datepicker.DPGlobal.parseDate(a,$.fn.datepicker.DPGlobal.parseFormat(l),j)):void g.$setValidity("date",!1):(g.$setValidity("date",!0),null)}),g.$render=function(){if(c){var a=g.$viewValue?$.fn.datepicker.DPGlobal.formatDate(g.$viewValue,$.fn.datepicker.DPGlobal.parseFormat(l),j):"";return d.val(a),a}return g.$viewValue||d.val(""),d.datepicker("update",g.$viewValue)}),c?d.prop("type","date").css("-webkit-appearance","textfield"):(g&&d.on("changeDate",function(b){a.$apply(function(){g.$setViewValue("string"===i?d.val():b.date)})}),d.datepicker(angular.extend(h,{format:l,language:j})),a.$on("$destroy",function(){var a=d.data("datepicker");a&&(a.picker.remove(),d.data("datepicker",null))}),f.$observe("startDate",function(a){d.datepicker("setStartDate",a)}),f.$observe("endDate",function(a){d.datepicker("setEndDate",a)}));var n=d.siblings('[data-toggle="datepicker"]');n.length&&n.on("click",function(){d.prop("disabled")||d.trigger("focus")})}}}]),angular.module("$strap.directives").directive("bsDropdown",["$parse","$compile","$timeout",function(a,b,c){var d=function(a,b){return b||(b=['"]),angular.forEach(a,function(a,c){if(a.divider)return b.splice(c+1,0,'
  • ');var e=""+(a.text||"")+"";a.submenu&&a.submenu.length&&(e+=d(a.submenu).join("\n")),e+="",b.splice(c+1,0,e)}),b};return{restrict:"EA",scope:!0,link:function(e,f,g){var h=a(g.bsDropdown),i=h(e);c(function(){!angular.isArray(i);var a=angular.element(d(i).join(""));a.insertAfter(f),b(f.next("ul.dropdown-menu"))(e)}),f.addClass("dropdown-toggle").attr("data-toggle","dropdown")}}}]),angular.module("$strap.directives").factory("$modal",["$rootScope","$compile","$http","$timeout","$q","$templateCache","$strapConfig",function(a,b,c,d,e,f,g){var h=function(h){function i(h){var i=angular.extend({show:!0},g.modal,h),j=i.scope?i.scope:a.$new(),k=i.template;return e.when(f.get(k)||c.get(k,{cache:!0}).then(function(a){return a.data})).then(function(a){var c=k.replace(".html","").replace(/[\/|\.|:]/g,"-")+"-"+j.$id,e=$('').attr("id",c).addClass("fade").html(a);return i.modalClass&&e.addClass(i.modalClass),$("body").append(e),d(function(){b(e)(j)}),j.$modal=function(a){e.modal(a)},angular.forEach(["show","hide"],function(a){j[a]=function(){e.modal(a)}}),j.dismiss=j.hide,angular.forEach(["show","shown","hide","hidden"],function(a){e.on(a,function(b){j.$emit("modal-"+a,b)})}),e.on("shown",function(){$("input[autofocus], textarea[autofocus]",e).first().trigger("focus")}),e.on("hidden",function(){i.persist||j.$destroy()}),j.$on("$destroy",function(){e.remove()}),e.modal(i),e})}return new i(h)};return h}]).directive("bsModal",["$q","$modal",function(a,b){return{restrict:"A",scope:!0,link:function(c,d,e){var f={template:c.$eval(e.bsModal),persist:!0,show:!1,scope:c};angular.forEach(["modalClass","backdrop","keyboard"],function(a){angular.isDefined(e[a])&&(f[a]=e[a])}),a.when(b(f)).then(function(a){d.attr("data-target","#"+a.attr("id")).attr("data-toggle","modal")})}}}]),angular.module("$strap.directives").directive("bsNavbar",["$location",function(a){return{restrict:"A",link:function(b,c){b.$watch(function(){return a.path()},function(a){$("li[data-match-route]",c).each(function(b,c){var d=angular.element(c),e=d.attr("data-match-route"),f=new RegExp("^"+e+"$",["i"]);f.test(a)?d.addClass("active").find(".collapse.in").collapse("hide"):d.removeClass("active")})})}}}]),angular.module("$strap.directives").directive("bsPopover",["$parse","$compile","$http","$timeout","$q","$templateCache",function(a,b,c,d,e,f){return $("body").on("keyup",function(a){27===a.keyCode&&$(".popover.in").each(function(){$(this).popover("hide")})}),{restrict:"A",scope:!0,link:function(g,h,i){var j=a(i.bsPopover),k=(j.assign,j(g)),l={};angular.isObject(k)&&(l=k),e.when(l.content||f.get(k)||c.get(k,{cache:!0})).then(function(a){angular.isObject(a)&&(a=a.data),i.unique&&h.on("show",function(){$(".popover.in").each(function(){var a=$(this),b=a.data("popover");b&&!b.$element.is(h)&&a.popover("hide")})}),i.hide&&g.$watch(i.hide,function(a,b){a?c.hide():a!==b&&c.show()}),i.show&&g.$watch(i.show,function(a,b){a?d(function(){c.show()}):a!==b&&c.hide()}),h.popover(angular.extend({},l,{content:a,html:!0}));var c=h.data("popover");c.hasContent=function(){return this.getTitle()||a},c.getPosition=function(){var a=$.fn.popover.Constructor.prototype.getPosition.apply(this,arguments);return b(this.$tip)(g),g.$digest(),this.$tip.data("popover",this),a},g.$popover=function(a){c(a)},angular.forEach(["show","hide"],function(a){g[a]=function(){c[a]()}}),g.dismiss=g.hide,angular.forEach(["show","shown","hide","hidden"],function(a){h.on(a,function(b){g.$emit("popover-"+a,b)})})})}}}]),angular.module("$strap.directives").directive("bsSelect",["$timeout",function(a){return{restrict:"A",require:"?ngModel",link:function(b,c,d,e){var f=b.$eval(d.bsSelect)||{};a(function(){c.selectpicker(f),c.next().removeClass("ng-scope")}),e&&b.$watch(d.ngModel,function(a,b){angular.equals(a,b)||c.selectpicker("refresh")})}}}]),angular.module("$strap.directives").directive("bsTabs",["$parse","$compile","$timeout",function(a,b,c){var d='
    ';return{restrict:"A",require:"?ngModel",priority:0,scope:!0,template:d,replace:!0,transclude:!0,compile:function(){return function(b,d,e,f){{var g=a(e.bsTabs);g.assign,g(b)}b.panes=[];var h,i,j,k=d.find("ul.nav-tabs"),l=d.find("div.tab-content"),m=0;c(function(){l.find("[data-title], [data-tab]").each(function(a){var c=angular.element(this);h="tab-"+b.$id+"-"+a,i=c.data("title")||c.data("tab"),j=!j&&c.hasClass("active"),c.attr("id",h).addClass("tab-pane"),e.fade&&c.addClass("fade"),b.panes.push({id:h,title:i,content:this.innerHTML,active:j})}),b.panes.length&&!j&&(l.find(".tab-pane:first-child").addClass("active"+(e.fade?" in":"")),b.panes[0].active=!0)}),f&&(d.on("show",function(a){var c=$(a.target);b.$apply(function(){f.$setViewValue(c.data("index"))})}),b.$watch(e.ngModel,function(a){angular.isUndefined(a)||(m=a,setTimeout(function(){if(m===a){var b=$(k[0].querySelectorAll("li")[1*a]);b.hasClass("active")||b.children("a").tab("show")}}))}))}}}}]),angular.module("$strap.directives").directive("bsTimepicker",["$timeout","$strapConfig",function(a,b){var c="((?:(?:[0-1][0-9])|(?:[2][0-3])|(?:[0-9])):(?:[0-5][0-9])(?::[0-5][0-9])?(?:\\s?(?:am|AM|pm|PM))?)";return{restrict:"A",require:"?ngModel",link:function(d,e,f,g){if(g){e.on("changeTime.timepicker",function(){a(function(){g.$setViewValue(e.val())})});var h=new RegExp("^"+c+"$",["i"]);g.$parsers.unshift(function(a){return!a||h.test(a)?(g.$setValidity("time",!0),a):void g.$setValidity("time",!1)})}e.attr("data-toggle","timepicker"),e.parent().addClass("bootstrap-timepicker"),e.timepicker(b.timepicker||{});var i=e.data("timepicker"),j=e.siblings('[data-toggle="timepicker"]');j.length&&j.on("click",$.proxy(i.showWidget,i))}}}]),angular.module("$strap.directives").directive("bsTooltip",["$parse","$compile",function(a){return{restrict:"A",scope:!0,link:function(b,c,d){var e=a(d.bsTooltip),f=(e.assign,e(b));b.$watch(d.bsTooltip,function(a,b){a!==b&&(f=a)}),d.unique&&c.on("show",function(){$(".tooltip.in").each(function(){var a=$(this),b=a.data("tooltip");b&&!b.$element.is(c)&&a.tooltip("hide")})}),c.tooltip({title:function(){return angular.isFunction(f)?f.apply(null,arguments):f},html:!0});var g=c.data("tooltip");g.show=function(){var a=$.fn.tooltip.Constructor.prototype.show.apply(this,arguments);return this.tip().data("tooltip",this),a},b._tooltip=function(a){c.tooltip(a)},b.hide=function(){c.tooltip("hide")},b.show=function(){c.tooltip("show")},b.dismiss=b.hide}}}]),angular.module("$strap.directives").directive("bsTypeahead",["$parse",function(a){return{restrict:"A",require:"?ngModel",link:function(b,c,d,e){var f=a(d.bsTypeahead),g=(f.assign,f(b));b.$watch(d.bsTypeahead,function(a,b){a!==b&&(g=a)}),c.attr("data-provide","typeahead"),c.typeahead({source:function(){return angular.isFunction(g)?g.apply(null,arguments):g},minLength:d.minLength||1,items:d.items,updater:function(a){return e&&b.$apply(function(){e.$setViewValue(a)}),b.$emit("typeahead-updated",a),a}});var h=c.data("typeahead");h.lookup=function(){var a;return this.query=this.$element.val()||"",this.query.length=0)&&c(b,!e)}}),a("").outerWidth(1).jquery||a.each(["Width","Height"],function(c,d){function e(b,c,d,e){return a.each(f,function(){c-=parseFloat(a.css(b,"padding"+this))||0,d&&(c-=parseFloat(a.css(b,"border"+this+"Width"))||0),e&&(c-=parseFloat(a.css(b,"margin"+this))||0)}),c}var f="Width"===d?["Left","Right"]:["Top","Bottom"],g=d.toLowerCase(),h={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};a.fn["inner"+d]=function(c){return c===b?h["inner"+d].call(this):this.each(function(){a(this).css(g,e(this,c)+"px")})},a.fn["outer"+d]=function(b,c){return"number"!=typeof b?h["outer"+d].call(this,b):this.each(function(){a(this).css(g,e(this,b,!0,c)+"px")})}}),a.fn.addBack||(a.fn.addBack=function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}),a("").data("a-b","a").removeData("a-b").data("a-b")&&(a.fn.removeData=function(b){return function(c){return arguments.length?b.call(this,a.camelCase(c)):b.call(this)}}(a.fn.removeData)),a.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),a.support.selectstart="onselectstart"in document.createElement("div"),a.fn.extend({disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),a.extend(a.ui,{plugin:{add:function(b,c,d){var e,f=a.ui[b].prototype;for(e in d)f.plugins[e]=f.plugins[e]||[],f.plugins[e].push([c,d[e]])},call:function(a,b,c){var d,e=a.plugins[b];if(e&&a.element[0].parentNode&&11!==a.element[0].parentNode.nodeType)for(d=0;d0?!0:(b[d]=1,e=b[d]>0,b[d]=0,e)}})}(jQuery),function(a,b){var c=0,d=Array.prototype.slice,e=a.cleanData;a.cleanData=function(b){for(var c,d=0;null!=(c=b[d]);d++)try{a(c).triggerHandler("remove")}catch(f){}e(b)},a.widget=function(b,c,d){var e,f,g,h,i={},j=b.split(".")[0];b=b.split(".")[1],e=j+"-"+b,d||(d=c,c=a.Widget),a.expr[":"][e.toLowerCase()]=function(b){return!!a.data(b,e)},a[j]=a[j]||{},f=a[j][b],g=a[j][b]=function(a,b){return this._createWidget?void(arguments.length&&this._createWidget(a,b)):new g(a,b)},a.extend(g,f,{version:d.version,_proto:a.extend({},d),_childConstructors:[]}),h=new c,h.options=a.widget.extend({},h.options),a.each(d,function(b,d){return a.isFunction(d)?void(i[b]=function(){var a=function(){return c.prototype[b].apply(this,arguments)},e=function(a){return c.prototype[b].apply(this,a)};return function(){var b,c=this._super,f=this._superApply;return this._super=a,this._superApply=e,b=d.apply(this,arguments),this._super=c,this._superApply=f,b}}()):void(i[b]=d)}),g.prototype=a.widget.extend(h,{widgetEventPrefix:f?h.widgetEventPrefix:b},i,{constructor:g,namespace:j,widgetName:b,widgetFullName:e}),f?(a.each(f._childConstructors,function(b,c){var d=c.prototype;a.widget(d.namespace+"."+d.widgetName,g,c._proto)}),delete f._childConstructors):c._childConstructors.push(g),a.widget.bridge(b,g)},a.widget.extend=function(c){for(var e,f,g=d.call(arguments,1),h=0,i=g.length;i>h;h++)for(e in g[h])f=g[h][e],g[h].hasOwnProperty(e)&&f!==b&&(c[e]=a.isPlainObject(f)?a.isPlainObject(c[e])?a.widget.extend({},c[e],f):a.widget.extend({},f):f);return c},a.widget.bridge=function(c,e){var f=e.prototype.widgetFullName||c;a.fn[c]=function(g){var h="string"==typeof g,i=d.call(arguments,1),j=this;return g=!h&&i.length?a.widget.extend.apply(null,[g].concat(i)):g,this.each(h?function(){var d,e=a.data(this,f);return e?a.isFunction(e[g])&&"_"!==g.charAt(0)?(d=e[g].apply(e,i),d!==e&&d!==b?(j=d&&d.jquery?j.pushStack(d.get()):d,!1):void 0):a.error("no such method '"+g+"' for "+c+" widget instance"):a.error("cannot call methods on "+c+" prior to initialization; attempted to call method '"+g+"'")}:function(){var b=a.data(this,f);b?b.option(g||{})._init():a.data(this,f,new e(g,this))}),j}},a.Widget=function(){},a.Widget._childConstructors=[],a.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"
    ",options:{disabled:!1,create:null},_createWidget:function(b,d){d=a(d||this.defaultElement||this)[0],this.element=a(d),this.uuid=c++,this.eventNamespace="."+this.widgetName+this.uuid,this.options=a.widget.extend({},this.options,this._getCreateOptions(),b),this.bindings=a(),this.hoverable=a(),this.focusable=a(),d!==this&&(a.data(d,this.widgetFullName,this),this._on(!0,this.element,{remove:function(a){a.target===d&&this.destroy()}}),this.document=a(d.style?d.ownerDocument:d.document||d),this.window=a(this.document[0].defaultView||this.document[0].parentWindow)),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:a.noop,_getCreateEventData:a.noop,_create:a.noop,_init:a.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetName).removeData(this.widgetFullName).removeData(a.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:a.noop,widget:function(){return this.element},option:function(c,d){var e,f,g,h=c;if(0===arguments.length)return a.widget.extend({},this.options);if("string"==typeof c)if(h={},e=c.split("."),c=e.shift(),e.length){for(f=h[c]=a.widget.extend({},this.options[c]),g=0;g=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}})}(jQuery),function(a,b){function c(a,b,c){return[parseFloat(a[0])*(n.test(a[0])?b/100:1),parseFloat(a[1])*(n.test(a[1])?c/100:1)]}function d(b,c){return parseInt(a.css(b,c),10)||0}function e(b){var c=b[0];return 9===c.nodeType?{width:b.width(),height:b.height(),offset:{top:0,left:0}}:a.isWindow(c)?{width:b.width(),height:b.height(),offset:{top:b.scrollTop(),left:b.scrollLeft()}}:c.preventDefault?{width:0,height:0,offset:{top:c.pageY,left:c.pageX}}:{width:b.outerWidth(),height:b.outerHeight(),offset:b.offset()}}a.ui=a.ui||{};var f,g=Math.max,h=Math.abs,i=Math.round,j=/left|center|right/,k=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,m=/^\w+/,n=/%$/,o=a.fn.position;a.position={scrollbarWidth:function(){if(f!==b)return f;var c,d,e=a("
    "),g=e.children()[0];return a("body").append(e),c=g.offsetWidth,e.css("overflow","scroll"),d=g.offsetWidth,c===d&&(d=e[0].clientWidth),e.remove(),f=c-d},getScrollInfo:function(b){var c=b.isWindow?"":b.element.css("overflow-x"),d=b.isWindow?"":b.element.css("overflow-y"),e="scroll"===c||"auto"===c&&b.widthd?"left":c>0?"right":"center",vertical:0>f?"top":e>0?"bottom":"middle"};l>n&&h(c+d)p&&h(e+f)g(h(e),h(f))?"horizontal":"vertical",b.using.call(this,a,i)}),k.offset(a.extend(A,{using:j}))})},a.ui.position={fit:{left:function(a,b){var c,d=b.within,e=d.isWindow?d.scrollLeft:d.offset.left,f=d.width,h=a.left-b.collisionPosition.marginLeft,i=e-h,j=h+b.collisionWidth-f-e;b.collisionWidth>f?i>0&&0>=j?(c=a.left+i+b.collisionWidth-f-e,a.left+=i-c):a.left=j>0&&0>=i?e:i>j?e+f-b.collisionWidth:e:i>0?a.left+=i:j>0?a.left-=j:a.left=g(a.left-h,a.left)},top:function(a,b){var c,d=b.within,e=d.isWindow?d.scrollTop:d.offset.top,f=b.within.height,h=a.top-b.collisionPosition.marginTop,i=e-h,j=h+b.collisionHeight-f-e;b.collisionHeight>f?i>0&&0>=j?(c=a.top+i+b.collisionHeight-f-e,a.top+=i-c):a.top=j>0&&0>=i?e:i>j?e+f-b.collisionHeight:e:i>0?a.top+=i:j>0?a.top-=j:a.top=g(a.top-h,a.top)}},flip:{left:function(a,b){var c,d,e=b.within,f=e.offset.left+e.scrollLeft,g=e.width,i=e.isWindow?e.scrollLeft:e.offset.left,j=a.left-b.collisionPosition.marginLeft,k=j-i,l=j+b.collisionWidth-g-i,m="left"===b.my[0]?-b.elemWidth:"right"===b.my[0]?b.elemWidth:0,n="left"===b.at[0]?b.targetWidth:"right"===b.at[0]?-b.targetWidth:0,o=-2*b.offset[0];0>k?(c=a.left+m+n+o+b.collisionWidth-g-f,(0>c||c0&&(d=a.left-b.collisionPosition.marginLeft+m+n+o-i,(d>0||h(d)k?(d=a.top+n+o+p+b.collisionHeight-g-f,a.top+n+o+p>k&&(0>d||d0&&(c=a.top-b.collisionPosition.marginTop+n+o+p-i,a.top+n+o+p>l&&(c>0||h(c)10&&11>e,b.innerHTML="",c.removeChild(b)}()}(jQuery),function(a){a.widget("ui.draggable",a.ui.mouse,{version:"1.10.3",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"!==this.options.helper||/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative"),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._mouseInit()},_destroy:function(){this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._mouseDestroy()},_mouseCapture:function(b){var c=this.options;return this.helper||c.disabled||a(b.target).closest(".ui-resizable-handle").length>0?!1:(this.handle=this._getHandle(b),this.handle?(a(c.iframeFix===!0?"iframe":c.iframeFix).each(function(){a("
    ").css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1e3}).css(a(this).offset()).appendTo("body")}),!0):!1)},_mouseStart:function(b){var c=this.options;return this.helper=this._createHelper(b),this.helper.addClass("ui-draggable-dragging"),this._cacheHelperProportions(),a.ui.ddmanager&&(a.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(),this.offsetParent=this.helper.offsetParent(),this.offsetParentCssPosition=this.offsetParent.css("position"),this.offset=this.positionAbs=this.element.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},this.offset.scroll=!1,a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.originalPosition=this.position=this._generatePosition(b),this.originalPageX=b.pageX,this.originalPageY=b.pageY,c.cursorAt&&this._adjustOffsetFromHelper(c.cursorAt),this._setContainment(),this._trigger("start",b)===!1?(this._clear(),!1):(this._cacheHelperProportions(),a.ui.ddmanager&&!c.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b),this._mouseDrag(b,!0),a.ui.ddmanager&&a.ui.ddmanager.dragStart(this,b),!0)},_mouseDrag:function(b,c){if("fixed"===this.offsetParentCssPosition&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(b),this.positionAbs=this._convertPositionTo("absolute"),!c){var d=this._uiHash();if(this._trigger("drag",b,d)===!1)return this._mouseUp({}),!1;this.position=d.position}return this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),a.ui.ddmanager&&a.ui.ddmanager.drag(this,b),!1},_mouseStop:function(b){var c=this,d=!1;return a.ui.ddmanager&&!this.options.dropBehaviour&&(d=a.ui.ddmanager.drop(this,b)),this.dropped&&(d=this.dropped,this.dropped=!1),"original"!==this.options.helper||a.contains(this.element[0].ownerDocument,this.element[0])?("invalid"===this.options.revert&&!d||"valid"===this.options.revert&&d||this.options.revert===!0||a.isFunction(this.options.revert)&&this.options.revert.call(this.element,d)?a(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){c._trigger("stop",b)!==!1&&c._clear()}):this._trigger("stop",b)!==!1&&this._clear(),!1):!1},_mouseUp:function(b){return a("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)}),a.ui.ddmanager&&a.ui.ddmanager.dragStop(this,b),a.ui.mouse.prototype._mouseUp.call(this,b)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear(),this},_getHandle:function(b){return this.options.handle?!!a(b.target).closest(this.element.find(this.options.handle)).length:!0},_createHelper:function(b){var c=this.options,d=a.isFunction(c.helper)?a(c.helper.apply(this.element[0],[b])):"clone"===c.helper?this.element.clone().removeAttr("id"):this.element;return d.parents("body").length||d.appendTo("parent"===c.appendTo?this.element[0].parentNode:c.appendTo),d[0]===this.element[0]||/(fixed|absolute)/.test(d.css("position"))||d.css("position","absolute"),d},_adjustOffsetFromHelper:function(b){"string"==typeof b&&(b=b.split(" ")),a.isArray(b)&&(b={left:+b[0],top:+b[1]||0}),"left"in b&&(this.offset.click.left=b.left+this.margins.left),"right"in b&&(this.offset.click.left=this.helperProportions.width-b.right+this.margins.left),"top"in b&&(this.offset.click.top=b.top+this.margins.top),"bottom"in b&&(this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top)},_getParentOffset:function(){var b=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==document&&a.contains(this.scrollParent[0],this.offsetParent[0])&&(b.left+=this.scrollParent.scrollLeft(),b.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===document.body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&a.ui.ie)&&(b={top:0,left:0}),{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var a=this.element.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var b,c,d,e=this.options;return e.containment?"window"===e.containment?void(this.containment=[a(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,a(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,a(window).scrollLeft()+a(window).width()-this.helperProportions.width-this.margins.left,a(window).scrollTop()+(a(window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]):"document"===e.containment?void(this.containment=[0,0,a(document).width()-this.helperProportions.width-this.margins.left,(a(document).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]):e.containment.constructor===Array?void(this.containment=e.containment):("parent"===e.containment&&(e.containment=this.helper[0].parentNode),c=a(e.containment),d=c[0],void(d&&(b="hidden"!==c.css("overflow"),this.containment=[(parseInt(c.css("borderLeftWidth"),10)||0)+(parseInt(c.css("paddingLeft"),10)||0),(parseInt(c.css("borderTopWidth"),10)||0)+(parseInt(c.css("paddingTop"),10)||0),(b?Math.max(d.scrollWidth,d.offsetWidth):d.offsetWidth)-(parseInt(c.css("borderRightWidth"),10)||0)-(parseInt(c.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(b?Math.max(d.scrollHeight,d.offsetHeight):d.offsetHeight)-(parseInt(c.css("borderBottomWidth"),10)||0)-(parseInt(c.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relative_container=c))):void(this.containment=null)},_convertPositionTo:function(b,c){c||(c=this.position);var d="absolute"===b?1:-1,e="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&a.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent;return this.offset.scroll||(this.offset.scroll={top:e.scrollTop(),left:e.scrollLeft()}),{top:c.top+this.offset.relative.top*d+this.offset.parent.top*d-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():this.offset.scroll.top)*d,left:c.left+this.offset.relative.left*d+this.offset.parent.left*d-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():this.offset.scroll.left)*d}},_generatePosition:function(b){var c,d,e,f,g=this.options,h="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&a.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,i=b.pageX,j=b.pageY;return this.offset.scroll||(this.offset.scroll={top:h.scrollTop(),left:h.scrollLeft()}),this.originalPosition&&(this.containment&&(this.relative_container?(d=this.relative_container.offset(),c=[this.containment[0]+d.left,this.containment[1]+d.top,this.containment[2]+d.left,this.containment[3]+d.top]):c=this.containment,b.pageX-this.offset.click.leftc[2]&&(i=c[2]+this.offset.click.left),b.pageY-this.offset.click.top>c[3]&&(j=c[3]+this.offset.click.top)),g.grid&&(e=g.grid[1]?this.originalPageY+Math.round((j-this.originalPageY)/g.grid[1])*g.grid[1]:this.originalPageY,j=c?e-this.offset.click.top>=c[1]||e-this.offset.click.top>c[3]?e:e-this.offset.click.top>=c[1]?e-g.grid[1]:e+g.grid[1]:e,f=g.grid[0]?this.originalPageX+Math.round((i-this.originalPageX)/g.grid[0])*g.grid[0]:this.originalPageX,i=c?f-this.offset.click.left>=c[0]||f-this.offset.click.left>c[2]?f:f-this.offset.click.left>=c[0]?f-g.grid[0]:f+g.grid[0]:f)),{top:j-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():this.offset.scroll.top),left:i-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():this.offset.scroll.left)}},_clear:function(){this.helper.removeClass("ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1},_trigger:function(b,c,d){return d=d||this._uiHash(),a.ui.plugin.call(this,b,[c,d]),"drag"===b&&(this.positionAbs=this._convertPositionTo("absolute")),a.Widget.prototype._trigger.call(this,b,c,d)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),a.ui.plugin.add("draggable","connectToSortable",{start:function(b,c){var d=a(this).data("ui-draggable"),e=d.options,f=a.extend({},c,{item:d.element});d.sortables=[],a(e.connectToSortable).each(function(){var c=a.data(this,"ui-sortable");c&&!c.options.disabled&&(d.sortables.push({instance:c,shouldRevert:c.options.revert}),c.refreshPositions(),c._trigger("activate",b,f))})},stop:function(b,c){var d=a(this).data("ui-draggable"),e=a.extend({},c,{item:d.element});a.each(d.sortables,function(){this.instance.isOver?(this.instance.isOver=0,d.cancelHelperRemoval=!0,this.instance.cancelHelperRemoval=!1,this.shouldRevert&&(this.instance.options.revert=this.shouldRevert),this.instance._mouseStop(b),this.instance.options.helper=this.instance.options._helper,"original"===d.options.helper&&this.instance.currentItem.css({top:"auto",left:"auto"})):(this.instance.cancelHelperRemoval=!1,this.instance._trigger("deactivate",b,e))})},drag:function(b,c){var d=a(this).data("ui-draggable"),e=this;a.each(d.sortables,function(){var f=!1,g=this;this.instance.positionAbs=d.positionAbs,this.instance.helperProportions=d.helperProportions,this.instance.offset.click=d.offset.click,this.instance._intersectsWith(this.instance.containerCache)&&(f=!0,a.each(d.sortables,function(){return this.instance.positionAbs=d.positionAbs,this.instance.helperProportions=d.helperProportions,this.instance.offset.click=d.offset.click,this!==g&&this.instance._intersectsWith(this.instance.containerCache)&&a.contains(g.instance.element[0],this.instance.element[0])&&(f=!1),f})),f?(this.instance.isOver||(this.instance.isOver=1,this.instance.currentItem=a(e).clone().removeAttr("id").appendTo(this.instance.element).data("ui-sortable-item",!0),this.instance.options._helper=this.instance.options.helper,this.instance.options.helper=function(){return c.helper[0]},b.target=this.instance.currentItem[0],this.instance._mouseCapture(b,!0),this.instance._mouseStart(b,!0,!0),this.instance.offset.click.top=d.offset.click.top,this.instance.offset.click.left=d.offset.click.left,this.instance.offset.parent.left-=d.offset.parent.left-this.instance.offset.parent.left,this.instance.offset.parent.top-=d.offset.parent.top-this.instance.offset.parent.top,d._trigger("toSortable",b),d.dropped=this.instance.element,d.currentItem=d.element,this.instance.fromOutside=d),this.instance.currentItem&&this.instance._mouseDrag(b)):this.instance.isOver&&(this.instance.isOver=0,this.instance.cancelHelperRemoval=!0,this.instance.options.revert=!1,this.instance._trigger("out",b,this.instance._uiHash(this.instance)),this.instance._mouseStop(b,!0),this.instance.options.helper=this.instance.options._helper,this.instance.currentItem.remove(),this.instance.placeholder&&this.instance.placeholder.remove(),d._trigger("fromSortable",b),d.dropped=!1)})}}),a.ui.plugin.add("draggable","cursor",{start:function(){var b=a("body"),c=a(this).data("ui-draggable").options;b.css("cursor")&&(c._cursor=b.css("cursor")),b.css("cursor",c.cursor)},stop:function(){var b=a(this).data("ui-draggable").options;b._cursor&&a("body").css("cursor",b._cursor)}}),a.ui.plugin.add("draggable","opacity",{start:function(b,c){var d=a(c.helper),e=a(this).data("ui-draggable").options;d.css("opacity")&&(e._opacity=d.css("opacity")),d.css("opacity",e.opacity)},stop:function(b,c){var d=a(this).data("ui-draggable").options;d._opacity&&a(c.helper).css("opacity",d._opacity)}}),a.ui.plugin.add("draggable","scroll",{start:function(){var b=a(this).data("ui-draggable");b.scrollParent[0]!==document&&"HTML"!==b.scrollParent[0].tagName&&(b.overflowOffset=b.scrollParent.offset())},drag:function(b){var c=a(this).data("ui-draggable"),d=c.options,e=!1;c.scrollParent[0]!==document&&"HTML"!==c.scrollParent[0].tagName?(d.axis&&"x"===d.axis||(c.overflowOffset.top+c.scrollParent[0].offsetHeight-b.pageY=0;l--)h=n.snapElements[l].left,i=h+n.snapElements[l].width,j=n.snapElements[l].top,k=j+n.snapElements[l].height,h-p>r||q>i+p||j-p>t||s>k+p||!a.contains(n.snapElements[l].item.ownerDocument,n.snapElements[l].item)?(n.snapElements[l].snapping&&n.options.snap.release&&n.options.snap.release.call(n.element,b,a.extend(n._uiHash(),{snapItem:n.snapElements[l].item})),n.snapElements[l].snapping=!1):("inner"!==o.snapMode&&(d=Math.abs(j-t)<=p,e=Math.abs(k-s)<=p,f=Math.abs(h-r)<=p,g=Math.abs(i-q)<=p,d&&(c.position.top=n._convertPositionTo("relative",{top:j-n.helperProportions.height,left:0}).top-n.margins.top),e&&(c.position.top=n._convertPositionTo("relative",{top:k,left:0}).top-n.margins.top),f&&(c.position.left=n._convertPositionTo("relative",{top:0,left:h-n.helperProportions.width}).left-n.margins.left),g&&(c.position.left=n._convertPositionTo("relative",{top:0,left:i}).left-n.margins.left)),m=d||e||f||g,"outer"!==o.snapMode&&(d=Math.abs(j-s)<=p,e=Math.abs(k-t)<=p,f=Math.abs(h-q)<=p,g=Math.abs(i-r)<=p,d&&(c.position.top=n._convertPositionTo("relative",{top:j,left:0}).top-n.margins.top),e&&(c.position.top=n._convertPositionTo("relative",{top:k-n.helperProportions.height,left:0}).top-n.margins.top),f&&(c.position.left=n._convertPositionTo("relative",{top:0,left:h}).left-n.margins.left),g&&(c.position.left=n._convertPositionTo("relative",{top:0,left:i-n.helperProportions.width}).left-n.margins.left)),!n.snapElements[l].snapping&&(d||e||f||g||m)&&n.options.snap.snap&&n.options.snap.snap.call(n.element,b,a.extend(n._uiHash(),{snapItem:n.snapElements[l].item})),n.snapElements[l].snapping=d||e||f||g||m)}}),a.ui.plugin.add("draggable","stack",{start:function(){var b,c=this.data("ui-draggable").options,d=a.makeArray(a(c.stack)).sort(function(b,c){return(parseInt(a(b).css("zIndex"),10)||0)-(parseInt(a(c).css("zIndex"),10)||0)});d.length&&(b=parseInt(a(d[0]).css("zIndex"),10)||0,a(d).each(function(c){a(this).css("zIndex",b+c)}),this.css("zIndex",b+d.length))}}),a.ui.plugin.add("draggable","zIndex",{start:function(b,c){var d=a(c.helper),e=a(this).data("ui-draggable").options;d.css("zIndex")&&(e._zIndex=d.css("zIndex")),d.css("zIndex",e.zIndex)},stop:function(b,c){var d=a(this).data("ui-draggable").options;d._zIndex&&a(c.helper).css("zIndex",d._zIndex)}})}(jQuery),function(a){function b(a,b,c){return a>b&&b+c>a}a.widget("ui.droppable",{version:"1.10.3",widgetEventPrefix:"drop",options:{accept:"*",activeClass:!1,addClasses:!0,greedy:!1,hoverClass:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var b=this.options,c=b.accept;this.isover=!1,this.isout=!0,this.accept=a.isFunction(c)?c:function(a){return a.is(c)},this.proportions={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight},a.ui.ddmanager.droppables[b.scope]=a.ui.ddmanager.droppables[b.scope]||[],a.ui.ddmanager.droppables[b.scope].push(this),b.addClasses&&this.element.addClass("ui-droppable")},_destroy:function(){for(var b=0,c=a.ui.ddmanager.droppables[this.options.scope];b=k&&l>=h&&i>=m&&n>=j;case"intersect":return k=m&&n>=i||j>=m&&n>=j||m>i&&j>n)&&(g>=k&&l>=g||h>=k&&l>=h||k>g&&h>l);default:return!1}},a.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(b,c){var d,e,f=a.ui.ddmanager.droppables[b.options.scope]||[],g=c?c.type:null,h=(b.currentItem||b.element).find(":data(ui-droppable)").addBack();a:for(d=0;d
    ").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.data("ui-resizable")),this.elementIsWrapper=!0,this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")}),this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0}),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css({margin:this.originalElement.css("margin")}),this._proportionallyResize()),this.handles=h.handles||(a(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),b=this.handles.split(","),this.handles={},c=0;c
    "),e.css({zIndex:h.zIndex}),"se"===d&&e.addClass("ui-icon ui-icon-gripsmall-diagonal-se"),this.handles[d]=".ui-resizable-"+d,this.element.append(e);this._renderAxis=function(b){var c,d,e,f;b=b||this.element;for(c in this.handles)this.handles[c].constructor===String&&(this.handles[c]=a(this.handles[c],this.element).show()),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)&&(d=a(this.handles[c],this.element),f=/sw|ne|nw|se|n|s/.test(c)?d.outerHeight():d.outerWidth(),e=["padding",/ne|nw|n/.test(c)?"Top":/se|sw|s/.test(c)?"Bottom":/^e$/.test(c)?"Right":"Left"].join(""),b.css(e,f),this._proportionallyResize()),a(this.handles[c]).length},this._renderAxis(this.element),this._handles=a(".ui-resizable-handle",this.element).disableSelection(),this._handles.mouseover(function(){g.resizing||(this.className&&(e=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),g.axis=e&&e[1]?e[1]:"se")}),h.autoHide&&(this._handles.hide(),a(this.element).addClass("ui-resizable-autohide").mouseenter(function(){h.disabled||(a(this).removeClass("ui-resizable-autohide"),g._handles.show())}).mouseleave(function(){h.disabled||g.resizing||(a(this).addClass("ui-resizable-autohide"),g._handles.hide())})),this._mouseInit()},_destroy:function(){this._mouseDestroy();var b,c=function(b){a(b).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(c(this.element),b=this.element,this.originalElement.css({position:b.css("position"),width:b.outerWidth(),height:b.outerHeight(),top:b.css("top"),left:b.css("left")}).insertAfter(b),b.remove()),this.originalElement.css("resize",this.originalResizeStyle),c(this.originalElement),this},_mouseCapture:function(b){var c,d,e=!1;for(c in this.handles)d=a(this.handles[c])[0],(d===b.target||a.contains(d,b.target))&&(e=!0);return!this.options.disabled&&e},_mouseStart:function(c){var d,e,f,g=this.options,h=this.element.position(),i=this.element;return this.resizing=!0,/absolute/.test(i.css("position"))?i.css({position:"absolute",top:i.css("top"),left:i.css("left")}):i.is(".ui-draggable")&&i.css({position:"absolute",top:h.top,left:h.left}),this._renderProxy(),d=b(this.helper.css("left")),e=b(this.helper.css("top")),g.containment&&(d+=a(g.containment).scrollLeft()||0,e+=a(g.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:d,top:e},this.size=this._helper?{width:i.outerWidth(),height:i.outerHeight()}:{width:i.width(),height:i.height()},this.originalSize=this._helper?{width:i.outerWidth(),height:i.outerHeight()}:{width:i.width(),height:i.height()},this.originalPosition={left:d,top:e},this.sizeDiff={width:i.outerWidth()-i.width(),height:i.outerHeight()-i.height()},this.originalMousePosition={left:c.pageX,top:c.pageY},this.aspectRatio="number"==typeof g.aspectRatio?g.aspectRatio:this.originalSize.width/this.originalSize.height||1,f=a(".ui-resizable-"+this.axis).css("cursor"),a("body").css("cursor","auto"===f?this.axis+"-resize":f),i.addClass("ui-resizable-resizing"),this._propagate("start",c),!0},_mouseDrag:function(b){var c,d=this.helper,e={},f=this.originalMousePosition,g=this.axis,h=this.position.top,i=this.position.left,j=this.size.width,k=this.size.height,l=b.pageX-f.left||0,m=b.pageY-f.top||0,n=this._change[g];return n?(c=n.apply(this,[b,l,m]),this._updateVirtualBoundaries(b.shiftKey),(this._aspectRatio||b.shiftKey)&&(c=this._updateRatio(c,b)),c=this._respectSize(c,b),this._updateCache(c),this._propagate("resize",b),this.position.top!==h&&(e.top=this.position.top+"px"),this.position.left!==i&&(e.left=this.position.left+"px"),this.size.width!==j&&(e.width=this.size.width+"px"),this.size.height!==k&&(e.height=this.size.height+"px"),d.css(e),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),a.isEmptyObject(e)||this._trigger("resize",b,this.ui()),!1):!1},_mouseStop:function(b){this.resizing=!1;var c,d,e,f,g,h,i,j=this.options,k=this;return this._helper&&(c=this._proportionallyResizeElements,d=c.length&&/textarea/i.test(c[0].nodeName),e=d&&a.ui.hasScroll(c[0],"left")?0:k.sizeDiff.height,f=d?0:k.sizeDiff.width,g={width:k.helper.width()-f,height:k.helper.height()-e},h=parseInt(k.element.css("left"),10)+(k.position.left-k.originalPosition.left)||null,i=parseInt(k.element.css("top"),10)+(k.position.top-k.originalPosition.top)||null,j.animate||this.element.css(a.extend(g,{top:i,left:h})),k.helper.height(k.size.height),k.helper.width(k.size.width),this._helper&&!j.animate&&this._proportionallyResize()),a("body").css("cursor","auto"),this.element.removeClass("ui-resizable-resizing"),this._propagate("stop",b),this._helper&&this.helper.remove(),!1},_updateVirtualBoundaries:function(a){var b,d,e,f,g,h=this.options;g={minWidth:c(h.minWidth)?h.minWidth:0,maxWidth:c(h.maxWidth)?h.maxWidth:1/0,minHeight:c(h.minHeight)?h.minHeight:0,maxHeight:c(h.maxHeight)?h.maxHeight:1/0},(this._aspectRatio||a)&&(b=g.minHeight*this.aspectRatio,e=g.minWidth/this.aspectRatio,d=g.maxHeight*this.aspectRatio,f=g.maxWidth/this.aspectRatio,b>g.minWidth&&(g.minWidth=b),e>g.minHeight&&(g.minHeight=e),da.width,h=c(a.height)&&b.minHeight&&b.minHeight>a.height,i=this.originalPosition.left+this.originalSize.width,j=this.position.top+this.size.height,k=/sw|nw|w/.test(d),l=/nw|ne|n/.test(d);return g&&(a.width=b.minWidth),h&&(a.height=b.minHeight),e&&(a.width=b.maxWidth),f&&(a.height=b.maxHeight),g&&k&&(a.left=i-b.minWidth),e&&k&&(a.left=i-b.maxWidth),h&&l&&(a.top=j-b.minHeight),f&&l&&(a.top=j-b.maxHeight),a.width||a.height||a.left||!a.top?a.width||a.height||a.top||!a.left||(a.left=null):a.top=null,a},_proportionallyResize:function(){if(this._proportionallyResizeElements.length){var a,b,c,d,e,f=this.helper||this.element;for(a=0;a"),this.helper.addClass(this._helper).css({width:this.element.outerWidth()-1,height:this.element.outerHeight()-1,position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++c.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(a,b){return{width:this.originalSize.width+b}},w:function(a,b){var c=this.originalSize,d=this.originalPosition;return{left:d.left+b,width:c.width-b}},n:function(a,b,c){var d=this.originalSize,e=this.originalPosition;return{top:e.top+c,height:d.height-c}},s:function(a,b,c){return{height:this.originalSize.height+c}},se:function(b,c,d){return a.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,c,d]))},sw:function(b,c,d){return a.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,c,d]))},ne:function(b,c,d){return a.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[b,c,d]))},nw:function(b,c,d){return a.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,c,d]))}},_propagate:function(b,c){a.ui.plugin.call(this,b,[c,this.ui()]),"resize"!==b&&this._trigger(b,c,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),a.ui.plugin.add("resizable","animate",{stop:function(b){var c=a(this).data("ui-resizable"),d=c.options,e=c._proportionallyResizeElements,f=e.length&&/textarea/i.test(e[0].nodeName),g=f&&a.ui.hasScroll(e[0],"left")?0:c.sizeDiff.height,h=f?0:c.sizeDiff.width,i={width:c.size.width-h,height:c.size.height-g},j=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null,k=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null;c.element.animate(a.extend(i,k&&j?{top:k,left:j}:{}),{duration:d.animateDuration,easing:d.animateEasing,step:function(){var d={width:parseInt(c.element.css("width"),10),height:parseInt(c.element.css("height"),10),top:parseInt(c.element.css("top"),10),left:parseInt(c.element.css("left"),10)};e&&e.length&&a(e[0]).css({width:d.width,height:d.height}),c._updateCache(d),c._propagate("resize",b)}})}}),a.ui.plugin.add("resizable","containment",{start:function(){var c,d,e,f,g,h,i,j=a(this).data("ui-resizable"),k=j.options,l=j.element,m=k.containment,n=m instanceof a?m.get(0):/parent/.test(m)?l.parent().get(0):m;n&&(j.containerElement=a(n),/document/.test(m)||m===document?(j.containerOffset={left:0,top:0},j.containerPosition={left:0,top:0},j.parentData={element:a(document),left:0,top:0,width:a(document).width(),height:a(document).height()||document.body.parentNode.scrollHeight}):(c=a(n),d=[],a(["Top","Right","Left","Bottom"]).each(function(a,e){d[a]=b(c.css("padding"+e))}),j.containerOffset=c.offset(),j.containerPosition=c.position(),j.containerSize={height:c.innerHeight()-d[3],width:c.innerWidth()-d[1]},e=j.containerOffset,f=j.containerSize.height,g=j.containerSize.width,h=a.ui.hasScroll(n,"left")?n.scrollWidth:g,i=a.ui.hasScroll(n)?n.scrollHeight:f,j.parentData={element:n,left:e.left,top:e.top,width:h,height:i}))},resize:function(b){var c,d,e,f,g=a(this).data("ui-resizable"),h=g.options,i=g.containerOffset,j=g.position,k=g._aspectRatio||b.shiftKey,l={top:0,left:0},m=g.containerElement;m[0]!==document&&/static/.test(m.css("position"))&&(l=i),j.left<(g._helper?i.left:0)&&(g.size.width=g.size.width+(g._helper?g.position.left-i.left:g.position.left-l.left),k&&(g.size.height=g.size.width/g.aspectRatio),g.position.left=h.helper?i.left:0),j.top<(g._helper?i.top:0)&&(g.size.height=g.size.height+(g._helper?g.position.top-i.top:g.position.top),k&&(g.size.width=g.size.height*g.aspectRatio),g.position.top=g._helper?i.top:0),g.offset.left=g.parentData.left+g.position.left,g.offset.top=g.parentData.top+g.position.top,c=Math.abs((g._helper?g.offset.left-l.left:g.offset.left-l.left)+g.sizeDiff.width),d=Math.abs((g._helper?g.offset.top-l.top:g.offset.top-i.top)+g.sizeDiff.height),e=g.containerElement.get(0)===g.element.parent().get(0),f=/relative|absolute/.test(g.containerElement.css("position")),e&&f&&(c-=g.parentData.left),c+g.size.width>=g.parentData.width&&(g.size.width=g.parentData.width-c,k&&(g.size.height=g.size.width/g.aspectRatio)),d+g.size.height>=g.parentData.height&&(g.size.height=g.parentData.height-d,k&&(g.size.width=g.size.height*g.aspectRatio))},stop:function(){var b=a(this).data("ui-resizable"),c=b.options,d=b.containerOffset,e=b.containerPosition,f=b.containerElement,g=a(b.helper),h=g.offset(),i=g.outerWidth()-b.sizeDiff.width,j=g.outerHeight()-b.sizeDiff.height;b._helper&&!c.animate&&/relative/.test(f.css("position"))&&a(this).css({left:h.left-e.left-d.left,width:i,height:j}),b._helper&&!c.animate&&/static/.test(f.css("position"))&&a(this).css({left:h.left-e.left-d.left,width:i,height:j})}}),a.ui.plugin.add("resizable","alsoResize",{start:function(){var b=a(this).data("ui-resizable"),c=b.options,d=function(b){a(b).each(function(){var b=a(this);b.data("ui-resizable-alsoresize",{width:parseInt(b.width(),10),height:parseInt(b.height(),10),left:parseInt(b.css("left"),10),top:parseInt(b.css("top"),10)})})};"object"!=typeof c.alsoResize||c.alsoResize.parentNode?d(c.alsoResize):c.alsoResize.length?(c.alsoResize=c.alsoResize[0],d(c.alsoResize)):a.each(c.alsoResize,function(a){d(a)})},resize:function(b,c){var d=a(this).data("ui-resizable"),e=d.options,f=d.originalSize,g=d.originalPosition,h={height:d.size.height-f.height||0,width:d.size.width-f.width||0,top:d.position.top-g.top||0,left:d.position.left-g.left||0},i=function(b,d){a(b).each(function(){var b=a(this),e=a(this).data("ui-resizable-alsoresize"),f={},g=d&&d.length?d:b.parents(c.originalElement[0]).length?["width","height"]:["width","height","top","left"];a.each(g,function(a,b){var c=(e[b]||0)+(h[b]||0);c&&c>=0&&(f[b]=c||null)}),b.css(f)})};"object"!=typeof e.alsoResize||e.alsoResize.nodeType?i(e.alsoResize):a.each(e.alsoResize,function(a,b){i(a,b)})},stop:function(){a(this).removeData("resizable-alsoresize")}}),a.ui.plugin.add("resizable","ghost",{start:function(){var b=a(this).data("ui-resizable"),c=b.options,d=b.size;b.ghost=b.originalElement.clone(),b.ghost.css({opacity:.25,display:"block",position:"relative",height:d.height,width:d.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass("string"==typeof c.ghost?c.ghost:""),b.ghost.appendTo(b.helper)},resize:function(){var b=a(this).data("ui-resizable");b.ghost&&b.ghost.css({position:"relative",height:b.size.height,width:b.size.width})},stop:function(){var b=a(this).data("ui-resizable");b.ghost&&b.helper&&b.helper.get(0).removeChild(b.ghost.get(0))}}),a.ui.plugin.add("resizable","grid",{resize:function(){var b=a(this).data("ui-resizable"),c=b.options,d=b.size,e=b.originalSize,f=b.originalPosition,g=b.axis,h="number"==typeof c.grid?[c.grid,c.grid]:c.grid,i=h[0]||1,j=h[1]||1,k=Math.round((d.width-e.width)/i)*i,l=Math.round((d.height-e.height)/j)*j,m=e.width+k,n=e.height+l,o=c.maxWidth&&c.maxWidthm,r=c.minHeight&&c.minHeight>n;c.grid=h,q&&(m+=i),r&&(n+=j),o&&(m-=i),p&&(n-=j),/^(se|s|e)$/.test(g)?(b.size.width=m,b.size.height=n):/^(ne)$/.test(g)?(b.size.width=m,b.size.height=n,b.position.top=f.top-l):/^(sw)$/.test(g)?(b.size.width=m,b.size.height=n,b.position.left=f.left-k):(b.size.width=m,b.size.height=n,b.position.top=f.top-l,b.position.left=f.left-k)}})}(jQuery),function(a){a.widget("ui.selectable",a.ui.mouse,{version:"1.10.3",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var b,c=this;this.element.addClass("ui-selectable"),this.dragged=!1,this.refresh=function(){b=a(c.options.filter,c.element[0]),b.addClass("ui-selectee"),b.each(function(){var b=a(this),c=b.offset();a.data(this,"selectable-item",{element:this,$element:b,left:c.left,top:c.top,right:c.left+b.outerWidth(),bottom:c.top+b.outerHeight(),startselected:!1,selected:b.hasClass("ui-selected"),selecting:b.hasClass("ui-selecting"),unselecting:b.hasClass("ui-unselecting")})})},this.refresh(),this.selectees=b.addClass("ui-selectee"),this._mouseInit(),this.helper=a("
    ")},_destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item"),this.element.removeClass("ui-selectable ui-selectable-disabled"),this._mouseDestroy()},_mouseStart:function(b){var c=this,d=this.options;this.opos=[b.pageX,b.pageY],this.options.disabled||(this.selectees=a(d.filter,this.element[0]),this._trigger("start",b),a(d.appendTo).append(this.helper),this.helper.css({left:b.pageX,top:b.pageY,width:0,height:0}),d.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var d=a.data(this,"selectable-item");d.startselected=!0,b.metaKey||b.ctrlKey||(d.$element.removeClass("ui-selected"),d.selected=!1,d.$element.addClass("ui-unselecting"),d.unselecting=!0,c._trigger("unselecting",b,{unselecting:d.element}))}),a(b.target).parents().addBack().each(function(){var d,e=a.data(this,"selectable-item");return e?(d=!b.metaKey&&!b.ctrlKey||!e.$element.hasClass("ui-selected"),e.$element.removeClass(d?"ui-unselecting":"ui-selected").addClass(d?"ui-selecting":"ui-unselecting"),e.unselecting=!d,e.selecting=d,e.selected=d,d?c._trigger("selecting",b,{selecting:e.element}):c._trigger("unselecting",b,{unselecting:e.element}),!1):void 0}))},_mouseDrag:function(b){if(this.dragged=!0,!this.options.disabled){var c,d=this,e=this.options,f=this.opos[0],g=this.opos[1],h=b.pageX,i=b.pageY;return f>h&&(c=h,h=f,f=c),g>i&&(c=i,i=g,g=c),this.helper.css({left:f,top:g,width:h-f,height:i-g}),this.selectees.each(function(){var c=a.data(this,"selectable-item"),j=!1;c&&c.element!==d.element[0]&&("touch"===e.tolerance?j=!(c.left>h||c.righti||c.bottomf&&c.rightg&&c.bottomb&&b+c>a}function c(a){return/left|right/.test(a.css("float"))||/inline|table-cell/.test(a.css("display"))}a.widget("ui.sortable",a.ui.mouse,{version:"1.10.3",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_create:function(){var a=this.options;this.containerCache={},this.element.addClass("ui-sortable"),this.refresh(),this.floating=this.items.length?"x"===a.axis||c(this.items[0].item):!1,this.offset=this.element.offset(),this._mouseInit(),this.ready=!0},_destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled"),this._mouseDestroy();for(var a=this.items.length-1;a>=0;a--)this.items[a].item.removeData(this.widgetName+"-item");return this},_setOption:function(b,c){"disabled"===b?(this.options[b]=c,this.widget().toggleClass("ui-sortable-disabled",!!c)):a.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(b,c){var d=null,e=!1,f=this;return this.reverting?!1:this.options.disabled||"static"===this.options.type?!1:(this._refreshItems(b),a(b.target).parents().each(function(){return a.data(this,f.widgetName+"-item")===f?(d=a(this),!1):void 0}),a.data(b.target,f.widgetName+"-item")===f&&(d=a(b.target)),d&&(!this.options.handle||c||(a(this.options.handle,d).find("*").addBack().each(function(){this===b.target&&(e=!0)}),e))?(this.currentItem=d,this._removeCurrentsFromItems(),!0):!1)},_mouseStart:function(b,c,d){var e,f,g=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(b),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(b),this.originalPageX=b.pageX,this.originalPageY=b.pageY,g.cursorAt&&this._adjustOffsetFromHelper(g.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),g.containment&&this._setContainment(),g.cursor&&"auto"!==g.cursor&&(f=this.document.find("body"),this.storedCursor=f.css("cursor"),f.css("cursor",g.cursor),this.storedStylesheet=a("").appendTo(f)),g.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",g.opacity)),g.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",g.zIndex)),this.scrollParent[0]!==document&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",b,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!d)for(e=this.containers.length-1;e>=0;e--)this.containers[e]._trigger("activate",b,this._uiHash(this)); -return a.ui.ddmanager&&(a.ui.ddmanager.current=this),a.ui.ddmanager&&!g.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(b),!0},_mouseDrag:function(b){var c,d,e,f,g=this.options,h=!1;for(this.position=this._generatePosition(b),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==document&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-b.pageY=0;c--)if(d=this.items[c],e=d.item[0],f=this._intersectsWithPointer(d),f&&d.instance===this.currentContainer&&e!==this.currentItem[0]&&this.placeholder[1===f?"next":"prev"]()[0]!==e&&!a.contains(this.placeholder[0],e)&&("semi-dynamic"===this.options.type?!a.contains(this.element[0],e):!0)){if(this.direction=1===f?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(d))break;this._rearrange(b,d),this._trigger("change",b,this._uiHash());break}return this._contactContainers(b),a.ui.ddmanager&&a.ui.ddmanager.drag(this,b),this._trigger("sort",b,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(b,c){if(b){if(a.ui.ddmanager&&!this.options.dropBehaviour&&a.ui.ddmanager.drop(this,b),this.options.revert){var d=this,e=this.placeholder.offset(),f=this.options.axis,g={};f&&"x"!==f||(g.left=e.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===document.body?0:this.offsetParent[0].scrollLeft)),f&&"y"!==f||(g.top=e.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===document.body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,a(this.helper).animate(g,parseInt(this.options.revert,10)||500,function(){d._clear(b)})}else this._clear(b,c);return!1}},cancel:function(){if(this.dragging){this._mouseUp({target:null}),"original"===this.options.helper?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var b=this.containers.length-1;b>=0;b--)this.containers[b]._trigger("deactivate",null,this._uiHash(this)),this.containers[b].containerCache.over&&(this.containers[b]._trigger("out",null,this._uiHash(this)),this.containers[b].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),a.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?a(this.domPosition.prev).after(this.currentItem):a(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];return b=b||{},a(c).each(function(){var c=(a(b.item||this).attr(b.attribute||"id")||"").match(b.expression||/(.+)[\-=_](.+)/);c&&d.push((b.key||c[1]+"[]")+"="+(b.key&&b.expression?c[1]:c[2]))}),!d.length&&b.key&&d.push(b.key+"="),d.join("&")},toArray:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];return b=b||{},c.each(function(){d.push(a(b.item||this).attr(b.attribute||"id")||"")}),d},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,d=this.positionAbs.top,e=d+this.helperProportions.height,f=a.left,g=f+a.width,h=a.top,i=h+a.height,j=this.offset.click.top,k=this.offset.click.left,l="x"===this.options.axis||d+j>h&&i>d+j,m="y"===this.options.axis||b+k>f&&g>b+k,n=l&&m;return"pointer"===this.options.tolerance||this.options.forcePointerForContainers||"pointer"!==this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>a[this.floating?"width":"height"]?n:f0?"down":"up")},_getDragHorizontalDirection:function(){var a=this.positionAbs.left-this.lastPositionAbs.left;return 0!==a&&(a>0?"right":"left")},refresh:function(a){return this._refreshItems(a),this.refreshPositions(),this},_connectWith:function(){var a=this.options;return a.connectWith.constructor===String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(b){var c,d,e,f,g=[],h=[],i=this._connectWith();if(i&&b)for(c=i.length-1;c>=0;c--)for(e=a(i[c]),d=e.length-1;d>=0;d--)f=a.data(e[d],this.widgetFullName),f&&f!==this&&!f.options.disabled&&h.push([a.isFunction(f.options.items)?f.options.items.call(f.element):a(f.options.items,f.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),f]);for(h.push([a.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):a(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),c=h.length-1;c>=0;c--)h[c][0].each(function(){g.push(this)});return a(g)},_removeCurrentsFromItems:function(){var b=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=a.grep(this.items,function(a){for(var c=0;c=0;c--)for(e=a(m[c]),d=e.length-1;d>=0;d--)f=a.data(e[d],this.widgetFullName),f&&f!==this&&!f.options.disabled&&(l.push([a.isFunction(f.options.items)?f.options.items.call(f.element[0],b,{item:this.currentItem}):a(f.options.items,f.element),f]),this.containers.push(f));for(c=l.length-1;c>=0;c--)for(g=l[c][1],h=l[c][0],d=0,j=h.length;j>d;d++)i=a(h[d]),i.data(this.widgetName+"-item",g),k.push({item:i,instance:g,width:0,height:0,left:0,top:0})},refreshPositions:function(b){this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());var c,d,e,f;for(c=this.items.length-1;c>=0;c--)d=this.items[c],d.instance!==this.currentContainer&&this.currentContainer&&d.item[0]!==this.currentItem[0]||(e=this.options.toleranceElement?a(this.options.toleranceElement,d.item):d.item,b||(d.width=e.outerWidth(),d.height=e.outerHeight()),f=e.offset(),d.left=f.left,d.top=f.top);if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(c=this.containers.length-1;c>=0;c--)f=this.containers[c].element.offset(),this.containers[c].containerCache.left=f.left,this.containers[c].containerCache.top=f.top,this.containers[c].containerCache.width=this.containers[c].element.outerWidth(),this.containers[c].containerCache.height=this.containers[c].element.outerHeight();return this},_createPlaceholder:function(b){b=b||this;var c,d=b.options;d.placeholder&&d.placeholder.constructor!==String||(c=d.placeholder,d.placeholder={element:function(){var d=b.currentItem[0].nodeName.toLowerCase(),e=a("<"+d+">",b.document[0]).addClass(c||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper");return"tr"===d?b.currentItem.children().each(function(){a(" ",b.document[0]).attr("colspan",a(this).attr("colspan")||1).appendTo(e)}):"img"===d&&e.attr("src",b.currentItem.attr("src")),c||e.css("visibility","hidden"),e},update:function(a,e){(!c||d.forcePlaceholderSize)&&(e.height()||e.height(b.currentItem.innerHeight()-parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10)),e.width()||e.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")||0,10)))}}),b.placeholder=a(d.placeholder.element.call(b.element,b.currentItem)),b.currentItem.after(b.placeholder),d.placeholder.update(b,b.placeholder)},_contactContainers:function(d){var e,f,g,h,i,j,k,l,m,n,o=null,p=null;for(e=this.containers.length-1;e>=0;e--)if(!a.contains(this.currentItem[0],this.containers[e].element[0]))if(this._intersectsWith(this.containers[e].containerCache)){if(o&&a.contains(this.containers[e].element[0],o.element[0]))continue;o=this.containers[e],p=e}else this.containers[e].containerCache.over&&(this.containers[e]._trigger("out",d,this._uiHash(this)),this.containers[e].containerCache.over=0);if(o)if(1===this.containers.length)this.containers[p].containerCache.over||(this.containers[p]._trigger("over",d,this._uiHash(this)),this.containers[p].containerCache.over=1);else{for(g=1e4,h=null,n=o.floating||c(this.currentItem),i=n?"left":"top",j=n?"width":"height",k=this.positionAbs[i]+this.offset.click[i],f=this.items.length-1;f>=0;f--)a.contains(this.containers[p].element[0],this.items[f].item[0])&&this.items[f].item[0]!==this.currentItem[0]&&(!n||b(this.positionAbs.top+this.offset.click.top,this.items[f].top,this.items[f].height))&&(l=this.items[f].item.offset()[i],m=!1,Math.abs(l-k)>Math.abs(l+this.items[f][j]-k)&&(m=!0,l+=this.items[f][j]),Math.abs(l-k)this.containment[2]&&(f=this.containment[2]+this.offset.click.left),b.pageY-this.offset.click.top>this.containment[3]&&(g=this.containment[3]+this.offset.click.top)),e.grid&&(c=this.originalPageY+Math.round((g-this.originalPageY)/e.grid[1])*e.grid[1],g=this.containment?c-this.offset.click.top>=this.containment[1]&&c-this.offset.click.top<=this.containment[3]?c:c-this.offset.click.top>=this.containment[1]?c-e.grid[1]:c+e.grid[1]:c,d=this.originalPageX+Math.round((f-this.originalPageX)/e.grid[0])*e.grid[0],f=this.containment?d-this.offset.click.left>=this.containment[0]&&d-this.offset.click.left<=this.containment[2]?d:d-this.offset.click.left>=this.containment[0]?d-e.grid[0]:d+e.grid[0]:d)),{top:g-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():i?0:h.scrollTop()),left:f-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():i?0:h.scrollLeft())}},_rearrange:function(a,b,c,d){c?c[0].appendChild(this.placeholder[0]):b.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?b.item[0]:b.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var e=this.counter;this._delay(function(){e===this.counter&&this.refreshPositions(!d)})},_clear:function(a,b){this.reverting=!1;var c,d=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(c in this._storedCSS)("auto"===this._storedCSS[c]||"static"===this._storedCSS[c])&&(this._storedCSS[c]="");this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();for(this.fromOutside&&!b&&d.push(function(a){this._trigger("receive",a,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||b||d.push(function(a){this._trigger("update",a,this._uiHash())}),this!==this.currentContainer&&(b||(d.push(function(a){this._trigger("remove",a,this._uiHash())}),d.push(function(a){return function(b){a._trigger("receive",b,this._uiHash(this))}}.call(this,this.currentContainer)),d.push(function(a){return function(b){a._trigger("update",b,this._uiHash(this))}}.call(this,this.currentContainer)))),c=this.containers.length-1;c>=0;c--)b||d.push(function(a){return function(b){a._trigger("deactivate",b,this._uiHash(this))}}.call(this,this.containers[c])),this.containers[c].containerCache.over&&(d.push(function(a){return function(b){a._trigger("out",b,this._uiHash(this))}}.call(this,this.containers[c])),this.containers[c].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,this.cancelHelperRemoval){if(!b){for(this._trigger("beforeStop",a,this._uiHash()),c=0;c0?n:b,null,"fast",j,null),this.move(n.length>0&&!j.multiple?n:[],a.parent("[jqyoui-droppable]"),jqyoui.startXY,"fast",j,function(){$timeout(function(){a.css({position:"relative",left:"",top:""}),n.css({position:"relative",left:"",top:""}),i.mutate!==!1&&this.mutateDraggable(p,j,i,g,h,m,a),j.mutate!==!1&&this.mutateDroppable(o,j,i,h,l,k),this.callEventCallback(o,j.onDrop,c,d,q)}.bind(this))}.bind(this))):$timeout(function(){i.mutate!==!1&&this.mutateDraggable(p,j,i,g,h,m,a),j.mutate!==!1&&this.mutateDroppable(o,j,i,h,l,k),this.callEventCallback(o,j.onDrop,c,d,q)}.bind(this))},this.move=function(a,b,c,d,e,f){if(0===a.length)return f&&window.setTimeout(function(){f()},300),!1;var g=9999,h=a.offset(),i=b&&b.is(":visible");null===c&&b.length>0&&(b.attr("jqyoui-draggable")!==undefined&&b.ngattr("ng-model")!==undefined&&b.is(":visible")&&e&&e.multiple?(c=b.offset(),e.stack===!1?c.left+=b.outerWidth(!0):c.top+=b.outerHeight(!0)):(c=b.css({visibility:"hidden",display:"block"}).offset(),b.css({visibility:"",display:i?"":"none"}))),a.css({position:"absolute","z-index":g}).css(h).animate(c,d,function(){f&&f()})},this.mutateDroppable=function(a,b,c,d,e,f){var g=a.$eval(d);a.__dragItem=e,angular.isArray(g)?(b&&b.index>=0?g[b.index]=e:g.push(e),c&&c.placeholder===!0&&(g[g.length-1].jqyoui_pos=f)):($parse(d+" = __dragItem")(a),c&&c.placeholder===!0&&(g.jqyoui_pos=f))},this.mutateDraggable=function(a,b,c,d,e,f,g){var h=angular.equals(angular.copy(f),{}),i=a.$eval(d);a.__dropItem=f,c&&c.placeholder?"keep"!=c.placeholder&&(angular.isArray(i)&&c.index!==undefined?i[c.index]=f:$parse(d+" = __dropItem")(a)):angular.isArray(i)?h?c&&c.placeholder!==!0&&"keep"!==c.placeholder&&i.splice(c.index,1):i[c.index]=f:($parse(d+" = __dropItem")(a),a.$parent&&$parse(d+" = __dropItem")(a.$parent)),g.css({"z-index":"",left:"",top:""})},this.fixIndex=function(a,b,c){if(b.applyFilter&&angular.isArray(c)&&c.length>0){var d=a[b.applyFilter](),e=d[b.index],f=undefined;return c.forEach(function(a,b){angular.equals(a,e)&&(f=b)}),f}return b.index}}]).directive("jqyouiDraggable",["ngDragDropService",function(a){return{require:"?jqyouiDroppable",restrict:"A",link:function(b,c,d){var e,f,g=function(g){g?(e=b.$eval(c.attr("jqyoui-draggable"))||[],c.draggable({disabled:!1}).draggable(b.$eval(d.jqyouiOptions)||{}).draggable({start:function(c,d){f=angular.element(this).css("z-index"),angular.element(this).css("z-index",99999),jqyoui.startXY=angular.element(this).offset(),a.callEventCallback(b,e.onStart,c,d)},stop:function(c,d){angular.element(this).css("z-index",f),a.callEventCallback(b,e.onStop,c,d)},drag:function(c,d){a.callEventCallback(b,e.onDrag,c,d)}})):c.draggable({disabled:!0})};b.$watch(function(){return b.$eval(d.drag)},g),g()}}}]).directive("jqyouiDroppable",["ngDragDropService",function(a){return{restrict:"A",priority:1,link:function(b,c,d){var e=function(e){e?c.droppable({disabled:!1}).droppable(b.$eval(d.jqyouiOptions)||{}).droppable({over:function(c,d){var e=b.$eval(angular.element(this).attr("jqyoui-droppable"))||[];a.callEventCallback(b,e.onOver,c,d)},out:function(c,d){var e=b.$eval(angular.element(this).attr("jqyoui-droppable"))||[];a.callEventCallback(b,e.onOut,c,d)},drop:function(c,e){angular.element(e.draggable).ngattr("ng-model")&&d.ngModel?a.invokeDrop(angular.element(e.draggable),angular.element(this),c,e):a.callEventCallback(b,(b.$eval(angular.element(this).attr("jqyoui-droppable"))||[]).onDrop,c,e)}}):c.droppable({disabled:!0})};b.$watch(function(){return b.$eval(d.drop)},e),e()}}}]);$.fn.ngattr=function(a){var b=angular.element(this).get(0);return b.getAttribute(a)||b.getAttribute("data-"+a)}}(window,window.angular),define("angular-dragdrop",function(){}),define("extend-jquery",["jquery"],function(a){var b=a(window);return a.fn.place_tt=function(){var c={offset:5,css:{position:"absolute",top:-1e3,left:0,color:"#c8c8c8",padding:"10px","font-size":"11pt","font-weight":200,"background-color":"#1f1f1f","border-radius":"5px","z-index":9999}};return function(d,e,f){return f=a.extend(!0,{},c,f),this.each(function(){var c,g,h=a(this);h.css(f.css),a.contains(document.body,h[0])||h.appendTo(document.body),c=h.outerWidth(!0),g=h.outerHeight(!0),h.css("left",d+f.offset+c>b.width()?d-f.offset-c:d+f.offset),h.css("top",e+f.offset+g>b.height()?e-f.offset-g:e+f.offset)})}}(),a}),angular.module("pasvaz.bindonce",[]).directive("bindonce",function(){var a=function(a){if(a&&0!==a.length){var b=angular.lowercase(""+a);a=!("f"==b||"0"==b||"false"==b||"no"==b||"n"==b||"[]"==b)}else a=!1;return a},b=parseInt((/msie (\d+)/.exec(angular.lowercase(navigator.userAgent))||[])[1],10);isNaN(b)&&(b=parseInt((/trident\/.*; rv:(\d+)/.exec(angular.lowercase(navigator.userAgent))||[])[1],10));var c={restrict:"AM",controller:["$scope","$element","$attrs","$interpolate",function(c,d,e,f){var g=function(b,c,d){var e="show"==c?"":"none",f="hide"==c?"":"none";b.css("display",a(d)?e:f)},h=function(a,b){if(angular.isObject(b)&&!angular.isArray(b)){var c=[];angular.forEach(b,function(a,b){a&&c.push(b)}),b=c}b&&a.addClass(angular.isArray(b)?b.join(" "):b)},i={watcherRemover:void 0,binders:[],group:e.boName,element:d,ran:!1,addBinder:function(a){this.binders.push(a),this.ran&&this.runBinders()},setupWatcher:function(a){var b=this;this.watcherRemover=c.$watch(a,function(a){void 0!=a&&(b.removeWatcher(),b.runBinders())},!0)},removeWatcher:function(){void 0!=this.watcherRemover&&(this.watcherRemover(),this.watcherRemover=void 0)},runBinders:function(){var c,d;for(c=0,d=this.binders.length;d>c;c++){var e=this.binders[c];if(!this.group||this.group==e.group){var i=e.scope.$eval(e.interpolate?f(e.value):e.value);switch(e.attr){case"if":a(i)&&e.transclude(e.scope.$new(),function(a){var b=e.element.parent(),c=e.element&&e.element[e.element.length-1],d=b&&b[0]||c&&c.parentNode,f=c&&c.nextSibling||null;angular.forEach(a,function(a){d.insertBefore(a,f)})});break;case"hide":case"show":g(e.element,e.attr,i);break;case"class":h(e.element,i);break;case"text":e.element.text(i);break;case"html":e.element.html(i);break;case"style":e.element.css(i);break;case"src":e.element.attr(e.attr,i),b&&e.element.prop("src",i);case"attr":angular.forEach(e.attrs,function(a,b){var c,d;b.match(/^boAttr./)&&e.attrs[b]&&(c=b.replace(/^boAttr/,"").replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),d=e.scope.$eval(e.attrs[b]),e.element.attr(c,d))});break;case"href":case"alt":case"title":case"id":case"value":e.element.attr(e.attr,i)}}}this.ran=!0,this.binders=[]}};return i}],link:function(a,b,c,d){var e=c.bindonce?a.$eval(c.bindonce):!0;void 0!=e?d.runBinders():(d.setupWatcher(c.bindonce),b.bind("$destroy",d.removeWatcher))}};return c}),angular.forEach([{directiveName:"boShow",attribute:"show"},{directiveName:"boIf",attribute:"if",transclude:"element",terminal:!0,priority:1e3},{directiveName:"boHide",attribute:"hide"},{directiveName:"boClass",attribute:"class"},{directiveName:"boText",attribute:"text"},{directiveName:"boHtml",attribute:"html"},{directiveName:"boSrcI",attribute:"src",interpolate:!0},{directiveName:"boSrc",attribute:"src"},{directiveName:"boHrefI",attribute:"href",interpolate:!0},{directiveName:"boHref",attribute:"href"},{directiveName:"boAlt",attribute:"alt"},{directiveName:"boTitle",attribute:"title"},{directiveName:"boId",attribute:"id"},{directiveName:"boStyle",attribute:"style"},{directiveName:"boValue",attribute:"value"},{directiveName:"boAttr",attribute:"attr"}],function(a){var b=200;return angular.module("pasvaz.bindonce").directive(a.directiveName,function(){var c={priority:a.priority||b,transclude:a.transclude||!1,terminal:a.terminal||!1,require:"^bindonce",compile:function(b,c,d){return function(b,c,e,f){var g=e.boParent;if(g&&f.group!=g){var h=f.element.parent();f=void 0;for(var i;9!=h[0].nodeType&&h.length;){if((i=h.data("$bindonceController"))&&i.group==g){f=i;break}h=h.parent()}if(!f)throw Error("No bindonce controller: "+g)}f.addBinder({element:c,attr:a.attribute,attrs:e,value:e[a.directiveName],interpolate:a.interpolate,group:g,transclude:d,scope:b})}}};return c})}),define("bindonce",function(){}),define("services/alertSrv",["angular","underscore"],function(a,b){var c=a.module("kibana.services");c.service("alertSrv",["$timeout",function(c){var d=this;this.list=[],this.set=function(e,f,g,h){var i={title:e||"",text:f||"",severity:g||"info"},j=a.toJson(i),k=b.map(d.list,function(b){return a.toJson(b)});return b.contains(k,j)&&b.remove(d.list,b.indexOf(k,j)),d.list.push(i),h>0&&c(function(){d.list=b.without(d.list,i)},h),i},this.clear=function(a){d.list=b.without(d.list,a)},this.clearAll=function(){d.list=[]}}])}),function(a){function b(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function c(a,b){return function(c){return k(a.call(this,c),b)}}function d(a,b){return function(c){return this.lang().ordinal(a.call(this,c),b)}}function e(){}function f(a){w(a),h(this,a)}function g(a){var b=q(a),c=b.year||0,d=b.month||0,e=b.week||0,f=b.day||0,g=b.hour||0,h=b.minute||0,i=b.second||0,j=b.millisecond||0;this._milliseconds=+j+1e3*i+6e4*h+36e5*g,this._days=+f+7*e,this._months=+d+12*c,this._data={},this._bubble()}function h(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c]);return b.hasOwnProperty("toString")&&(a.toString=b.toString),b.hasOwnProperty("valueOf")&&(a.valueOf=b.valueOf),a}function i(a){var b,c={};for(b in a)a.hasOwnProperty(b)&&qb.hasOwnProperty(b)&&(c[b]=a[b]);return c}function j(a){return 0>a?Math.ceil(a):Math.floor(a)}function k(a,b,c){for(var d=""+Math.abs(a),e=a>=0;d.lengthd;d++)(c&&a[d]!==b[d]||!c&&s(a[d])!==s(b[d]))&&g++;return g+f}function p(a){if(a){var b=a.toLowerCase().replace(/(.)s$/,"$1");a=Tb[a]||Ub[b]||b}return a}function q(a){var b,c,d={}; -for(c in a)a.hasOwnProperty(c)&&(b=p(c),b&&(d[b]=a[c]));return d}function r(b){var c,d;if(0===b.indexOf("week"))c=7,d="day";else{if(0!==b.indexOf("month"))return;c=12,d="month"}db[b]=function(e,f){var g,h,i=db.fn._lang[b],j=[];if("number"==typeof e&&(f=e,e=a),h=function(a){var b=db().utc().set(d,a);return i.call(db.fn._lang,b,e||"")},null!=f)return h(f);for(g=0;c>g;g++)j.push(h(g));return j}}function s(a){var b=+a,c=0;return 0!==b&&isFinite(b)&&(c=b>=0?Math.floor(b):Math.ceil(b)),c}function t(a,b){return new Date(Date.UTC(a,b+1,0)).getUTCDate()}function u(a){return v(a)?366:365}function v(a){return a%4===0&&a%100!==0||a%400===0}function w(a){var b;a._a&&-2===a._pf.overflow&&(b=a._a[jb]<0||a._a[jb]>11?jb:a._a[kb]<1||a._a[kb]>t(a._a[ib],a._a[jb])?kb:a._a[lb]<0||a._a[lb]>23?lb:a._a[mb]<0||a._a[mb]>59?mb:a._a[nb]<0||a._a[nb]>59?nb:a._a[ob]<0||a._a[ob]>999?ob:-1,a._pf._overflowDayOfYear&&(ib>b||b>kb)&&(b=kb),a._pf.overflow=b)}function x(a){return null==a._isValid&&(a._isValid=!isNaN(a._d.getTime())&&a._pf.overflow<0&&!a._pf.empty&&!a._pf.invalidMonth&&!a._pf.nullInput&&!a._pf.invalidFormat&&!a._pf.userInvalidated,a._strict&&(a._isValid=a._isValid&&0===a._pf.charsLeftOver&&0===a._pf.unusedTokens.length)),a._isValid}function y(a){return a?a.toLowerCase().replace("_","-"):a}function z(a,b){return b._isUTC?db(a).zone(b._offset||0):db(a).local()}function A(a,b){return b.abbr=a,pb[a]||(pb[a]=new e),pb[a].set(b),pb[a]}function B(a){delete pb[a]}function C(a){var b,c,d,e,f=0,g=function(a){if(!pb[a]&&rb)try{require("./lang/"+a)}catch(b){}return pb[a]};if(!a)return db.fn._lang;if(!m(a)){if(c=g(a))return c;a=[a]}for(;f0;){if(c=g(e.slice(0,b).join("-")))return c;if(d&&d.length>=b&&o(e,d,!0)>=b-1)break;b--}f++}return db.fn._lang}function D(a){return a.match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"")}function E(a){var b,c,d=a.match(vb);for(b=0,c=d.length;c>b;b++)d[b]=Yb[d[b]]?Yb[d[b]]:D(d[b]);return function(e){var f="";for(b=0;c>b;b++)f+=d[b]instanceof Function?d[b].call(e,a):d[b];return f}}function F(a,b){return a.isValid()?(b=G(b,a.lang()),Vb[b]||(Vb[b]=E(b)),Vb[b](a)):a.lang().invalidDate()}function G(a,b){function c(a){return b.longDateFormat(a)||a}var d=5;for(wb.lastIndex=0;d>=0&&wb.test(a);)a=a.replace(wb,c),wb.lastIndex=0,d-=1;return a}function H(a,b){var c,d=b._strict;switch(a){case"DDDD":return Ib;case"YYYY":case"GGGG":case"gggg":return d?Jb:zb;case"Y":case"G":case"g":return Lb;case"YYYYYY":case"YYYYY":case"GGGGG":case"ggggg":return d?Kb:Ab;case"S":if(d)return Gb;case"SS":if(d)return Hb;case"SSS":if(d)return Ib;case"DDD":return yb;case"MMM":case"MMMM":case"dd":case"ddd":case"dddd":return Cb;case"a":case"A":return C(b._l)._meridiemParse;case"X":return Fb;case"Z":case"ZZ":return Db;case"T":return Eb;case"SSSS":return Bb;case"MM":case"DD":case"YY":case"GG":case"gg":case"HH":case"hh":case"mm":case"ss":case"ww":case"WW":return d?Hb:xb;case"M":case"D":case"d":case"H":case"h":case"m":case"s":case"w":case"W":case"e":case"E":return xb;default:return c=new RegExp(P(O(a.replace("\\","")),"i"))}}function I(a){a=a||"";var b=a.match(Db)||[],c=b[b.length-1]||[],d=(c+"").match(Qb)||["-",0,0],e=+(60*d[1])+s(d[2]);return"+"===d[0]?-e:e}function J(a,b,c){var d,e=c._a;switch(a){case"M":case"MM":null!=b&&(e[jb]=s(b)-1);break;case"MMM":case"MMMM":d=C(c._l).monthsParse(b),null!=d?e[jb]=d:c._pf.invalidMonth=b;break;case"D":case"DD":null!=b&&(e[kb]=s(b));break;case"DDD":case"DDDD":null!=b&&(c._dayOfYear=s(b));break;case"YY":e[ib]=s(b)+(s(b)>68?1900:2e3);break;case"YYYY":case"YYYYY":case"YYYYYY":e[ib]=s(b);break;case"a":case"A":c._isPm=C(c._l).isPM(b);break;case"H":case"HH":case"h":case"hh":e[lb]=s(b);break;case"m":case"mm":e[mb]=s(b);break;case"s":case"ss":e[nb]=s(b);break;case"S":case"SS":case"SSS":case"SSSS":e[ob]=s(1e3*("0."+b));break;case"X":c._d=new Date(1e3*parseFloat(b));break;case"Z":case"ZZ":c._useUTC=!0,c._tzm=I(b);break;case"w":case"ww":case"W":case"WW":case"d":case"dd":case"ddd":case"dddd":case"e":case"E":a=a.substr(0,1);case"gg":case"gggg":case"GG":case"GGGG":case"GGGGG":a=a.substr(0,2),b&&(c._w=c._w||{},c._w[a]=b)}}function K(a){var b,c,d,e,f,g,h,i,j,k,l=[];if(!a._d){for(d=M(a),a._w&&null==a._a[kb]&&null==a._a[jb]&&(f=function(b){var c=parseInt(b,10);return b?b.length<3?c>68?1900+c:2e3+c:c:null==a._a[ib]?db().weekYear():a._a[ib]},g=a._w,null!=g.GG||null!=g.W||null!=g.E?h=Z(f(g.GG),g.W||1,g.E,4,1):(i=C(a._l),j=null!=g.d?V(g.d,i):null!=g.e?parseInt(g.e,10)+i._week.dow:0,k=parseInt(g.w,10)||1,null!=g.d&&ju(e)&&(a._pf._overflowDayOfYear=!0),c=U(e,0,a._dayOfYear),a._a[jb]=c.getUTCMonth(),a._a[kb]=c.getUTCDate()),b=0;3>b&&null==a._a[b];++b)a._a[b]=l[b]=d[b];for(;7>b;b++)a._a[b]=l[b]=null==a._a[b]?2===b?1:0:a._a[b];l[lb]+=s((a._tzm||0)/60),l[mb]+=s((a._tzm||0)%60),a._d=(a._useUTC?U:T).apply(null,l)}}function L(a){var b;a._d||(b=q(a._i),a._a=[b.year,b.month,b.day,b.hour,b.minute,b.second,b.millisecond],K(a))}function M(a){var b=new Date;return a._useUTC?[b.getUTCFullYear(),b.getUTCMonth(),b.getUTCDate()]:[b.getFullYear(),b.getMonth(),b.getDate()]}function N(a){a._a=[],a._pf.empty=!0;var b,c,d,e,f,g=C(a._l),h=""+a._i,i=h.length,j=0;for(d=G(a._f,g).match(vb)||[],b=0;b0&&a._pf.unusedInput.push(f),h=h.slice(h.indexOf(c)+c.length),j+=c.length),Yb[e]?(c?a._pf.empty=!1:a._pf.unusedTokens.push(e),J(e,c,a)):a._strict&&!c&&a._pf.unusedTokens.push(e);a._pf.charsLeftOver=i-j,h.length>0&&a._pf.unusedInput.push(h),a._isPm&&a._a[lb]<12&&(a._a[lb]+=12),a._isPm===!1&&12===a._a[lb]&&(a._a[lb]=0),K(a),w(a)}function O(a){return a.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(a,b,c,d,e){return b||c||d||e})}function P(a){return a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function Q(a){var c,d,e,f,g;if(0===a._f.length)return a._pf.invalidFormat=!0,void(a._d=new Date(0/0));for(f=0;fg)&&(e=g,d=c));h(a,d||c)}function R(a){var b,c,d=a._i,e=Mb.exec(d);if(e){for(a._pf.iso=!0,b=0,c=Ob.length;c>b;b++)if(Ob[b][1].exec(d)){a._f=Ob[b][0]+(e[6]||" ");break}for(b=0,c=Pb.length;c>b;b++)if(Pb[b][1].exec(d)){a._f+=Pb[b][0];break}d.match(Db)&&(a._f+="Z"),N(a)}else a._d=new Date(d)}function S(b){var c=b._i,d=sb.exec(c);c===a?b._d=new Date:d?b._d=new Date(+d[1]):"string"==typeof c?R(b):m(c)?(b._a=c.slice(0),K(b)):n(c)?b._d=new Date(+c):"object"==typeof c?L(b):b._d=new Date(c)}function T(a,b,c,d,e,f,g){var h=new Date(a,b,c,d,e,f,g);return 1970>a&&h.setFullYear(a),h}function U(a){var b=new Date(Date.UTC.apply(null,arguments));return 1970>a&&b.setUTCFullYear(a),b}function V(a,b){if("string"==typeof a)if(isNaN(a)){if(a=b.weekdaysParse(a),"number"!=typeof a)return null}else a=parseInt(a,10);return a}function W(a,b,c,d,e){return e.relativeTime(b||1,!!c,a,d)}function X(a,b,c){var d=hb(Math.abs(a)/1e3),e=hb(d/60),f=hb(e/60),g=hb(f/24),h=hb(g/365),i=45>d&&["s",d]||1===e&&["m"]||45>e&&["mm",e]||1===f&&["h"]||22>f&&["hh",f]||1===g&&["d"]||25>=g&&["dd",g]||45>=g&&["M"]||345>g&&["MM",hb(g/30)]||1===h&&["y"]||["yy",h];return i[2]=b,i[3]=a>0,i[4]=c,W.apply({},i)}function Y(a,b,c){var d,e=c-b,f=c-a.day();return f>e&&(f-=7),e-7>f&&(f+=7),d=db(a).add("d",f),{week:Math.ceil(d.dayOfYear()/7),year:d.year()}}function Z(a,b,c,d,e){var f,g,h=U(a,0,1).getUTCDay();return c=null!=c?c:e,f=e-h+(h>d?7:0)-(e>h?7:0),g=7*(b-1)+(c-e)+f+1,{year:g>0?a:a-1,dayOfYear:g>0?g:u(a-1)+g}}function $(a){var b=a._i,c=a._f;return null===b?db.invalid({nullInput:!0}):("string"==typeof b&&(a._i=b=C().preparse(b)),db.isMoment(b)?(a=i(b),a._d=new Date(+b._d)):c?m(c)?Q(a):N(a):S(a),new f(a))}function _(a,b){db.fn[a]=db.fn[a+"s"]=function(a){var c=this._isUTC?"UTC":"";return null!=a?(this._d["set"+c+b](a),db.updateOffset(this),this):this._d["get"+c+b]()}}function ab(a){db.duration.fn[a]=function(){return this._data[a]}}function bb(a,b){db.duration.fn["as"+a]=function(){return+this/b}}function cb(a){var b=!1,c=db;"undefined"==typeof ender&&(a?(gb.moment=function(){return!b&&console&&console.warn&&(b=!0,console.warn("Accessing Moment through the global scope is deprecated, and will be removed in an upcoming release.")),c.apply(null,arguments)},h(gb.moment,c)):gb.moment=db)}for(var db,eb,fb="2.5.1",gb=this,hb=Math.round,ib=0,jb=1,kb=2,lb=3,mb=4,nb=5,ob=6,pb={},qb={_isAMomentObject:null,_i:null,_f:null,_l:null,_strict:null,_isUTC:null,_offset:null,_pf:null,_lang:null},rb="undefined"!=typeof module&&module.exports&&"undefined"!=typeof require,sb=/^\/?Date\((\-?\d+)/i,tb=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,ub=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/,vb=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|X|zz?|ZZ?|.)/g,wb=/(\[[^\[]*\])|(\\)?(LT|LL?L?L?|l{1,4})/g,xb=/\d\d?/,yb=/\d{1,3}/,zb=/\d{1,4}/,Ab=/[+\-]?\d{1,6}/,Bb=/\d+/,Cb=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,Db=/Z|[\+\-]\d\d:?\d\d/gi,Eb=/T/i,Fb=/[\+\-]?\d+(\.\d{1,3})?/,Gb=/\d/,Hb=/\d\d/,Ib=/\d{3}/,Jb=/\d{4}/,Kb=/[+-]?\d{6}/,Lb=/[+-]?\d+/,Mb=/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Nb="YYYY-MM-DDTHH:mm:ssZ",Ob=[["YYYYYY-MM-DD",/[+-]\d{6}-\d{2}-\d{2}/],["YYYY-MM-DD",/\d{4}-\d{2}-\d{2}/],["GGGG-[W]WW-E",/\d{4}-W\d{2}-\d/],["GGGG-[W]WW",/\d{4}-W\d{2}/],["YYYY-DDD",/\d{4}-\d{3}/]],Pb=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d{1,3}/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],Qb=/([\+\-]|\d\d)/gi,Rb="Date|Hours|Minutes|Seconds|Milliseconds".split("|"),Sb={Milliseconds:1,Seconds:1e3,Minutes:6e4,Hours:36e5,Days:864e5,Months:2592e6,Years:31536e6},Tb={ms:"millisecond",s:"second",m:"minute",h:"hour",d:"day",D:"date",w:"week",W:"isoWeek",M:"month",y:"year",DDD:"dayOfYear",e:"weekday",E:"isoWeekday",gg:"weekYear",GG:"isoWeekYear"},Ub={dayofyear:"dayOfYear",isoweekday:"isoWeekday",isoweek:"isoWeek",weekyear:"weekYear",isoweekyear:"isoWeekYear"},Vb={},Wb="DDD w W M D d".split(" "),Xb="M D H h m s w W".split(" "),Yb={M:function(){return this.month()+1},MMM:function(a){return this.lang().monthsShort(this,a)},MMMM:function(a){return this.lang().months(this,a)},D:function(){return this.date()},DDD:function(){return this.dayOfYear()},d:function(){return this.day()},dd:function(a){return this.lang().weekdaysMin(this,a)},ddd:function(a){return this.lang().weekdaysShort(this,a)},dddd:function(a){return this.lang().weekdays(this,a)},w:function(){return this.week()},W:function(){return this.isoWeek()},YY:function(){return k(this.year()%100,2)},YYYY:function(){return k(this.year(),4)},YYYYY:function(){return k(this.year(),5)},YYYYYY:function(){var a=this.year(),b=a>=0?"+":"-";return b+k(Math.abs(a),6)},gg:function(){return k(this.weekYear()%100,2)},gggg:function(){return k(this.weekYear(),4)},ggggg:function(){return k(this.weekYear(),5)},GG:function(){return k(this.isoWeekYear()%100,2)},GGGG:function(){return k(this.isoWeekYear(),4)},GGGGG:function(){return k(this.isoWeekYear(),5)},e:function(){return this.weekday()},E:function(){return this.isoWeekday()},a:function(){return this.lang().meridiem(this.hours(),this.minutes(),!0)},A:function(){return this.lang().meridiem(this.hours(),this.minutes(),!1)},H:function(){return this.hours()},h:function(){return this.hours()%12||12},m:function(){return this.minutes()},s:function(){return this.seconds()},S:function(){return s(this.milliseconds()/100)},SS:function(){return k(s(this.milliseconds()/10),2)},SSS:function(){return k(this.milliseconds(),3)},SSSS:function(){return k(this.milliseconds(),3)},Z:function(){var a=-this.zone(),b="+";return 0>a&&(a=-a,b="-"),b+k(s(a/60),2)+":"+k(s(a)%60,2)},ZZ:function(){var a=-this.zone(),b="+";return 0>a&&(a=-a,b="-"),b+k(s(a/60),2)+k(s(a)%60,2)},z:function(){return this.zoneAbbr()},zz:function(){return this.zoneName()},X:function(){return this.unix()},Q:function(){return this.quarter()}},Zb=["months","monthsShort","weekdays","weekdaysShort","weekdaysMin"];Wb.length;)eb=Wb.pop(),Yb[eb+"o"]=d(Yb[eb],eb);for(;Xb.length;)eb=Xb.pop(),Yb[eb+eb]=c(Yb[eb],2);for(Yb.DDDD=c(Yb.DDD,3),h(e.prototype,{set:function(a){var b,c;for(c in a)b=a[c],"function"==typeof b?this[c]=b:this["_"+c]=b},_months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),months:function(a){return this._months[a.month()]},_monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),monthsShort:function(a){return this._monthsShort[a.month()]},monthsParse:function(a){var b,c,d;for(this._monthsParse||(this._monthsParse=[]),b=0;12>b;b++)if(this._monthsParse[b]||(c=db.utc([2e3,b]),d="^"+this.months(c,"")+"|^"+this.monthsShort(c,""),this._monthsParse[b]=new RegExp(d.replace(".",""),"i")),this._monthsParse[b].test(a))return b},_weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdays:function(a){return this._weekdays[a.day()]},_weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysShort:function(a){return this._weekdaysShort[a.day()]},_weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),weekdaysMin:function(a){return this._weekdaysMin[a.day()]},weekdaysParse:function(a){var b,c,d;for(this._weekdaysParse||(this._weekdaysParse=[]),b=0;7>b;b++)if(this._weekdaysParse[b]||(c=db([2e3,1]).day(b),d="^"+this.weekdays(c,"")+"|^"+this.weekdaysShort(c,"")+"|^"+this.weekdaysMin(c,""),this._weekdaysParse[b]=new RegExp(d.replace(".",""),"i")),this._weekdaysParse[b].test(a))return b},_longDateFormat:{LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D YYYY",LLL:"MMMM D YYYY LT",LLLL:"dddd, MMMM D YYYY LT"},longDateFormat:function(a){var b=this._longDateFormat[a];return!b&&this._longDateFormat[a.toUpperCase()]&&(b=this._longDateFormat[a.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(a){return a.slice(1)}),this._longDateFormat[a]=b),b},isPM:function(a){return"p"===(a+"").toLowerCase().charAt(0)},_meridiemParse:/[ap]\.?m?\.?/i,meridiem:function(a,b,c){return a>11?c?"pm":"PM":c?"am":"AM"},_calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},calendar:function(a,b){var c=this._calendar[a];return"function"==typeof c?c.apply(b):c},_relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},relativeTime:function(a,b,c,d){var e=this._relativeTime[c];return"function"==typeof e?e(a,b,c,d):e.replace(/%d/i,a)},pastFuture:function(a,b){var c=this._relativeTime[a>0?"future":"past"];return"function"==typeof c?c(b):c.replace(/%s/i,b)},ordinal:function(a){return this._ordinal.replace("%d",a)},_ordinal:"%d",preparse:function(a){return a},postformat:function(a){return a},week:function(a){return Y(a,this._week.dow,this._week.doy).week},_week:{dow:0,doy:6},_invalidDate:"Invalid date",invalidDate:function(){return this._invalidDate}}),db=function(c,d,e,f){var g;return"boolean"==typeof e&&(f=e,e=a),g={},g._isAMomentObject=!0,g._i=c,g._f=d,g._l=e,g._strict=f,g._isUTC=!1,g._pf=b(),$(g)},db.utc=function(c,d,e,f){var g;return"boolean"==typeof e&&(f=e,e=a),g={},g._isAMomentObject=!0,g._useUTC=!0,g._isUTC=!0,g._l=e,g._i=c,g._f=d,g._strict=f,g._pf=b(),$(g).utc()},db.unix=function(a){return db(1e3*a)},db.duration=function(a,b){var c,d,e,f=a,h=null;return db.isDuration(a)?f={ms:a._milliseconds,d:a._days,M:a._months}:"number"==typeof a?(f={},b?f[b]=a:f.milliseconds=a):(h=tb.exec(a))?(c="-"===h[1]?-1:1,f={y:0,d:s(h[kb])*c,h:s(h[lb])*c,m:s(h[mb])*c,s:s(h[nb])*c,ms:s(h[ob])*c}):(h=ub.exec(a))&&(c="-"===h[1]?-1:1,e=function(a){var b=a&&parseFloat(a.replace(",","."));return(isNaN(b)?0:b)*c},f={y:e(h[2]),M:e(h[3]),d:e(h[4]),h:e(h[5]),m:e(h[6]),s:e(h[7]),w:e(h[8])}),d=new g(f),db.isDuration(a)&&a.hasOwnProperty("_lang")&&(d._lang=a._lang),d},db.version=fb,db.defaultFormat=Nb,db.updateOffset=function(){},db.lang=function(a,b){var c;return a?(b?A(y(a),b):null===b?(B(a),a="en"):pb[a]||C(a),c=db.duration.fn._lang=db.fn._lang=C(a),c._abbr):db.fn._lang._abbr},db.langData=function(a){return a&&a._lang&&a._lang._abbr&&(a=a._lang._abbr),C(a)},db.isMoment=function(a){return a instanceof f||null!=a&&a.hasOwnProperty("_isAMomentObject")},db.isDuration=function(a){return a instanceof g},eb=Zb.length-1;eb>=0;--eb)r(Zb[eb]);for(db.normalizeUnits=function(a){return p(a)},db.invalid=function(a){var b=db.utc(0/0);return null!=a?h(b._pf,a):b._pf.userInvalidated=!0,b},db.parseZone=function(a){return db(a).parseZone()},h(db.fn=f.prototype,{clone:function(){return db(this)},valueOf:function(){return+this._d+6e4*(this._offset||0)},unix:function(){return Math.floor(+this/1e3)},toString:function(){return this.clone().lang("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},toDate:function(){return this._offset?new Date(+this):this._d},toISOString:function(){var a=db(this).utc();return 00:!1},parsingFlags:function(){return h({},this._pf)},invalidAt:function(){return this._pf.overflow},utc:function(){return this.zone(0)},local:function(){return this.zone(0),this._isUTC=!1,this},format:function(a){var b=F(this,a||db.defaultFormat);return this.lang().postformat(b)},add:function(a,b){var c;return c="string"==typeof a?db.duration(+b,a):db.duration(a,b),l(this,c,1),this},subtract:function(a,b){var c;return c="string"==typeof a?db.duration(+b,a):db.duration(a,b),l(this,c,-1),this},diff:function(a,b,c){var d,e,f=z(a,this),g=6e4*(this.zone()-f.zone());return b=p(b),"year"===b||"month"===b?(d=432e5*(this.daysInMonth()+f.daysInMonth()),e=12*(this.year()-f.year())+(this.month()-f.month()),e+=(this-db(this).startOf("month")-(f-db(f).startOf("month")))/d,e-=6e4*(this.zone()-db(this).startOf("month").zone()-(f.zone()-db(f).startOf("month").zone()))/d,"year"===b&&(e/=12)):(d=this-f,e="second"===b?d/1e3:"minute"===b?d/6e4:"hour"===b?d/36e5:"day"===b?(d-g)/864e5:"week"===b?(d-g)/6048e5:d),c?e:j(e)},from:function(a,b){return db.duration(this.diff(a)).lang(this.lang()._abbr).humanize(!b)},fromNow:function(a){return this.from(db(),a)},calendar:function(){var a=z(db(),this).startOf("day"),b=this.diff(a,"days",!0),c=-6>b?"sameElse":-1>b?"lastWeek":0>b?"lastDay":1>b?"sameDay":2>b?"nextDay":7>b?"nextWeek":"sameElse";return this.format(this.lang().calendar(c,this))},isLeapYear:function(){return v(this.year())},isDST:function(){return this.zone()+db(a).startOf(b)},isBefore:function(a,b){return b="undefined"!=typeof b?b:"millisecond",+this.clone().startOf(b)<+db(a).startOf(b)},isSame:function(a,b){return b=b||"ms",+this.clone().startOf(b)===+z(a,this).startOf(b)},min:function(a){return a=db.apply(null,arguments),this>a?this:a},max:function(a){return a=db.apply(null,arguments),a>this?this:a},zone:function(a){var b=this._offset||0;return null==a?this._isUTC?b:this._d.getTimezoneOffset():("string"==typeof a&&(a=I(a)),Math.abs(a)<16&&(a=60*a),this._offset=a,this._isUTC=!0,b!==a&&l(this,db.duration(b-a,"m"),1,!0),this)},zoneAbbr:function(){return this._isUTC?"UTC":""},zoneName:function(){return this._isUTC?"Coordinated Universal Time":""},parseZone:function(){return this._tzm?this.zone(this._tzm):"string"==typeof this._i&&this.zone(this._i),this},hasAlignedHourOffset:function(a){return a=a?db(a).zone():0,(this.zone()-a)%60===0},daysInMonth:function(){return t(this.year(),this.month())},dayOfYear:function(a){var b=hb((db(this).startOf("day")-db(this).startOf("year"))/864e5)+1;return null==a?b:this.add("d",a-b)},quarter:function(){return Math.ceil((this.month()+1)/3)},weekYear:function(a){var b=Y(this,this.lang()._week.dow,this.lang()._week.doy).year;return null==a?b:this.add("y",a-b)},isoWeekYear:function(a){var b=Y(this,1,4).year;return null==a?b:this.add("y",a-b)},week:function(a){var b=this.lang().week(this);return null==a?b:this.add("d",7*(a-b))},isoWeek:function(a){var b=Y(this,1,4).week;return null==a?b:this.add("d",7*(a-b))},weekday:function(a){var b=(this.day()+7-this.lang()._week.dow)%7;return null==a?b:this.add("d",a-b)},isoWeekday:function(a){return null==a?this.day()||7:this.day(this.day()%7?a:a-7)},get:function(a){return a=p(a),this[a]()},set:function(a,b){return a=p(a),"function"==typeof this[a]&&this[a](b),this},lang:function(b){return b===a?this._lang:(this._lang=C(b),this)}}),eb=0;eb=a:return 100;case 5e3>=a:return 1e3;case 7500>=a:return 5e3;case 15e3>=a:return 1e4;case 45e3>=a:return 3e4;case 18e4>=a:return 6e4;case 45e4>=a:return 3e5;case 12e5>=a:return 6e5;case 27e5>=a:return 18e5;case 72e5>=a:return 36e5;case 216e5>=a:return 108e5;case 864e5>=a:return 432e5;case 1728e5>=a:return 864e5;case 6048e5>=a:return 864e5;case 18144e5>=a:return 6048e5;case 36288e5>a:return 2592e6;default:return 31536e6}},d.secondsToHms=function(a){var b=Math.floor(a/31536e3);if(b)return b+"y";var c=Math.floor(a%31536e3/86400);if(c)return c+"d";var d=Math.floor(a%31536e3%86400/3600);if(d)return d+"h";var e=Math.floor(a%31536e3%86400%3600/60);if(e)return e+"m";var f=a%31536e3%86400%3600%60;return f?f+"s":"less then a second"},d.to_percent=function(a,b){return Math.floor(a/b*1e4)/100+"%"},d.addslashes=function(a){return a=a.replace(/\\/g,"\\\\"),a=a.replace(/\'/g,"\\'"),a=a.replace(/\"/g,'\\"'),a=a.replace(/\0/g,"\\0")},d.interval_regex=/(\d+(?:\.\d+)?)([Mwdhmsy])/,d.intervals_in_seconds={y:31536e3,M:2592e3,w:604800,d:86400,h:3600,m:60,s:1},d.describe_interval=function(a){var c=a.match(d.interval_regex);if(c&&b.has(d.intervals_in_seconds,c[2]))return{sec:d.intervals_in_seconds[c[2]],type:c[2],count:parseInt(c[1],10)};throw new Error('Invalid interval string, expexcting a number followed by one of "Mwdhmsy"')},d.interval_to_ms=function(a){var b=d.describe_interval(a);return 1e3*b.sec*b.count},d.interval_to_seconds=function(a){var b=d.describe_interval(a);return b.sec*b.count},d.time_ago=function(a){return new Date((new Date).getTime()-d.interval_to_ms(a))},d.parseDate=function(a){if(b.isDate(a))return a;var c,e,f,g="";return"now"===a.substring(0,3)?(c=new Date,g=a.substring("now".length)):(e=a.indexOf("||"),-1===e?(f=a,g=""):(f=a.substring(0,e),g=a.substring(e+2)),c=new Date(f)),g.length?d.parseDateMath(g,c):c},d.parseDateMath=function(a,b,d){for(var e=c(b),f=0;f'},d.byteFormat=function(a,c){var d,e=0;for(b.isUndefined(c)?c=2:0===c&&(c=void 0);Math.abs(a)>=1024;)e++,a/=1024;switch(e){case 0:d=" B";break;case 1:d=" KiB";break;case 2:d=" MiB";break;case 3:d=" GiB";break;case 4:d=" TiB";break;case 5:d=" PiB";break;case 6:d=" EiB";break;case 7:d=" ZiB";break;case 8:d=" YiB"}return a.toFixed(c)+d},d.bitFormat=function(a,c){var d,e=0;for(b.isUndefined(c)?c=2:0===c&&(c=void 0);Math.abs(a)>=1024;)e++,a/=1024;switch(e){case 0:d=" b";break;case 1:d=" Kib";break;case 2:d=" Mib";break;case 3:d=" Gib";break;case 4:d=" Tib";break;case 5:d=" Pib";break;case 6:d=" Eib";break;case 7:d=" Zib";break;case 8:d=" Yib"}return a.toFixed(c)+d},d.shortFormat=function(a,c){var d,e=0;for(b.isUndefined(c)?c=2:0===c&&(c=void 0);Math.abs(a)>=1e3;)e++,a/=1e3;switch(e){case 0:d="";break;case 1:d=" K";break;case 2:d=" Mil";break;case 3:d=" Bil";break;case 4:d=" Tri";break;case 5:d=" Quadr";break;case 6:d=" Quint";break;case 7:d=" Sext";break;case 8:d=" Sept"}return a.toFixed(c)+d},d.getFormatFunction=function(a,b){switch(a){case"short":return function(a){return d.shortFormat(a,b)};case"bytes":return function(a){return d.byteFormat(a,b)};case"bits":return function(a){return d.bitFormat(a,b)};case"s":return function(a){return d.sFormat(a,b)};case"ms":return function(a){return d.msFormat(a,b)};case"µs":return function(a){return d.microsFormat(a,b)};case"ns":return function(a){return d.nanosFormat(a,b)};default:return function(a){return a%1===0?a:a.toFixed(b)}}},d.msFormat=function(a,b){return 1e3>a?a.toFixed(0)+" ms":6e4>a?(a/1e3).toFixed(b)+" s":36e5>a?(a/6e4).toFixed(b)+" min":864e5>a?(a/36e5).toFixed(b)+" hour":31536e6>a?(a/864e5).toFixed(b)+" day":(a/31536e6).toFixed(b)+" year"},d.sFormat=function(a,b){return 600>a?a.toFixed(b)+" s":3600>a?(a/60).toFixed(b)+" min":86400>a?(a/3600).toFixed(b)+" hour":604800>a?(a/86400).toFixed(b)+" day":31536e3>a?(a/604800).toFixed(b)+" week":(a/31556900).toFixed(b)+" year"},d.microsFormat=function(a,b){return 1e3>a?a.toFixed(0)+" µs":1e6>a?(a/1e3).toFixed(b)+" ms":(a/1e6).toFixed(b)+" s"},d.nanosFormat=function(a,b){return 1e3>a?a.toFixed(0)+" ns":1e6>a?(a/1e3).toFixed(b)+" µs":1e9>a?(a/1e6).toFixed(b)+" ms":6e10>a?(a/1e9).toFixed(b)+" s":(a/6e10).toFixed(b)+" m"},d}),window.Modernizr=function(a,b,c){function d(a){t.cssText=a}function e(a,b){return d(x.join(a+";")+(b||""))}function f(a,b){return typeof a===b}function g(a,b){return!!~(""+a).indexOf(b)}function h(a,b){for(var d in a){var e=a[d];if(!g(e,"-")&&t[e]!==c)return"pfx"==b?e:!0}return!1}function i(a,b,d){for(var e in a){var g=b[a[e]];if(g!==c)return d===!1?a[e]:f(g,"function")?g.bind(d||b):g}return!1}function j(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+z.join(d+" ")+d).split(" ");return f(b,"string")||f(b,"undefined")?h(e,b):(e=(a+" "+A.join(d+" ")+d).split(" "),i(e,b,c))}function k(){o.input=function(c){for(var d=0,e=c.length;e>d;d++)E[c[d]]=c[d]in u;return E.list&&(E.list=!!b.createElement("datalist")&&!!a.HTMLDataListElement),E}("autocomplete autofocus list placeholder max min multiple pattern required step".split(" ")),o.inputtypes=function(a){for(var d,e,f,g=0,h=a.length;h>g;g++)u.setAttribute("type",e=a[g]),d="text"!==u.type,d&&(u.value=v,u.style.cssText="position:absolute;visibility:hidden;",/^range$/.test(e)&&u.style.WebkitAppearance!==c?(q.appendChild(u),f=b.defaultView,d=f.getComputedStyle&&"textfield"!==f.getComputedStyle(u,null).WebkitAppearance&&0!==u.offsetHeight,q.removeChild(u)):/^(search|tel)$/.test(e)||(d=/^(url|email)$/.test(e)?u.checkValidity&&u.checkValidity()===!1:u.value!=v)),D[a[g]]=!!d;return D}("search tel url email datetime date month week time datetime-local number range color".split(" "))}var l,m,n="2.6.1",o={},p=!0,q=b.documentElement,r="modernizr",s=b.createElement(r),t=s.style,u=b.createElement("input"),v=":)",w={}.toString,x=" -webkit- -moz- -o- -ms- ".split(" "),y="Webkit Moz O ms",z=y.split(" "),A=y.toLowerCase().split(" "),B={svg:"http://www.w3.org/2000/svg"},C={},D={},E={},F=[],G=F.slice,H=function(a,c,d,e){var f,g,h,i=b.createElement("div"),j=b.body,k=j?j:b.createElement("body");if(parseInt(d,10))for(;d--;)h=b.createElement("div"),h.id=e?e[d]:r+(d+1),i.appendChild(h);return f=["­",'"].join(""),i.id=r,(j?i:k).innerHTML+=f,k.appendChild(i),j||(k.style.background="",q.appendChild(k)),g=c(i,a),j?i.parentNode.removeChild(i):k.parentNode.removeChild(k),!!g -},I=function(b){var c=a.matchMedia||a.msMatchMedia;if(c)return c(b).matches;var d;return H("@media "+b+" { #"+r+" { position: absolute; } }",function(b){d="absolute"==(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle).position}),d},J=function(){function a(a,e){e=e||b.createElement(d[a]||"div"),a="on"+a;var g=a in e;return g||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(a,""),g=f(e[a],"function"),f(e[a],"undefined")||(e[a]=c),e.removeAttribute(a))),e=null,g}var d={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return a}(),K={}.hasOwnProperty;m=f(K,"undefined")||f(K.call,"undefined")?function(a,b){return b in a&&f(a.constructor.prototype[b],"undefined")}:function(a,b){return K.call(a,b)},Function.prototype.bind||(Function.prototype.bind=function(a){var b=this;if("function"!=typeof b)throw new TypeError;var c=G.call(arguments,1),d=function(){if(this instanceof d){var e=function(){};e.prototype=b.prototype;var f=new e,g=b.apply(f,c.concat(G.call(arguments)));return Object(g)===g?g:f}return b.apply(a,c.concat(G.call(arguments)))};return d}),C.flexbox=function(){return j("flexWrap")},C.canvas=function(){var a=b.createElement("canvas");return!!a.getContext&&!!a.getContext("2d")},C.canvastext=function(){return!!o.canvas&&!!f(b.createElement("canvas").getContext("2d").fillText,"function")},C.webgl=function(){return!!a.WebGLRenderingContext},C.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:H(["@media (",x.join("touch-enabled),("),r,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=9===a.offsetTop}),c},C.geolocation=function(){return"geolocation"in navigator},C.postmessage=function(){return!!a.postMessage},C.websqldatabase=function(){return!!a.openDatabase},C.indexedDB=function(){return!!j("indexedDB",a)},C.hashchange=function(){return J("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},C.history=function(){return!!a.history&&!!history.pushState},C.draganddrop=function(){var a=b.createElement("div");return"draggable"in a||"ondragstart"in a&&"ondrop"in a},C.websockets=function(){return"WebSocket"in a||"MozWebSocket"in a},C.rgba=function(){return d("background-color:rgba(150,255,150,.5)"),g(t.backgroundColor,"rgba")},C.hsla=function(){return d("background-color:hsla(120,40%,100%,.5)"),g(t.backgroundColor,"rgba")||g(t.backgroundColor,"hsla")},C.multiplebgs=function(){return d("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(t.background)},C.backgroundsize=function(){return j("backgroundSize")},C.borderimage=function(){return j("borderImage")},C.borderradius=function(){return j("borderRadius")},C.boxshadow=function(){return j("boxShadow")},C.textshadow=function(){return""===b.createElement("div").style.textShadow},C.opacity=function(){return e("opacity:.55"),/^0.55$/.test(t.opacity)},C.cssanimations=function(){return j("animationName")},C.csscolumns=function(){return j("columnCount")},C.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";return d((a+"-webkit- ".split(" ").join(b+a)+x.join(c+a)).slice(0,-a.length)),g(t.backgroundImage,"gradient")},C.cssreflections=function(){return j("boxReflect")},C.csstransforms=function(){return!!j("transform")},C.csstransforms3d=function(){var a=!!j("perspective");return a&&"webkitPerspective"in q.style&&H("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b){a=9===b.offsetLeft&&3===b.offsetHeight}),a},C.csstransitions=function(){return j("transition")},C.fontface=function(){var a;return H('@font-face {font-family:"font";src:url("https://")}',function(c,d){var e=b.getElementById("smodernizr"),f=e.sheet||e.styleSheet,g=f?f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"":"";a=/src/i.test(g)&&0===g.indexOf(d.split(" ")[0])}),a},C.generatedcontent=function(){var a;return H(['#modernizr:after{content:"',v,'";visibility:hidden}'].join(""),function(b){a=b.offsetHeight>=1}),a},C.video=function(){var a=b.createElement("video"),c=!1;try{(c=!!a.canPlayType)&&(c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),c.h264=a.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,""))}catch(d){}return c},C.audio=function(){var a=b.createElement("audio"),c=!1;try{(c=!!a.canPlayType)&&(c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),c.mp3=a.canPlayType("audio/mpeg;").replace(/^no$/,""),c.wav=a.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),c.m4a=(a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")).replace(/^no$/,""))}catch(d){}return c},C.localstorage=function(){try{return localStorage.setItem(r,r),localStorage.removeItem(r),!0}catch(a){return!1}},C.sessionstorage=function(){try{return sessionStorage.setItem(r,r),sessionStorage.removeItem(r),!0}catch(a){return!1}},C.webworkers=function(){return!!a.Worker},C.applicationcache=function(){return!!a.applicationCache},C.svg=function(){return!!b.createElementNS&&!!b.createElementNS(B.svg,"svg").createSVGRect},C.inlinesvg=function(){var a=b.createElement("div");return a.innerHTML="",(a.firstChild&&a.firstChild.namespaceURI)==B.svg},C.smil=function(){return!!b.createElementNS&&/SVGAnimate/.test(w.call(b.createElementNS(B.svg,"animate")))},C.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(w.call(b.createElementNS(B.svg,"clipPath")))};for(var L in C)m(C,L)&&(l=L.toLowerCase(),o[l]=C[L](),F.push((o[l]?"":"no-")+l));return o.input||k(),o.addTest=function(a,b){if("object"==typeof a)for(var d in a)m(a,d)&&o.addTest(d,a[d]);else{if(a=a.toLowerCase(),o[a]!==c)return o;b="function"==typeof b?b():b,p&&(q.className+=" "+(b?"":"no-")+a),o[a]=b}return o},d(""),s=u=null,function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=r.elements;return"string"==typeof a?a.split(" "):a}function e(a){var b=q[a[o]];return b||(b={},p++,a[o]=p,q[p]=b),b}function f(a,c,d){if(c||(c=b),k)return c.createElement(a);d||(d=e(c));var f;return f=d.cache[a]?d.cache[a].cloneNode():n.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),f.canHaveChildren&&!m.test(a)?d.frag.appendChild(f):f}function g(a,c){if(a||(a=b),k)return a.createDocumentFragment();c=c||e(a);for(var f=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)f.createElement(h[g]);return f}function h(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return r.shivMethods?f(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/\w+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(r,b.frag)}function i(a){a||(a=b);var d=e(a);return r.shivCSS&&!j&&!d.hasCSS&&(d.hasCSS=!!c(a,"article,aside,figcaption,figure,footer,header,hgroup,nav,section{display:block}mark{background:#FF0;color:#000}")),k||h(a,d),a}var j,k,l=a.html5||{},m=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,n=/^<|^(?:a|b|button|code|div|fieldset|form|h1|h2|h3|h4|h5|h6|i|iframe|img|input|label|li|link|ol|option|p|param|q|script|select|span|strong|style|table|tbody|td|textarea|tfoot|th|thead|tr|ul)$/i,o="_html5shiv",p=0,q={};!function(){try{var a=b.createElement("a");a.innerHTML="",j="hidden"in a,k=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){j=!0,k=!0}}();var r={elements:l.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:l.shivCSS!==!1,supportsUnknownElements:k,shivMethods:l.shivMethods!==!1,type:"default",shivDocument:i,createElement:f,createDocumentFragment:g};a.html5=r,i(b)}(this,b),o._version=n,o._prefixes=x,o._domPrefixes=A,o._cssomPrefixes=z,o.mq=I,o.hasEvent=J,o.testProp=function(a){return h([a])},o.testAllProps=j,o.testStyles=H,o.prefixed=function(a,b,c){return b?j(a,b,c):j(a,"pfx")},q.className=q.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(p?" js "+F.join(" "):""),o}(this,this.document),function(a,b,c){function d(a){return"[object Function]"==q.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=r.shift();s=1,a?a.t?o(function(){("c"==a.t?m.injectCss:m.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):s=0}function i(a,c,d,e,f,i,j){function k(b){if(!n&&g(l.readyState)&&(t.r=n=1,!s&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&o(function(){v.removeChild(l)},50);for(var d in A[c])A[c].hasOwnProperty(d)&&A[c][d].onload()}}var j=j||m.errorTimeout,l={},n=0,q=0,t={t:d,s:c,e:f,a:i,x:j};1===A[c]&&(q=1,A[c]=[],l=b.createElement(a)),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,q)},r.splice(e,0,t),"img"!=a&&(q||2===A[c]?(v.insertBefore(l,u?null:p),o(k,j)):A[c].push(l))}function j(a,b,c,d,f){return s=0,b=b||"j",e(a)?i("c"==b?x:w,a,b,this.i++,c,d,f):(r.splice(this.i++,0,a),1==r.length&&h()),this}function k(){var a=m;return a.loader={load:j,i:0},a}var l,m,n=b.documentElement,o=a.setTimeout,p=b.getElementsByTagName("script")[0],q={}.toString,r=[],s=0,t="MozAppearance"in n.style,u=t&&!!b.createRange().compareNode,v=u?n:p.parentNode,n=a.opera&&"[object Opera]"==q.call(a.opera),n=!!b.attachEvent&&!n,w=t?"object":n?"script":"img",x=n?"script":w,y=Array.isArray||function(a){return"[object Array]"==q.call(a)},z=[],A={},B={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}};m=function(a){function b(a){var b,c,d,a=a.split("!"),e=z.length,f=a.pop(),g=a.length,f={url:f,origUrl:f,prefixes:a};for(c=0;g>c;c++)d=a[c].split("="),(b=B[d.shift()])&&(f=b(f,d));for(c=0;e>c;c++)f=z[c](f);return f}function g(a,e,f,g,i){var j=b(a),l=j.autoCallback;j.url.split(".").pop().split("?").shift(),j.bypass||(e&&(e=d(e)?e:e[a]||e[g]||e[a.split("/").pop().split("?")[0]]||h),j.instead?j.instead(a,e,f,g,i):(A[j.url]?j.noexec=!0:A[j.url]=1,f.load(j.url,j.forceCSS||!j.forceJS&&"css"==j.url.split(".").pop().split("?").shift()?"c":c,j.noexec,j.attrs,j.timeout),(d(e)||d(l))&&f.load(function(){k(),e&&e(j.origUrl,i,g),l&&l(j.origUrl,i,g),A[j.url]=2})))}function i(a,b){function c(a,c){if(a){if(e(a))c||(l=function(){var a=[].slice.call(arguments);m.apply(this,a),n()}),g(a,l,b,0,j);else if(Object(a)===a)for(i in h=function(){var b,c=0;for(b in a)a.hasOwnProperty(b)&&c++;return c}(),a)a.hasOwnProperty(i)&&(!c&&!--h&&(d(l)?l=function(){var a=[].slice.call(arguments);m.apply(this,a),n()}:l[i]=function(a){return function(){var b=[].slice.call(arguments);a&&a.apply(this,b),n()}}(m[i])),g(a[i],l,b,i,j))}else!c&&n()}var h,i,j=!!a.test,k=a.load||a.both,l=a.callback||f,m=l,n=a.complete||f;c(j?a.yep:a.nope,!!k),k&&c(k)}var j,l,n=this.yepnope.loader;if(e(a))g(a,0,n,0);else if(y(a))for(j=0;jhere
    to load your old dashboard anyway.')):l.path(e.default_route);else{var a=h.kbnType,b=h.kbnId;switch(a){case"elasticsearch":u.elasticsearch_load("dashboard",b);break;case"temp":u.elasticsearch_load("temp",b);break;case"file":u.file_load(b);break;case"script":u.script_load(b);break;case"local":u.local_load();break;default:l.path(e.default_route)}}};this.refresh=function(){j.$broadcast("refresh")};var w=function(a){d.defaults(a,r),d.defaults(a.loader,r.loader);var b=d.findWhere(a.pulldowns,{type:"filtering"});b||a.pulldowns.push({type:"filtering",enable:!1});var c=d.findWhere(a.pulldowns,{type:"annotations"});return c||a.pulldowns.push({type:"annotations",enable:!1}),d.each(a.rows,function(a){d.each(a.panels,function(a){"graphite"===a.type&&(a.type="graph")})}),a};this.dash_load=function(b){return o.cancel_all(),j.fullscreen=!1,b=w(b),window.document.title="Metrics - "+b.title,u.current=a.copy(b),b.refresh&&u.set_interval(b.refresh),u.availablePanels=e.panels,j.$emit("dashboard-loaded",u.current),!0},this.gist_id=function(a){return u.is_gist(a)?a.match(t)[0].replace(/.*\//,""):void 0},this.is_gist=function(a){return d.isUndefined(a)||""===a||d.isNull(a.match(t))?!1:a.match(t).length>0?!0:!1},this.to_file=function(){var b=new Blob([a.toJson(u.current,!0)],{type:"application/json;charset=utf-8"});return window.saveAs(b,u.current.title+"-"+(new Date).getTime()),!0},this.set_default=function(a){return g.localstorage?(d.isUndefined(window.localStorage.dashboard)||delete window.localStorage.dashboard,window.localStorage.grafanaDashboardDefault=a,!0):!1},this.purge_default=function(){return g.localstorage?(d.isUndefined(window.localStorage.dashboard)||delete window.localStorage.dashboard,delete window.localStorage.grafanaDashboardDefault,!0):!1},this.share_link=function(a,b,c){return{location:window.location.href.replace(window.location.hash,""),type:b,id:c,link:window.location.href.replace(window.location.hash,"")+"#dashboard/"+b+"/"+c,title:a}};var x=function(b,c){var e;d.templateSettings={interpolate:/\{\{(.+?)\}\}/g};var f=d.template(b),g=f({ARGS:c});try{e=a.fromJson(g)}catch(h){e=!1}return e};this.local_load=function(){var a=JSON.parse(window.localStorage.dashboard);a.rows.unshift({height:"30",title:"Deprecation Notice",panels:[{title:"WARNING: Legacy dashboard",type:"text",span:12,mode:"html",content:'This dashboard has been loaded from the browsers local cache. If you use another brower or computer you will not be able to access it! \n\n

    Good news!

    Kibana now stores saved dashboards in Elasticsearch. Click the button in the top left to save this dashboard. Then select "Set as Home" from the "advanced" sub menu to automatically use the stored dashboard as your Kibana landing page afterwards

    Tip: You may with to remove this row before saving!'}]}),u.dash_load(a)},this.file_load=function(a){return i({url:"app/dashboards/"+a.replace(/\.(?!json)/,"/")+"?"+(new Date).getTime(),method:"GET",transformResponse:function(a){return x(a,h)}}).then(function(a){return a?(u.dash_load(w(a.data)),!0):!1},function(){return p.set("Error","Could not load dashboards/"+a+". Please make sure it exists","error"),!1})},this.elasticsearch_load=function(b,c){var d={url:e.elasticsearch+"/"+e.grafana_index+"/"+b+"/"+c+"?"+(new Date).getTime(),method:"GET",transformResponse:function(b){return x(a.fromJson(b)._source.dashboard,h)}};return e.elasticsearchBasicAuth&&(d.withCredentials=!0,d.headers={Authorization:"Basic "+e.elasticsearchBasicAuth}),i(d).error(function(a,b){return 0===b?p.set("Error","Could not contact Elasticsearch at "+e.elasticsearch+". Please ensure that Elasticsearch is reachable from your system.","error"):p.set("Error","Could not find "+c+". If you are using a proxy, ensure it is configured correctly","error"),!1}).success(function(a){u.dash_load(a)})},this.script_load=function(a){return i({url:"app/dashboards/"+a.replace(/\.(?!js)/,"/"),method:"GET"}).then(function(a){var e=new Function("ARGS","kbn","_","moment","window","document","$","jQuery",a.data),g=e(h,c,d,f,window,document,b,b);if(d.isFunction(g)){var i=q.defer();return g(function(a){j.$apply(function(){i.resolve({data:a})})}),i.promise}return{data:g}}).then(function(a){return a?(u.dash_load(w(a.data)),!0):!1},function(){return p.set("Error","Could not load scripts/"+a+". Please make sure it exists and returns a valid dashboard","error"),!1})},this.elasticsearch_save=function(b,c,f){var g,h=d.clone(u.current);"dashboard"===b&&(g=h.title=d.isUndefined(c)?u.current.title:c);var i=s.Document(e.grafana_index,b,g).source({user:"guest",group:"guest",title:h.title,tags:h.tags,dashboard:a.toJson(h)});return i="temp"===b&&f?i.ttl(f):i,i.doIndex(function(a){return"dashboard"===b&&l.path("/dashboard/elasticsearch/"+c),a},function(){return!1})},this.elasticsearch_delete=function(a){return s.Document(e.grafana_index,"dashboard",a).doDelete(function(a){return a},function(){return!1})},this.save_gist=function(b,c){var e=d.clone(c||u.current);return e.title=b||u.current.title,i({url:"https://api.github.com/gists",method:"POST",data:{description:e.title,"public":!1,files:{"kibana-dashboard.json":{content:a.toJson(e,!0)}}}}).then(function(a){return a.data.html_url},function(){return!1})},this.gist_list=function(a){return i.jsonp("https://api.github.com/gists/"+a+"?callback=JSON_CALLBACK").then(function(a){var b=[];return d.each(a.data.data.files,function(a){try{var c=JSON.parse(a.content);b.push(c)}catch(d){return!1}}),b},function(){return!1})},this.start_scheduled_refresh=function(a){this.cancel_scheduled_refresh(),u.refresh_timer=o.register(m(function(){u.start_scheduled_refresh(a),u.refresh()},a))},this.cancel_scheduled_refresh=function(){o.cancel(u.refresh_timer)},this.set_interval=function(a){if(u.current.refresh=a,a){var b=c.interval_to_ms(a);this.start_scheduled_refresh(b)}else this.cancel_scheduled_refresh()}}])}),define("services/graphite/graphiteDatasource",["angular","underscore","jquery","config","kbn","moment"],function(a,b,c,d,e,f){var g=a.module("kibana.services");g.factory("GraphiteDatasource",["dashboard","$q","$http",function(a,d,g){function h(a){this.type="graphite",this.basicAuth=a.basicAuth,this.url=a.url,this.editorSrc="app/partials/graphite/editor.html",this.name=a.name,this.render_method=a.render_method||"POST"}return h.prototype.query=function(a,b){try{var c={from:this.translateTime(b.range.from,"round-down"),until:this.translateTime(b.range.to,"round-up"),targets:b.targets,format:b.format,maxDataPoints:b.maxDataPoints},e=this.buildGraphiteParams(a,c);if("png"===b.format)return d.when(this.url+"/render?"+e.join("&"));var f={method:this.render_method,url:"/render"};return"GET"===f.method?f.url=f.url+"?"+e.join("&"):(f.data=e.join("&"),f.headers={"Content-Type":"application/x-www-form-urlencoded"}),this.doGraphiteRequest(f)}catch(g){return d.reject(g)}},h.prototype.events=function(a){try{var b="";return a.tags&&(b="&tags="+a.tags),this.doGraphiteRequest({method:"GET",url:"/events/get_data?from="+this.translateTime(a.range.from)+"&until="+this.translateTime(a.range.to)+b})}catch(c){return d.reject(c)}},h.prototype.translateTime=function(a,c){if(b.isString(a)){if("now"===a)return"now";if(a.indexOf("now")>=0)return a=a.substring(3),a=a.replace("m","min"),a=a.replace("M","mon");a=e.parseDate(a)}return a=f.utc(a),"round-up"===c?a.get("s")&&a.add("m",1):"round-down"===c&&a.get("s")&&a.subtract("m",1),a.unix()},h.prototype.metricFindQuery=function(a,c){var e;try{e=encodeURIComponent(a.applyTemplateToTarget(c))}catch(f){return d.reject(f)}return this.doGraphiteRequest({method:"GET",url:"/metrics/find/?query="+e}).then(function(a){return b.map(a.data,function(a){return{text:a.text,expandable:a.expandable?!0:!1}})})},h.prototype.listDashboards=function(a){return this.doGraphiteRequest({method:"GET",url:"/dashboard/find/",params:{query:a||""}}).then(function(a){return a.data.dashboards})},h.prototype.loadDashboard=function(a){return this.doGraphiteRequest({method:"GET",url:"/dashboard/load/"+encodeURIComponent(a)})},h.prototype.doGraphiteRequest=function(a){return this.basicAuth&&(a.withCredentials=!0,a.headers=a.headers||{},a.headers.Authorization="Basic "+this.basicAuth),a.url=this.url+a.url,g(a)},h.prototype.buildGraphiteParams=function(a,d){var e=[],f=["target","targets","from","until","rawData","format","maxDataPoints"];return"png"!==d.format&&(d.format="json"),b.each(d,function(d,g){-1!==c.inArray(g,f)&&("targets"===g?b.each(d,function(b){if(b.target&&!b.hide){var c=a.applyTemplateToTarget(b.target);e.push("target="+encodeURIComponent(c))}},this):null!==d&&e.push(g+"="+encodeURIComponent(d)))},this),e},h}])}),define("services/influxdb/influxdbDatasource",["angular","underscore","kbn"],function(a,b,c){var d=a.module("kibana.services");d.factory("InfluxDatasource",["$q","$http",function(a,d){function e(a){this.type="influxDB",this.editorSrc="app/partials/influxdb/editor.html",this.urls=a.urls,this.username=a.username,this.password=a.password,this.name=a.name,this.templateSettings={interpolate:/\[\[([\s\S]+?)\]\]/g}}function f(a,b,c){return b().then(void 0,function(d){0!==d.status||d.status>=300?a.reject(d):setTimeout(function(){return f(a,b,Math.min(2*c,3e4))},c)})}function g(a,c,d){var e=[];return b.each(d,function(d){var f,g=d.columns.indexOf("time"),h=1,i=-1;c&&(i=d.columns.indexOf(c)),b.each(d.columns,function(a,b){"time"!==a&&"sequence_number"!==a&&a!==c&&(h=b)});var j={};c?j=b.groupBy(d.points,function(a){return a[i]}):j[d.columns[h]]=d.points,b.each(j,function(b,i){for(var j=[],k=0;k now() - "+b:"time > "+b+" and time < "+c}function i(a){if(b.isString(a)){if("now"===a)return"now()";if(a.indexOf("now")>=0)return a.substring(4);a=c.parseDate(a)}return j(a)}function j(a){return(a.getTime()/1e3).toFixed(0)+"s"}return e.prototype.query=function(c,d){var e=b.map(d.targets,function(a){var e,f="";if(a.hide||!(a.series&&a.column||a.query))return[];var i,j=h(d);if(a.rawQuery){e=a.query,e=e.replace(";","");var k=e.split(" "),l=e.toLowerCase().split(" "),m=l.indexOf("where"),n=l.indexOf("group"),o=l.indexOf("order");-1!==l[1].indexOf(",")&&(i=l[1].replace(",","")),-1!==m?k.splice(m+1,0,j,"and"):-1!==n?k.splice(n,0,"where",j):-1!==o?k.splice(o,0,"where",j):(k.push("where"),k.push(j)),e=k.join(" "),e=c.applyTemplateToTarget(e)}else{var p="select [[group]][[group_comma]] [[func]]([[column]]) from [[series]] where [[timeFilter]] [[condition_add]] [[condition_key]] [[condition_op]] [[condition_value]] group by time([[interval]])[[group_comma]] [[group]] order asc",q={series:a.series,column:a.column,func:a.function,timeFilter:j,interval:a.interval||d.interval,condition_add:a.condition_filter?"and":"",condition_key:a.condition_filter?a.condition_key:"",condition_op:a.condition_filter?a.condition_op:"",condition_value:a.condition_filter?a.condition_value:"",group_comma:a.groupby_field_add&&a.groupby_field?",":"",group:a.groupby_field_add?a.groupby_field:""};q.series.match("^/.*/")||(q.series='"'+q.series+'"'),e=b.template(p,q,this.templateSettings),e=c.applyTemplateToTarget(e),a.alias&&(f=c.applyTemplateToTarget(a.alias)),a.groupby_field_add&&(i=a.groupby_field),a.query=e}var r=b.partial(g,f,i);return this.doInfluxRequest(e,f).then(r)},this);return a.all(e).then(function(a){return{data:b.flatten(a)}})},e.prototype.listColumns=function(a){return this.doInfluxRequest("select * from /"+a+"/ limit 1").then(function(a){return a?a[0].columns:[]})},e.prototype.listSeries=function(){return this.doInfluxRequest("list series").then(function(a){return b.map(a,function(a){return a.name})})},e.prototype.metricFindQuery=function(c,d){var e;try{e=c.applyTemplateToTarget(d)}catch(f){return a.reject(f)}return this.doInfluxRequest(d).then(function(a){return b.map(a[0].points,function(a){return{text:a[1],expandable:!1}})})},e.prototype.doInfluxRequest=function(b){var c=this,e=a.defer();return f(e,function(){var a=c.urls.shift();c.urls.push(a);var f={u:c.username,p:c.password,time_precision:"s",q:b},g={method:"GET",url:a+"/series",params:f};return d(g).success(function(a){e.resolve(a)})},10),e.promise},e}])}),define("services/opentsdb/opentsdbDatasource",["angular","underscore","kbn"],function(a,b,c){var d=a.module("kibana.services");d.factory("OpenTSDBDatasource",["$q","$http",function(d,e){function f(a){this.type="opentsdb",this.editorSrc="app/partials/opentsdb/editor.html",this.url=a.url,this.name=a.name}function g(a,c){var d=[];b.each(a.dps,function(a,b){d.push([a,b])});var e=a.metric;if(!b.isEmpty(a.tags)){var f=[];b.each(b.pairs(a.tags),function(a){b.has(c,a[0])&&f.push(a[0]+"="+a[1])}),b.isEmpty(f)||(e=e+"{"+f.join(", ")+"}")}return{target:e,datapoints:d}}function h(b){if(!b.metric)return null;var c={metric:b.metric,aggregator:"avg"};return b.aggregator&&(c.aggregator=b.aggregator),b.shouldComputeRate&&(c.rate=!0,c.rateOptions={counter:!!b.isCounter}),b.shouldDownsample&&(c.downsample=b.downsampleInterval+"-"+b.downsampleAggregator),c.tags=a.copy(b.tags),c}function i(a){return"now"===a?null:(a=c.parseDate(a),a.getTime())}return f.prototype.query=function(a,c){var e=i(c.range.from),f=i(c.range.to),j=b.compact(b.map(c.targets,h));if(b.isEmpty(j)){var k=d.defer();return k.resolve({data:[]}),k.promise}var l={};return b.each(j,function(a){b.each(a.tags,function(a,b){l[b]=!0})}),this.performTimeSeriesQuery(j,e,f).then(function(a){var c=b.map(a.data,function(a){return g(a,l)});return{data:c}})},f.prototype.performTimeSeriesQuery=function(a,b,c){var d={start:b,queries:a};c&&(d.end=c);var f={method:"POST",url:this.url+"/api/query",data:d};return e(f)},f.prototype.performSuggestQuery=function(a,b){var c={method:"GET",url:this.url+"/api/suggest",params:{type:b,q:a}};return e(c).then(function(a){return a.data})},f}])}),define("services/kairosdb/kairosdbDatasource",["angular","underscore","kbn"],function(a,b,c){var d=a.module("kibana.services"),e=null;d.factory("KairosDBDatasource",["$q","$http",function(d,f){function g(a){this.type="kairosdb",this.editorSrc="app/partials/kairosdb/editor.html",this.url=a.url,this.name=a.name}function h(a,c,d){return a.data?"key"===c?b.keys(a.data.queries[0].results[0].tags):"value"===c&&b.has(a.data.queries[0].results[0].tags,d)?a.data.queries[0].results[0].tags[d]:[]:[]}function i(a){if(a.data.errors&&!b.isEmpty(a.data.errors)){var c={message:a.data.errors[0]};return d.reject(c)}return d.reject(a)}function j(a){var c=[];b.each(a.data.queries,function(a){var d=a.sample_size;console.log("sample_size:"+d+" samples"),b.each(a.results,function(a){var d=a.name;a.group_by&&(d+=" ( ",b.each(a.group_by,function(a){"tag"===a.name?b.each(a.group,function(a,b){d+=b+"="+a+" "}):"value"===a.name?d+="value_group="+a.group.group_number+" ":"time"===a.name&&(d+="time_group="+a.group.group_number+" ")}),d+=") ");for(var e=[],f=0;f=0){f=e+"_relative",a=a.substring(4);var g=/(\d+)\s*(\D+)/,h=g.exec(a);if(h){var i=h[1],j=h[2];switch(j){case"ms":j="milliseconds";break;case"s":j="seconds";break;case"m":j="minutes";break;case"h":j="hours";break;case"d":j="days";break;case"w":j="weeks";break;case"M":j="months";break;case"y":j="years";break;default:console.log("Unknown date ",a)}return void(d[f]={value:i,unit:j})}return void console.log("Unparseable date",a)}a=c.parseDate(a)}return b.isDate(a)?(f=e+"_absolute",void(d[f]=a.getTime())):void console.log("Date is neither string nor date")}return g.prototype.query=function(a,c){var e=c.range.from,f=c.range.to,g=b.compact(b.map(c.targets,b.partial(k,c)));if(b.isEmpty(g)){var h=d.defer();return h.resolve({data:[]}),h.promise}return this.performTimeSeriesQuery(g,e,f).then(j,i)},g.prototype.performTimeSeriesQuery=function(a,b,c){var d={metrics:a};d.cache_time=0,l(b,d,"start"),l(c,d,"end");var e={method:"POST",url:"/clusters/1/datapoints",data:d};return e.url=this.url+e.url,f(e)},g.prototype.performMetricSuggestQuery=function(){var a={url:this.url+"/metricnames",method:"GET"};return f(a).then(function(a){return a.data?a.data.results:[]})},g.prototype.performTagSuggestQuery=function(a,b,c,d){if(e&&a===e.metricName&&b.from===e.range.from&&b.to===e.range.to)return h(e.results,c,d);e={metricName:a,range:b};var g={metrics:[{name:a}]};l(b.from,g,"start"),l(b.to,g,"end");var i={url:this.url+"/clusters/1/datapointtags",method:"POST",data:g};return f(i).then(function(a){return e.results=a,h(a,c,d)})},g.prototype.convertToKairosInterval=function(a){var b=/(\d+(?:\.\d+)?)([Mwdhmsy])/,d=/(\d+(?:\.\d+)?)(ms)/,e=a.match(d);if(e||(e=a.match(b)),!e)throw new Error('Invalid interval string, expecting a number followed by one of "y M w d h m s ms"');var f=e[1],g=e[2];if(f%1!==0){if("ms"===g)throw new Error("Invalid interval value, cannot be smaller than the millisecond");f=Math.round(c.intervals_in_seconds[g]*f*1e3),g="ms"}switch(g){case"ms":g="milliseconds";break;case"s":g="seconds";break;case"m":g="minutes";break;case"h":g="hours";break;case"d":g="days";break;case"w":g="weeks";break;case"M":g="months";break;case"y":g="years";break;default:console.log("Unknown interval ",a)}return{value:f,unit:g}},g}])}),define("services/datasourceSrv",["angular","underscore","config","./graphite/graphiteDatasource","./influxdb/influxdbDatasource","./opentsdb/opentsdbDatasource","./kairosdb/kairosdbDatasource"],function(a,b,c){var d=a.module("kibana.services");d.service("datasourceSrv",["$q","filterSrv","$http","GraphiteDatasource","InfluxDatasource","OpenTSDBDatasource","KairosDBDatasource",function(a,d,e,f,g,h,i){this.init=function(){var a=b.findWhere(b.values(c.datasources),{"default":!0});a||(a=c.datasources[b.keys(c.datasources)[0]]),this.default=this.datasourceFactory(a)},this.datasourceFactory=function(a){switch(a.type){case"graphite":return new f(a);case"influxdb":return new g(a);case"opentsdb":return new h(a);case"kairosdb":return new i(a)}},this.get=function(a){if(!a)return this.default;var b=c.datasources[a];return b?this.datasourceFactory(b):null},this.listOptions=function(){return b.map(c.datasources,function(a,b){return{name:a.default?b+" (default)":b,value:a.default?null:b}})},this.init()}])}),define("services/filterSrv",["angular","underscore","config","kbn"],function(a,b,c,d){var e=a.module("kibana.services");e.factory("filterSrv",["dashboard","$rootScope","$timeout","$routeParams",function(a,c,e,f){var g={templateParameters:[],time:{}},h={updateTemplateData:function(a){var c={};b.each(this.templateParameters,function(b){if(a){var d=f[b.name];d&&(b.current={text:d,value:d})}b.current&&b.current.value&&(c[b.name]=b.current.value)}),this._templateData=c},addTemplateParameter:function(a){this.templateParameters.push(a),this.updateTemplateData()},applyTemplateToTarget:function(a){return-1===a.indexOf("[[")?a:b.template(a,this._templateData,this.templateSettings)},setTime:function(c){b.extend(this.time,c),"now"!==c.to?(this.old_refresh=this.dashboard.refresh,a.set_interval(!1)):this.old_refresh&&this.old_refresh!==this.dashboard.refresh&&(a.set_interval(this.old_refresh),this.old_refresh=null),e(function(){a.refresh()},0)},timeRange:function(a){var c=this.time;if(b.isUndefined(c)||b.isUndefined(c.from))return!1;if(a===!1)return{from:c.from,to:c.to};var e=c.from,f=c.to||new Date;return{from:d.parseDate(e),to:d.parseDate(f)}},removeTemplateParameter:function(a){this.templateParameters=b.without(this.templateParameters,a),this.dashboard.services.filter.list=this.templateParameters},init:function(a){b.defaults(this,g),this.dashboard=a,this.templateSettings={interpolate:/\[\[([\s\S]+?)\]\]/g},a.services&&a.services.filter&&(this.time=a.services.filter.time,this.templateParameters=a.services.filter.list||[],this.updateTemplateData(!0))}};return h}])}),define("services/timer",["angular","underscore"],function(a,b){var c=a.module("kibana.services");c.service("timer",["$timeout",function(a){var c=[];this.register=function(a){return c.push(a),a},this.cancel=function(d){c=b.without(c,d),a.cancel(d)},this.cancel_all=function(){b.each(c,function(b){a.cancel(b)}),c=[]}}])}),define("services/panelMove",["angular","underscore"],function(a,b){var c=a.module("kibana.services");c.service("panelMove",["dashboard","$rootScope",function(a,c){this.onStart=function(){a.panelDragging=!0,c.$apply()},this.onOver=function(){c.$apply()},this.onOut=function(){c.$apply()},this.onDrop=function(e,f,g){var h=g.draggableScope.$parent.$parent.row.panels,i=g.droppableScope.$parent.$parent.row.panels,j=g.dragSettings.index,k=g.dropSettings.index;h.splice(j,1),b.isUndefined(i)||i.splice(k,0,g.dragItem),a.panelDragging=!1,d(),c.$apply(),c.$broadcast("render")},this.onStop=function(){a.panelDragging=!1,d(),c.$apply()};var d=function(){b.each(a.current.rows,function(a){a.panels=b.without(a.panels,{}),a.panels=b.compact(a.panels)})}}])}),define("services/keyboardManager",["angular"],function(a){var b=a.module("kibana.services");b.factory("keyboardManager",["$window","$timeout",function(b,c){var d={},e={type:"keydown",propagate:!1,inputDisabled:!1,target:b.document,keyCode:!1};return d.keyboardEvent={},d.bind=function(f,g,h){var i,j,k,l;h=a.extend({},e,h),f=f.toLowerCase(),j=h.target,"string"==typeof h.target&&(j=document.getElementById(h.target)),i=function(a){if(a=a||b.event,h.inputDisabled){var d;if(a.target?d=a.target:a.srcElement&&(d=a.srcElement),3===d.nodeType&&(d=d.parentNode),"INPUT"===d.tagName||"TEXTAREA"===d.tagName)return}a.keyCode?k=a.keyCode:a.which&&(k=a.which);var e=String.fromCharCode(k).toLowerCase();188===k&&(e=","),190===k&&(e=".");for(var i=f.split("+"),j=0,m={"`":"~",1:"!",2:"@",3:"#",4:"$",5:"%",6:"^",7:"&",8:"*",9:"(",0:")","-":"_","=":"+",";":":","'":'"',",":"<",".":">","/":"?","\\":"|"},n={esc:27,escape:27,tab:9,space:32,"return":13,enter:13,backspace:8,scrolllock:145,scroll_lock:145,scroll:145,capslock:20,caps_lock:20,caps:20,numlock:144,num_lock:144,num:144,pause:19,"break":19,insert:45,home:36,"delete":46,end:35,pageup:33,page_up:33,pu:33,pagedown:34,page_down:34,pd:34,left:37,up:38,right:39,down:40,f1:112,f2:113,f3:114,f4:115,f5:116,f6:117,f7:118,f8:119,f9:120,f10:121,f11:122,f12:123},o={shift:{wanted:!1,pressed:a.shiftKey?!0:!1},ctrl:{wanted:!1,pressed:a.ctrlKey?!0:!1},alt:{wanted:!1,pressed:a.altKey?!0:!1},meta:{wanted:!1,pressed:a.metaKey?!0:!1}},p=0,q=i.length;l=i[p],q>p;p++){switch(l){case"ctrl":case"control":j++,o.ctrl.wanted=!0;break;case"shift":case"alt":case"meta":j++,o[l].wanted=!0}l.length>1?n[l]===k&&j++:h.keyCode?h.keyCode===k&&j++:e===l?j++:m[e]&&a.shiftKey&&(e=m[e],e===l&&j++)}return j!==i.length||o.ctrl.pressed!==o.ctrl.wanted||o.shift.pressed!==o.shift.wanted||o.alt.pressed!==o.alt.wanted||o.meta.pressed!==o.meta.wanted||(c(function(){g(a)},1),h.propagate)?void 0:(a.cancelBubble=!0,a.returnValue=!1,a.stopPropagation&&(a.stopPropagation(),a.preventDefault()),!1)},d.keyboardEvent[f]={callback:i,target:j,event:h.type},j.addEventListener?j.addEventListener(h.type,i,!1):j.attachEvent?j.attachEvent("on"+h.type,i):j["on"+h.type]=i},d.unbind=function(a){a=a.toLowerCase();var b=d.keyboardEvent[a];if(delete d.keyboardEvent[a],b){var c=b.event,e=b.target,f=b.callback;e.detachEvent?e.detachEvent("on"+c,f):e.removeEventListener?e.removeEventListener(c,f,!1):e["on"+c]=!1}},d}])}),define("services/annotationsSrv",["angular","underscore","moment"],function(a,b,c){var d=a.module("kibana.services");d.service("annotationsSrv",["dashboard","datasourceSrv","$q","alertSrv","$rootScope",function(a,d,e,f,g){function h(a){console.log("Annotation error: ",a),f.set("Annotations","Could not fetch annotations","error")}function i(a,b){for(var c=0;c
    ";a.tags&&(b+=(a.tags||"")+"
    "),b+=""+c(a.time).format("YYYY-MM-DD HH:mm:ss")+"
    ",a.data&&(b+=a.data.replace(/\n/g,"
    ")),b+="",m.push({annotation:a.annotation,min:a.time,max:a.time,eventType:a.annotation.name,title:null,description:b,score:1})}var k,l,m=[];this.init=function(){g.$on("refresh",this.clearCache),g.$on("dashboard-loaded",this.dashboardLoaded),this.dashboardLoaded()},this.dashboardLoaded=function(){l=b.findWhere(a.current.pulldowns,{type:"annotations"})},this.clearCache=function(){k=null,m=[]},this.getAnnotations=function(a,b){if(!l.enable)return e.when(null);if(k)return k;var c=this.getGraphiteMetrics(a,b),d=this.getGraphiteEvents(b);return k=e.all(c.concat(d)).then(function(){return m})},this.getGraphiteEvents=function(a){var c=this.getAnnotationsByType("graphite events");if(0===c.length)return[];var e=b.map(c,function(c){return d.default.events({range:a,tags:c.tags}).then(function(a){b.each(a.data,function(a){j({annotation:c,time:1e3*a.when,description:a.what,tags:a.tags,data:a.data})})}).then(null,h)});return e},this.getAnnotationsByType=function(a){return b.where(l.annotations,{type:a,enable:!0})},this.getGraphiteMetrics=function(a,c){var e=this.getAnnotationsByType("graphite metric");if(0===e.length)return[];var f=b.map(e,function(e){var f={range:c,targets:[{target:e.target}],format:"json",maxDataPoints:100},g=b.partial(i,e);return d.default.query(a,f).then(g).then(null,h)});return f},this.init()}])}),define("services/playlistSrv",["angular","underscore","kbn"],function(a,b,c){var d=a.module("kibana.services");d.service("playlistSrv",["dashboard","$location","$rootScope",function(d,e,f){var g,h={dashboards:[]};this.init=function(){var b=window.localStorage["grafana-favorites"];b&&(h=a.fromJson(b))},this._save=function(){window.localStorage["grafana-favorites"]=a.toJson(h)},this._find=function(a){return b.findWhere(h.dashboards,{title:a})},this._remove=function(a){a&&(h.dashboards=b.without(h.dashboards,a))},this.isCurrentFavorite=function(){return this._find(d.current.title)?!0:!1},this.markAsFavorite=function(){var a=this._find(d.current.title);this._remove(a),h.dashboards.push({url:e.path(),title:d.current.title}),this._save()},this.removeAsFavorite=function(a){var b=this._find(a.title);this._remove(b),this._save()},this.getFavorites=function(){return h},this.start=function(b,d){var h=c.interval_to_ms(d),i=0;f.playlist_active=!0,g=setInterval(function(){f.$apply(function(){a.element(window).unbind("resize"),e.path(b[i%b.length].url),i++})},h)},this.stop=function(){clearInterval(g),f.playlist_active=!1},this.init()}])}),define("services/unsavedChangesSrv",["angular","underscore","config"],function(a,b,c){if(c.unsaved_changes_warning){var d=a.module("kibana.services");d.service("unsavedChangesSrv",["$rootScope","$modal","dashboard","$q","$location","$timeout",function(c,d,e,f,g,h){var i=this,j=c.$new();c.$on("dashboard-loaded",function(b,c){i.original=a.copy(c)}),c.$on("dashboard-saved",function(b,c){i.original=a.copy(c)}),c.$on("$routeChangeSuccess",function(){i.original=null}),window.onbeforeunload=function(){return i.has_unsaved_changes()?"There are unsaved changes to this dashboard":void 0},this.init=function(){c.$on("$locationChangeStart",function(a,b){i.has_unsaved_changes()&&(a.preventDefault(),i.next=b,i.open_modal())})},this.open_modal=function(){var a=d({template:"./app/partials/unsaved-changes.html",persist:!0,show:!1,scope:j,keyboard:!1});f.when(a).then(function(a){a.modal("show")})},this.has_unsaved_changes=function(){if(!i.original)return!1;var c=a.copy(e.current),d=i.original;c.services.filter.time=d.services.filter.time={},c.refresh=d.refresh;var f=b.findWhere(c.nav,{type:"timepicker"}),g=b.findWhere(d.nav,{type:"timepicker"});f&&g&&(f.now=g.now);var h=a.toJson(c),j=a.toJson(d);return h!==j?!0:!1},this.goto_next=function(){var a=g.absUrl().length-g.url().length,b=i.next.substring(a);g.url(b)},j.ignore=function(){i.original=null,i.goto_next()},j.save=function(){var a=c.$on("dashboard-saved",function(){i.goto_next()});h(a,2e3),c.$emit("save-dashboard")}}]).run(["unsavedChangesSrv",function(a){a.init()}])}}),define("services/all",["./alertSrv","./dashboard","./datasourceSrv","./filterSrv","./timer","./panelMove","./keyboardManager","./annotationsSrv","./playlistSrv","./unsavedChangesSrv"],function(){}),define("services/dashboard/dashboardKeyBindings",["angular","jquery","services/all"],function(a,b){var c=a.module("kibana.services.dashboard");c.service("dashboardKeybindings",["$rootScope","keyboardManager","dashboard",function(a,c,d){this.shortcuts=function(){a.$on("panel-fullscreen-enter",function(){a.fullscreen=!0}),a.$on("panel-fullscreen-exit",function(){a.fullscreen=!1}),a.$on("dashboard-saved",function(){a.fullscreen&&a.$emit("panel-fullscreen-exit")}),c.bind("ctrl+f",function(b){a.$emit("open-search",b)},{inputDisabled:!0}),c.bind("ctrl+h",function(){var a=d.current.hideControls;d.current.hideControls=!a,d.current.panel_hints=a},{inputDisabled:!0}),c.bind("ctrl+s",function(b){a.$emit("save-dashboard",b)},{inputDisabled:!0}),c.bind("ctrl+r",function(){d.refresh()},{inputDisabled:!0}),c.bind("ctrl+z",function(b){a.$emit("zoom-out",b)},{inputDisabled:!0}),c.bind("esc",function(){var c=b(".popover.in");c.length>0||a.$emit("panel-fullscreen-exit")},{inputDisabled:!0})}}])}),define("services/dashboard/all",["./dashboardKeyBindings"],function(){}),define("controllers/dash",["angular","jquery","config","underscore","services/all","services/dashboard/all"],function(a,b,c,d){var e=a.module("kibana.controllers");e.controller("DashCtrl",["$scope","$rootScope","$timeout","ejsResource","dashboard","filterSrv","dashboardKeybindings","alertSrv","panelMove","keyboardManager","grafanaVersion",function(a,b,e,f,g,h,i,j,k,l,m){a.requiredElasticSearchVersion=">=0.90.3",a.editor={index:0},a.grafanaVersion="@"===m[0]?"master":m,a.panelMoveDrop=k.onDrop,a.panelMoveStart=k.onStart,a.panelMoveStop=k.onStop,a.panelMoveOver=k.onOver,a.panelMoveOut=k.onOut,a.init=function(){a.config=c,a._=d,a.dashboard=g,a.dashAlerts=j,a.filter=h,a.filter.init(g.current),b.$on("dashboard-loaded",function(b,c){a.filter.init(c)}),j.clearAll(),a.reset_row(),a.ejs=f(c.elasticsearch,c.elasticsearchBasicAuth),a.bindKeyboardShortcuts()},a.bindKeyboardShortcuts=i.shortcuts,a.isPanel=function(a){return d.isNull(a)||d.isUndefined(a)||d.isUndefined(a.type)?!1:!0},a.add_row=function(a,b){a.rows.push(b)},a.add_row_default=function(){a.reset_row(),a.row.title="New row",a.add_row(g.current,a.row)},a.reset_row=function(){a.row={title:"",height:"250px",editable:!0}},a.row_style=function(a){return{"min-height":a.collapse?"5px":a.height}},a.panel_path=function(a){return a?"app/panels/"+a.replace(".","/"):!1},a.edit_path=function(b){var c=a.panel_path(b);return c?c+"/editor.html":!1},a.setEditorTabs=function(b){return a.editorTabs=["General","Panel"],d.isUndefined(b.editorTabs)||(a.editorTabs=d.union(a.editorTabs,d.pluck(b.editorTabs,"title"))),a.editorTabs},a.parse_error=function(a){var b=a.match("nested: (.*?);");return d.isNull(b)?a:b[1]},a.colors=["#7EB26D","#EAB839","#6ED0E0","#EF843C","#E24D42","#1F78C1","#BA43A9","#705DA0","#508642","#CCA300","#447EBC","#C15C17","#890F02","#0A437C","#6D1F62","#584477","#B7DBAB","#F4D598","#70DBED","#F9BA8F","#F29191","#82B5D8","#E5A8E2","#AEA2E0","#629E51","#E5AC0E","#64B0C8","#E0752D","#BF1B00","#0A50A1","#962D82","#614D93","#9AC48A","#F2C96D","#65C5DB","#F9934E","#EA6460","#5195CE","#D683CE","#806EB7","#3F6833","#967302","#2F575E","#99440A","#58140C","#052B51","#511749","#3F2B5B","#E0F9D7","#FCEACA","#CFFAFF","#F9E2D2","#FCE2DE","#BADFF4","#F9D9F9","#DEDAF7"],a.init()}])}),define("controllers/dashLoader",["angular","underscore","moment"],function(a,b,c){var d=a.module("kibana.controllers");d.controller("dashLoader",["$scope","$rootScope","$http","dashboard","alertSrv","$location","playlistSrv",function(a,d,e,f,g,h,i){a.loader=f.current.loader,a.init=function(){a.gist_pattern=/(^\d{5,}$)|(^[a-z0-9]{10,}$)|(gist.github.com(\/*.*)\/[a-z0-9]{5,}\/*$)/,a.gist=a.gist||{},a.elasticsearch=a.elasticsearch||{},d.$on("save-dashboard",function(){a.elasticsearch_save("dashboard",!1)}),d.$on("zoom-out",function(){a.zoom(2)})},a.exitFullscreen=function(){d.$emit("panel-fullscreen-exit")},a.showDropdown=function(a){if(b.isUndefined(f.current.loader))return!0;var c=f.current.loader;return"load"===a?c.load_elasticsearch||c.load_gist||c.load_local:"save"===a?c.save_elasticsearch||c.save_gist||c.save_local||c.save_default:"share"===a?c.save_temp:!1},a.set_default=function(){f.set_default(h.path())?g.set("Home Set","This page has been set as your default dashboard","success",5e3):g.set("Incompatible Browser","Sorry, your browser is too old for this feature","error",5e3)},a.purge_default=function(){f.purge_default()?g.set("Local Default Clear","Your default dashboard has been reset to the default","success",5e3):g.set("Incompatible Browser","Sorry, your browser is too old for this feature","error",5e3)},a.elasticsearch_save=function(c,e){f.elasticsearch_save(c,f.current.title,e).then(function(e){return b.isUndefined(e._id)?void g.set("Save failed","Dashboard could not be saved to Elasticsearch","error",5e3):(g.set("Dashboard Saved",'Dashboard has been saved to Elasticsearch as "'+e._id+'"',"success",5e3),"temp"===c&&(a.share=f.share_link(f.current.title,"temp",e._id)),void d.$emit("dashboard-saved",f.current))})},a.elasticsearch_delete=function(c){confirm("Are you sure you want to delete dashboard?")&&f.elasticsearch_delete(c).then(function(d){if(b.isUndefined(d))g.set("Dashboard Not Deleted","An error occurred deleting the dashboard","error",5e3);else if(d.found){g.set("Dashboard Deleted",c+" has been deleted","success",5e3);var e=b.where(a.elasticsearch.dashboards,{_id:c})[0];a.elasticsearch.dashboards=b.without(a.elasticsearch.dashboards,e)}else g.set("Dashboard Not Found","Could not find "+c+" in Elasticsearch","warning",5e3)})},a.save_gist=function(){f.save_gist(a.gist.title).then(function(c){b.isUndefined(c)?g.set("Save failed","Gist could not be saved","error",5e3):(a.gist.last=c,g.set("Gist saved",'You will be able to access your exported dashboard file at '+c+" in a moment","success"))})},a.gist_dblist=function(b){f.gist_list(b).then(function(b){b&&b.length>0?a.gist.files=b:g.set("Gist Failed","Could not retrieve dashboard list from gist","error",5e3)})},a.zoom=function(a){var b=this.filter.timeRange(),d=b.to.valueOf()-b.from.valueOf(),e=b.to.valueOf()-d/2,f=e+d*a/2,g=e-d*a/2;if(f>Date.now()&&b.to=e&&(1===d?(b.row.panels[0].span=6,a.span=6):2===d&&(b.row.panels[0].span=4,b.row.panels[1].span=4,a.span=4)),b.row.panels.push(a)},b.delete_row=function(){confirm("Are you sure you want to delete this row?")&&(b.dashboard.current.rows=c.without(b.dashboard.current.rows,b.row))},b.move_row=function(a){var d=b.dashboard.current.rows,e=c.indexOf(d,b.row),f=e+a;f>=0&&f<=d.length-1&&c.move(d,e,e+a)},b.add_panel_default=function(a){b.reset_panel(a),b.add_panel(b.panel),e(function(){b.$broadcast("render")})},b.set_height=function(a){b.row.height=a,b.$broadcast("render")},b.remove_panel_from_row=function(a,b){confirm("Are you sure you want to remove this "+b.type+" panel?")&&(a.panels=c.without(a.panels,b))},b.duplicatePanel=function(d,e){e=e||b.row;var f=b.rowSpan(e);if(9>=f)e.panels.push(a.copy(d));else{var g=b.dashboard.current.rows,h=c.indexOf(g,e);if(h===g.length-1){var i=a.copy(b.row);i.panels=[],b.dashboard.current.rows.push(i),b.duplicatePanel(d,i)}else b.duplicatePanel(d,g[h+1])}},b.reset_panel=function(a){function d(a){return a?c.isString(a)?a:a+"px":"200px"}var e=4,f=12-b.rowSpan(b.row);b.panel={error:!1,span:e>f&&f>0?f:e,editable:!0,type:a},b.row.height=d(b.row.height)},b.init()}])}),define("controllers/submenuCtrl",["angular","app","underscore"],function(a,b,c){var d=a.module("kibana.controllers");d.controller("SubmenuCtrl",["$scope",function(a){var b={enable:!0};c.defaults(a.pulldown,b),a.init=function(){a.panel=a.pulldown,a.row=a.pulldown},a.init()}])}),define("controllers/pulldown",["angular","app","underscore"],function(a,b,c){var d=a.module("kibana.controllers");d.controller("PulldownCtrl",["$scope","$rootScope","$timeout",function(a,b,d){var e={collapse:!1,notice:!1,enable:!0};c.defaults(a.pulldown,e),a.init=function(){a.panel=a.pulldown,a.row=a.pulldown},a.toggle_pulldown=function(b){b.collapse=b.collapse?!1:!0,b.collapse?a.row.notice=!1:d(function(){a.$broadcast("render")})},a.init()}])}),define("controllers/search",["angular","underscore","config","jquery"],function(a,b,c,d){var e=a.module("kibana.controllers");e.controller("SearchCtrl",["$scope","$rootScope","dashboard","$element","$location",function(a,e,f,g,h){a.init=function(){a.giveSearchFocus=0,a.selectedIndex=-1,a.results={dashboards:[],tags:[],metrics:[]},a.query={query:"title:"},e.$on("open-search",a.openSearch)},a.keyDown=function(b){if(27===b.keyCode&&g.find(".dropdown-toggle").dropdown("toggle"),40===b.keyCode&&a.selectedIndex++,38===b.keyCode&&a.selectedIndex--,13===b.keyCode){if(a.tagsOnly){var c=a.results.tags[a.selectedIndex];return void(c&&a.filterByTag(c.term))}var e=a.results.dashboards[a.selectedIndex];e&&(h.path("/dashboard/elasticsearch/"+encodeURIComponent(e._id)),setTimeout(function(){d("body").click()}))}},a.searchDasboards=function(d){var e=a.ejs.Request().indices(c.grafana_index).types("dashboard"),f=0===d.indexOf("tags!:");if(f){var g=d.substring(6,d.length);d="tags:"+g+"*"}else 0===d.length&&(d="title:"),"*"!==d[d.length-1]&&(d+="*");return e.query(a.ejs.QueryStringQuery(d)).sort("_uid").facet(a.ejs.TermsFacet("tags").field("tags").order("term").size(50)).size(20).doSearch().then(function(c){return b.isUndefined(c.hits)?(a.results.dashboards=[],void(a.results.tags=[])):(a.tagsOnly=f,a.results.dashboards=c.hits.hits,void(a.results.tags=c.facets.tags.terms))})},a.filterByTag=function(b,c){a.query.query="tags:"+b+" AND title:",a.search(),a.giveSearchFocus=a.giveSearchFocus+1,c&&(c.stopPropagation(),c.preventDefault())},a.showTags=function(b){b.stopPropagation(),a.tagsOnly=!a.tagsOnly,a.query.query=a.tagsOnly?"tags!:":"",a.giveSearchFocus=a.giveSearchFocus+1,a.selectedIndex=-1,a.search()},a.search=function(){a.showImport=!1,a.selectedIndex=-1;var d=a.query.query.toLowerCase();if(0!==d.indexOf("m:"))return d=d.replace(" and "," AND "),void a.searchDasboards(d);d=d.substring(2,d.length);var e=d.split(" "),f=a.ejs.BoolQuery(),g=b.map(e,function(b){return a.ejs.MatchQuery("metricPath_ng",b).boost(1.2)}),h=a.ejs.BoolQuery();h.must(g);var i=a.ejs.FieldQuery("metricPath",d+"*").boost(1.2);f.should([h,i]);var j=a.ejs.Request().indices(c.grafana_index).types("metricKey"),k=j.query(f).size(20).doSearch();k.then(function(b){a.results.metrics=b&&b.hits&&b.hits.hits.length>0?{metrics:b.hits.hits}:{metric:[]}})},a.openSearch=function(b){b&&g.find(".dropdown-toggle").dropdown("toggle"),a.giveSearchFocus=a.giveSearchFocus+1,a.query.query="title:",a.search()},a.addMetricToCurrentDashboard=function(a){f.current.rows.push({title:"",height:"250px",editable:!0,panels:[{type:"graphite",title:"test",span:12,targets:[{target:a}]}]})},a.toggleImport=function(b){b.stopPropagation(),a.showImport=!a.showImport},a.newDashboard=function(){h.url("/dashboard/file/empty.json")}}]),e.directive("xngFocus",function(){return function(a,b,c){d(b).click(function(a){a.stopPropagation()}),a.$watch(c.xngFocus,function(a){setTimeout(function(){a&&b.focus()},200)},!0)}})}),define("controllers/metricKeys",["angular","underscore","config"],function(a,b,c){var d=a.module("kibana.controllers");d.controller("MetricKeysCtrl",["$scope","$http","$q",function(d,e,f){function g(a,d,g){return f.all(b.map(c.datasources,function(b){return(b.type="graphite")?e.get(b.url+a).then(d,g):void 0}))}function h(a,b){return a||a.data||0!==a.data.length?a.data.length===b?f.when("done"):(b=b||0,l(a.data[b]).then(function(){return h(a,b+1)})):f.reject("No metrics from graphite")}function i(){var a=f.defer();return e.delete(n,o).success(function(){a.resolve("ok")}).error(function(b,c){404===c?a.resolve("ok"):a.reject("elastic search returned unexpected error")}),a.promise}function j(){return e.put(n,{settings:{analysis:{analyzer:{metric_path_ngram:{tokenizer:"my_ngram_tokenizer"}},tokenizer:{my_ngram_tokenizer:{type:"nGram",min_gram:"3",max_gram:"8",token_chars:["letter","digit","punctuation","symbol"]}}}},mappings:{metricKey:{properties:{metricPath:{type:"multi_field",fields:{metricPath:{type:"string",index:"analyzed",index_analyzer:"standard"},metricPath_ng:{type:"string",index:"analyzed",index_analyzer:"metric_path_ngram"}}}}}}},o)}function k(a){var c=a.data;if(!c||0===c.length)return void console.log("no data");var d=b.map(c,function(a){return a.expandable?m(a.id+".*"):a.leaf?l(a.id):void 0});return f.all(d)}function l(a){var b=d.ejs.Document(c.grafana_metrics_index,"metricKey",a).source({metricPath:a});return b.doIndex(function(){d.infoText="Indexing "+a,d.metricCounter=d.metricCounter+1},function(){d.errorText="failed to save metric "+a})}function m(a){return g("/metrics/find/?query="+a,k)}var n=c.elasticsearch+"/"+c.grafana_metrics_index+"/",o={};c.elasticsearchBasicAuth&&(o.withCredentials=!0,o.headers={Authorization:"Basic "+c.elasticsearchBasicAuth}),d.init=function(){d.metricPath="prod.apps.api.boobarella.*",d.metricCounter=0},d.createIndex=function(){d.errorText=null,d.infoText=null,i().then(j).then(function(){d.infoText="Index created!"}).then(null,function(b){d.errorText=a.toJson(b)})},d.loadMetricsFromPath=function(){return d.errorText=null,d.infoText=null,d.metricCounter=0,m(d.metricPath).then(function(){d.infoText="Indexing completed!"},function(a){d.errorText="Error: "+a})},d.loadAll=function(){d.infoText="Fetching all metrics from graphite...",g("/metrics/index.json",h).then(function(){d.infoText="Indexing complete!"}).then(null,function(a){d.errorText=a})}}])}),define("services/graphite/gfunc",["underscore"],function(a){function b(a){a.params=a.params||[],a.defaultParams=a.defaultParams||[],a.category&&a.category.push(a),d[a.name]=a,d[a.shortName||a.name]=a}function c(a){this.def=a,this.params=a.defaultParams.slice(0),this.updateText()}var d=[],e={Combine:[],Transform:[],Calculate:[],Filter:[],Special:[]};return b({name:"scaleToSeconds",category:e.Transform,params:[{name:"seconds",type:"int"}],defaultParams:[1]}),b({name:"holtWintersForecast",category:e.Calculate}),b({name:"holtWintersConfidenceBands",category:e.Calculate,params:[{name:"delta",type:"int"}],defaultParams:[3]}),b({name:"holtWintersAberration",category:e.Calculate,params:[{name:"delta",type:"int"}],defaultParams:[3]}),b({name:"nPercentile",category:e.Calculate,params:[{name:"Nth percentile",type:"int"}],defaultParams:[95]}),b({name:"sumSeries",shortName:"sum",category:e.Combine}),b({name:"averageSeries",shortName:"avg",category:e.Combine}),b({name:"isNonNull",category:e.Combine}),b({name:"rangeOfSeries",category:e.Combine}),b({name:"percentileOfSeries",category:e.Combine,params:[{name:"n",type:"int"},{name:"interpolate",type:"select",options:["true","false"]}],defaultParams:[95,"false"]}),b({name:"sumSeriesWithWildcards",category:e.Combine,params:[{name:"node",type:"int"}],defaultParams:[3]}),b({name:"maxSeries",shortName:"max",category:e.Combine}),b({name:"minSeries",shortName:"min",category:e.Combine}),b({name:"averageSeriesWithWildcards",category:e.Combine,params:[{name:"node",type:"int"}],defaultParams:[3]}),b({name:"alias",category:e.Special,params:[{name:"alias",type:"string"}],defaultParams:["alias"]}),b({name:"aliasSub",category:e.Special,params:[{name:"search",type:"string"},{name:"replace",type:"string"}],defaultParams:["",""]}),b({name:"stacked",category:e.Special,params:[{name:"stack",type:"string"}],defaultParams:["stacked"]}),b({name:"consolidateBy",category:e.Special,params:[{name:"function",type:"string",options:["sum","average","min","max"]}],defaultParams:["max"]}),b({name:"groupByNode",category:e.Special,params:[{name:"node",type:"int",options:[1,2,3,4,5,6,7,8,9,10,12]},{name:"function",type:"string",options:["sum","avg"]}],defaultParams:[3,"sum"]}),b({name:"aliasByNode",category:e.Special,params:[{name:"node",type:"int",options:[0,1,2,3,4,5,6,7,8,9,10,12]},{name:"node",type:"int",options:[0,-1,-2,-3,-4,-5,-6,-7],optional:!0}],defaultParams:[3]}),b({name:"substr",category:e.Special,params:[{name:"start",type:"int",options:[-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,10,12]},{name:"stop",type:"int",options:[-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,10,12]}],defaultParams:[0,0]}),b({name:"sortByName",category:e.Special}),b({name:"sortByMaxima",category:e.Special}),b({name:"sortByMinima",category:e.Special}),b({name:"sortByTotal",category:e.Special}),b({name:"aliasByMetric",category:e.Special}),b({name:"randomWalk",category:e.Special,params:[{name:"name",type:"string"}],defaultParams:["randomWalk"]}),b({name:"countSeries",category:e.Special}),b({name:"constantLine",category:e.Special,params:[{name:"value",type:"int"}],defaultParams:[10]}),b({name:"cactiStyle",category:e.Special}),b({name:"keepLastValue",category:e.Special,params:[{name:"n",type:"int"}],defaultParams:[100]}),b({name:"scale",category:e.Transform,params:[{name:"factor",type:"int"}],defaultParams:[1]}),b({name:"offset",category:e.Transform,params:[{name:"amount",type:"int"}],defaultParams:[10]}),b({name:"transformNull",category:e.Transform,params:[{name:"amount",type:"int"}],defaultParams:[0]}),b({name:"integral",category:e.Transform}),b({name:"derivative",category:e.Transform}),b({name:"nonNegativeDerivative",category:e.Transform,params:[{name:"max value or 0",type:"int"}],defaultParams:[0]}),b({name:"timeShift",category:e.Transform,params:[{name:"amount",type:"select",options:["1h","6h","12h","1d","2d","7d","14d","30d"]}],defaultParams:["1d"]}),b({name:"summarize",category:e.Transform,params:[{name:"interval",type:"string"},{name:"func",type:"select",options:["sum","avg","min","max","last"]}],defaultParams:["1h","sum"]}),b({name:"smartSummarize",category:e.Transform,params:[{name:"interval",type:"string"},{name:"func",type:"select",options:["sum","avg","min","max","last"]}],defaultParams:["1h","sum"]}),b({name:"absolute",category:e.Transform}),b({name:"hitcount",category:e.Transform,params:[{name:"interval",type:"string"}],defaultParams:["10s"]}),b({name:"log",category:e.Transform,params:[{name:"base",type:"int"}],defaultParams:["10"]}),b({name:"averageAbove",category:e.Filter,params:[{name:"n",type:"int"}],defaultParams:[25]}),b({name:"averageBelow",category:e.Filter,params:[{name:"n",type:"int"}],defaultParams:[25]}),b({name:"currentAbove",category:e.Filter,params:[{name:"n",type:"int"}],defaultParams:[25]}),b({name:"currentBelow",category:e.Filter,params:[{name:"n",type:"int"}],defaultParams:[25]}),b({name:"maximumAbove",category:e.Filter,params:[{name:"value",type:"int"}],defaultParams:[0]}),b({name:"maximumBelow",category:e.Filter,params:[{name:"value",type:"int"}],defaultParams:[0]}),b({name:"minimumAbove",category:e.Filter,params:[{name:"value",type:"int"}],defaultParams:[0]}),b({name:"limit",category:e.Filter,params:[{name:"n",type:"int"}],defaultParams:[5]}),b({name:"mostDeviant",category:e.Filter,params:[{name:"n",type:"int"}],defaultParams:[10]}),b({name:"exclude",category:e.Filter,params:[{name:"exclude",type:"string"}],defaultParams:["exclude"]}),b({name:"highestCurrent",category:e.Filter,params:[{name:"count",type:"int"}],defaultParams:[5]}),b({name:"highestMax",category:e.Filter,params:[{name:"count",type:"int"}],defaultParams:[5]}),b({name:"lowestCurrent",category:e.Filter,params:[{name:"count",type:"int"}],defaultParams:[5]}),b({name:"movingAverage",category:e.Filter,params:[{name:"window size",type:"int"}],defaultParams:[10]}),b({name:"movingMedian",category:e.Filter,params:[{name:"windowSize",type:"select",options:["1min","5min","15min","30min","1hour"]}],defaultParams:["1min"]}),b({name:"stdev",category:e.Filter,params:[{name:"n",type:"int"},{name:"tolerance",type:"int"}],defaultParams:[5,.1]}),b({name:"highestAverage",category:e.Filter,params:[{name:"count",type:"int"}],defaultParams:[5]}),b({name:"lowestAverage",category:e.Filter,params:[{name:"count",type:"int"}],defaultParams:[5]}),b({name:"removeAbovePercentile",category:e.Filter,params:[{name:"n",type:"int"}],defaultParams:[5]}),b({name:"removeAboveValue",category:e.Filter,params:[{name:"n",type:"int"}],defaultParams:[5]}),b({name:"removeBelowPercentile",category:e.Filter,params:[{name:"n",type:"int"}],defaultParams:[5]}),b({name:"removeBelowValue",category:e.Filter,params:[{name:"n",type:"int"}],defaultParams:[5]}),a.each(e,function(b,c){e[c]=a.sortBy(b,"name") -}),c.prototype.render=function(b){var c=this.def.name+"(",d=a.map(this.params,function(b){return a.isString(b)?"'"+b+"'":b});return void 0!==b&&d.unshift(b),c+d.join(",")+")"},c.prototype._hasMultipleParamsInString=function(a,b){return-1===a.indexOf(",")?!1:this.def.params[b+1]&&this.def.params[b+1].optional},c.prototype.updateParam=function(b,c){return this._hasMultipleParamsInString(b,c)?void a.each(b.split(","),function(a,b){this.updateParam(a.trim(),b)},this):(""===b&&this.def.params[c].optional?this.params.splice(c,1):this.params[c]="int"===this.def.params[c].type?parseFloat(b,10):b,void this.updateText())},c.prototype.updateText=function(){if(0===this.params.length)return void(this.text=this.def.name+"()");var b=this.def.name+"(";a.each(this.def.params,function(a,c){a.optional&&void 0===this.params[c]||(b+=this.params[c]+", ")},this),b=b.substring(0,b.length-2),b+=")",this.text=b},{createFuncInstance:function(b){if(a.isString(b)){if(!d[b])throw{message:"Method not found "+name};b=d[b]}return new c(b)},getFuncDef:function(a){return d[a]},getCategories:function(){return e}}}),define("services/graphite/lexer",["underscore"],function(a){function b(a){this.input=a,this.char=1,this.from=1}for(var c=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1319,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2308,2361,2365,2365,2384,2384,2392,2401,2417,2423,2425,2431,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3133,3160,3161,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3294,3294,3296,3297,3313,3314,3333,3340,3342,3344,3346,3386,3389,3389,3406,3406,3424,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3805,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4304,4346,4348,4348,4352,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5905,5920,5937,5952,5969,5984,5996,5998,6e3,6016,6067,6103,6103,6108,6108,6176,6263,6272,6312,6314,6314,6320,6389,6400,6428,6480,6509,6512,6516,6528,6571,6593,6599,6656,6678,6688,6740,6823,6823,6917,6963,6981,6987,7043,7072,7086,7087,7104,7141,7168,7203,7245,7247,7258,7293,7401,7404,7406,7409,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11502,11520,11557,11568,11621,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11823,11823,12293,12295,12321,12329,12337,12341,12344,12348,12353,12438,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,13312,19893,19893,19968,19968,40907,40907,40960,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42647,42656,42735,42775,42783,42786,42888,42891,42894,42896,42897,42912,42921,43002,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43648,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44002,44032,44032,55203,55203,55216,55238,55243,55291,63744,64045,64048,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,65856,65908,66176,66204,66208,66256,66304,66334,66352,66378,66432,66461,66464,66499,66504,66511,66513,66517,66560,66717,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67840,67861,67872,67897,68096,68096,68112,68115,68117,68119,68121,68147,68192,68220,68352,68405,68416,68437,68448,68466,68608,68680,69635,69687,69763,69807,73728,74606,74752,74850,77824,78894,92160,92728,110592,110593,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,131072,131072,173782,173782,173824,173824,177972,177972,177984,177984,178205,178205,194560,195101],d=[],e=0;128>e;e++)d[e]=e>=48&&57>=e||36===e||e>=65&&90>=e||95===e||45===e||42===e||58===e||37===e||e>=97&&122>=e;for(var f=[],g=0;128>g;g++)f[g]=d[g]||g>=48&&57>=g;return b.prototype={peek:function(a){return this.input.charAt(a||0)},skip:function(a){a=a||1,this.char+=a,this.input=this.input.slice(a)},tokenize:function(){for(var a,b=[];a=this.next();)b.push(a);return b},next:function(){this.from=this.char;var a;if(/\s/.test(this.peek())){for(a=this.char;/\s/.test(this.peek());)this.from+=1,this.skip();if(""===this.peek())return null}var b=this.scanStringLiteral();return b?b:(b=this.scanPunctuator()||this.scanNumericLiteral()||this.scanIdentifier()||this.scanTemplateSequence(),b?(this.skip(b.value.length),b):null)},scanTemplateSequence:function(){return"["===this.peek()&&"["===this.peek(1)?{type:"templateStart",value:"[[",pos:this.char}:"]"===this.peek()&&"]"===this.peek(1)?{type:"templateEnd",value:"[[",pos:this.char}:null},scanIdentifier:function(){function b(a){for(var b=0;bc?d[c]?(j+=1,a):null:b(c)?(j+=1,a):null},this),m=a.bind(function(){var a=this.peek(j),c=a.charCodeAt(0);return 92===c?k():128>c?f[c]?(j+=1,a):null:b(c)?(j+=1,a):null},this);if(h=l(),null===h)return null;for(i=h;h=m(),null!==h;)i+=h;switch(i){default:g="identifier"}return{type:g,value:i,pos:this.char}},scanNumericLiteral:function(){function a(a){return/^[0-9]$/.test(a)}function b(a){return/^[0-7]$/.test(a)}function c(a){return/^[0-9a-fA-F]$/.test(a)}function d(a){return"$"===a||"_"===a||"\\"===a||a>="a"&&"z">=a||a>="A"&&"Z">=a}var e,f=0,g="",h=this.input.length,i=this.peek(f);if("-"===i&&(g+=i,f+=1,i=this.peek(f)),"."!==i&&!a(i))return null;if("."!==i){if(g+=this.peek(f),f+=1,i=this.peek(f),"0"===g){if("x"===i||"X"===i){for(f+=1,g+=i;h>f&&(i=this.peek(f),c(i));)g+=i,f+=1;return g.length<=2?{type:"number",value:g,isMalformed:!0,pos:this.char}:h>f&&(i=this.peek(f),d(i))?null:{type:"number",value:g,base:16,isMalformed:!1,pos:this.char}}if(b(i)){for(f+=1,g+=i,e=!1;h>f;){if(i=this.peek(f),a(i))e=!0;else if(!b(i))break;g+=i,f+=1}return h>f&&(i=this.peek(f),d(i))?null:{type:"number",value:g,base:8,isMalformed:!1}}a(i)&&(f+=1,g+=i)}for(;h>f&&(i=this.peek(f),a(i));)g+=i,f+=1}if("."===i)for(g+=i,f+=1;h>f&&(i=this.peek(f),a(i));)g+=i,f+=1;if("e"===i||"E"===i){if(g+=i,f+=1,i=this.peek(f),("+"===i||"-"===i)&&(g+=this.peek(f),f+=1),i=this.peek(f),!a(i))return null;for(g+=i,f+=1;h>f&&(i=this.peek(f),a(i));)g+=i,f+=1}return h>f&&(i=this.peek(f),!this.isPunctuator(i))?null:{type:"number",value:g,base:10,pos:this.char,isMalformed:!isFinite(g)}},isPunctuator:function(a){switch(a){case".":case"(":case")":case",":case"{":case"}":return!0}return!1},scanPunctuator:function(){var a=this.peek();return this.isPunctuator(a)?{type:a,value:a,pos:this.char}:null},scanStringLiteral:function(){var a=this.peek();if('"'!==a&&"'"!==a)return null;var b="";for(this.skip();this.peek()!==a;){if(""===this.peek())return{type:"string",value:b,isUnclosed:!0,quote:a,pos:this.char};var c=this.peek(),d=1;b+=c,this.skip(d)}return this.skip(),{type:"string",value:b,isUnclosed:!1,quote:a,pos:this.char}}},b}),define("services/graphite/parser",["./lexer"],function(a){function b(b){this.expression=b,this.lexer=new a(b),this.tokens=this.lexer.tokenize(),this.index=0}return b.prototype={getAst:function(){return this.start()},start:function(){try{return this.functionCall()||this.metricExpression()}catch(a){return{type:"error",message:a.message,pos:a.pos}}},curlyBraceSegment:function(){if(this.match("identifier","{")||this.match("{")){for(var a="";!this.match("")&&!this.match("}");)a+=this.consumeToken().value;return this.match("}")||this.errorMark("Expected closing '}'"),a+=this.consumeToken().value,this.match("identifier")&&(a+=this.consumeToken().value),{type:"segment",value:a}}return null},metricSegment:function(){var a=this.curlyBraceSegment();if(a)return a;if(this.match("identifier")||this.match("number"))return{type:"segment",value:this.consumeToken().value};this.match("templateStart")||this.errorMark("Expected metric identifier"),this.consumeToken(),this.match("identifier")||this.errorMark("Expected identifier after templateStart");var b={type:"template",value:this.consumeToken().value};return this.match("templateEnd")||this.errorMark("Expected templateEnd"),this.consumeToken(),b},metricExpression:function(){if(!this.match("templateStart")&&!this.match("identifier")&&!this.match("number"))return null;var a={type:"metric",segments:[]};for(a.segments.push(this.metricSegment());this.match(".");){this.consumeToken();var b=this.metricSegment();b||this.errorMark("Expected metric identifier"),a.segments.push(b)}return a},functionCall:function(){if(!this.match("identifier","("))return null;var a={type:"function",name:this.consumeToken().value};return this.consumeToken(),a.params=this.functionParameters(),this.match(")")||this.errorMark("Expected closing paranthesis"),this.consumeToken(),a},functionParameters:function(){if(this.match(")")||this.match(""))return[];var a=this.functionCall()||this.numericLiteral()||this.metricExpression()||this.stringLiteral();return this.match(",")?(this.consumeToken(),[a].concat(this.functionParameters())):[a]},numericLiteral:function(){return this.match("number")?{type:"number",value:parseFloat(this.consumeToken().value)}:null},stringLiteral:function(){if(!this.match("string"))return null;var a=this.consumeToken();if(a.isUnclosed)throw{message:"Unclosed string parameter",pos:a.pos};return{type:"string",value:a.value}},errorMark:function(a){var b=this.tokens[this.index],c=b?b.type:"end of string";throw{message:a+" instead found "+c,pos:b?b.pos:this.lexer.char}},consumeToken:function(){return this.index++,this.tokens[this.index-1]},matchToken:function(a,b){var c=this.tokens[this.index+b];return void 0===c&&""===a||c&&c.type===a},match:function(a,b){return this.matchToken(a,0)&&(!b||this.matchToken(b,1))}},b}),define("controllers/graphiteTarget",["angular","underscore","config","../services/graphite/gfunc","../services/graphite/parser"],function(a,b,c,d,e){var f=a.module("kibana.controllers");f.controller("GraphiteTargetCtrl",["$scope",function(c){function f(){c.functions=[],c.segments=[],c.showTextEditor=!1,delete c.parserError;var a=new e(c.target.target),b=a.getAst();if(null===b)return void i(0);if("error"===b.type)return c.parserError=b.message+" at position: "+b.pos,void(c.showTextEditor=!0);try{g(b)}catch(d){console.log("error parsing target:",d.message),c.parserError=d.message,c.showTextEditor=!0}i(c.segments.length-1)}function g(a,e,f){if(null===a)return null;switch(a.type){case"function":var h=d.createFuncInstance(a.name);b.each(a.params,function(a,b){g(a,h,b)}),h.updateText(),c.functions.push(h);break;case"string":case"number":if(f-1>=e.def.params.length)throw{message:"invalid number of parameters to method "+e.def.name};0===f?e.params[f]=a.value:e.params[f-1]=a.value;break;case"metric":if(c.segments.length>0)throw{message:"Multiple metric params not supported, use text editor."};c.segments=b.map(a.segments,function(a){var b={type:a.type,val:a.value,html:a.value};return"*"===a.value&&(b.html=''),"template"===a.type&&(b.val=b.html="[["+a.value+"]]",b.html=""+b.html+""),b})}}function h(a){var d=c.segments.slice(0,a);return b.reduce(d,function(a,b){return a?a+"."+b.val:b.val},"")}function i(a){if(0===a)return void c.segments.push({html:"select metric"});var b=h(a+1);return c.datasource.metricFindQuery(c.filter,b).then(function(b){if(0===b.length)return c.segments=c.segments.splice(0,a),void c.segments.push({html:"select metric"});if(b[0].expandable){if(c.segments.length!==a)return i(a+1);c.segments.push({html:"select metric"})}}).then(null,function(a){c.parserError=a.message||"Failed to issue metric query"})}function j(a){b.each(c.segments,function(b,c){b.focus=a===c})}function k(a,b){return b.render(a)}c.init=function(){c.target.target=c.target.target||"",f()},c.getAltSegments=function(a){c.altSegments=[];var d=0===a?"*":h(a)+".*";return c.datasource.metricFindQuery(c.filter,d).then(function(a){b.each(a,function(a){a.html=a.val=a.text}),b.each(c.filter.templateParameters,function(b){a.unshift({type:"template",html:"[["+b.name+"]]",val:"[["+b.name+"]]",expandable:!0})}),a.unshift({val:"*",html:'',expandable:!0}),c.altSegments=a}).then(null,function(a){c.parserError=a.message||"Failed to issue metric query"})},c.setSegment=function(a,b){return delete c.parserError,c.segments[b].val=c.altSegments[a].val,c.segments[b].html=c.altSegments[a].html,c.altSegments[a].expandable?i(b+1).then(function(){j(b+1),c.targetChanged()}):(c.segments=c.segments.splice(0,b+1),j(b+1),void c.targetChanged())},c.targetTextChanged=function(){f(),c.$parent.get_data()},c.targetChanged=function(){if(!c.parserError){var a=c.target.target,d=h(c.segments.length);c.target.target=b.reduce(c.functions,k,d),c.target.target!==a&&c.$parent.get_data()}},c.removeFunction=function(a){c.functions=b.without(c.functions,a),c.targetChanged()},c.addFunction=function(a){var b=d.createFuncInstance(a);b.added=!0,c.functions.push(b),c.moveAliasFuncLast(),c.smartlyHandleNewAliasByNode(b),!b.params.length&&b.added&&c.targetChanged()},c.moveAliasFuncLast=function(){var a=b.find(c.functions,function(a){return"alias"===a.def.name||"aliasByNode"===a.def.name||"aliasByMetric"===a.def.name});a&&(c.functions=b.without(c.functions,a),c.functions.push(a))},c.smartlyHandleNewAliasByNode=function(a){if("aliasByNode"===a.def.name)for(var b=0;b=0)return a.params[0]=b,a.added=!1,void c.targetChanged()},c.duplicate=function(){var b=a.copy(c.target);c.panel.targets.push(b)}}]),f.directive("focusMe",["$timeout","$parse",function(a,b){return{link:function(c,d,e){var f=b(e.focusMe);c.$watch(f,function(b){b===!0&&a(function(){d[0].focus()})})}}}])}),define("controllers/graphiteImport",["angular","app","underscore"],function(a,b,c){var d=a.module("kibana.controllers");d.controller("GraphiteImportCtrl",["$scope","$rootScope","$timeout","datasourceSrv","dashboard",function(b,d,e,f,g){function h(b,d){var e,f,h,i=2,j=300;e={title:"",panels:[],height:j},f=a.copy(e);var k=a.copy(g.current);k.rows=[],k.title=b.name,k.rows.push(f),c.each(b.graphs,function(b){f.panels.length===i&&(f=a.copy(e),k.rows.push(f)),h={type:"graphite",span:12/i,title:b[1].title,targets:[],datasource:d},c.each(b[1].target,function(a){h.targets.push({target:a})}),f.panels.push(h)}),g.dash_load(k)}b.init=function(){console.log("hej!"),b.datasources=f.listOptions(),b.setDatasource(null)},b.setDatasource=function(a){return b.datasource=f.get(a),b.datasource?void 0:void(b.error="Cannot find datasource "+a)},b.listAll=function(a){delete b.error,b.datasource.listDashboards(a).then(function(a){b.dashboards=a}).then(null,function(a){b.error=a.message||"Error while fetching list of dashboards"})},b.import=function(a){delete b.error,b.datasource.loadDashboard(a).then(function(a){if(!a.data||!a.data.state)throw{message:"no dashboard state received from graphite"};h(a.data.state,b.datasource.name)}).then(null,function(a){b.error=a.message||"Failed to import dashboard"})}}])}),define("controllers/influxTargetCtrl",["angular"],function(a){var b=a.module("kibana.controllers"),c=null;b.controller("InfluxTargetCtrl",["$scope","$timeout",function(b,d){b.init=function(){b.target.function=b.target.function||"mean",b.target.column=b.target.column||"value",b.rawQuery=!1,b.functions=["count","mean","sum","min","max","mode","distinct","median","derivative","stddev","first","last","difference"],b.operators=["=","=~",">","<","!~","<>"],b.oldSeries=b.target.series,b.$on("typeahead-updated",function(){d(b.get_data)})},b.showQuery=function(){b.target.rawQuery=!0},b.hideQuery=function(){b.target.rawQuery=!1},b.seriesBlur=function(){b.oldSeries!==b.target.series&&(b.oldSeries=b.target.series,b.columnList=null,b.get_data())},b.changeFunction=function(a){b.target.function=a,b.get_data()},b.listColumns=function(a,c){return b.columnList?b.columnList:void b.$apply(function(){b.datasource.listColumns(b.target.series).then(function(a){b.columnList=a,c(a)})})},b.listSeries=function(a,d){return c&&""!==a?c:(c=[],void b.datasource.listSeries().then(function(a){c=a,d(c)}))},b.duplicate=function(){var c=a.copy(b.target);b.panel.targets.push(c)}}])}),define("controllers/playlistCtrl",["angular","underscore","config"],function(a,b,c){var d=a.module("kibana.controllers");d.controller("PlaylistCtrl",["$scope","playlistSrv",function(a,d){a.init=function(){a.timespan=c.playlist_timespan,a.loadFavorites(),a.$on("modal-opened",a.loadFavorites)},a.loadFavorites=function(){a.favDashboards=d.getFavorites().dashboards,b.each(a.favDashboards,function(a){a.include=!0})},a.removeAsFavorite=function(b){d.removeAsFavorite(b),a.loadFavorites()},a.start=function(){var c=b.where(a.favDashboards,{include:!0});d.start(c,a.timespan)}}])}),define("controllers/inspectCtrl",["angular"],function(a){var b=a.module("kibana.controllers");b.controller("InspectCtrl",["$scope",function(a){function b(a){for(var b=[],c=a.split("&"),d=0;d0&&b.push({key:e[0],value:window.unescape(e[1])})}return b}var c=a.inspector;a.init=function(){a.editor={index:0},c.error&&(c.error.stack?(a.editor.index=2,a.stack_trace=c.error.stack,a.message=c.error.message):c.error.config&&c.error.config.data&&(a.editor.index=1,a.request_parameters=b(c.error.config.data),-1!==c.error.data.indexOf("DOCTYPE")&&(a.response_html=c.error.data)))}}]),a.module("kibana.directives").directive("iframeContent",["$parse",function(a){return{restrict:"A",link:function(b,c,d){var e=a(d.iframeContent),f=e(b);b.$on("$destroy",function(){c.remove()});var g=document.createElement("iframe");g.width="100%",g.height="400px",g.style.border="none",g.src="about:blank",c.append(g),g.contentWindow.document.open("text/html","replace"),g.contentWindow.document.write(f),g.contentWindow.document.close()}}}])}),define("controllers/opentsdbTargetCtrl",["angular","underscore","kbn"],function(a,b,c){var d=a.module("kibana.controllers");d.controller("OpenTSDBTargetCtrl",["$scope","$timeout",function(d,e){function f(a){var d={};if(a.metric||(d.metric="You must supply a metric name."),a.shouldDownsample)try{a.downsampleInterval?c.describe_interval(a.downsampleInterval):d.downsampleInterval="You must supply a downsample interval (e.g. '1m' or '1h')."}catch(e){d.downsampleInterval=e.message}return a.tags&&b.has(a.tags,a.currentTagKey)&&(d.tags="Duplicate tag key '"+a.currentTagKey+"'."),d}d.init=function(){d.target.errors=f(d.target),d.aggregators=["avg","sum","min","max","dev","zimsum","mimmin","mimmax"],d.target.aggregator||(d.target.aggregator="sum"),d.target.downsampleAggregator||(d.target.downsampleAggregator="sum"),d.$on("typeahead-updated",function(){e(d.targetBlur)})},d.targetBlur=function(){d.target.errors=f(d.target),!b.isEqual(d.oldTarget,d.target)&&b.isEmpty(d.target.errors)&&(d.oldTarget=a.copy(d.target),d.get_data())},d.duplicate=function(){var b=a.copy(d.target);d.panel.targets.push(b)},d.suggestMetrics=function(a,b){d.datasource.performSuggestQuery(a,"metrics").then(b)},d.suggestTagKeys=function(a,b){d.datasource.performSuggestQuery(a,"tagk").then(b)},d.suggestTagValues=function(a,b){d.datasource.performSuggestQuery(a,"tagv").then(b)},d.addTag=function(){return d.addTagMode?(d.target.tags||(d.target.tags={}),d.target.errors=f(d.target),d.target.errors.tags||(d.target.tags[d.target.currentTagKey]=d.target.currentTagValue,d.target.currentTagKey="",d.target.currentTagValue="",d.targetBlur()),void(d.addTagMode=!1)):void(d.addTagMode=!0)},d.removeTag=function(a){delete d.target.tags[a],d.targetBlur()}}])}),define("controllers/kairosdbTargetCtrl",["angular","underscore"],function(a,b){var c=a.module("kibana.controllers"),d=null;c.controller("KairosDBTargetCtrl",["$scope",function(c){function e(a){return parseInt(a)%1===0}function f(a){var b={};a.metric||(b.metric="You must supply a metric name.");try{a.sampling&&c.datasource.convertToKairosInterval(a.sampling)}catch(d){b.sampling=d.message}return b}c.init=function(){c.panel.stack=!1,c.target.downsampling||(c.target.downsampling="avg"),c.target.errors=f(c.target)},c.targetBlur=function(){c.target.errors=f(c.target),!b.isEqual(c.oldTarget,c.target)&&b.isEmpty(c.target.errors)&&(c.oldTarget=a.copy(c.target),c.get_data())},c.duplicate=function(){var b=a.copy(c.target);c.panel.targets.push(b)},c.suggestMetrics=function(a,b){d?b(d):c.updateMetricList()},c.updateMetricList=function(){c.metricListLoading=!0,d=[],c.datasource.performMetricSuggestQuery().then(function(a){return d=a,c.metricListLoading=!1,d})},c.suggestTagKeys=function(a,b){c.updateTimeRange(),b(c.datasource.performTagSuggestQuery(c.target.metric,c.rangeUnparsed,"key",""))},c.suggestTagValues=function(a,b){b(c.datasource.performTagSuggestQuery(c.target.metric,c.rangeUnparsed,"value",c.target.currentTagKey))},c.addFilterTag=function(){return c.addFilterTagMode?(c.target.tags||(c.target.tags={}),c.validateFilterTag(),c.target.errors.tags||(b.has(c.target.tags,c.target.currentTagKey)||(c.target.tags[c.target.currentTagKey]=[]),c.target.tags[c.target.currentTagKey].push(c.target.currentTagValue),c.target.currentTagKey="",c.target.currentTagValue="",c.targetBlur()),void(c.addFilterTagMode=!1)):(c.addFilterTagMode=!0,void c.validateFilterTag())},c.removeFilterTag=function(a){delete c.target.tags[a],0===b.size(c.target.tags)&&(c.target.tags=null),c.targetBlur()},c.validateFilterTag=function(){c.target.errors.tags=null,c.target.currentTagKey&&c.target.currentTagValue||(c.target.errors.tags="You must specify a tag name and value.")},c.addGroupBy=function(){if(!c.addGroupByMode)return c.addGroupByMode=!0,c.target.currentGroupByType="tag",c.isTagGroupBy=!0,void c.validateGroupBy();if(c.validateGroupBy(),b.isEmpty(c.target.errors.groupBy)){if(c.isTagGroupBy)c.target.groupByTags||(c.target.groupByTags=[]),console.log(c.target.groupBy.tagKey),b.contains(c.target.groupByTags,c.target.groupBy.tagKey)||(c.target.groupByTags.push(c.target.groupBy.tagKey),c.targetBlur()),c.target.groupBy.tagKey="";else{c.target.nonTagGroupBys||(c.target.nonTagGroupBys=[]);var a={name:c.target.currentGroupByType};c.isValueGroupBy?a.range_size=c.target.groupBy.valueRange:c.isTimeGroupBy&&(a.range_size=c.target.groupBy.timeInterval,a.group_count=c.target.groupBy.groupCount),c.target.nonTagGroupBys.push(a)}c.targetBlur()}c.isTagGroupBy=!1,c.isValueGroupBy=!1,c.isTimeGroupBy=!1,c.addGroupByMode=!1},c.removeGroupByTag=function(a){c.target.groupByTags.splice(a,1),0===b.size(c.target.groupByTags)&&(c.target.groupByTags=null),c.targetBlur()},c.removeNonTagGroupBy=function(a){c.target.nonTagGroupBys.splice(a,1),0===b.size(c.target.nonTagGroupBys)&&(c.target.nonTagGroupBys=null),c.targetBlur()},c.changeGroupByInput=function(){c.isTagGroupBy="tag"===c.target.currentGroupByType,c.isValueGroupBy="value"===c.target.currentGroupByType,c.isTimeGroupBy="time"===c.target.currentGroupByType,c.validateGroupBy()},c.validateGroupBy=function(){delete c.target.errors.groupBy;var a={};if(c.isGroupByValid=!0,c.isTagGroupBy&&(c.target.groupBy.tagKey||(c.isGroupByValid=!1,a.tagKey="You must supply a tag name")),c.isValueGroupBy&&(c.target.groupBy.valueRange&&e(c.target.groupBy.valueRange)||(a.valueRange="Range must be an integer",c.isGroupByValid=!1)),c.isTimeGroupBy){try{c.datasource.convertToKairosInterval(c.target.groupBy.timeInterval)}catch(d){a.timeInterval=d.message,c.isGroupByValid=!1}c.target.groupBy.groupCount&&e(c.target.groupBy.groupCount)||(a.groupCount="Group count must be an integer",c.isGroupByValid=!1)}b.isEmpty(a)||(c.target.errors.groupBy=a)},c.addHorizontalAggregator=function(){if(!c.addHorizontalAggregatorMode)return c.addHorizontalAggregatorMode=!0,c.target.currentHorizontalAggregatorName="avg",c.hasSamplingRate=!0,void c.validateHorizontalAggregator();if(c.validateHorizontalAggregator(),b.isEmpty(c.target.errors.horAggregator)){c.target.horizontalAggregators||(c.target.horizontalAggregators=[]);var a={name:c.target.currentHorizontalAggregatorName};c.hasSamplingRate&&(a.sampling_rate=c.target.horAggregator.samplingRate),c.hasUnit&&(a.unit=c.target.horAggregator.unit),c.hasFactor&&(a.factor=c.target.horAggregator.factor),c.hasPercentile&&(a.percentile=c.target.horAggregator.percentile),c.target.horizontalAggregators.push(a),c.targetBlur()}c.addHorizontalAggregatorMode=!1,c.hasSamplingRate=!1,c.hasUnit=!1,c.hasFactor=!1,c.hasPercentile=!1},c.removeHorizontalAggregator=function(a){c.target.horizontalAggregators.splice(a,1),0===b.size(c.target.horizontalAggregators)&&(c.target.horizontalAggregators=null),c.targetBlur()},c.changeHorAggregationInput=function(){c.hasSamplingRate=b.contains(["avg","dev","max","min","sum","least_squares","count","percentile"],c.target.currentHorizontalAggregatorName),c.hasUnit=b.contains(["sampler","rate"],c.target.currentHorizontalAggregatorName),c.hasFactor=b.contains(["div","scale"],c.target.currentHorizontalAggregatorName),c.hasPercentile="percentile"===c.target.currentHorizontalAggregatorName,c.validateHorizontalAggregator()},c.validateHorizontalAggregator=function(){delete c.target.errors.horAggregator;var a={};if(c.isAggregatorValid=!0,c.hasSamplingRate)try{c.datasource.convertToKairosInterval(c.target.horAggregator.samplingRate)}catch(d){a.samplingRate=d.message,c.isAggregatorValid=!1}c.hasFactor&&(c.target.horAggregator.factor?0===parseInt(c.target.horAggregator.factor)&&"div"===c.target.currentHorizontalAggregatorName&&(a.factor="Cannot divide by 0",c.isAggregatorValid=!1):(a.factor="You must supply a numeric value for this aggregator",c.isAggregatorValid=!1)),c.hasPercentile&&(!c.target.horAggregator.percentile||c.target.horAggregator.percentile<=0||c.target.horAggregator.percentile>1)&&(a.percentile="Percentile must be between 0 and 1",c.isAggregatorValid=!1),b.isEmpty(a)||(c.target.errors.horAggregator=a)},c.alert=function(a){alert(a)}}])}),define("controllers/all",["./dash","./dashLoader","./row","./submenuCtrl","./pulldown","./search","./metricKeys","./graphiteTarget","./graphiteImport","./influxTargetCtrl","./playlistCtrl","./inspectCtrl","./opentsdbTargetCtrl","./kairosdbTargetCtrl"],function(){}),define("directives/addPanel",["angular","app","underscore"],function(a,b,c){a.module("kibana.directives").directive("addPanel",["$compile",function(b){return{restrict:"A",link:function(d,e){d.$on("$destroy",function(){e.remove()}),d.$watch("panel.type",function(){var f=d.panel.type;d.reset_panel(f),c.isUndefined(d.panel.type)||(d.panel.loadingEditor=!0,d.require(["panels/"+d.panel.type.replace(".","/")+"/module"],function(){var c='
    ';e.html(b(a.element(c))(d)),d.panel.loadingEditor=!1}))})}}}])}),define("directives/arrayJoin",["angular","app","underscore"],function(a,b,c){a.module("kibana.directives").directive("arrayJoin",function(){return{restrict:"A",require:"ngModel",link:function(a,b,d,e){function f(a){return(a||"").split(",")}function g(a){return c.isArray(a)?(a||"").join(","):a}e.$parsers.push(f),e.$formatters.push(g)}}})}),define("directives/dashUpload",["angular"],function(a){var b=a.module("kibana.directives");b.directive("dashUpload",["timer","dashboard","alertSrv",function(a,b,c){return{restrict:"A",link:function(a){function d(c){for(var d,e=c.target.files,f=function(){return function(c){b.dash_load(JSON.parse(c.target.result)),a.$apply()}},g=0;d=e[g];g++){var h=new FileReader;h.onload=f(d),h.readAsText(d)}}window.File&&window.FileReader&&window.FileList&&window.Blob?document.getElementById("dashupload").addEventListener("change",d,!1):c.set("Oops","Sorry, the HTML5 File APIs are not fully supported in this browser.","error")}}}])}),define("controllers/panelBaseCtrl",["angular","underscore","jquery"],function(a,b,c){function d(a,d,e){var f=[{text:"Edit",configModal:"app/partials/paneleditor.html",condition:!a.panelMeta.fullscreenEdit},{text:"Edit",click:"toggleFullscreenEdit()",condition:a.panelMeta.fullscreenEdit},{text:"Fullscreen",click:"toggleFullscreen()",condition:a.panelMeta.fullscreenView},{text:"Duplicate",click:"duplicatePanel(panel)",condition:!0},{text:"Span",submenu:[{text:"1",click:"updateColumnSpan(1)"},{text:"2",click:"updateColumnSpan(2)"},{text:"3",click:"updateColumnSpan(3)"},{text:"4",click:"updateColumnSpan(4)"},{text:"5",click:"updateColumnSpan(5)"},{text:"6",click:"updateColumnSpan(6)"},{text:"7",click:"updateColumnSpan(7)"},{text:"8",click:"updateColumnSpan(8)"},{text:"9",click:"updateColumnSpan(9)"},{text:"10",click:"updateColumnSpan(10)"},{text:"11",click:"updateColumnSpan(11)"},{text:"12",click:"updateColumnSpan(12)"}],condition:!0},{text:"Remove",click:"remove_panel_from_row(row, panel)",condition:!0}];a.inspector={},a.panelMeta.menu=b.where(f,{condition:!0}),a.updateColumnSpan=function(b){a.panel.span=b,e(function(){a.$emit("render")})},a.enterFullscreenMode=function(b){var f=c(window).height(),g=Math.floor(.3*f),h=Math.floor(.7*f),i=a.range;if(a.height=b.edit?g:h,a.editMode=b.edit,!a.fullscreen)var j=d.$on("panel-fullscreen-exit",function(){a.editMode=!1,a.fullscreen=!1,delete a.height,j(),e(function(){i!==a.range?a.dashboard.refresh():a.$emit("render")})});c(window).scrollTop(0),a.fullscreen=!0,d.$emit("panel-fullscreen-enter"),e(function(){a.$emit("render")})},a.toggleFullscreenEdit=function(){return a.editMode?void d.$emit("panel-fullscreen-exit"):void a.enterFullscreenMode({edit:!0}) -},a.toggleFullscreen=function(){return a.fullscreen&&!a.editMode?void d.$emit("panel-fullscreen-exit"):void a.enterFullscreenMode({edit:!1})}}return d.$inject=["$scope","$rootScope","$timeout"],d}),define("directives/kibanaPanel",["angular","jquery","underscore","../controllers/panelBaseCtrl"],function(a,b,c,d){a.module("kibana.directives").directive("kibanaPanel",["$compile","$timeout","$rootScope","$injector",function(a,c,e,f){var g='
    ',h='
    ',i='
    × Oops! {{panel.error}} View details
    \n
    {{panel.title || "No title"}}
    \n
    ';return{restrict:"E",link:function(c,e,j){function k(b){b.appendTo(e),e.wrap(g),a(e.contents())(l),e.removeClass("ng-cloak")}var l=c.$new();c.kbnJqUiDraggableOptions={revert:"invalid",helper:function(){return b('
    ')},placeholder:"keep"},l.$on("$destroy",function(){e.unbind(),e.remove()}),l.initBaseController=function(a,b){f.invoke(d,a,{$scope:b})},c.$watch(j.type,function(a){e.addClass("ng-cloak");var b=a.replace(".","/");c.require(["jquery","text!panels/"+b+"/module.html"],function(a,d){var e=a(d),f=e.filter("ngcontroller, [ng-controller], .ng-controller");f=f.add(e.find("ngcontroller, [ng-controller], .ng-controller")),f.length?(f.first().prepend(i),f.first().find(".panel-header").nextAll().wrapAll(h),c.require(["panels/"+b+"/module"],function(){k(e)})):k(e)})})}}}])}),define("directives/kibanaSimplePanel",["angular","underscore"],function(a,b){a.module("kibana.directives").directive("kibanaSimplePanel",["$compile",function(c){var d=' loading ...';return{restrict:"E",link:function(e,f,g){function h(a){a.appendTo(f),c(f.contents())(e),f.removeClass("ng-cloak")}function i(a){f.addClass("ng-cloak");var b=a.replace(".","/");e.require(["jquery","text!panels/"+b+"/module.html"],function(a,c){var f=a(c),g=f.filter("ngcontroller, [ng-controller], .ng-controller");g=g.add(f.find("ngcontroller, [ng-controller], .ng-controller")),g.length?(g.first().prepend(d),e.require(["panels/"+b+"/module"],function(){h(f)})):h(f)})}e.$watch(g.type,function(a){i(a)}),g.panel&&e.$watch(g.panel,function(c){b.isUndefined(c)||(e=e.$new(),e.panel=a.fromJson(c))})}}}])}),define("directives/ngBlur",["angular"],function(a){a.module("kibana.directives").directive("ngBlur",["$parse",function(a){return function(b,c,d){var e=a(d.ngBlur);c.bind("blur",function(a){b.$apply(function(){e(b,{$event:a})})})}}])}),define("directives/ngModelOnBlur",["angular"],function(a){a.module("kibana.directives").directive("ngModelOnblur",function(){return{restrict:"A",require:"ngModel",link:function(a,b,c,d){"radio"!==c.type&&"checkbox"!==c.type&&(b.unbind("input").unbind("keydown").unbind("change"),b.bind("blur",function(){a.$apply(function(){d.$setViewValue(b.val())})}))}}})}),define("directives/tip",["angular","kbn"],function(a,b){a.module("kibana.directives").directive("tip",["$compile",function(c){return{restrict:"E",link:function(d,e,f){var g='";e.replaceWith(c(a.element(g))(d))}}}])}),define("directives/confirmClick",["angular","kbn"],function(a){var b=a.module("kibana.directives");b.directive("confirmClick",function(){return{restrict:"A",link:function(a,b,c){b.bind("click",function(){var b=c.confirmation||"Are you sure you want to do that?";if(window.confirm(b)){var d=c.confirmClick;d&&a.$apply(a.$eval(d))}})}}})}),define("directives/configModal",["angular","underscore","jquery"],function(a,b,c){a.module("kibana.directives").directive("configModal",["$modal","$q","$timeout",function(a,b,d){return{restrict:"A",link:function(e,f,g){var h=g.configModal,i="#"+h.replace(".html","").replace(/[\/|\.|:]/g,"-")+"-"+e.$id;f.bind("click",function(){if(c(i).length)return f.attr("data-target",i).attr("data-toggle","modal"),void e.$apply(function(){e.$broadcast("modal-opened")});var g=a({template:h,persist:!0,show:!1,scope:e,keyboard:!1});b.when(g).then(function(a){f.attr("data-target",i).attr("data-toggle","modal"),d(function(){a.data("modal").isShown||a.modal("show")},50)}),e.$apply()})}}}])}),function(a,b,c){function d(a,b,c){for(var d=[],e=0;e')}else{var j="sp-clear-display";d.push('')}}return"
    "+d.join("")+"
    "}function e(){for(var a=0;a1&&(delete a.localStorage[U],b.each(e,function(a,b){u(b)}))}catch(f){}try{lb=a.localStorage[U].split(";")}catch(f){}}Kb.bind("click.spectrum touchstart.spectrum",function(a){rb||B(),a.stopPropagation(),b(a.target).is("input")||a.preventDefault()}),(qb.is(":disabled")||R.disabled===!0)&&Q(),sb.click(j),Ab.change(A),Ab.bind("paste",function(){setTimeout(A,1)}),Ab.keydown(function(a){13==a.keyCode&&A()}),Db.text(R.cancelText),Db.bind("click.spectrum",function(a){a.stopPropagation(),a.preventDefault(),D("cancel")}),Eb.attr("title",R.clearText),Eb.bind("click.spectrum",function(a){a.stopPropagation(),a.preventDefault(),Rb=!0,I(),S&&L(!0)}),Fb.text(R.chooseText),Fb.bind("click.spectrum",function(a){a.stopPropagation(),a.preventDefault(),H()&&(L(!0),D())}),l(yb,function(a,b,c){ib=a/cb,Rb=!1,c.shiftKey&&(ib=Math.round(10*ib)/10),I()},y,z),l(vb,function(a,b){fb=parseFloat(b/ab),Rb=!1,R.showAlpha||(ib=1),I()},y,z),l(tb,function(a,b,c){if(c.shiftKey){if(!ob){var d=gb*Z,e=$-hb*$,f=Math.abs(a-d)>Math.abs(b-e);ob=f?"x":"y"}}else ob=null;var g=!ob||"x"===ob,h=!ob||"y"===ob;g&&(gb=parseFloat(a/Z)),h&&(hb=parseFloat(($-b)/$)),Rb=!1,R.showAlpha||(ib=1),I()},y,z),Mb?(F(Mb),J(),Pb=Ob||tinycolor(Mb).format,u(Mb)):J(),S&&C();var g=p?"mousedown.spectrum":"click.spectrum touchstart.spectrum";Bb.delegate(".sp-thumb-el",g,c),Cb.delegate(".sp-thumb-el:nth-child(1)",g,{ignore:!0},c)}function u(c){if(T){var d=tinycolor(c).toRgbString();if(-1===b.inArray(d,lb))for(lb.push(d);lb.length>mb;)lb.shift();if(U&&a.localStorage)try{a.localStorage[U]=lb.join(";")}catch(e){}}}function v(){var a,b=[],c=lb,d={};if(R.showPalette){for(var e=0;e=$||0>=Z||0>=ab)&&M(),sb.addClass(nb),ob=null,qb.trigger("dragstart.spectrum",[G()])}function z(){sb.removeClass(nb),qb.trigger("dragstop.spectrum",[G()])}function A(){var a=Ab.val();if(null!==a&&""!==a||!Sb){var b=tinycolor(a);b.ok?(F(b),L(!0)):Ab.addClass("sp-validation-error")}else F(null),L(!0)}function B(){Y?D():C()}function C(){var c=b.Event("beforeShow.spectrum");return Y?void M():(qb.trigger(c,[G()]),void(W.beforeShow(G())===!1||c.isDefaultPrevented()||(e(),Y=!0,b(pb).bind("click.spectrum",D),b(a).bind("resize.spectrum",X),Jb.addClass("sp-active"),sb.removeClass("sp-hidden"),M(),J(),Nb=G(),x(),W.show(Nb),qb.trigger("show.spectrum",[Nb]))))}function D(c){if((!c||"click"!=c.type||2!=c.button)&&Y&&!S){Y=!1,b(pb).unbind("click.spectrum",D),b(a).unbind("resize.spectrum",X),Jb.removeClass("sp-active"),sb.addClass("sp-hidden");var d=!tinycolor.equals(G(),Nb);d&&(Qb&&"cancel"!==c?L(!0):E()),W.hide(G()),qb.trigger("hide.spectrum",[G()])}}function E(){F(Nb,!0)}function F(a,b){if(tinycolor.equals(a,G()))return void J();var c,d;!a&&Sb?Rb=!0:(Rb=!1,c=tinycolor(a),d=c.toHsv(),fb=d.h%360/360,gb=d.s,hb=d.v,ib=d.a),J(),c&&c.ok&&!b&&(Pb=Ob||c.format)}function G(a){return a=a||{},Sb&&Rb?null:tinycolor.fromRatio({h:fb,s:gb,v:hb,a:Math.round(100*ib)/100},{format:a.format||Pb})}function H(){return!Ab.hasClass("sp-validation-error")}function I(){J(),W.move(G()),qb.trigger("move.spectrum",[G()])}function J(){Ab.removeClass("sp-validation-error"),K();var a=tinycolor.fromRatio({h:fb,s:1,v:1});tb.css("background-color",a.toHexString());var b=Pb;1>ib&&(0!==ib||"name"!==b)&&("hex"===b||"hex3"===b||"hex6"===b||"name"===b)&&(b="rgb");var c=G({format:b}),d="";if(Lb.removeClass("sp-clear-display"),Lb.css("background-color","transparent"),!c&&Sb)Lb.addClass("sp-clear-display");else{var e=c.toHexString(),f=c.toRgbString();if(q||1===c.alpha?Lb.css("background-color",f):(Lb.css("background-color","transparent"),Lb.css("filter",c.toFilter())),R.showAlpha){var g=c.toRgb();g.a=0;var h=tinycolor(g).toRgbString(),i="linear-gradient(left, "+h+", "+e+")";p?xb.css("filter",tinycolor(h).toFilter({gradientType:1},e)):(xb.css("background","-webkit-"+i),xb.css("background","-moz-"+i),xb.css("background","-ms-"+i),xb.css("background",i))}d=c.toString(b)}R.showInput&&Ab.val(d),R.showPalette&&w(),x()}function K(){var a=gb,b=hb;if(Sb&&Rb)zb.hide(),wb.hide(),ub.hide();else{zb.show(),wb.show(),ub.show();var c=a*Z,d=$-b*$;c=Math.max(-_,Math.min(Z-_,c-_)),d=Math.max(-_,Math.min($-_,d-_)),ub.css({top:d+"px",left:c+"px"});var e=ib*cb;zb.css({left:e-db/2+"px"});var f=fb*ab;wb.css({top:f-eb+"px"})}}function L(a){var b=G(),c="",d=!tinycolor.equals(b,Nb);b&&(c=b.toString(Pb),u(b)),Gb&&qb.val(c),Nb=b,a&&d&&(W.change(b),qb.trigger("change",[b]))}function M(){Z=tb.width(),$=tb.height(),_=ub.height(),bb=vb.width(),ab=vb.height(),eb=wb.height(),cb=yb.width(),db=zb.width(),S||(sb.css("position","absolute"),sb.offset(h(sb,Kb))),K(),R.showPalette&&w(),qb.trigger("reflow.spectrum")}function N(){qb.show(),Kb.unbind("click.spectrum touchstart.spectrum"),sb.remove(),Jb.remove(),o[Tb.id]=null}function O(a,d){return a===c?b.extend({},R):d===c?R[a]:(R[a]=d,void k())}function P(){rb=!1,qb.attr("disabled",!1),Kb.removeClass("sp-disabled")}function Q(){D(),rb=!0,qb.attr("disabled",!0),Kb.addClass("sp-disabled")}var R=f(i,g),S=R.flat,T=R.showSelectionPalette,U=R.localStorageKey,V=R.theme,W=R.callbacks,X=m(M,10),Y=!1,Z=0,$=0,_=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=1,jb=[],kb=[],lb=R.selectionPalette.slice(0),mb=R.maxSelectionSize,nb="sp-dragging",ob=null,pb=g.ownerDocument,qb=(pb.body,b(g)),rb=!1,sb=b(t,pb).addClass(V),tb=sb.find(".sp-color"),ub=sb.find(".sp-dragger"),vb=sb.find(".sp-hue"),wb=sb.find(".sp-slider"),xb=sb.find(".sp-alpha-inner"),yb=sb.find(".sp-alpha"),zb=sb.find(".sp-alpha-handle"),Ab=sb.find(".sp-input"),Bb=sb.find(".sp-palette"),Cb=sb.find(".sp-initial"),Db=sb.find(".sp-cancel"),Eb=sb.find(".sp-clear"),Fb=sb.find(".sp-choose"),Gb=qb.is("input"),Hb=Gb&&r&&"color"===qb.attr("type"),Ib=Gb&&!S,Jb=Ib?b(s).addClass(V).addClass(R.className):b([]),Kb=Ib?Jb:qb,Lb=Jb.find(".sp-preview-inner"),Mb=R.color||Gb&&qb.val(),Nb=!1,Ob=R.preferredFormat,Pb=Ob,Qb=!R.showButtons||R.clickoutFiresChange,Rb=!Mb,Sb=R.allowEmpty&&!Hb;n();var Tb={show:C,hide:D,toggle:B,reflow:M,option:O,enable:P,disable:Q,set:function(a){F(a),L()},get:G,destroy:N,container:sb};return Tb.id=o.push(Tb)-1,Tb}function h(a,c){var d=0,e=a.outerWidth(),f=a.outerHeight(),g=c.outerHeight(),h=a[0].ownerDocument,i=h.documentElement,j=i.clientWidth+b(h).scrollLeft(),k=i.clientHeight+b(h).scrollTop(),l=c.offset();return l.top+=g,l.left-=Math.min(l.left,l.left+e>j&&j>e?Math.abs(l.left+e-j):0),l.top-=Math.min(l.top,l.top+f>k&&k>f?Math.abs(f+g-d):d),l}function i(){}function j(a){a.stopPropagation()}function k(a,b){var c=Array.prototype.slice,d=c.call(arguments,2);return function(){return a.apply(b,d.concat(c.call(arguments)))}}function l(c,d,e,f){function g(a){a.stopPropagation&&a.stopPropagation(),a.preventDefault&&a.preventDefault(),a.returnValue=!1}function h(a){if(l){if(p&&document.documentMode<9&&!a.button)return j();var b=a.originalEvent.touches,e=b?b[0].pageX:a.pageX,f=b?b[0].pageY:a.pageY,h=Math.max(0,Math.min(e-m.left,o)),i=Math.max(0,Math.min(f-m.top,n));q&&g(a),d.apply(c,[h,i,a])}}function i(a){{var d=a.which?3==a.which:2==a.button;a.originalEvent.touches}d||l||e.apply(c,arguments)!==!1&&(l=!0,n=b(c).height(),o=b(c).width(),m=b(c).offset(),b(k).bind(r),b(k.body).addClass("sp-dragging"),q||h(a),g(a))}function j(){l&&(b(k).unbind(r),b(k.body).removeClass("sp-dragging"),f.apply(c,arguments)),l=!1}d=d||function(){},e=e||function(){},f=f||function(){};var k=c.ownerDocument||document,l=!1,m={},n=0,o=0,q="ontouchstart"in a,r={};r.selectstart=g,r.dragstart=g,r["touchmove mousemove"]=h,r["touchend mouseup"]=j,b(c).bind("touchstart mousedown",i)}function m(a,b,c){var d;return function(){var e=this,f=arguments,g=function(){d=null,a.apply(e,f)};c&&clearTimeout(d),(c||!d)&&(d=setTimeout(g,b))}}var n={beforeShow:i,move:i,change:i,show:i,hide:i,color:!1,flat:!1,showInput:!1,allowEmpty:!1,showButtons:!0,clickoutFiresChange:!1,showInitial:!1,showPalette:!1,showPaletteOnly:!1,showSelectionPalette:!0,localStorageKey:!1,appendTo:"body",maxSelectionSize:7,cancelText:"cancel",chooseText:"choose",clearText:"Clear Color Selection",preferredFormat:!1,className:"",showAlpha:!1,theme:"sp-light",palette:["fff","000"],selectionPalette:[],disabled:!1},o=[],p=!!/msie/i.exec(a.navigator.userAgent),q=function(){function a(a,b){return!!~(""+a).indexOf(b)}var b=document.createElement("div"),c=b.style;return c.cssText="background-color:rgba(0,0,0,.5)",a(c.backgroundColor,"rgba")||a(c.backgroundColor,"hsla")}(),r=function(){var a=b("")[0];return"color"===a.type&&"!"!==a.value}(),s=["
    ","
    ","
    ","
    "].join(""),t=function(){var a="";if(p)for(var b=1;6>=b;b++)a+="
    ";return["
    ","
    ","
    ","
    ","
    ","
    ","
    ","
    ","
    ","
    ","
    ","
    ","
    ","
    ","
    ","
    ","
    ","
    ","
    ",a,"
    ","
    ","
    ","
    ","
    ","","
    ","
    ","
    ","","","
    ","
    ","
    "].join("")}(),u="spectrum.id";b.fn.spectrum=function(a){if("string"==typeof a){var c=this,d=Array.prototype.slice.call(arguments,1);return this.each(function(){var e=o[b(this).data(u)];if(e){var f=e[a];if(!f)throw new Error("Spectrum: no such method: '"+a+"'");"get"==a?c=e.get():"container"==a?c=e.container:"option"==a?c=e.option.apply(e,d):"destroy"==a?(e.destroy(),b(this).removeData(u)):f.apply(e,d)}}),c}return this.spectrum("destroy").each(function(){var c=b.extend({},a,b(this).data()),d=g(this,c);b(this).data(u,d.id)})},b.fn.spectrum.load=!0,b.fn.spectrum.loadOpts={},b.fn.spectrum.draggable=l,b.fn.spectrum.defaults=n,b.spectrum={},b.spectrum.localization={},b.spectrum.palettes={},b.fn.spectrum.processNativeColorInputs=function(){r||b("input[type=color]").spectrum({preferredFormat:"hex6"})},function(){function b(a,d){if(a=a?a:"",d=d||{},"object"==typeof a&&a.hasOwnProperty("_tc_id"))return a;var f=c(a),h=f.r,j=f.g,m=f.b,n=f.a,o=x(100*n)/100,p=d.format||f.format;return 1>h&&(h=x(h)),1>j&&(j=x(j)),1>m&&(m=x(m)),{ok:f.ok,format:p,_tc_id:v++,alpha:n,getAlpha:function(){return n},setAlpha:function(a){n=k(a),o=x(100*n)/100},toHsv:function(){var a=g(h,j,m);return{h:360*a.h,s:a.s,v:a.v,a:n}},toHsvString:function(){var a=g(h,j,m),b=x(360*a.h),c=x(100*a.s),d=x(100*a.v);return 1==n?"hsv("+b+", "+c+"%, "+d+"%)":"hsva("+b+", "+c+"%, "+d+"%, "+o+")"},toHsl:function(){var a=e(h,j,m);return{h:360*a.h,s:a.s,l:a.l,a:n}},toHslString:function(){var a=e(h,j,m),b=x(360*a.h),c=x(100*a.s),d=x(100*a.l);return 1==n?"hsl("+b+", "+c+"%, "+d+"%)":"hsla("+b+", "+c+"%, "+d+"%, "+o+")"},toHex:function(a){return i(h,j,m,a)},toHexString:function(a){return"#"+i(h,j,m,a)},toRgb:function(){return{r:x(h),g:x(j),b:x(m),a:n}},toRgbString:function(){return 1==n?"rgb("+x(h)+", "+x(j)+", "+x(m)+")":"rgba("+x(h)+", "+x(j)+", "+x(m)+", "+o+")"},toPercentageRgb:function(){return{r:x(100*l(h,255))+"%",g:x(100*l(j,255))+"%",b:x(100*l(m,255))+"%",a:n}},toPercentageRgbString:function(){return 1==n?"rgb("+x(100*l(h,255))+"%, "+x(100*l(j,255))+"%, "+x(100*l(m,255))+"%)":"rgba("+x(100*l(h,255))+"%, "+x(100*l(j,255))+"%, "+x(100*l(m,255))+"%, "+o+")"},toName:function(){return 0===n?"transparent":C[i(h,j,m,!0)]||!1},toFilter:function(a){var c=i(h,j,m),e=c,f=Math.round(255*parseFloat(n)).toString(16),g=f,k=d&&d.gradientType?"GradientType = 1, ":"";if(a){var l=b(a);e=l.toHex(),g=Math.round(255*parseFloat(l.alpha)).toString(16)}return"progid:DXImageTransform.Microsoft.gradient("+k+"startColorstr=#"+q(f)+c+",endColorstr=#"+q(g)+e+")"},toString:function(a){var b=!!a;a=a||this.format;var c=!1,d=!b&&1>n&&n>0,e=d&&("hex"===a||"hex6"===a||"hex3"===a||"name"===a);return"rgb"===a&&(c=this.toRgbString()),"prgb"===a&&(c=this.toPercentageRgbString()),("hex"===a||"hex6"===a)&&(c=this.toHexString()),"hex3"===a&&(c=this.toHexString(!0)),"name"===a&&(c=this.toName()),"hsl"===a&&(c=this.toHslString()),"hsv"===a&&(c=this.toHsvString()),e?this.toRgbString():c||this.toHexString()}}}function c(a){var b={r:0,g:0,b:0},c=1,e=!1,g=!1;return"string"==typeof a&&(a=s(a)),"object"==typeof a&&(a.hasOwnProperty("r")&&a.hasOwnProperty("g")&&a.hasOwnProperty("b")?(b=d(a.r,a.g,a.b),e=!0,g="%"===String(a.r).substr(-1)?"prgb":"rgb"):a.hasOwnProperty("h")&&a.hasOwnProperty("s")&&a.hasOwnProperty("v")?(a.s=r(a.s),a.v=r(a.v),b=h(a.h,a.s,a.v),e=!0,g="hsv"):a.hasOwnProperty("h")&&a.hasOwnProperty("s")&&a.hasOwnProperty("l")&&(a.s=r(a.s),a.l=r(a.l),b=f(a.h,a.s,a.l),e=!0,g="hsl"),a.hasOwnProperty("a")&&(c=a.a)),c=k(c),{ok:e,format:a.format||g,r:y(255,z(b.r,0)),g:y(255,z(b.g,0)),b:y(255,z(b.b,0)),a:c}}function d(a,b,c){return{r:255*l(a,255),g:255*l(b,255),b:255*l(c,255)}}function e(a,b,c){a=l(a,255),b=l(b,255),c=l(c,255);var d,e,f=z(a,b,c),g=y(a,b,c),h=(f+g)/2;if(f==g)d=e=0;else{var i=f-g;switch(e=h>.5?i/(2-f-g):i/(f+g),f){case a:d=(b-c)/i+(c>b?6:0);break;case b:d=(c-a)/i+2;break;case c:d=(a-b)/i+4}d/=6}return{h:d,s:e,l:h}}function f(a,b,c){function d(a,b,c){return 0>c&&(c+=1),c>1&&(c-=1),1/6>c?a+6*(b-a)*c:.5>c?b:2/3>c?a+(b-a)*(2/3-c)*6:a}var e,f,g;if(a=l(a,360),b=l(b,100),c=l(c,100),0===b)e=f=g=c;else{var h=.5>c?c*(1+b):c+b-c*b,i=2*c-h;e=d(i,h,a+1/3),f=d(i,h,a),g=d(i,h,a-1/3)}return{r:255*e,g:255*f,b:255*g}}function g(a,b,c){a=l(a,255),b=l(b,255),c=l(c,255);var d,e,f=z(a,b,c),g=y(a,b,c),h=f,i=f-g;if(e=0===f?0:i/f,f==g)d=0;else{switch(f){case a:d=(b-c)/i+(c>b?6:0);break;case b:d=(c-a)/i+2;break;case c:d=(a-b)/i+4}d/=6}return{h:d,s:e,v:h}}function h(a,b,c){a=6*l(a,360),b=l(b,100),c=l(c,100);var d=w.floor(a),e=a-d,f=c*(1-b),g=c*(1-e*b),h=c*(1-(1-e)*b),i=d%6,j=[c,g,f,f,h,c][i],k=[h,c,c,g,f,f][i],m=[f,f,h,c,c,g][i];return{r:255*j,g:255*k,b:255*m}}function i(a,b,c,d){var e=[q(x(a).toString(16)),q(x(b).toString(16)),q(x(c).toString(16))];return d&&e[0].charAt(0)==e[0].charAt(1)&&e[1].charAt(0)==e[1].charAt(1)&&e[2].charAt(0)==e[2].charAt(1)?e[0].charAt(0)+e[1].charAt(0)+e[2].charAt(0):e.join("")}function j(a){var b={};for(var c in a)a.hasOwnProperty(c)&&(b[a[c]]=c);return b}function k(a){return a=parseFloat(a),(isNaN(a)||0>a||a>1)&&(a=1),a}function l(a,b){o(a)&&(a="100%");var c=p(a);return a=y(b,z(0,parseFloat(a))),c&&(a=parseInt(a*b,10)/100),w.abs(a-b)<1e-6?1:a%b/parseFloat(b)}function m(a){return y(1,z(0,a))}function n(a){return parseInt(a,16)}function o(a){return"string"==typeof a&&-1!=a.indexOf(".")&&1===parseFloat(a)}function p(a){return"string"==typeof a&&-1!=a.indexOf("%")}function q(a){return 1==a.length?"0"+a:""+a}function r(a){return 1>=a&&(a=100*a+"%"),a}function s(a){a=a.replace(t,"").replace(u,"").toLowerCase();var b=!1;if(B[a])a=B[a],b=!0;else if("transparent"==a)return{r:0,g:0,b:0,a:0,format:"name"};var c;return(c=D.rgb.exec(a))?{r:c[1],g:c[2],b:c[3]}:(c=D.rgba.exec(a))?{r:c[1],g:c[2],b:c[3],a:c[4]}:(c=D.hsl.exec(a))?{h:c[1],s:c[2],l:c[3]}:(c=D.hsla.exec(a))?{h:c[1],s:c[2],l:c[3],a:c[4]}:(c=D.hsv.exec(a))?{h:c[1],s:c[2],v:c[3]}:(c=D.hex6.exec(a))?{r:n(c[1]),g:n(c[2]),b:n(c[3]),format:b?"name":"hex"}:(c=D.hex3.exec(a))?{r:n(c[1]+""+c[1]),g:n(c[2]+""+c[2]),b:n(c[3]+""+c[3]),format:b?"name":"hex"}:!1}var t=/^[\s,#]+/,u=/\s+$/,v=0,w=Math,x=w.round,y=w.min,z=w.max,A=w.random;b.fromRatio=function(a,c){if("object"==typeof a){var d={};for(var e in a)a.hasOwnProperty(e)&&(d[e]="a"===e?a[e]:r(a[e]));a=d}return b(a,c)},b.equals=function(a,c){return a&&c?b(a).toRgbString()==b(c).toRgbString():!1},b.random=function(){return b.fromRatio({r:A(),g:A(),b:A()})},b.desaturate=function(a,c){c=0===c?0:c||10;var d=b(a).toHsl();return d.s-=c/100,d.s=m(d.s),b(d)},b.saturate=function(a,c){c=0===c?0:c||10;var d=b(a).toHsl();return d.s+=c/100,d.s=m(d.s),b(d)},b.greyscale=function(a){return b.desaturate(a,100)},b.lighten=function(a,c){c=0===c?0:c||10;var d=b(a).toHsl();return d.l+=c/100,d.l=m(d.l),b(d)},b.darken=function(a,c){c=0===c?0:c||10;var d=b(a).toHsl();return d.l-=c/100,d.l=m(d.l),b(d)},b.complement=function(a){var c=b(a).toHsl();return c.h=(c.h+180)%360,b(c)},b.triad=function(a){var c=b(a).toHsl(),d=c.h;return[b(a),b({h:(d+120)%360,s:c.s,l:c.l}),b({h:(d+240)%360,s:c.s,l:c.l})]},b.tetrad=function(a){var c=b(a).toHsl(),d=c.h;return[b(a),b({h:(d+90)%360,s:c.s,l:c.l}),b({h:(d+180)%360,s:c.s,l:c.l}),b({h:(d+270)%360,s:c.s,l:c.l})]},b.splitcomplement=function(a){var c=b(a).toHsl(),d=c.h;return[b(a),b({h:(d+72)%360,s:c.s,l:c.l}),b({h:(d+216)%360,s:c.s,l:c.l})]},b.analogous=function(a,c,d){c=c||6,d=d||30;var e=b(a).toHsl(),f=360/d,g=[b(a)];for(e.h=(e.h-(f*c>>1)+720)%360;--c;)e.h=(e.h+f)%360,g.push(b(e));return g},b.monochromatic=function(a,c){c=c||6;for(var d=b(a).toHsv(),e=d.h,f=d.s,g=d.v,h=[],i=1/c;c--;)h.push(b({h:e,s:f,v:g})),g=(g+i)%1;return h},b.readability=function(a,c){var d=b(a).toRgb(),e=b(c).toRgb(),f=(299*d.r+587*d.g+114*d.b)/1e3,g=(299*e.r+587*e.g+114*e.b)/1e3,h=Math.max(d.r,e.r)-Math.min(d.r,e.r)+Math.max(d.g,e.g)-Math.min(d.g,e.g)+Math.max(d.b,e.b)-Math.min(d.b,e.b);return{brightness:Math.abs(f-g),color:h}},b.readable=function(a,c){var d=b.readability(a,c);return d.brightness>125&&d.color>500},b.mostReadable=function(a,c){for(var d=null,e=0,f=!1,g=0;g125&&h.color>500,j=3*(h.brightness/125)+h.color/500;(i&&!f||i&&f&&j>e||!i&&!f&&j>e)&&(f=i,e=j,d=b(c[g]))}return d};var B=b.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},C=b.hexNames=j(B),D=function(){var a="[-\\+]?\\d+%?",b="[-\\+]?\\d*\\.\\d+%?",c="(?:"+b+")|(?:"+a+")",d="[\\s|\\(]+("+c+")[,|\\s]+("+c+")[,|\\s]+("+c+")\\s*\\)?",e="[\\s|\\(]+("+c+")[,|\\s]+("+c+")[,|\\s]+("+c+")[,|\\s]+("+c+")\\s*\\)?";return{rgb:new RegExp("rgb"+d),rgba:new RegExp("rgba"+e),hsl:new RegExp("hsl"+d),hsla:new RegExp("hsla"+e),hsv:new RegExp("hsv"+d),hex3:/^([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();a.tinycolor=b}(),b(function(){b.fn.spectrum.load&&b.fn.spectrum.processNativeColorInputs()})}(window,jQuery),define("spectrum",["jquery"],function(){}),define("directives/spectrumPicker",["angular","spectrum"],function(a){a.module("kibana.directives").directive("spectrumPicker",function(){return{restrict:"E",require:"ngModel",scope:!1,replace:!0,template:"",link:function(b,c,d,e){var f=c.find("input"),g=a.extend({showAlpha:!0,showButtons:!1,color:e.$viewValue,change:function(a){b.$apply(function(){e.$setViewValue(a.toRgbString())})}},b.$eval(d.options));e.$render=function(){f.spectrum("set",e.$viewValue||"")},f.spectrum(g)}}})}),define("directives/grafanaGraph",["angular","jquery","kbn","moment","underscore"],function(a,b,c,d,e){var f=a.module("kibana.directives");f.directive("grafanaGraph",["$rootScope","dashboard",function(f,g){return{restrict:"A",template:"
    ",link:function(h,i){function j(){try{var a=h.height||h.panel.height||h.row.height;return e.isString(a)&&(a=parseInt(a.replace("px",""),10)),a-=32,h.panel.legend.show&&(a-=21),i.css("height",a+"px"),!0}catch(b){return!1}}function k(){return u?f.fullscreen&&!h.fullscreen?!0:j()?e.isString(u)?(t(u),!0):void 0:!0:!0}function l(){if(!k()){var a=h.panel;e.each(e.keys(h.hiddenSeries),function(a){var b=e.find(u,function(b){return b.info.alias===a});b&&(x[b.info.alias]=b,u=e.without(u,b))});for(var c=a.stack?!0:null,d={legend:{show:!1},series:{stackpercent:a.stack?a.percentage:!1,stack:a.percentage?null:c,lines:{show:a.lines,zero:!1,fill:0===a.fill?.001:a.fill/10,lineWidth:a.linewidth,steps:a.steppedLine},bars:{show:a.bars,fill:1,barWidth:1,zero:!1,lineWidth:0},points:{show:a.points,fill:1,fillColor:!1,radius:a.pointradius},shadowSize:1},yaxes:[],xaxis:{},grid:{markings:[],backgroundColor:null,borderWidth:0,hoverable:!0,color:"#c8c8c8"},selection:{mode:"x",color:"#666"}},f=0;fb.grid.threshold2?-1/0:+1/0,a.grid.markings.push({yaxis:{from:b.grid.threshold2,to:d},color:b.grid.threshold2Color})}}}function o(a){if(w&&0!==w.length){var b={};e.each(w,function(c){b[c.annotation.name]||(b[c.annotation.name]={level:e.keys(b).length+1,icon:{icon:"icon-chevron-down",size:c.annotation.iconSize,color:c.annotation.iconColor}}),c.annotation.showLine&&a.grid.markings.push({color:c.annotation.lineColor,lineWidth:1,xaxis:{from:c.min,to:c.max}})}),a.events={levels:e.keys(b).length+1,data:w,types:b}}}function p(){if(h.panel.leftYAxisLabel){i.css("margin-left","10px");var a=b("
    ").text(h.panel.leftYAxisLabel).appendTo(i);a.css("margin-top",a.width()/2-20)}else i.css("margin-left")&&i.css("margin-left","") -}function q(a,b){var c={position:"left",show:h.panel["y-axis"],min:h.panel.grid.leftMin,max:h.panel.percentage&&h.panel.stack?100:h.panel.grid.leftMax};if(b.yaxes.push(c),e.findWhere(a,{yaxis:2})){var d=e.clone(c);d.position="right",d.min=h.panel.grid.rightMin,d.max=h.panel.percentage&&h.panel.stack?100:h.panel.grid.rightMax,b.yaxes.push(d),r(b.yaxes[1],h.panel.y_formats[1])}r(b.yaxes[0],h.panel.y_formats[0])}function r(a,b){"none"!==b&&(a.tickFormatter=c.getFormatFunction(b,1))}function s(a,b,c,d){if(c&&d&&b){var e=(d-c)/b/1e3;return 45>=e?"%H:%M:%S":3600>=e?"%H:%M":8e4>=e?"%m/%d %H:%M":2419200>=e?"%m/%d":"%Y-%m"}return"%H:%M"}function t(a){switch(a+="&width="+i.width(),a+="&height="+i.css("height").replace("px",""),a+="&bgcolor=1f1f1f",a+="&fgcolor=BBBFC2",a+=h.panel.stack?"&areaMode=stacked":"",a+=0!==h.panel.fill?"&areaAlpha="+(h.panel.fill/10).toFixed(1):"",a+=0!==h.panel.linewidth?"&lineWidth="+h.panel.linewidth:"",a+=h.panel.legend.show?"&hideLegend=false":"&hideLegend=true",a+=null!==h.panel.grid.min?"&yMin="+h.panel.grid.min:"",a+=null!==h.panel.grid.max?"&yMax="+h.panel.grid.max:"",a+=h.panel["x-axis"]?"":"&hideAxes=true",a+=h.panel["y-axis"]?"":"&hideYAxis=true",h.panel.y_formats[0]){case"bytes":a+="&yUnitSystem=binary";break;case"bits":a+="&yUnitSystem=binary";break;case"short":a+="&yUnitSystem=si";break;case"none":a+="&yUnitSystem=none"}switch(h.panel.nullPointMode){case"connected":a+="&lineMode=connected";break;case"null":break;case"null as zero":a+="&drawNullAsZero=true"}a+=h.panel.steppedLine?"&lineMode=staircase":"",i.html('')}var u,v,w,x={};h.$on("refresh",function(){h.otherPanelInFullscreenMode()||h.get_data()}),h.$on("toggleLegend",function(a,b){e.each(b,function(a){x[a.alias]&&(u.push(x[a.alias]),delete x[a.alias])}),l()}),h.$on("render",function(a,b){u=b||u,w=u.annotations,l()}),a.element(window).bind("resize",function(){l()});var y=b("
    ");i.bind("plothover",function(a,b,e){var f,i,j,k,l;e?(k=e.series.info,l=h.panel.y_formats[k.yaxis-1],f=k.alias?' '+decodeURIComponent(k.alias)+"
    ":c.query_color_dot(e.series.color,15)+" ",i=h.panel.stack&&"individual"===h.panel.tooltip.value_type?e.datapoint[1]-e.datapoint[2]:e.datapoint[1],i=c.getFormatFunction(l,2)(i),j="browser"===g.current.timezone?d(e.datapoint[0]).format("YYYY-MM-DD HH:mm:ss"):d.utc(e.datapoint[0]).format("YYYY-MM-DD HH:mm:ss"),y.html(f+i+" @ "+j).place_tt(b.pageX,b.pageY)):y.detach()}),i.bind("plotselected",function(a,b){h.$apply(function(){h.filter.setTime({from:d.utc(b.xaxis.from).toDate(),to:d.utc(b.xaxis.to).toDate()})})})}}}])}),function(a){function b(b,c){this.itemsArray=[],this.$element=a(b),this.$element.hide(),this.isSelect="SELECT"===b.tagName,this.multiple=this.isSelect&&b.hasAttribute("multiple"),this.objectItems=c&&c.itemValue,this.placeholderText=b.hasAttribute("placeholder")?this.$element.attr("placeholder"):"",this.inputSize=Math.max(1,this.placeholderText.length),this.$container=a('
    '),this.$input=a('').appendTo(this.$container),this.$element.after(this.$container),this.build(c)}function c(a,b){if("function"!=typeof a[b]){var c=a[b];a[b]=function(a){return a[c]}}}function d(a,b){if("function"!=typeof a[b]){var c=a[b];a[b]=function(){return c}}}function e(a){return a?h.text(a).html():""}function f(a){var b=0;if(document.selection){a.focus();var c=document.selection.createRange();c.moveStart("character",-a.value.length),b=c.text.length}else(a.selectionStart||"0"==a.selectionStart)&&(b=a.selectionStart);return b}var g={tagClass:function(){return"label label-info"},itemValue:function(a){return a?a.toString():a},itemText:function(a){return this.itemValue(a)},freeInput:!0,maxTags:void 0,confirmKeys:[13],onTagExists:function(a,b){b.hide().fadeIn()}};b.prototype={constructor:b,add:function(b,c){var d=this;if(!(d.options.maxTags&&d.itemsArray.length>=d.options.maxTags||b!==!1&&!b)){if("object"==typeof b&&!d.objectItems)throw"Can't add objects when itemValue option is not set";if(!b.toString().match(/^\s*$/)){if(d.isSelect&&!d.multiple&&d.itemsArray.length>0&&d.remove(d.itemsArray[0]),"string"==typeof b&&"INPUT"===this.$element[0].tagName){var f=b.split(",");if(f.length>1){for(var g=0;g'+e(i)+'');if(m.data("item",b),d.findInputWrapper().before(m),m.after(" "),d.isSelect&&!a('option[value="'+escape(h)+'"]',d.$element)[0]){var n=a("");n.data("item",b),n.attr("value",h),d.$element.append(n)}c||d.pushVal(),d.options.maxTags===d.itemsArray.length&&d.$container.addClass("bootstrap-tagsinput-max"),d.$element.trigger(a.Event("itemAdded",{item:b}))}}}},remove:function(b,c){var d=this;d.objectItems&&(b="object"==typeof b?a.grep(d.itemsArray,function(a){return d.options.itemValue(a)==d.options.itemValue(b)})[0]:a.grep(d.itemsArray,function(a){return d.options.itemValue(a)==b})[0]),b&&(a(".tag",d.$container).filter(function(){return a(this).data("item")===b}).remove(),a("option",d.$element).filter(function(){return a(this).data("item")===b}).remove(),d.itemsArray.splice(a.inArray(b,d.itemsArray),1)),c||d.pushVal(),d.options.maxTags>d.itemsArray.length&&d.$container.removeClass("bootstrap-tagsinput-max"),d.$element.trigger(a.Event("itemRemoved",{item:b}))},removeAll:function(){var b=this;for(a(".tag",b.$container).remove(),a("option",b.$element).remove();b.itemsArray.length>0;)b.itemsArray.pop();b.pushVal(),b.options.maxTags&&!this.isEnabled()&&this.enable()},refresh:function(){var b=this;a(".tag",b.$container).each(function(){var c=a(this),d=c.data("item"),f=b.options.itemValue(d),g=b.options.itemText(d),h=b.options.tagClass(d);if(c.attr("class",null),c.addClass("tag "+e(h)),c.contents().filter(function(){return 3==this.nodeType})[0].nodeValue=e(g),b.isSelect){var i=a("option",b.$element).filter(function(){return a(this).data("item")===d});i.attr("value",f)}})},items:function(){return this.itemsArray},pushVal:function(){var b=this,c=a.map(b.items(),function(a){return b.options.itemValue(a).toString()});b.$element.val(c,!0).trigger("change")},build:function(b){var e=this;e.options=a.extend({},g,b);var h=e.options.typeahead||{};e.objectItems&&(e.options.freeInput=!1),c(e.options,"itemValue"),c(e.options,"itemText"),c(e.options,"tagClass"),e.options.source&&(h.source=e.options.source),h.source&&a.fn.typeahead&&(d(h,"source"),e.$input.typeahead({source:function(b,c){function d(a){for(var b=[],d=0;d$1")}})),e.$container.on("click",a.proxy(function(){e.$input.focus()},e)),e.$container.on("keydown","input",a.proxy(function(b){var c=a(b.target),d=e.findInputWrapper();switch(b.which){case 8:if(0===f(c[0])){var g=d.prev();g&&e.remove(g.data("item"))}break;case 46:if(0===f(c[0])){var h=d.next();h&&e.remove(h.data("item"))}break;case 37:var i=d.prev();0===c.val().length&&i[0]&&(i.before(d),c.focus());break;case 39:var j=d.next();0===c.val().length&&j[0]&&(j.after(d),c.focus());break;default:e.options.freeInput&&a.inArray(b.which,e.options.confirmKeys)>=0&&(e.add(c.val()),c.val(""),b.preventDefault())}c.attr("size",Math.max(this.inputSize,c.val().length))},e)),e.$container.on("click","[data-role=remove]",a.proxy(function(b){e.remove(a(b.target).closest(".tag").data("item"))},e)),e.options.itemValue===g.itemValue&&("INPUT"===e.$element[0].tagName?e.add(e.$element.val()):a("option",e.$element).each(function(){e.add(a(this).attr("value"),!0)}))},destroy:function(){var a=this;a.$container.off("keypress","input"),a.$container.off("click","[role=remove]"),a.$container.remove(),a.$element.removeData("tagsinput"),a.$element.show()},focus:function(){this.$input.focus()},input:function(){return this.$input},findInputWrapper:function(){for(var b=this.$input[0],c=this.$container[0];b&&b.parentNode!==c;)b=b.parentNode;return a(b)}},a.fn.tagsinput=function(c,d){var e=[];return this.each(function(){var f=a(this).data("tagsinput");if(f){var g=f[c](d);void 0!==g&&e.push(g)}else f=new b(this,c),a(this).data("tagsinput",f),e.push(f),"SELECT"===this.tagName&&a("option",a(this)).attr("selected","selected"),a(this).val(a(this).val())}),"string"==typeof c?e.length>1?e:e[0]:e},a.fn.tagsinput.Constructor=b;var h=a("
    ");a(function(){a("input[data-role=tagsinput], select[multiple][data-role=tagsinput]").tagsinput()})}(window.jQuery),define("bootstrap-tagsinput",function(){}),define("directives/bootstrap-tagsinput",["angular","jquery","bootstrap-tagsinput"],function(a,b){a.module("kibana.directives").directive("bootstrapTagsinput",function(){function c(b,c){return c?a.isFunction(b.$parent[c])?b.$parent[c]:function(a){return a[c]}:void 0}return{restrict:"EA",scope:{model:"=ngModel"},template:"",replace:!1,link:function(d,e,f){a.isArray(d.model)||(d.model=[]);var g=b("select",e);f.placeholder&&g.attr("placeholder",f.placeholder),g.tagsinput({typeahead:{source:a.isFunction(d.$parent[f.typeaheadSource])?d.$parent[f.typeaheadSource]:null},itemValue:c(d,f.itemvalue),itemText:c(d,f.itemtext),tagClass:a.isFunction(d.$parent[f.tagclass])?d.$parent[f.tagclass]:function(){return f.tagclass}}),g.on("itemAdded",function(a){-1===d.model.indexOf(a.item)&&d.model.push(a.item)}),g.on("itemRemoved",function(a){var b=d.model.indexOf(a.item);-1!==b&&d.model.splice(b,1)}),d.$watch("model",function(){a.isArray(d.model)||(d.model=[]),g.tagsinput("removeAll");for(var b=0;b',""];return a.forEach(b,function(a,b){if(a.divider)return f.splice(b+1,0,'
  • ');var c=""+(a.text||"")+"";a.submenu&&a.submenu.length&&(c+=e(a.submenu).join("\n")),c+="",f.splice(b+1,0,c)}),f}return{restrict:"EA",scope:!0,link:function(f,g,h){var i=b(h.gfDropdown),j=i(f);d(function(){var b=g.data("placement"),d=a.element(e(j,b).join(""));d.insertAfter(g),c(g.next("ul.dropdown-menu"))(f)}),g.addClass("dropdown-toggle").attr("data-toggle","dropdown")}}}])}),define("directives/bodyClass",["angular","app","underscore"],function(a,b,c){a.module("kibana.directives").directive("bodyClass",function(){return{link:function(a,b){var d,e;a.$watch("dashboard.current.pulldowns",function(){var e=c.find(a.dashboard.current.pulldowns,function(a){return a.enable}),f=e?e.enable:!1;d!==f&&(b.toggleClass("submenu-controls-visible",f),d=f)},!0),a.$watch("dashboard.current.hideControls",function(){var c=a.dashboard.current.hideControls||a.playlist_active;e!==c&&(b.toggleClass("hide-controls",c),e=c)}),a.$watch("playlist_active",function(){b.toggleClass("hide-controls",a.playlist_active===!0),b.toggleClass("playlist-active",a.playlist_active===!0)})}}})}),define("directives/addGraphiteFunc",["angular","app","underscore","jquery","../services/graphite/gfunc"],function(a,b,c,d,e){function f(a){return c.reduce(a,function(a,b){return c.each(b,function(b){a.push(b.name)}),a},[])}function g(a){return c.map(a,function(a,b){return{text:b,submenu:c.map(a,function(a){return{text:a.name,click:"addFunction('"+a.name+"')"}})}})}a.module("kibana.directives").directive("graphiteAddFunc",["$compile",function(a){var b='',c='';return{link:function(h,i){var j=e.getCategories(),k=f(j);h.functionMenu=g(j);var l=d(b),m=d(c);l.appendTo(i),m.appendTo(i),l.attr("data-provide","typeahead"),l.typeahead({source:k,minLength:1,items:10,updater:function(a){var b=e.getFuncDef(a);return h.$apply(function(){h.addFunction(b)}),l.trigger("blur"),""}}),m.click(function(){m.hide(),l.show(),l.focus()}),l.keyup(function(){i.toggleClass("open",""===l.val())}),l.blur(function(){l.hide(),l.val(""),m.show(),m.focus(),setTimeout(function(){i.removeClass("open")},200)}),a(i.contents())(h)}}}])}),define("directives/graphiteFuncEditor",["angular","underscore","jquery"],function(a,b,c){a.module("kibana.directives").directive("graphiteFuncEditor",["$compile",function(a){var d='{{func.def.name}}(',e='',f='
    ';return{restrict:"A",link:function(g,h){function i(a){var b=c(this),d=b.next();d.val(w.params[a]),d.css("width",b.width()+16+"px"),b.hide(),d.show(),d.focus(),d.select();var e=d.data("typeahead");e&&(d.val(""),e.lookup())}function j(){z!==w.params.length&&(y||(y=!0,setTimeout(function(){t(),y=!1},200)))}function k(a){var b=c(this),d=b.prev();(""!==b.val()||w.def.params[a].optional)&&(d.text(b.val()),w.updateParam(b.val(),a),j(),g.$apply(g.targetChanged)),b.hide(),d.show()}function l(a,b){13===b.which&&k.call(this,a)}function m(){this.style.width=8*(3+this.value.length)+"px"}function n(a,c){a.attr("data-provide","typeahead");var d=x.params[c].options;"int"===x.params[c].type&&(d=b.map(d,function(a){return a.toString()})),a.typeahead({source:d,minLength:0,items:20,updater:function(b){return setTimeout(function(){k.call(a[0],c)},0),b}});var e=a.data("typeahead");e.lookup=function(){return this.query=this.$element.val()||"",this.process(this.source)}}function o(){var a=h.closest(".grafana-target-inner");return h.hasClass("show-function-controls")?(h.removeClass("show-function-controls"),a.removeClass("has-open-function"),void v.hide()):(h.addClass("show-function-controls"),a.addClass("has-open-function"),void v.show())}function p(){v.appendTo(h),u.appendTo(h),b.each(x.params,function(a,d){if(!a.optional||w.params[d]){d>0&&c(", ").appendTo(h);var f=c(''+w.params[d]+""),g=c(e);z++,f.appendTo(h),g.appendTo(h),g.blur(b.partial(k,d)),g.keyup(m),g.keypress(b.partial(l,d)),f.click(b.partial(i,d)),x.params[d].options&&n(g,d)}}),c(")").appendTo(h),a(h.contents())(g)}function q(){g.func.added&&(g.func.added=!1,setTimeout(function(){h.find(".graphite-func-param-link").first().click()},10))}function r(){u.click(o)}function s(){v.click(function(a){var d=c(a.target);return d.hasClass("icon-remove")?(o(),void g.$apply(function(){g.removeFunction(g.func)})):d.hasClass("icon-arrow-left")?void g.$apply(function(){b.move(g.functions,g.$index,g.$index-1)}):d.hasClass("icon-arrow-right")?void g.$apply(function(){b.move(g.functions,g.$index,g.$index+1)}):d.hasClass("icon-info-sign")?void window.open("http://graphite.readthedocs.org/en/latest/functions.html#graphite.render.functions."+x.name,"_blank"):void 0})}function t(){h.children().remove(),p(),q(),r(),s()}var u=c(d),v=c(f),w=g.func,x=w.def,y=!1,z=0;t()}}}])}),define("directives/grafanaVersionCheck",["angular"],function(a){a.module("kibana.directives").directive("grafanaVersionCheck",["$http","grafanaVersion",function(a,b){return{restrict:"A",link:function(c,d){"@"!==b[0]&&a({method:"GET",url:"http://grafanarel.s3.amazonaws.com/latest.json"}).then(function(a){a.data&&a.data.version&&b!==a.data.version&&d.append('')})}}}])}),define("directives/influxdbFuncEditor",["angular","underscore","jquery"],function(a,b,c){a.module("kibana.directives").directive("influxdbFuncEditor",["$compile",function(a){var d='{{target.function}}(',e='';return{restrict:"A",link:function(f,g){function h(){var a=c(this),b=a.next();b.val(f.target.column),b.css("width",a.width()+16+"px"),a.hide(),b.show(),b.focus(),b.select();var d=b.data("typeahead");d&&(b.val(""),d.lookup())}function i(){var a=c(this),b=a.prev();""!==a.val()&&(b.text(a.val()),f.target.column=a.val(),f.$apply(f.get_data)),a.hide(),b.show()}function j(a){13===a.which&&i.call(this)}function k(){this.style.width=8*(3+this.value.length)+"px"}function l(a){a.attr("data-provide","typeahead"),a.typeahead({source:function(){return f.listColumns.apply(null,arguments)},minLength:0,items:20,updater:function(b){return setTimeout(function(){i.call(a[0])},0),b}});var b=a.data("typeahead");b.lookup=function(){var a;return this.query=this.$element.val()||"",a=this.source(this.query,c.proxy(this.process,this)),a?this.process(a):a}}function m(){n.appendTo(g);var b=c(''+f.target.column+""),d=c(e);b.appendTo(g),d.appendTo(g),d.blur(i),d.keyup(k),d.keypress(j),b.click(h),l(d),c(")").appendTo(g),a(g.contents())(f)}var n=c(d);f.functionMenu=b.map(f.functions,function(a){return{text:a,click:"changeFunction('"+a+"');"}}),m()}}}])}),define("directives/all",["./addPanel","./arrayJoin","./dashUpload","./kibanaPanel","./kibanaSimplePanel","./ngBlur","./ngModelOnBlur","./tip","./confirmClick","./configModal","./spectrumPicker","./grafanaGraph","./bootstrap-tagsinput","./bodyClass","./addGraphiteFunc","./graphiteFuncEditor","./grafanaVersionCheck","./influxdbFuncEditor"],function(){}),define("filters/all",["angular","jquery","underscore","moment"],function(a,b,c,d){var e=a.module("kibana.filters");e.filter("stringSort",function(){return function(a){return a.sort()}}),e.filter("esVersion",["esVersion",function(a){return function(b,d){var e=c.filter(b,function(b){return a.is(b[d])?!0:!1});return e}}]),e.filter("slice",function(){return function(a,b,d){return c.isUndefined(a)?void 0:a.slice(b,d)}}),e.filter("stringify",function(){return function(b){return c.isObject(b)&&!c.isArray(b)?a.toJson(b):c.isNull(b)?null:b.toString()}}),e.filter("moment",function(){return function(a,b){switch(b){case"ago":return d(a).fromNow()}return d(a).fromNow()}}),e.filter("noXml",function(){var a=function(a){return c.isString(a)?a.replace(/&/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,"""):a};return function(b){return c.isArray(b)?c.map(b,a):a(b)}}),e.filter("urlLink",function(){var a=/(\b(https?|ftp):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/gim,b=/(^|[^\/])(www\.[\S]+(\b|$))/gim,d=/(\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,6})/gim,e=function(e){var f,g,h;return c.isString(e)?(c.each(e.match(a),function(){f=e.replace(a,'$1')}),e=f||e,c.each(e.match(b),function(){g=e.replace(b,'$1$2')}),e=g||e,c.each(e.match(d),function(){h=e.replace(d,'$1')}),e=h||e):e};return function(a){return c.isArray(a)?c.map(a,e):e(a)}}),e.filter("gistid",function(){var a=/(\d{5,})|([a-z0-9]{10,})|(gist.github.com(\/*.*)\/[a-z0-9]{5,}\/*$)/;return function(b){if(!c.isUndefined(b)){var d=b.match(a);if(!c.isNull(d)&&!c.isUndefined(d))return d[0].replace(/.*\//,"")}}})}),define("components/partials",["angular"],function(a){a.module("kibana").run(["$templateCache",function(a){a.put("app/panels/annotations/editor.html",''),a.put("app/panels/graph/axisEditor.html",'
    Left Y Axis
    Right Y Axis
    Grid thresholds
    Legend
    Legend values
    Show Axes
    '),a.put("app/panels/graph/legend.html",' {{series.alias}}   Current: {{series.current}}    Min: {{series.min}}    Max: {{series.max}}    Total: {{series.total}}    Avg: {{series.avg}} '),a.put("app/panels/graph/styleEditor.html",'
    Chart Options
    Line options
    Multiple Series
    Rendering
    '),a.put("app/panels/text/editor.html","
    "),a.put("app/panels/timepicker/custom.html",''),a.put("app/panels/timepicker/editor.html",'
    '),a.put("app/panels/timepicker/refreshctrl.html",'

    '),a.put("app/partials/dashLoader.html",'
  • Back to dashboard
  • Zoom Out
  • Stop playlist
  • '),a.put("app/partials/dashLoaderShare.html",''),a.put("app/partials/dashboard.html",'
    '),a.put("app/partials/dasheditor.html",''),a.put("app/partials/graphite/editor.html",''),a.put("app/partials/import.html",'
    Import dashboards from graphite web
    {{dash.name}}
    {{error}}
    '),a.put("app/partials/influxdb/editor.html",'
    '),a.put("app/partials/inspector.html",''),a.put("app/partials/kairosdb/editor.html",'
    '),a.put("app/partials/load.html",'
    type:{{type}}
    id:{{id}}
    '),a.put("app/partials/loadmetrics.html",'
    Load metrics keys into elastic search

    Work in progress...

    '),a.put("app/partials/metrics.html",'
    '),a.put("app/partials/modal.html",''),a.put("app/partials/opentsdb/editor.html",'
    '),a.put("app/partials/paneladd.html",'
    {{tab.title}}
    '),a.put("app/partials/paneleditor.html",''),a.put("app/partials/panelgeneral.html",'
    General options
    '),a.put("app/partials/playlist.html",'
    '),a.put("app/partials/roweditor.html",''),a.put("app/partials/search.html",''),a.put("app/partials/unsaved-changes.html",'') -}])}),define("app",["angular","jquery","underscore","require","elasticjs","bootstrap","angular-sanitize","angular-strap","angular-dragdrop","extend-jquery","bindonce"],function(a,b,c,d){var e=a.module("kibana",[]),f=[],g={};e.constant("grafanaVersion","1.6.1"),e.constant("cacheBust","cache-bust="+Date.now()),e.useModule=function(a){return f?f.push(a):c.extend(a,g),a},e.safeApply=function(a,b){switch(a.$$phase){case"$apply":a.$eval(b);break;case"$digest":setTimeout(function(){e.safeApply(a,b)},10);break;default:a.$apply(b)}},e.config(["$routeProvider","$controllerProvider","$compileProvider","$filterProvider","$provide",function(a,b,c,d,e){a.when("/dashboard",{templateUrl:"app/partials/dashboard.html"}).when("/dashboard/:kbnType/:kbnId",{templateUrl:"app/partials/dashboard.html"}).when("/dashboard/:kbnType/:kbnId/:params",{templateUrl:"app/partials/dashboard.html"}).otherwise({redirectTo:"dashboard"}),g.controller=b.register,g.directive=c.directive,g.factory=e.factory,g.service=e.service,g.filter=d.register}]);var h=["elasticjs.service","$strap.directives","ngSanitize","ngDragDrop","kibana","pasvaz.bindonce"],i=["controllers","directives","factories","services","services.dashboard","filters"];return c.each(i,function(b){var c="kibana."+b;e.useModule(a.module(c,[])),h.push(c)}),require(["controllers/all","directives/all","filters/all","components/partials"],function(){a.element(document).ready(function(){b("body").attr("ng-controller","DashCtrl"),a.bootstrap(document,h).invoke(["$rootScope",function(a){c.each(f,function(a){c.extend(a,g)}),f=!1,a.requireContext=d,a.require=function(a,b){var d=this;d.requireContext(a,function(){var a=c.toArray(arguments);d.$id&&d.$apply(function(){b.apply(d,a)})})}}])})}),e}),define("css",{load:function(a,b,c){function d(a){var b=document.getElementsByTagName("head")[0],c=document.createElement("link");c.href=a,c.rel="stylesheet",c.type="text/css",b.appendChild(c)}d(requirejs.toUrl(a)),c(!0)},pluginBuilder:"../vendor/require/css-build"}),define("text",["module"],function(a){var b,c,d,e,f,g=["Msxml2.XMLHTTP","Microsoft.XMLHTTP","Msxml2.XMLHTTP.4.0"],h=/^\s*<\?xml(\s)+version=[\'\"](\d)*.(\d)*[\'\"](\s)*\?>/im,i=/]*>\s*([\s\S]+)\s*<\/body>/im,j="undefined"!=typeof location&&location.href,k=j&&location.protocol&&location.protocol.replace(/\:/,""),l=j&&location.hostname,m=j&&(location.port||void 0),n={},o=a.config&&a.config()||{};return b={version:"2.0.10",strip:function(a){if(a){a=a.replace(h,"");var b=a.match(i);b&&(a=b[1])}else a="";return a},jsEscape:function(a){return a.replace(/(['\\])/g,"\\$1").replace(/[\f]/g,"\\f").replace(/[\b]/g,"\\b").replace(/[\n]/g,"\\n").replace(/[\t]/g,"\\t").replace(/[\r]/g,"\\r").replace(/[\u2028]/g,"\\u2028").replace(/[\u2029]/g,"\\u2029")},createXhr:o.createXhr||function(){var a,b,c;if("undefined"!=typeof XMLHttpRequest)return new XMLHttpRequest;if("undefined"!=typeof ActiveXObject)for(b=0;3>b;b+=1){c=g[b];try{a=new ActiveXObject(c)}catch(d){}if(a){g=[c];break}}return a},parseName:function(a){var b,c,d,e=!1,f=a.indexOf("."),g=0===a.indexOf("./")||0===a.indexOf("../");return-1!==f&&(!g||f>1)?(b=a.substring(0,f),c=a.substring(f+1,a.length)):b=a,d=c||b,f=d.indexOf("!"),-1!==f&&(e="strip"===d.substring(f+1),d=d.substring(0,f),c?c=d:b=d),{moduleName:b,ext:c,strip:e}},xdRegExp:/^((\w+)\:)?\/\/([^\/\\]+)/,useXhr:function(a,c,d,e){var f,g,h,i=b.xdRegExp.exec(a);return i?(f=i[2],g=i[3],g=g.split(":"),h=g[1],g=g[0],!(f&&f!==c||g&&g.toLowerCase()!==d.toLowerCase()||(h||g)&&h!==e)):!0},finishLoad:function(a,c,d,e){d=c?b.strip(d):d,o.isBuild&&(n[a]=d),e(d)},load:function(a,c,d,e){if(e.isBuild&&!e.inlineText)return void d();o.isBuild=e.isBuild;var f=b.parseName(a),g=f.moduleName+(f.ext?"."+f.ext:""),h=c.toUrl(g),i=o.useXhr||b.useXhr;return 0===h.indexOf("empty:")?void d():void(!j||i(h,k,l,m)?b.get(h,function(c){b.finishLoad(a,f.strip,c,d)},function(a){d.error&&d.error(a)}):c([g],function(a){b.finishLoad(f.moduleName+"."+f.ext,f.strip,a,d)}))},write:function(a,c,d){if(n.hasOwnProperty(c)){var e=b.jsEscape(n[c]);d.asModule(a+"!"+c,"define(function () { return '"+e+"';});\n")}},writeFile:function(a,c,d,e,f){var g=b.parseName(c),h=g.ext?"."+g.ext:"",i=g.moduleName+h,j=d.toUrl(g.moduleName+h)+".js";b.load(i,d,function(){var c=function(a){return e(j,a)};c.asModule=function(a,b){return e.asModule(a,j,b)},b.write(a,i,c,f)},f)}},"node"===o.env||!o.env&&"undefined"!=typeof process&&process.versions&&process.versions.node&&!process.versions["node-webkit"]?(c=require.nodeRequire("fs"),b.get=function(a,b,d){try{var e=c.readFileSync(a,"utf8");0===e.indexOf("")&&(e=e.substring(1)),b(e)}catch(f){d(f)}}):"xhr"===o.env||!o.env&&b.createXhr()?b.get=function(a,c,d,e){var f,g=b.createXhr();if(g.open("GET",a,!0),e)for(f in e)e.hasOwnProperty(f)&&g.setRequestHeader(f.toLowerCase(),e[f]);o.onXhr&&o.onXhr(g,a),g.onreadystatechange=function(){var b,e;4===g.readyState&&(b=g.status,b>399&&600>b?(e=new Error(a+" HTTP status: "+b),e.xhr=g,d(e)):c(g.responseText),o.onXhrComplete&&o.onXhrComplete(g,a))},g.send(null)}:"rhino"===o.env||!o.env&&"undefined"!=typeof Packages&&"undefined"!=typeof java?b.get=function(a,b){var c,d,e="utf-8",f=new java.io.File(a),g=java.lang.System.getProperty("line.separator"),h=new java.io.BufferedReader(new java.io.InputStreamReader(new java.io.FileInputStream(f),e)),i="";try{for(c=new java.lang.StringBuffer,d=h.readLine(),d&&d.length()&&65279===d.charAt(0)&&(d=d.substring(1)),null!==d&&c.append(d);null!==(d=h.readLine());)c.append(g),c.append(d);i=String(c.toString())}finally{h.close()}b(i)}:("xpconnect"===o.env||!o.env&&"undefined"!=typeof Components&&Components.classes&&Components.interfaces)&&(d=Components.classes,e=Components.interfaces,Components.utils["import"]("resource://gre/modules/FileUtils.jsm"),f="@mozilla.org/windows-registry-key;1"in d,b.get=function(a,b){var c,g,h,i={};f&&(a=a.replace(/\//g,"\\")),h=new FileUtils.File(a);try{c=d["@mozilla.org/network/file-input-stream;1"].createInstance(e.nsIFileInputStream),c.init(h,1,0,!1),g=d["@mozilla.org/intl/converter-input-stream;1"].createInstance(e.nsIConverterInputStream),g.init(c,"utf-8",c.available(),e.nsIConverterInputStream.DEFAULT_REPLACEMENT_CHARACTER),g.readString(c.available(),i),g.close(),c.close(),b(i.value)}catch(j){throw new Error((h&&h.path||"")+": "+j)}}),b}),function(a){a.color={},a.color.make=function(b,c,d,e){var f={};return f.r=b||0,f.g=c||0,f.b=d||0,f.a=null!=e?e:1,f.add=function(a,b){for(var c=0;c=1?"rgb("+[f.r,f.g,f.b].join(",")+")":"rgba("+[f.r,f.g,f.b,f.a].join(",")+")"},f.normalize=function(){function a(a,b,c){return a>b?a:b>c?c:b}return f.r=a(0,parseInt(f.r),255),f.g=a(0,parseInt(f.g),255),f.b=a(0,parseInt(f.b),255),f.a=a(0,f.a,1),f},f.clone=function(){return a.color.make(f.r,f.b,f.g,f.a)},f.normalize()},a.color.extract=function(b,c){var d;do{if(d=b.css(c).toLowerCase(),""!=d&&"transparent"!=d)break;b=b.parent()}while(!a.nodeName(b.get(0),"body"));return"rgba(0, 0, 0, 0)"==d&&(d="transparent"),a.color.parse(d)},a.color.parse=function(c){var d,e=a.color.make;if(d=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(c))return e(parseInt(d[1],10),parseInt(d[2],10),parseInt(d[3],10));if(d=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(c))return e(parseInt(d[1],10),parseInt(d[2],10),parseInt(d[3],10),parseFloat(d[4]));if(d=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(c))return e(2.55*parseFloat(d[1]),2.55*parseFloat(d[2]),2.55*parseFloat(d[3]));if(d=/rgba\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(c))return e(2.55*parseFloat(d[1]),2.55*parseFloat(d[2]),2.55*parseFloat(d[3]),parseFloat(d[4]));if(d=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(c))return e(parseInt(d[1],16),parseInt(d[2],16),parseInt(d[3],16));if(d=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(c))return e(parseInt(d[1]+d[1],16),parseInt(d[2]+d[2],16),parseInt(d[3]+d[3],16));var f=a.trim(c).toLowerCase();return"transparent"==f?e(255,255,255,0):(d=b[f]||[0,0,0],e(d[0],d[1],d[2]))};var b={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0]}}(jQuery),function(a){function b(b,c){var d=c.children("."+b)[0];if(null==d&&(d=document.createElement("canvas"),d.className=b,a(d).css({direction:"ltr",position:"absolute",left:0,top:0}).appendTo(c),!d.getContext)){if(!window.G_vmlCanvasManager)throw new Error("Canvas is not available. If you're using IE with a fall-back such as Excanvas, then there's either a mistake in your conditional include, or the page has no DOCTYPE and is rendering in Quirks Mode.");d=window.G_vmlCanvasManager.initElement(d)}this.element=d;var e=this.context=d.getContext("2d"),f=window.devicePixelRatio||1,g=e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1;this.pixelRatio=f/g,this.resize(c.width(),c.height()),this.textContainer=null,this.text={},this._textCache={}}function c(c,e,f,g){function h(a,b){b=[qb].concat(b);for(var c=0;cd;++d)e=eb.xaxes[d],e&&!e.tickColor&&(e.tickColor=e.color),e=a.extend(!0,{},eb.xaxis,e),eb.xaxes[d]=e,e.font&&(e.font=a.extend({},g,e.font),e.font.color||(e.font.color=e.color));for(f=eb.yaxes.length||1,d=0;f>d;++d)e=eb.yaxes[d],e&&!e.tickColor&&(e.tickColor=e.color),e=a.extend(!0,{},eb.yaxis,e),eb.yaxes[d]=e,e.font&&(e.font=a.extend({},g,e.font),e.font.color||(e.font.color=e.color));for(eb.xaxis.noTicks&&null==eb.xaxis.ticks&&(eb.xaxis.ticks=eb.xaxis.noTicks),eb.yaxis.noTicks&&null==eb.yaxis.ticks&&(eb.yaxis.ticks=eb.yaxis.noTicks),eb.x2axis&&(eb.xaxes[1]=a.extend(!0,{},eb.xaxis,eb.x2axis),eb.xaxes[1].position="top"),eb.y2axis&&(eb.yaxes[1]=a.extend(!0,{},eb.yaxis,eb.y2axis),eb.yaxes[1].position="right"),eb.grid.coloredAreas&&(eb.grid.markings=eb.grid.coloredAreas),eb.grid.coloredAreasColor&&(eb.grid.markingsColor=eb.grid.coloredAreasColor),eb.lines&&a.extend(!0,eb.series.lines,eb.lines),eb.points&&a.extend(!0,eb.series.points,eb.points),eb.bars&&a.extend(!0,eb.series.bars,eb.bars),null!=eb.shadowSize&&(eb.series.shadowSize=eb.shadowSize),null!=eb.highlightColor&&(eb.series.highlightColor=eb.highlightColor),d=0;dd&&(d=e))}d>=c&&(c=d+1);var f,g=[],h=eb.colors,i=h.length,j=0;for(b=0;c>b;b++)f=a.color.parse(h[b%i]||"#666"),b%i==0&&b&&(j=j>=0?.5>j?-j-.2:0:-j),g[b]=f.scale("rgb",1+j);var k,l=0;for(b=0;ba.datamax&&c!=s&&(a.datamax=c)}var c,d,e,f,g,i,j,k,l,m,o,p,q=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY,s=Number.MAX_VALUE;for(a.each(n(),function(a,b){b.datamin=q,b.datamax=r,b.used=!1}),c=0;cf;++f)k=m[f],l=p[f],l&&(l.number&&null!=k&&(k=+k,isNaN(k)?k=null:1/0==k?k=s:k==-1/0&&(k=-s)),null==k&&(l.required&&(v=!0),null!=l.defaultValue&&(k=l.defaultValue))),i[e+f]=k;if(v)for(f=0;j>f;++f)k=i[e+f],null!=k&&(l=p[f],l.autoscale&&(l.x&&b(g.xaxis,k,k),l.y&&b(g.yaxis,k,k))),i[e+f]=null;else if(u&&e>0&&null!=i[e-j]&&i[e-j]!=i[e]&&i[e-j+1]!=i[e+1]){for(f=0;j>f;++f)i[e+j+f]=i[e+f];i[e+1]=i[e-j+1],e+=j}}}}for(c=0;cf;++f)k=i[d+f],l=p[f],l&&l.autoscale!==!1&&k!=s&&k!=-s&&(l.x&&(w>k&&(w=k),k>y&&(y=k)),l.y&&(x>k&&(x=k),k>z&&(z=k)));if(g.bars.show){var A;switch(g.bars.align){case"left":A=0;break;case"right":A=-g.bars.barWidth;break;case"center":A=-g.bars.barWidth/2;break;default:throw new Error("Invalid bar alignment: "+g.bars.align)}g.bars.horizontal?(x+=A,z+=A+g.bars.barWidth):(w+=A,y+=A+g.bars.barWidth)}b(g.xaxis,w,y),b(g.yaxis,x,z)}a.each(n(),function(a,b){b.datamin==q&&(b.datamin=null),b.datamax==r&&(b.datamax=null)})}function t(){c.css("padding",0).children(":not(.flot-base,.flot-overlay)").remove(),"static"==c.css("position")&&c.css("position","relative"),fb=new b("flot-base",c),gb=new b("flot-overlay",c),ib=fb.context,jb=gb.context,hb=a(gb.element).unbind();var d=c.data("plot");d&&(d.shutdown(),gb.clear()),c.data("plot",qb)}function u(){eb.grid.hoverable&&(hb.mousemove(T),hb.bind("mouseleave",U)),eb.grid.clickable&&hb.click(V),h(pb.bindEvents,[hb])}function v(){sb&&clearTimeout(sb),hb.unbind("mousemove",T),hb.unbind("mouseleave",U),hb.unbind("click",V),h(pb.shutdown,[hb])}function w(a){function b(a){return a}var c,d,e=a.options.transform||b,f=a.options.inverseTransform;"x"==a.direction?(c=a.scale=nb/Math.abs(e(a.max)-e(a.min)),d=Math.min(e(a.max),e(a.min))):(c=a.scale=ob/Math.abs(e(a.max)-e(a.min)),c=-c,d=Math.max(e(a.max),e(a.min))),a.p2c=e==b?function(a){return(a-d)*c}:function(a){return(e(a)-d)*c},a.c2p=f?function(a){return f(d+a/c)}:function(a){return d+a/c}}function x(a){var b=a.options,c=a.ticks||[],d=b.labelWidth||0,e=b.labelHeight||0,f=d||"x"==a.direction?Math.floor(fb.width/(c.length||1)):null;legacyStyles=a.direction+"Axis "+a.direction+a.n+"Axis",layer="flot-"+a.direction+"-axis flot-"+a.direction+a.n+"-axis "+legacyStyles,font=b.font||"flot-tick-label tickLabel";for(var g=0;g=0;--b)y(g[b]);A(),a.each(g,function(a,b){z(b)})}nb=fb.width-mb.left-mb.right,ob=fb.height-mb.bottom-mb.top,a.each(c,function(a,b){w(b)}),d&&K(),R()}function C(a){var b=a.options,c=+(null!=b.min?b.min:a.datamin),d=+(null!=b.max?b.max:a.datamax),e=d-c;if(0==e){var f=0==d?1:.01;null==b.min&&(c-=f),(null==b.max||null!=b.min)&&(d+=f)}else{var g=b.autoscaleMargin;null!=g&&(null==b.min&&(c-=e*g,0>c&&null!=a.datamin&&a.datamin>=0&&(c=0)),null==b.max&&(d+=e*g,d>0&&null!=a.datamax&&a.datamax<=0&&(d=0)))}a.min=c,a.max=d}function D(b){var c,e=b.options;c="number"==typeof e.ticks&&e.ticks>0?e.ticks:.3*Math.sqrt("x"==b.direction?fb.width:fb.height);var f=(b.max-b.min)/c,g=-Math.floor(Math.log(f)/Math.LN10),h=e.tickDecimals;null!=h&&g>h&&(g=h);var i,j=Math.pow(10,-g),k=f/j;if(1.5>k?i=1:3>k?(i=2,k>2.25&&(null==h||h>=g+1)&&(i=2.5,++g)):i=7.5>k?5:10,i*=j,null!=e.minTickSize&&i0&&(null==e.min&&(b.min=Math.min(b.min,m[0])),null==e.max&&m.length>1&&(b.max=Math.max(b.max,m[m.length-1]))),b.tickGenerator=function(a){var b,c,d=[];for(c=0;c1&&/\..*0$/.test((o[1]-o[0]).toFixed(n))||(b.tickDecimals=n)}}}}function E(b){var c=b.options.ticks,d=[];null==c||"number"==typeof c&&c>0?d=b.tickGenerator(b):c&&(d=a.isFunction(c)?c(b):c);var e,f;for(b.ticks=[],e=0;e1&&(g=h[1])):f=+h,null==g&&(g=b.tickFormatter(f,b)),isNaN(f)||b.ticks.push({v:f,label:g})}}function F(a,b){a.options.autoscaleMargin&&b.length>0&&(null==a.options.min&&(a.min=Math.min(a.min,b[0].v)),null==a.options.max&&b.length>1&&(a.max=Math.max(a.max,b[b.length-1].v)))}function G(){fb.clear(),h(pb.drawBackground,[ib]);var a=eb.grid;a.show&&a.backgroundColor&&I(),a.show&&!a.aboveData&&J();for(var b=0;be){var i=d;d=e,e=i}return{from:d,to:e,axis:c}}function I(){ib.save(),ib.translate(mb.left,mb.top),ib.fillStyle=cb(eb.grid.backgroundColor,ob,0,"rgba(255, 255, 255, 0)"),ib.fillRect(0,0,nb,ob),ib.restore()}function J(){var b,c,d,e;ib.save(),ib.translate(mb.left,mb.top);var f=eb.grid.markings;if(f)for(a.isFunction(f)&&(c=qb.getAxes(),c.xmin=c.xaxis.min,c.xmax=c.xaxis.max,c.ymin=c.yaxis.min,c.ymax=c.yaxis.max,f=f(c)),b=0;bh.axis.max||i.toi.axis.max||(h.from=Math.max(h.from,h.axis.min),h.to=Math.min(h.to,h.axis.max),i.from=Math.max(i.from,i.axis.min),i.to=Math.min(i.to,i.axis.max),(h.from!=h.to||i.from!=i.to)&&(h.from=h.axis.p2c(h.from),h.to=h.axis.p2c(h.to),i.from=i.axis.p2c(i.from),i.to=i.axis.p2c(i.to),h.from==h.to||i.from==i.to?(ib.beginPath(),ib.strokeStyle=g.color||eb.grid.markingsColor,ib.lineWidth=g.lineWidth||eb.grid.markingsLineWidth,ib.moveTo(h.from,i.from),ib.lineTo(h.to,i.to),ib.stroke()):(ib.fillStyle=g.color||eb.grid.markingsColor,ib.fillRect(h.from,i.to,h.to-h.from,i.from-i.to))))}c=n(),d=eb.grid.borderWidth;for(var j=0;jp.max||"full"==r&&("object"==typeof d&&d[p.position]>0||d>0)&&(s==p.min||s==p.max)||("x"==p.direction?(k=p.p2c(s),o="full"==r?-ob:r,"top"==p.position&&(o=-o)):(l=p.p2c(s),m="full"==r?-nb:r,"left"==p.position&&(m=-m)),1==ib.lineWidth&&("x"==p.direction?k=Math.floor(k)+.5:l=Math.floor(l)+.5),ib.moveTo(k,l),ib.lineTo(k+m,l+o))}ib.stroke()}}d&&(e=eb.grid.borderColor,"object"==typeof d||"object"==typeof e?("object"!=typeof d&&(d={top:d,right:d,bottom:d,left:d}),"object"!=typeof e&&(e={top:e,right:e,bottom:e,left:e}),d.top>0&&(ib.strokeStyle=e.top,ib.lineWidth=d.top,ib.beginPath(),ib.moveTo(0-d.left,0-d.top/2),ib.lineTo(nb,0-d.top/2),ib.stroke()),d.right>0&&(ib.strokeStyle=e.right,ib.lineWidth=d.right,ib.beginPath(),ib.moveTo(nb+d.right/2,0-d.top),ib.lineTo(nb+d.right/2,ob),ib.stroke()),d.bottom>0&&(ib.strokeStyle=e.bottom,ib.lineWidth=d.bottom,ib.beginPath(),ib.moveTo(nb+d.right,ob+d.bottom/2),ib.lineTo(0,ob+d.bottom/2),ib.stroke()),d.left>0&&(ib.strokeStyle=e.left,ib.lineWidth=d.left,ib.beginPath(),ib.moveTo(0-d.left/2,ob+d.bottom),ib.lineTo(0-d.left/2,0),ib.stroke())):(ib.lineWidth=d,ib.strokeStyle=eb.grid.borderColor,ib.strokeRect(-d/2,-d/2,nb+d,ob+d))),ib.restore()}function K(){a.each(n(),function(a,b){if(b.show&&0!=b.ticks.length){var c,d,e,f,g,h=b.box,i=b.direction+"Axis "+b.direction+b.n+"Axis",j="flot-"+b.direction+"-axis flot-"+b.direction+b.n+"-axis "+i,k=b.options.font||"flot-tick-label tickLabel";fb.removeText(j);for(var l=0;lb.max||("x"==b.direction?(f="center",d=mb.left+b.p2c(c.v),"bottom"==b.position?e=h.top+h.padding:(e=h.top+h.height-h.padding,g="bottom")):(g="middle",e=mb.top+b.p2c(c.v),"left"==b.position?(d=h.left+h.width-h.padding,f="right"):d=h.left+h.padding),fb.addText(j,d,e,c.label,k,null,null,f,g))}})}function L(a){a.lines.show&&M(a),a.bars.show&&P(a),a.points.show&&N(a)}function M(a){function b(a,b,c,d,e){var f=a.points,g=a.pointsize,h=null,i=null;ib.beginPath();for(var j=g;j=l&&l=n&&n=n&&l>e.max){if(n>e.max)continue;k=(e.max-l)/(n-l)*(m-k)+k,l=e.max}else if(n>=l&&n>e.max){if(l>e.max)continue;m=(e.max-l)/(n-l)*(m-k)+k,n=e.max}if(m>=k&&k=m&&m=m&&k>d.max){if(m>d.max)continue;l=(d.max-k)/(m-k)*(n-l)+l,k=d.max}else if(m>=k&&m>d.max){if(k>d.max)continue;n=(d.max-k)/(m-k)*(n-l)+l,m=d.max}(k!=h||l!=i)&&ib.moveTo(d.p2c(k)+b,e.p2c(l)+c),h=m,i=n,ib.lineTo(d.p2c(m)+b,e.p2c(n)+c)}}ib.stroke()}function c(a,b,c){for(var d=a.points,e=a.pointsize,f=Math.min(Math.max(0,c.min),c.max),g=0,h=!1,i=1,j=0,k=0;;){if(e>0&&g>d.length+e)break;g+=e;var l=d[g-e],m=d[g-e+i],n=d[g],o=d[g+i];if(h){if(e>0&&null!=l&&null==n){k=g,e=-e,i=2;continue}if(0>e&&g==j+e){ib.fill(),h=!1,e=-e,i=1,g=j=k+e;continue}}if(null!=l&&null!=n){if(n>=l&&l=n&&n=n&&l>b.max){if(n>b.max)continue;m=(b.max-l)/(n-l)*(o-m)+m,l=b.max}else if(n>=l&&n>b.max){if(l>b.max)continue;o=(b.max-l)/(n-l)*(o-m)+m,n=b.max}if(h||(ib.beginPath(),ib.moveTo(b.p2c(l),c.p2c(f)),h=!0),m>=c.max&&o>=c.max)ib.lineTo(b.p2c(l),c.p2c(c.max)),ib.lineTo(b.p2c(n),c.p2c(c.max));else if(m<=c.min&&o<=c.min)ib.lineTo(b.p2c(l),c.p2c(c.min)),ib.lineTo(b.p2c(n),c.p2c(c.min));else{var p=l,q=n;o>=m&&m=c.min?(l=(c.min-m)/(o-m)*(n-l)+l,m=c.min):m>=o&&o=c.min&&(n=(c.min-m)/(o-m)*(n-l)+l,o=c.min),m>=o&&m>c.max&&o<=c.max?(l=(c.max-m)/(o-m)*(n-l)+l,m=c.max):o>=m&&o>c.max&&m<=c.max&&(n=(c.max-m)/(o-m)*(n-l)+l,o=c.max),l!=p&&ib.lineTo(b.p2c(p),c.p2c(m)),ib.lineTo(b.p2c(l),c.p2c(m)),ib.lineTo(b.p2c(n),c.p2c(o)),n!=q&&(ib.lineTo(b.p2c(n),c.p2c(o)),ib.lineTo(b.p2c(q),c.p2c(o)))}}}}ib.save(),ib.translate(mb.left,mb.top),ib.lineJoin="round";var d=a.lines.lineWidth,e=a.shadowSize;if(d>0&&e>0){ib.lineWidth=e,ib.strokeStyle="rgba(0,0,0,0.1)";var f=Math.PI/18;b(a.datapoints,Math.sin(f)*(d/2+e/2),Math.cos(f)*(d/2+e/2),a.xaxis,a.yaxis),ib.lineWidth=e/2,b(a.datapoints,Math.sin(f)*(d/2+e/4),Math.cos(f)*(d/2+e/4),a.xaxis,a.yaxis)}ib.lineWidth=d,ib.strokeStyle=a.color;var g=Q(a.lines,a.color,0,ob);g&&(ib.fillStyle=g,c(a.datapoints,a.xaxis,a.yaxis)),d>0&&b(a.datapoints,0,0,a.xaxis,a.yaxis),ib.restore()}function N(a){function b(a,b,c,d,e,f,g,h){for(var i=a.points,j=a.pointsize,k=0;kf.max||mg.max||(ib.beginPath(),l=f.p2c(l),m=g.p2c(m)+d,"circle"==h?ib.arc(l,m,b,0,e?Math.PI:2*Math.PI,!1):h(ib,l,m,b,e),ib.closePath(),c&&(ib.fillStyle=c,ib.fill()),ib.stroke())}}ib.save(),ib.translate(mb.left,mb.top);var c=a.points.lineWidth,d=a.shadowSize,e=a.points.radius,f=a.points.symbol;if(0==c&&(c=1e-4),c>0&&d>0){var g=d/2;ib.lineWidth=g,ib.strokeStyle="rgba(0,0,0,0.1)",b(a.datapoints,e,null,g+g/2,!0,a.xaxis,a.yaxis,f),ib.strokeStyle="rgba(0,0,0,0.2)",b(a.datapoints,e,null,g/2,!0,a.xaxis,a.yaxis,f)}ib.lineWidth=c,ib.strokeStyle=a.color,b(a.datapoints,e,Q(a.points,a.color),0,!1,a.xaxis,a.yaxis,f),ib.restore()}function O(a,b,c,d,e,f,g,h,i,j,k,l){var m,n,o,p,q,r,s,t,u;k?(t=r=s=!0,q=!1,m=c,n=a,p=b+d,o=b+e,m>n&&(u=n,n=m,m=u,q=!0,r=!1)):(q=r=s=!0,t=!1,m=a+d,n=a+e,o=c,p=b,o>p&&(u=p,p=o,o=u,t=!0,s=!1)),nh.max||pi.max||(mh.max&&(n=h.max,r=!1),oi.max&&(p=i.max,s=!1),m=h.p2c(m),o=i.p2c(o),n=h.p2c(n),p=i.p2c(p),g&&(j.beginPath(),j.moveTo(m,o),j.lineTo(m,p),j.lineTo(n,p),j.lineTo(n,o),j.fillStyle=g(o,p),j.fill()),l>0&&(q||r||s||t)&&(j.beginPath(),j.moveTo(m,o+f),q?j.lineTo(m,p+f):j.moveTo(m,p+f),s?j.lineTo(n,p+f):j.moveTo(n,p+f),r?j.lineTo(n,o+f):j.moveTo(n,o+f),t?j.lineTo(m,o+f):j.moveTo(m,o+f),j.stroke()))}function P(a){function b(b,c,d,e,f,g,h){for(var i=b.points,j=b.pointsize,k=0;k"),e.push(""),g=!0),e.push('
    '+k.label+"") -}if(g&&e.push(""),0!=e.length){var l=''+e.join("")+"
    ";if(null!=eb.legend.container)a(eb.legend.container).html(l);else{var m="",n=eb.legend.position,o=eb.legend.margin;null==o[0]&&(o=[o,o]),"n"==n.charAt(0)?m+="top:"+(o[1]+mb.top)+"px;":"s"==n.charAt(0)&&(m+="bottom:"+(o[1]+mb.bottom)+"px;"),"e"==n.charAt(1)?m+="right:"+(o[0]+mb.right)+"px;":"w"==n.charAt(1)&&(m+="left:"+(o[0]+mb.left)+"px;");var p=a('
    '+l.replace('style="','style="position:absolute;'+m+";")+"
    ").appendTo(c);if(0!=eb.legend.backgroundOpacity){var q=eb.legend.backgroundColor;null==q&&(q=eb.grid.backgroundColor,q=q&&"string"==typeof q?a.color.parse(q):a.color.extract(p,"background-color"),q.a=1,q=q.toString());var r=p.children();a('
    ').prependTo(p).css("opacity",eb.legend.backgroundOpacity)}}}}}function S(a,b,c){var d,e,f,g=eb.grid.mouseActiveRadius,h=g*g+1,i=null;for(d=db.length-1;d>=0;--d)if(c(db[d])){var j=db[d],k=j.xaxis,l=j.yaxis,m=j.datapoints.points,n=k.c2p(a),o=l.c2p(b),p=g/k.scale,q=g/l.scale;if(f=j.datapoints.pointsize,k.options.inverseTransform&&(p=Number.MAX_VALUE),l.options.inverseTransform&&(q=Number.MAX_VALUE),j.lines.show||j.points.show)for(e=0;ep||-p>r-n||s-o>q||-q>s-o)){var t=Math.abs(k.p2c(r)-a),u=Math.abs(l.p2c(s)-b),v=t*t+u*u;h>v&&(h=v,i=[d,e/f])}}if(j.bars.show&&!i){var w="left"==j.bars.align?0:-j.bars.barWidth/2,x=w+j.bars.barWidth;for(e=0;e=Math.min(y,r)&&o>=s+w&&s+x>=o:n>=r+w&&r+x>=n&&o>=Math.min(y,s)&&o<=Math.max(y,s))&&(i=[d,e/f])}}}return i?(d=i[0],e=i[1],f=db[d].datapoints.pointsize,{datapoint:db[d].datapoints.points.slice(e*f,(e+1)*f),dataIndex:e,series:db[d],seriesIndex:d}):null}function T(a){eb.grid.hoverable&&W("plothover",a,function(a){return 0!=a.hoverable})}function U(a){eb.grid.hoverable&&W("plothover",a,function(){return!1})}function V(a){W("plotclick",a,function(a){return 0!=a.clickable})}function W(a,b,d){var e=hb.offset(),f=b.pageX-e.left-mb.left,g=b.pageY-e.top-mb.top,h=o({left:f,top:g});h.pageX=b.pageX,h.pageY=b.pageY;var i=S(f,g,d);if(i&&(i.pageX=parseInt(i.series.xaxis.p2c(i.datapoint[0])+e.left+mb.left,10),i.pageY=parseInt(i.series.yaxis.p2c(i.datapoint[1])+e.top+mb.top,10)),eb.grid.autoHighlight){for(var j=0;jf.max||eg.max)){var i=b.points.radius+b.points.lineWidth/2;jb.lineWidth=i,jb.strokeStyle=h;var j=1.5*i;d=f.p2c(d),e=g.p2c(e),jb.beginPath(),"circle"==b.points.symbol?jb.arc(d,e,j,0,2*Math.PI,!1):b.points.symbol(jb,d,e,j,!1),jb.closePath(),jb.stroke()}}function bb(b,c){var d="string"==typeof b.highlightColor?b.highlightColor:a.color.parse(b.color).scale("a",.5).toString(),e=d,f="left"==b.bars.align?0:-b.bars.barWidth/2;jb.lineWidth=b.bars.lineWidth,jb.strokeStyle=d,O(c[0],c[1],c[2]||0,f,f+b.bars.barWidth,0,function(){return e},b.xaxis,b.yaxis,jb,b.bars.horizontal,b.bars.lineWidth)}function cb(b,c,d,e){if("string"==typeof b)return b;for(var f=ib.createLinearGradient(0,d,0,c),g=0,h=b.colors.length;h>g;++g){var i=b.colors[g];if("string"!=typeof i){var j=a.color.parse(e);null!=i.brightness&&(j=j.scale("rgb",i.brightness)),null!=i.opacity&&(j.a*=i.opacity),i=j.toString()}f.addColorStop(g/(h-1),i)}return f}var db=[],eb={colors:["#edc240","#afd8f8","#cb4b4b","#4da74d","#9440ed"],legend:{show:!0,noColumns:1,labelFormatter:null,labelBoxBorderColor:"#ccc",container:null,position:"ne",margin:5,backgroundColor:null,backgroundOpacity:.85,sorted:null},xaxis:{show:null,position:"bottom",mode:null,font:null,color:null,tickColor:null,transform:null,inverseTransform:null,min:null,max:null,autoscaleMargin:null,ticks:null,tickFormatter:null,labelWidth:null,labelHeight:null,reserveSpace:null,tickLength:null,alignTicksWithAxis:null,tickDecimals:null,tickSize:null,minTickSize:null},yaxis:{autoscaleMargin:.02,position:"left"},xaxes:[],yaxes:[],series:{points:{show:!1,radius:3,lineWidth:2,fill:!0,fillColor:"#ffffff",symbol:"circle"},lines:{lineWidth:2,fill:!1,fillColor:null,steps:!1},bars:{show:!1,lineWidth:2,barWidth:1,fill:!0,fillColor:null,align:"left",horizontal:!1},shadowSize:3,highlightColor:null},grid:{show:!0,aboveData:!1,color:"#545454",backgroundColor:null,borderColor:null,tickColor:null,margin:0,labelMargin:5,axisMargin:8,borderWidth:2,minBorderMargin:null,markings:null,markingsColor:"#f4f4f4",markingsLineWidth:2,clickable:!1,hoverable:!1,autoHighlight:!0,mouseActiveRadius:10},interaction:{redrawOverlayInterval:1e3/60},hooks:{}},fb=null,gb=null,hb=null,ib=null,jb=null,kb=[],lb=[],mb={left:0,right:0,top:0,bottom:0},nb=0,ob=0,pb={processOptions:[],processRawData:[],processDatapoints:[],processOffset:[],drawBackground:[],drawSeries:[],draw:[],bindEvents:[],drawOverlay:[],shutdown:[]},qb=this;qb.setData=k,qb.setupGrid=B,qb.draw=G,qb.getPlaceholder=function(){return c},qb.getCanvas=function(){return fb.element},qb.getPlotOffset=function(){return mb},qb.width=function(){return nb},qb.height=function(){return ob},qb.offset=function(){var a=hb.offset();return a.left+=mb.left,a.top+=mb.top,a},qb.getData=function(){return db},qb.getAxes=function(){var b={};return a.each(kb.concat(lb),function(a,c){c&&(b[c.direction+(1!=c.n?c.n:"")+"axis"]=c)}),b},qb.getXAxes=function(){return kb},qb.getYAxes=function(){return lb},qb.c2p=o,qb.p2c=p,qb.getOptions=function(){return eb},qb.highlight=Z,qb.unhighlight=$,qb.triggerRedrawOverlay=X,qb.pointOffset=function(a){return{left:parseInt(kb[m(a,"x")-1].p2c(+a.x)+mb.left,10),top:parseInt(lb[m(a,"y")-1].p2c(+a.y)+mb.top,10)}},qb.shutdown=v,qb.resize=function(){var a=c.width(),b=c.height();fb.resize(a,b),gb.resize(a,b)},qb.hooks=pb,i(qb),j(f),t(),k(e),B(),G(),u();var rb=[],sb=null}function d(a,b){return b*Math.floor(a/b)}var e=Object.prototype.hasOwnProperty;b.prototype.resize=function(a,b){if(0>=a||0>=b)throw new Error("Invalid dimensions for plot, width = "+a+", height = "+b);var c=this.element,d=this.context,e=this.pixelRatio;this.width!=a&&(c.width=a*e,c.style.width=a+"px",this.width=a),this.height!=b&&(c.height=b*e,c.style.height=b+"px",this.height=b),d.restore(),d.save(),d.scale(e,e)},b.prototype.clear=function(){this.context.clearRect(0,0,this.width,this.height)},b.prototype.render=function(){var a=this._textCache;for(var b in a)if(e.call(a,b)){var c=this.getTextLayer(b),d=a[b];c.hide();for(var f in d)if(e.call(d,f)){var g=d[f];for(var h in g)if(e.call(g,h)){for(var i,j=g[h].positions,k=0;i=j[k];k++)i.active?i.rendered||(c.append(i.element),i.rendered=!0):(j.splice(k--,1),i.rendered&&i.element.detach());0==j.length&&delete g[h]}}c.show()}},b.prototype.getTextLayer=function(b){var c=this.text[b];return null==c&&(null==this.textContainer&&(this.textContainer=a("
    ").css({position:"absolute",top:0,left:0,bottom:0,right:0,"font-size":"smaller",color:"#545454"}).insertAfter(this.element)),c=this.text[b]=a("
    ").addClass(b).css({position:"absolute",top:0,left:0,bottom:0,right:0}).appendTo(this.textContainer)),c},b.prototype.getTextInfo=function(b,c,d,e,f){var g,h,i,j;if(c=""+c,g="object"==typeof d?d.style+" "+d.variant+" "+d.weight+" "+d.size+"px/"+d.lineHeight+"px "+d.family:d,h=this._textCache[b],null==h&&(h=this._textCache[b]={}),i=h[g],null==i&&(i=h[g]={}),j=i[c],null==j){var k=a("
    ").html(c).css({position:"absolute","max-width":f,top:-9999}).appendTo(this.getTextLayer(b));"object"==typeof d?k.css({font:g,color:d.color}):"string"==typeof d&&k.addClass(d),j=i[c]={width:k.outerWidth(!0),height:k.outerHeight(!0),element:k,positions:[]},k.detach()}return j},b.prototype.addText=function(a,b,c,d,e,f,g,h,i){var j=this.getTextInfo(a,d,e,f,g),k=j.positions;"center"==h?b-=j.width/2:"right"==h&&(b-=j.width),"middle"==i?c-=j.height/2:"bottom"==i&&(c-=j.height);for(var l,m=0;l=k[m];m++)if(l.x==b&&l.y==c)return void(l.active=!0);l={active:!0,rendered:!1,element:k.length?j.element.clone():j.element,x:b,y:c},k.push(l),l.element.css({top:Math.round(c),left:Math.round(b),"text-align":h})},b.prototype.removeText=function(a,b,c,d,f,g){if(null==d){var h=this._textCache[a];if(null!=h)for(var i in h)if(e.call(h,i)){var j=h[i];for(var k in j)if(e.call(j,k))for(var l,m=j[k].positions,n=0;l=m[n];n++)l.active=!1}}else for(var l,m=this.getTextInfo(a,d,f,g).positions,n=0;l=m[n];n++)l.x==b&&l.y==c&&(l.active=!1)},a.plot=function(b,d,e){var f=new c(a(b),d,e,a.plot.plugins);return f},a.plot.version="0.8.1",a.plot.plugins=[],a.fn.plot=function(b,c){return this.each(function(){a.plot(this,b,c)})}}(jQuery),define("jquery.flot",function(){}),function(a){function b(b){function f(b){x||(x=!0,s=b.getCanvas(),t=a(s).parent(),e=b.getOptions(),b.setData(g(b.getData())))}function g(b){for(var c=0,d=0,f=0,g=e.series.pie.combine.color,h=[],i=0;if||j/c>e.series.pie.combine.threshold)&&h.push({data:[[1,j]],color:b[i].color,label:b[i].label,angle:j*Math.PI*2/c,percent:j/(c/100)})}return f>1&&h.push({data:[[1,d]],color:g,label:e.series.pie.combine.label,angle:d*Math.PI*2/c,percent:d/(c/100)}),h}function h(b,f){function g(){y.clearRect(0,0,k,l),t.children().filter(".pieLabel, .pieLabelBackground").remove()}function h(){var a=e.series.pie.shadow.left,b=e.series.pie.shadow.top,c=10,d=e.series.pie.shadow.alpha,f=e.series.pie.radius>1?e.series.pie.radius:u*e.series.pie.radius;if(!(f>=k/2-a||f*e.series.pie.tilt>=l/2-b||c>=f)){y.save(),y.translate(a,b),y.globalAlpha=d,y.fillStyle="#000",y.translate(v,w),y.scale(1,e.series.pie.tilt);for(var g=1;c>=g;g++)y.beginPath(),y.arc(0,0,f,0,2*Math.PI,!1),y.fill(),f-=g;y.restore()}}function j(){function b(a,b,c){0>=a||isNaN(a)||(c?y.fillStyle=b:(y.strokeStyle=b,y.lineJoin="round"),y.beginPath(),Math.abs(a-2*Math.PI)>1e-9&&y.moveTo(0,0),y.arc(0,0,f,g,g+a/2,!1),y.arc(0,0,f,g+a/2,g+a,!1),y.closePath(),g+=a,c?y.fill():y.stroke())}function c(){function b(b,c,d){if(0==b.data[0][1])return!0;var g,h=e.legend.labelFormatter,i=e.series.pie.label.formatter;g=h?h(b.label,b):b.label,i&&(g=i(g,b));var j=(c+b.angle+c)/2,m=v+Math.round(Math.cos(j)*f),n=w+Math.round(Math.sin(j)*f)*e.series.pie.tilt,o=""+g+"";t.append(o);var p=t.children("#pieLabel"+d),q=n-p.height()/2,r=m-p.width()/2;if(p.css("top",q),p.css("left",r),0-q>0||0-r>0||l-(q+p.height())<0||k-(r+p.width())<0)return!1;if(0!=e.series.pie.label.background.opacity){var s=e.series.pie.label.background.color;null==s&&(s=b.color);var u="top:"+q+"px;left:"+r+"px;";a("
    ").css("opacity",e.series.pie.label.background.opacity).insertBefore(p)}return!0}for(var c=d,f=e.series.pie.label.radius>1?e.series.pie.label.radius:u*e.series.pie.label.radius,g=0;g=100*e.series.pie.label.threshold&&!b(n[g],c,g))return!1;c+=n[g].angle}return!0}var d=Math.PI*e.series.pie.startAngle,f=e.series.pie.radius>1?e.series.pie.radius:u*e.series.pie.radius;y.save(),y.translate(v,w),y.scale(1,e.series.pie.tilt),y.save();for(var g=d,h=0;h0){y.save(),y.lineWidth=e.series.pie.stroke.width,g=d;for(var h=0;hv?v=u:v>k-u&&(v=k-u);var n=b.getData(),o=0;do o>0&&(u*=d),o+=1,g(),e.series.pie.tilt<=.8&&h();while(!j()&&c>o);o>=c&&(g(),t.prepend("
    Could not draw pie with labels contained inside canvas
    ")),b.setSeries&&b.insertLegend&&(b.setSeries(n),b.insertLegend())}}function i(a){if(e.series.pie.innerRadius>0){a.save();var b=e.series.pie.innerRadius>1?e.series.pie.innerRadius:u*e.series.pie.innerRadius;a.globalCompositeOperation="destination-out",a.beginPath(),a.fillStyle=e.series.pie.stroke.color,a.arc(0,0,b,0,2*Math.PI,!1),a.fill(),a.closePath(),a.restore(),a.save(),a.beginPath(),a.strokeStyle=e.series.pie.stroke.color,a.arc(0,0,b,0,2*Math.PI,!1),a.stroke(),a.closePath(),a.restore()}}function j(a,b){for(var c=!1,d=-1,e=a.length,f=e-1;++d1?g.series.pie.radius:u*g.series.pie.radius,i=0;i1e-9&&b.moveTo(0,0),b.arc(0,0,e,a.startAngle,a.startAngle+a.angle/2,!1),b.arc(0,0,e,a.startAngle+a.angle/2,a.startAngle+a.angle,!1),b.closePath(),b.fill())}var d=a.getOptions(),e=d.series.pie.radius>1?d.series.pie.radius:u*d.series.pie.radius;b.save(),b.translate(v,w),b.scale(1,d.series.pie.tilt);for(var f=0;f1?b.series.pie.tilt=1:b.series.pie.tilt<0&&(b.series.pie.tilt=0))}),b.hooks.bindEvents.push(function(a,b){var c=a.getOptions();c.series.pie.show&&(c.grid.hoverable&&b.unbind("mousemove").mousemove(l),c.grid.clickable&&b.unbind("click").click(m))}),b.hooks.processDatapoints.push(function(a,b,c,d){var e=a.getOptions();e.series.pie.show&&f(a,b,c,d)}),b.hooks.drawOverlay.push(function(a,b){var c=a.getOptions();c.series.pie.show&&r(a,b)}),b.hooks.draw.push(function(a,b){var c=a.getOptions();c.series.pie.show&&h(a,b)})}var c=10,d=.95,e={series:{pie:{show:!1,radius:"auto",innerRadius:0,startAngle:1.5,tilt:1,shadow:{left:5,top:15,alpha:.02},offset:{top:0,left:"auto"},stroke:{color:"#fff",width:1},label:{show:"auto",formatter:function(a,b){return"
    "+a+"
    "+Math.round(b.percent)+"%
    "},radius:1,background:{color:null,opacity:0},threshold:0},combine:{threshold:-1,color:null,label:"Other"},highlight:{opacity:.5}}}};a.plot.plugins.push({init:b,options:e,name:"pie",version:"1.1"})}(jQuery),define("jquery.flot.pie",function(){}),define("panels/annotations/module",["angular","app","underscore"],function(a,b,c){var d=a.module("kibana.panels.annotations",[]);b.useModule(d),d.controller("AnnotationsCtrl",["$scope","dashboard","$rootScope",function(b,d,e){b.panelMeta={status:"Stable",description:"Annotations"};var f={annotations:[]},g={name:"",type:"graphite metric",showLine:!0,iconColor:"#C0C6BE",lineColor:"rgba(255, 96, 96, 0.592157)",iconSize:13,enable:!0};c.defaults(b.panel,f),b.init=function(){b.currentAnnnotation=a.copy(g),b.currentIsNew=!0},b.edit=function(a){b.currentAnnnotation=a,b.currentIsNew=!1},b.update=function(){b.currentAnnnotation=a.copy(g),b.currentIsNew=!0},b.add=function(){b.panel.annotations.push(b.currentAnnnotation),b.currentAnnnotation=a.copy(g)},b.hide=function(a){a.enable=!a.enable,e.$broadcast("refresh")}}])}),define("text!panels/annotations/module.html",[],function(){return''}),define("panels/filtering/module",["angular","app","underscore"],function(a,b,c){var d=a.module("kibana.panels.filtering",[]);b.useModule(d),d.controller("filtering",["$scope","datasourceSrv","$rootScope","$timeout","$q",function(a,b,d,e,f){a.panelMeta={status:"Stable",description:"graphite target filters"};var g={};c.defaults(a.panel,g),a.init=function(){},a.remove=function(b){a.filter.removeTemplateParameter(b)},a.filterOptionSelected=function(b,c,d){return b.current=c,a.filter.updateTemplateData(),a.applyFilterToOtherFilters(b).then(function(){d||a.dashboard.refresh()})},a.applyFilterToOtherFilters=function(b){var d=c.map(a.filter.templateParameters,function(c){return c!==b&&-1!==c.query.indexOf(b.name)?a.applyFilter(c):void 0});return f.all(d)},a.applyFilter=function(d){return b.default.metricFindQuery(a.filter,d.query).then(function(b){if(d.editing=void 0,d.options=c.map(b,function(a){return{text:a.text,value:a.text}}),d.includeAll){var e="{";c.each(d.options,function(a){e+=a.text+","}),e=e.substring(0,e.length-1)+"}",d.options.unshift({text:"All",value:e})}if(d.current){var f=c.findWhere(d.options,{value:d.current.value});if(f)return a.filterOptionSelected(d,d.current,!0)}return a.filterOptionSelected(d,d.options[0],!0)})},a.add=function(){a.filter.addTemplateParameter({type:"filter",name:"filter name",editing:!0,query:"metric.path.query.*"})}}])}),define("text!panels/filtering/module.html",[],function(){return'
    • name:
    • filter.query:
    '}),define("panels/graph/timeSeries",["underscore","kbn"],function(a,b){var c={};return c.ZeroFilled=function(a){this.datapoints=a.datapoints,this.info=a.info,this.label=a.info.alias},c.ZeroFilled.prototype.getFlotPairs=function(c,d){var e=[];if(this.color=this.info.color,this.yaxis=this.info.yaxis,this.info.total=0,this.info.max=null,this.info.min=212312321312,a.each(this.datapoints,function(b){var d=b[1],f=b[0];if(null===f){if("connected"===c)return;"null as zero"===c&&(f=0)}a.isNumber(f)&&(this.info.total+=f),f>this.info.max&&(this.info.max=f),f2&&(this.info.timeStep=e[1][0]-e[0][0]),e.length){this.info.avg=this.info.total/e.length,this.info.current=e[e.length-1][1];var f=b.getFormatFunction(d[this.yaxis-1],2);this.info.avg=null!=this.info.avg?f(this.info.avg):null,this.info.current=null!=this.info.current?f(this.info.current):null,this.info.min=null!=this.info.min?f(this.info.min):null,this.info.max=null!=this.info.max?f(this.info.max):null,this.info.total=null!=this.info.total?f(this.info.total):null}return e},c}),function(a){function b(b){var f,g={icon:"icon-caret-up",size:20,width:19,height:10},h=[],i=!1;b.getEvents=function(){return h},b.hideEvents=function(b){a.each(h,function(a,c){k(c.level(),b)&&c.visual().getObject().hide()})},b.showEvents=function(c){b.hideEvents(),a.each(h,function(a,b){k(b.level(),c)||b.hide()}),j()},b.hooks.processOptions.push(function(a,b){null!=b.events.data&&(i=!0)}),b.hooks.draw.push(function(a){var b=a.getOptions(),c=a.getXAxes()[b.events.xaxis-1];if(i)if(h.length<1)if(_lastRange=c.max-c.min,b.events.clustering){var d=s(b.events.types,b.events.data,c.max-c.min);f=d.types,n(d.data)}else f=b.events.types,n(b.events.data);else l();j()});var j=function(){{var c=b.getPlotOffset();c.left,b.width()-c.right}a.each(h,function(a,b){r(b.getOptions().min)&&!b.isHidden()?b.visual().draw():b.visual().getObject().hide()}),o(),p()},k=function(a,b){var c={};return b?(c.start=void 0==b.min?0:b.min,c.end=void 0==b.max?h.length-1:b.max):(c.start=0,c.end=h.length-1),a>=c.start&&a<=c.end?!0:!1},l=function(){var c,d,e=b.getPlotOffset(),f=b.getXAxes()[b.getOptions().events.xaxis-1];a.each(h,function(a,g){d=e.top+b.height()-g.visual().height(),c=f.p2c(g.getOptions().min)+e.left-g.visual().width()/2,g.visual().moveTo({top:d,left:c})})},m=function(b,c,d){var e=a('
    ');d?e.html(d.description).place_tt(b,c,{offset:10}):e.remove()},n=function(c){a.each(c,function(a,c){var e=null!=b.getOptions().events.levels&&f&&f[c.eventType]?f[c.eventType].level:0;if(e>b.getOptions().events.levels)throw"A type's level has exceeded the maximum. Level="+e+", Max levels:"+b.getOptions().events.levels;h.push(new d(c,q(c),e))}),h.sort(e)},o=function(){var b,c=[],d={},e=0;a.each(h,function(a,e){b&&(e.getOptions().min==b.getOptions().min?(d.min||(d.min=a),d.max=a):d.min&&(c.push(d),d={})),b=e}),d.min&&c.push(d),a.each(c,function(b,c){var d=h.splice(c.min-e,c.max-c.min+1);a.each(d,function(a,b){b.visual().clear()}),e+=c.max-c.min+1})},p=function(){var a,c,d=b.getXAxes()[b.getOptions().events.xaxis-1],e=0,f=-1;pright=b.width()-b.getPlotOffset().right;if(d.min&&d.max){a=d.max-d.min;for(var g=1;g.007?(f=-1,e=g):(f=g,g==h.length-1)}},q=function(d){var e,h,i,j,k,l,n,o=b.getPlaceholder(),p=b.getPlotOffset(),q=b.getXAxes()[b.getOptions().events.xaxis-1],r=b.getAxes();return r.yaxis&&r.yaxis.used&&(e=r.yaxis),r.yaxis2&&r.yaxis2.used&&(e=r.yaxis2),null!=f&&f[d.eventType]&&f[d.eventType].icon?(k=f[d.eventType].icon,l=f[d.eventType].level):(k=g,l=0),j=a('').appendTo(o),h=p.top+b.height()-k.size+1,i=q.p2c(d.min)+p.left-k.size/2,j.css({left:i+"px",top:h,color:k.color,"text-shadow":"1px 1px "+k.outline+", -1px -1px "+k.outline+", -1px 1px "+k.outline+", 1px -1px "+k.outline,"font-size":k.size+"px"}),j.hide(),j.data({event:d}),j.hover(function(){var b=a(this).offset();m(b.left+a(this).width()/2,b.top,a(this).data("event"))},function(){a("#tooltip").remove(),b.clearSelection()}),n=new c(j,function(a){a.show()},function(a){a.remove()},function(a,b){a.css({top:b.top,left:b.left})},i,h,j.width(),j.height())},r=function(a){var c=b.getXAxes()[b.getOptions().events.xaxis-1],d=c.p2c(a);return d>0&&de*b&&f>.05?(g.push(d),d=[a[i]]):d.push(a[i])}return g.push(d),g}}function c(a,b,c,d,e,f,g,h){var i=a,j=b,k=c,l=d,m={left:e,top:f},n=g,o=h;this.width=function(){return n},this.height=function(){return o},this.position=function(){return m},this.draw=function(){j(i)},this.clear=function(){k(i)},this.getObject=function(){return i},this.moveTo=function(a){m=a,l(i,m)}}function d(a,b,c){var d,e=a,f=b,g=c,h=!1;this.visual=function(){return f},this.level=function(){return g},this.getOptions=function(){return e},this.getParent=function(){return d},this.isHidden=function(){return h},this.hide=function(){h=!0},this.unhide=function(){h=!1}}function e(a,b){var c=a.getOptions(),d=b.getOptions();return c.min>d.min?1:c.minb?a:b>c?c:b}function i(a,c){var d=b.getOptions(),e=b.getPlaceholder().offset(),f=b.getPlotOffset();a.x=h(0,c.pageX-e.left-f.left,b.width()),a.y=h(0,c.pageY-e.top-f.top,b.height()),"y"==d.selection.mode&&(a.x=a==o.first?0:b.width()),"x"==d.selection.mode&&(a.y=a==o.first?0:b.height())}function j(a){null!=a.pageX&&(i(o.second,a),n()?(o.show=!0,b.triggerRedrawOverlay()):k(!0))}function k(a){o.show&&(o.show=!1,b.triggerRedrawOverlay(),a||b.getPlaceholder().trigger("plotunselected",[]))}function l(a,c){var d,e,f,g,h=b.getAxes();for(var i in h)if(d=h[i],d.direction==c&&(g=c+d.n+"axis",a[g]||1!=d.n||(g=c+"axis"),a[g])){e=a[g].from,f=a[g].to;break}if(a[g]||(d="x"==c?b.getXAxes()[0]:b.getYAxes()[0],e=a[c+"1"],f=a[c+"2"]),null!=e&&null!=f&&e>f){var j=e;e=f,f=j}return{from:e,to:f,axis:d}}function m(a,c){var d,e=b.getOptions();"y"==e.selection.mode?(o.first.x=0,o.second.x=b.width()):(d=l(a,"x"),o.first.x=d.axis.p2c(d.from),o.second.x=d.axis.p2c(d.to)),"x"==e.selection.mode?(o.first.y=0,o.second.y=b.height()):(d=l(a,"y"),o.first.y=d.axis.p2c(d.from),o.second.y=d.axis.p2c(d.to)),o.show=!0,b.triggerRedrawOverlay(),!c&&n()&&g()}function n(){var a=b.getOptions().selection.minSize;return Math.abs(o.second.x-o.first.x)>=a&&Math.abs(o.second.y-o.first.y)>=a}var o={first:{x:-1,y:-1},second:{x:-1,y:-1},show:!1,active:!1},p={},q=null;b.clearSelection=k,b.setSelection=m,b.getSelection=f,b.hooks.bindEvents.push(function(a,b){var e=a.getOptions();null!=e.selection.mode&&(b.mousemove(c),b.mousedown(d))}),b.hooks.drawOverlay.push(function(b,c){if(o.show&&n()){var d=b.getPlotOffset(),e=b.getOptions();c.save(),c.translate(d.left,d.top);var f=a.color.parse(e.selection.color);c.strokeStyle=f.scale("a",.8).toString(),c.lineWidth=1,c.lineJoin=e.selection.shape,c.fillStyle=f.scale("a",.4).toString();var g=Math.min(o.first.x,o.second.x)+.5,h=Math.min(o.first.y,o.second.y)+.5,i=Math.abs(o.second.x-o.first.x)-1,j=Math.abs(o.second.y-o.first.y)-1;c.fillRect(g,h,i,j),c.strokeRect(g,h,i,j),c.restore()}}),b.hooks.shutdown.push(function(b,e){e.unbind("mousemove",c),e.unbind("mousedown",d),q&&a(document).unbind("mouseup",q)})}a.plot.plugins.push({init:b,options:{selection:{mode:null,color:"#e8cfac",shape:"round",minSize:5}},name:"selection",version:"1.1"})}(jQuery),define("jquery.flot.selection",function(){}),function(a){function b(a,b){return b*Math.floor(a/b)}function c(a,b,c,d){if("function"==typeof a.strftime)return a.strftime(b); -var e=function(a,b){return a=""+a,b=""+(null==b?"0":b),1==a.length?b+a:a},f=[],g=!1,h=a.getHours(),i=12>h;null==c&&(c=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]),null==d&&(d=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]);var j;j=h>12?h-12:0==h?12:h;for(var k=0;k=g);++l);var m=i[l][0],n=i[l][1];if("year"==n){if(null!=f.minTickSize&&"year"==f.minTickSize[1])m=Math.floor(f.minTickSize[0]);else{var o=Math.pow(10,Math.floor(Math.log(a.delta/h.year)/Math.LN10)),p=a.delta/h.year/o;m=1.5>p?1:3>p?2:7.5>p?5:10,m*=o}1>m&&(m=1)}a.tickSize=f.tickSize||[m,n];var q=a.tickSize[0];n=a.tickSize[1];var r=q*h[n];"second"==n?d.setSeconds(b(d.getSeconds(),q)):"minute"==n?d.setMinutes(b(d.getMinutes(),q)):"hour"==n?d.setHours(b(d.getHours(),q)):"month"==n?d.setMonth(b(d.getMonth(),q)):"quarter"==n?d.setMonth(3*b(d.getMonth()/3,q)):"year"==n&&d.setFullYear(b(d.getFullYear(),q)),d.setMilliseconds(0),r>=h.minute&&d.setSeconds(0),r>=h.hour&&d.setMinutes(0),r>=h.day&&d.setHours(0),r>=4*h.day&&d.setDate(1),r>=2*h.month&&d.setMonth(b(d.getMonth(),3)),r>=2*h.quarter&&d.setMonth(b(d.getMonth(),6)),r>=h.year&&d.setMonth(0);var s,t=0,u=Number.NaN;do if(s=u,u=d.getTime(),c.push(u),"month"==n||"quarter"==n)if(1>q){d.setDate(1);var v=d.getTime();d.setMonth(d.getMonth()+("quarter"==n?3:1));var w=d.getTime();d.setTime(u+t*h.hour+(w-v)*q),t=d.getHours(),d.setHours(0)}else d.setMonth(d.getMonth()+q*("quarter"==n?3:1));else"year"==n?d.setFullYear(d.getFullYear()+q):d.setTime(u+r);while(u=1024;)h++,g/=1024;for(;1024>=f&&!(f>=g);)f*=2;a.tickSize="undefined"!=typeof d.minTickSize&&f=1024;)d++,a/=1024;switch(d){case 0:c=" B";break;case 1:c=" KB";break;case 2:c=" MB";break;case 3:c=" GB";break;case 4:c=" TB";break;case 5:c=" PB";break;case 6:c=" EB";break;case 7:c=" ZB";break;case 8:c=" YB"}return"undefined"!=typeof b.rate&&(c+="/s"),a.toFixed(b.tickDecimals)+c})})})}var d={};a.plot.plugins.push({init:c,options:d,name:"byte",version:"0.1"})}(jQuery),define("jquery.flot.byte",function(){}),function(a){function b(a){function b(a,b){for(var c=null,d=0;d2&&(t?d.format[2].x:d.format[2].y),v=s&&c.lines.steps,w=!0,x=t?1:0,y=t?0:1,z=0,A=0;;){if(z>=o.length)break;if(l=r.length,null==o[z]){for(m=0;n>m;++m)r.push(o[z+m]);z+=n}else if(A>=q.length){if(!s)for(m=0;n>m;++m)r.push(o[z+m]);z+=n}else if(null==q[A]){for(m=0;n>m;++m)r.push(null);w=!0,A+=p}else{if(f=o[z+x],g=o[z+y],i=q[A+x],j=q[A+y],k=0,f==i){for(m=0;n>m;++m)r.push(o[z+m]);r[l+y]+=j,k=j,z+=n,A+=p}else if(f>i){if(s&&z>0&&null!=o[z-n]){for(h=g+(o[z-n+y]-g)*(i-f)/(o[z-n+x]-f),r.push(i),r.push(h+j),m=2;n>m;++m)r.push(o[z+m]);k=j}A+=p}else{if(w&&s){z+=n;continue}for(m=0;n>m;++m)r.push(o[z+m]);s&&A>0&&null!=q[A-p]&&(k=j+(q[A-p+y]-j)*(f-i)/(q[A-p+x]-i)),r[l+y]+=k,z+=n}w=!1,l!=r.length&&u&&(r[l+2]+=k)}if(v&&l!=r.length&&l>0&&null!=r[l]&&r[l]!=r[l-n]&&r[l+1]!=r[l-n+1]){for(m=0;n>m;++m)r[l+n+m]=r[l+m];r[l+1]=r[l-n+1]}}d.points=r}}}a.hooks.processDatapoints.push(c)}var c={series:{stack:null}};a.plot.plugins.push({init:b,options:c,name:"stack",version:"1.2"})}(jQuery),define("jquery.flot.stack",function(){}),function(a){function b(a){function b(a,b,d){if(f||(f=!0,g=c(a.getData())),1==b.stackpercent){var e=d.length;b.percents=[];var h=0,i=1;b.bars&&b.bars.horizontal&&b.bars.horizontal===!0&&(h=1,i=0);for(var j=0;e>j;j++){var k=g[d[j][h]+""];b.percents.push(k>0?100*d[j][i]/k:0)}}}function c(a){var b=a.length,c={};if(b>0)for(var d=0;b>d;d++)if(a[d].stackpercent){var e=0,f=1;a[d].bars&&a[d].bars.horizontal&&a[d].bars.horizontal===!0&&(e=1,f=0);for(var g=a[d].data.length,h=0;g>h;h++){var i=0;null!=a[d].data[h][1]&&(i=a[d].data[h][f]),c[a[d].data[h][e]+""]?c[a[d].data[h][e]+""]+=i:c[a[d].data[h][e]+""]=i}}return c}function d(a,b,d){if(b.stackpercent){f||(g=c(a.getData()));var h=[],i=0,j=1;b.bars&&b.bars.horizontal&&b.bars.horizontal===!0&&(i=1,j=0);for(var k=0;k0?(h[k+j]=100*h[k+j]/g[h[k+i]+""],h[k+2]=100*h[k+2]/g[h[k+i]+""]):(h[k+j]=0,h[k+2]=0);d.points=h}}var e={},f=!1,g={};a.hooks.processRawData.push(b),a.hooks.processDatapoints.push(d)}var c={series:{stackpercent:null}};a.plot.plugins.push({init:b,options:c,name:"stackpercent",version:"0.1"})}(jQuery),define("jquery.flot.stackpercent",function(){}),define("panels/graph/module",["angular","app","jquery","underscore","kbn","moment","./timeSeries","services/annotationsSrv","services/datasourceSrv","jquery.flot","jquery.flot.events","jquery.flot.selection","jquery.flot.time","jquery.flot.byte","jquery.flot.stack","jquery.flot.stackpercent"],function(a,b,c,d,e,f,g){var h=a.module("kibana.panels.graph",[]);b.useModule(h),h.controller("graph",["$scope","$rootScope","datasourceSrv","$timeout","annotationsSrv",function(a,b,h,i,j){a.panelMeta={modals:[],editorTabs:[],fullEditorTabs:[{title:"General",src:"app/partials/panelgeneral.html"},{title:"Metrics",src:"app/partials/metrics.html"},{title:"Axes & Grid",src:"app/panels/graph/axisEditor.html"},{title:"Display Styles",src:"app/panels/graph/styleEditor.html"}],fullscreenEdit:!0,fullscreenView:!0,description:"Graphing"};var k={datasource:null,renderer:"flot","x-axis":!0,"y-axis":!0,scale:1,y_formats:["short","short"],grid:{leftMax:null,rightMax:null,leftMin:null,rightMin:null,threshold1:null,threshold2:null,threshold1Color:"rgba(216, 200, 27, 0.27)",threshold2Color:"rgba(234, 112, 112, 0.22)"},annotate:{enable:!1},resolution:100,lines:!0,fill:0,linewidth:1,points:!1,pointradius:5,bars:!1,stack:!1,legend:{show:!0,values:!1,min:!1,max:!1,current:!1,total:!1,avg:!1},percentage:!1,zerofill:!0,nullPointMode:"connected",steppedLine:!1,tooltip:{value_type:"cumulative",query_as_alias:!0},targets:[],aliasColors:{},aliasYAxis:{}};d.defaults(a.panel,k),d.defaults(a.panel.tooltip,k.tooltip),d.defaults(a.panel.annotate,k.annotate),d.defaults(a.panel.grid,k.grid),d.isBoolean(a.panel.legend)&&(a.panel.legend={show:a.panel.legend},d.defaults(a.panel.legend,k.legend)),a.panel.grid.min&&(a.panel.grid.leftMin=a.panel.grid.min,delete a.panel.grid.min),a.panel.grid.max&&(a.panel.grid.leftMax=a.panel.grid.max,delete a.panel.grid.max),a.panel.y_format&&(a.panel.y_formats[0]=a.panel.y_format,delete a.panel.y_format),a.panel.y2_format&&(a.panel.y_formats[1]=a.panel.y2_format,delete a.panel.y2_format),a.init=function(){a.initBaseController(this,a),a.fullscreen=!1,a.editor={index:1},a.editorTabs=d.pluck(a.panelMeta.fullEditorTabs,"title"),a.hiddenSeries={},a.datasources=h.listOptions(),a.setDatasource(a.panel.datasource),0===a.panel.targets.length&&a.panel.targets.push({})},a.setDatasource=function(b){return a.panel.datasource=b,a.datasource=h.get(b),a.datasource?void a.get_data():void(a.panel.error="Cannot find datasource "+b)},a.removeTarget=function(b){a.panel.targets=d.without(a.panel.targets,b),a.get_data()},a.updateTimeRange=function(){a.range=this.filter.timeRange(),a.rangeUnparsed=this.filter.timeRange(!1),a.resolution=Math.ceil(c(window).width()*(a.panel.span/12)),a.interval="10m",a.range&&(a.interval=e.secondsToHms(e.calculate_interval(a.range.from,a.range.to,a.resolution,0)/1e3))},a.get_data=function(){delete a.panel.error,a.panelMeta.loading=!0,a.updateTimeRange();var b={range:a.rangeUnparsed,interval:a.interval,targets:a.panel.targets,format:"png"===a.panel.renderer?"png":"json",maxDataPoints:a.resolution,datasource:a.panel.datasource};return a.annotationsPromise=j.getAnnotations(a.filter,a.rangeUnparsed),a.datasource.query(a.filter,b).then(a.dataHandler).then(null,function(b){a.panelMeta.loading=!1,a.panel.error=b.message||"Timeseries data request error",a.inspector.error=b,a.render([])})},a.dataHandler=function(b){if(a.panelMeta.loading=!1,a.legend=[],d.isString(b))return void a.render(b);a.datapointsWarning=!1,a.datapointsCount=0,a.datapointsOutside=!1;var c=d.map(b.data,a.seriesHandler);a.datapointsWarning=a.datapointsCount||!a.datapointsOutside,a.annotationsPromise.then(function(b){c.annotations=b,a.render(c)},function(){a.render(c)})},a.seriesHandler=function(b,c){var d=b.datapoints,e=b.target,h=a.panel.aliasColors[e]||a.colors[c],i=a.panel.aliasYAxis[e]||1,j={alias:e,color:h,enable:!0,yaxis:i};a.legend.push(j);var k=new g.ZeroFilled({datapoints:d,info:j});if(d&&d.length>0){var l=f.utc(1e3*d[d.length-1][1]),m=f.utc(a.range.from);-1e4>l-m&&(a.datapointsOutside=!0),a.datapointsCount+=d.length}return k},a.add_target=function(){a.panel.targets.push({target:""})},a.otherPanelInFullscreenMode=function(){return b.fullscreen&&!a.fullscreen},a.render=function(b){a.$emit("render",b)},a.changeSeriesColor=function(b,c){b.color=c,a.panel.aliasColors[b.alias]=b.color,a.render()},a.toggleSeries=function(b,c){a.hiddenSeries[b.alias]?delete a.hiddenSeries[b.alias]:a.hiddenSeries[b.alias]=!0,(c.ctrlKey||c.metaKey||c.shiftKey)&&a.toggleSeriesExclusiveMode(b),a.$emit("toggleLegend",a.legend)},a.toggleSeriesExclusiveMode=function(b){var c=a.hiddenSeries;c[b.alias]&&delete c[b.alias];var e=d.every(a.legend,function(a){return a.alias===b.alias?!0:c[a.alias]});e?d.each(a.legend,function(b){delete a.hiddenSeries[b.alias]}):d.each(a.legend,function(c){c.alias!==b.alias&&(a.hiddenSeries[c.alias]=!0)})},a.toggleYAxis=function(b){b.yaxis=2===b.yaxis?1:2,a.panel.aliasYAxis[b.alias]=b.yaxis,a.render()},a.toggleGridMinMax=function(b){a.panel.grid[b]=d.toggle(a.panel.grid[b],null,0),a.render()}}])}),define("text!panels/graph/module.html",[],function(){return'
    No datapointsCan be caused by timezone mismatch between browser and graphite server Datapoints outside time rangeCan be caused by timezone mismatch between browser and graphite server
    '});var Showdown={extensions:{}},forEach=Showdown.forEach=function(a,b){if("function"==typeof a.forEach)a.forEach(b);else{var c,d=a.length;for(c=0;d>c;c++)b(a[c],c,a)}},stdExtName=function(a){return a.replace(/[_-]||\s/g,"").toLowerCase()};Showdown.converter=function(a){var b,c,d,e=0,f=[],g=[];if("undefind"!=typeof module&&"undefined"!=typeof exports&&"undefind"!=typeof require){var h=require("fs");if(h){var i=h.readdirSync((__dirname||".")+"/extensions").filter(function(a){return~a.indexOf(".js")}).map(function(a){return a.replace(/\.js$/,"")});Showdown.forEach(i,function(a){var b=stdExtName(a);Showdown.extensions[b]=require("./extensions/"+a)})}}if(this.makeHtml=function(a){return b={},c={},d=[],a=a.replace(/~/g,"~T"),a=a.replace(/\$/g,"~D"),a=a.replace(/\r\n/g,"\n"),a=a.replace(/\r/g,"\n"),a="\n\n"+a+"\n\n",a=M(a),a=a.replace(/^[ \t]+$/gm,""),Showdown.forEach(f,function(b){a=l(b,a)}),a=z(a),a=n(a),a=m(a),a=p(a),a=K(a),a=a.replace(/~D/g,"$$"),a=a.replace(/~T/g,"~"),Showdown.forEach(g,function(b){a=l(b,a)}),a},a&&a.extensions){var j=this;Showdown.forEach(a.extensions,function(a){if("string"==typeof a&&(a=Showdown.extensions[stdExtName(a)]),"function"!=typeof a)throw"Extension '"+a+"' could not be loaded. It was either not found or is not a valid extension.";Showdown.forEach(a(j),function(a){a.type?"language"===a.type||"lang"===a.type?f.push(a):("output"===a.type||"html"===a.type)&&g.push(a):g.push(a)})})}var k,l=function(a,b){if(a.regex){var c=new RegExp(a.regex,"g");return b.replace(c,a.replace)}return a.filter?a.filter(b):void 0},m=function(a){return a+="~0",a=a.replace(/^[ ]{0,3}\[(.+)\]:[ \t]*\n?[ \t]*?[ \t]*\n?[ \t]*(?:(\n*)["(](.+?)[")][ \t]*)?(?:\n+|(?=~0))/gm,function(a,d,e,f,g){return d=d.toLowerCase(),b[d]=G(e),f?f+g:(g&&(c[d]=g.replace(/"/g,""")),"")}),a=a.replace(/~0/,"")},n=function(a){a=a.replace(/\n/g,"\n\n");return a=a.replace(/^(<(p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|script|noscript|form|fieldset|iframe|math|ins|del)\b[^\r]*?\n<\/\2>[ \t]*(?=\n+))/gm,o),a=a.replace(/^(<(p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|script|noscript|form|fieldset|iframe|math|style|section|header|footer|nav|article|aside)\b[^\r]*?<\/\2>[ \t]*(?=\n+)\n)/gm,o),a=a.replace(/(\n[ ]{0,3}(<(hr)\b([^<>])*?\/?>)[ \t]*(?=\n{2,}))/g,o),a=a.replace(/(\n\n[ ]{0,3}[ \t]*(?=\n{2,}))/g,o),a=a.replace(/(?:\n\n)([ ]{0,3}(?:<([?%])[^\r]*?\2>)[ \t]*(?=\n{2,}))/g,o),a=a.replace(/\n\n/g,"\n")},o=function(a,b){var c=b;return c=c.replace(/\n\n/g,"\n"),c=c.replace(/^\n/,""),c=c.replace(/\n+$/g,""),c="\n\n~K"+(d.push(c)-1)+"K\n\n"},p=function(a){a=w(a);var b=A("
    ");return a=a.replace(/^[ ]{0,2}([ ]?\*[ ]?){3,}[ \t]*$/gm,b),a=a.replace(/^[ ]{0,2}([ ]?\-[ ]?){3,}[ \t]*$/gm,b),a=a.replace(/^[ ]{0,2}([ ]?\_[ ]?){3,}[ \t]*$/gm,b),a=x(a),a=y(a),a=E(a),a=n(a),a=F(a)},q=function(a){return a=B(a),a=r(a),a=H(a),a=u(a),a=s(a),a=I(a),a=G(a),a=D(a),a=a.replace(/ +\n/g,"
    \n")},r=function(a){var b=/(<[a-z\/!$]("[^"]*"|'[^']*'|[^'">])*>|)/gi;return a=a.replace(b,function(a){var b=a.replace(/(.)<\/?code>(?=.)/g,"$1`");return b=N(b,"\\`*_")})},s=function(a){return a=a.replace(/(\[((?:\[[^\]]*\]|[^\[\]])*)\][ ]?(?:\n[ ]*)?\[(.*?)\])()()()()/g,t),a=a.replace(/(\[((?:\[[^\]]*\]|[^\[\]])*)\]\([ \t]*()?[ \t]*((['"])(.*?)\6[ \t]*)?\))/g,t),a=a.replace(/(\[([^\[\]]+)\])()()()()()/g,t)},t=function(a,d,e,f,g,h,i,j){void 0==j&&(j="");var k=d,l=e,m=f.toLowerCase(),n=g,o=j;if(""==n)if(""==m&&(m=l.toLowerCase().replace(/ ?\n/g," ")),n="#"+m,void 0!=b[m])n=b[m],void 0!=c[m]&&(o=c[m]);else{if(!(k.search(/\(\s*\)$/m)>-1))return k;n=""}n=N(n,"*_");var p='"},u=function(a){return a=a.replace(/(!\[(.*?)\][ ]?(?:\n[ ]*)?\[(.*?)\])()()()()/g,v),a=a.replace(/(!\[(.*?)\]\s?\([ \t]*()?[ \t]*((['"])(.*?)\6[ \t]*)?\))/g,v)},v=function(a,d,e,f,g,h,i,j){var k=d,l=e,m=f.toLowerCase(),n=g,o=j;if(o||(o=""),""==n){if(""==m&&(m=l.toLowerCase().replace(/ ?\n/g," ")),n="#"+m,void 0==b[m])return k;n=b[m],void 0!=c[m]&&(o=c[m])}l=l.replace(/"/g,"""),n=N(n,"*_");var p=''+l+''+q(c)+"")}),a=a.replace(/^(.+)[ \t]*\n-+[ \t]*\n+/gm,function(a,c){return A('

    '+q(c)+"

    ")}),a=a.replace(/^(\#{1,6})[ \t]*(.+?)[ \t]*\#*\n+/gm,function(a,c,d){var e=c.length;return A("'+q(d)+"")})},x=function(a){a+="~0";var b=/^(([ ]{0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(~0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm;return e?a=a.replace(b,function(a,b,c){var d=b,e=c.search(/[*+-]/g)>-1?"ul":"ol";d=d.replace(/\n{2,}/g,"\n\n\n");var f=k(d);return f=f.replace(/\s+$/,""),f="<"+e+">"+f+"\n"}):(b=/(\n\n|^\n?)(([ ]{0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(~0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/g,a=a.replace(b,function(a,b,c,d){var e=b,f=c,g=d.search(/[*+-]/g)>-1?"ul":"ol",f=f.replace(/\n{2,}/g,"\n\n\n"),h=k(f);return h=e+"<"+g+">\n"+h+"\n"})),a=a.replace(/~0/,"")};k=function(a){return e++,a=a.replace(/\n{2,}$/,"\n"),a+="~0",a=a.replace(/(\n)?(^[ \t]*)([*+-]|\d+[.])[ \t]+([^\r]+?(\n{1,2}))(?=\n*(~0|\2([*+-]|\d+[.])[ \t]+))/gm,function(a,b,c,d,e){var f=e,g=b;return g||f.search(/\n{2,}/)>-1?f=p(L(f)):(f=x(L(f)),f=f.replace(/\n$/,""),f=q(f)),"
  • "+f+"
  • \n"}),a=a.replace(/~0/g,""),e--,a};var y=function(a){return a+="~0",a=a.replace(/(?:\n\n|^)((?:(?:[ ]{4}|\t).*\n+)+)(\n*[ ]{0,3}[^ \t\n]|(?=~0))/g,function(a,b,c){var d=b,e=c;return d=C(L(d)),d=M(d),d=d.replace(/^\n+/g,""),d=d.replace(/\n+$/g,""),d="
    "+d+"\n
    ",A(d)+e}),a=a.replace(/~0/,"")},z=function(a){return a+="~0",a=a.replace(/(?:^|\n)```(.*)\n([\s\S]*?)\n```/g,function(a,b,c){var d=b,e=c;return e=C(e),e=M(e),e=e.replace(/^\n+/g,""),e=e.replace(/\n+$/g,""),e="
    "+e+"\n
    ",A(e)}),a=a.replace(/~0/,"")},A=function(a){return a=a.replace(/(^\n+|\n+$)/g,""),"\n\n~K"+(d.push(a)-1)+"K\n\n"},B=function(a){return a=a.replace(/(^|[^\\])(`+)([^\r]*?[^`])\2(?!`)/gm,function(a,b,c,d){var e=d;return e=e.replace(/^([ \t]*)/g,""),e=e.replace(/[ \t]*$/g,""),e=C(e),b+""+e+""})},C=function(a){return a=a.replace(/&/g,"&"),a=a.replace(//g,">"),a=N(a,"*_{}[]\\",!1)},D=function(a){return a=a.replace(/(\*\*|__)(?=\S)([^\r]*?\S[*_]*)\1/g,"$2"),a=a.replace(/(\*|_)(?=\S)([^\r]*?\S)\1/g,"$2")},E=function(a){return a=a.replace(/((^[ \t]*>[ \t]?.+\n(.+\n)*\n*)+)/gm,function(a,b){var c=b;return c=c.replace(/^[ \t]*>[ \t]?/gm,"~0"),c=c.replace(/~0/g,""),c=c.replace(/^[ \t]+$/gm,""),c=p(c),c=c.replace(/(^|\n)/g,"$1 "),c=c.replace(/(\s*
    [^\r]+?<\/pre>)/gm,function(a,b){var c=b;return c=c.replace(/^  /gm,"~0"),c=c.replace(/~0/g,"")}),A("
    \n"+c+"\n
    ")})},F=function(a){a=a.replace(/^\n+/g,""),a=a.replace(/\n+$/g,"");for(var b=a.split(/\n{2,}/g),c=[],e=b.length,f=0;e>f;f++){var g=b[f];g.search(/~K(\d+)K/g)>=0?c.push(g):g.search(/\S/)>=0&&(g=q(g),g=g.replace(/^([ \t]*)/g,"

    "),g+="

    ",c.push(g))}e=c.length;for(var f=0;e>f;f++)for(;c[f].search(/~K(\d+)K/)>=0;){var h=d[RegExp.$1];h=h.replace(/\$/g,"$$$$"),c[f]=c[f].replace(/~K\d+K/,h)}return c.join("\n\n")},G=function(a){return a=a.replace(/&(?!#?[xX]?(?:[0-9a-fA-F]+|\w+);)/g,"&"),a=a.replace(/<(?![a-z\/?\$!])/gi,"<")},H=function(a){return a=a.replace(/\\(\\)/g,O),a=a.replace(/\\([`*_{}\[\]()>#+-.!])/g,O)},I=function(a){return a=a.replace(/<((https?|ftp|dict):[^'">\s]+)>/gi,'
    $1'),a=a.replace(/<(?:mailto:)?([-.\w]+\@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+)>/gi,function(a,b){return J(K(b))})},J=function(a){var b=[function(a){return"&#"+a.charCodeAt(0)+";"},function(a){return"&#x"+a.charCodeAt(0).toString(16)+";"},function(a){return a}];return a="mailto:"+a,a=a.replace(/./g,function(a){if("@"==a)a=b[Math.floor(2*Math.random())](a);else if(":"!=a){var c=Math.random();a=c>.9?b[2](a):c>.45?b[1](a):b[0](a)}return a}),a=''+a+"",a=a.replace(/">.+:/g,'">')},K=function(a){return a=a.replace(/~E(\d+)E/g,function(a,b){var c=parseInt(b);return String.fromCharCode(c)})},L=function(a){return a=a.replace(/^(\t|[ ]{1,4})/gm,"~0"),a=a.replace(/~0/g,"")},M=function(a){return a=a.replace(/\t(?=\t)/g," "),a=a.replace(/\t/g,"~A~B"),a=a.replace(/~B(.+?)~A/g,function(a,b){for(var c=b,d=4-c.length%4,e=0;d>e;e++)c+=" ";return c}),a=a.replace(/~A/g," "),a=a.replace(/~B/g,"")},N=function(a,b,c){var d="(["+b.replace(/([\[\]\\])/g,"\\$1")+"])";c&&(d="\\\\"+d);var e=new RegExp(d,"g");return a=a.replace(e,O)},O=function(a,b){var c=b.charCodeAt(0);return"~E"+c+"E"}},"undefined"!=typeof module&&(module.exports=Showdown),"function"==typeof define&&define.amd&&define("panels/text/lib/showdown",[],function(){return Showdown}),define("panels/text/module",["angular","app","underscore","require"],function(a,b,c,d){var e=a.module("kibana.panels.text",[]);b.useModule(e),e.controller("text",["$scope",function(a){a.panelMeta={description:"A static text panel that can use plain text, markdown, or (sanitized) HTML"};var b={mode:"markdown",content:"",style:{}};c.defaults(a.panel,b),a.init=function(){a.initBaseController(this,a),a.ready=!1},a.render=function(){a.$emit("render")},a.openEditor=function(){console.log("scope id",a.$id)}}]),e.directive("markdown",function(){return{restrict:"E",link:function(a,b){function c(){d(["./lib/showdown"],function(c){a.ready=!0;var d=new c.converter,e=a.panel.content.replace(/&/g,"&").replace(/>/g,">").replace(/")}}),e.filter("striphtml",function(){return function(a){return a.replace(/&/g,"&").replace(/>/g,">").replace(/{{panel.content}}

    '}),define("panels/timepicker/module",["angular","app","underscore","moment","kbn"],function(a,b,c,d,e){var f=a.module("kibana.panels.timepicker",[]);b.useModule(f),f.controller("timepicker",["$scope","$modal","$q",function(a,b,f){a.panelMeta={status:"Stable",description:"A panel for controlling the time range filters. If you have time based data, or if you're using time stamped indices, you need one of these"};var g={status:"Stable",time_options:["5m","15m","1h","6h","12h","24h","2d","7d","30d"],refresh_intervals:["5s","10s","30s","1m","5m","15m","30m","1h","2h","1d"]},h=null;c.defaults(a.panel,g),a.patterns={date:/^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/,hour:/^([01]?[0-9]|2[0-3])$/,minute:/^[0-5][0-9]$/,second:/^[0-5][0-9]$/,millisecond:/^[0-9]*$/},a.$on("refresh",function(){a.init()}),a.init=function(){var b=this.filter.timeRange(!0);b&&(a.panel.now="now"===this.filter.timeRange(!1).to?!0:!1,a.time=k(b.from,b.to))},a.customTime=function(){h||(h=b({template:"./app/panels/timepicker/custom.html",persist:!0,show:!1,scope:a,keyboard:!1})),a.input.$setValidity("dummy",!0),a.temptime=j(a.time),a.temptime.from.date.setHours(1,0,0,0),a.temptime.to.date.setHours(1,0,0,0),f.when(h).then(function(a){a.modal("show")})},a.validate=function(b){a.input.$setValidity("dummy",!0);var c=m(b.from.date),d=m(b.to.date),e=b;return a.input.$valid?(c.setHours(e.from.hour,e.from.minute,e.from.second,e.from.millisecond),d.setHours(e.to.hour,e.to.minute,e.to.second,e.to.millisecond),isNaN(c.getTime())||isNaN(d.getTime())||c.getTime()>=d.getTime()?(a.input.$setValidity("dummy",!1),!1):{from:c,to:d}):!1},a.setNow=function(){a.time.to=l(new Date)},a.setAbsoluteTimeFilter=function(b){var d=c.clone(b);a.panel.now&&(d.to="now"),a.panel.filter_id=a.filter.setTime(d),a.time=k(b.from,b.to)},a.setRelativeFilter=function(b){a.panel.now=!0;var c={from:"now-"+b,to:"now"};this.filter.setTime(c),a.time=k(e.parseDate(c.from),new Date)};var i=function(a,b,c){return c=c||"0",a=a.toString(),a.length>=b?a:new Array(b-a.length+1).join(c)+a},j=function(a){var b={from:c.clone(a.from),to:c.clone(a.to)};return b.from.date=new Date(b.from.date),b.to.date=new Date(b.to.date),b},k=function(a,b){return{from:l(a),to:l(b)}},l=function(a){return{date:new Date(a),hour:i(a.getHours(),2),minute:i(a.getMinutes(),2),second:i(a.getSeconds(),2),millisecond:i(a.getMilliseconds(),3)}},m=function(a){return a=d(a).clone().toDate(),d(new Date(a.getTime()+6e4*a.getTimezoneOffset())).toDate()}}])}),define("text!panels/timepicker/module.html",[],function(){return''}); diff --git a/app/dash/app/app.js b/app/dash/app/app.js deleted file mode 100644 index 480f0d4..0000000 --- a/app/dash/app/app.js +++ /dev/null @@ -1,28 +0,0 @@ -/*! grafana - v1.6.1 - 2014-09-02 - * Copyright (c) 2014 Torkel Ödegaard; Licensed Apache License */ - -var requirejs,require,define;!function(global){function isFunction(a){return"[object Function]"===ostring.call(a)}function isArray(a){return"[object Array]"===ostring.call(a)}function each(a,b){if(a){var c;for(c=0;c-1&&(!a[c]||!b(a[c],c,a));c-=1);}}function hasProp(a,b){return hasOwn.call(a,b)}function getOwn(a,b){return hasProp(a,b)&&a[b]}function eachProp(a,b){var c;for(c in a)if(hasProp(a,c)&&b(a[c],c))break}function mixin(a,b,c,d){return b&&eachProp(b,function(b,e){(c||!hasProp(a,e))&&(d&&"string"!=typeof b?(a[e]||(a[e]={}),mixin(a[e],b,c,d)):a[e]=b)}),a}function bind(a,b){return function(){return b.apply(a,arguments)}}function scripts(){return document.getElementsByTagName("script")}function defaultOnError(a){throw a}function getGlobal(a){if(!a)return a;var b=global;return each(a.split("."),function(a){b=b[a]}),b}function makeError(a,b,c,d){var e=new Error(b+"\nhttp://requirejs.org/docs/errors.html#"+a);return e.requireType=a,e.requireModules=d,c&&(e.originalError=c),e}function newContext(a){function b(a){var b,c;for(b=0;a[b];b+=1)if(c=a[b],"."===c)a.splice(b,1),b-=1;else if(".."===c){if(1===b&&(".."===a[2]||".."===a[0]))break;b>0&&(a.splice(b-1,2),b-=2)}}function c(a,c,d){var e,f,g,h,i,j,k,l,m,n,o,p=c&&c.split("/"),q=p,r=x.map,s=r&&r["*"];if(a&&"."===a.charAt(0)&&(c?(q=getOwn(x.pkgs,c)?p=[c]:p.slice(0,p.length-1),a=q.concat(a.split("/")),b(a),f=getOwn(x.pkgs,e=a[0]),a=a.join("/"),f&&a===e+"/"+f.main&&(a=e)):0===a.indexOf("./")&&(a=a.substring(2))),d&&r&&(p||s)){for(h=a.split("/"),i=h.length;i>0;i-=1){if(k=h.slice(0,i).join("/"),p)for(j=p.length;j>0;j-=1)if(g=getOwn(r,p.slice(0,j).join("/")),g&&(g=getOwn(g,k))){l=g,m=i;break}if(l)break;!n&&s&&getOwn(s,k)&&(n=getOwn(s,k),o=i)}!l&&n&&(l=n,m=o),l&&(h.splice(0,m,l),a=h.join("/"))}return a}function d(a){isBrowser&&each(scripts(),function(b){return b.getAttribute("data-requiremodule")===a&&b.getAttribute("data-requirecontext")===u.contextName?(b.parentNode.removeChild(b),!0):void 0})}function e(a){var b=getOwn(x.paths,a);return b&&isArray(b)&&b.length>1?(d(a),b.shift(),u.require.undef(a),u.require([a]),!0):void 0}function f(a){var b,c=a?a.indexOf("!"):-1;return c>-1&&(b=a.substring(0,c),a=a.substring(c+1,a.length)),[b,a]}function g(a,b,d,e){var g,h,i,j,k=null,l=b?b.name:null,m=a,n=!0,o="";return a||(n=!1,a="_@r"+(E+=1)),j=f(a),k=j[0],a=j[1],k&&(k=c(k,l,e),h=getOwn(C,k)),a&&(k?o=h&&h.normalize?h.normalize(a,function(a){return c(a,l,e)}):c(a,l,e):(o=c(a,l,e),j=f(o),k=j[0],o=j[1],d=!0,g=u.nameToUrl(o))),i=!k||h||d?"":"_unnormalized"+(F+=1),{prefix:k,name:o,parentMap:b,unnormalized:!!i,url:g,originalName:m,isDefine:n,id:(k?k+"!"+o:o)+i}}function h(a){var b=a.id,c=getOwn(y,b);return c||(c=y[b]=new u.Module(a)),c}function i(a,b,c){var d=a.id,e=getOwn(y,d);!hasProp(C,d)||e&&!e.defineEmitComplete?(e=h(a),e.error&&"error"===b?c(e.error):e.on(b,c)):"defined"===b&&c(C[d])}function j(a,b){var c=a.requireModules,d=!1;b?b(a):(each(c,function(b){var c=getOwn(y,b);c&&(c.error=a,c.events.error&&(d=!0,c.emit("error",a)))}),d||req.onError(a))}function k(){globalDefQueue.length&&(apsp.apply(B,[B.length-1,0].concat(globalDefQueue)),globalDefQueue=[])}function l(a){delete y[a],delete z[a]}function m(a,b,c){var d=a.map.id;a.error?a.emit("error",a.error):(b[d]=!0,each(a.depMaps,function(d,e){var f=d.id,g=getOwn(y,f);!g||a.depMatched[e]||c[f]||(getOwn(b,f)?(a.defineDep(e,C[f]),a.check()):m(g,b,c))}),c[d]=!0)}function n(){var a,b,c,f,g=1e3*x.waitSeconds,h=g&&u.startTime+g<(new Date).getTime(),i=[],k=[],l=!1,o=!0;if(!s){if(s=!0,eachProp(z,function(c){if(a=c.map,b=a.id,c.enabled&&(a.isDefine||k.push(c),!c.error))if(!c.inited&&h)e(b)?(f=!0,l=!0):(i.push(b),d(b));else if(!c.inited&&c.fetched&&a.isDefine&&(l=!0,!a.prefix))return o=!1}),h&&i.length)return c=makeError("timeout","Load timeout for modules: "+i,null,i),c.contextName=u.contextName,j(c);o&&each(k,function(a){m(a,{},{})}),h&&!f||!l||!isBrowser&&!isWebWorker||w||(w=setTimeout(function(){w=0,n()},50)),s=!1}}function o(a){hasProp(C,a[0])||h(g(a[0],null,!0)).init(a[1],a[2])}function p(a,b,c,d){a.detachEvent&&!isOpera?d&&a.detachEvent(d,b):a.removeEventListener(c,b,!1)}function q(a){var b=a.currentTarget||a.srcElement;return p(b,u.onScriptLoad,"load","onreadystatechange"),p(b,u.onScriptError,"error"),{node:b,id:b&&b.getAttribute("data-requiremodule")}}function r(){var a;for(k();B.length;){if(a=B.shift(),null===a[0])return j(makeError("mismatch","Mismatched anonymous define() module: "+a[a.length-1]));o(a)}}var s,t,u,v,w,x={waitSeconds:7,baseUrl:"./",paths:{},pkgs:{},shim:{},config:{}},y={},z={},A={},B=[],C={},D={},E=1,F=1;return v={require:function(a){return a.require?a.require:a.require=u.makeRequire(a.map)},exports:function(a){return a.usingExports=!0,a.map.isDefine?a.exports?a.exports:a.exports=C[a.map.id]={}:void 0},module:function(a){return a.module?a.module:a.module={id:a.map.id,uri:a.map.url,config:function(){var b,c=getOwn(x.pkgs,a.map.id);return b=c?getOwn(x.config,a.map.id+"/"+c.main):getOwn(x.config,a.map.id),b||{}},exports:C[a.map.id]}}},t=function(a){this.events=getOwn(A,a.id)||{},this.map=a,this.shim=getOwn(x.shim,a.id),this.depExports=[],this.depMaps=[],this.depMatched=[],this.pluginMaps={},this.depCount=0},t.prototype={init:function(a,b,c,d){d=d||{},this.inited||(this.factory=b,c?this.on("error",c):this.events.error&&(c=bind(this,function(a){this.emit("error",a)})),this.depMaps=a&&a.slice(0),this.errback=c,this.inited=!0,this.ignore=d.ignore,d.enabled||this.enabled?this.enable():this.check())},defineDep:function(a,b){this.depMatched[a]||(this.depMatched[a]=!0,this.depCount-=1,this.depExports[a]=b)},fetch:function(){if(!this.fetched){this.fetched=!0,u.startTime=(new Date).getTime();var a=this.map;return this.shim?void u.makeRequire(this.map,{enableBuildCallback:!0})(this.shim.deps||[],bind(this,function(){return a.prefix?this.callPlugin():this.load()})):a.prefix?this.callPlugin():this.load()}},load:function(){var a=this.map.url;D[a]||(D[a]=!0,u.load(this.map.id,a))},check:function(){if(this.enabled&&!this.enabling){var a,b,c=this.map.id,d=this.depExports,e=this.exports,f=this.factory;if(this.inited){if(this.error)this.emit("error",this.error);else if(!this.defining){if(this.defining=!0,this.depCount<1&&!this.defined){if(isFunction(f)){if(this.events.error&&this.map.isDefine||req.onError!==defaultOnError)try{e=u.execCb(c,f,d,e)}catch(g){a=g}else e=u.execCb(c,f,d,e);if(this.map.isDefine&&(b=this.module,b&&void 0!==b.exports&&b.exports!==this.exports?e=b.exports:void 0===e&&this.usingExports&&(e=this.exports)),a)return a.requireMap=this.map,a.requireModules=this.map.isDefine?[this.map.id]:null,a.requireType=this.map.isDefine?"define":"require",j(this.error=a)}else e=f;this.exports=e,this.map.isDefine&&!this.ignore&&(C[c]=e,req.onResourceLoad&&req.onResourceLoad(u,this.map,this.depMaps)),l(c),this.defined=!0}this.defining=!1,this.defined&&!this.defineEmitted&&(this.defineEmitted=!0,this.emit("defined",this.exports),this.defineEmitComplete=!0)}}else this.fetch()}},callPlugin:function(){var a=this.map,b=a.id,d=g(a.prefix);this.depMaps.push(d),i(d,"defined",bind(this,function(d){var e,f,k,m=this.map.name,n=this.map.parentMap?this.map.parentMap.name:null,o=u.makeRequire(a.parentMap,{enableBuildCallback:!0});return this.map.unnormalized?(d.normalize&&(m=d.normalize(m,function(a){return c(a,n,!0)})||""),f=g(a.prefix+"!"+m,this.map.parentMap),i(f,"defined",bind(this,function(a){this.init([],function(){return a},null,{enabled:!0,ignore:!0})})),k=getOwn(y,f.id),void(k&&(this.depMaps.push(f),this.events.error&&k.on("error",bind(this,function(a){this.emit("error",a)})),k.enable()))):(e=bind(this,function(a){this.init([],function(){return a},null,{enabled:!0})}),e.error=bind(this,function(a){this.inited=!0,this.error=a,a.requireModules=[b],eachProp(y,function(a){0===a.map.id.indexOf(b+"_unnormalized")&&l(a.map.id)}),j(a)}),e.fromText=bind(this,function(c,d){var f=a.name,i=g(f),k=useInteractive;d&&(c=d),k&&(useInteractive=!1),h(i),hasProp(x.config,b)&&(x.config[f]=x.config[b]);try{req.exec(c)}catch(l){return j(makeError("fromtexteval","fromText eval for "+b+" failed: "+l,l,[b]))}k&&(useInteractive=!0),this.depMaps.push(i),u.completeLoad(f),o([f],e)}),void d.load(a.name,o,e,x))})),u.enable(d,this),this.pluginMaps[d.id]=d},enable:function(){z[this.map.id]=this,this.enabled=!0,this.enabling=!0,each(this.depMaps,bind(this,function(a,b){var c,d,e;if("string"==typeof a){if(a=g(a,this.map.isDefine?this.map:this.map.parentMap,!1,!this.skipMap),this.depMaps[b]=a,e=getOwn(v,a.id))return void(this.depExports[b]=e(this));this.depCount+=1,i(a,"defined",bind(this,function(a){this.defineDep(b,a),this.check()})),this.errback&&i(a,"error",bind(this,this.errback))}c=a.id,d=y[c],hasProp(v,c)||!d||d.enabled||u.enable(a,this)})),eachProp(this.pluginMaps,bind(this,function(a){var b=getOwn(y,a.id);b&&!b.enabled&&u.enable(a,this)})),this.enabling=!1,this.check()},on:function(a,b){var c=this.events[a];c||(c=this.events[a]=[]),c.push(b)},emit:function(a,b){each(this.events[a],function(a){a(b)}),"error"===a&&delete this.events[a]}},u={config:x,contextName:a,registry:y,defined:C,urlFetched:D,defQueue:B,Module:t,makeModuleMap:g,nextTick:req.nextTick,onError:j,configure:function(a){a.baseUrl&&"/"!==a.baseUrl.charAt(a.baseUrl.length-1)&&(a.baseUrl+="/");var b=x.pkgs,c=x.shim,d={paths:!0,config:!0,map:!0};eachProp(a,function(a,b){d[b]?"map"===b?(x.map||(x.map={}),mixin(x[b],a,!0,!0)):mixin(x[b],a,!0):x[b]=a}),a.shim&&(eachProp(a.shim,function(a,b){isArray(a)&&(a={deps:a}),!a.exports&&!a.init||a.exportsFn||(a.exportsFn=u.makeShimExports(a)),c[b]=a}),x.shim=c),a.packages&&(each(a.packages,function(a){var c;a="string"==typeof a?{name:a}:a,c=a.location,b[a.name]={name:a.name,location:c||a.name,main:(a.main||"main").replace(currDirRegExp,"").replace(jsSuffixRegExp,"")}}),x.pkgs=b),eachProp(y,function(a,b){a.inited||a.map.unnormalized||(a.map=g(b))}),(a.deps||a.callback)&&u.require(a.deps||[],a.callback)},makeShimExports:function(a){function b(){var b;return a.init&&(b=a.init.apply(global,arguments)),b||a.exports&&getGlobal(a.exports)}return b},makeRequire:function(b,d){function e(c,f,i){var k,l,m;return d.enableBuildCallback&&f&&isFunction(f)&&(f.__requireJsBuild=!0),"string"==typeof c?isFunction(f)?j(makeError("requireargs","Invalid require call"),i):b&&hasProp(v,c)?v[c](y[b.id]):req.get?req.get(u,c,b,e):(l=g(c,b,!1,!0),k=l.id,hasProp(C,k)?C[k]:j(makeError("notloaded",'Module name "'+k+'" has not been loaded yet for context: '+a+(b?"":". Use require([])")))):(r(),u.nextTick(function(){r(),m=h(g(null,b)),m.skipMap=d.skipMap,m.init(c,f,i,{enabled:!0}),n()}),e)}return d=d||{},mixin(e,{isBrowser:isBrowser,toUrl:function(a){var d,e=a.lastIndexOf("."),f=a.split("/")[0],g="."===f||".."===f;return-1!==e&&(!g||e>1)&&(d=a.substring(e,a.length),a=a.substring(0,e)),u.nameToUrl(c(a,b&&b.id,!0),d,!0)},defined:function(a){return hasProp(C,g(a,b,!1,!0).id)},specified:function(a){return a=g(a,b,!1,!0).id,hasProp(C,a)||hasProp(y,a)}}),b||(e.undef=function(a){k();var c=g(a,b,!0),d=getOwn(y,a);delete C[a],delete D[c.url],delete A[a],d&&(d.events.defined&&(A[a]=d.events),l(a))}),e},enable:function(a){var b=getOwn(y,a.id);b&&h(a).enable()},completeLoad:function(a){var b,c,d,f=getOwn(x.shim,a)||{},g=f.exports;for(k();B.length;){if(c=B.shift(),null===c[0]){if(c[0]=a,b)break;b=!0}else c[0]===a&&(b=!0);o(c)}if(d=getOwn(y,a),!b&&!hasProp(C,a)&&d&&!d.inited){if(!(!x.enforceDefine||g&&getGlobal(g)))return e(a)?void 0:j(makeError("nodefine","No define call for "+a,null,[a]));o([a,f.deps||[],f.exportsFn])}n()},nameToUrl:function(a,b,c){var d,e,f,g,h,i,j,k,l;if(req.jsExtRegExp.test(a))k=a+(b||"");else{for(d=x.paths,e=x.pkgs,h=a.split("/"),i=h.length;i>0;i-=1){if(j=h.slice(0,i).join("/"),f=getOwn(e,j),l=getOwn(d,j)){isArray(l)&&(l=l[0]),h.splice(0,i,l);break}if(f){g=a===f.name?f.location+"/"+f.main:f.location,h.splice(0,i,g);break}}k=h.join("/"),k+=b||(/\?/.test(k)||c?"":".js"),k=("/"===k.charAt(0)||k.match(/^[\w\+\.\-]+:/)?"":x.baseUrl)+k}return x.urlArgs?k+((-1===k.indexOf("?")?"?":"&")+x.urlArgs):k},load:function(a,b){req.load(u,a,b)},execCb:function(a,b,c,d){return b.apply(d,c)},onScriptLoad:function(a){if("load"===a.type||readyRegExp.test((a.currentTarget||a.srcElement).readyState)){interactiveScript=null;var b=q(a);u.completeLoad(b.id)}},onScriptError:function(a){var b=q(a);return e(b.id)?void 0:j(makeError("scripterror","Script error for: "+b.id,a,[b.id]))}},u.require=u.makeRequire(),u}function getInteractiveScript(){return interactiveScript&&"interactive"===interactiveScript.readyState?interactiveScript:(eachReverse(scripts(),function(a){return"interactive"===a.readyState?interactiveScript=a:void 0}),interactiveScript)}var req,s,head,baseElement,dataMain,src,interactiveScript,currentlyAddingScript,mainScript,subPath,version="2.1.8",commentRegExp=/(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/gm,cjsRequireRegExp=/[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,jsSuffixRegExp=/\.js$/,currDirRegExp=/^\.\//,op=Object.prototype,ostring=op.toString,hasOwn=op.hasOwnProperty,ap=Array.prototype,apsp=ap.splice,isBrowser=!("undefined"==typeof window||!navigator||!window.document),isWebWorker=!isBrowser&&"undefined"!=typeof importScripts,readyRegExp=isBrowser&&"PLAYSTATION 3"===navigator.platform?/^complete$/:/^(complete|loaded)$/,defContextName="_",isOpera="undefined"!=typeof opera&&"[object Opera]"===opera.toString(),contexts={},cfg={},globalDefQueue=[],useInteractive=!1;if("undefined"==typeof define){if("undefined"!=typeof requirejs){if(isFunction(requirejs))return;cfg=requirejs,requirejs=void 0}"undefined"==typeof require||isFunction(require)||(cfg=require,require=void 0),req=requirejs=function(a,b,c,d){var e,f,g=defContextName;return isArray(a)||"string"==typeof a||(f=a,isArray(b)?(a=b,b=c,c=d):a=[]),f&&f.context&&(g=f.context),e=getOwn(contexts,g),e||(e=contexts[g]=req.s.newContext(g)),f&&e.configure(f),e.require(a,b,c)},req.config=function(a){return req(a)},req.nextTick="undefined"!=typeof setTimeout?function(a){setTimeout(a,4)}:function(a){a()},require||(require=req),req.version=version,req.jsExtRegExp=/^\/|:|\?|\.js$/,req.isBrowser=isBrowser,s=req.s={contexts:contexts,newContext:newContext},req({}),each(["toUrl","undef","defined","specified"],function(a){req[a]=function(){var b=contexts[defContextName];return b.require[a].apply(b,arguments)}}),isBrowser&&(head=s.head=document.getElementsByTagName("head")[0],baseElement=document.getElementsByTagName("base")[0],baseElement&&(head=s.head=baseElement.parentNode)),req.onError=defaultOnError,req.createNode=function(a){var b=a.xhtml?document.createElementNS("http://www.w3.org/1999/xhtml","html:script"):document.createElement("script");return b.type=a.scriptType||"text/javascript",b.charset="utf-8",b.async=!0,b},req.load=function(a,b,c){var d,e=a&&a.config||{};if(isBrowser)return d=req.createNode(e,b,c),d.setAttribute("data-requirecontext",a.contextName),d.setAttribute("data-requiremodule",b),!d.attachEvent||d.attachEvent.toString&&d.attachEvent.toString().indexOf("[native code")<0||isOpera?(d.addEventListener("load",a.onScriptLoad,!1),d.addEventListener("error",a.onScriptError,!1)):(useInteractive=!0,d.attachEvent("onreadystatechange",a.onScriptLoad)),d.src=c,currentlyAddingScript=d,baseElement?head.insertBefore(d,baseElement):head.appendChild(d),currentlyAddingScript=null,d;if(isWebWorker)try{importScripts(c),a.completeLoad(b)}catch(f){a.onError(makeError("importscripts","importScripts failed for "+b+" at "+c,f,[b]))}},isBrowser&&eachReverse(scripts(),function(a){return head||(head=a.parentNode),dataMain=a.getAttribute("data-main"),dataMain?(mainScript=dataMain,cfg.baseUrl||(src=mainScript.split("/"),mainScript=src.pop(),subPath=src.length?src.join("/")+"/":"./",cfg.baseUrl=subPath),mainScript=mainScript.replace(jsSuffixRegExp,""),req.jsExtRegExp.test(mainScript)&&(mainScript=dataMain),cfg.deps=cfg.deps?cfg.deps.concat(mainScript):[mainScript],!0):void 0}),define=function(a,b,c){var d,e;"string"!=typeof a&&(c=b,b=a,a=null),isArray(b)||(c=b,b=null),!b&&isFunction(c)&&(b=[],c.length&&(c.toString().replace(commentRegExp,"").replace(cjsRequireRegExp,function(a,c){b.push(c)}),b=(1===c.length?["require"]:["require","exports","module"]).concat(b))),useInteractive&&(d=currentlyAddingScript||getInteractiveScript(),d&&(a||(a=d.getAttribute("data-requiremodule")),e=contexts[d.getAttribute("data-requirecontext")])),(e?e.defQueue:globalDefQueue).push([a,b,c])},define.amd={jQuery:!0},req.exec=function(text){return eval(text)},req(cfg)}}(this),require.config({baseUrl:"app",paths:{config:["../config","../config.sample"],settings:"components/settings",kbn:"components/kbn",css:"../vendor/require/css",text:"../vendor/require/text",moment:"../vendor/moment",filesaver:"../vendor/filesaver",angular:"../vendor/angular/angular","angular-dragdrop":"../vendor/angular/angular-dragdrop","angular-strap":"../vendor/angular/angular-strap","angular-sanitize":"../vendor/angular/angular-sanitize",timepicker:"../vendor/angular/timepicker",datepicker:"../vendor/angular/datepicker",bindonce:"../vendor/angular/bindonce",crypto:"../vendor/crypto.min",spectrum:"../vendor/spectrum",underscore:"components/underscore.extended","underscore-src":"../vendor/underscore",bootstrap:"../vendor/bootstrap/bootstrap",jquery:"../vendor/jquery/jquery-1.8.0","jquery-ui":"../vendor/jquery/jquery-ui-1.10.3","extend-jquery":"components/extend-jquery","jquery.flot":"../vendor/jquery/jquery.flot","jquery.flot.pie":"../vendor/jquery/jquery.flot.pie","jquery.flot.events":"../vendor/jquery/jquery.flot.events","jquery.flot.selection":"../vendor/jquery/jquery.flot.selection","jquery.flot.stack":"../vendor/jquery/jquery.flot.stack","jquery.flot.stackpercent":"../vendor/jquery/jquery.flot.stackpercent","jquery.flot.time":"../vendor/jquery/jquery.flot.time","jquery.flot.byte":"../vendor/jquery/jquery.flot.byte",modernizr:"../vendor/modernizr-2.6.1",elasticjs:"../vendor/elasticjs/elastic-angular-client","bootstrap-tagsinput":"../vendor/tagsinput/bootstrap-tagsinput"},shim:{underscore:{exports:"_"},spectrum:{deps:["jquery"]},crypto:{exports:"Crypto"},angular:{deps:["jquery","config"],exports:"angular"},bootstrap:{deps:["jquery"]},modernizr:{exports:"Modernizr"},jquery:{exports:"jQuery"},"jquery-ui":["jquery"],"jquery.flot":["jquery"],"jquery.flot.byte":["jquery","jquery.flot"],"jquery.flot.pie":["jquery","jquery.flot"],"jquery.flot.events":["jquery","jquery.flot"],"jquery.flot.selection":["jquery","jquery.flot"],"jquery.flot.stack":["jquery","jquery.flot"],"jquery.flot.stackpercent":["jquery","jquery.flot"],"jquery.flot.time":["jquery","jquery.flot"],"angular-sanitize":["angular"],"angular-cookies":["angular"],"angular-dragdrop":["jquery","jquery-ui","angular"],"angular-loader":["angular"],"angular-mocks":["angular"],"angular-resource":["angular"],"angular-route":["angular"],"angular-touch":["angular"],bindonce:["angular"],"angular-strap":["angular","bootstrap","timepicker","datepicker"],timepicker:["jquery","bootstrap"],datepicker:["jquery","bootstrap"],elasticjs:["angular","../vendor/elasticjs/elastic"],"bootstrap-tagsinput":["jquery"]},waitSeconds:60}),function(a,b){function c(a){var b=ob[a]={};return $.each(a.split(bb),function(a,c){b[c]=!0}),b}function d(a,c,d){if(d===b&&1===a.nodeType){var e="data-"+c.replace(qb,"-$1").toLowerCase();if(d=a.getAttribute(e),"string"==typeof d){try{d="true"===d?!0:"false"===d?!1:"null"===d?null:+d+""===d?+d:pb.test(d)?$.parseJSON(d):d}catch(f){}$.data(a,c,d)}else d=b}return d}function e(a){var b;for(b in a)if(("data"!==b||!$.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function f(){return!1}function g(){return!0}function h(a){return!a||!a.parentNode||11===a.parentNode.nodeType}function i(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}function j(a,b,c){if(b=b||0,$.isFunction(b))return $.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return $.grep(a,function(a){return a===b===c});if("string"==typeof b){var d=$.grep(a,function(a){return 1===a.nodeType});if(Kb.test(b))return $.filter(b,d,!c);b=$.filter(b,d)}return $.grep(a,function(a){return $.inArray(a,b)>=0===c})}function k(a){var b=Nb.split("|"),c=a.createDocumentFragment();if(c.createElement)for(;b.length;)c.createElement(b.pop());return c}function l(a,b){return a.getElementsByTagName(b)[0]||a.appendChild(a.ownerDocument.createElement(b))}function m(a,b){if(1===b.nodeType&&$.hasData(a)){var c,d,e,f=$._data(a),g=$._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)$.event.add(b,c,h[c][d])}g.data&&(g.data=$.extend({},g.data))}}function n(a,b){var c;1===b.nodeType&&(b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase(),"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),$.support.html5Clone&&a.innerHTML&&!$.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&Xb.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.selected=a.defaultSelected:"input"===c||"textarea"===c?b.defaultValue=a.defaultValue:"script"===c&&b.text!==a.text&&(b.text=a.text),b.removeAttribute($.expando))}function o(a){return"undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName("*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll("*"):[]}function p(a){Xb.test(a.type)&&(a.defaultChecked=a.checked)}function q(a,b){if(b in a)return b;for(var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=qc.length;e--;)if(b=qc[e]+c,b in a)return b;return d}function r(a,b){return a=b||a,"none"===$.css(a,"display")||!$.contains(a.ownerDocument,a)}function s(a,b){for(var c,d,e=[],f=0,g=a.length;g>f;f++)c=a[f],c.style&&(e[f]=$._data(c,"olddisplay"),b?(!e[f]&&"none"===c.style.display&&(c.style.display=""),""===c.style.display&&r(c)&&(e[f]=$._data(c,"olddisplay",w(c.nodeName)))):(d=cc(c,"display"),!e[f]&&"none"!==d&&$._data(c,"olddisplay",d)));for(f=0;g>f;f++)c=a[f],c.style&&(b&&"none"!==c.style.display&&""!==c.style.display||(c.style.display=b?e[f]||"":"none"));return a}function t(a,b,c){var d=jc.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function u(a,b,c,d){for(var e=c===(d?"border":"content")?4:"width"===b?1:0,f=0;4>e;e+=2)"margin"===c&&(f+=$.css(a,c+pc[e],!0)),d?("content"===c&&(f-=parseFloat(cc(a,"padding"+pc[e]))||0),"margin"!==c&&(f-=parseFloat(cc(a,"border"+pc[e]+"Width"))||0)):(f+=parseFloat(cc(a,"padding"+pc[e]))||0,"padding"!==c&&(f+=parseFloat(cc(a,"border"+pc[e]+"Width"))||0));return f}function v(a,b,c){var d="width"===b?a.offsetWidth:a.offsetHeight,e=!0,f=$.support.boxSizing&&"border-box"===$.css(a,"boxSizing");if(0>=d){if(d=cc(a,b),(0>d||null==d)&&(d=a.style[b]),kc.test(d))return d;e=f&&($.support.boxSizingReliable||d===a.style[b]),d=parseFloat(d)||0}return d+u(a,b,c||(f?"border":"content"),e)+"px"}function w(a){if(mc[a])return mc[a];var b=$("<"+a+">").appendTo(P.body),c=b.css("display");return b.remove(),("none"===c||""===c)&&(dc=P.body.appendChild(dc||$.extend(P.createElement("iframe"),{frameBorder:0,width:0,height:0})),ec&&dc.createElement||(ec=(dc.contentWindow||dc.contentDocument).document,ec.write(""),ec.close()),b=ec.body.appendChild(ec.createElement(a)),c=cc(b,"display"),P.body.removeChild(dc)),mc[a]=c,c}function x(a,b,c,d){var e;if($.isArray(b))$.each(b,function(b,e){c||tc.test(a)?d(a,e):x(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==$.type(b))d(a,b);else for(e in b)x(a+"["+e+"]",b[e],c,d)}function y(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e,f,g=b.toLowerCase().split(bb),h=0,i=g.length;if($.isFunction(c))for(;i>h;h++)d=g[h],f=/^\+/.test(d),f&&(d=d.substr(1)||"*"),e=a[d]=a[d]||[],e[f?"unshift":"push"](c)}}function z(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;for(var h,i=a[f],j=0,k=i?i.length:0,l=a===Jc;k>j&&(l||!h);j++)h=i[j](c,d,e),"string"==typeof h&&(!l||g[h]?h=b:(c.dataTypes.unshift(h),h=z(a,c,d,e,h,g)));return(l||!h)&&!g["*"]&&(h=z(a,c,d,e,"*",g)),h}function A(a,c){var d,e,f=$.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((f[d]?a:e||(e={}))[d]=c[d]);e&&$.extend(!0,a,e)}function B(a,c,d){var e,f,g,h,i=a.contents,j=a.dataTypes,k=a.responseFields;for(f in k)f in d&&(c[k[f]]=d[f]);for(;"*"===j[0];)j.shift(),e===b&&(e=a.mimeType||c.getResponseHeader("content-type"));if(e)for(f in i)if(i[f]&&i[f].test(e)){j.unshift(f);break}if(j[0]in d)g=j[0];else{for(f in d){if(!j[0]||a.converters[f+" "+j[0]]){g=f;break}h||(h=f)}g=g||h}return g?(g!==j[0]&&j.unshift(g),d[g]):void 0}function C(a,b){var c,d,e,f,g=a.dataTypes.slice(),h=g[0],i={},j=0;if(a.dataFilter&&(b=a.dataFilter(b,a.dataType)),g[1])for(c in a.converters)i[c.toLowerCase()]=a.converters[c];for(;e=g[++j];)if("*"!==e){if("*"!==h&&h!==e){if(c=i[h+" "+e]||i["* "+e],!c)for(d in i)if(f=d.split(" "),f[1]===e&&(c=i[h+" "+f[0]]||i["* "+f[0]])){c===!0?c=i[d]:i[d]!==!0&&(e=f[0],g.splice(j--,0,e));break}if(c!==!0)if(c&&a["throws"])b=c(b);else try{b=c(b)}catch(k){return{state:"parsererror",error:c?k:"No conversion from "+h+" to "+e}}}h=e}return{state:"success",data:b}}function D(){try{return new a.XMLHttpRequest}catch(b){}}function E(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function F(){return setTimeout(function(){Uc=b},0),Uc=$.now()}function G(a,b){$.each(b,function(b,c){for(var d=($c[b]||[]).concat($c["*"]),e=0,f=d.length;f>e;e++)if(d[e].call(a,b,c))return})}function H(a,b,c){var d,e=0,f=Zc.length,g=$.Deferred().always(function(){delete h.elem}),h=function(){for(var b=Uc||F(),c=Math.max(0,i.startTime+i.duration-b),d=1-(c/i.duration||0),e=0,f=i.tweens.length;f>e;e++)i.tweens[e].run(d);return g.notifyWith(a,[i,d,c]),1>d&&f?c:(g.resolveWith(a,[i]),!1)},i=g.promise({elem:a,props:$.extend({},b),opts:$.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:Uc||F(),duration:c.duration,tweens:[],createTween:function(b,c){var d=$.Tween(a,i.opts,b,c,i.opts.specialEasing[b]||i.opts.easing);return i.tweens.push(d),d},stop:function(b){for(var c=0,d=b?i.tweens.length:0;d>c;c++)i.tweens[c].run(1);return b?g.resolveWith(a,[i,b]):g.rejectWith(a,[i,b]),this}}),j=i.props;for(I(j,i.opts.specialEasing);f>e;e++)if(d=Zc[e].call(i,a,j,i.opts))return d;return G(i,j),$.isFunction(i.opts.start)&&i.opts.start.call(a,i),$.fx.timer($.extend(h,{anim:i,queue:i.opts.queue,elem:a})),i.progress(i.opts.progress).done(i.opts.done,i.opts.complete).fail(i.opts.fail).always(i.opts.always)}function I(a,b){var c,d,e,f,g;for(c in a)if(d=$.camelCase(c),e=b[d],f=a[c],$.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=$.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function J(a,b,c){var d,e,f,g,h,i,j,k,l=this,m=a.style,n={},o=[],p=a.nodeType&&r(a);c.queue||(j=$._queueHooks(a,"fx"),null==j.unqueued&&(j.unqueued=0,k=j.empty.fire,j.empty.fire=function(){j.unqueued||k()}),j.unqueued++,l.always(function(){l.always(function(){j.unqueued--,$.queue(a,"fx").length||j.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[m.overflow,m.overflowX,m.overflowY],"inline"===$.css(a,"display")&&"none"===$.css(a,"float")&&($.support.inlineBlockNeedsLayout&&"inline"!==w(a.nodeName)?m.zoom=1:m.display="inline-block")),c.overflow&&(m.overflow="hidden",$.support.shrinkWrapBlocks||l.done(function(){m.overflow=c.overflow[0],m.overflowX=c.overflow[1],m.overflowY=c.overflow[2]}));for(d in b)if(f=b[d],Wc.exec(f)){if(delete b[d],f===(p?"hide":"show"))continue;o.push(d)}if(g=o.length)for(h=$._data(a,"fxshow")||$._data(a,"fxshow",{}),p?$(a).show():l.done(function(){$(a).hide()}),l.done(function(){var b;$.removeData(a,"fxshow",!0);for(b in n)$.style(a,b,n[b])}),d=0;g>d;d++)e=o[d],i=l.createTween(e,p?h[e]:0),n[e]=h[e]||$.style(a,e),e in h||(h[e]=i.start,p&&(i.end=i.start,i.start="width"===e||"height"===e?1:0))}function K(a,b,c,d,e){return new K.prototype.init(a,b,c,d,e)}function L(a,b){for(var c,d={height:a},e=0;4>e;e+=2-b)c=pc[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function M(a){return $.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}var N,O,P=a.document,Q=a.location,R=a.navigator,S=a.jQuery,T=a.$,U=Array.prototype.push,V=Array.prototype.slice,W=Array.prototype.indexOf,X=Object.prototype.toString,Y=Object.prototype.hasOwnProperty,Z=String.prototype.trim,$=function(a,b){return new $.fn.init(a,b,N)},_=/[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source,ab=/\S/,bb=/\s+/,cb=ab.test(" ")?/^[\s\xA0]+|[\s\xA0]+$/g:/^\s+|\s+$/g,db=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,eb=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,fb=/^[\],:{}\s]*$/,gb=/(?:^|:|,)(?:\s*\[)+/g,hb=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,ib=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,jb=/^-ms-/,kb=/-([\da-z])/gi,lb=function(a,b){return(b+"").toUpperCase()},mb=function(){P.addEventListener?(P.removeEventListener("DOMContentLoaded",mb,!1),$.ready()):"complete"===P.readyState&&(P.detachEvent("onreadystatechange",mb),$.ready())},nb={};$.fn=$.prototype={constructor:$,init:function(a,c,d){var e,f,g;if(!a)return this;if(a.nodeType)return this.context=this[0]=a,this.length=1,this;if("string"==typeof a){if(e="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:db.exec(a),e&&(e[1]||!c)){if(e[1])return c=c instanceof $?c[0]:c,g=c&&c.nodeType?c.ownerDocument||c:P,a=$.parseHTML(e[1],g,!0),eb.test(e[1])&&$.isPlainObject(c)&&this.attr.call(a,c,!0),$.merge(this,a);if(f=P.getElementById(e[2]),f&&f.parentNode){if(f.id!==e[2])return d.find(a);this.length=1,this[0]=f}return this.context=P,this.selector=a,this}return!c||c.jquery?(c||d).find(a):this.constructor(c).find(a)}return $.isFunction(a)?d.ready(a):(a.selector!==b&&(this.selector=a.selector,this.context=a.context),$.makeArray(a,this))},selector:"",jquery:"1.8.0",length:0,size:function(){return this.length},toArray:function(){return V.call(this)},get:function(a){return null==a?this.toArray():0>a?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=$.merge(this.constructor(),a);return d.prevObject=this,d.context=this.context,"find"===b?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")"),d},each:function(a,b){return $.each(this,a,b)},ready:function(a){return $.ready.promise().done(a),this},eq:function(a){return a=+a,-1===a?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(V.apply(this,arguments),"slice",V.call(arguments).join(","))},map:function(a){return this.pushStack($.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:U,sort:[].sort,splice:[].splice},$.fn.init.prototype=$.fn,$.extend=$.fn.extend=function(){var a,c,d,e,f,g,h=arguments[0]||{},i=1,j=arguments.length,k=!1;for("boolean"==typeof h&&(k=h,h=arguments[1]||{},i=2),"object"!=typeof h&&!$.isFunction(h)&&(h={}),j===i&&(h=this,--i);j>i;i++)if(null!=(a=arguments[i]))for(c in a)d=h[c],e=a[c],h!==e&&(k&&e&&($.isPlainObject(e)||(f=$.isArray(e)))?(f?(f=!1,g=d&&$.isArray(d)?d:[]):g=d&&$.isPlainObject(d)?d:{},h[c]=$.extend(k,g,e)):e!==b&&(h[c]=e));return h},$.extend({noConflict:function(b){return a.$===$&&(a.$=T),b&&a.jQuery===$&&(a.jQuery=S),$},isReady:!1,readyWait:1,holdReady:function(a){a?$.readyWait++:$.ready(!0)},ready:function(a){if(a===!0?!--$.readyWait:!$.isReady){if(!P.body)return setTimeout($.ready,1);$.isReady=!0,a!==!0&&--$.readyWait>0||(O.resolveWith(P,[$]),$.fn.trigger&&$(P).trigger("ready").off("ready"))}},isFunction:function(a){return"function"===$.type(a)},isArray:Array.isArray||function(a){return"array"===$.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return null==a?String(a):nb[X.call(a)]||"object"},isPlainObject:function(a){if(!a||"object"!==$.type(a)||a.nodeType||$.isWindow(a))return!1;try{if(a.constructor&&!Y.call(a,"constructor")&&!Y.call(a.constructor.prototype,"isPrototypeOf"))return!1 -}catch(c){return!1}var d;for(d in a);return d===b||Y.call(a,d)},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},error:function(a){throw new Error(a)},parseHTML:function(a,b,c){var d;return a&&"string"==typeof a?("boolean"==typeof b&&(c=b,b=0),b=b||P,(d=eb.exec(a))?[b.createElement(d[1])]:(d=$.buildFragment([a],b,c?null:[]),$.merge([],(d.cacheable?$.clone(d.fragment):d.fragment).childNodes))):null},parseJSON:function(b){return b&&"string"==typeof b?(b=$.trim(b),a.JSON&&a.JSON.parse?a.JSON.parse(b):fb.test(b.replace(hb,"@").replace(ib,"]").replace(gb,""))?new Function("return "+b)():void $.error("Invalid JSON: "+b)):null},parseXML:function(c){var d,e;if(!c||"string"!=typeof c)return null;try{a.DOMParser?(e=new DOMParser,d=e.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(f){d=b}return(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&$.error("Invalid XML: "+c),d},noop:function(){},globalEval:function(b){b&&ab.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(jb,"ms-").replace(kb,lb)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var e,f=0,g=a.length,h=g===b||$.isFunction(a);if(d)if(h){for(e in a)if(c.apply(a[e],d)===!1)break}else for(;g>f&&c.apply(a[f++],d)!==!1;);else if(h){for(e in a)if(c.call(a[e],e,a[e])===!1)break}else for(;g>f&&c.call(a[f],f,a[f++])!==!1;);return a},trim:Z?function(a){return null==a?"":Z.call(a)}:function(a){return null==a?"":a.toString().replace(cb,"")},makeArray:function(a,b){var c,d=b||[];return null!=a&&(c=$.type(a),null==a.length||"string"===c||"function"===c||"regexp"===c||$.isWindow(a)?U.call(d,a):$.merge(d,a)),d},inArray:function(a,b,c){var d;if(b){if(W)return W.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,c){var d=c.length,e=a.length,f=0;if("number"==typeof d)for(;d>f;f++)a[e++]=c[f];else for(;c[f]!==b;)a[e++]=c[f++];return a.length=e,a},grep:function(a,b,c){var d,e=[],f=0,g=a.length;for(c=!!c;g>f;f++)d=!!b(a[f],f),c!==d&&e.push(a[f]);return e},map:function(a,c,d){var e,f,g=[],h=0,i=a.length,j=a instanceof $||i!==b&&"number"==typeof i&&(i>0&&a[0]&&a[i-1]||0===i||$.isArray(a));if(j)for(;i>h;h++)e=c(a[h],h,d),null!=e&&(g[g.length]=e);else for(f in a)e=c(a[f],f,d),null!=e&&(g[g.length]=e);return g.concat.apply([],g)},guid:1,proxy:function(a,c){var d,e,f;return"string"==typeof c&&(d=a[c],c=a,a=d),$.isFunction(a)?(e=V.call(arguments,2),f=function(){return a.apply(c,e.concat(V.call(arguments)))},f.guid=a.guid=a.guid||f.guid||$.guid++,f):b},access:function(a,c,d,e,f,g,h){var i,j=null==d,k=0,l=a.length;if(d&&"object"==typeof d){for(k in d)$.access(a,c,k,d[k],1,g,e);f=1}else if(e!==b){if(i=h===b&&$.isFunction(e),j&&(i?(i=c,c=function(a,b,c){return i.call($(a),c)}):(c.call(a,e),c=null)),c)for(;l>k;k++)c(a[k],d,i?e.call(a[k],k,c(a[k],d)):e,h);f=1}return f?a:j?c.call(a):l?c(a[0],d):g},now:function(){return(new Date).getTime()}}),$.ready.promise=function(b){if(!O)if(O=$.Deferred(),"complete"===P.readyState||"loading"!==P.readyState&&P.addEventListener)setTimeout($.ready,1);else if(P.addEventListener)P.addEventListener("DOMContentLoaded",mb,!1),a.addEventListener("load",$.ready,!1);else{P.attachEvent("onreadystatechange",mb),a.attachEvent("onload",$.ready);var c=!1;try{c=null==a.frameElement&&P.documentElement}catch(d){}c&&c.doScroll&&function e(){if(!$.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}$.ready()}}()}return O.promise(b)},$.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){nb["[object "+b+"]"]=b.toLowerCase()}),N=$(P);var ob={};$.Callbacks=function(a){a="string"==typeof a?ob[a]||c(a):$.extend({},a);var d,e,f,g,h,i,j=[],k=!a.once&&[],l=function(b){for(d=a.memory&&b,e=!0,i=g||0,g=0,h=j.length,f=!0;j&&h>i;i++)if(j[i].apply(b[0],b[1])===!1&&a.stopOnFalse){d=!1;break}f=!1,j&&(k?k.length&&l(k.shift()):d?j=[]:m.disable())},m={add:function(){if(j){var b=j.length;!function c(b){$.each(b,function(b,d){!$.isFunction(d)||a.unique&&m.has(d)?d&&d.length&&c(d):j.push(d)})}(arguments),f?h=j.length:d&&(g=b,l(d))}return this},remove:function(){return j&&$.each(arguments,function(a,b){for(var c;(c=$.inArray(b,j,c))>-1;)j.splice(c,1),f&&(h>=c&&h--,i>=c&&i--)}),this},has:function(a){return $.inArray(a,j)>-1},empty:function(){return j=[],this},disable:function(){return j=k=d=b,this},disabled:function(){return!j},lock:function(){return k=b,d||m.disable(),this},locked:function(){return!k},fireWith:function(a,b){return b=b||[],b=[a,b.slice?b.slice():b],j&&(!e||k)&&(f?k.push(b):l(b)),this},fire:function(){return m.fireWith(this,arguments),this},fired:function(){return!!e}};return m},$.extend({Deferred:function(a){var b=[["resolve","done",$.Callbacks("once memory"),"resolved"],["reject","fail",$.Callbacks("once memory"),"rejected"],["notify","progress",$.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return $.Deferred(function(c){$.each(b,function(b,d){var f=d[0],g=a[b];e[d[1]]($.isFunction(g)?function(){var a=g.apply(this,arguments);a&&$.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f+"With"](this===e?c:this,[a])}:c[f])}),a=null}).promise()},promise:function(a){return"object"==typeof a?$.extend(a,d):d}},e={};return d.pipe=d.then,$.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=g.fire,e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b,c,d,e=0,f=V.call(arguments),g=f.length,h=1!==g||a&&$.isFunction(a.promise)?g:0,i=1===h?a:$.Deferred(),j=function(a,c,d){return function(e){c[a]=this,d[a]=arguments.length>1?V.call(arguments):e,d===b?i.notifyWith(c,d):--h||i.resolveWith(c,d)}};if(g>1)for(b=new Array(g),c=new Array(g),d=new Array(g);g>e;e++)f[e]&&$.isFunction(f[e].promise)?f[e].promise().done(j(e,d,f)).fail(i.reject).progress(j(e,c,b)):--h;return h||i.resolveWith(d,f),i.promise()}}),$.support=function(){var b,c,d,e,f,g,h,i,j,k,l,m=P.createElement("div");if(m.setAttribute("className","t"),m.innerHTML="
    a",c=m.getElementsByTagName("*"),d=m.getElementsByTagName("a")[0],d.style.cssText="top:1px;float:left;opacity:.5",!c||!c.length||!d)return{};e=P.createElement("select"),f=e.appendChild(P.createElement("option")),g=m.getElementsByTagName("input")[0],b={leadingWhitespace:3===m.firstChild.nodeType,tbody:!m.getElementsByTagName("tbody").length,htmlSerialize:!!m.getElementsByTagName("link").length,style:/top/.test(d.getAttribute("style")),hrefNormalized:"/a"===d.getAttribute("href"),opacity:/^0.5/.test(d.style.opacity),cssFloat:!!d.style.cssFloat,checkOn:"on"===g.value,optSelected:f.selected,getSetAttribute:"t"!==m.className,enctype:!!P.createElement("form").enctype,html5Clone:"<:nav>"!==P.createElement("nav").cloneNode(!0).outerHTML,boxModel:"CSS1Compat"===P.compatMode,submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},g.checked=!0,b.noCloneChecked=g.cloneNode(!0).checked,e.disabled=!0,b.optDisabled=!f.disabled;try{delete m.test}catch(n){b.deleteExpando=!1}if(!m.addEventListener&&m.attachEvent&&m.fireEvent&&(m.attachEvent("onclick",l=function(){b.noCloneEvent=!1}),m.cloneNode(!0).fireEvent("onclick"),m.detachEvent("onclick",l)),g=P.createElement("input"),g.value="t",g.setAttribute("type","radio"),b.radioValue="t"===g.value,g.setAttribute("checked","checked"),g.setAttribute("name","t"),m.appendChild(g),h=P.createDocumentFragment(),h.appendChild(m.lastChild),b.checkClone=h.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=g.checked,h.removeChild(g),h.appendChild(m),m.attachEvent)for(j in{submit:!0,change:!0,focusin:!0})i="on"+j,k=i in m,k||(m.setAttribute(i,"return;"),k="function"==typeof m[i]),b[j+"Bubbles"]=k;return $(function(){var c,d,e,f,g="padding:0;margin:0;border:0;display:block;overflow:hidden;",h=P.getElementsByTagName("body")[0];h&&(c=P.createElement("div"),c.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",h.insertBefore(c,h.firstChild),d=P.createElement("div"),c.appendChild(d),d.innerHTML="
    t
    ",e=d.getElementsByTagName("td"),e[0].style.cssText="padding:0;margin:0;border:0;display:none",k=0===e[0].offsetHeight,e[0].style.display="",e[1].style.display="none",b.reliableHiddenOffsets=k&&0===e[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",b.boxSizing=4===d.offsetWidth,b.doesNotIncludeMarginInBodyOffset=1!==h.offsetTop,a.getComputedStyle&&(b.pixelPosition="1%"!==(a.getComputedStyle(d,null)||{}).top,b.boxSizingReliable="4px"===(a.getComputedStyle(d,null)||{width:"4px"}).width,f=P.createElement("div"),f.style.cssText=d.style.cssText=g,f.style.marginRight=f.style.width="0",d.style.width="1px",d.appendChild(f),b.reliableMarginRight=!parseFloat((a.getComputedStyle(f,null)||{}).marginRight)),"undefined"!=typeof d.style.zoom&&(d.innerHTML="",d.style.cssText=g+"width:1px;padding:1px;display:inline;zoom:1",b.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.style.overflow="visible",d.innerHTML="
    ",d.firstChild.style.width="5px",b.shrinkWrapBlocks=3!==d.offsetWidth,c.style.zoom=1),h.removeChild(c),c=d=e=f=null)}),h.removeChild(m),c=d=e=f=g=h=m=null,b}();var pb=/^(?:\{.*\}|\[.*\])$/,qb=/([A-Z])/g;$.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+($.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){return a=a.nodeType?$.cache[a[$.expando]]:a[$.expando],!!a&&!e(a)},data:function(a,c,d,e){if($.acceptData(a)){var f,g,h=$.expando,i="string"==typeof c,j=a.nodeType,k=j?$.cache:a,l=j?a[h]:a[h]&&h;if(l&&k[l]&&(e||k[l].data)||!i||d!==b)return l||(j?a[h]=l=$.deletedIds.pop()||++$.uuid:l=h),k[l]||(k[l]={},j||(k[l].toJSON=$.noop)),("object"==typeof c||"function"==typeof c)&&(e?k[l]=$.extend(k[l],c):k[l].data=$.extend(k[l].data,c)),f=k[l],e||(f.data||(f.data={}),f=f.data),d!==b&&(f[$.camelCase(c)]=d),i?(g=f[c],null==g&&(g=f[$.camelCase(c)])):g=f,g}},removeData:function(a,b,c){if($.acceptData(a)){var d,f,g,h=a.nodeType,i=h?$.cache:a,j=h?a[$.expando]:$.expando;if(i[j]){if(b&&(d=c?i[j]:i[j].data)){$.isArray(b)||(b in d?b=[b]:(b=$.camelCase(b),b=b in d?[b]:b.split(" ")));for(f=0,g=b.length;g>f;f++)delete d[b[f]];if(!(c?e:$.isEmptyObject)(d))return}(c||(delete i[j].data,e(i[j])))&&(h?$.cleanData([a],!0):$.support.deleteExpando||i!=i.window?delete i[j]:i[j]=null)}}},_data:function(a,b,c){return $.data(a,b,c,!0)},acceptData:function(a){var b=a.nodeName&&$.noData[a.nodeName.toLowerCase()];return!b||b!==!0&&a.getAttribute("classid")===b}}),$.fn.extend({data:function(a,c){var e,f,g,h,i,j=this[0],k=0,l=null;if(a===b){if(this.length&&(l=$.data(j),1===j.nodeType&&!$._data(j,"parsedAttrs"))){for(g=j.attributes,i=g.length;i>k;k++)h=g[k].name,0===h.indexOf("data-")&&(h=$.camelCase(h.substring(5)),d(j,h,l[h]));$._data(j,"parsedAttrs",!0)}return l}return"object"==typeof a?this.each(function(){$.data(this,a)}):(e=a.split(".",2),e[1]=e[1]?"."+e[1]:"",f=e[1]+"!",$.access(this,function(c){return c===b?(l=this.triggerHandler("getData"+f,[e[0]]),l===b&&j&&(l=$.data(j,a),l=d(j,a,l)),l===b&&e[1]?this.data(e[0]):l):(e[1]=c,void this.each(function(){var b=$(this);b.triggerHandler("setData"+f,e),$.data(this,a,c),b.triggerHandler("changeData"+f,e)}))},null,c,arguments.length>1,null,!1))},removeData:function(a){return this.each(function(){$.removeData(this,a)})}}),$.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=$._data(a,b),c&&(!d||$.isArray(c)?d=$._data(a,b,$.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=$.queue(a,b),d=c.shift(),e=$._queueHooks(a,b),f=function(){$.dequeue(a,b)};"inprogress"===d&&(d=c.shift()),d&&("fx"===b&&c.unshift("inprogress"),delete e.stop,d.call(a,f,e)),!c.length&&e&&e.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return $._data(a,c)||$._data(a,c,{empty:$.Callbacks("once memory").add(function(){$.removeData(a,b+"queue",!0),$.removeData(a,c,!0)})})}}),$.fn.extend({queue:function(a,c){var d=2;return"string"!=typeof a&&(c=a,a="fx",d--),arguments.length1)},removeAttr:function(a){return this.each(function(){$.removeAttr(this,a)})},prop:function(a,b){return $.access(this,$.prop,a,b,arguments.length>1)},removeProp:function(a){return a=$.propFix[a]||a,this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,f,g,h;if($.isFunction(a))return this.each(function(b){$(this).addClass(a.call(this,b,this.className))});if(a&&"string"==typeof a)for(b=a.split(bb),c=0,d=this.length;d>c;c++)if(e=this[c],1===e.nodeType)if(e.className||1!==b.length){for(f=" "+e.className+" ",g=0,h=b.length;h>g;g++)~f.indexOf(" "+b[g]+" ")||(f+=b[g]+" ");e.className=$.trim(f)}else e.className=a;return this},removeClass:function(a){var c,d,e,f,g,h,i;if($.isFunction(a))return this.each(function(b){$(this).removeClass(a.call(this,b,this.className))});if(a&&"string"==typeof a||a===b)for(c=(a||"").split(bb),h=0,i=this.length;i>h;h++)if(e=this[h],1===e.nodeType&&e.className){for(d=(" "+e.className+" ").replace(ub," "),f=0,g=c.length;g>f;f++)for(;d.indexOf(" "+c[f]+" ")>-1;)d=d.replace(" "+c[f]+" "," ");e.className=a?$.trim(d):""}return this},toggleClass:function(a,b){var c=typeof a,d="boolean"==typeof b;return this.each($.isFunction(a)?function(c){$(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c)for(var e,f=0,g=$(this),h=b,i=a.split(bb);e=i[f++];)h=d?h:!g.hasClass(e),g[h?"addClass":"removeClass"](e);else("undefined"===c||"boolean"===c)&&(this.className&&$._data(this,"__className__",this.className),this.className=this.className||a===!1?"":$._data(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(ub," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e,f=this[0];{if(arguments.length)return e=$.isFunction(a),this.each(function(d){var f,g=$(this);1===this.nodeType&&(f=e?a.call(this,d,g.val()):a,null==f?f="":"number"==typeof f?f+="":$.isArray(f)&&(f=$.map(f,function(a){return null==a?"":a+""})),c=$.valHooks[this.type]||$.valHooks[this.nodeName.toLowerCase()],c&&"set"in c&&c.set(this,f,"value")!==b||(this.value=f))});if(f)return c=$.valHooks[f.type]||$.valHooks[f.nodeName.toLowerCase()],c&&"get"in c&&(d=c.get(f,"value"))!==b?d:(d=f.value,"string"==typeof d?d.replace(vb,""):null==d?"":d)}}}),$.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,f=a.selectedIndex,g=[],h=a.options,i="select-one"===a.type;if(0>f)return null;for(c=i?f:0,d=i?f+1:h.length;d>c;c++)if(e=h[c],!(!e.selected||($.support.optDisabled?e.disabled:null!==e.getAttribute("disabled"))||e.parentNode.disabled&&$.nodeName(e.parentNode,"optgroup"))){if(b=$(e).val(),i)return b;g.push(b)}return i&&!g.length&&h.length?$(h[f]).val():g},set:function(a,b){var c=$.makeArray(b);return $(a).find("option").each(function(){this.selected=$.inArray($(this).val(),c)>=0}),c.length||(a.selectedIndex=-1),c}}},attrFn:{},attr:function(a,c,d,e){var f,g,h,i=a.nodeType;if(a&&3!==i&&8!==i&&2!==i)return e&&$.isFunction($.fn[c])?$(a)[c](d):"undefined"==typeof a.getAttribute?$.prop(a,c,d):(h=1!==i||!$.isXMLDoc(a),h&&(c=c.toLowerCase(),g=$.attrHooks[c]||(zb.test(c)?sb:rb)),d!==b?null===d?void $.removeAttr(a,c):g&&"set"in g&&h&&(f=g.set(a,d,c))!==b?f:(a.setAttribute(c,""+d),d):g&&"get"in g&&h&&null!==(f=g.get(a,c))?f:(f=a.getAttribute(c),null===f?b:f))},removeAttr:function(a,b){var c,d,e,f,g=0;if(b&&1===a.nodeType)for(d=b.split(bb);g=0:void 0}})});var Bb=/^(?:textarea|input|select)$/i,Cb=/^([^\.]*|)(?:\.(.+)|)$/,Db=/(?:^|\s)hover(\.\S+|)\b/,Eb=/^key/,Fb=/^(?:mouse|contextmenu)|click/,Gb=/^(?:focusinfocus|focusoutblur)$/,Hb=function(a){return $.event.special.hover?a:a.replace(Db,"mouseenter$1 mouseleave$1")};$.event={add:function(a,c,d,e,f){var g,h,i,j,k,l,m,n,o,p,q;if(3!==a.nodeType&&8!==a.nodeType&&c&&d&&(g=$._data(a))){for(d.handler&&(o=d,d=o.handler,f=o.selector),d.guid||(d.guid=$.guid++),i=g.events,i||(g.events=i={}),h=g.handle,h||(g.handle=h=function(a){return"undefined"==typeof $||a&&$.event.triggered===a.type?b:$.event.dispatch.apply(h.elem,arguments)},h.elem=a),c=$.trim(Hb(c)).split(" "),j=0;j=0&&(q=q.slice(0,-1),h=!0),q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),(!e||$.event.customEvent[q])&&!$.event.global[q])return;if(c="object"==typeof c?c[$.expando]?c:new $.Event(q,c):new $.Event(q),c.type=q,c.isTrigger=!0,c.exclusive=h,c.namespace=r.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,l=q.indexOf(":")<0?"on"+q:"",!e){g=$.cache;for(i in g)g[i].events&&g[i].events[q]&&$.event.trigger(c,d,g[i].handle.elem,!0);return}if(c.result=b,c.target||(c.target=e),d=null!=d?$.makeArray(d):[],d.unshift(c),m=$.event.special[q]||{},m.trigger&&m.trigger.apply(e,d)===!1)return;if(o=[[e,m.bindType||q]],!f&&!m.noBubble&&!$.isWindow(e)){for(p=m.delegateType||q,j=Gb.test(p+q)?e:e.parentNode,k=e;j;j=j.parentNode)o.push([j,p]),k=j;k===(e.ownerDocument||P)&&o.push([k.defaultView||k.parentWindow||a,p])}for(i=0;id;d++)l=n[d],m=l.selector,i[m]===b&&(i[m]=g.is(m)),i[m]&&k.push(l);k.length&&s.push({elem:f,matches:k})}for(n.length>o&&s.push({elem:this,matches:n.slice(o)}),d=0;d0?this.on(b,null,a,c):this.trigger(b)},Eb.test(b)&&($.event.fixHooks[b]=$.event.keyHooks),Fb.test(b)&&($.event.fixHooks[b]=$.event.mouseHooks) -}),function(a,b){function c(a,b,c,d){for(var e=0,f=b.length;f>e;e++)fb(a,b[e],c,d)}function d(a,b,d,e,f,g){var h,i=gb.setFilters[b.toLowerCase()];return i||fb.error(b),(a||!(h=f))&&c(a||"*",e,h=[],f),h.length>0?i(h,d,g):[]}function e(a,e,f,g,h){for(var i,j,k,l,m,n,o,p,q=0,r=h.length,s=S.POS,t=new RegExp("^"+s.source+"(?!"+y+")","i"),u=function(){for(var a=1,c=arguments.length-2;c>a;a++)arguments[a]===b&&(i[a]=b)};r>q;q++){for(s.exec(""),a=h[q],l=[],k=0,m=g;i=s.exec(a);)p=s.lastIndex=i.index+i[0].length,p>k&&(o=a.slice(k,i.index),k=p,n=[e],I.test(o)&&(m&&(n=m),m=g),(j=O.test(o))&&(o=o.slice(0,-5).replace(I,"$&*")),i.length>1&&i[0].replace(t,u),m=d(o,i[1],i[2],n,m,j));m?(l=l.concat(m),(o=a.slice(k))&&")"!==o?I.test(o)?c(o,l,f,g):fb(o,e,f,g?g.concat(m):m):w.apply(f,l)):fb(a,e,f,g)}return 1===r?f:fb.uniqueSort(f)}function f(a,b,c){for(var d,e,f,g=[],h=0,i=K.exec(a),j=!i.pop()&&!i.pop(),k=j&&a.match(J)||[""],l=gb.preFilter,m=gb.filter,n=!c&&b!==p;null!=(e=k[h])&&j;h++)for(g.push(d=[]),n&&(e=" "+e);e;){j=!1,(i=I.exec(e))&&(e=e.slice(i[0].length),j=d.push({part:i.pop().replace(H," "),captures:i}));for(f in m)(i=S[f].exec(e))&&(!l[f]||(i=l[f](i,b,c)))&&(e=e.slice(i.shift().length),j=d.push({part:f,captures:i}));if(!j)break}return j||fb.error(a),g}function g(a,b,c){var d=b.dir,e=u++;return a||(a=function(a){return a===c}),b.first?function(b,c){for(;b=b[d];)if(1===b.nodeType)return a(b,c)&&b}:function(b,c){for(var f,g=e+"."+l,h=g+"."+k;b=b[d];)if(1===b.nodeType){if((f=b[x])===h)return b.sizset;if("string"==typeof f&&0===f.indexOf(g)){if(b.sizset)return b}else{if(b[x]=h,a(b,c))return b.sizset=!0,b;b.sizset=!1}}}}function h(a,b){return a?function(c,d){var e=b(c,d);return e&&a(e===!0?c:e,d)}:b}function i(a,b,c){for(var d,e,f=0;d=a[f];f++)gb.relative[d.part]?e=g(e,gb.relative[d.part],b):(d.captures.push(b,c),e=h(e,gb.filter[d.part].apply(null,d.captures)));return e}function j(a){return function(b,c){for(var d,e=0;d=a[e];e++)if(d(b,c))return!0;return!1}}var k,l,m,n,o,p=a.document,q=p.documentElement,r="undefined",s=!1,t=!0,u=0,v=[].slice,w=[].push,x=("sizcache"+Math.random()).replace(".",""),y="[\\x20\\t\\r\\n\\f]",z="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",A=z.replace("w","w#"),B="([*^$|!~]?=)",C="\\["+y+"*("+z+")"+y+"*(?:"+B+y+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+A+")|)|)"+y+"*\\]",D=":("+z+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|((?:[^,]|\\\\,|(?:,(?=[^\\[]*\\]))|(?:,(?=[^\\(]*\\))))*))\\)|)",E=":(nth|eq|gt|lt|first|last|even|odd)(?:\\((\\d*)\\)|)(?=[^-]|$)",F=y+"*([\\x20\\t\\r\\n\\f>+~])"+y+"*",G="(?=[^\\x20\\t\\r\\n\\f])(?:\\\\.|"+C+"|"+D.replace(2,7)+"|[^\\\\(),])+",H=new RegExp("^"+y+"+|((?:^|[^\\\\])(?:\\\\.)*)"+y+"+$","g"),I=new RegExp("^"+F),J=new RegExp(G+"?(?="+y+"*,|$)","g"),K=new RegExp("^(?:(?!,)(?:(?:^|,)"+y+"*"+G+")*?|"+y+"*(.*?))(\\)|$)"),L=new RegExp(G.slice(19,-6)+"\\x20\\t\\r\\n\\f>+~])+|"+F,"g"),M=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,N=/[\x20\t\r\n\f]*[+~]/,O=/:not\($/,P=/h\d/i,Q=/input|select|textarea|button/i,R=/\\(?!\\)/g,S={ID:new RegExp("^#("+z+")"),CLASS:new RegExp("^\\.("+z+")"),NAME:new RegExp("^\\[name=['\"]?("+z+")['\"]?\\]"),TAG:new RegExp("^("+z.replace("[-","[-\\*")+")"),ATTR:new RegExp("^"+C),PSEUDO:new RegExp("^"+D),CHILD:new RegExp("^:(only|nth|last|first)-child(?:\\("+y+"*(even|odd|(([+-]|)(\\d*)n|)"+y+"*(?:([+-]|)"+y+"*(\\d+)|))"+y+"*\\)|)","i"),POS:new RegExp(E,"ig"),needsContext:new RegExp("^"+y+"*[>+~]|"+E,"i")},T={},U=[],V={},W=[],X=function(a){return a.sizzleFilter=!0,a},Y=function(a){return function(b){return"input"===b.nodeName.toLowerCase()&&b.type===a}},Z=function(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}},_=function(a){var b=!1,c=p.createElement("div");try{b=a(c)}catch(d){}return c=null,b},ab=_(function(a){a.innerHTML="";var b=typeof a.lastChild.getAttribute("multiple");return"boolean"!==b&&"string"!==b}),bb=_(function(a){a.id=x+0,a.innerHTML="
    ",q.insertBefore(a,q.firstChild);var b=p.getElementsByName&&p.getElementsByName(x).length===2+p.getElementsByName(x+0).length;return o=!p.getElementById(x),q.removeChild(a),b}),cb=_(function(a){return a.appendChild(p.createComment("")),0===a.getElementsByTagName("*").length}),db=_(function(a){return a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!==r&&"#"===a.firstChild.getAttribute("href")}),eb=_(function(a){return a.innerHTML="",a.getElementsByClassName&&0!==a.getElementsByClassName("e").length?(a.lastChild.className="e",1!==a.getElementsByClassName("e").length):!1}),fb=function(a,b,c,d){c=c||[],b=b||p;var e,f,g,h,i=b.nodeType;if(1!==i&&9!==i)return[];if(!a||"string"!=typeof a)return c;if(g=ib(b),!g&&!d&&(e=M.exec(a)))if(h=e[1]){if(9===i){if(f=b.getElementById(h),!f||!f.parentNode)return c;if(f.id===h)return c.push(f),c}else if(b.ownerDocument&&(f=b.ownerDocument.getElementById(h))&&jb(b,f)&&f.id===h)return c.push(f),c}else{if(e[2])return w.apply(c,v.call(b.getElementsByTagName(a),0)),c;if((h=e[3])&&eb&&b.getElementsByClassName)return w.apply(c,v.call(b.getElementsByClassName(h),0)),c}return mb(a,b,c,d,g)},gb=fb.selectors={cacheLength:50,match:S,order:["ID","TAG"],attrHandle:{},createPseudo:X,find:{ID:o?function(a,b,c){if(typeof b.getElementById!==r&&!c){var d=b.getElementById(a);return d&&d.parentNode?[d]:[]}}:function(a,c,d){if(typeof c.getElementById!==r&&!d){var e=c.getElementById(a);return e?e.id===a||typeof e.getAttributeNode!==r&&e.getAttributeNode("id").value===a?[e]:b:[]}},TAG:cb?function(a,b){return typeof b.getElementsByTagName!==r?b.getElementsByTagName(a):void 0}:function(a,b){var c=b.getElementsByTagName(a);if("*"===a){for(var d,e=[],f=0;d=c[f];f++)1===d.nodeType&&e.push(d);return e}return c}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(R,""),a[3]=(a[4]||a[5]||"").replace(R,""),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1]?(a[2]||fb.error(a[0]),a[3]=+(a[3]?a[4]+(a[5]||1):2*("even"===a[2]||"odd"===a[2])),a[4]=+(a[6]+a[7]||"odd"===a[2])):a[2]&&fb.error(a[0]),a},PSEUDO:function(a){var b,c=a[4];return S.CHILD.test(a[0])?null:(c&&(b=K.exec(c))&&b.pop()&&(a[0]=a[0].slice(0,b[0].length-c.length-1),c=b[0].slice(0,-1)),a.splice(2,3,c||a[3]),a)}},filter:{ID:o?function(a){return a=a.replace(R,""),function(b){return b.getAttribute("id")===a}}:function(a){return a=a.replace(R,""),function(b){var c=typeof b.getAttributeNode!==r&&b.getAttributeNode("id");return c&&c.value===a}},TAG:function(a){return"*"===a?function(){return!0}:(a=a.replace(R,"").toLowerCase(),function(b){return b.nodeName&&b.nodeName.toLowerCase()===a})},CLASS:function(a){var b=T[a];return b||(b=T[a]=new RegExp("(^|"+y+")"+a+"("+y+"|$)"),U.push(a),U.length>gb.cacheLength&&delete T[U.shift()]),function(a){return b.test(a.className||typeof a.getAttribute!==r&&a.getAttribute("class")||"")}},ATTR:function(a,b,c){return b?function(d){var e=fb.attr(d,a),f=e+"";if(null==e)return"!="===b;switch(b){case"=":return f===c;case"!=":return f!==c;case"^=":return c&&0===f.indexOf(c);case"*=":return c&&f.indexOf(c)>-1;case"$=":return c&&f.substr(f.length-c.length)===c;case"~=":return(" "+f+" ").indexOf(c)>-1;case"|=":return f===c||f.substr(0,c.length+1)===c+"-"}}:function(b){return null!=fb.attr(b,a)}},CHILD:function(a,b,c,d){if("nth"===a){var e=u++;return function(a){var b,f,g=0,h=a;if(1===c&&0===d)return!0;if(b=a.parentNode,b&&(b[x]!==e||!a.sizset)){for(h=b.firstChild;h&&(1!==h.nodeType||(h.sizset=++g,h!==a));h=h.nextSibling);b[x]=e}return f=a.sizset-d,0===c?0===f:f%c===0&&f/c>=0}}return function(b){var c=b;switch(a){case"only":case"first":for(;c=c.previousSibling;)if(1===c.nodeType)return!1;if("first"===a)return!0;c=b;case"last":for(;c=c.nextSibling;)if(1===c.nodeType)return!1;return!0}}},PSEUDO:function(a,b,c,d){var e=gb.pseudos[a]||gb.pseudos[a.toLowerCase()];return e||fb.error("unsupported pseudo: "+a),e.sizzleFilter?e(b,c,d):e}},pseudos:{not:X(function(a,b,c){var d=lb(a.replace(H,"$1"),b,c);return function(a){return!d(a)}}),enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},parent:function(a){return!gb.pseudos.empty(a)},empty:function(a){var b;for(a=a.firstChild;a;){if(a.nodeName>"@"||3===(b=a.nodeType)||4===b)return!1;a=a.nextSibling}return!0},contains:X(function(a){return function(b){return(b.textContent||b.innerText||kb(b)).indexOf(a)>-1}}),has:X(function(a){return function(b){return fb(a,b).length>0}}),header:function(a){return P.test(a.nodeName)},text:function(a){var b,c;return"input"===a.nodeName.toLowerCase()&&"text"===(b=a.type)&&(null==(c=a.getAttribute("type"))||c.toLowerCase()===b)},radio:Y("radio"),checkbox:Y("checkbox"),file:Y("file"),password:Y("password"),image:Y("image"),submit:Z("submit"),reset:Z("reset"),button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},input:function(a){return Q.test(a.nodeName)},focus:function(a){var b=a.ownerDocument;return!(a!==b.activeElement||b.hasFocus&&!b.hasFocus()||!a.type&&!a.href)},active:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b,c){return c?a.slice(1):[a[0]]},last:function(a,b,c){var d=a.pop();return c?a:[d]},even:function(a,b,c){for(var d=[],e=c?1:0,f=a.length;f>e;e+=2)d.push(a[e]);return d},odd:function(a,b,c){for(var d=[],e=c?0:1,f=a.length;f>e;e+=2)d.push(a[e]);return d},lt:function(a,b,c){return c?a.slice(+b):a.slice(0,+b)},gt:function(a,b,c){return c?a.slice(0,+b+1):a.slice(+b+1)},eq:function(a,b,c){var d=a.splice(+b,1);return c?a:d}}};gb.setFilters.nth=gb.setFilters.eq,gb.filters=gb.pseudos,db||(gb.attrHandle={href:function(a){return a.getAttribute("href",2)},type:function(a){return a.getAttribute("type")}}),bb&&(gb.order.push("NAME"),gb.find.NAME=function(a,b){return typeof b.getElementsByName!==r?b.getElementsByName(a):void 0}),eb&&(gb.order.splice(1,0,"CLASS"),gb.find.CLASS=function(a,b,c){return typeof b.getElementsByClassName===r||c?void 0:b.getElementsByClassName(a)});try{v.call(q.childNodes,0)[0].nodeType}catch(hb){v=function(a){for(var b,c=[];b=this[a];a++)c.push(b);return c}}var ib=fb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},jb=fb.contains=q.compareDocumentPosition?function(a,b){return!!(16&a.compareDocumentPosition(b))}:q.contains?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b.parentNode;return a===d||!!(d&&1===d.nodeType&&c.contains&&c.contains(d))}:function(a,b){for(;b=b.parentNode;)if(b===a)return!0;return!1},kb=fb.getText=function(a){var b,c="",d=0,e=a.nodeType;if(e){if(1===e||9===e||11===e){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=kb(a)}else if(3===e||4===e)return a.nodeValue}else for(;b=a[d];d++)c+=kb(b);return c};fb.attr=function(a,b){var c,d=ib(a);return d||(b=b.toLowerCase()),gb.attrHandle[b]?gb.attrHandle[b](a):ab||d?a.getAttribute(b):(c=a.getAttributeNode(b),c?"boolean"==typeof a[b]?a[b]?b:null:c.specified?c.value:null:null)},fb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},[0,0].sort(function(){return t=0}),q.compareDocumentPosition?m=function(a,b){return a===b?(s=!0,0):(a.compareDocumentPosition&&b.compareDocumentPosition?4&a.compareDocumentPosition(b):a.compareDocumentPosition)?-1:1}:(m=function(a,b){if(a===b)return s=!0,0;if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],g=a.parentNode,h=b.parentNode,i=g;if(g===h)return n(a,b);if(!g)return-1;if(!h)return 1;for(;i;)e.unshift(i),i=i.parentNode;for(i=h;i;)f.unshift(i),i=i.parentNode;c=e.length,d=f.length;for(var j=0;c>j&&d>j;j++)if(e[j]!==f[j])return n(e[j],f[j]);return j===c?n(a,f[j],-1):n(e[j],b,1)},n=function(a,b,c){if(a===b)return c;for(var d=a.nextSibling;d;){if(d===b)return-1;d=d.nextSibling}return 1}),fb.uniqueSort=function(a){var b,c=1;if(m&&(s=t,a.sort(m),s))for(;b=a[c];c++)b===a[c-1]&&a.splice(c--,1);return a};var lb=fb.compile=function(a,b,c){var d,e,g,h=V[a];if(h&&h.context===b)return h;for(e=f(a,b,c),g=0;d=e[g];g++)e[g]=i(d,b,c);return h=V[a]=j(e),h.context=b,h.runs=h.dirruns=0,W.push(a),W.length>gb.cacheLength&&delete V[W.shift()],h};fb.matches=function(a,b){return fb(a,null,null,b)},fb.matchesSelector=function(a,b){return fb(b,null,null,[a]).length>0};var mb=function(a,b,c,d,f){a=a.replace(H,"$1");var g,h,i,j,m,n,o,p,q,r=a.match(J),s=a.match(L),t=b.nodeType;if(S.POS.test(a))return e(a,b,c,d,r);if(d)g=v.call(d,0);else if(r&&1===r.length){if(s.length>1&&9===t&&!f&&(r=S.ID.exec(s[0]))){if(b=gb.find.ID(r[1],b,f)[0],!b)return c;a=a.slice(s.shift().length)}for(p=(r=N.exec(s[0]))&&!r.index&&b.parentNode||b,q=s.pop(),n=q.split(":not")[0],i=0,j=gb.order.length;j>i;i++)if(o=gb.order[i],r=S[o].exec(n)){if(g=gb.find[o]((r[1]||"").replace(R,""),p,f),null==g)continue;n===q&&(a=a.slice(0,a.length-q.length)+n.replace(S[o],""),a||w.apply(c,v.call(g,0)));break}}if(a)for(h=lb(a,b,f),l=h.dirruns++,null==g&&(g=gb.find.TAG("*",N.test(a)&&b.parentNode||b)),i=0;m=g[i];i++)k=h.runs++,h(m,b)&&c.push(m);return c};p.querySelectorAll&&function(){var a,b=mb,c=/'|\\/g,d=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,e=[],f=[":active"],g=q.matchesSelector||q.mozMatchesSelector||q.webkitMatchesSelector||q.oMatchesSelector||q.msMatchesSelector;_(function(a){a.innerHTML="",a.querySelectorAll("[selected]").length||e.push("\\["+y+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),a.querySelectorAll(":checked").length||e.push(":checked")}),_(function(a){a.innerHTML="

    ",a.querySelectorAll("[test^='']").length&&e.push("[*^$]="+y+"*(?:\"\"|'')"),a.innerHTML="",a.querySelectorAll(":enabled").length||e.push(":enabled",":disabled")}),e=e.length&&new RegExp(e.join("|")),mb=function(a,d,f,g,h){if(!(g||h||e&&e.test(a)))if(9===d.nodeType)try{return w.apply(f,v.call(d.querySelectorAll(a),0)),f}catch(i){}else if(1===d.nodeType&&"object"!==d.nodeName.toLowerCase()){var j=d.getAttribute("id"),k=j||x,l=N.test(a)&&d.parentNode||d;j?k=k.replace(c,"\\$&"):d.setAttribute("id",k);try{return w.apply(f,v.call(l.querySelectorAll(a.replace(J,"[id='"+k+"'] $&")),0)),f}catch(i){}finally{j||d.removeAttribute("id")}}return b(a,d,f,g,h)},g&&(_(function(b){a=g.call(b,"div");try{g.call(b,"[test!='']:sizzle"),f.push(gb.match.PSEUDO)}catch(c){}}),f=new RegExp(f.join("|")),fb.matchesSelector=function(b,c){if(c=c.replace(d,"='$1']"),!(ib(b)||f.test(c)||e&&e.test(c)))try{var h=g.call(b,c);if(h||a||b.document&&11!==b.document.nodeType)return h}catch(i){}return fb(c,null,null,[b]).length>0})}(),fb.attr=$.attr,$.find=fb,$.expr=fb.selectors,$.expr[":"]=$.expr.pseudos,$.unique=fb.uniqueSort,$.text=fb.getText,$.isXMLDoc=fb.isXML,$.contains=fb.contains}(a);var Ib=/Until$/,Jb=/^(?:parents|prev(?:Until|All))/,Kb=/^.[^:#\[\.,]*$/,Lb=$.expr.match.needsContext,Mb={children:!0,contents:!0,next:!0,prev:!0};$.fn.extend({find:function(a){var b,c,d,e,f,g,h=this;if("string"!=typeof a)return $(a).filter(function(){for(b=0,c=h.length;c>b;b++)if($.contains(h[b],this))return!0});for(g=this.pushStack("","find",a),b=0,c=this.length;c>b;b++)if(d=g.length,$.find(a,this[b],g),b>0)for(e=d;ef;f++)if(g[f]===g[e]){g.splice(e--,1);break}return g},has:function(a){var b,c=$(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if($.contains(this,c[b]))return!0})},not:function(a){return this.pushStack(j(this,a,!1),"not",a)},filter:function(a){return this.pushStack(j(this,a,!0),"filter",a)},is:function(a){return!!a&&("string"==typeof a?Lb.test(a)?$(a,this.context).index(this[0])>=0:$.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=Lb.test(a)||"string"!=typeof a?$(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c.ownerDocument&&c!==b&&11!==c.nodeType;){if(g?g.index(c)>-1:$.find.matchesSelector(c,a)){f.push(c);break}c=c.parentNode}return f=f.length>1?$.unique(f):f,this.pushStack(f,"closest",a)},index:function(a){return a?"string"==typeof a?$.inArray(this[0],$(a)):$.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(a,b){var c="string"==typeof a?$(a,b):$.makeArray(a&&a.nodeType?[a]:a),d=$.merge(this.get(),c);return this.pushStack(h(c[0])||h(d[0])?d:$.unique(d))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}}),$.fn.andSelf=$.fn.addBack,$.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return $.dir(a,"parentNode")},parentsUntil:function(a,b,c){return $.dir(a,"parentNode",c)},next:function(a){return i(a,"nextSibling")},prev:function(a){return i(a,"previousSibling")},nextAll:function(a){return $.dir(a,"nextSibling")},prevAll:function(a){return $.dir(a,"previousSibling")},nextUntil:function(a,b,c){return $.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return $.dir(a,"previousSibling",c)},siblings:function(a){return $.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return $.sibling(a.firstChild)},contents:function(a){return $.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:$.merge([],a.childNodes)}},function(a,b){$.fn[a]=function(c,d){var e=$.map(this,b,c);return Ib.test(a)||(d=c),d&&"string"==typeof d&&(e=$.filter(d,e)),e=this.length>1&&!Mb[a]?$.unique(e):e,this.length>1&&Jb.test(a)&&(e=e.reverse()),this.pushStack(e,a,V.call(arguments).join(","))}}),$.extend({filter:function(a,b,c){return c&&(a=":not("+a+")"),1===b.length?$.find.matchesSelector(b[0],a)?[b[0]]:[]:$.find.matches(a,b)},dir:function(a,c,d){for(var e=[],f=a[c];f&&9!==f.nodeType&&(d===b||1!==f.nodeType||!$(f).is(d));)1===f.nodeType&&e.push(f),f=f[c];return e},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}});var Nb="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",Ob=/ jQuery\d+="(?:null|\d+)"/g,Pb=/^\s+/,Qb=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,Rb=/<([\w:]+)/,Sb=/]","i"),Xb=/^(?:checkbox|radio)$/,Yb=/checked\s*(?:[^=]|=\s*.checked.)/i,Zb=/\/(java|ecma)script/i,$b=/^\s*\s*$/g,_b={option:[1,""],legend:[1,"
    ","
    "],thead:[1,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],col:[2,"","
    "],area:[1,"",""],_default:[0,"",""]},ac=k(P),bc=ac.appendChild(P.createElement("div"));_b.optgroup=_b.option,_b.tbody=_b.tfoot=_b.colgroup=_b.caption=_b.thead,_b.th=_b.td,$.support.htmlSerialize||(_b._default=[1,"X
    ","
    "]),$.fn.extend({text:function(a){return $.access(this,function(a){return a===b?$.text(this):this.empty().append((this[0]&&this[0].ownerDocument||P).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if($.isFunction(a))return this.each(function(b){$(this).wrapAll(a.call(this,b))});if(this[0]){var b=$(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){for(var a=this;a.firstChild&&1===a.firstChild.nodeType;)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return this.each($.isFunction(a)?function(b){$(this).wrapInner(a.call(this,b))}:function(){var b=$(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=$.isFunction(a);return this.each(function(c){$(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){$.nodeName(this,"body")||$(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){(1===this.nodeType||11===this.nodeType)&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){(1===this.nodeType||11===this.nodeType)&&this.insertBefore(a,this.firstChild)})},before:function(){if(!h(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=$.clean(arguments);return this.pushStack($.merge(a,this),"before",this.selector)}},after:function(){if(!h(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=$.clean(arguments);return this.pushStack($.merge(this,a),"after",this.selector)}},remove:function(a,b){for(var c,d=0;null!=(c=this[d]);d++)(!a||$.filter(a,[c]).length)&&(!b&&1===c.nodeType&&($.cleanData(c.getElementsByTagName("*")),$.cleanData([c])),c.parentNode&&c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)for(1===a.nodeType&&$.cleanData(a.getElementsByTagName("*"));a.firstChild;)a.removeChild(a.firstChild);return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return $.clone(this,a,b)})},html:function(a){return $.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return 1===c.nodeType?c.innerHTML.replace(Ob,""):b;if(!("string"!=typeof a||Ub.test(a)||!$.support.htmlSerialize&&Wb.test(a)||!$.support.leadingWhitespace&&Pb.test(a)||_b[(Rb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(Qb,"<$1>");try{for(;e>d;d++)c=this[d]||{},1===c.nodeType&&($.cleanData(c.getElementsByTagName("*")),c.innerHTML=a);c=0}catch(f){}}c&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(a){return h(this[0])?this.length?this.pushStack($($.isFunction(a)?a():a),"replaceWith",a):this:$.isFunction(a)?this.each(function(b){var c=$(this),d=c.html();c.replaceWith(a.call(this,b,d))}):("string"!=typeof a&&(a=$(a).detach()),this.each(function(){var b=this.nextSibling,c=this.parentNode;$(this).remove(),b?$(b).before(a):$(c).append(a)}))},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){a=[].concat.apply([],a);var e,f,g,h,i=0,j=a[0],k=[],m=this.length;if(!$.support.checkClone&&m>1&&"string"==typeof j&&Yb.test(j))return this.each(function(){$(this).domManip(a,c,d)});if($.isFunction(j))return this.each(function(e){var f=$(this);a[0]=j.call(this,e,c?f.html():b),f.domManip(a,c,d)});if(this[0]){if(e=$.buildFragment(a,this,k),g=e.fragment,f=g.firstChild,1===g.childNodes.length&&(g=f),f)for(c=c&&$.nodeName(f,"tr"),h=e.cacheable||m-1;m>i;i++)d.call(c&&$.nodeName(this[i],"table")?l(this[i],"tbody"):this[i],i===h?g:$.clone(g,!0,!0));g=f=null,k.length&&$.each(k,function(a,b){b.src?$.ajax?$.ajax({url:b.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):$.error("no ajax"):$.globalEval((b.text||b.textContent||b.innerHTML||"").replace($b,"")),b.parentNode&&b.parentNode.removeChild(b)})}return this}}),$.buildFragment=function(a,c,d){var e,f,g,h=a[0];return c=c||P,c=(c[0]||c).ownerDocument||c[0]||c,"undefined"==typeof c.createDocumentFragment&&(c=P),1===a.length&&"string"==typeof h&&h.length<512&&c===P&&"<"===h.charAt(0)&&!Vb.test(h)&&($.support.checkClone||!Yb.test(h))&&($.support.html5Clone||!Wb.test(h))&&(f=!0,e=$.fragments[h],g=e!==b),e||(e=c.createDocumentFragment(),$.clean(a,c,e,d),f&&($.fragments[h]=g&&e)),{fragment:e,cacheable:f}},$.fragments={},$.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){$.fn[a]=function(c){var d,e=0,f=[],g=$(c),h=g.length,i=1===this.length&&this[0].parentNode;if((null==i||i&&11===i.nodeType&&1===i.childNodes.length)&&1===h)return g[b](this[0]),this;for(;h>e;e++)d=(e>0?this.clone(!0):this).get(),$(g[e])[b](d),f=f.concat(d);return this.pushStack(f,a,g.selector)}}),$.extend({clone:function(a,b,c){var d,e,f,g;if($.support.html5Clone||$.isXMLDoc(a)||!Wb.test("<"+a.nodeName+">")?g=a.cloneNode(!0):(bc.innerHTML=a.outerHTML,bc.removeChild(g=bc.firstChild)),!($.support.noCloneEvent&&$.support.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||$.isXMLDoc(a)))for(n(a,g),d=o(a),e=o(g),f=0;d[f];++f)e[f]&&n(d[f],e[f]);if(b&&(m(a,g),c))for(d=o(a),e=o(g),f=0;d[f];++f)m(d[f],e[f]);return d=e=null,g},clean:function(a,b,c,d){var e,f,g,h,i,j,l,m,n,o,q,r=0,s=[];for(b&&"undefined"!=typeof b.createDocumentFragment||(b=P),f=b===P&∾null!=(g=a[r]);r++)if("number"==typeof g&&(g+=""),g){if("string"==typeof g)if(Tb.test(g)){for(f=f||k(b),l=l||f.appendChild(b.createElement("div")),g=g.replace(Qb,"<$1>"),h=(Rb.exec(g)||["",""])[1].toLowerCase(),i=_b[h]||_b._default,j=i[0],l.innerHTML=i[1]+g+i[2];j--;)l=l.lastChild;if(!$.support.tbody)for(m=Sb.test(g),n="table"!==h||m?""!==i[1]||m?[]:l.childNodes:l.firstChild&&l.firstChild.childNodes,e=n.length-1;e>=0;--e)$.nodeName(n[e],"tbody")&&!n[e].childNodes.length&&n[e].parentNode.removeChild(n[e]);!$.support.leadingWhitespace&&Pb.test(g)&&l.insertBefore(b.createTextNode(Pb.exec(g)[0]),l.firstChild),g=l.childNodes,l=f.lastChild}else g=b.createTextNode(g);g.nodeType?s.push(g):s=$.merge(s,g)}if(l&&(f.removeChild(l),g=l=f=null),!$.support.appendChecked)for(r=0;null!=(g=s[r]);r++)$.nodeName(g,"input")?p(g):"undefined"!=typeof g.getElementsByTagName&&$.grep(g.getElementsByTagName("input"),p);if(c)for(o=function(a){return!a.type||Zb.test(a.type)?d?d.push(a.parentNode?a.parentNode.removeChild(a):a):c.appendChild(a):void 0},r=0;null!=(g=s[r]);r++)$.nodeName(g,"script")&&o(g)||(c.appendChild(g),"undefined"!=typeof g.getElementsByTagName&&(q=$.grep($.merge([],g.getElementsByTagName("script")),o),s.splice.apply(s,[r+1,0].concat(q)),r+=q.length));return s},cleanData:function(a,b){for(var c,d,e,f,g=0,h=$.expando,i=$.cache,j=$.support.deleteExpando,k=$.event.special;null!=(e=a[g]);g++)if((b||$.acceptData(e))&&(d=e[h],c=d&&i[d])){if(c.events)for(f in c.events)k[f]?$.event.remove(e,f):$.removeEvent(e,f,c.handle);i[d]&&(delete i[d],j?delete e[h]:e.removeAttribute?e.removeAttribute(h):e[h]=null,$.deletedIds.push(d))}}}),function(){var a,b;$.uaMatch=function(a){a=a.toLowerCase();var b=/(chrome)[ \/]([\w.]+)/.exec(a)||/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||a.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},a=$.uaMatch(R.userAgent),b={},a.browser&&(b[a.browser]=!0,b.version=a.version),b.webkit&&(b.safari=!0),$.browser=b,$.sub=function(){function a(b,c){return new a.fn.init(b,c)}$.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function c(c,d){return d&&d instanceof $&&!(d instanceof a)&&(d=a(d)),$.fn.init.call(this,c,d,b)},a.fn.init.prototype=a.fn;var b=a(P);return a}}();var cc,dc,ec,fc=/alpha\([^)]*\)/i,gc=/opacity=([^)]*)/,hc=/^(top|right|bottom|left)$/,ic=/^margin/,jc=new RegExp("^("+_+")(.*)$","i"),kc=new RegExp("^("+_+")(?!px)[a-z%]+$","i"),lc=new RegExp("^([-+])=("+_+")","i"),mc={},nc={position:"absolute",visibility:"hidden",display:"block"},oc={letterSpacing:0,fontWeight:400,lineHeight:1},pc=["Top","Right","Bottom","Left"],qc=["Webkit","O","Moz","ms"],rc=$.fn.toggle;$.fn.extend({css:function(a,c){return $.access(this,function(a,c,d){return d!==b?$.style(a,c,d):$.css(a,c)},a,c,arguments.length>1)},show:function(){return s(this,!0)},hide:function(){return s(this)},toggle:function(a,b){var c="boolean"==typeof a;return $.isFunction(a)&&$.isFunction(b)?rc.apply(this,arguments):this.each(function(){(c?a:r(this))?$(this).show():$(this).hide()})}}),$.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=cc(a,"opacity");return""===c?"1":c}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":$.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var f,g,h,i=$.camelCase(c),j=a.style;if(c=$.cssProps[i]||($.cssProps[i]=q(j,i)),h=$.cssHooks[c]||$.cssHooks[i],d===b)return h&&"get"in h&&(f=h.get(a,!1,e))!==b?f:j[c];if(g=typeof d,"string"===g&&(f=lc.exec(d))&&(d=(f[1]+1)*f[2]+parseFloat($.css(a,c)),g="number"),!(null==d||"number"===g&&isNaN(d)||("number"===g&&!$.cssNumber[i]&&(d+="px"),h&&"set"in h&&(d=h.set(a,d,e))===b)))try{j[c]=d}catch(k){}}},css:function(a,c,d,e){var f,g,h,i=$.camelCase(c);return c=$.cssProps[i]||($.cssProps[i]=q(a.style,i)),h=$.cssHooks[c]||$.cssHooks[i],h&&"get"in h&&(f=h.get(a,!0,e)),f===b&&(f=cc(a,c)),"normal"===f&&c in oc&&(f=oc[c]),d||e!==b?(g=parseFloat(f),d||$.isNumeric(g)?g||0:f):f},swap:function(a,b,c){var d,e,f={};for(e in b)f[e]=a.style[e],a.style[e]=b[e];d=c.call(a);for(e in b)a.style[e]=f[e];return d}}),a.getComputedStyle?cc=function(a,b){var c,d,e,f,g=getComputedStyle(a,null),h=a.style;return g&&(c=g[b],""===c&&!$.contains(a.ownerDocument.documentElement,a)&&(c=$.style(a,b)),kc.test(c)&&ic.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=c,c=g.width,h.width=d,h.minWidth=e,h.maxWidth=f)),c}:P.documentElement.currentStyle&&(cc=function(a,b){var c,d,e=a.currentStyle&&a.currentStyle[b],f=a.style;return null==e&&f&&f[b]&&(e=f[b]),kc.test(e)&&!hc.test(b)&&(c=f.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),f.left="fontSize"===b?"1em":e,e=f.pixelLeft+"px",f.left=c,d&&(a.runtimeStyle.left=d)),""===e?"auto":e}),$.each(["height","width"],function(a,b){$.cssHooks[b]={get:function(a,c,d){return c?0!==a.offsetWidth||"none"!==cc(a,"display")?v(a,b,d):$.swap(a,nc,function(){return v(a,b,d)}):void 0},set:function(a,c,d){return t(a,c,d?u(a,b,d,$.support.boxSizing&&"border-box"===$.css(a,"boxSizing")):0)}}}),$.support.opacity||($.cssHooks.opacity={get:function(a,b){return gc.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=$.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,b>=1&&""===$.trim(f.replace(fc,""))&&c.removeAttribute&&(c.removeAttribute("filter"),d&&!d.filter)||(c.filter=fc.test(f)?f.replace(fc,e):f+" "+e)}}),$(function(){$.support.reliableMarginRight||($.cssHooks.marginRight={get:function(a,b){return $.swap(a,{display:"inline-block"},function(){return b?cc(a,"marginRight"):void 0})}}),!$.support.pixelPosition&&$.fn.position&&$.each(["top","left"],function(a,b){$.cssHooks[b]={get:function(a,c){if(c){var d=cc(a,b);return kc.test(d)?$(a).position()[b]+"px":d}}}})}),$.expr&&$.expr.filters&&($.expr.filters.hidden=function(a){return 0===a.offsetWidth&&0===a.offsetHeight||!$.support.reliableHiddenOffsets&&"none"===(a.style&&a.style.display||cc(a,"display"))},$.expr.filters.visible=function(a){return!$.expr.filters.hidden(a)}),$.each({margin:"",padding:"",border:"Width"},function(a,b){$.cssHooks[a+b]={expand:function(c){var d,e="string"==typeof c?c.split(" "):[c],f={};for(d=0;4>d;d++)f[a+pc[d]+b]=e[d]||e[d-2]||e[0];return f}},ic.test(a)||($.cssHooks[a+b].set=t)});var sc=/%20/g,tc=/\[\]$/,uc=/\r?\n/g,vc=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,wc=/^(?:select|textarea)/i;$.fn.extend({serialize:function(){return $.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?$.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||wc.test(this.nodeName)||vc.test(this.type))}).map(function(a,b){var c=$(this).val();return null==c?null:$.isArray(c)?$.map(c,function(a){return{name:b.name,value:a.replace(uc,"\r\n")}}):{name:b.name,value:c.replace(uc,"\r\n")}}).get()}}),$.param=function(a,c){var d,e=[],f=function(a,b){b=$.isFunction(b)?b():null==b?"":b,e[e.length]=encodeURIComponent(a)+"="+encodeURIComponent(b) -};if(c===b&&(c=$.ajaxSettings&&$.ajaxSettings.traditional),$.isArray(a)||a.jquery&&!$.isPlainObject(a))$.each(a,function(){f(this.name,this.value)});else for(d in a)x(d,a[d],c,f);return e.join("&").replace(sc,"+")};var xc,yc,zc=/#.*$/,Ac=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Bc=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,Cc=/^(?:GET|HEAD)$/,Dc=/^\/\//,Ec=/\?/,Fc=/)<[^<]*)*<\/script>/gi,Gc=/([?&])_=[^&]*/,Hc=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,Ic=$.fn.load,Jc={},Kc={},Lc=["*/"]+["*"];try{xc=Q.href}catch(Mc){xc=P.createElement("a"),xc.href="",xc=xc.href}yc=Hc.exec(xc.toLowerCase())||[],$.fn.load=function(a,c,d){if("string"!=typeof a&&Ic)return Ic.apply(this,arguments);if(!this.length)return this;var e,f,g,h=this,i=a.indexOf(" ");return i>=0&&(e=a.slice(i,a.length),a=a.slice(0,i)),$.isFunction(c)?(d=c,c=b):"object"==typeof c&&(f="POST"),$.ajax({url:a,type:f,dataType:"html",data:c,complete:function(a,b){d&&h.each(d,g||[a.responseText,b,a])}}).done(function(a){g=arguments,h.html(e?$("
    ").append(a.replace(Fc,"")).find(e):a)}),this},$.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){$.fn[b]=function(a){return this.on(b,a)}}),$.each(["get","post"],function(a,c){$[c]=function(a,d,e,f){return $.isFunction(d)&&(f=f||e,e=d,d=b),$.ajax({type:c,url:a,data:d,success:e,dataType:f})}}),$.extend({getScript:function(a,c){return $.get(a,b,c,"script")},getJSON:function(a,b,c){return $.get(a,b,c,"json")},ajaxSetup:function(a,b){return b?A(a,$.ajaxSettings):(b=a,a=$.ajaxSettings),A(a,b),a},ajaxSettings:{url:xc,isLocal:Bc.test(yc[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":Lc},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":$.parseJSON,"text xml":$.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:y(Jc),ajaxTransport:y(Kc),ajax:function(a,c){function d(a,c,d,g){var j,l,s,t,v,x=c;2!==u&&(u=2,i&&clearTimeout(i),h=b,f=g||"",w.readyState=a>0?4:0,d&&(t=B(m,w,d)),a>=200&&300>a||304===a?(m.ifModified&&(v=w.getResponseHeader("Last-Modified"),v&&($.lastModified[e]=v),v=w.getResponseHeader("Etag"),v&&($.etag[e]=v)),304===a?(x="notmodified",j=!0):(j=C(m,t),x=j.state,l=j.data,s=j.error,j=!s)):(s=x,(!x||a)&&(x="error",0>a&&(a=0))),w.status=a,w.statusText=""+(c||x),j?p.resolveWith(n,[l,x,w]):p.rejectWith(n,[w,x,s]),w.statusCode(r),r=b,k&&o.trigger("ajax"+(j?"Success":"Error"),[w,m,j?l:s]),q.fireWith(n,[w,x]),k&&(o.trigger("ajaxComplete",[w,m]),--$.active||$.event.trigger("ajaxStop")))}"object"==typeof a&&(c=a,a=b),c=c||{};var e,f,g,h,i,j,k,l,m=$.ajaxSetup({},c),n=m.context||m,o=n!==m&&(n.nodeType||n instanceof $)?$(n):$.event,p=$.Deferred(),q=$.Callbacks("once memory"),r=m.statusCode||{},s={},t={},u=0,v="canceled",w={readyState:0,setRequestHeader:function(a,b){if(!u){var c=a.toLowerCase();a=t[c]=t[c]||a,s[a]=b}return this},getAllResponseHeaders:function(){return 2===u?f:null},getResponseHeader:function(a){var c;if(2===u){if(!g)for(g={};c=Ac.exec(f);)g[c[1].toLowerCase()]=c[2];c=g[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){return u||(m.mimeType=a),this},abort:function(a){return a=a||v,h&&h.abort(a),d(0,a),this}};if(p.promise(w),w.success=w.done,w.error=w.fail,w.complete=q.add,w.statusCode=function(a){if(a){var b;if(2>u)for(b in a)r[b]=[r[b],a[b]];else b=a[w.status],w.always(b)}return this},m.url=((a||m.url)+"").replace(zc,"").replace(Dc,yc[1]+"//"),m.dataTypes=$.trim(m.dataType||"*").toLowerCase().split(bb),null==m.crossDomain&&(j=Hc.exec(m.url.toLowerCase()),m.crossDomain=!(!j||j[1]==yc[1]&&j[2]==yc[2]&&(j[3]||("http:"===j[1]?80:443))==(yc[3]||("http:"===yc[1]?80:443)))),m.data&&m.processData&&"string"!=typeof m.data&&(m.data=$.param(m.data,m.traditional)),z(Jc,m,c,w),2===u)return w;if(k=m.global,m.type=m.type.toUpperCase(),m.hasContent=!Cc.test(m.type),k&&0===$.active++&&$.event.trigger("ajaxStart"),!m.hasContent&&(m.data&&(m.url+=(Ec.test(m.url)?"&":"?")+m.data,delete m.data),e=m.url,m.cache===!1)){var x=$.now(),y=m.url.replace(Gc,"$1_="+x);m.url=y+(y===m.url?(Ec.test(m.url)?"&":"?")+"_="+x:"")}(m.data&&m.hasContent&&m.contentType!==!1||c.contentType)&&w.setRequestHeader("Content-Type",m.contentType),m.ifModified&&(e=e||m.url,$.lastModified[e]&&w.setRequestHeader("If-Modified-Since",$.lastModified[e]),$.etag[e]&&w.setRequestHeader("If-None-Match",$.etag[e])),w.setRequestHeader("Accept",m.dataTypes[0]&&m.accepts[m.dataTypes[0]]?m.accepts[m.dataTypes[0]]+("*"!==m.dataTypes[0]?", "+Lc+"; q=0.01":""):m.accepts["*"]);for(l in m.headers)w.setRequestHeader(l,m.headers[l]);if(!m.beforeSend||m.beforeSend.call(n,w,m)!==!1&&2!==u){v="abort";for(l in{success:1,error:1,complete:1})w[l](m[l]);if(h=z(Kc,m,c,w)){w.readyState=1,k&&o.trigger("ajaxSend",[w,m]),m.async&&m.timeout>0&&(i=setTimeout(function(){w.abort("timeout")},m.timeout));try{u=1,h.send(s,d)}catch(A){if(!(2>u))throw A;d(-1,A)}}else d(-1,"No Transport");return w}return w.abort()},active:0,lastModified:{},etag:{}});var Nc=[],Oc=/\?/,Pc=/(=)\?(?=&|$)|\?\?/,Qc=$.now();$.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Nc.pop()||$.expando+"_"+Qc++;return this[a]=!0,a}}),$.ajaxPrefilter("json jsonp",function(c,d,e){var f,g,h,i=c.data,j=c.url,k=c.jsonp!==!1,l=k&&Pc.test(j),m=k&&!l&&"string"==typeof i&&!(c.contentType||"").indexOf("application/x-www-form-urlencoded")&&Pc.test(i);return"jsonp"===c.dataTypes[0]||l||m?(f=c.jsonpCallback=$.isFunction(c.jsonpCallback)?c.jsonpCallback():c.jsonpCallback,g=a[f],l?c.url=j.replace(Pc,"$1"+f):m?c.data=i.replace(Pc,"$1"+f):k&&(c.url+=(Oc.test(j)?"&":"?")+c.jsonp+"="+f),c.converters["script json"]=function(){return h||$.error(f+" was not called"),h[0]},c.dataTypes[0]="json",a[f]=function(){h=arguments},e.always(function(){a[f]=g,c[f]&&(c.jsonpCallback=d.jsonpCallback,Nc.push(f)),h&&$.isFunction(g)&&g(h[0]),h=g=b}),"script"):void 0}),$.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){return $.globalEval(a),a}}}),$.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),$.ajaxTransport("script",function(a){if(a.crossDomain){var c,d=P.head||P.getElementsByTagName("head")[0]||P.documentElement;return{send:function(e,f){c=P.createElement("script"),c.async="async",a.scriptCharset&&(c.charset=a.scriptCharset),c.src=a.url,c.onload=c.onreadystatechange=function(a,e){(e||!c.readyState||/loaded|complete/.test(c.readyState))&&(c.onload=c.onreadystatechange=null,d&&c.parentNode&&d.removeChild(c),c=b,e||f(200,"success"))},d.insertBefore(c,d.firstChild)},abort:function(){c&&c.onload(0,1)}}}});var Rc,Sc=a.ActiveXObject?function(){for(var a in Rc)Rc[a](0,1)}:!1,Tc=0;$.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&D()||E()}:D,function(a){$.extend($.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}($.ajaxSettings.xhr()),$.support.ajax&&$.ajaxTransport(function(c){if(!c.crossDomain||$.support.cors){var d;return{send:function(e,f){var g,h,i=c.xhr();if(c.username?i.open(c.type,c.url,c.async,c.username,c.password):i.open(c.type,c.url,c.async),c.xhrFields)for(h in c.xhrFields)i[h]=c.xhrFields[h];c.mimeType&&i.overrideMimeType&&i.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(h in e)i.setRequestHeader(h,e[h])}catch(j){}i.send(c.hasContent&&c.data||null),d=function(a,e){var h,j,k,l,m;try{if(d&&(e||4===i.readyState))if(d=b,g&&(i.onreadystatechange=$.noop,Sc&&delete Rc[g]),e)4!==i.readyState&&i.abort();else{h=i.status,k=i.getAllResponseHeaders(),l={},m=i.responseXML,m&&m.documentElement&&(l.xml=m);try{l.text=i.responseText}catch(a){}try{j=i.statusText}catch(n){j=""}h||!c.isLocal||c.crossDomain?1223===h&&(h=204):h=l.text?200:404}}catch(o){e||f(-1,o)}l&&f(h,j,l,k)},c.async?4===i.readyState?setTimeout(d,0):(g=++Tc,Sc&&(Rc||(Rc={},$(a).unload(Sc)),Rc[g]=d),i.onreadystatechange=d):d()},abort:function(){d&&d(0,1)}}}});var Uc,Vc,Wc=/^(?:toggle|show|hide)$/,Xc=new RegExp("^(?:([-+])=|)("+_+")([a-z%]*)$","i"),Yc=/queueHooks$/,Zc=[J],$c={"*":[function(a,b){var c,d,e,f=this.createTween(a,b),g=Xc.exec(b),h=f.cur(),i=+h||0,j=1;if(g){if(c=+g[2],d=g[3]||($.cssNumber[a]?"":"px"),"px"!==d&&i){i=$.css(f.elem,a,!0)||c||1;do e=j=j||".5",i/=j,$.style(f.elem,a,i+d),j=f.cur()/h;while(1!==j&&j!==e)}f.unit=d,f.start=i,f.end=g[1]?i+(g[1]+1)*c:c}return f}]};$.Animation=$.extend(H,{tweener:function(a,b){$.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],$c[c]=$c[c]||[],$c[c].unshift(b)},prefilter:function(a,b){b?Zc.unshift(a):Zc.push(a)}}),$.Tween=K,K.prototype={constructor:K,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||($.cssNumber[c]?"":"px")},cur:function(){var a=K.propHooks[this.prop];return a&&a.get?a.get(this):K.propHooks._default.get(this)},run:function(a){var b,c=K.propHooks[this.prop];return this.pos=b=$.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration),this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):K.propHooks._default.set(this),this}},K.prototype.init.prototype=K.prototype,K.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=$.css(a.elem,a.prop,!1,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){$.fx.step[a.prop]?$.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[$.cssProps[a.prop]]||$.cssHooks[a.prop])?$.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},K.propHooks.scrollTop=K.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},$.each(["toggle","show","hide"],function(a,b){var c=$.fn[b];$.fn[b]=function(d,e,f){return null==d||"boolean"==typeof d||!a&&$.isFunction(d)&&$.isFunction(e)?c.apply(this,arguments):this.animate(L(b,!0),d,e,f)}}),$.fn.extend({fadeTo:function(a,b,c,d){return this.filter(r).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=$.isEmptyObject(a),f=$.speed(b,c,d),g=function(){var b=H(this,$.extend({},a),f);e&&b.stop(!0)};return e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,c,d){var e=function(a){var b=a.stop;delete a.stop,b(d)};return"string"!=typeof a&&(d=c,c=a,a=b),c&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,c=null!=a&&a+"queueHooks",f=$.timers,g=$._data(this);if(c)g[c]&&g[c].stop&&e(g[c]);else for(c in g)g[c]&&g[c].stop&&Yc.test(c)&&e(g[c]);for(c=f.length;c--;)f[c].elem===this&&(null==a||f[c].queue===a)&&(f[c].anim.stop(d),b=!1,f.splice(c,1));(b||!d)&&$.dequeue(this,a)})}}),$.each({slideDown:L("show"),slideUp:L("hide"),slideToggle:L("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){$.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),$.speed=function(a,b,c){var d=a&&"object"==typeof a?$.extend({},a):{complete:c||!c&&b||$.isFunction(a)&&a,duration:a,easing:c&&b||b&&!$.isFunction(b)&&b};return d.duration=$.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in $.fx.speeds?$.fx.speeds[d.duration]:$.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){$.isFunction(d.old)&&d.old.call(this),d.queue&&$.dequeue(this,d.queue)},d},$.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},$.timers=[],$.fx=K.prototype.init,$.fx.tick=function(){for(var a,b=$.timers,c=0;c-1,l={},m={};k?(m=g.position(),e=m.top,f=m.left):(e=parseFloat(i)||0,f=parseFloat(j)||0),$.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(l.top=b.top-h.top+e),null!=b.left&&(l.left=b.left-h.left+f),"using"in b?b.using.call(a,l):g.css(l)}},$.fn.extend({position:function(){if(this[0]){var a=this[0],b=this.offsetParent(),c=this.offset(),d=_c.test(b[0].nodeName)?{top:0,left:0}:b.offset();return c.top-=parseFloat($.css(a,"marginTop"))||0,c.left-=parseFloat($.css(a,"marginLeft"))||0,d.top+=parseFloat($.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat($.css(b[0],"borderLeftWidth"))||0,{top:c.top-d.top,left:c.left-d.left}}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||P.body;a&&!_c.test(a.nodeName)&&"static"===$.css(a,"position");)a=a.offsetParent;return a||P.body})}}),$.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);$.fn[a]=function(e){return $.access(this,function(a,e,f){var g=M(a);return f===b?g?c in g?g[c]:g.document.documentElement[e]:a[e]:void(g?g.scrollTo(d?$(g).scrollLeft():f,d?f:$(g).scrollTop()):a[e]=f)},a,e,arguments.length,null)}}),$.each({Height:"height",Width:"width"},function(a,c){$.each({padding:"inner"+a,content:c,"":"outer"+a},function(d,e){$.fn[e]=function(e,f){var g=arguments.length&&(d||"boolean"!=typeof e),h=d||(e===!0||f===!0?"margin":"border");return $.access(this,function(c,d,e){var f;return $.isWindow(c)?c.document.documentElement["client"+a]:9===c.nodeType?(f=c.documentElement,Math.max(c.body["scroll"+a],f["scroll"+a],c.body["offset"+a],f["offset"+a],f["client"+a])):e===b?$.css(c,d,e,h):$.style(c,d,e,h)},c,g?e:b,g)}})}),a.jQuery=a.$=$,"function"==typeof define&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return $})}(window),function(){var a=this,b=a._,c={},d=Array.prototype,e=Object.prototype,f=Function.prototype,g=d.push,h=d.slice,i=d.concat,j=e.toString,k=e.hasOwnProperty,l=d.forEach,m=d.map,n=d.reduce,o=d.reduceRight,p=d.filter,q=d.every,r=d.some,s=d.indexOf,t=d.lastIndexOf,u=Array.isArray,v=Object.keys,w=f.bind,x=function(a){return a instanceof x?a:this instanceof x?void(this._wrapped=a):new x(a)};"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=x),exports._=x):a._=x,x.VERSION="1.5.1";var y=x.each=x.forEach=function(a,b,d){if(null!=a)if(l&&a.forEach===l)a.forEach(b,d);else if(a.length===+a.length){for(var e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===c)return}else for(var g in a)if(x.has(a,g)&&b.call(d,a[g],g,a)===c)return};x.map=x.collect=function(a,b,c){var d=[];return null==a?d:m&&a.map===m?a.map(b,c):(y(a,function(a,e,f){d.push(b.call(c,a,e,f))}),d)};var z="Reduce of empty array with no initial value";x.reduce=x.foldl=x.inject=function(a,b,c,d){var e=arguments.length>2;if(null==a&&(a=[]),n&&a.reduce===n)return d&&(b=x.bind(b,d)),e?a.reduce(b,c):a.reduce(b);if(y(a,function(a,f,g){e?c=b.call(d,c,a,f,g):(c=a,e=!0)}),!e)throw new TypeError(z);return c},x.reduceRight=x.foldr=function(a,b,c,d){var e=arguments.length>2;if(null==a&&(a=[]),o&&a.reduceRight===o)return d&&(b=x.bind(b,d)),e?a.reduceRight(b,c):a.reduceRight(b);var f=a.length;if(f!==+f){var g=x.keys(a);f=g.length}if(y(a,function(h,i,j){i=g?g[--f]:--f,e?c=b.call(d,c,a[i],i,j):(c=a[i],e=!0)}),!e)throw new TypeError(z);return c},x.find=x.detect=function(a,b,c){var d;return A(a,function(a,e,f){return b.call(c,a,e,f)?(d=a,!0):void 0}),d},x.filter=x.select=function(a,b,c){var d=[];return null==a?d:p&&a.filter===p?a.filter(b,c):(y(a,function(a,e,f){b.call(c,a,e,f)&&d.push(a)}),d)},x.reject=function(a,b,c){return x.filter(a,function(a,d,e){return!b.call(c,a,d,e)},c)},x.every=x.all=function(a,b,d){b||(b=x.identity);var e=!0;return null==a?e:q&&a.every===q?a.every(b,d):(y(a,function(a,f,g){return(e=e&&b.call(d,a,f,g))?void 0:c}),!!e)};var A=x.some=x.any=function(a,b,d){b||(b=x.identity);var e=!1;return null==a?e:r&&a.some===r?a.some(b,d):(y(a,function(a,f,g){return e||(e=b.call(d,a,f,g))?c:void 0}),!!e)};x.contains=x.include=function(a,b){return null==a?!1:s&&a.indexOf===s?-1!=a.indexOf(b):A(a,function(a){return a===b})},x.invoke=function(a,b){var c=h.call(arguments,2),d=x.isFunction(b);return x.map(a,function(a){return(d?b:a[b]).apply(a,c)})},x.pluck=function(a,b){return x.map(a,function(a){return a[b]})},x.where=function(a,b,c){return x.isEmpty(b)?c?void 0:[]:x[c?"find":"filter"](a,function(a){for(var c in b)if(b[c]!==a[c])return!1;return!0})},x.findWhere=function(a,b){return x.where(a,b,!0)},x.max=function(a,b,c){if(!b&&x.isArray(a)&&a[0]===+a[0]&&a.length<65535)return Math.max.apply(Math,a);if(!b&&x.isEmpty(a))return-1/0;var d={computed:-1/0,value:-1/0};return y(a,function(a,e,f){var g=b?b.call(c,a,e,f):a;g>d.computed&&(d={value:a,computed:g})}),d.value},x.min=function(a,b,c){if(!b&&x.isArray(a)&&a[0]===+a[0]&&a.length<65535)return Math.min.apply(Math,a);if(!b&&x.isEmpty(a))return 1/0;var d={computed:1/0,value:1/0};return y(a,function(a,e,f){var g=b?b.call(c,a,e,f):a;gd||void 0===c)return 1;if(d>c||void 0===d)return-1}return a.indexf;){var h=f+g>>>1;c.call(d,a[h])=0})})},x.difference=function(a){var b=i.apply(d,h.call(arguments,1));return x.filter(a,function(a){return!x.contains(b,a)})},x.zip=function(){for(var a=x.max(x.pluck(arguments,"length").concat(0)),b=new Array(a),c=0;a>c;c++)b[c]=x.pluck(arguments,""+c);return b},x.object=function(a,b){if(null==a)return{};for(var c={},d=0,e=a.length;e>d;d++)b?c[a[d]]=b[d]:c[a[d][0]]=a[d][1];return c},x.indexOf=function(a,b,c){if(null==a)return-1;var d=0,e=a.length;if(c){if("number"!=typeof c)return d=x.sortedIndex(a,b),a[d]===b?d:-1;d=0>c?Math.max(0,e+c):c}if(s&&a.indexOf===s)return a.indexOf(b,c);for(;e>d;d++)if(a[d]===b)return d;return-1},x.lastIndexOf=function(a,b,c){if(null==a)return-1;var d=null!=c;if(t&&a.lastIndexOf===t)return d?a.lastIndexOf(b,c):a.lastIndexOf(b);for(var e=d?c:a.length;e--;)if(a[e]===b)return e;return-1},x.range=function(a,b,c){arguments.length<=1&&(b=a||0,a=0),c=arguments[2]||1;for(var d=Math.max(Math.ceil((b-a)/c),0),e=0,f=new Array(d);d>e;)f[e++]=a,a+=c;return f};var E=function(){};x.bind=function(a,b){var c,d;if(w&&a.bind===w)return w.apply(a,h.call(arguments,1));if(!x.isFunction(a))throw new TypeError;return c=h.call(arguments,2),d=function(){if(!(this instanceof d))return a.apply(b,c.concat(h.call(arguments)));E.prototype=a.prototype;var e=new E;E.prototype=null;var f=a.apply(e,c.concat(h.call(arguments)));return Object(f)===f?f:e}},x.partial=function(a){var b=h.call(arguments,1);return function(){return a.apply(this,b.concat(h.call(arguments)))}},x.bindAll=function(a){var b=h.call(arguments,1);if(0===b.length)throw new Error("bindAll must be passed function names");return y(b,function(b){a[b]=x.bind(a[b],a)}),a},x.memoize=function(a,b){var c={};return b||(b=x.identity),function(){var d=b.apply(this,arguments);return x.has(c,d)?c[d]:c[d]=a.apply(this,arguments)}},x.delay=function(a,b){var c=h.call(arguments,2);return setTimeout(function(){return a.apply(null,c)},b)},x.defer=function(a){return x.delay.apply(x,[a,1].concat(h.call(arguments,1)))},x.throttle=function(a,b,c){var d,e,f,g=null,h=0;c||(c={});var i=function(){h=c.leading===!1?0:new Date,g=null,f=a.apply(d,e)};return function(){var j=new Date;h||c.leading!==!1||(h=j);var k=b-(j-h);return d=this,e=arguments,0>=k?(clearTimeout(g),g=null,h=j,f=a.apply(d,e)):g||c.trailing===!1||(g=setTimeout(i,k)),f}},x.debounce=function(a,b,c){var d,e=null;return function(){var f=this,g=arguments,h=function(){e=null,c||(d=a.apply(f,g))},i=c&&!e;return clearTimeout(e),e=setTimeout(h,b),i&&(d=a.apply(f,g)),d}},x.once=function(a){var b,c=!1;return function(){return c?b:(c=!0,b=a.apply(this,arguments),a=null,b)}},x.wrap=function(a,b){return function(){var c=[a];return g.apply(c,arguments),b.apply(this,c)}},x.compose=function(){var a=arguments;return function(){for(var b=arguments,c=a.length-1;c>=0;c--)b=[a[c].apply(this,b)];return b[0]}},x.after=function(a,b){return function(){return--a<1?b.apply(this,arguments):void 0}},x.keys=v||function(a){if(a!==Object(a))throw new TypeError("Invalid object");var b=[];for(var c in a)x.has(a,c)&&b.push(c);return b},x.values=function(a){var b=[];for(var c in a)x.has(a,c)&&b.push(a[c]);return b},x.pairs=function(a){var b=[];for(var c in a)x.has(a,c)&&b.push([c,a[c]]);return b},x.invert=function(a){var b={};for(var c in a)x.has(a,c)&&(b[a[c]]=c);return b},x.functions=x.methods=function(a){var b=[];for(var c in a)x.isFunction(a[c])&&b.push(c);return b.sort()},x.extend=function(a){return y(h.call(arguments,1),function(b){if(b)for(var c in b)a[c]=b[c]}),a},x.pick=function(a){var b={},c=i.apply(d,h.call(arguments,1));return y(c,function(c){c in a&&(b[c]=a[c])}),b},x.omit=function(a){var b={},c=i.apply(d,h.call(arguments,1));for(var e in a)x.contains(c,e)||(b[e]=a[e]);return b},x.defaults=function(a){return y(h.call(arguments,1),function(b){if(b)for(var c in b)void 0===a[c]&&(a[c]=b[c])}),a},x.clone=function(a){return x.isObject(a)?x.isArray(a)?a.slice():x.extend({},a):a},x.tap=function(a,b){return b(a),a};var F=function(a,b,c,d){if(a===b)return 0!==a||1/a==1/b;if(null==a||null==b)return a===b;a instanceof x&&(a=a._wrapped),b instanceof x&&(b=b._wrapped);var e=j.call(a);if(e!=j.call(b))return!1;switch(e){case"[object String]":return a==String(b);case"[object Number]":return a!=+a?b!=+b:0==a?1/a==1/b:a==+b;case"[object Date]":case"[object Boolean]":return+a==+b;case"[object RegExp]":return a.source==b.source&&a.global==b.global&&a.multiline==b.multiline&&a.ignoreCase==b.ignoreCase}if("object"!=typeof a||"object"!=typeof b)return!1;for(var f=c.length;f--;)if(c[f]==a)return d[f]==b;var g=a.constructor,h=b.constructor;if(g!==h&&!(x.isFunction(g)&&g instanceof g&&x.isFunction(h)&&h instanceof h))return!1;c.push(a),d.push(b);var i=0,k=!0;if("[object Array]"==e){if(i=a.length,k=i==b.length)for(;i--&&(k=F(a[i],b[i],c,d)););}else{for(var l in a)if(x.has(a,l)&&(i++,!(k=x.has(b,l)&&F(a[l],b[l],c,d))))break;if(k){for(l in b)if(x.has(b,l)&&!i--)break;k=!i}}return c.pop(),d.pop(),k};x.isEqual=function(a,b){return F(a,b,[],[])},x.isEmpty=function(a){if(null==a)return!0;if(x.isArray(a)||x.isString(a))return 0===a.length;for(var b in a)if(x.has(a,b))return!1;return!0},x.isElement=function(a){return!(!a||1!==a.nodeType)},x.isArray=u||function(a){return"[object Array]"==j.call(a)},x.isObject=function(a){return a===Object(a)},y(["Arguments","Function","String","Number","Date","RegExp"],function(a){x["is"+a]=function(b){return j.call(b)=="[object "+a+"]"}}),x.isArguments(arguments)||(x.isArguments=function(a){return!(!a||!x.has(a,"callee"))}),"function"!=typeof/./&&(x.isFunction=function(a){return"function"==typeof a}),x.isFinite=function(a){return isFinite(a)&&!isNaN(parseFloat(a))},x.isNaN=function(a){return x.isNumber(a)&&a!=+a},x.isBoolean=function(a){return a===!0||a===!1||"[object Boolean]"==j.call(a)},x.isNull=function(a){return null===a},x.isUndefined=function(a){return void 0===a},x.has=function(a,b){return k.call(a,b)},x.noConflict=function(){return a._=b,this},x.identity=function(a){return a},x.times=function(a,b,c){for(var d=Array(Math.max(0,a)),e=0;a>e;e++)d[e]=b.call(c,e);return d},x.random=function(a,b){return null==b&&(b=a,a=0),a+Math.floor(Math.random()*(b-a+1))};var G={escape:{"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"}};G.unescape=x.invert(G.escape);var H={escape:new RegExp("["+x.keys(G.escape).join("")+"]","g"),unescape:new RegExp("("+x.keys(G.unescape).join("|")+")","g")};x.each(["escape","unescape"],function(a){x[a]=function(b){return null==b?"":(""+b).replace(H[a],function(b){return G[a][b]})}}),x.result=function(a,b){if(null==a)return void 0;var c=a[b];return x.isFunction(c)?c.call(a):c},x.mixin=function(a){y(x.functions(a),function(b){var c=x[b]=a[b];x.prototype[b]=function(){var a=[this._wrapped];return g.apply(a,arguments),M.call(this,c.apply(x,a))}})};var I=0;x.uniqueId=function(a){var b=++I+"";return a?a+b:b},x.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var J=/(.)^/,K={"'":"'","\\":"\\","\r":"r","\n":"n"," ":"t","\u2028":"u2028","\u2029":"u2029"},L=/\\|'|\r|\n|\t|\u2028|\u2029/g;x.template=function(a,b,c){var d;c=x.defaults({},c,x.templateSettings);var e=new RegExp([(c.escape||J).source,(c.interpolate||J).source,(c.evaluate||J).source].join("|")+"|$","g"),f=0,g="__p+='";a.replace(e,function(b,c,d,e,h){return g+=a.slice(f,h).replace(L,function(a){return"\\"+K[a]}),c&&(g+="'+\n((__t=("+c+"))==null?'':_.escape(__t))+\n'"),d&&(g+="'+\n((__t=("+d+"))==null?'':__t)+\n'"),e&&(g+="';\n"+e+"\n__p+='"),f=h+b.length,b}),g+="';\n",c.variable||(g="with(obj||{}){\n"+g+"}\n"),g="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+g+"return __p;\n";try{d=new Function(c.variable||"obj","_",g)}catch(h){throw h.source=g,h}if(b)return d(b,x);var i=function(a){return d.call(this,a,x)};return i.source="function("+(c.variable||"obj")+"){\n"+g+"}",i},x.chain=function(a){return x(a).chain()};var M=function(a){return this._chain?x(a).chain():a};x.mixin(x),y(["pop","push","reverse","shift","sort","splice","unshift"],function(a){var b=d[a];x.prototype[a]=function(){var c=this._wrapped;return b.apply(c,arguments),"shift"!=a&&"splice"!=a||0!==c.length||delete c[0],M.call(this,c)}}),y(["concat","join","slice"],function(a){var b=d[a];x.prototype[a]=function(){return M.call(this,b.apply(this._wrapped,arguments))}}),x.extend(x.prototype,{chain:function(){return this._chain=!0,this},value:function(){return this._wrapped}})}.call(this),define("underscore-src",function(){}),define("underscore",["underscore-src"],function(){var a=window._;return a.mixin({move:function(a,b,c){return a.splice(c,0,a.splice(b,1)[0]),a},remove:function(a,b){return a.splice(b,1),a},toggle:function(a,b,c){return a===b?c:b},toggleInOut:function(b,c){return a.contains(b,c)?b=a.without(b,c):b.push(c),b}}),a}),("undefined"==typeof Crypto||!Crypto.util)&&function(){var a=window.Crypto={},b=a.util={rotl:function(a,b){return a<>>32-b},rotr:function(a,b){return a<<32-b|a>>>b},endian:function(a){if(a.constructor==Number)return 16711935&b.rotl(a,8)|4278255360&b.rotl(a,24);for(var c=0;c0;a--)b.push(Math.floor(256*Math.random()));return b},bytesToWords:function(a){for(var b=[],c=0,d=0;c>>5]|=(255&a[c])<<24-d%32;return b},wordsToBytes:function(a){for(var b=[],c=0;c<32*a.length;c+=8)b.push(a[c>>>5]>>>24-c%32&255);return b},bytesToHex:function(a){for(var b=[],c=0;c>>4).toString(16)),b.push((15&a[c]).toString(16));return b.join("")},hexToBytes:function(a){for(var b=[],c=0;cf;f++)b.push(8*d+6*f<=8*a.length?"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>>6*(3-f)&63):"=");return b.join("")},base64ToBytes:function(a){if("function"==typeof atob)return c.stringToBytes(atob(a));for(var a=a.replace(/[^A-Z0-9+\/]/gi,""),b=[],d=0,e=0;d>>6-2*e);return b}},a=a.charenc={};a.UTF8={stringToBytes:function(a){return c.stringToBytes(unescape(encodeURIComponent(a)))},bytesToString:function(a){return decodeURIComponent(escape(c.bytesToString(a)))}};var c=a.Binary={stringToBytes:function(a){for(var b=[],c=0;c0){var d=a.url.indexOf("//")+2,e=a.url.substring(d,c),f=b.charenc.Binary.stringToBytes(e);a.basicAuth=b.util.bytesToBase64(f);var g=a.url.substring(0,d); -a.url=g+a.url.substring(c+1)}return a},g=function(b){return b.urls=a.map(b.url.split(","),function(a){return a.trim()}),b};c.graphiteUrl&&(e.datasources={graphite:{type:"graphite",url:c.graphiteUrl,"default":!0}}),a.each(e.datasources,function(a,b){a.name=b,f(a),"influxdb"===a.type&&g(a)});var h=f({url:e.elasticsearch});return e.elasticsearchBasicAuth=h.basicAuth,e.elasticsearch=h.url,e.plugins.panels&&(e.panels=a.union(e.panels,e.plugins.panels)),e}}),function(a,b,c){function d(){var b=a.angular;return a.angular=dd,b}function e(a){return a&&"number"==typeof a.length?"function"!=typeof a.hasOwnProperty&&"function"!=typeof a.constructor?!0:a instanceof gb||Yc&&a instanceof Yc||"[object Object]"!==cd.call(a)||"function"==typeof a.callee:!1}function f(a,b,c){var d;if(a)if(y(a))for(d in a)"prototype"!=d&&"length"!=d&&"name"!=d&&a.hasOwnProperty(d)&&b.call(c,a[d],d);else if(a.forEach&&a.forEach!==f)a.forEach(b,c);else if(e(a))for(d=0;d=0&&a.splice(c,1),b}function I(a,b){if(z(a)||A(a))throw Error("Can't copy Window or Scope");if(b){if(a===b)throw Error("Can't copy equivalent objects or arrays");if(x(a)){b.length=0;for(var c=0;ce;e++)if(!K(a[e],b[e]))return!1;return!0}}return!1}function L(a,b,c){return a.concat(ad.call(b,c))}function M(a,b){return ad.call(a,b||0)}function N(a,b){var c=arguments.length>2?M(arguments,2):[];return!y(b)||b instanceof RegExp?b:c.length?function(){return arguments.length?b.apply(a,c.concat(ad.call(arguments,0))):b.apply(a,c)}:function(){return arguments.length?b.apply(a,arguments):b.call(a)}}function O(a,d){var e=d;return/^\$+/.test(a)?e=c:z(d)?e="$WINDOW":d&&b===d?e="$DOCUMENT":A(d)&&(e="$SCOPE"),e}function P(a,b){return JSON.stringify(a,O,b?" ":null)}function Q(a){return u(a)?JSON.parse(a):a}function R(a){if(a&&0!==a.length){var b=Tc(""+a);a=!("f"==b||"0"==b||"false"==b||"no"==b||"n"==b||"[]"==b)}else a=!1;return a}function S(a){a=Xc(a).clone();try{a.html("")}catch(b){}var c=3,d=Xc("
    ").append(a).html();try{return a[0].nodeType===c?Tc(d):d.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,function(a,b){return"<"+Tc(b)})}catch(b){return Tc(d)}}function T(a){var b,c,d={};return f((a||"").split("&"),function(a){a&&(b=a.split("="),c=decodeURIComponent(b[0]),d[c]=s(b[1])?decodeURIComponent(b[1]):!0)}),d}function U(a){var b=[];return f(a,function(a,c){b.push(W(c,!0)+(a===!0?"":"="+W(a,!0)))}),b.length?b.join("&"):""}function V(a){return W(a,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function W(a,b){return encodeURIComponent(a).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,b?"%20":"+")}function X(a,c){function d(a){a&&h.push(a)}var e,g,h=[a],i=["ng:app","ng-app","x-ng-app","data-ng-app"],j=/\sng[:\-]app(:\s*([\w\d_]+);?)?\s/;f(i,function(c){i[c]=!0,d(b.getElementById(c)),c=c.replace(":","\\:"),a.querySelectorAll&&(f(a.querySelectorAll("."+c),d),f(a.querySelectorAll("."+c+"\\:"),d),f(a.querySelectorAll("["+c+"]"),d))}),f(h,function(a){if(!e){var b=" "+a.className+" ",c=j.exec(b);c?(e=a,g=(c[2]||"").replace(/\s+/g,",")):f(a.attributes,function(b){!e&&i[b.name]&&(e=a,g=b.value)})}}),e&&c(e,g?[g]:[])}function Y(b,c){var d=function(){b=Xc(b),c=c||[],c.unshift(["$provide",function(a){a.value("$rootElement",b)}]),c.unshift("ng");var a=yb(c);return a.invoke(["$rootScope","$rootElement","$compile","$injector","$animator",function(a,b,c,d,e){a.$apply(function(){b.data("$injector",d),c(b)(a)}),e.enabled(!0)}]),a},e=/^NG_DEFER_BOOTSTRAP!/;return a&&!e.test(a.name)?d():(a.name=a.name.replace(e,""),void(ed.resumeBootstrap=function(a){f(a,function(a){c.push(a)}),d()}))}function Z(a,b){return b=b||"_",a.replace(gd,function(a,c){return(c?b:"")+a.toLowerCase()})}function $(){Yc=a.jQuery,Yc?(Xc=Yc,l(Yc.fn,{scope:pd.scope,controller:pd.controller,injector:pd.injector,inheritedData:pd.inheritedData}),fb("remove",!0),fb("empty"),fb("html")):Xc=gb,ed.element=Xc}function _(a,b,c){if(!a)throw new Error("Argument '"+(b||"?")+"' is "+(c||"required"));return a}function ab(a,b,c){return c&&x(a)&&(a=a[a.length-1]),_(y(a),b,"not a function, got "+(a&&"object"==typeof a?a.constructor.name||"Object":typeof a)),a}function bb(a){function b(a,b,c){return a[b]||(a[b]=c())}return b(b(a,"angular",Object),"module",function(){var a={};return function(c,d,e){return d&&a.hasOwnProperty(c)&&(a[c]=null),b(a,c,function(){function a(a,c,d){return function(){return b[d||"push"]([a,c,arguments]),h}}if(!d)throw Error("No module: "+c);var b=[],f=[],g=a("$injector","invoke"),h={_invokeQueue:b,_runBlocks:f,requires:d,name:c,provider:a("$provide","provider"),factory:a("$provide","factory"),service:a("$provide","service"),value:a("$provide","value"),constant:a("$provide","constant","unshift"),animation:a("$animationProvider","register"),filter:a("$filterProvider","register"),controller:a("$controllerProvider","register"),directive:a("$compileProvider","directive"),config:g,run:function(a){return f.push(a),this}};return e&&g(e),h})}})}function cb(b){l(b,{bootstrap:Y,copy:I,extend:l,equals:K,element:Xc,forEach:f,injector:yb,noop:o,bind:N,toJson:P,fromJson:Q,identity:p,isUndefined:r,isDefined:s,isString:u,isFunction:y,isObject:t,isNumber:v,isElement:D,isArray:x,version:hd,isDate:w,lowercase:Tc,uppercase:Uc,callbacks:{counter:0},noConflict:d}),Zc=bb(a);try{Zc("ngLocale")}catch(c){Zc("ngLocale",[]).provider("$locale",tc)}Zc("ng",["ngLocale"],["$provide",function(a){a.provider("$compile",Fb).directive({a:Nd,input:Xd,textarea:Xd,form:Rd,script:Ge,select:Ie,style:Ke,option:Je,ngBind:he,ngBindHtmlUnsafe:je,ngBindTemplate:ie,ngClass:ke,ngClassEven:me,ngClassOdd:le,ngCsp:pe,ngCloak:ne,ngController:oe,ngForm:Sd,ngHide:ze,ngIf:se,ngInclude:te,ngInit:ue,ngNonBindable:ve,ngPluralize:we,ngRepeat:xe,ngShow:ye,ngSubmit:re,ngStyle:Ae,ngSwitch:Be,ngSwitchWhen:Ce,ngSwitchDefault:De,ngOptions:He,ngView:Fe,ngTransclude:Ee,ngModel:be,ngList:ee,ngChange:ce,required:de,ngRequired:de,ngValue:ge}).directive(Od).directive(qe),a.provider({$anchorScroll:zb,$animation:Ab,$animator:wd,$browser:Cb,$cacheFactory:Db,$controller:Hb,$document:Ib,$exceptionHandler:Jb,$filter:vc,$interpolate:Kb,$http:qc,$httpBackend:rc,$location:Xb,$log:Yb,$parse:dc,$route:gc,$routeParams:hc,$rootScope:ic,$q:ec,$sniffer:jc,$templateCache:Eb,$timeout:uc,$window:kc})}])}function db(){return++kd}function eb(a){return a.replace(nd,function(a,b,c,d){return d?c.toUpperCase():c}).replace(od,"Moz$1")}function fb(a,b){function c(){for(var a,c,e,f,g,h,i,j=[this],k=b;j.length;)for(a=j.shift(),c=0,e=a.length;e>c;c++)for(f=Xc(a[c]),k?f.triggerHandler("$destroy"):k=!k,g=0,h=(i=f.children()).length;h>g;g++)j.push(Yc(i[g]));return d.apply(this,arguments)}var d=Yc.fn[a];d=d.$original||d,c.$original=d,Yc.fn[a]=c}function gb(a){if(a instanceof gb)return a;if(!(this instanceof gb)){if(u(a)&&"<"!=a.charAt(0))throw Error("selectors not implemented");return new gb(a)}if(u(a)){var c=b.createElement("div");c.innerHTML="
     
    "+a,c.removeChild(c.firstChild),qb(this,c.childNodes),this.remove()}else qb(this,a)}function hb(a){return a.cloneNode(!0)}function ib(a){kb(a);for(var b=0,c=a.childNodes||[];b-1}function ob(a,b){b&&f(b.split(" "),function(b){a.className=C((" "+a.className+" ").replace(/[\n\t]/g," ").replace(" "+C(b)+" "," "))})}function pb(a,b){b&&f(b.split(" "),function(b){nb(a,b)||(a.className=C(a.className+" "+C(b)))})}function qb(a,b){if(b){b=b.nodeName||!s(b.length)||z(b)?[b]:b;for(var c=0;c=_c?(d.preventDefault=null,d.stopPropagation=null,d.isDefaultPrevented=null):(delete d.preventDefault,delete d.stopPropagation,delete d.isDefaultPrevented)};return d.elem=a,d}function vb(a){var b,d=typeof a;return"object"==d&&null!==a?"function"==typeof(b=a.$$hashKey)?b=a.$$hashKey():b===c&&(b=a.$$hashKey=j()):b=a,d+":"+b}function wb(a){f(a,this.put,this)}function xb(a){var b,c,d,e;return"function"==typeof a?(b=a.$inject)||(b=[],c=a.toString().replace(vd,""),d=c.match(sd),f(d[1].split(td),function(a){a.replace(ud,function(a,c,d){b.push(d)})}),a.$inject=b):x(a)?(e=a.length-1,ab(a[e],"fn"),b=a.slice(0,e)):ab(a,"fn",!0),b}function yb(a){function b(a){return function(b,c){return t(b)?void f(b,i(a)):a(b,c)}}function c(a,b){if((y(b)||x(b))&&(b=v.instantiate(b)),!b.$get)throw Error("Provider "+a+" must define $get factory method.");return s[a+n]=b}function d(a,b){return c(a,{$get:b})}function e(a,b){return d(a,["$injector",function(a){return a.instantiate(b)}])}function g(a,b){return d(a,q(b))}function h(a,b){s[a]=b,w[a]=b}function j(a,b){var c=v.get(a+n),d=c.$get;c.$get=function(){var a=z.invoke(d,c);return z.invoke(b,null,{$delegate:a})}}function k(a){var b=[];return f(a,function(a){if(!r.get(a))if(r.put(a,!0),u(a)){var c=Zc(a);b=b.concat(k(c.requires)).concat(c._runBlocks);try{for(var d=c._invokeQueue,e=0,f=d.length;f>e;e++){var g=d[e],h=v.get(g[0]);h[g[1]].apply(h,g[2])}}catch(i){throw i.message&&(i.message+=" from "+a),i}}else if(y(a))try{b.push(v.invoke(a))}catch(i){throw i.message&&(i.message+=" from "+a),i}else if(x(a))try{b.push(v.invoke(a))}catch(i){throw i.message&&(i.message+=" from "+String(a[a.length-1])),i}else ab(a,"module")}),b}function l(a,b){function c(c){if("string"!=typeof c)throw Error("Service name expected");if(a.hasOwnProperty(c)){if(a[c]===m)throw Error("Circular dependency: "+p.join(" <- "));return a[c]}try{return p.unshift(c),a[c]=m,a[c]=b(c)}finally{p.shift()}}function d(a,b,d){var e,f,g,h=[],i=xb(a);for(f=0,e=i.length;e>f;f++)g=i[f],h.push(d&&d.hasOwnProperty(g)?d[g]:c(g));switch(a.$inject||(a=a[e]),b?-1:h.length){case 0:return a();case 1:return a(h[0]);case 2:return a(h[0],h[1]);case 3:return a(h[0],h[1],h[2]);case 4:return a(h[0],h[1],h[2],h[3]);case 5:return a(h[0],h[1],h[2],h[3],h[4]);case 6:return a(h[0],h[1],h[2],h[3],h[4],h[5]);case 7:return a(h[0],h[1],h[2],h[3],h[4],h[5],h[6]);case 8:return a(h[0],h[1],h[2],h[3],h[4],h[5],h[6],h[7]);case 9:return a(h[0],h[1],h[2],h[3],h[4],h[5],h[6],h[7],h[8]);case 10:return a(h[0],h[1],h[2],h[3],h[4],h[5],h[6],h[7],h[8],h[9]);default:return a.apply(b,h)}}function e(a,b){var c,e,f=function(){};return f.prototype=(x(a)?a[a.length-1]:a).prototype,c=new f,e=d(a,c,b),t(e)?e:c}return{invoke:d,instantiate:e,get:c,annotate:xb,has:function(b){return s.hasOwnProperty(b+n)||a.hasOwnProperty(b)}}}var m={},n="Provider",p=[],r=new wb,s={$provide:{provider:b(c),factory:b(d),service:b(e),value:b(g),constant:b(h),decorator:j}},v=s.$injector=l(s,function(){throw Error("Unknown provider: "+p.join(" <- "))}),w={},z=w.$injector=l(w,function(a){var b=v.get(a+n);return z.invoke(b.$get,b)});return f(k(a),function(a){z.invoke(a||o)}),z}function zb(){var a=!0;this.disableAutoScrolling=function(){a=!1},this.$get=["$window","$location","$rootScope",function(b,c,d){function e(a){var b=null;return f(a,function(a){b||"a"!==Tc(a.nodeName)||(b=a)}),b}function g(){var a,d=c.hash();d?(a=h.getElementById(d))?a.scrollIntoView():(a=e(h.getElementsByName(d)))?a.scrollIntoView():"top"===d&&b.scrollTo(0,0):b.scrollTo(0,0)}var h=b.document;return a&&d.$watch(function(){return c.hash()},function(){d.$evalAsync(g)}),g}]}function Ab(a){var b="Animation";this.register=function(c,d){a.factory(eb(c)+b,d)},this.$get=["$injector",function(a){return function(c){if(c){var d=eb(c)+b;if(a.has(d))return a.get(d)}}}]}function Bb(a,b,d,e){function g(a){try{a.apply(null,M(arguments,1))}finally{if(s--,0===s)for(;t.length;)try{t.pop()()}catch(b){d.error(b)}}}function h(a,b){!function c(){f(w,function(a){a()}),v=b(c,a)}()}function i(){x!=j.url()&&(x=j.url(),f(z,function(a){a(j.url())}))}var j=this,k=b[0],l=a.location,m=a.history,n=a.setTimeout,p=a.clearTimeout,q={};j.isMock=!1;var s=0,t=[];j.$$completeOutstandingRequest=g,j.$$incOutstandingRequestCount=function(){s++},j.notifyWhenNoOutstandingRequests=function(a){f(w,function(a){a()}),0===s?a():t.push(a)};var v,w=[];j.addPollFn=function(a){return r(v)&&h(100,n),w.push(a),a};var x=l.href,y=b.find("base");j.url=function(a,b){if(a){if(x==a)return;return x=a,e.history?b?m.replaceState(null,"",a):(m.pushState(null,"",a),y.attr("href",y.attr("href"))):b?l.replace(a):l.href=a,j}return l.href.replace(/%27/g,"'")};var z=[],A=!1;j.onUrlChange=function(b){return A||(e.history&&Xc(a).bind("popstate",i),e.hashchange?Xc(a).bind("hashchange",i):j.addPollFn(i),A=!0),z.push(b),b},j.baseHref=function(){var a=y.attr("href");return a?a.replace(/^https?\:\/\/[^\/]*/,""):""};var B={},C="",D=j.baseHref();j.cookies=function(a,b){var e,f,g,h,i;if(!a){if(k.cookie!==C)for(C=k.cookie,f=C.split("; "),B={},h=0;h0){var a=unescape(g.substring(0,i));B[a]===c&&(B[a]=unescape(g.substring(i+1)))}return B}b===c?k.cookie=escape(a)+"=;path="+D+";expires=Thu, 01 Jan 1970 00:00:00 GMT":u(b)&&(e=(k.cookie=escape(a)+"="+escape(b)+";path="+D).length+1,e>4096&&d.warn("Cookie '"+a+"' possibly not set or overflowed because it was too large ("+e+" > 4096 bytes)!"))},j.defer=function(a,b){var c;return s++,c=n(function(){delete q[c],g(a)},b||0),q[c]=!0,c},j.defer.cancel=function(a){return q[a]?(delete q[a],p(a),g(o),!0):!1}}function Cb(){this.$get=["$window","$log","$sniffer","$document",function(a,b,c,d){return new Bb(a,d,b,c)}]}function Db(){this.$get=function(){function a(a,c){function d(a){a!=k&&(m?m==a&&(m=a.n):m=a,e(a.n,a.p),e(a,k),k=a,k.n=null)}function e(a,b){a!=b&&(a&&(a.p=b),b&&(b.n=a))}if(a in b)throw Error("cacheId "+a+" taken");var f=0,g=l({},c,{id:a}),h={},i=c&&c.capacity||Number.MAX_VALUE,j={},k=null,m=null;return b[a]={put:function(a,b){var c=j[a]||(j[a]={key:a});return d(c),r(b)?void 0:(a in h||f++,h[a]=b,f>i&&this.remove(m.key),b)},get:function(a){var b=j[a];if(b)return d(b),h[a]},remove:function(a){var b=j[a];b&&(b==k&&(k=b.p),b==m&&(m=b.n),e(b.n,b.p),delete j[a],delete h[a],f--)},removeAll:function(){h={},f=0,j={},k=m=null},destroy:function(){h=null,g=null,j=null,delete b[a]},info:function(){return l({},g,{size:f})}}}var b={};return a.info=function(){var a={};return f(b,function(b,c){a[c]=b.info()}),a},a.get=function(a){return b[a]},a}}function Eb(){this.$get=["$cacheFactory",function(a){return a("templates")}]}function Fb(a){var d={},e="Directive",g=/^\s*directive\:\s*([\d\w\-_]+)\s+(.*)$/,h=/(([\d\w\-_]+)(?:\:([^;]+))?;?)/,j="Template must have exactly one root element. was: ",k=/^\s*(https?|ftp|mailto|file):/;this.directive=function m(b,c){return u(b)?(_(c,"directive"),d.hasOwnProperty(b)||(d[b]=[],a.factory(b+e,["$injector","$exceptionHandler",function(a,c){var e=[];return f(d[b],function(d){try{var f=a.invoke(d);y(f)?f={compile:q(f)}:!f.compile&&f.link&&(f.compile=q(f.link)),f.priority=f.priority||0,f.name=f.name||b,f.require=f.require||f.controller&&f.name,f.restrict=f.restrict||"A",e.push(f)}catch(g){c(g)}}),e}])),d[b].push(c)):f(b,i(m)),this},this.urlSanitizationWhitelist=function(a){return s(a)?(k=a,this):k},this.$get=["$injector","$interpolate","$exceptionHandler","$http","$templateCache","$parse","$controller","$rootScope","$document",function(a,i,m,n,o,r,s,v,w){function z(a,b,c){a instanceof Xc||(a=Xc(a)),f(a,function(b,c){3==b.nodeType&&b.nodeValue.match(/\S+/)&&(a[c]=Xc(b).wrap("").parent()[0])});var d=B(a,b,a,c);return function(b,c){_(b,"scope");for(var e=c?pd.clone.call(a):a,f=0,g=e.length;g>f;f++){var h=e[f];(1==h.nodeType||9==h.nodeType)&&e.eq(f).data("$scope",b)}return A(e,"ng-scope"),c&&c(e,b),d&&d(b,e,e),e}}function A(a,b){try{a.addClass(b)}catch(c){}}function B(a,b,d,e){function f(a,d,e,f){var g,h,i,j,k,m,n,o,p=[];for(m=0,n=d.length;n>m;m++)p.push(d[m]);for(m=0,o=0,n=l.length;n>m;o++)i=p[o],g=l[m++],h=l[m++],g?(g.scope?(j=a.$new(t(g.scope)),Xc(i).data("$scope",j)):j=a,k=g.transclude,k||!f&&b?g(h,j,i,e,function(b){return function(c){var d=a.$new();return d.$$transcluded=!0,b(d,c).bind("$destroy",N(d,d.$destroy))}}(k||b)):g(h,j,i,c,f)):h&&h(a,i.childNodes,c,f)}for(var g,h,i,j,k,l=[],m=0;mq;q++)k=p[q],k.specified&&(l=k.name,n=Gb(l),V.test(n)&&(l=n.substr(6).toLowerCase()),m=Gb(l.toLowerCase()),j[m]=l,c[m]=o=C(_c&&"href"==l?decodeURIComponent(a.getAttribute(l,2)):k.value),tb(a,m)&&(c[m]=!0),M(a,b,o,m),F(b,m,"A",d));if(f=a.className,u(f)&&""!==f)for(;e=h.exec(f);)m=Gb(e[2]),F(b,m,"C",d)&&(c[m]=C(e[3])),f=f.substr(e.index+e[0].length);break;case 3:L(b,a.nodeValue);break;case 8:try{e=g.exec(a.nodeValue),e&&(m=Gb(e[1]),F(b,m,"M",d)&&(c[m]=C(e[2])))}catch(s){}}return b.sort(I),b}function E(a,d,e,g,h){function k(a,b){a&&(a.require=o.require,I.push(a)),b&&(b.require=o.require,L.push(b))}function l(a,b){var c,d="data",e=!1;if(u(a)){for(;"^"==(c=a.charAt(0))||"?"==c;)a=a.substr(1),"^"==c&&(d="inheritedData"),e=e||"?"==c;if(c=b[d]("$"+a+"Controller"),!c&&!e)throw Error("No controller: "+a);return c}return x(a)&&(c=[],f(a,function(a){c.push(l(a,b))})),c}function n(a,b,g,h,j){var k,n,o,p,q,t;if(k=d===g?e:J(e,new P(Xc(g),e.$attr)),n=k.$$element,N){var u=/^\s*([@=&])(\??)\s*(\w*)\s*$/,v=b.$parent||b;f(N.scope,function(a,c){var d,e,f,g=a.match(u)||[],h=g[3]||c,j="?"==g[2],l=g[1];switch(b.$$isolateBindings[c]=l+h,l){case"@":k.$observe(h,function(a){b[c]=a}),k.$$observers[h].$$scope=v,k[h]&&(b[c]=i(k[h])(v));break;case"=":if(j&&!k[h])return;e=r(k[h]),f=e.assign||function(){throw d=b[c]=e(v),Error(xd+k[h]+" (directive: "+N.name+")")},d=b[c]=e(v),b.$watch(function(){var a=e(v);return a!==b[c]&&(a!==d?d=b[c]=a:f(v,a=d=b[c])),a});break;case"&":e=r(k[h]),b[c]=function(a){return e(v,a)};break;default:throw Error("Invalid isolate scope definition for directive "+N.name+": "+a)}})}for(w&&f(w,function(a){var c={$scope:b,$element:n,$attrs:k,$transclude:j};t=a.controller,"@"==t&&(t=k[a.name]),n.data("$"+a.name+"Controller",s(t,c))}),o=0,p=I.length;p>o;o++)try{q=I[o],q(b,n,k,q.require&&l(q.require,n))}catch(x){m(x,S(n))}for(a&&a(b,g.childNodes,c,j),o=0,p=L.length;p>o;o++)try{q=L[o],q(b,n,k,q.require&&l(q.require,n))}catch(x){m(x,S(n))}}for(var o,p,q,v,w,B,E,F=-Number.MAX_VALUE,I=[],L=[],M=null,N=null,Q=null,R=e.$$element=Xc(d),T=g,V=0,W=a.length;W>V&&(o=a[V],q=c,!(F>o.priority));V++){if((E=o.scope)&&(K("isolated scope",N,o,R),t(E)&&(A(R,"ng-isolate-scope"),N=o),A(R,"ng-scope"),M=M||o),p=o.name,(E=o.controller)&&(w=w||{},K("'"+p+"' controller",w[p],o,R),w[p]=o),(E=o.transclude)&&(K("transclusion",v,o,R),v=o,F=o.priority,"element"==E?(q=Xc(d),R=e.$$element=Xc(b.createComment(" "+p+": "+e[p]+" ")),d=R[0],O(h,Xc(q[0]),d),T=z(q,g,F)):(q=Xc(hb(d)).contents(),R.html(""),T=z(q,g))),o.template)if(K("template",Q,o,R),Q=o,E=y(o.template)?o.template(R,e):o.template,E=U(E),o.replace){if(q=Xc("
    "+C(E)+"
    ").contents(),d=q[0],1!=q.length||1!==d.nodeType)throw new Error(j+E);O(h,R,d);var X={$attr:{}};a=a.concat(D(d,a.splice(V+1,a.length-(V+1)),X)),G(e,X),W=a.length}else R.html(E);if(o.templateUrl)K("template",Q,o,R),Q=o,n=H(a.splice(V,a.length-V),n,R,e,h,o.replace,T),W=a.length;else if(o.compile)try{B=o.compile(R,e,T),y(B)?k(null,B):B&&k(B.pre,B.post)}catch(Y){m(Y,S(R))}o.terminal&&(n.terminal=!0,F=Math.max(F,o.priority))}return n.scope=M&&M.scope,n.transclude=v&&T,n}function F(b,f,g,h){var i=!1;if(d.hasOwnProperty(f))for(var j,k=a.get(f+e),l=0,n=k.length;n>l;l++)try{j=k[l],(h===c||h>j.priority)&&-1!=j.restrict.indexOf(g)&&(b.push(j),i=!0)}catch(o){m(o)}return i}function G(a,b){var c=b.$attr,d=a.$attr,e=a.$$element;f(a,function(d,e){"$"!=e.charAt(0)&&(b[e]&&(d+=("style"===e?";":" ")+b[e]),a.$set(e,d,!0,c[e]))}),f(b,function(b,f){"class"==f?(A(e,b),a["class"]=(a["class"]?a["class"]+" ":"")+b):"style"==f?e.attr("style",e.attr("style")+";"+b):"$"==f.charAt(0)||a.hasOwnProperty(f)||(a[f]=b,d[f]=c[f])})}function H(a,b,c,d,e,f,g){var h,i,k=[],m=c[0],p=a.shift(),q=l({},p,{controller:null,templateUrl:null,transclude:null,scope:null}),r=y(p.templateUrl)?p.templateUrl(c,d):p.templateUrl;return c.html(""),n.get(r,{cache:o}).success(function(l){var n,o,p;if(l=U(l),f){if(p=Xc("
    "+C(l)+"
    ").contents(),n=p[0],1!=p.length||1!==n.nodeType)throw new Error(j+l);o={$attr:{}},O(e,c,n),D(n,a,o),G(d,o)}else n=m,c.html(l);for(a.unshift(q),h=E(a,n,d,g),i=B(c[0].childNodes,g);k.length;){var r=k.shift(),s=k.shift(),t=k.shift(),u=k.shift(),v=n;s!==m&&(v=hb(n),O(t,Xc(s),v)),h(function(){b(i,r,v,e,u)},r,v,e,u)}k=null}).error(function(a,b,c,d){throw Error("Failed to load template: "+d.url)}),function(a,c,d,e,f){k?(k.push(c),k.push(d),k.push(e),k.push(f)):h(function(){b(i,c,d,e,f)},c,d,e,f)}}function I(a,b){return b.priority-a.priority}function K(a,b,c,d){if(b)throw Error("Multiple directives ["+b.name+", "+c.name+"] asking for "+a+" on: "+S(d))}function L(a,b){var c=i(b,!0);c&&a.push({priority:0,compile:q(function(a,b){var d=b.parent(),e=d.data("$binding")||[];e.push(c),A(d.data("$binding",e),"ng-binding"),a.$watch(c,function(a){b[0].nodeValue=a})})})}function M(a,b,c,d){var e=i(c,!0);e&&b.push({priority:100,compile:q(function(a,b,c){var f=c.$$observers||(c.$$observers={});e=i(c[d],!0),e&&(c[d]=e(a),(f[d]||(f[d]=[])).$$inter=!0,(c.$$observers&&c.$$observers[d].$$scope||a).$watch(e,function(a){c.$set(d,a)}))})})}function O(a,b,c){var d,e,f=b[0],g=f.parentNode;if(a)for(d=0,e=a.length;e>d;d++)if(a[d]==f){a[d]=c;break}g&&g.replaceChild(c,f),c[Xc.expando]=f[Xc.expando],b[0]=c}var P=function(a,b){this.$$element=a,this.$attr=b||{}};P.prototype={$normalize:Gb,$set:function(a,b,d,e){var g,h=tb(this.$$element[0],a),i=this.$$observers;h&&(this.$$element.prop(a,b),e=h),this[a]=b,e?this.$attr[a]=e:(e=this.$attr[a],e||(this.$attr[a]=e=Z(a,"-"))),"A"===$c(this.$$element[0])&&"href"===a&&(Q.setAttribute("href",b),g=Q.href,g.match(k)||(this[a]=b="unsafe:"+g)),d!==!1&&(null===b||b===c?this.$$element.removeAttr(e):this.$$element.attr(e,b)),i&&f(i[a],function(a){try{a(b)}catch(c){m(c)}})},$observe:function(a,b){var c=this,d=c.$$observers||(c.$$observers={}),e=d[a]||(d[a]=[]);return e.push(b),v.$evalAsync(function(){e.$$inter||b(c[a])}),b}};var Q=w[0].createElement("a"),R=i.startSymbol(),T=i.endSymbol(),U="{{"==R||"}}"==T?p:function(a){return a.replace(/\{\{/g,R).replace(/}}/g,T)},V=/^ngAttr[A-Z]/;return z}]}function Gb(a){return eb(a.replace(yd,""))}function Hb(){var a={},b=/^(\S+)(\s+as\s+(\w+))?$/;this.register=function(b,c){t(b)?l(a,b):a[b]=c},this.$get=["$injector","$window",function(c,d){return function(e,f){var g,h,i,j;if(u(e)&&(h=e.match(b),i=h[1],j=h[3],e=a.hasOwnProperty(i)?a[i]:ac(f.$scope,i,!0)||ac(d,i,!0),ab(e,i,!0)),g=c.instantiate(e,f),j){if("object"!=typeof f.$scope)throw new Error('Can not export controller as "'+j+'". No scope object provided!');f.$scope[j]=g}return g}}]}function Ib(){this.$get=["$window",function(a){return Xc(a.document)}]}function Jb(){this.$get=["$log",function(a){return function(){a.error.apply(a,arguments)}}]}function Kb(){var a="{{",b="}}";this.startSymbol=function(b){return b?(a=b,this):a},this.endSymbol=function(a){return a?(b=a,this):b},this.$get=["$parse","$exceptionHandler",function(d,e){function f(f,i){for(var j,k,l,m,n=0,o=[],p=f.length,q=!1,r=[];p>n;)-1!=(j=f.indexOf(a,n))&&-1!=(k=f.indexOf(b,j+g))?(n!=j&&o.push(f.substring(n,j)),o.push(l=d(m=f.substring(j+g,k))),l.exp=m,n=k+h,q=!0):(n!=p&&o.push(f.substring(n)),n=p);return(p=o.length)||(o.push(""),p=1),!i||q?(r.length=p,l=function(a){try{for(var b,d=0,g=p;g>d;d++)"function"==typeof(b=o[d])&&(b=b(a),null==b||b==c?b="":"string"!=typeof b&&(b=P(b))),r[d]=b;return r.join("")}catch(h){var i=new Error("Error while interpolating: "+f+"\n"+h.toString());e(i)}},l.exp=f,l.parts=o,l):void 0}var g=a.length,h=b.length;return f.startSymbol=function(){return a},f.endSymbol=function(){return b},f}]}function Lb(a){for(var b=a.split("/"),c=b.length;c--;)b[c]=V(b[c]);return b.join("/")}function Mb(a,b){var c=zd.exec(a);b.$$protocol=c[1],b.$$host=c[3],b.$$port=m(c[5])||Bd[c[1]]||null}function Nb(a,b){var c=Ad.exec(a);b.$$path=decodeURIComponent(c[1]),b.$$search=T(c[3]),b.$$hash=decodeURIComponent(c[5]||""),b.$$path&&"/"!=b.$$path.charAt(0)&&(b.$$path="/"+b.$$path)}function Ob(a,b,c){return 0==b.indexOf(a)?b.substr(a.length):c}function Pb(a){var b=a.indexOf("#");return-1==b?a:a.substr(0,b)}function Qb(a){return a.substr(0,Pb(a).lastIndexOf("/")+1)}function Rb(a){return a.substring(0,a.indexOf("/",a.indexOf("//")+2))}function Sb(a,b){b=b||"";var d=Qb(a);this.$$parse=function(a){var b={};Mb(a,b);var c=Ob(d,a);if(!u(c))throw Error('Invalid url "'+a+'", missing path prefix "'+d+'".');Nb(c,b),l(this,b),this.$$path||(this.$$path="/"),this.$$compose()},this.$$compose=function(){var a=U(this.$$search),b=this.$$hash?"#"+V(this.$$hash):"";this.$$url=Lb(this.$$path)+(a?"?"+a:"")+b,this.$$absUrl=d+this.$$url.substr(1)},this.$$rewrite=function(e){var f,g;return(f=Ob(a,e))!==c?(g=f,(f=Ob(b,f))!==c?d+(Ob("/",f)||f):a+g):(f=Ob(d,e))!==c?d+f:d==e+"/"?d:void 0}}function Tb(a,b){var c=Qb(a);this.$$parse=function(d){Mb(d,this);var e=Ob(a,d)||Ob(c,d);if(!u(e))throw new Error('Invalid url "'+d+'", does not start with "'+a+'".');var f="#"==e.charAt(0)?Ob(b,e):e;if(!u(f))throw new Error('Invalid url "'+d+'", missing hash prefix "'+b+'".');Nb(f,this),this.$$compose()},this.$$compose=function(){var c=U(this.$$search),d=this.$$hash?"#"+V(this.$$hash):"";this.$$url=Lb(this.$$path)+(c?"?"+c:"")+d,this.$$absUrl=a+(this.$$url?b+this.$$url:"")},this.$$rewrite=function(b){return Pb(a)==Pb(b)?b:void 0}}function Ub(a,b){Tb.apply(this,arguments);var c=Qb(a);this.$$rewrite=function(d){var e;return a==Pb(d)?d:(e=Ob(c,d))?a+b+e:c===d+"/"?c:void 0}}function Vb(a){return function(){return this[a]}}function Wb(a,b){return function(c){return r(c)?this[a]:(this[a]=b(c),this.$$compose(),this)}}function Xb(){var b="",c=!1;this.hashPrefix=function(a){return s(a)?(b=a,this):b},this.html5Mode=function(a){return s(a)?(c=a,this):c},this.$get=["$rootScope","$browser","$sniffer","$rootElement",function(d,e,f,g){function h(a){d.$broadcast("$locationChangeSuccess",i.absUrl(),a)}var i,j,k,l=e.baseHref(),m=e.url();c?(k=l?Rb(m)+l:m,j=f.history?Sb:Ub):(k=Pb(m),j=Tb),i=new j(k,"#"+b),i.$$parse(i.$$rewrite(m)),g.bind("click",function(b){if(!b.ctrlKey&&!b.metaKey&&2!=b.which){for(var c=Xc(b.target);"a"!==Tc(c[0].nodeName);)if(c[0]===g[0]||!(c=c.parent())[0])return;var f=c.prop("href"),h=i.$$rewrite(f);f&&!c.attr("target")&&h&&!b.isDefaultPrevented()&&(b.preventDefault(),h!=e.url()&&(i.$$parse(h),d.$apply(),a.angular["ff-684208-preventDefault"]=!0))}}),i.absUrl()!=m&&e.url(i.absUrl(),!0),e.onUrlChange(function(a){if(i.absUrl()!=a){if(d.$broadcast("$locationChangeStart",a,i.absUrl()).defaultPrevented)return void e.url(i.absUrl());d.$evalAsync(function(){var b=i.absUrl();i.$$parse(a),h(b)}),d.$$phase||d.$digest()}});var n=0;return d.$watch(function(){var a=e.url(),b=i.$$replace;return n&&a==i.absUrl()||(n++,d.$evalAsync(function(){d.$broadcast("$locationChangeStart",i.absUrl(),a).defaultPrevented?i.$$parse(a):(e.url(i.absUrl(),b),h(a))})),i.$$replace=!1,n}),i}]}function Yb(){var a=!0,b=this;this.debugEnabled=function(b){return s(b)?(a=b,this):a},this.$get=["$window",function(c){function d(a){return a instanceof Error&&(a.stack?a=a.message&&-1===a.stack.indexOf(a.message)?"Error: "+a.message+"\n"+a.stack:a.stack:a.sourceURL&&(a=a.message+"\n"+a.sourceURL+":"+a.line)),a}function e(a){var b=c.console||{},e=b[a]||b.log||o;return e.apply?function(){var a=[];return f(arguments,function(b){a.push(d(b))}),e.apply(b,a)}:function(a,b){e(a,b)}}return{log:e("log"),warn:e("warn"),info:e("info"),error:e("error"),debug:function(){var c=e("debug");return function(){a&&c.apply(b,arguments)}}()}}]}function Zb(a,b){function c(a){return-1!=a.indexOf(p)}function d(a){return-1!=a.indexOf(u)}function e(b){var c=b||1;return r+c="0"&&"9">=a}function g(a){return" "==a||"\r"==a||" "==a||"\n"==a||" "==a||" "==a}function h(a){return a>="a"&&"z">=a||a>="A"&&"Z">=a||"_"==a||"$"==a}function i(a){return"-"==a||"+"==a||f(a)}function j(b,c,d){throw d=d||r,Error("Lexer Error: "+b+" at column"+(s(c)?"s "+c+"-"+r+" ["+a.substring(c,d)+"]":" "+d)+" in expression ["+a+"].")}function k(){for(var b="",c=r;r0){var e=L[0],f=e.text;if(f==a||f==b||f==c||f==d||!a&&!b&&!c&&!d)return e}return!1}function i(a,c,d,e){var g=h(a,c,d,e);return g?(b&&!g.json&&f("is not valid json",g),L.shift(),g):!1}function j(a){i(a)||f("is unexpected, expecting ["+a+"]",h())}function k(a,b){return l(function(c,d){return a(c,d,b)},{constant:b.constant})}function m(a,b,c){return l(function(d,e){return a(d,e)?b(d,e):c(d,e)},{constant:a.constant&&b.constant&&c.constant})}function n(a,b,c){return l(function(d,e){return b(d,e,a,c)},{constant:a.constant&&c.constant})}function p(){for(var a=[];;)if(L.length>0&&!h("}",")",";","]")&&a.push(Q()),!i(";"))return 1==a.length?a[0]:function(b,c){for(var d,e=0;e","<=",">="))&&(b=n(b,a.fn,z())),b}function A(){for(var a,b=B();a=i("+","-");)b=n(b,a.fn,B());return b}function B(){for(var a,b=C();a=i("*","/","%");)b=n(b,a.fn,C());return b}function C(){var a;return i("+")?D():(a=i("-"))?n(K,a.fn,C()):(a=i("!"))?k(a.fn,C()):D()}function D(){var a;if(i("("))a=Q(),j(")");else if(i("["))a=H();else if(i("{"))a=I();else{var b=i();a=b.fn,a||f("not a primary expression",b),b.json&&(a.constant=a.literal=!0)}for(var c,d;c=i("(","[",".");)"("===c.text?(a=N(a,d),d=null):"["===c.text?(d=a,a=P(a)):"."===c.text?(d=a,a=O(a)):f("IMPOSSIBLE");return a}function E(a){var b=i().text,c=cc(b,e);return l(function(b,d,e){return c(e||a(b,d),d)},{assign:function(c,d,e){return _b(a(c,e),b,d)}})}function F(a){var b=t();return j("]"),l(function(d,e){var f,g,h=a(d,e),i=b(d,e);return h?(f=h[i],f&&f.then&&(g=f,"$$v"in f||(g.$$v=c,g.then(function(a){g.$$v=a})),f=f.$$v),f):c},{assign:function(c,d,e){return a(c,e)[b(c,e)]=d}})}function G(a,b){var c=[];if(")"!=g().text)do c.push(t());while(i(","));return j(")"),function(d,e){for(var f=[],g=b?b(d,e):d,h=0;h1;e++){var f=d.shift(),g=a[f];g||(g={},a[f]=g),a=g}return a[d.shift()]=c,c}function ac(a,b,c){if(!b)return a;for(var d,e=b.split("."),f=a,g=e.length,h=0;g>h;h++)d=e[h],a&&(a=(f=a)[d]);return!c&&y(a)?N(f,a):a}function bc(a,b,d,e,f){return function(g,h){var i,j=h&&h.hasOwnProperty(a)?h:g;return null===j||j===c?j:(j=j[a],j&&j.then&&("$$v"in j||(i=j,i.$$v=c,i.then(function(a){i.$$v=a})),j=j.$$v),b&&null!==j&&j!==c?(j=j[b],j&&j.then&&("$$v"in j||(i=j,i.$$v=c,i.then(function(a){i.$$v=a})),j=j.$$v),d&&null!==j&&j!==c?(j=j[d],j&&j.then&&("$$v"in j||(i=j,i.$$v=c,i.then(function(a){i.$$v=a})),j=j.$$v),e&&null!==j&&j!==c?(j=j[e],j&&j.then&&("$$v"in j||(i=j,i.$$v=c,i.then(function(a){i.$$v=a})),j=j.$$v),f&&null!==j&&j!==c?(j=j[f],j&&j.then&&("$$v"in j||(i=j,i.$$v=c,i.then(function(a){i.$$v=a})),j=j.$$v),j):j):j):j):j)}}function cc(a,b){if(Ed.hasOwnProperty(a))return Ed[a];var d,e=a.split("."),g=e.length;if(b)d=6>g?bc(e[0],e[1],e[2],e[3],e[4]):function(a,b){var d,f=0;do d=bc(e[f++],e[f++],e[f++],e[f++],e[f++])(a,b),b=c,a=d;while(g>f);return d};else{var h="var l, fn, p;\n";f(e,function(a,b){h+="if(s === null || s === undefined) return s;\nl=s;\ns="+(b?"s":'((k&&k.hasOwnProperty("'+a+'"))?k:s)')+'["'+a+'"];\nif (s && s.then) {\n if (!("$$v" in s)) {\n p=s;\n p.$$v = undefined;\n p.then(function(v) {p.$$v=v;});\n}\n s=s.$$v\n}\n'}),h+="return s;",d=Function("s","k",h),d.toString=function(){return h}}return Ed[a]=d}function dc(){var a={};this.$get=["$filter","$sniffer",function(b,c){return function(d){switch(typeof d){case"string":return a.hasOwnProperty(d)?a[d]:a[d]=$b(d,!1,b,c.csp);case"function":return d;default:return o}}}]}function ec(){this.$get=["$rootScope","$exceptionHandler",function(a,b){return fc(function(b){a.$evalAsync(b)},b)}]}function fc(a,b){function d(a){return a}function e(a){return j(a)}function g(a){var b=h(),c=0,d=x(a)?[]:{};return f(a,function(a,e){c++,i(a).then(function(a){d.hasOwnProperty(e)||(d[e]=a,--c||b.resolve(d))},function(a){d.hasOwnProperty(e)||b.reject(a)})}),0===c&&b.resolve(d),b.promise}var h=function(){var f,g,k=[];return g={resolve:function(b){if(k){var d=k;k=c,f=i(b),d.length&&a(function(){for(var a,b=0,c=d.length;c>b;b++)a=d[b],f.then(a[0],a[1])})}},reject:function(a){g.resolve(j(a))},promise:{then:function(a,c){var g=h(),i=function(c){try{g.resolve((a||d)(c))}catch(e){b(e),g.reject(e)}},j=function(a){try{g.resolve((c||e)(a))}catch(d){b(d),g.reject(d)}};return k?k.push([i,j]):f.then(i,j),g.promise},always:function(a){function b(a,b){var c=h();return b?c.resolve(a):c.reject(a),c.promise}function c(c,e){var f=null;try{f=(a||d)()}catch(g){return b(g,!1)}return f&&f.then?f.then(function(){return b(c,e)},function(a){return b(a,!1)}):b(c,e)}return this.then(function(a){return c(a,!0)},function(a){return c(a,!1)})}}}},i=function(b){return b&&b.then?b:{then:function(c){var d=h();return a(function(){d.resolve(c(b))}),d.promise}}},j=function(b){return{then:function(c,d){var f=h();return a(function(){f.resolve((d||e)(b))}),f.promise}}},k=function(c,f,g){var k,l=h(),m=function(a){try{return(f||d)(a)}catch(c){return b(c),j(c)}},n=function(a){try{return(g||e)(a)}catch(c){return b(c),j(c)}};return a(function(){i(c).then(function(a){k||(k=!0,l.resolve(i(a).then(m,n)))},function(a){k||(k=!0,l.resolve(n(a)))})}),l.promise};return{defer:h,reject:j,when:k,all:g}}function gc(){var a={};this.when=function(b,c){if(a[b]=l({reloadOnSearch:!0,caseInsensitiveMatch:!1},c),b){var d="/"==b[b.length-1]?b.substr(0,b.length-1):b+"/";a[d]={redirectTo:b}}return this},this.otherwise=function(a){return this.when(null,a),this},this.$get=["$rootScope","$location","$routeParams","$q","$injector","$http","$templateCache",function(b,c,d,e,g,h,i){function j(a,b,c){b="^"+b.replace(/[-\/\\^$:*+?.()|[\]{}]/g,"\\$&")+"$";for(var d,e="",g=[],h={},i=/\\([:*])(\w+)/g,j=0;null!==(d=i.exec(b));){switch(e+=b.slice(j,d.index),d[1]){case":":e+="([^\\/]*)";break;case"*":e+="(.*)"}g.push(d[2]),j=i.lastIndex}e+=b.substr(j);var k=a.match(new RegExp(e,c.caseInsensitiveMatch?"i":""));return k&&f(g,function(a,b){h[a]=k[b+1]}),k?h:null}function k(){var a=m(),j=q.current;a&&j&&a.$$route===j.$$route&&K(a.pathParams,j.pathParams)&&!a.reloadOnSearch&&!p?(j.params=a.params,I(j.params,d),b.$broadcast("$routeUpdate",j)):(a||j)&&(p=!1,b.$broadcast("$routeChangeStart",a,j),q.current=a,a&&a.redirectTo&&(u(a.redirectTo)?c.path(o(a.redirectTo,a.params)).search(a.params).replace():c.url(a.redirectTo(a.pathParams,c.path(),c.search())).replace()),e.when(a).then(function(){if(a){var b,c=l({},a.resolve);return f(c,function(a,b){c[b]=u(a)?g.get(a):g.invoke(a)}),s(b=a.template)?y(b)&&(b=b(a.params)):s(b=a.templateUrl)&&(y(b)&&(b=b(a.params)),s(b)&&(a.loadedTemplateUrl=b,b=h.get(b,{cache:i}).then(function(a){return a.data}))),s(b)&&(c.$template=b),e.all(c)}}).then(function(c){a==q.current&&(a&&(a.locals=c,I(a.params,d)),b.$broadcast("$routeChangeSuccess",a,j))},function(c){a==q.current&&b.$broadcast("$routeChangeError",a,j,c)}))}function m(){var b,d;return f(a,function(a,e){!d&&(b=j(c.path(),e,a))&&(d=n(a,{params:l({},c.search(),b),pathParams:b}),d.$$route=a)}),d||a[null]&&n(a[null],{params:{},pathParams:{}})}function o(a,b){var c=[];return f((a||"").split(":"),function(a,d){if(0==d)c.push(a);else{var e=a.match(/(\w+)(.*)/),f=e[1];c.push(b[f]),c.push(e[2]||""),delete b[f]}}),c.join("")}var p=!1,q={routes:a,reload:function(){p=!0,b.$evalAsync(k)}};return b.$on("$locationChangeSuccess",k),q}]}function hc(){this.$get=q({})}function ic(){var a=10;this.digestTtl=function(b){return arguments.length&&(a=b),a},this.$get=["$injector","$exceptionHandler","$parse",function(b,c,d){function f(){this.$id=j(),this.$$phase=this.$parent=this.$$watchers=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null,this["this"]=this.$root=this,this.$$destroyed=!1,this.$$asyncQueue=[],this.$$listeners={},this.$$isolateBindings={}}function g(a){if(l.$$phase)throw Error(l.$$phase+" already in progress");l.$$phase=a}function h(){l.$$phase=null}function i(a,b){var c=d(a);return ab(c,b),c}function k(){}f.prototype={$new:function(a){var b,c;if(y(a))throw Error("API-CHANGE: Use $controller to instantiate controllers.");return a?(c=new f,c.$root=this.$root):(b=function(){},b.prototype=this,c=new b,c.$id=j()),c["this"]=c,c.$$listeners={},c.$parent=this,c.$$watchers=c.$$nextSibling=c.$$childHead=c.$$childTail=null,c.$$prevSibling=this.$$childTail,this.$$childHead?(this.$$childTail.$$nextSibling=c,this.$$childTail=c):this.$$childHead=this.$$childTail=c,c.$on("$destroy",function(){b&&(b.prototype=null),setTimeout(function(){c.__proto__={};for(var a in c)c[a]=null;return c=null,null})}),c},$watch:function(a,b,c){var d=this,e=i(a,"watch"),f=d.$$watchers,g={fn:b,last:k,get:e,exp:a,eq:!!c};if(!y(b)){var h=i(b||o,"listener");g.fn=function(a,b,c){h(c)}}if("string"==typeof a&&e.constant){var j=g.fn;g.fn=function(a,b,c){j.call(this,a,b,c),H(f,g)}}return f||(f=d.$$watchers=[]),f.unshift(g),function(){H(f,g)}},$watchCollection:function(a,b){function c(){h=k(i);var a,b;if(t(h))if(e(h)){g!==l&&(g=l,n=g.length=0,j++),a=h.length,n!==a&&(j++,g.length=n=a);for(var c=0;a>c;c++)g[c]!==h[c]&&(j++,g[c]=h[c])}else{g!==m&&(g=m={},n=0,j++),a=0;for(b in h)h.hasOwnProperty(b)&&(a++,g.hasOwnProperty(b)?g[b]!==h[b]&&(j++,g[b]=h[b]):(n++,g[b]=h[b],j++));if(n>a){j++;for(b in g)g.hasOwnProperty(b)&&!h.hasOwnProperty(b)&&(n--,delete g[b])}}else g!==h&&(g=h,j++);return j}function f(){b(h,g,i)}var g,h,i=this,j=0,k=d(a),l=[],m={},n=0;return this.$watch(c,f)},$digest:function(){var b,d,e,f,i,j,l,m,n,o,p=this.$$asyncQueue,q=a,r=this,s=[];g("$digest");do{for(j=!1,m=r;p.length;)try{m.$eval(p.shift())}catch(t){c(t)}do{if(f=m.$$watchers)for(i=f.length;i--;)try{b=f[i],(d=b.get(m))===(e=b.last)||(b.eq?K(d,e):"number"==typeof d&&"number"==typeof e&&isNaN(d)&&isNaN(e))||(j=!0,b.last=b.eq?I(d):d,b.fn(d,e===k?d:e,m),5>q&&(n=4-q,s[n]||(s[n]=[]),o=y(b.exp)?"fn: "+(b.exp.name||b.exp.toString()):b.exp,o+="; newVal: "+P(d)+"; oldVal: "+P(e),s[n].push(o)))}catch(t){c(t)}if(!(l=m.$$childHead||m!==r&&m.$$nextSibling))for(;m!==r&&!(l=m.$$nextSibling);)m=m.$parent}while(m=l);if(j&&!q--)throw h(),Error(a+" $digest() iterations reached. Aborting!\nWatchers fired in the last 5 iterations: "+P(s))}while(j||p.length);h()},$destroy:function(){if(l!=this&&!this.$$destroyed){var a=this.$parent;this.$broadcast("$destroy"),this.$$destroyed=!0,a.$$childHead==this&&(a.$$childHead=this.$$nextSibling),a.$$childTail==this&&(a.$$childTail=this.$$prevSibling),this.$$prevSibling&&(this.$$prevSibling.$$nextSibling=this.$$nextSibling),this.$$nextSibling&&(this.$$nextSibling.$$prevSibling=this.$$prevSibling),this.$parent=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null,a=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null}},$eval:function(a,b){return d(a)(this,b)},$evalAsync:function(a){this.$$asyncQueue.push(a)},$apply:function(a){try{return g("$apply"),this.$eval(a)}catch(b){c(b)}finally{h();try{l.$digest()}catch(b){throw c(b),b}}},$on:function(a,b){var c=this.$$listeners[a];return c||(this.$$listeners[a]=c=[]),c.push(b),function(){c[G(c,b)]=null}},$emit:function(a){var b,d,e,f=[],g=this,h=!1,i={name:a,targetScope:g,stopPropagation:function(){h=!0},preventDefault:function(){i.defaultPrevented=!0},defaultPrevented:!1},j=L([i],arguments,1);do{for(b=g.$$listeners[a]||f,i.currentScope=g,d=0,e=b.length;e>d;d++)if(b[d])try{if(b[d].apply(null,j),h)return i}catch(k){c(k)}else b.splice(d,1),d--,e--;g=g.$parent}while(g);return i},$broadcast:function(a){var b,d,e,f=this,g=f,h=f,i={name:a,targetScope:f,preventDefault:function(){i.defaultPrevented=!0},defaultPrevented:!1},j=L([i],arguments,1);do{for(g=h,i.currentScope=g,b=g.$$listeners[a]||[],d=0,e=b.length;e>d;d++)if(b[d])try{b[d].apply(null,j)}catch(k){c(k)}else b.splice(d,1),d--,e--;if(!(h=g.$$childHead||g!==f&&g.$$nextSibling))for(;g!==f&&!(h=g.$$nextSibling);)g=g.$parent}while(g=h);return i}};var l=new f;return l}]}function jc(){this.$get=["$window","$document",function(a,b){var c,d,e={},f=m((/android (\d+)/.exec(Tc((a.navigator||{}).userAgent))||[])[1]),g=b[0]||{},h=/^(Moz|webkit|O|ms)(?=[A-Z])/,i=g.body&&g.body.style,j=!1,k=!1;if(i){for(var l in i)if(d=h.exec(l)){c=d[0],c=c.substr(0,1).toUpperCase()+c.substr(1);break}j=!!("transition"in i||c+"Transition"in i),k=!!("animation"in i||c+"Animation"in i)}return{history:!(!a.history||!a.history.pushState||4>f),hashchange:"onhashchange"in a&&(!g.documentMode||g.documentMode>7),hasEvent:function(a){if("input"==a&&9==_c)return!1;if(r(e[a])){var b=g.createElement("div");e[a]="on"+a in b}return e[a]},csp:g.securityPolicy?g.securityPolicy.isActive:!1,vendorPrefix:c,transitions:j,animations:k}}]}function kc(){this.$get=q(a)}function lc(a){var b,c,d,e={};return a?(f(a.split("\n"),function(a){d=a.indexOf(":"),b=Tc(C(a.substr(0,d))),c=C(a.substr(d+1)),b&&(e[b]?e[b]+=", "+c:e[b]=c)}),e):e}function mc(a,b){var d=Fd.exec(a);if(null==d)return!0;var e={protocol:d[2],host:d[4],port:m(d[6])||Bd[d[2]]||null,relativeProtocol:d[2]===c||""===d[2]};d=zd.exec(b);var f={protocol:d[1],host:d[3],port:m(d[5])||Bd[d[1]]||null};return(e.protocol==f.protocol||e.relativeProtocol)&&e.host==f.host&&(e.port==f.port||e.relativeProtocol&&f.port==Bd[f.protocol])}function nc(a){var b=t(a)?a:c;return function(c){return b||(b=lc(a)),c?b[Tc(c)]||null:b}}function oc(a,b,c){return y(c)?c(a,b):(f(c,function(c){a=c(a,b)}),a)}function pc(a){return a>=200&&300>a}function qc(){var a=/^\s*(\[|\{[^\{])/,b=/[\}\]]\s*$/,d=/^\)\]\}',?\n/,e={"Content-Type":"application/json;charset=utf-8"},g=this.defaults={transformResponse:[function(c){return u(c)&&(c=c.replace(d,""),a.test(c)&&b.test(c)&&(c=Q(c,!0))),c}],transformRequest:[function(a){return t(a)&&!B(a)?P(a):a}],headers:{common:{Accept:"application/json, text/plain, */*"},post:e,put:e,patch:e},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN"},i=this.interceptors=[],j=this.responseInterceptors=[];this.$get=["$httpBackend","$browser","$cacheFactory","$rootScope","$q","$injector",function(a,b,d,e,k,m){function n(a){function d(a){var b=l({},a,{data:oc(a.data,a.headers,e.transformResponse)});return pc(a.status)?b:k.reject(b)}var e={transformRequest:g.transformRequest,transformResponse:g.transformResponse},h={};l(e,a),e.headers=h,e.method=Uc(e.method),l(h,g.headers.common,g.headers[Tc(e.method)],a.headers);var i=mc(e.url,b.url())?b.cookies()[e.xsrfCookieName||g.xsrfCookieName]:c;i&&(h[e.xsrfHeaderName||g.xsrfHeaderName]=i);var j=function(a){var b=oc(a.data,nc(h),a.transformRequest);return r(a.data)&&delete h["Content-Type"],r(a.withCredentials)&&!r(g.withCredentials)&&(a.withCredentials=g.withCredentials),q(a,b,h).then(d,d)},m=[j,c],n=k.when(e);for(f(w,function(a){(a.request||a.requestError)&&m.unshift(a.request,a.requestError),(a.response||a.responseError)&&m.push(a.response,a.responseError)});m.length;){var o=m.shift(),p=m.shift();n=n.then(o,p)}return n.success=function(a){return n.then(function(b){a(b.data,b.status,b.headers,e)}),n},n.error=function(a){return n.then(null,function(b){a(b.data,b.status,b.headers,e)}),n},n}function o(){f(arguments,function(a){n[a]=function(b,c){return n(l(c||{},{method:a,url:b}))}})}function p(){f(arguments,function(a){n[a]=function(b,c,d){return n(l(d||{},{method:a,url:b,data:c}))}})}function q(b,c,d){function f(a,b,c){j&&(pc(a)?j.put(p,[a,b,lc(c)]):j.remove(p)),h(b,a,c),e.$$phase||e.$apply()}function h(a,c,d){c=Math.max(c,0),(pc(c)?m.resolve:m.reject)({data:a,status:c,headers:nc(d),config:b})}function i(){var a=G(n.pendingRequests,b);-1!==a&&n.pendingRequests.splice(a,1)}var j,l,m=k.defer(),o=m.promise,p=s(b.url,b.params);if(n.pendingRequests.push(b),o.then(i,i),(b.cache||g.cache)&&b.cache!==!1&&"GET"==b.method&&(j=t(b.cache)?b.cache:t(g.cache)?g.cache:v),j)if(l=j.get(p)){if(l.then)return l.then(i,i),l;x(l)?h(l[1],l[0],I(l[2])):h(l,200,{})}else j.put(p,o);return l||a(b.method,p,c,f,d,b.timeout,b.withCredentials,b.responseType),o}function s(a,b){if(!b)return a;var d=[];return h(b,function(a,b){null!=a&&a!=c&&(x(a)||(a=[a]),f(a,function(a){t(a)&&(a=P(a)),d.push(W(b)+"="+W(a))}))}),a+(-1==a.indexOf("?")?"?":"&")+d.join("&")}var v=d("$http"),w=[];return f(i,function(a){w.unshift(u(a)?m.get(a):m.invoke(a))}),f(j,function(a,b){var c=u(a)?m.get(a):m.invoke(a);w.splice(b,0,{response:function(a){return c(k.when(a))},responseError:function(a){return c(k.reject(a))}})}),n.pendingRequests=[],o("get","delete","head","jsonp"),p("post","put"),n.defaults=g,n}]}function rc(){this.$get=["$browser","$window","$document",function(a,b,c){return sc(a,Gd,a.defer,b.angular.callbacks,c[0],b.location.protocol.replace(":",""))}]}function sc(a,b,c,d,e,g){function h(a,b){var c=e.createElement("script"),d=function(){e.body.removeChild(c),b&&b()};return c.type="text/javascript",c.src=a,_c?c.onreadystatechange=function(){/loaded|complete/.test(c.readyState)&&d()}:c.onload=c.onerror=d,e.body.appendChild(c),d}return function(e,i,j,k,l,m,n,p){function q(){s=-1,u&&u(),v&&v.abort()}function r(b,d,e,f){var h=(i.match(zd)||["",g])[1];w&&c.cancel(w),u=v=null,d="file"==h?e?200:404:d,d=1223==d?204:d,b(d,e,f),a.$$completeOutstandingRequest(o)}var s;if(a.$$incOutstandingRequestCount(),i=i||a.url(),"jsonp"==Tc(e)){var t="_"+(d.counter++).toString(36);d[t]=function(a){d[t].data=a};var u=h(i.replace("JSON_CALLBACK","angular.callbacks."+t),function(){d[t].data?r(k,200,d[t].data):r(k,s||-2),delete d[t]})}else{var v=new b;v.open(e,i,!0),f(l,function(a,b){a&&v.setRequestHeader(b,a)}),v.onreadystatechange=function(){if(4==v.readyState){var a=v.getAllResponseHeaders(),b=["Cache-Control","Content-Language","Content-Type","Expires","Last-Modified","Pragma"];a||(a="",f(b,function(b){var c=v.getResponseHeader(b);c&&(a+=b+": "+c+"\n")})),r(k,s||v.status,v.responseType?v.response:v.responseText,a)}},n&&(v.withCredentials=!0),p&&(v.responseType=p),v.send(j||"")}if(m>0)var w=c(q,m);else m&&m.then&&m.then(q)}}function tc(){this.$get=function(){return{id:"en-us",NUMBER_FORMATS:{DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{minInt:1,minFrac:0,maxFrac:3,posPre:"",posSuf:"",negPre:"-",negSuf:"",gSize:3,lgSize:3},{minInt:1,minFrac:2,maxFrac:2,posPre:"¤",posSuf:"",negPre:"(¤",negSuf:")",gSize:3,lgSize:3}],CURRENCY_SYM:"$"},DATETIME_FORMATS:{MONTH:"January,February,March,April,May,June,July,August,September,October,November,December".split(","),SHORTMONTH:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),DAY:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),SHORTDAY:"Sun,Mon,Tue,Wed,Thu,Fri,Sat".split(","),AMPMS:["AM","PM"],medium:"MMM d, y h:mm:ss a","short":"M/d/yy h:mm a",fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",mediumDate:"MMM d, y",shortDate:"M/d/yy",mediumTime:"h:mm:ss a",shortTime:"h:mm a"},pluralCat:function(a){return 1===a?"one":"other"}}}}function uc(){this.$get=["$rootScope","$browser","$q","$exceptionHandler",function(a,b,c,d){function e(e,g,h){var i,j,k=c.defer(),l=k.promise,m=s(h)&&!h;return i=b.defer(function(){try{k.resolve(e())}catch(b){k.reject(b),d(b)}m||a.$apply()},g),j=function(){delete f[l.$$timeoutId]},l.$$timeoutId=i,f[i]=k,l.then(j,j),l}var f={};return e.cancel=function(a){return a&&a.$$timeoutId in f?(f[a.$$timeoutId].reject("canceled"),b.defer.cancel(a.$$timeoutId)):!1},e}]}function vc(a){function b(b,d){return a.factory(b+c,d)}var c="Filter";this.register=b,this.$get=["$injector",function(a){return function(b){return a.get(b+c)}}],b("currency",xc),b("date",Fc),b("filter",wc),b("json",Gc),b("limitTo",Hc),b("lowercase",Ld),b("number",yc),b("orderBy",Ic),b("uppercase",Md)}function wc(){return function(a,b,c){if(!x(a))return a;var d=[];switch(d.check=function(a){for(var b=0;b-1}}var e=function(a,b){if("string"==typeof b&&"!"===b.charAt(0))return!e(a,b.substr(1));switch(typeof a){case"boolean":case"number":case"string":return c(a,b);case"object":switch(typeof b){case"object":return c(a,b);default:for(var d in a)if("$"!==d.charAt(0)&&e(a[d],b))return!0}return!1;case"array":for(var f=0;fa;a=Math.abs(a);var g=a+"",h="",i=[],j=!1;if(-1!==g.indexOf("e")){var k=g.match(/([\d\.]+)e(-?)(\d+)/);k&&"-"==k[2]&&k[3]>e+1?g="0":(h=g,j=!0)}if(!j){var l=(g.split(Hd)[1]||"").length;r(e)&&(e=Math.min(Math.max(b.minFrac,l),b.maxFrac));var m=Math.pow(10,e);a=Math.round(a*m)/m;var n=(""+a).split(Hd),o=n[0];n=n[1]||"";var p=0,q=b.lgSize,s=b.gSize;if(o.length>=q+s){p=o.length-q;for(var t=0;p>t;t++)(p-t)%s===0&&0!==t&&(h+=c),h+=o.charAt(t)}for(t=p;ta&&(d="-",a=-a),a=""+a;a.length0||f>-c)&&(f+=c),0===f&&-12==c&&(f=12),Ac(f,b,d)}}function Cc(a,b){return function(c,d){var e=c["get"+a](),f=Uc(b?"SHORT"+a:a);return d[f][e]}}function Dc(a){var b=-1*a.getTimezoneOffset(),c=b>=0?"+":"";return c+=Ac(Math[b>0?"floor":"ceil"](b/60),2)+Ac(Math.abs(b%60),2)}function Ec(a,b){return a.getHours()<12?b.AMPMS[0]:b.AMPMS[1]}function Fc(a){function b(a){var b;if(b=a.match(c)){var d=new Date(0),e=0,f=0,g=b[8]?d.setUTCFullYear:d.setFullYear,h=b[8]?d.setUTCHours:d.setHours;b[9]&&(e=m(b[9]+b[10]),f=m(b[9]+b[11])),g.call(d,m(b[1]),m(b[2])-1,m(b[3]));var i=m(b[4]||0)-e,j=m(b[5]||0)-f,k=m(b[6]||0),l=Math.round(1e3*parseFloat("0."+(b[7]||0)));return h.call(d,i,j,k,l),d}return a}var c=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(c,d){var e,g,h="",i=[];if(d=d||"mediumDate",d=a.DATETIME_FORMATS[d]||d,u(c)&&(c=Kd.test(c)?m(c):b(c)),v(c)&&(c=new Date(c)),!w(c))return c;for(;d;)g=Jd.exec(d),g?(i=L(i,g,1),d=i.pop()):(i.push(d),d=null);return f(i,function(b){e=Id[b],h+=e?e(c,a.DATETIME_FORMATS):b.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),h}}function Gc(){return function(a){return P(a,!0)}}function Hc(){return function(a,b){if(!x(a)&&!u(a))return a;if(b=m(b),u(a))return b?b>=0?a.slice(0,b):a.slice(b,a.length):"";var c,d,e=[];for(b>a.length?b=a.length:b<-a.length&&(b=-a.length),b>0?(c=0,d=b):(c=a.length+b,d=a.length);d>c;c++)e.push(a[c]);return e}}function Ic(a){return function(b,c,d){function e(a,b){for(var d=0;da?-1:1):d>c?-1:1}if(!x(b))return b;if(!c)return b;c=x(c)?c:[c],c=E(c,function(b){var c=!1,d=b||p;return u(b)&&(("+"==b.charAt(0)||"-"==b.charAt(0))&&(c="-"==b.charAt(0),b=b.substring(1)),d=a(b)),f(function(a,b){return g(d(a),d(b))},c)});for(var h=[],i=0;i15&&19>b||b>=37&&40>=b||j()}),b.bind("change",h),f.hasEvent("paste")&&b.bind("paste cut",j)}e.$render=function(){b.val(Lc(e.$viewValue)?"":e.$viewValue)};var k,l,n=d.ngPattern,o=function(a,b){return Lc(b)||a.test(b)?(e.$setValidity("pattern",!0),b):(e.$setValidity("pattern",!1),c)};if(n&&(l=n.match(/^\/(.*)\/([gim]*)$/),l?(n=new RegExp(l[1],l[2]),k=function(a){return o(n,a)}):k=function(b){var c=a.$eval(n);if(!c||!c.test)throw new Error("Expected "+n+" to be a RegExp but was "+c);return o(c,b)},e.$formatters.push(k),e.$parsers.push(k)),d.ngMinlength){var p=m(d.ngMinlength),q=function(a){return!Lc(a)&&a.lengthr?(e.$setValidity("maxlength",!1),c):(e.$setValidity("maxlength",!0),a)};e.$parsers.push(s),e.$formatters.push(s)}}function Nc(a,b,d,e,f,g){if(Mc(a,b,d,e,f,g),e.$parsers.push(function(a){var b=Lc(a);return b||Vd.test(a)?(e.$setValidity("number",!0),""===a?null:b?a:parseFloat(a)):(e.$setValidity("number",!1),c)}),e.$formatters.push(function(a){return Lc(a)?"":""+a}),d.min){var h=parseFloat(d.min),i=function(a){return!Lc(a)&&h>a?(e.$setValidity("min",!1),c):(e.$setValidity("min",!0),a)};e.$parsers.push(i),e.$formatters.push(i)}if(d.max){var j=parseFloat(d.max),k=function(a){return!Lc(a)&&a>j?(e.$setValidity("max",!1),c):(e.$setValidity("max",!0),a)};e.$parsers.push(k),e.$formatters.push(k)}e.$formatters.push(function(a){return Lc(a)||v(a)?(e.$setValidity("number",!0),a):(e.$setValidity("number",!1),c)})}function Oc(a,b,d,e,f,g){Mc(a,b,d,e,f,g);var h=function(a){return Lc(a)||Td.test(a)?(e.$setValidity("url",!0),a):(e.$setValidity("url",!1),c)};e.$formatters.push(h),e.$parsers.push(h)}function Pc(a,b,d,e,f,g){Mc(a,b,d,e,f,g);var h=function(a){return Lc(a)||Ud.test(a)?(e.$setValidity("email",!0),a):(e.$setValidity("email",!1),c)};e.$formatters.push(h),e.$parsers.push(h)}function Qc(a,b,c,d){r(c.name)&&b.attr("name",j()),b.bind("click",function(){b[0].checked&&a.$apply(function(){d.$setViewValue(c.value)})}),d.$render=function(){var a=c.value;b[0].checked=a==d.$viewValue},c.$observe("value",d.$render)}function Rc(a,b,c,d){var e=c.ngTrueValue,f=c.ngFalseValue;u(e)||(e=!0),u(f)||(f=!1),b.bind("click",function(){a.$apply(function(){d.$setViewValue(b[0].checked)})}),d.$render=function(){b[0].checked=d.$viewValue},d.$formatters.push(function(a){return a===e}),d.$parsers.push(function(a){return a?e:f})}function Sc(a,b){return a="ngClass"+a,Jc(function(d,e,f){function g(a){(b===!0||d.$index%2===b)&&(j&&!K(a,j)&&h(j),i(a)),j=I(a)}function h(a){t(a)&&!x(a)&&(a=E(a,function(a,b){return a?b:void 0})),e.removeClass(x(a)?a.join(" "):a)}function i(a){t(a)&&!x(a)&&(a=E(a,function(a,b){return a?b:void 0})),a&&e.addClass(x(a)?a.join(" "):a)}var j=c;d.$watch(f[a],g,!0),f.$observe("class",function(){var b=d.$eval(f[a]);g(b,b)}),"ngClass"!==a&&d.$watch("$index",function(c,e){var g=1&c;g!==e&1&&(g===b?i(d.$eval(f[a])):h(d.$eval(f[a])))})})}var Tc=function(a){return u(a)?a.toLowerCase():a},Uc=function(a){return u(a)?a.toUpperCase():a},Vc=function(a){return u(a)?a.replace(/[A-Z]/g,function(a){return String.fromCharCode(32|a.charCodeAt(0)) -}):a},Wc=function(a){return u(a)?a.replace(/[a-z]/g,function(a){return String.fromCharCode(-33&a.charCodeAt(0))}):a};"i"!=="I".toLowerCase()&&(Tc=Vc,Uc=Wc);var Xc,Yc,Zc,$c,_c=m((/msie (\d+)/.exec(Tc(navigator.userAgent))||[])[1]),ad=[].slice,bd=[].push,cd=Object.prototype.toString,dd=a.angular,ed=a.angular||(a.angular={}),fd=["0","0","0"];o.$inject=[],p.$inject=[],$c=9>_c?function(a){return a=a.nodeName?a:a[0],a.scopeName&&"HTML"!=a.scopeName?Uc(a.scopeName+":"+a.nodeName):a.nodeName}:function(a){return a.nodeName?a.nodeName:a[0].nodeName};var gd=/[A-Z]/g,hd={full:"1.1.5",major:1,minor:1,dot:5,codeName:"triangle-squarification"},id=gb.cache={},jd=gb.expando="ng-"+(new Date).getTime(),kd=1,ld=a.document.addEventListener?function(a,b,c){a.addEventListener(b,c,!1)}:function(a,b,c){a.attachEvent("on"+b,c)},md=a.document.removeEventListener?function(a,b,c){a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent("on"+b,c)},nd=/([\:\-\_]+(.))/g,od=/^moz([A-Z])/,pd=gb.prototype={ready:function(c){function d(){e||(e=!0,c())}var e=!1;"complete"===b.readyState?setTimeout(d):(this.bind("DOMContentLoaded",d),gb(a).bind("load",d))},toString:function(){var a=[];return f(this,function(b){a.push(""+b)}),"["+a.join(", ")+"]"},eq:function(a){return Xc(a>=0?this[a]:this[this.length+a])},length:0,push:bd,sort:[].sort,splice:[].splice},qd={};f("multiple,selected,checked,disabled,readOnly,required,open".split(","),function(a){qd[Tc(a)]=a});var rd={};f("input,select,option,textarea,button,form,details".split(","),function(a){rd[Uc(a)]=!0}),f({data:mb,inheritedData:sb,scope:function(a){return sb(a,"$scope")},controller:rb,injector:function(a){return sb(a,"$injector")},removeAttr:function(a,b){a.removeAttribute(b)},hasClass:nb,css:function(a,b,d){if(b=eb(b),!s(d)){var e;return 8>=_c&&(e=a.currentStyle&&a.currentStyle[b],""===e&&(e="auto")),e=e||a.style[b],8>=_c&&(e=""===e?c:e),e}a.style[b]=d},attr:function(a,b,d){var e=Tc(b);if(qd[e]){if(!s(d))return a[b]||(a.attributes.getNamedItem(b)||o).specified?e:c;d?(a[b]=!0,a.setAttribute(b,e)):(a[b]=!1,a.removeAttribute(e))}else if(s(d))a.setAttribute(b,d);else if(a.getAttribute){var f=a.getAttribute(b,2);return null===f?c:f}},prop:function(a,b,c){return s(c)?void(a[b]=c):a[b]},text:l(9>_c?function(a,b){if(1==a.nodeType){if(r(b))return a.innerText;a.innerText=b}else{if(r(b))return a.nodeValue;a.nodeValue=b}}:function(a,b){return r(b)?a.textContent:void(a.textContent=b)},{$dv:""}),val:function(a,b){return r(b)?a.value:void(a.value=b)},html:function(a,b){if(r(b))return a.innerHTML;for(var c=0,d=a.childNodes;c0||parseFloat(p[c+h])>0)&&(f=a,k=c,o=Math.max(parseInt(p[f+j])||0,parseInt(p[k+j])||0,o));var q=Math.max(n(p[f+i]),n(p[k+i])),r=Math.max(n(p[f+h]),n(p[k+h]));l=Math.max(q+o*r,l)}}),d.setTimeout(q,1e3*l)}else q()}function q(){q.run||(q.run=!0,j(k,l,m),k.removeClass(s),k.removeClass(A),k.removeData(a))}var r=b.$eval(g.ngAnimate),s=r?t(r)?r[h]:r+"-"+h:"",v=c(s),w=v&&v.setup,x=v&&v.start,z=v&&v.cancel;if(s){var A=s+"-active";if(l||(l=m?m.parent():k.parent()),!e.transitions&&!w&&!x||(l.inheritedData(a)||o).running)return i(k,l,m),void j(k,l,m);var B=k.data(a)||{};if(B.running&&((z||o)(k),B.done()),k.data(a,{running:!0,done:q}),k.addClass(s),i(k,l,m),0==k.length)return q();var C=(w||o)(k);d.setTimeout(p,1)}else i(k,l,m),j(k,l,m)}}function i(a){a.css("display","")}function j(a){a.css("display","none")}function k(a,b,c){c?c.after(a):b.append(a)}function l(a){a.remove()}function m(a,b,c){k(a,b,c)}var n={};return n.enter=h("enter",k,o),n.leave=h("leave",o,l),n.move=h("move",m,o),n.show=h("show",i,o),n.hide=h("hide",o,j),n.animate=function(a,b){h(a,o,o)(b)},n};return h.enabled=function(a){return arguments.length&&(b.running=!a),!b.running},h}]},xd="Non-assignable model expression: ";Fb.$inject=["$provide"];var yd=/^(x[\:\-_]|data[\:\-_])/i,zd=/^([^:]+):\/\/(\w+:{0,1}\w*@)?(\{?[\w\.-]*\}?)(:([0-9]+))?(\/[^\?#]*)?(\?([^#]*))?(#(.*))?$/,Ad=/^([^\?#]*)(\?([^#]*))?(#(.*))?$/,Bd={http:80,https:443,ftp:21};Ub.prototype=Tb.prototype=Sb.prototype={$$replace:!1,absUrl:Vb("$$absUrl"),url:function(a,b){if(r(a))return this.$$url;var c=Ad.exec(a);return c[1]&&this.path(decodeURIComponent(c[1])),(c[2]||c[1])&&this.search(c[3]||""),this.hash(c[5]||"",b),this},protocol:Vb("$$protocol"),host:Vb("$$host"),port:Vb("$$port"),path:Wb("$$path",function(a){return"/"==a.charAt(0)?a:"/"+a}),search:function(a,b){return r(a)?this.$$search:(s(b)?null===b?delete this.$$search[a]:this.$$search[a]=b:this.$$search=u(a)?T(a):a,this.$$compose(),this)},hash:Wb("$$hash",p),replace:function(){return this.$$replace=!0,this}};var Cd={"null":function(){return null},"true":function(){return!0},"false":function(){return!1},undefined:o,"+":function(a,b,d,e){return d=d(a,b),e=e(a,b),s(d)?s(e)?d+e:d:s(e)?e:c},"-":function(a,b,c,d){return c=c(a,b),d=d(a,b),(s(c)?c:0)-(s(d)?d:0)},"*":function(a,b,c,d){return c(a,b)*d(a,b)},"/":function(a,b,c,d){return c(a,b)/d(a,b)},"%":function(a,b,c,d){return c(a,b)%d(a,b)},"^":function(a,b,c,d){return c(a,b)^d(a,b)},"=":o,"===":function(a,b,c,d){return c(a,b)===d(a,b)},"!==":function(a,b,c,d){return c(a,b)!==d(a,b)},"==":function(a,b,c,d){return c(a,b)==d(a,b)},"!=":function(a,b,c,d){return c(a,b)!=d(a,b)},"<":function(a,b,c,d){return c(a,b)":function(a,b,c,d){return c(a,b)>d(a,b)},"<=":function(a,b,c,d){return c(a,b)<=d(a,b)},">=":function(a,b,c,d){return c(a,b)>=d(a,b)},"&&":function(a,b,c,d){return c(a,b)&&d(a,b)},"||":function(a,b,c,d){return c(a,b)||d(a,b)},"&":function(a,b,c,d){return c(a,b)&d(a,b)},"|":function(a,b,c,d){return d(a,b)(a,b,c(a,b))},"!":function(a,b,c){return!c(a,b)}},Dd={n:"\n",f:"\f",r:"\r",t:" ",v:" ","'":"'",'"':'"'},Ed={},Fd=/^(([^:]+):)?\/\/(\w+:{0,1}\w*@)?([\w\.-]*)?(:([0-9]+))?(.*)$/,Gd=a.XMLHttpRequest||function(){try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(a){}try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(b){}try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(c){}throw new Error("This browser does not support XMLHttpRequest.")};vc.$inject=["$provide"],xc.$inject=["$locale"],yc.$inject=["$locale"];var Hd=".",Id={yyyy:Bc("FullYear",4),yy:Bc("FullYear",2,0,!0),y:Bc("FullYear",1),MMMM:Cc("Month"),MMM:Cc("Month",!0),MM:Bc("Month",2,1),M:Bc("Month",1,1),dd:Bc("Date",2),d:Bc("Date",1),HH:Bc("Hours",2),H:Bc("Hours",1),hh:Bc("Hours",2,-12),h:Bc("Hours",1,-12),mm:Bc("Minutes",2),m:Bc("Minutes",1),ss:Bc("Seconds",2),s:Bc("Seconds",1),sss:Bc("Milliseconds",3),EEEE:Cc("Day"),EEE:Cc("Day",!0),a:Ec,Z:Dc},Jd=/((?:[^yMdHhmsaZE']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z))(.*)/,Kd=/^\d+$/;Fc.$inject=["$locale"];var Ld=q(Tc),Md=q(Uc);Ic.$inject=["$parse"];var Nd=q({restrict:"E",compile:function(a,c){return 8>=_c&&(c.href||c.name||c.$set("href",""),a.append(b.createComment("IE fix"))),function(a,b){b.bind("click",function(a){b.attr("href")||a.preventDefault()})}}}),Od={};f(qd,function(a,b){var c=Gb("ng-"+b);Od[c]=function(){return{priority:100,compile:function(){return function(a,d,e){a.$watch(e[c],function(a){e.$set(b,!!a)})}}}}}),f(["src","srcset","href"],function(a){var b=Gb("ng-"+a);Od[b]=function(){return{priority:99,link:function(c,d,e){e.$observe(b,function(b){b&&(e.$set(a,b),_c&&d.prop(a,e[a]))})}}}});var Pd={$addControl:o,$removeControl:o,$setValidity:o,$setDirty:o,$setPristine:o};Kc.$inject=["$element","$attrs","$scope"];var Qd=function(a){return["$timeout",function(b){var d={name:"form",restrict:"E",controller:Kc,compile:function(){return{pre:function(a,d,e,f){if(!e.action){var g=function(a){a.preventDefault?a.preventDefault():a.returnValue=!1};ld(d[0],"submit",g),d.bind("$destroy",function(){b(function(){md(d[0],"submit",g)},0,!1)})}var h=d.parent().controller("form"),i=e.name||e.ngForm;i&&(a[i]=f),h&&d.bind("$destroy",function(){h.$removeControl(f),i&&(a[i]=c),l(f,Pd)})}}}};return a?l(I(d),{restrict:"EAC"}):d}]},Rd=Qd(),Sd=Qd(!0),Td=/^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/,Ud=/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/,Vd=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/,Wd={text:Mc,number:Nc,url:Oc,email:Pc,radio:Qc,checkbox:Rc,hidden:o,button:o,submit:o,reset:o},Xd=["$browser","$sniffer",function(a,b){return{restrict:"E",require:"?ngModel",link:function(c,d,e,f){f&&(Wd[Tc(e.type)]||Wd.text)(c,d,e,f,b,a)}}}],Yd="ng-valid",Zd="ng-invalid",$d="ng-pristine",_d="ng-dirty",ae=["$scope","$exceptionHandler","$attrs","$element","$parse",function(a,b,c,d,e){function g(a,b){b=b?"-"+Z(b,"-"):"",d.removeClass((a?Zd:Yd)+b).addClass((a?Yd:Zd)+b)}this.$viewValue=Number.NaN,this.$modelValue=Number.NaN,this.$parsers=[],this.$formatters=[],this.$viewChangeListeners=[],this.$pristine=!0,this.$dirty=!1,this.$valid=!0,this.$invalid=!1,this.$name=c.name;var h=e(c.ngModel),i=h.assign;if(!i)throw Error(xd+c.ngModel+" ("+S(d)+")");this.$render=o;var j=d.inheritedData("$formController")||Pd,k=0,l=this.$error={};d.addClass($d),g(!0),this.$setValidity=function(a,b){l[a]!==!b&&(b?(l[a]&&k--,k||(g(!0),this.$valid=!0,this.$invalid=!1)):(g(!1),this.$invalid=!0,this.$valid=!1,k++),l[a]=!b,g(b,a),j.$setValidity(a,b,this))},this.$setPristine=function(){this.$dirty=!1,this.$pristine=!0,d.removeClass(_d).addClass($d)},this.$setViewValue=function(c){this.$viewValue=c,this.$pristine&&(this.$dirty=!0,this.$pristine=!1,d.removeClass($d).addClass(_d),j.$setDirty()),f(this.$parsers,function(a){c=a(c)}),this.$modelValue!==c&&(this.$modelValue=c,i(a,c),f(this.$viewChangeListeners,function(a){try{a()}catch(c){b(c)}}))};var m=this;a.$watch(function(){var b=h(a);if(m.$modelValue!==b){var c=m.$formatters,d=c.length;for(m.$modelValue=b;d--;)b=c[d](b);m.$viewValue!==b&&(m.$viewValue=b,m.$render())}})}],be=function(){return{require:["ngModel","^?form"],controller:ae,link:function(a,b,c,d){var e=d[0],f=d[1]||Pd;f.$addControl(e),b.bind("$destroy",function(){f.$removeControl(e)})}}},ce=q({require:"ngModel",link:function(a,b,c,d){d.$viewChangeListeners.push(function(){a.$eval(c.ngChange)})}}),de=function(){return{require:"?ngModel",link:function(a,b,c,d){if(d){c.required=!0;var e=function(a){return c.required&&(Lc(a)||a===!1)?void d.$setValidity("required",!1):(d.$setValidity("required",!0),a)};d.$formatters.push(e),d.$parsers.unshift(e),c.$observe("required",function(){e(d.$viewValue)})}}}},ee=function(){return{require:"ngModel",link:function(a,b,d,e){var g=/\/(.*)\//.exec(d.ngList),h=g&&new RegExp(g[1])||d.ngList||",",i=function(a){var b=[];return a&&f(a.split(h),function(a){a&&b.push(C(a))}),b};e.$parsers.push(i),e.$formatters.push(function(a){return x(a)?a.join(", "):c})}}},fe=/^(true|false|\d+)$/,ge=function(){return{priority:100,compile:function(a,b){return fe.test(b.ngValue)?function(a,b,c){c.$set("value",a.$eval(c.ngValue))}:function(a,b,c){a.$watch(c.ngValue,function(a){c.$set("value",a,!1)})}}}},he=Jc(function(a,b,d){b.addClass("ng-binding").data("$binding",d.ngBind),a.$watch(d.ngBind,function(a){b.text(a==c?"":a)})}),ie=["$interpolate",function(a){return function(b,c,d){var e=a(c.attr(d.$attr.ngBindTemplate));c.addClass("ng-binding").data("$binding",e),d.$observe("ngBindTemplate",function(a){c.text(a)})}}],je=[function(){return function(a,b,c){b.addClass("ng-binding").data("$binding",c.ngBindHtmlUnsafe),a.$watch(c.ngBindHtmlUnsafe,function(a){b.html(a||"")})}}],ke=Sc("",!0),le=Sc("Odd",0),me=Sc("Even",1),ne=Jc({compile:function(a,b){b.$set("ngCloak",c),a.removeClass("ng-cloak")}}),oe=[function(){return{scope:!0,controller:"@"}}],pe=["$sniffer",function(a){return{priority:1e3,compile:function(){a.csp=!0}}}],qe={};f("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress".split(" "),function(a){var b=Gb("ng-"+a);qe[b]=["$parse",function(c){return function(d,e,f){var g=c(f[b]);e.bind(Tc(a),function(a){d.$apply(function(){g(d,{$event:a})})})}}]});var re=Jc(function(a,b,c){b.bind("submit",function(){a.$apply(c.ngSubmit)})}),se=["$animator",function(a){return{transclude:"element",priority:1e3,terminal:!0,restrict:"A",compile:function(b,d,e){return function(b,d,f){var g,h,i=a(b,f);b.$watch(f.ngIf,function(a){g&&(i.leave(g),g=c),h&&(h.$destroy(),h=c),R(a)&&(h=b.$new(),e(h,function(a){g=a,i.enter(a,d.parent(),d)}))})}}}}],te=["$http","$templateCache","$anchorScroll","$compile","$animator",function(a,b,c,d,e){return{restrict:"ECA",terminal:!0,compile:function(f,g){var h=g.ngInclude||g.src,i=g.onload||"",j=g.autoscroll;return function(f,g,k){var l,m=e(f,k),n=0,o=function(){l&&(l.$destroy(),l=null),m.leave(g.contents(),g)};f.$watch(h,function(e){var h=++n;e?(a.get(e,{cache:b}).success(function(a){if(h===n){l&&l.$destroy(),l=f.$new(),m.leave(g.contents(),g);var b=Xc("
    ").html(a).contents();m.enter(b,g),d(b)(l),!s(j)||j&&!f.$eval(j)||c(),l.$emit("$includeContentLoaded"),f.$eval(i)}}).error(function(){h===n&&o()}),f.$emit("$includeContentRequested")):o()})}}}}],ue=Jc({compile:function(){return{pre:function(a,b,c){a.$eval(c.ngInit)}}}}),ve=Jc({terminal:!0,priority:1e3}),we=["$locale","$interpolate",function(a,b){var c=/{}/g;return{restrict:"EA",link:function(d,e,g){var h=g.count,i=e.attr(g.$attr.when),j=g.offset||0,k=d.$eval(i),l={},m=b.startSymbol(),n=b.endSymbol();f(k,function(a,d){l[d]=b(a.replace(c,m+h+"-"+j+n))}),d.$watch(function(){var b=parseFloat(d.$eval(h));return isNaN(b)?"":(b in k||(b=a.pluralCat(b-j)),l[b](d,e,!0))},function(a){e.text(a)})}}}],xe=["$parse","$animator",function(a,b){var c="$$NG_REMOVED";return{transclude:"element",priority:1e3,terminal:!0,compile:function(d,g,h){return function(d,g,i){var j,k,l,m,n,o,p,q=b(d,i),r=i.ngRepeat,s=r.match(/^\s*(.+)\s+in\s+(.*?)\s*(\s+track\s+by\s+(.+)\s*)?$/),t={$id:vb};if(!s)throw Error("Expected ngRepeat in form of '_item_ in _collection_[ track by _id_]' but got '"+r+"'.");if(m=s[1],n=s[2],j=s[4],j?(k=a(j),l=function(a,b,c){return p&&(t[p]=a),t[o]=b,t.$index=c,k(d,t)}):l=function(a,b){return vb(b)},s=m.match(/^(?:([\$\w]+)|\(([\$\w]+)\s*,\s*([\$\w]+)\))$/),!s)throw Error("'item' in 'item in collection' should be identifier or (key, value) but got '"+m+"'.");o=s[3]||s[1],p=s[2];var u={};d.$watchCollection(n,function(a){var b,i,j,k,m,n,s,t,v,w,x=g,y={},z=[];if(e(a))v=a;else{v=[];for(n in a)a.hasOwnProperty(n)&&"$"!=n.charAt(0)&&v.push(n);v.sort()}for(k=v.length,i=z.length=v.length,b=0;i>b;b++)if(n=a===v?b:v[b],s=a[n],t=l(n,s,b),u.hasOwnProperty(t))w=u[t],delete u[t],y[t]=w,z[b]=w;else{if(y.hasOwnProperty(t))throw f(z,function(a){a&&a.element&&(u[a.id]=a)}),new Error("Duplicates in a repeater are not allowed. Repeater: "+r+" key: "+t);z[b]={id:t},y[t]=!1}for(n in u)u.hasOwnProperty(n)&&(w=u[n],q.leave(w.element),w.element[0][c]=!0,w.scope.$destroy());for(b=0,i=v.length;i>b;b++){if(n=a===v?b:v[b],s=a[n],w=z[b],w.element){m=w.scope,j=x[0];do j=j.nextSibling;while(j&&j[c]);w.element[0]==j?x=w.element:(q.move(w.element,null,x),x=w.element)}else m=d.$new();m[o]=s,p&&(m[p]=n),m.$index=b,m.$first=0===b,m.$last=b===k-1,m.$middle=!(m.$first||m.$last),w.element||h(m,function(a){q.enter(a,null,x),x=a,w.scope=m,w.element=a,y[w.id]=w})}u=y})}}}}],ye=["$animator",function(a){return function(b,c,d){var e=a(b,d);b.$watch(d.ngShow,function(a){e[R(a)?"show":"hide"](c)})}}],ze=["$animator",function(a){return function(b,c,d){var e=a(b,d);b.$watch(d.ngHide,function(a){e[R(a)?"hide":"show"](c)})}}],Ae=Jc(function(a,b,c){a.$watch(c.ngStyle,function(a,c){c&&a!==c&&f(c,function(a,c){b.css(c,"")}),a&&b.css(a)},!0)}),Be=["$animator",function(a){return{restrict:"EA",require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(b,c,d,e){var g,h,i=a(b,d),j=d.ngSwitch||d.on,k=[];b.$watch(j,function(a){for(var c=0,j=k.length;j>c;c++)k[c].$destroy(),i.leave(h[c]);h=[],k=[],(g=e.cases["!"+a]||e.cases["?"])&&(b.$eval(d.change),f(g,function(a){var c=b.$new();k.push(c),a.transclude(c,function(b){var c=a.element;h.push(b),i.enter(b,c.parent(),c)})}))})}}}],Ce=Jc({transclude:"element",priority:500,require:"^ngSwitch",compile:function(a,b,c){return function(a,d,e,f){f.cases["!"+b.ngSwitchWhen]=f.cases["!"+b.ngSwitchWhen]||[],f.cases["!"+b.ngSwitchWhen].push({transclude:c,element:d})}}}),De=Jc({transclude:"element",priority:500,require:"^ngSwitch",compile:function(a,b,c){return function(a,b,d,e){e.cases["?"]=e.cases["?"]||[],e.cases["?"].push({transclude:c,element:b})}}}),Ee=Jc({controller:["$transclude","$element",function(a,b){a(function(a){b.append(a)})}]}),Fe=["$http","$templateCache","$route","$anchorScroll","$compile","$controller","$animator",function(a,b,c,d,e,f,g){return{restrict:"ECA",terminal:!0,link:function(a,b,h){function i(){l&&(l.$destroy(),l=null)}function j(){n.leave(b.contents(),b),i()}function k(){var g=c.current&&c.current.locals,h=g&&g.$template;if(h){j();var i=Xc("
    ").html(h).contents();n.enter(i,b);var k,o=e(i),p=c.current;l=p.scope=a.$new(),p.controller&&(g.$scope=l,k=f(p.controller,g),p.controllerAs&&(l[p.controllerAs]=k),b.children().data("$ngControllerController",k)),o(l),l.$emit("$viewContentLoaded"),l.$eval(m),d()}else j()}var l,m=h.onload||"",n=g(a,h);a.$on("$routeChangeSuccess",k),k()}}}],Ge=["$templateCache",function(a){return{restrict:"E",terminal:!0,compile:function(b,c){if("text/ng-template"==c.type){var d=c.id,e=b[0].text;a.put(d,e)}}}}],He=q({terminal:!0}),Ie=["$compile","$parse",function(a,d){var e=/^\s*(.*?)(?:\s+as\s+(.*?))?(?:\s+group\s+by\s+(.*))?\s+for\s+(?:([\$\w][\$\w\d]*)|(?:\(\s*([\$\w][\$\w\d]*)\s*,\s*([\$\w][\$\w\d]*)\s*\)))\s+in\s+(.*?)(?:\s+track\s+by\s+(.*?))?$/,h={$setViewValue:o};return{restrict:"E",require:["select","?ngModel"],controller:["$element","$scope","$attrs",function(a,b,c){var d,e,f=this,g={},i=h;f.databound=c.ngModel,f.init=function(a,b,c){i=a,d=b,e=c},f.addOption=function(b){g[b]=!0,i.$viewValue==b&&(a.val(b),e.parent()&&e.remove())},f.removeOption=function(a){this.hasOption(a)&&(delete g[a],i.$viewValue==a&&this.renderUnknownOption(a))},f.renderUnknownOption=function(b){var c="? "+vb(b)+" ?";e.val(c),a.prepend(e),a.val(c),e.prop("selected",!0)},f.hasOption=function(a){return g.hasOwnProperty(a)},b.$on("$destroy",function(){f.renderUnknownOption=o})}],link:function(h,i,j,k){function l(a,b,c,d){c.$render=function(){var a=c.$viewValue;d.hasOption(a)?(z.parent()&&z.remove(),b.val(a),""===a&&o.prop("selected",!0)):r(a)&&o?b.val(""):d.renderUnknownOption(a)},b.bind("change",function(){a.$apply(function(){z.parent()&&z.remove(),c.$setViewValue(b.val())})})}function m(a,b,c){var d;c.$render=function(){var a=new wb(c.$viewValue);f(b.find("option"),function(b){b.selected=s(a.get(b.value))})},a.$watch(function(){K(d,c.$viewValue)||(d=I(c.$viewValue),c.$render())}),b.bind("change",function(){a.$apply(function(){var a=[];f(b.find("option"),function(b){b.selected&&a.push(b.value)}),c.$setViewValue(a)})})}function n(b,f,h){function i(){var a,d,e,i,j,q,u,z,A,B,C,D,E,F,G={"":[]},H=[""],I=h.$modelValue,J=p(b)||[],K=m?g(J):J,L={},M=!1;if(t)if(r&&x(I)){M=new wb([]);for(var N=0;NB;B++){if(L[l]=J[m?L[m]=K[B]:B],a=n(b,L)||"",(d=G[a])||(d=G[a]=[],H.push(a)),t)C=M.remove(r?r(b,L):o(b,L))!=c;else{if(r){var O={};O[l]=I,C=r(b,O)===r(b,L)}else C=I===o(b,L);M=M||C}F=k(b,L),F=F===c?"":F,d.push({id:r?r(b,L):m?K[B]:B,label:F,selected:C})}for(t||(v||null===I?G[""].unshift({id:"",label:"",selected:!M}):M||G[""].unshift({id:"?",label:"",selected:!0})),A=0,u=H.length;u>A;A++){for(a=H[A],d=G[a],s.length<=A?(i={element:y.clone().attr("label",a),label:d.label},j=[i],s.push(j),f.append(i.element)):(j=s[A],i=j[0],i.label!=a&&i.element.attr("label",i.label=a)),D=null,B=0,z=d.length;z>B;B++)e=d[B],(q=j[B+1])?(D=q.element,q.label!==e.label&&D.text(q.label=e.label),q.id!==e.id&&D.val(q.id=e.id),D[0].selected!==e.selected&&D.prop("selected",q.selected=e.selected)):(""===e.id&&v?E=v:(E=w.clone()).val(e.id).attr("selected",e.selected).text(e.label),j.push(q={element:E,label:e.label,id:e.id,selected:e.selected}),D?D.after(E):i.element.append(E),D=E);for(B++;j.length>B;)j.pop().element.remove()}for(;s.length>A;)s.pop()[0].element.remove()}var j;if(!(j=u.match(e)))throw Error("Expected ngOptions in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_ (track by _expr_)?' but got '"+u+"'.");var k=d(j[2]||j[1]),l=j[4]||j[6],m=j[5],n=d(j[3]||""),o=d(j[2]?j[1]:l),p=d(j[7]),q=j[8],r=q?d(j[8]):null,s=[[{element:f,label:""}]];v&&(a(v)(b),v.removeClass("ng-scope"),v.remove()),f.html(""),f.bind("change",function(){b.$apply(function(){var a,d,e,g,i,j,k,n,q=p(b)||[],u={};if(t){for(e=[],j=0,n=s.length;n>j;j++)for(a=s[j],i=1,k=a.length;k>i;i++)if((g=a[i].element)[0].selected){if(d=g.val(),m&&(u[m]=d),r)for(var v=0;vA;A++)if(""==B[A].value){o=v=B.eq(A);break}if(p.init(q,v,z),t&&(j.required||j.ngRequired)){var D=function(a){return q.$setValidity("required",!j.required||a&&a.length),a};q.$parsers.push(D),q.$formatters.unshift(D),j.$observe("required",function(){D(q.$viewValue)})}u?n(h,i,q):t?m(h,i,q):l(h,i,q,p)}}}}],Je=["$interpolate",function(a){var b={addOption:o,removeOption:o};return{restrict:"E",priority:100,compile:function(c,d){if(r(d.value)){var e=a(c.text(),!0);e||d.$set("value",c.text())}return function(a,c,d){var f="$selectController",g=c.parent(),h=g.data(f)||g.parent().data(f);h&&h.databound?c.prop("selected",!1):h=b,e?a.$watch(e,function(a,b){d.$set("value",a),a!==b&&h.removeOption(b),h.addOption(a)}):h.addOption(d.value),c.bind("$destroy",function(){h.removeOption(d.value)})}}}}],Ke=q({restrict:"E",terminal:!0});$(),cb(ed),Xc(b).ready(function(){X(b,Y)})}(window,document),angular.element(document).find("head").append(''),define("angular",["jquery","config"],function(a){return function(){var b;return b||a.angular}}(this)),function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F=this,G=F&&F.ejs,H=Array.prototype,I=Object.prototype,J=H.slice,K=I.toString,L=I.hasOwnProperty,M=H.forEach,N=Array.isArray,O=H.indexOf,P={};E="undefined"!=typeof exports?exports:F.ejs={},a=function(a,b){return L.call(a,b)},b=function(b,c,d){if(null!=b)if(M&&b.forEach===M)b.forEach(c,d);else if(b.length===+b.length){for(var e=0,f=b.length;f>e;e++)if(c.call(d,b[e],e,b)===P)return}else for(var g in b)if(a(b,g)&&c.call(d,b[g],g,b)===P)return},c=function(a){return b(J.call(arguments,1),function(b){for(var c in b)a[c]=b[c]}),a},d=function(a,b){if(null==a)return-1;var c=0,d=a.length;if(O&&a.indexOf===O)return a.indexOf(b);for(;d>c;c++)if(a[c]===b)return c;return-1},e=function(b,c){var e,f,h={};for(e in b)a(b,e)&&-1===d(c,e)&&(f=b[e],g(f)&&(f=f.join()),h[e]=f);return h},f=function(b,c){var d,f=e(b,c),g=[];for(d in f)a(f,d)&&g.push(d+"="+encodeURIComponent(f[d]));return g.join("&")},g=N||function(a){return"[object Array]"===K.call(a)},h=function(a){return a===Object(a)},i=function(a){return"[object String]"===K.call(a)},j=function(a){return"[object Number]"===K.call(a)},k="function"!=typeof/./?function(a){return"function"==typeof a}:function(a){return"[object Function]"===K.call(a)},l=function(b){return h(b)&&a(b,"_type")&&a(b,"_self")&&a(b,"toString")},m=function(a){return l(a)&&"query"===a._type()},n=function(a){return l(a)&&"rescore"===a._type()},o=function(a){return l(a)&&"filter"===a._type()},p=function(a){return l(a)&&"facet"===a._type()},q=function(a){return l(a)&&"script field"===a._type()},r=function(a){return l(a)&&"geo point"===a._type()},s=function(a){return l(a)&&"indexed shape"===a._type()},t=function(a){return l(a)&&"shape"===a._type()},u=function(a){return l(a)&&"sort"===a._type()},v=function(a){return l(a)&&"highlight"===a._type()},w=function(a){return l(a)&&"suggest"===a._type()},x=function(a){return l(a)&&"generator"===a._type()},y=function(a){return l(a)&&"cluster health"===a._type()},z=function(a){return l(a)&&"cluster state"===a._type()},A=function(a){return l(a)&&"node stats"===a._type()},B=function(a){return l(a)&&"node info"===a._type()},C=function(a){return l(a)&&"request"===a._type()},D=function(a){return l(a)&&"multi search request"===a._type()},E.DateHistogramFacet=function(a){var b={};return b[a]={date_histogram:{}},{field:function(c){return null==c?b[a].date_histogram.field:(b[a].date_histogram.field=c,this)},keyField:function(c){return null==c?b[a].date_histogram.key_field:(b[a].date_histogram.key_field=c,this)},valueField:function(c){return null==c?b[a].date_histogram.value_field:(b[a].date_histogram.value_field=c,this)},interval:function(c){return null==c?b[a].date_histogram.interval:(b[a].date_histogram.interval=c,this)},timeZone:function(c){return null==c?b[a].date_histogram.time_zone:(b[a].date_histogram.time_zone=c,this)},preZone:function(c){return null==c?b[a].date_histogram.pre_zone:(b[a].date_histogram.pre_zone=c,this)},preZoneAdjustLargeInterval:function(c){return null==c?b[a].date_histogram.pre_zone_adjust_large_interval:(b[a].date_histogram.pre_zone_adjust_large_interval=c,this)},postZone:function(c){return null==c?b[a].date_histogram.post_zone:(b[a].date_histogram.post_zone=c,this)},preOffset:function(c){return null==c?b[a].date_histogram.pre_offset:(b[a].date_histogram.pre_offset=c,this)},postOffset:function(c){return null==c?b[a].date_histogram.post_offset:(b[a].date_histogram.post_offset=c,this)},factor:function(c){return null==c?b[a].date_histogram.factor:(b[a].date_histogram.factor=c,this)},valueScript:function(c){return null==c?b[a].date_histogram.value_script:(b[a].date_histogram.value_script=c,this)},order:function(c){return null==c?b[a].date_histogram.order:(c=c.toLowerCase(),("time"===c||"count"===c||"total"===c)&&(b[a].date_histogram.order=c),this)},lang:function(c){return null==c?b[a].date_histogram.lang:(b[a].date_histogram.lang=c,this)},params:function(c){return null==c?b[a].date_histogram.params:(b[a].date_histogram.params=c,this)},facetFilter:function(c){if(null==c)return b[a].facet_filter;if(!o(c))throw new TypeError("Argument must be a Filter");return b[a].facet_filter=c._self(),this},global:function(c){return null==c?b[a].global:(b[a].global=c,this)},mode:function(c){return null==c?b[a].mode:(c=c.toLowerCase(),("collector"===c||"post"===c)&&(b[a].mode=c),this)},scope:function(){return this},cacheFilter:function(c){return null==c?b[a].cache_filter:(b[a].cache_filter=c,this)},nested:function(c){return null==c?b[a].nested:(b[a].nested=c,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"facet"},_self:function(){return b}}},E.FilterFacet=function(a){var b={};return b[a]={},{filter:function(c){if(null==c)return b[a].filter;if(!o(c))throw new TypeError("Argument must be a Filter");return b[a].filter=c._self(),this},facetFilter:function(c){if(null==c)return b[a].facet_filter;if(!o(c))throw new TypeError("Argument must be a Filter");return b[a].facet_filter=c._self(),this},global:function(c){return null==c?b[a].global:(b[a].global=c,this)},mode:function(c){return null==c?b[a].mode:(c=c.toLowerCase(),("collector"===c||"post"===c)&&(b[a].mode=c),this)},scope:function(){return this},cacheFilter:function(c){return null==c?b[a].cache_filter:(b[a].cache_filter=c,this)},nested:function(c){return null==c?b[a].nested:(b[a].nested=c,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"facet"},_self:function(){return b}}},E.GeoDistanceFacet=function(a){var b={},c=E.GeoPoint([0,0]),d="location";return b[a]={geo_distance:{location:c._self(),ranges:[]}},{field:function(c){var e=b[a].geo_distance[d];return null==c?d:(delete b[a].geo_distance[d],d=c,b[a].geo_distance[c]=e,this)},point:function(e){if(null==e)return c;if(!r(e))throw new TypeError("Argument must be a GeoPoint");return c=e,b[a].geo_distance[d]=e._self(),this},addRange:function(c,d){return 0===arguments.length?b[a].geo_distance.ranges:(b[a].geo_distance.ranges.push({from:c,to:d}),this)},addUnboundedFrom:function(c){return null==c?b[a].geo_distance.ranges:(b[a].geo_distance.ranges.push({from:c}),this)},addUnboundedTo:function(c){return null==c?b[a].geo_distance.ranges:(b[a].geo_distance.ranges.push({to:c}),this)},unit:function(c){return null==c?b[a].geo_distance.unit:(c=c.toLowerCase(),("mi"===c||"km"===c)&&(b[a].geo_distance.unit=c),this) -},distanceType:function(c){return null==c?b[a].geo_distance.distance_type:(c=c.toLowerCase(),("arc"===c||"plane"===c)&&(b[a].geo_distance.distance_type=c),this)},normalize:function(c){return null==c?b[a].geo_distance.normalize:(b[a].geo_distance.normalize=c,this)},valueField:function(c){return null==c?b[a].geo_distance.value_field:(b[a].geo_distance.value_field=c,this)},valueScript:function(c){return null==c?b[a].geo_distance.value_script:(b[a].geo_distance.value_script=c,this)},lang:function(c){return null==c?b[a].geo_distance.lang:(b[a].geo_distance.lang=c,this)},params:function(c){return null==c?b[a].geo_distance.params:(b[a].geo_distance.params=c,this)},facetFilter:function(c){if(null==c)return b[a].facet_filter;if(!o(c))throw new TypeError("Argument must be a Filter");return b[a].facet_filter=c._self(),this},global:function(c){return null==c?b[a].global:(b[a].global=c,this)},mode:function(c){return null==c?b[a].mode:(c=c.toLowerCase(),("collector"===c||"post"===c)&&(b[a].mode=c),this)},scope:function(){return this},cacheFilter:function(c){return null==c?b[a].cache_filter:(b[a].cache_filter=c,this)},nested:function(c){return null==c?b[a].nested:(b[a].nested=c,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"facet"},_self:function(){return b}}},E.HistogramFacet=function(a){var b={};return b[a]={histogram:{}},{field:function(c){return null==c?b[a].histogram.field:(b[a].histogram.field=c,this)},interval:function(c){return null==c?b[a].histogram.interval:(b[a].histogram.interval=c,this)},timeInterval:function(c){return null==c?b[a].histogram.time_interval:(b[a].histogram.time_interval=c,this)},from:function(c){return null==c?b[a].histogram.from:(b[a].histogram.from=c,this)},to:function(c){return null==c?b[a].histogram.to:(b[a].histogram.to=c,this)},valueField:function(c){return null==c?b[a].histogram.value_field:(b[a].histogram.value_field=c,this)},keyField:function(c){return null==c?b[a].histogram.key_field:(b[a].histogram.key_field=c,this)},valueScript:function(c){return null==c?b[a].histogram.value_script:(b[a].histogram.value_script=c,this)},keyScript:function(c){return null==c?b[a].histogram.key_script:(b[a].histogram.key_script=c,this)},lang:function(c){return null==c?b[a].histogram.lang:(b[a].histogram.lang=c,this)},params:function(c){return null==c?b[a].histogram.params:(b[a].histogram.params=c,this)},order:function(c){return null==c?b[a].histogram.order:(c=c.toLowerCase(),("key"===c||"count"===c||"total"===c)&&(b[a].histogram.order=c),this)},facetFilter:function(c){if(null==c)return b[a].facet_filter;if(!o(c))throw new TypeError("Argument must be a Filter");return b[a].facet_filter=c._self(),this},global:function(c){return null==c?b[a].global:(b[a].global=c,this)},mode:function(c){return null==c?b[a].mode:(c=c.toLowerCase(),("collector"===c||"post"===c)&&(b[a].mode=c),this)},scope:function(){return this},cacheFilter:function(c){return null==c?b[a].cache_filter:(b[a].cache_filter=c,this)},nested:function(c){return null==c?b[a].nested:(b[a].nested=c,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"facet"},_self:function(){return b}}},E.QueryFacet=function(a){var b={};return b[a]={},{query:function(c){if(null==c)return b[a].query;if(!m(c))throw new TypeError("Argument must be a Query");return b[a].query=c._self(),this},facetFilter:function(c){if(null==c)return b[a].facet_filter;if(!o(c))throw new TypeError("Argumnet must be a Filter");return b[a].facet_filter=c._self(),this},global:function(c){return null==c?b[a].global:(b[a].global=c,this)},mode:function(c){return null==c?b[a].mode:(c=c.toLowerCase(),("collector"===c||"post"===c)&&(b[a].mode=c),this)},scope:function(){return this},cacheFilter:function(c){return null==c?b[a].cache_filter:(b[a].cache_filter=c,this)},nested:function(c){return null==c?b[a].nested:(b[a].nested=c,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"facet"},_self:function(){return b}}},E.RangeFacet=function(a){var b={};return b[a]={range:{ranges:[]}},{field:function(c){return null==c?b[a].range.field:(b[a].range.field=c,this)},keyField:function(c){return null==c?b[a].range.key_field:(b[a].range.key_field=c,this)},valueField:function(c){return null==c?b[a].range.value_field:(b[a].range.value_field=c,this)},valueScript:function(c){return null==c?b[a].range.value_script:(b[a].range.value_script=c,this)},keyScript:function(c){return null==c?b[a].range.key_script:(b[a].range.key_script=c,this)},lang:function(c){return null==c?b[a].range.lang:(b[a].range.lang=c,this)},params:function(c){return null==c?b[a].range.params:(b[a].range.params=c,this)},addRange:function(c,d){return 0===arguments.length?b[a].range.ranges:(b[a].range.ranges.push({from:c,to:d}),this)},addUnboundedFrom:function(c){return null==c?b[a].range.ranges:(b[a].range.ranges.push({from:c}),this)},addUnboundedTo:function(c){return null==c?b[a].range.ranges:(b[a].range.ranges.push({to:c}),this)},facetFilter:function(c){if(null==c)return b[a].facet_filter;if(!o(c))throw new TypeError("Argument must be a Filter");return b[a].facet_filter=c._self(),this},global:function(c){return null==c?b[a].global:(b[a].global=c,this)},mode:function(c){return null==c?b[a].mode:(c=c.toLowerCase(),("collector"===c||"post"===c)&&(b[a].mode=c),this)},scope:function(){return this},cacheFilter:function(c){return null==c?b[a].cache_filter:(b[a].cache_filter=c,this)},nested:function(c){return null==c?b[a].nested:(b[a].nested=c,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"facet"},_self:function(){return b}}},E.StatisticalFacet=function(a){var b={};return b[a]={statistical:{}},{field:function(c){return null==c?b[a].statistical.field:(b[a].statistical.field=c,this)},fields:function(c){if(null==c)return b[a].statistical.fields;if(!g(c))throw new TypeError("Argument must be an array");return b[a].statistical.fields=c,this},script:function(c){return null==c?b[a].statistical.script:(b[a].statistical.script=c,this)},lang:function(c){return null==c?b[a].statistical.lang:(b[a].statistical.lang=c,this)},params:function(c){return null==c?b[a].statistical.params:(b[a].statistical.params=c,this)},facetFilter:function(c){if(null==c)return b[a].facet_filter;if(!o(c))throw new TypeError("Argument must be a Filter");return b[a].facet_filter=c._self(),this},global:function(c){return null==c?b[a].global:(b[a].global=c,this)},mode:function(c){return null==c?b[a].mode:(c=c.toLowerCase(),("collector"===c||"post"===c)&&(b[a].mode=c),this)},scope:function(){return this},cacheFilter:function(c){return null==c?b[a].cache_filter:(b[a].cache_filter=c,this)},nested:function(c){return null==c?b[a].nested:(b[a].nested=c,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"facet"},_self:function(){return b}}},E.TermStatsFacet=function(a){var b={};return b[a]={terms_stats:{}},{valueField:function(c){return null==c?b[a].terms_stats.value_field:(b[a].terms_stats.value_field=c,this)},keyField:function(c){return null==c?b[a].terms_stats.key_field:(b[a].terms_stats.key_field=c,this)},scriptField:function(c){return null==c?b[a].terms_stats.script_field:(b[a].terms_stats.script_field=c,this)},valueScript:function(c){return null==c?b[a].terms_stats.value_script:(b[a].terms_stats.value_script=c,this)},allTerms:function(c){return null==c?b[a].terms_stats.all_terms:(b[a].terms_stats.all_terms=c,this)},lang:function(c){return null==c?b[a].terms_stats.lang:(b[a].terms_stats.lang=c,this)},params:function(c){return null==c?b[a].terms_stats.params:(b[a].terms_stats.params=c,this)},size:function(c){return null==c?b[a].terms_stats.size:(b[a].terms_stats.size=c,this)},order:function(c){return null==c?b[a].terms_stats.order:(c=c.toLowerCase(),("count"===c||"term"===c||"reverse_count"===c||"reverse_term"===c||"total"===c||"reverse_total"===c||"min"===c||"reverse_min"===c||"max"===c||"reverse_max"===c||"mean"===c||"reverse_mean"===c)&&(b[a].terms_stats.order=c),this)},facetFilter:function(c){if(null==c)return b[a].facet_filter;if(!o(c))throw new TypeError("Argument must be a Filter");return b[a].facet_filter=c._self(),this},global:function(c){return null==c?b[a].global:(b[a].global=c,this)},mode:function(c){return null==c?b[a].mode:(c=c.toLowerCase(),("collector"===c||"post"===c)&&(b[a].mode=c),this)},scope:function(){return this},cacheFilter:function(c){return null==c?b[a].cache_filter:(b[a].cache_filter=c,this)},nested:function(c){return null==c?b[a].nested:(b[a].nested=c,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"facet"},_self:function(){return b}}},E.TermsFacet=function(a){var b={};return b[a]={terms:{}},{field:function(c){return null==c?b[a].terms.field:(b[a].terms.field=c,this)},fields:function(c){if(null==c)return b[a].terms.fields;if(!g(c))throw new TypeError("Argument must be an array");return b[a].terms.fields=c,this},scriptField:function(c){return null==c?b[a].terms.script_field:(b[a].terms.script_field=c,this)},size:function(c){return null==c?b[a].terms.size:(b[a].terms.size=c,this)},order:function(c){return null==c?b[a].terms.order:(c=c.toLowerCase(),("count"===c||"term"===c||"reverse_count"===c||"reverse_term"===c)&&(b[a].terms.order=c),this)},allTerms:function(c){return null==c?b[a].terms.all_terms:(b[a].terms.all_terms=c,this)},exclude:function(c){if(null==b[a].terms.exclude&&(b[a].terms.exclude=[]),null==c)return b[a].terms.exclude;if(i(c))b[a].terms.exclude.push(c);else{if(!g(c))throw new TypeError("Argument must be string or array");b[a].terms.exclude=c}return this},regex:function(c){return null==c?b[a].terms.regex:(b[a].terms.regex=c,this)},regexFlags:function(c){return null==c?b[a].terms.regex_flags:(b[a].terms.regex_flags=c,this)},script:function(c){return null==c?b[a].terms.script:(b[a].terms.script=c,this)},lang:function(c){return null==c?b[a].terms.lang:(b[a].terms.lang=c,this)},params:function(c){return null==c?b[a].terms.params:(b[a].terms.params=c,this)},executionHint:function(c){return null==c?b[a].terms.execution_hint:(b[a].terms.execution_hint=c,this)},facetFilter:function(c){if(null==c)return b[a].facet_filter;if(!o(c))throw new TypeError("Argument must be a Filter");return b[a].facet_filter=c._self(),this},global:function(c){return null==c?b[a].global:(b[a].global=c,this)},mode:function(c){return null==c?b[a].mode:(c=c.toLowerCase(),("collector"===c||"post"===c)&&(b[a].mode=c),this)},scope:function(){return this},cacheFilter:function(c){return null==c?b[a].cache_filter:(b[a].cache_filter=c,this)},nested:function(c){return null==c?b[a].nested:(b[a].nested=c,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"facet"},_self:function(){return b}}},E.AndFilter=function(a){var b,c,d={and:{filters:[]}};if(o(a))d.and.filters.push(a._self());else{if(!g(a))throw new TypeError("Argument must be a Filter or Array of Filters");for(b=0,c=a.length;c>b;b++){if(!o(a[b]))throw new TypeError("Array must contain only Filter objects");d.and.filters.push(a[b]._self())}}return{filters:function(a){var b,c;if(null==a)return d.and.filters;if(o(a))d.and.filters.push(a._self());else{if(!g(a))throw new TypeError("Argument must be a Filter or an Array of Filters");for(d.and.filters=[],b=0,c=a.length;c>b;b++){if(!o(a[b]))throw new TypeError("Array must contain only Filter objects");d.and.filters.push(a[b]._self())}}return this},name:function(a){return null==a?d.and._name:(d.and._name=a,this)},cache:function(a){return null==a?d.and._cache:(d.and._cache=a,this)},cacheKey:function(a){return null==a?d.and._cache_key:(d.and._cache_key=a,this)},toString:function(){return JSON.stringify(d)},_type:function(){return"filter"},_self:function(){return d}}},E.BoolFilter=function(){var a={bool:{}};return{must:function(b){var c,d;if(null==a.bool.must&&(a.bool.must=[]),null==b)return a.bool.must;if(o(b))a.bool.must.push(b._self());else{if(!g(b))throw new TypeError("Argument must be a Filter or array of Filters");for(a.bool.must=[],c=0,d=b.length;d>c;c++){if(!o(b[c]))throw new TypeError("Argument must be an array of Filters");a.bool.must.push(b[c]._self())}}return this},mustNot:function(b){var c,d;if(null==a.bool.must_not&&(a.bool.must_not=[]),null==b)return a.bool.must_not;if(o(b))a.bool.must_not.push(b._self());else{if(!g(b))throw new TypeError("Argument must be a Filter or array of Filters");for(a.bool.must_not=[],c=0,d=b.length;d>c;c++){if(!o(b[c]))throw new TypeError("Argument must be an array of Filters");a.bool.must_not.push(b[c]._self())}}return this},should:function(b){var c,d;if(null==a.bool.should&&(a.bool.should=[]),null==b)return a.bool.should;if(o(b))a.bool.should.push(b._self());else{if(!g(b))throw new TypeError("Argument must be a Filter or array of Filters");for(a.bool.should=[],c=0,d=b.length;d>c;c++){if(!o(b[c]))throw new TypeError("Argument must be an array of Filters");a.bool.should.push(b[c]._self())}}return this},name:function(b){return null==b?a.bool._name:(a.bool._name=b,this)},cache:function(b){return null==b?a.bool._cache:(a.bool._cache=b,this)},cacheKey:function(b){return null==b?a.bool._cache_key:(a.bool._cache_key=b,this)},toString:function(){return JSON.stringify(a)},_type:function(){return"filter"},_self:function(){return a}}},E.ExistsFilter=function(a){var b={exists:{field:a}};return{field:function(a){return null==a?b.exists.field:(b.exists.field=a,this)},name:function(a){return null==a?b.exists._name:(b.exists._name=a,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"filter"},_self:function(){return b}}},E.GeoBboxFilter=function(a){var b={geo_bounding_box:{}};return b.geo_bounding_box[a]={},{field:function(c){var d=b.geo_bounding_box[a];return null==c?a:(delete b.geo_bounding_box[a],a=c,b.geo_bounding_box[c]=d,this)},topLeft:function(c){if(null==c)return b.geo_bounding_box[a].top_left;if(!r(c))throw new TypeError("Argument must be a GeoPoint");return b.geo_bounding_box[a].top_left=c._self(),this},bottomRight:function(c){if(null==c)return b.geo_bounding_box[a].bottom_right;if(!r(c))throw new TypeError("Argument must be a GeoPoint");return b.geo_bounding_box[a].bottom_right=c._self(),this},type:function(a){return null==a?b.geo_bounding_box.type:(a=a.toLowerCase(),("memory"===a||"indexed"===a)&&(b.geo_bounding_box.type=a),this)},normalize:function(a){return null==a?b.geo_bounding_box.normalize:(b.geo_bounding_box.normalize=a,this)},name:function(a){return null==a?b.geo_bounding_box._name:(b.geo_bounding_box._name=a,this)},cache:function(a){return null==a?b.geo_bounding_box._cache:(b.geo_bounding_box._cache=a,this)},cacheKey:function(a){return null==a?b.geo_bounding_box._cache_key:(b.geo_bounding_box._cache_key=a,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"filter"},_self:function(){return b}}},E.GeoDistanceFilter=function(a){var b={geo_distance:{}};return b.geo_distance[a]=[0,0],{field:function(c){var d=b.geo_distance[a];return null==c?a:(delete b.geo_distance[a],a=c,b.geo_distance[c]=d,this)},distance:function(a){if(null==a)return b.geo_distance.distance;if(!j(a))throw new TypeError("Argument must be a numeric value");return b.geo_distance.distance=a,this},unit:function(a){return null==a?b.geo_distance.unit:(a=a.toLowerCase(),("mi"===a||"km"===a)&&(b.geo_distance.unit=a),this)},point:function(c){if(null==c)return b.geo_distance[a];if(!r(c))throw new TypeError("Argument must be a GeoPoint");return b.geo_distance[a]=c._self(),this},distanceType:function(a){return null==a?b.geo_distance.distance_type:(a=a.toLowerCase(),("arc"===a||"plane"===a)&&(b.geo_distance.distance_type=a),this)},normalize:function(a){return null==a?b.geo_distance.normalize:(b.geo_distance.normalize=a,this)},optimizeBbox:function(a){return null==a?b.geo_distance.optimize_bbox:(a=a.toLowerCase(),("memory"===a||"indexed"===a||"none"===a)&&(b.geo_distance.optimize_bbox=a),this)},name:function(a){return null==a?b.geo_distance._name:(b.geo_distance._name=a,this)},cache:function(a){return null==a?b.geo_distance._cache:(b.geo_distance._cache=a,this)},cacheKey:function(a){return null==a?b.geo_distance._cache_key:(b.geo_distance._cache_key=a,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"filter"},_self:function(){return b}}},E.GeoDistanceRangeFilter=function(a){var b={geo_distance_range:{}};return b.geo_distance_range[a]=[0,0],{field:function(c){var d=b.geo_distance_range[a];return null==c?a:(delete b.geo_distance_range[a],a=c,b.geo_distance_range[c]=d,this)},from:function(a){if(null==a)return b.geo_distance_range.from;if(!j(a))throw new TypeError("Argument must be a numeric value");return b.geo_distance_range.from=a,this},to:function(a){if(null==a)return b.geo_distance_range.to;if(!j(a))throw new TypeError("Argument must be a numeric value");return b.geo_distance_range.to=a,this},includeLower:function(a){return null==a?b.geo_distance_range.include_lower:(b.geo_distance_range.include_lower=a,this)},includeUpper:function(a){return null==a?b.geo_distance_range.include_upper:(b.geo_distance_range.include_upper=a,this)},gt:function(a){if(null==a)return b.geo_distance_range.gt;if(!j(a))throw new TypeError("Argument must be a numeric value");return b.geo_distance_range.gt=a,this},gte:function(a){if(null==a)return b.geo_distance_range.gte;if(!j(a))throw new TypeError("Argument must be a numeric value");return b.geo_distance_range.gte=a,this},lt:function(a){if(null==a)return b.geo_distance_range.lt;if(!j(a))throw new TypeError("Argument must be a numeric value");return b.geo_distance_range.lt=a,this},lte:function(a){if(null==a)return b.geo_distance_range.lte;if(!j(a))throw new TypeError("Argument must be a numeric value");return b.geo_distance_range.lte=a,this},unit:function(a){return null==a?b.geo_distance_range.unit:(a=a.toLowerCase(),("mi"===a||"km"===a)&&(b.geo_distance_range.unit=a),this)},point:function(c){if(null==c)return b.geo_distance_range[a];if(!r(c))throw new TypeError("Argument must be a GeoPoint");return b.geo_distance_range[a]=c._self(),this},distanceType:function(a){return null==a?b.geo_distance_range.distance_type:(a=a.toLowerCase(),("arc"===a||"plane"===a)&&(b.geo_distance_range.distance_type=a),this)},normalize:function(a){return null==a?b.geo_distance_range.normalize:(b.geo_distance_range.normalize=a,this)},optimizeBbox:function(a){return null==a?b.geo_distance_range.optimize_bbox:(a=a.toLowerCase(),("memory"===a||"indexed"===a||"none"===a)&&(b.geo_distance_range.optimize_bbox=a),this)},name:function(a){return null==a?b.geo_distance_range._name:(b.geo_distance_range._name=a,this)},cache:function(a){return null==a?b.geo_distance_range._cache:(b.geo_distance_range._cache=a,this)},cacheKey:function(a){return null==a?b.geo_distance_range._cache_key:(b.geo_distance_range._cache_key=a,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"filter"},_self:function(){return b}}},E.GeoPolygonFilter=function(a){var b={geo_polygon:{}};return b.geo_polygon[a]={points:[]},{field:function(c){var d=b.geo_polygon[a];return null==c?a:(delete b.geo_polygon[a],a=c,b.geo_polygon[c]=d,this)},points:function(c){var d,e;if(null==c)return b.geo_polygon[a].points;if(r(c))b.geo_polygon[a].points.push(c._self());else{if(!g(c))throw new TypeError("Argument must be a GeoPoint or Array of GeoPoints");for(b.geo_polygon[a].points=[],d=0,e=c.length;e>d;d++){if(!r(c[d]))throw new TypeError("Argument must be Array of GeoPoints");b.geo_polygon[a].points.push(c[d]._self())}}return this},normalize:function(a){return null==a?b.geo_polygon.normalize:(b.geo_polygon.normalize=a,this)},name:function(a){return null==a?b.geo_polygon._name:(b.geo_polygon._name=a,this)},cache:function(a){return null==a?b.geo_polygon._cache:(b.geo_polygon._cache=a,this)},cacheKey:function(a){return null==a?b.geo_polygon._cache_key:(b.geo_polygon._cache_key=a,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"filter"},_self:function(){return b}}},E.GeoShapeFilter=function(a){var b={geo_shape:{}};return b.geo_shape[a]={},{field:function(c){var d=b.geo_shape[a];return null==c?a:(delete b.geo_shape[a],a=c,b.geo_shape[c]=d,this)},shape:function(c){return null==c?b.geo_shape[a].shape:(null!=b.geo_shape[a].indexed_shape&&delete b.geo_shape[a].indexed_shape,b.geo_shape[a].shape=c._self(),this)},indexedShape:function(c){return null==c?b.geo_shape[a].indexed_shape:(null!=b.geo_shape[a].shape&&delete b.geo_shape[a].shape,b.geo_shape[a].indexed_shape=c._self(),this)},relation:function(c){return null==c?b.geo_shape[a].relation:(c=c.toLowerCase(),("intersects"===c||"disjoint"===c||"within"===c)&&(b.geo_shape[a].relation=c),this)},strategy:function(c){return null==c?b.geo_shape[a].strategy:(c=c.toLowerCase(),("recursive"===c||"term"===c)&&(b.geo_shape[a].strategy=c),this)},name:function(a){return null==a?b.geo_shape._name:(b.geo_shape._name=a,this)},cache:function(a){return null==a?b.geo_shape._cache:(b.geo_shape._cache=a,this)},cacheKey:function(a){return null==a?b.geo_shape._cache_key:(b.geo_shape._cache_key=a,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"filter"},_self:function(){return b}}},E.HasChildFilter=function(a,b){if(!m(a))throw new TypeError("No Query object found");var c={has_child:{query:a._self(),type:b}};return{query:function(a){if(null==a)return c.has_child.query;if(!m(a))throw new TypeError("Argument must be a Query object");return c.has_child.query=a._self(),this},filter:function(a){if(null==a)return c.has_child.filter;if(!o(a))throw new TypeError("Argument must be a Filter object");return c.has_child.filter=a._self(),this},type:function(a){return null==a?c.has_child.type:(c.has_child.type=a,this)},shortCircuitCutoff:function(a){return null==a?c.has_child.short_circuit_cutoff:(c.has_child.short_circuit_cutoff=a,this)},scope:function(){return this},name:function(a){return null==a?c.has_child._name:(c.has_child._name=a,this)},cache:function(a){return null==a?c.has_child._cache:(c.has_child._cache=a,this)},cacheKey:function(a){return null==a?c.has_child._cache_key:(c.has_child._cache_key=a,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"filter"},_self:function(){return c}}},E.HasParentFilter=function(a,b){if(!m(a))throw new TypeError("No Query object found");var c={has_parent:{query:a._self(),parent_type:b}};return{query:function(a){if(null==a)return c.has_parent.query;if(!m(a))throw new TypeError("Argument must be a Query object");return c.has_parent.query=a._self(),this},filter:function(a){if(null==a)return c.has_parent.filter;if(!o(a))throw new TypeError("Argument must be a Filter object");return c.has_parent.filter=a._self(),this},parentType:function(a){return null==a?c.has_parent.parent_type:(c.has_parent.parent_type=a,this)},scope:function(){return this},name:function(a){return null==a?c.has_parent._name:(c.has_parent._name=a,this)},cache:function(a){return null==a?c.has_parent._cache:(c.has_parent._cache=a,this)},cacheKey:function(a){return null==a?c.has_parent._cache_key:(c.has_parent._cache_key=a,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"filter"},_self:function(){return c}}},E.IdsFilter=function(a){var b={ids:{}};if(i(a))b.ids.values=[a];else{if(!g(a))throw new TypeError("Argument must be a string or an array");b.ids.values=a}return{values:function(a){if(null==a)return b.ids.values;if(i(a))b.ids.values.push(a);else{if(!g(a))throw new TypeError("Argument must be a string or an array");b.ids.values=a}return this},type:function(a){if(null==b.ids.type&&(b.ids.type=[]),null==a)return b.ids.type;if(i(a))b.ids.type.push(a);else{if(!g(a))throw new TypeError("Argument must be a string or an array");b.ids.type=a}return this},name:function(a){return null==a?b.ids._name:(b.ids._name=a,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"filter"},_self:function(){return b}}},E.IndicesFilter=function(a,b){if(!o(a))throw new TypeError("Argument must be a Filter");var c={indices:{filter:a._self()}};if(i(b))c.indices.indices=[b];else{if(!g(b))throw new TypeError("Argument must be a string or array");c.indices.indices=b}return{indices:function(a){if(null==a)return c.indices.indices;if(i(a))c.indices.indices.push(a);else{if(!g(a))throw new TypeError("Argument must be a string or array");c.indices.indices=a}return this},filter:function(a){if(null==a)return c.indices.filter;if(!o(a))throw new TypeError("Argument must be a Filter");return c.indices.filter=a._self(),this},noMatchFilter:function(a){if(null==a)return c.indices.no_match_filter;if(i(a))a=a.toLowerCase(),("none"===a||"all"===a)&&(c.indices.no_match_filter=a);else{if(!o(a))throw new TypeError("Argument must be string or Filter");c.indices.no_match_filter=a._self()}return this},toString:function(){return JSON.stringify(c)},_type:function(){return"filter"},_self:function(){return c}}},E.LimitFilter=function(a){var b={limit:{value:a}};return{value:function(a){if(null==a)return b.limit.value;if(!j(a))throw new TypeError("Argument must be a numeric value");return b.limit.value=a,this},toString:function(){return JSON.stringify(b)},_type:function(){return"filter"},_self:function(){return b}}},E.MatchAllFilter=function(){var a={match_all:{}};return{toString:function(){return JSON.stringify(a)},_type:function(){return"filter"},_self:function(){return a}}},E.MissingFilter=function(a){var b={missing:{field:a}};return{field:function(a){return null==a?b.missing.field:(b.missing.field=a,this)},existence:function(a){return null==a?b.missing.existence:(b.missing.existence=a,this)},nullValue:function(a){return null==a?b.missing.null_value:(b.missing.null_value=a,this)},name:function(a){return null==a?b.missing._name:(b.missing._name=a,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"filter"},_self:function(){return b}}},E.NestedFilter=function(a){var b={nested:{path:a}};return{path:function(a){return null==a?b.nested.path:(b.nested.path=a,this)},query:function(a){if(null==a)return b.nested.query;if(!m(a))throw new TypeError("Argument must be a Query object");return b.nested.query=a._self(),this},filter:function(a){if(null==a)return b.nested.filter;if(!o(a))throw new TypeError("Argument must be a Filter object");return b.nested.filter=a._self(),this},boost:function(a){return null==a?b.nested.boost:(b.nested.boost=a,this)},join:function(a){return null==a?b.nested.join:(b.nested.join=a,this)},scope:function(){return this},name:function(a){return null==a?b.nested._name:(b.nested._name=a,this)},cache:function(a){return null==a?b.nested._cache:(b.nested._cache=a,this)},cacheKey:function(a){return null==a?b.nested._cache_key:(b.nested._cache_key=a,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"filter"},_self:function(){return b}}},E.NotFilter=function(a){if(!o(a))throw new TypeError("Argument must be a Filter");var b={not:a._self()};return{filter:function(a){if(null==a)return b.not;if(!o(a))throw new TypeError("Argument must be a Filter");return b.not=a._self(),this},name:function(a){return null==a?b.not._name:(b.not._name=a,this)},cache:function(a){return null==a?b.not._cache:(b.not._cache=a,this)},cacheKey:function(a){return null==a?b.not._cache_key:(b.not._cache_key=a,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"filter"},_self:function(){return b}}},E.NumericRangeFilter=function(a){var b={numeric_range:{}};return b.numeric_range[a]={},{field:function(c){var d=b.numeric_range[a];return null==c?a:(delete b.numeric_range[a],a=c,b.numeric_range[a]=d,this)},from:function(c){if(null==c)return b.numeric_range[a].from;if(!j(c))throw new TypeError("Argument must be a numeric value");return b.numeric_range[a].from=c,this},to:function(c){if(null==c)return b.numeric_range[a].to;if(!j(c))throw new TypeError("Argument must be a numeric value");return b.numeric_range[a].to=c,this},includeLower:function(c){return null==c?b.numeric_range[a].include_lower:(b.numeric_range[a].include_lower=c,this)},includeUpper:function(c){return null==c?b.numeric_range[a].include_upper:(b.numeric_range[a].include_upper=c,this)},gt:function(c){if(null==c)return b.numeric_range[a].gt;if(!j(c))throw new TypeError("Argument must be a numeric value");return b.numeric_range[a].gt=c,this},gte:function(c){if(null==c)return b.numeric_range[a].gte;if(!j(c))throw new TypeError("Argument must be a numeric value");return b.numeric_range[a].gte=c,this},lt:function(c){if(null==c)return b.numeric_range[a].lt;if(!j(c))throw new TypeError("Argument must be a numeric value");return b.numeric_range[a].lt=c,this},lte:function(c){if(null==c)return b.numeric_range[a].lte;if(!j(c))throw new TypeError("Argument must be a numeric value");return b.numeric_range[a].lte=c,this},name:function(a){return null==a?b.numeric_range._name:(b.numeric_range._name=a,this)},cache:function(a){return null==a?b.numeric_range._cache:(b.numeric_range._cache=a,this)},cacheKey:function(a){return null==a?b.numeric_range._cache_key:(b.numeric_range._cache_key=a,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"filter"},_self:function(){return b}}},E.OrFilter=function(a){var b,c,d;if(b={or:{filters:[]}},o(a))b.or.filters.push(a._self());else{if(!g(a))throw new TypeError("Argument must be a Filter or array of Filters");for(c=0,d=a.length;d>c;c++){if(!o(a[c]))throw new TypeError("Argument must be array of Filters");b.or.filters.push(a[c]._self())}}return{filters:function(a){var c,d;if(null==a)return b.or.filters;if(o(a))b.or.filters.push(a._self());else{if(!g(a))throw new TypeError("Argument must be a Filter or array of Filters");for(b.or.filters=[],c=0,d=a.length;d>c;c++){if(!o(a[c]))throw new TypeError("Argument must be an array of Filters");b.or.filters.push(a[c]._self())}}return this},name:function(a){return null==a?b.or._name:(b.or._name=a,this)},cache:function(a){return null==a?b.or._cache:(b.or._cache=a,this)},cacheKey:function(a){return null==a?b.or._cache_key:(b.or._cache_key=a,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"filter"},_self:function(){return b}}},E.PrefixFilter=function(a,b){var c={prefix:{}};return c.prefix[a]=b,{field:function(b){var d=c.prefix[a];return null==b?a:(delete c.prefix[a],a=b,c.prefix[a]=d,this)},prefix:function(b){return null==b?c.prefix[a]:(c.prefix[a]=b,this)},name:function(a){return null==a?c.prefix._name:(c.prefix._name=a,this)},cache:function(a){return null==a?c.prefix._cache:(c.prefix._cache=a,this)},cacheKey:function(a){return null==a?c.prefix._cache_key:(c.prefix._cache_key=a,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"filter"},_self:function(){return c}}},E.QueryFilter=function(a){if(!m(a))throw new TypeError("Argument must be a Query");var b={fquery:{query:a._self()}};return{query:function(a){if(null==a)return b.fquery.query;if(!m(a))throw new TypeError("Argument must be a Query");return b.fquery.query=a._self(),this},name:function(a){return null==a?b.fquery._name:(b.fquery._name=a,this)},cache:function(a){return null==a?b.fquery._cache:(b.fquery._cache=a,this)},cacheKey:function(a){return null==a?b.fquery._cache_key:(b.fquery._cache_key=a,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"filter"},_self:function(){return b}}},E.RangeFilter=function(a){var b={range:{}};return b.range[a]={},{field:function(c){var d=b.range[a];return null==c?a:(delete b.range[a],a=c,b.range[c]=d,this)},from:function(c){return null==c?b.range[a].from:(b.range[a].from=c,this)},to:function(c){return null==c?b.range[a].to:(b.range[a].to=c,this)},includeLower:function(c){return null==c?b.range[a].include_lower:(b.range[a].include_lower=c,this)},includeUpper:function(c){return null==c?b.range[a].include_upper:(b.range[a].include_upper=c,this)},gt:function(c){return null==c?b.range[a].gt:(b.range[a].gt=c,this)},gte:function(c){return null==c?b.range[a].gte:(b.range[a].gte=c,this)},lt:function(c){return null==c?b.range[a].lt:(b.range[a].lt=c,this)},lte:function(c){return null==c?b.range[a].lte:(b.range[a].lte=c,this)},name:function(a){return null==a?b.range._name:(b.range._name=a,this) -},cache:function(a){return null==a?b.range._cache:(b.range._cache=a,this)},cacheKey:function(a){return null==a?b.range._cache_key:(b.range._cache_key=a,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"filter"},_self:function(){return b}}},E.RegexpFilter=function(a,b){var c={regexp:{}};return c.regexp[a]={value:b},{field:function(b){var d=c.regexp[a];return null==b?a:(delete c.regexp[a],a=b,c.regexp[b]=d,this)},value:function(b){return null==b?c.regexp[a].value:(c.regexp[a].value=b,this)},flags:function(b){return null==b?c.regexp[a].flags:(c.regexp[a].flags=b,this)},flagsValue:function(b){return null==b?c.regexp[a].flags_value:(c.regexp[a].flags_value=b,this)},name:function(a){return null==a?c.regexp._name:(c.regexp._name=a,this)},cache:function(a){return null==a?c.regexp._cache:(c.regexp._cache=a,this)},cacheKey:function(a){return null==a?c.regexp._cache_key:(c.regexp._cache_key=a,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"filter"},_self:function(){return c}}},E.ScriptFilter=function(a){var b={script:{script:a}};return{script:function(a){return null==a?b.script.script:(b.script.script=a,this)},params:function(a){return null==a?b.script.params:(b.script.params=a,this)},lang:function(a){return null==a?b.script.lang:(b.script.lang=a,this)},name:function(a){return null==a?b.script._name:(b.script._name=a,this)},cache:function(a){return null==a?b.script._cache:(b.script._cache=a,this)},cacheKey:function(a){return null==a?b.script._cache_key:(b.script._cache_key=a,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"filter"},_self:function(){return b}}},E.TermFilter=function(a,b){var c={term:{}};return c.term[a]=b,{field:function(b){var d=c.term[a];return null==b?a:(delete c.term[a],a=b,c.term[a]=d,this)},term:function(b){return null==b?c.term[a]:(c.term[a]=b,this)},name:function(a){return null==a?c.term._name:(c.term._name=a,this)},cache:function(a){return null==a?c.term._cache:(c.term._cache=a,this)},cacheKey:function(a){return null==a?c.term._cache_key:(c.term._cache_key=a,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"filter"},_self:function(){return c}}},E.TermsFilter=function(a,b){var c={terms:{}},d=function(){g(c.terms[a])||(c.terms[a]=[])},e=function(){g(c.terms[a])&&(c.terms[a]={})};return c.terms[a]=g(b)?b:[b],{field:function(b){var d=c.terms[a];return null==b?a:(delete c.terms[a],a=b,c.terms[b]=d,this)},terms:function(b){return d(),null==b?c.terms[a]:(g(b)?c.terms[a]=b:c.terms[a].push(b),this)},index:function(b){return e(),null==b?c.terms[a].index:(c.terms[a].index=b,this)},type:function(b){return e(),null==b?c.terms[a].type:(c.terms[a].type=b,this)},id:function(b){return e(),null==b?c.terms[a].id:(c.terms[a].id=b,this)},path:function(b){return e(),null==b?c.terms[a].path:(c.terms[a].path=b,this)},routing:function(b){return e(),null==b?c.terms[a].routing:(c.terms[a].routing=b,this)},cacheLookup:function(b){return e(),null==b?c.terms[a].cache:(c.terms[a].cache=b,this)},execution:function(a){return null==a?c.terms.execution:(a=a.toLowerCase(),("plain"===a||"bool"===a||"bool_nocache"===a||"and"===a||"and_nocache"===a||"or"===a||"or_nocache"===a)&&(c.terms.execution=a),this)},name:function(a){return null==a?c.terms._name:(c.terms._name=a,this)},cache:function(a){return null==a?c.terms._cache:(c.terms._cache=a,this)},cacheKey:function(a){return null==a?c.terms._cache_key:(c.terms._cache_key=a,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"filter"},_self:function(){return c}}},E.TypeFilter=function(a){var b={type:{value:a}};return{type:function(a){return null==a?b.type.value:(b.type.value=a,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"filter"},_self:function(){return b}}},E.Document=function(a,b,c){var d={},j=["upsert","source","script","lang","params"];return{index:function(b){return null==b?a:(a=b,this)},type:function(a){return null==a?b:(b=a,this)},id:function(a){return null==a?c:(c=a,this)},routing:function(a){return null==a?d.routing:(d.routing=a,this)},parent:function(a){return null==a?d.parent:(d.parent=a,this)},timestamp:function(a){return null==a?d.timestamp:(d.timestamp=a,this)},ttl:function(a){return null==a?d.ttl:(d.ttl=a,this)},timeout:function(a){return null==a?d.timeout:(d.timeout=a,this)},refresh:function(a){return null==a?d.refresh:(d.refresh=a,this)},version:function(a){return null==a?d.version:(d.version=a,this)},versionType:function(a){return null==a?d.version_type:(a=a.toLowerCase(),("internal"===a||"external"===a)&&(d.version_type=a),this)},opType:function(a){return null==a?d.op_type:(a=a.toLowerCase(),("index"===a||"create"===a)&&(d.op_type=a),this)},replication:function(a){return null==a?d.replication:(a=a.toLowerCase(),("async"===a||"sync"===a||"default"===a)&&(d.replication=a),this)},consistency:function(a){return null==a?d.consistency:(a=a.toLowerCase(),("default"===a||"one"===a||"quorum"===a||"all"===a)&&(d.consistency=a),this)},preference:function(a){return null==a?d.preference:(d.preference=a,this)},realtime:function(a){return null==a?d.realtime:(d.realtime=a,this)},fields:function(a){if(null==d.fields&&(d.fields=[]),null==a)return d.fields;if(i(a))d.fields.push(a);else{if(!g(a))throw new TypeError("Argument must be string or array");d.fields=a}return this},script:function(a){return null==a?d.script:(d.script=a,this)},lang:function(a){return null==a?d.lang:(d.lang=a,this)},params:function(a){if(null==a)return d.params;if(!h(a))throw new TypeError("Argument must be an object");return d.params=a,this},retryOnConflict:function(a){return null==a?d.retry_on_conflict:(d.retry_on_conflict=a,this)},upsert:function(a){if(null==a)return d.upsert;if(!h(a))throw new TypeError("Argument must be an object");return d.upsert=a,this},docAsUpsert:function(a){return null==a?d.doc_as_upsert:(d.doc_as_upsert=a,this)},source:function(a){if(null==a)return d.source;if(!h(a))throw new TypeError("Argument must be an object");return d.source=a,this},toString:function(){return JSON.stringify(d)},_type:function(){return"document"},_self:function(){return d},doGet:function(f,g){if(null==E.client)throw new Error("No Client Set");if(null==a||null==b||null==c)throw new Error("Index, Type, and ID must be set");var h="/"+a+"/"+b+"/"+c;return E.client.get(h,e(d,j),f,g)},doIndex:function(e,g){if(null==E.client)throw new Error("No Client Set");if(null==a||null==b)throw new Error("Index and Type must be set");if(null==d.source)throw new Error("No source document found");var h,i="/"+a+"/"+b,k=JSON.stringify(d.source),l=f(d,j);return null!=c&&(i=i+"/"+c),""!==l&&(i=i+"?"+l),h=null==c?E.client.post(i,k,e,g):E.client.put(i,k,e,g)},doUpdate:function(e,g){if(null==E.client)throw new Error("No Client Set");if(null==a||null==b||null==c)throw new Error("Index, Type, and ID must be set");if(null==d.script&&null==d.source)throw new Error("Update script or document required");var h="/"+a+"/"+b+"/"+c+"/_update",i={},k=f(d,j);return""!==k&&(h=h+"?"+k),null!=d.script&&(i.script=d.script),null!=d.lang&&(i.lang=d.lang),null!=d.params&&(i.params=d.params),null!=d.upsert&&(i.upsert=d.upsert),null!=d.source&&(i.doc=d.source),E.client.post(h,JSON.stringify(i),e,g)},doDelete:function(e,g){if(null==E.client)throw new Error("No Client Set");if(null==a||null==b||null==c)throw new Error("Index, Type, and ID must be set");var h="/"+a+"/"+b+"/"+c,i="",k=f(d,j);return""!==k&&(h=h+"?"+k),E.client.del(h,i,e,g)}}},E.BoolQuery=function(){var a={bool:{}};return{must:function(b){var c,d;if(null==a.bool.must&&(a.bool.must=[]),null==b)return a.bool.must;if(m(b))a.bool.must.push(b._self());else{if(!g(b))throw new TypeError("Argument must be a Query or array of Queries");for(a.bool.must=[],c=0,d=b.length;d>c;c++){if(!m(b[c]))throw new TypeError("Argument must be an array of Queries");a.bool.must.push(b[c]._self())}}return this},mustNot:function(b){var c,d;if(null==a.bool.must_not&&(a.bool.must_not=[]),null==b)return a.bool.must_not;if(m(b))a.bool.must_not.push(b._self());else{if(!g(b))throw new TypeError("Argument must be a Query or array of Queries");for(a.bool.must_not=[],c=0,d=b.length;d>c;c++){if(!m(b[c]))throw new TypeError("Argument must be an array of Queries");a.bool.must_not.push(b[c]._self())}}return this},should:function(b){var c,d;if(null==a.bool.should&&(a.bool.should=[]),null==b)return a.bool.should;if(m(b))a.bool.should.push(b._self());else{if(!g(b))throw new TypeError("Argument must be a Query or array of Queries");for(a.bool.should=[],c=0,d=b.length;d>c;c++){if(!m(b[c]))throw new TypeError("Argument must be an array of Queries");a.bool.should.push(b[c]._self())}}return this},boost:function(b){return null==b?a.bool.boost:(a.bool.boost=b,this)},adjustPureNegative:function(b){return null==b?a.bool.adjust_pure_negative:(a.bool.adjust_pure_negative=b,this)},disableCoord:function(b){return null==b?a.bool.disable_coord:(a.bool.disable_coord=b,this)},minimumNumberShouldMatch:function(b){return null==b?a.bool.minimum_number_should_match:(a.bool.minimum_number_should_match=b,this)},toString:function(){return JSON.stringify(a)},_type:function(){return"query"},_self:function(){return a}}},E.BoostingQuery=function(a,b,c){if(!m(a)||!m(b))throw new TypeError("Arguments must be Queries");var d={boosting:{positive:a._self(),negative:b._self(),negative_boost:c}};return{positive:function(a){if(null==a)return d.boosting.positive;if(!m(a))throw new TypeError("Argument must be a Query");return d.boosting.positive=a._self(),this},negative:function(a){if(null==a)return d.boosting.negative;if(!m(a))throw new TypeError("Argument must be a Query");return d.boosting.negative=a._self(),this},negativeBoost:function(a){return null==a?d.boosting.negative_boost:(d.boosting.negative_boost=a,this)},boost:function(a){return null==a?d.boosting.boost:(d.boosting.boost=a,this)},toString:function(){return JSON.stringify(d)},_type:function(){return"query"},_self:function(){return d}}},E.CommonTermsQuery=function(a,b){var c={common:{}};return null==a&&(a="no_field_set"),c.common[a]={},null!=b&&(c.common[a].query=b),{field:function(b){var d=c.common[a];return null==b?a:(delete c.common[a],a=b,c.common[b]=d,this)},query:function(b){return null==b?c.common[a].query:(c.common[a].query=b,this)},analyzer:function(b){return null==b?c.common[a].analyzer:(c.common[a].analyzer=b,this)},disableCoord:function(b){return null==b?c.common[a].disable_coord:(c.common[a].disable_coord=b,this)},cutoffFrequency:function(b){return null==b?c.common[a].cutoff_frequency:(c.common[a].cutoff_frequency=b,this)},highFreqOperator:function(b){return null==b?c.common[a].high_freq_operator:(b=b.toLowerCase(),("and"===b||"or"===b)&&(c.common[a].high_freq_operator=b),this)},lowFreqOperator:function(b){return null==b?c.common[a].low_freq_operator:(b=b.toLowerCase(),("and"===b||"or"===b)&&(c.common[a].low_freq_operator=b),this)},minimumShouldMatch:function(b){return null==b?c.common[a].minimum_should_match.low_freq:(null==c.common[a].minimum_should_match&&(c.common[a].minimum_should_match={}),c.common[a].minimum_should_match.low_freq=b,this)},minimumShouldMatchLowFreq:function(a){return this.minimumShouldMatch(a)},minimumShouldMatchHighFreq:function(b){return null==b?c.common[a].minimum_should_match.high_freq:(null==c.common[a].minimum_should_match&&(c.common[a].minimum_should_match={}),c.common[a].minimum_should_match.high_freq=b,this)},boost:function(b){return null==b?c.common[a].boost:(c.common[a].boost=b,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"query"},_self:function(){return c}}},E.ConstantScoreQuery=function(){var a={constant_score:{}};return{query:function(b){if(null==b)return a.constant_score.query;if(!m(b))throw new TypeError("Argument must be a Query");return a.constant_score.query=b._self(),this},filter:function(b){if(null==b)return a.constant_score.filter;if(!o(b))throw new TypeError("Argument must be a Filter");return a.constant_score.filter=b._self(),this},cache:function(b){return null==b?a.constant_score._cache:(a.constant_score._cache=b,this)},cacheKey:function(b){return null==b?a.constant_score._cache_key:(a.constant_score._cache_key=b,this)},boost:function(b){return null==b?a.constant_score.boost:(a.constant_score.boost=b,this)},toString:function(){return JSON.stringify(a)},_type:function(){return"query"},_self:function(){return a}}},E.CustomBoostFactorQuery=function(a){if(!m(a))throw new TypeError("Argument must be a Query");var b={custom_boost_factor:{query:a._self()}};return{query:function(a){if(null==a)return b.custom_boost_factor.query;if(!m(a))throw new TypeError("Argument must be a Query");return b.custom_boost_factor.query=a._self(),this},boostFactor:function(a){return null==a?b.custom_boost_factor.boost_factor:(b.custom_boost_factor.boost_factor=a,this)},boost:function(a){return null==a?b.custom_boost_factor.boost:(b.custom_boost_factor.boost=a,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"query"},_self:function(){return b}}},E.CustomFiltersScoreQuery=function(a,c){if(!m(a))throw new TypeError("Argument must be a Query");var d={custom_filters_score:{query:a._self(),filters:[]}},e=function(a){var b=null;return a.filter&&o(a.filter)&&(b={filter:a.filter._self()},a.boost?b.boost=a.boost:a.script?b.script=a.script:b=null),b};return b(g(c)?c:[c],function(a){var b=e(a);null!==b&&d.custom_filters_score.filters.push(b)}),{query:function(a){if(null==a)return d.custom_filters_score.query;if(!m(a))throw new TypeError("Argument must be a Query");return d.custom_filters_score.query=a._self(),this},filters:function(a){return null==a?d.custom_filters_score.filters:(g(a)&&(d.custom_filters_score.filters=[]),b(g(a)?a:[a],function(a){var b=e(a);null!==b&&d.custom_filters_score.filters.push(b)}),this)},scoreMode:function(a){return null==a?d.custom_filters_score.score_mode:(a=a.toLowerCase(),("first"===a||"min"===a||"max"===a||"total"===a||"avg"===a||"multiply"===a)&&(d.custom_filters_score.score_mode=a),this)},params:function(a){return null==a?d.custom_filters_score.params:(d.custom_filters_score.params=a,this)},lang:function(a){return null==a?d.custom_filters_score.lang:(d.custom_filters_score.lang=a,this)},maxBoost:function(a){return null==a?d.custom_filters_score.max_boost:(d.custom_filters_score.max_boost=a,this)},boost:function(a){return null==a?d.custom_filters_score.boost:(d.custom_filters_score.boost=a,this)},toString:function(){return JSON.stringify(d)},_type:function(){return"query"},_self:function(){return d}}},E.CustomScoreQuery=function(a,b){if(!m(a)&&!o(a))throw new TypeError("Argument must be a Query or Filter");var c={custom_score:{script:b}};return m(a)?c.custom_score.query=a._self():o(a)&&(c.custom_score.filter=a._self()),{query:function(a){if(null==a)return c.custom_score.query;if(!m(a))throw new TypeError("Argument must be a Query");return c.custom_score.query=a._self(),this},filter:function(a){if(null==a)return c.custom_score.filter;if(!o(a))throw new TypeError("Argument must be a Filter");return c.custom_score.filter=a._self(),this},script:function(a){return null==a?c.custom_score.script:(c.custom_score.script=a,this)},params:function(a){return null==a?c.custom_score.params:(c.custom_score.params=a,this)},lang:function(a){return null==a?c.custom_score.lang:(c.custom_score.lang=a,this)},boost:function(a){return null==a?c.custom_score.boost:(c.custom_score.boost=a,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"query"},_self:function(){return c}}},E.DisMaxQuery=function(){var a={dis_max:{}};return{queries:function(b){var c,d;if(null==b)return a.dis_max.queries;if(null==a.dis_max.queries&&(a.dis_max.queries=[]),m(b))a.dis_max.queries.push(b._self());else{if(!g(b))throw new TypeError("Argument must be a Query or array of Queries");for(a.dis_max.queries=[],c=0,d=b.length;d>c;c++){if(!m(b[c]))throw new TypeError("Argument must be array of Queries");a.dis_max.queries.push(b[c]._self())}}return this},boost:function(b){return null==b?a.dis_max.boost:(a.dis_max.boost=b,this)},tieBreaker:function(b){return null==b?a.dis_max.tie_breaker:(a.dis_max.tie_breaker=b,this)},toString:function(){return JSON.stringify(a)},_type:function(){return"query"},_self:function(){return a}}},E.FieldMaskingSpanQuery=function(a,b){if(!m(a))throw new TypeError("Argument must be a SpanQuery");var c={field_masking_span:{query:a._self(),field:b}};return{query:function(a){if(null==a)return c.field_masking_span.query;if(!m(a))throw new TypeError("Argument must be a SpanQuery");return c.field_masking_span.query=a._self(),this},field:function(a){return null==a?c.field_masking_span.field:(c.field_masking_span.field=a,this)},boost:function(a){return null==a?c.field_masking_span.boost:(c.field_masking_span.boost=a,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"query"},_self:function(){return c}}},E.FieldQuery=function(a,b){var c={field:{}};return c.field[a]={query:b},{field:function(b){var d=c.field[a];return null==b?a:(delete c.field[a],a=b,c.field[b]=d,this)},query:function(b){return null==b?c.field[a].query:(c.field[a].query=b,this)},defaultOperator:function(b){return null==b?c.field[a].default_operator:(b=b.toUpperCase(),("AND"===b||"OR"===b)&&(c.field[a].default_operator=b),this)},analyzer:function(b){return null==b?c.field[a].analyzer:(c.field[a].analyzer=b,this)},quoteAnalyzer:function(b){return null==b?c.field[a].quote_analyzer:(c.field[a].quote_analyzer=b,this)},autoGeneratePhraseQueries:function(b){return null==b?c.field[a].auto_generate_phrase_queries:(c.field[a].auto_generate_phrase_queries=b,this)},allowLeadingWildcard:function(b){return null==b?c.field[a].allow_leading_wildcard:(c.field[a].allow_leading_wildcard=b,this)},lowercaseExpandedTerms:function(b){return null==b?c.field[a].lowercase_expanded_terms:(c.field[a].lowercase_expanded_terms=b,this)},enablePositionIncrements:function(b){return null==b?c.field[a].enable_position_increments:(c.field[a].enable_position_increments=b,this)},fuzzyMinSim:function(b){return null==b?c.field[a].fuzzy_min_sim:(c.field[a].fuzzy_min_sim=b,this)},boost:function(b){return null==b?c.field[a].boost:(c.field[a].boost=b,this)},fuzzyPrefixLength:function(b){return null==b?c.field[a].fuzzy_prefix_length:(c.field[a].fuzzy_prefix_length=b,this)},fuzzyMaxExpansions:function(b){return null==b?c.field[a].fuzzy_max_expansions:(c.field[a].fuzzy_max_expansions=b,this)},fuzzyRewrite:function(b){return null==b?c.field[a].fuzzy_rewrite:(b=b.toLowerCase(),("constant_score_auto"===b||"scoring_boolean"===b||"constant_score_boolean"===b||"constant_score_filter"===b||0===b.indexOf("top_terms_boost_")||0===b.indexOf("top_terms_"))&&(c.field[a].fuzzy_rewrite=b),this)},rewrite:function(b){return null==b?c.field[a].rewrite:(b=b.toLowerCase(),("constant_score_auto"===b||"scoring_boolean"===b||"constant_score_boolean"===b||"constant_score_filter"===b||0===b.indexOf("top_terms_boost_")||0===b.indexOf("top_terms_"))&&(c.field[a].rewrite=b),this)},quoteFieldSuffix:function(b){return null==b?c.field[a].quote_field_suffix:(c.field[a].quote_field_suffix=b,this)},phraseSlop:function(b){return null==b?c.field[a].phrase_slop:(c.field[a].phrase_slop=b,this)},analyzeWildcard:function(b){return null==b?c.field[a].analyze_wildcard:(c.field[a].analyze_wildcard=b,this)},escape:function(b){return null==b?c.field[a].escape:(c.field[a].escape=b,this)},minimumShouldMatch:function(b){return null==b?c.field[a].minimum_should_match:(c.field[a].minimum_should_match=b,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"query"},_self:function(){return c}}},E.FilteredQuery=function(a,b){if(!m(a))throw new TypeError("Argument must be a Query");if(null!=b&&!o(b))throw new TypeError("Argument must be a Filter");var c={filtered:{query:a._self()}};return null!=b&&(c.filtered.filter=b._self()),{query:function(a){if(null==a)return c.filtered.query;if(!m(a))throw new TypeError("Argument must be a Query");return c.filtered.query=a._self(),this},filter:function(a){if(null==a)return c.filtered.filter;if(!o(a))throw new TypeError("Argument must be a Filter");return c.filtered.filter=a._self(),this},strategy:function(a){return null==a?c.filtered.strategy:(a=a.toLowerCase(),("query_first"===a||"random_access_always"===a||"leap_frog"===a||"leap_frog_filter_first"===a||0===a.indexOf("random_access_"))&&(c.filtered.strategy=a),this)},cache:function(a){return null==a?c.filtered._cache:(c.filtered._cache=a,this)},cacheKey:function(a){return null==a?c.filtered._cache_key:(c.filtered._cache_key=a,this)},boost:function(a){return null==a?c.filtered.boost:(c.filtered.boost=a,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"query"},_self:function(){return c}}},E.FuzzyLikeThisFieldQuery=function(a,b){var c={flt_field:{}};return c.flt_field[a]={like_text:b},{field:function(b){var d=c.flt_field[a];return null==b?a:(delete c.flt_field[a],a=b,c.flt_field[b]=d,this)},likeText:function(b){return null==b?c.flt_field[a].like_text:(c.flt_field[a].like_text=b,this)},ignoreTf:function(b){return null==b?c.flt_field[a].ignore_tf:(c.flt_field[a].ignore_tf=b,this)},maxQueryTerms:function(b){return null==b?c.flt_field[a].max_query_terms:(c.flt_field[a].max_query_terms=b,this)},minSimilarity:function(b){return null==b?c.flt_field[a].min_similarity:(c.flt_field[a].min_similarity=b,this)},prefixLength:function(b){return null==b?c.flt_field[a].prefix_length:(c.flt_field[a].prefix_length=b,this)},analyzer:function(b){return null==b?c.flt_field[a].analyzer:(c.flt_field[a].analyzer=b,this)},failOnUnsupportedField:function(b){return null==b?c.flt_field[a].fail_on_unsupported_field:(c.flt_field[a].fail_on_unsupported_field=b,this)},boost:function(b){return null==b?c.flt_field[a].boost:(c.flt_field[a].boost=b,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"query"},_self:function(){return c}}},E.FuzzyLikeThisQuery=function(a){var b={flt:{like_text:a}};return{fields:function(a){if(null==b.flt.fields&&(b.flt.fields=[]),null==a)return b.flt.fields;if(i(a))b.flt.fields.push(a);else{if(!g(a))throw new TypeError("Argument must be a string or array");b.flt.fields=a}return this},likeText:function(a){return null==a?b.flt.like_text:(b.flt.like_text=a,this)},ignoreTf:function(a){return null==a?b.flt.ignore_tf:(b.flt.ignore_tf=a,this)},maxQueryTerms:function(a){return null==a?b.flt.max_query_terms:(b.flt.max_query_terms=a,this)},minSimilarity:function(a){return null==a?b.flt.min_similarity:(b.flt.min_similarity=a,this)},prefixLength:function(a){return null==a?b.flt.prefix_length:(b.flt.prefix_length=a,this)},analyzer:function(a){return null==a?b.flt.analyzer:(b.flt.analyzer=a,this)},failOnUnsupportedField:function(a){return null==a?b.flt.fail_on_unsupported_field:(b.flt.fail_on_unsupported_field=a,this)},boost:function(a){return null==a?b.flt.boost:(b.flt.boost=a,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"query"},_self:function(){return b}}},E.FuzzyQuery=function(a,b){var c={fuzzy:{}};return c.fuzzy[a]={value:b},{field:function(b){var d=c.fuzzy[a];return null==b?a:(delete c.fuzzy[a],a=b,c.fuzzy[b]=d,this)},value:function(b){return null==b?c.fuzzy[a].value:(c.fuzzy[a].value=b,this)},transpositions:function(b){return null==b?c.fuzzy[a].transpositions:(c.fuzzy[a].transpositions=b,this)},maxExpansions:function(b){return null==b?c.fuzzy[a].max_expansions:(c.fuzzy[a].max_expansions=b,this)},minSimilarity:function(b){return null==b?c.fuzzy[a].min_similarity:(c.fuzzy[a].min_similarity=b,this)},prefixLength:function(b){return null==b?c.fuzzy[a].prefix_length:(c.fuzzy[a].prefix_length=b,this)},rewrite:function(b){return null==b?c.fuzzy[a].rewrite:(b=b.toLowerCase(),("constant_score_auto"===b||"scoring_boolean"===b||"constant_score_boolean"===b||"constant_score_filter"===b||0===b.indexOf("top_terms_boost_")||0===b.indexOf("top_terms_"))&&(c.fuzzy[a].rewrite=b),this)},boost:function(b){return null==b?c.fuzzy[a].boost:(c.fuzzy[a].boost=b,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"query"},_self:function(){return c}}},E.GeoShapeQuery=function(a){var b={geo_shape:{}};return b.geo_shape[a]={},{field:function(c){var d=b.geo_shape[a];return null==c?a:(delete b.geo_shape[a],a=c,b.geo_shape[c]=d,this)},shape:function(c){return null==c?b.geo_shape[a].shape:(null!=b.geo_shape[a].indexed_shape&&delete b.geo_shape[a].indexed_shape,b.geo_shape[a].shape=c._self(),this)},indexedShape:function(c){return null==c?b.geo_shape[a].indexed_shape:(null!=b.geo_shape[a].shape&&delete b.geo_shape[a].shape,b.geo_shape[a].indexed_shape=c._self(),this)},relation:function(c){return null==c?b.geo_shape[a].relation:(c=c.toLowerCase(),("intersects"===c||"disjoint"===c||"within"===c)&&(b.geo_shape[a].relation=c),this)},strategy:function(c){return null==c?b.geo_shape[a].strategy:(c=c.toLowerCase(),("recursive"===c||"term"===c)&&(b.geo_shape[a].strategy=c),this)},boost:function(c){return null==c?b.geo_shape[a].boost:(b.geo_shape[a].boost=c,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"query"},_self:function(){return b}}},E.HasChildQuery=function(a,b){if(!m(a))throw new TypeError("Argument must be a valid Query");var c={has_child:{query:a._self(),type:b}};return{query:function(a){if(null==a)return c.has_child.query;if(!m(a))throw new TypeError("Argument must be a valid Query");return c.has_child.query=a._self(),this},type:function(a){return null==a?c.has_child.type:(c.has_child.type=a,this)},scope:function(){return this},scoreType:function(a){return null==a?c.has_child.score_type:(a=a.toLowerCase(),("none"===a||"max"===a||"sum"===a||"avg"===a)&&(c.has_child.score_type=a),this)},scoreMode:function(a){return null==a?c.has_child.score_mode:(a=a.toLowerCase(),("none"===a||"max"===a||"sum"===a||"avg"===a)&&(c.has_child.score_mode=a),this)},shortCircuitCutoff:function(a){return null==a?c.has_child.short_circuit_cutoff:(c.has_child.short_circuit_cutoff=a,this)},boost:function(a){return null==a?c.has_child.boost:(c.has_child.boost=a,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"query"},_self:function(){return c}}},E.HasParentQuery=function(a,b){if(!m(a))throw new TypeError("Argument must be a Query");var c={has_parent:{query:a._self(),parent_type:b}};return{query:function(a){if(null==a)return c.has_parent.query;if(!m(a))throw new TypeError("Argument must be a Query");return c.has_parent.query=a._self(),this},parentType:function(a){return null==a?c.has_parent.parent_type:(c.has_parent.parent_type=a,this)},scope:function(){return this},scoreType:function(a){return null==a?c.has_parent.score_type:(a=a.toLowerCase(),("none"===a||"score"===a)&&(c.has_parent.score_type=a),this)},scoreMode:function(a){return null==a?c.has_parent.score_mode:(a=a.toLowerCase(),("none"===a||"score"===a)&&(c.has_parent.score_mode=a),this)},boost:function(a){return null==a?c.has_parent.boost:(c.has_parent.boost=a,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"query"},_self:function(){return c}}},E.IdsQuery=function(a){var b={ids:{}};if(i(a))b.ids.values=[a];else{if(!g(a))throw new TypeError("Argument must be string or array");b.ids.values=a}return{values:function(a){if(null==a)return b.ids.values;if(i(a))b.ids.values.push(a);else{if(!g(a))throw new TypeError("Argument must be string or array");b.ids.values=a}return this},type:function(a){if(null==b.ids.type&&(b.ids.type=[]),null==a)return b.ids.type;if(i(a))b.ids.type.push(a);else{if(!g(a))throw new TypeError("Argument must be string or array");b.ids.type=a}return this},boost:function(a){return null==a?b.ids.boost:(b.ids.boost=a,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"query"},_self:function(){return b}}},E.IndicesQuery=function(a,b){if(!m(a))throw new TypeError("Argument must be a Query");var c={indices:{query:a._self()}};if(i(b))c.indices.indices=[b];else{if(!g(b))throw new TypeError("Argument must be a string or array");c.indices.indices=b}return{indices:function(a){if(null==a)return c.indices.indices;if(i(a))c.indices.indices.push(a);else{if(!g(a))throw new TypeError("Argument must be a string or array");c.indices.indices=a}return this},query:function(a){if(null==a)return c.indices.query;if(!m(a))throw new TypeError("Argument must be a Query");return c.indices.query=a._self(),this},noMatchQuery:function(a){if(null==a)return c.indices.no_match_query;if(i(a))a=a.toLowerCase(),("none"===a||"all"===a)&&(c.indices.no_match_query=a);else{if(!m(a))throw new TypeError("Argument must be string or Query");c.indices.no_match_query=a._self()}return this},boost:function(a){return null==a?c.indices.boost:(c.indices.boost=a,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"query"},_self:function(){return c}}},E.MatchAllQuery=function(){var a={match_all:{}};return{boost:function(b){return null==b?a.match_all.boost:(a.match_all.boost=b,this)},toString:function(){return JSON.stringify(a)},_type:function(){return"query"},_self:function(){return a}}},E.MatchQuery=function(a,b){var c={match:{}};return c.match[a]={query:b},{boost:function(b){return null==b?c.match[a].boost:(c.match[a].boost=b,this)},query:function(b){return null==b?c.match[a].query:(c.match[a].query=b,this)},type:function(b){return null==b?c.match[a].type:(b=b.toLowerCase(),("boolean"===b||"phrase"===b||"phrase_prefix"===b)&&(c.match[a].type=b),this)},fuzziness:function(b){return null==b?c.match[a].fuzziness:(c.match[a].fuzziness=b,this)},cutoffFrequency:function(b){return null==b?c.match[a].cutoff_frequency:(c.match[a].cutoff_frequency=b,this)},prefixLength:function(b){return null==b?c.match[a].prefix_length:(c.match[a].prefix_length=b,this)},maxExpansions:function(b){return null==b?c.match[a].max_expansions:(c.match[a].max_expansions=b,this)},operator:function(b){return null==b?c.match[a].operator:(b=b.toLowerCase(),("and"===b||"or"===b)&&(c.match[a].operator=b),this)},slop:function(b){return null==b?c.match[a].slop:(c.match[a].slop=b,this)},analyzer:function(b){return null==b?c.match[a].analyzer:(c.match[a].analyzer=b,this)},minimumShouldMatch:function(b){return null==b?c.match[a].minimum_should_match:(c.match[a].minimum_should_match=b,this)},rewrite:function(b){return null==b?c.match[a].rewrite:(b=b.toLowerCase(),("constant_score_auto"===b||"scoring_boolean"===b||"constant_score_boolean"===b||"constant_score_filter"===b||0===b.indexOf("top_terms_boost_")||0===b.indexOf("top_terms_"))&&(c.match[a].rewrite=b),this)},fuzzyRewrite:function(b){return null==b?c.match[a].fuzzy_rewrite:(b=b.toLowerCase(),("constant_score_auto"===b||"scoring_boolean"===b||"constant_score_boolean"===b||"constant_score_filter"===b||0===b.indexOf("top_terms_boost_")||0===b.indexOf("top_terms_"))&&(c.match[a].fuzzy_rewrite=b),this)},fuzzyTranspositions:function(b){return null==b?c.match[a].fuzzy_transpositions:(c.match[a].fuzzy_transpositions=b,this)},lenient:function(b){return null==b?c.match[a].lenient:(c.match[a].lenient=b,this)},zeroTermsQuery:function(b){return null==b?c.match[a].zero_terms_query:(b=b.toLowerCase(),("all"===b||"none"===b)&&(c.match[a].zero_terms_query=b),this)},toString:function(){return JSON.stringify(c)},_type:function(){return"query"},_self:function(){return c}}},E.MoreLikeThisFieldQuery=function(a,b){var c={mlt_field:{}};return c.mlt_field[a]={like_text:b},{field:function(b){var d=c.mlt_field[a];return null==b?a:(delete c.mlt_field[a],a=b,c.mlt_field[b]=d,this)},likeText:function(b){return null==b?c.mlt_field[a].like_text:(c.mlt_field[a].like_text=b,this)},percentTermsToMatch:function(b){return null==b?c.mlt_field[a].percent_terms_to_match:(c.mlt_field[a].percent_terms_to_match=b,this)},minTermFreq:function(b){return null==b?c.mlt_field[a].min_term_freq:(c.mlt_field[a].min_term_freq=b,this)},maxQueryTerms:function(b){return null==b?c.mlt_field[a].max_query_terms:(c.mlt_field[a].max_query_terms=b,this)},stopWords:function(b){return null==b?c.mlt_field[a].stop_words:(c.mlt_field[a].stop_words=b,this) -},minDocFreq:function(b){return null==b?c.mlt_field[a].min_doc_freq:(c.mlt_field[a].min_doc_freq=b,this)},maxDocFreq:function(b){return null==b?c.mlt_field[a].max_doc_freq:(c.mlt_field[a].max_doc_freq=b,this)},minWordLen:function(b){return null==b?c.mlt_field[a].min_word_len:(c.mlt_field[a].min_word_len=b,this)},maxWordLen:function(b){return null==b?c.mlt_field[a].max_word_len:(c.mlt_field[a].max_word_len=b,this)},analyzer:function(b){return null==b?c.mlt_field[a].analyzer:(c.mlt_field[a].analyzer=b,this)},boostTerms:function(b){return null==b?c.mlt_field[a].boost_terms:(c.mlt_field[a].boost_terms=b,this)},failOnUnsupportedField:function(b){return null==b?c.mlt_field[a].fail_on_unsupported_field:(c.mlt_field[a].fail_on_unsupported_field=b,this)},boost:function(b){return null==b?c.mlt_field[a].boost:(c.mlt_field[a].boost=b,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"query"},_self:function(){return c}}},E.MoreLikeThisQuery=function(a,b){var c={mlt:{like_text:b,fields:[]}};if(i(a))c.mlt.fields.push(a);else{if(!g(a))throw new TypeError("Argument must be string or array");c.mlt.fields=a}return{fields:function(a){if(null==a)return c.mlt.fields;if(i(a))c.mlt.fields.push(a);else{if(!g(a))throw new TypeError("Argument must be a string or array");c.mlt.fields=a}return this},likeText:function(a){return null==a?c.mlt.like_text:(c.mlt.like_text=a,this)},percentTermsToMatch:function(a){return null==a?c.mlt.percent_terms_to_match:(c.mlt.percent_terms_to_match=a,this)},minTermFreq:function(a){return null==a?c.mlt.min_term_freq:(c.mlt.min_term_freq=a,this)},maxQueryTerms:function(a){return null==a?c.mlt.max_query_terms:(c.mlt.max_query_terms=a,this)},stopWords:function(a){return null==a?c.mlt.stop_words:(c.mlt.stop_words=a,this)},minDocFreq:function(a){return null==a?c.mlt.min_doc_freq:(c.mlt.min_doc_freq=a,this)},maxDocFreq:function(a){return null==a?c.mlt.max_doc_freq:(c.mlt.max_doc_freq=a,this)},minWordLen:function(a){return null==a?c.mlt.min_word_len:(c.mlt.min_word_len=a,this)},maxWordLen:function(a){return null==a?c.mlt.max_word_len:(c.mlt.max_word_len=a,this)},analyzer:function(a){return null==a?c.mlt.analyzer:(c.mlt.analyzer=a,this)},boostTerms:function(a){return null==a?c.mlt.boost_terms:(c.mlt.boost_terms=a,this)},failOnUnsupportedField:function(a){return null==a?c.mlt.fail_on_unsupported_field:(c.mlt.fail_on_unsupported_field=a,this)},boost:function(a){return null==a?c.mlt.boost:(c.mlt.boost=a,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"query"},_self:function(){return c}}},E.MultiMatchQuery=function(a,b){var c={multi_match:{query:b,fields:[]}};if(i(a))c.multi_match.fields.push(a);else{if(!g(a))throw new TypeError("Argument must be string or array");c.multi_match.fields=a}return{fields:function(a){if(null==a)return c.multi_match.fields;if(i(a))c.multi_match.fields.push(a);else{if(!g(a))throw new TypeError("Argument must be string or array");c.multi_match.fields=a}return this},useDisMax:function(a){return null==a?c.multi_match.use_dis_max:(c.multi_match.use_dis_max=a,this)},tieBreaker:function(a){return null==a?c.multi_match.tie_breaker:(c.multi_match.tie_breaker=a,this)},cutoffFrequency:function(a){return null==a?c.multi_match.cutoff_frequency:(c.multi_match.cutoff_frequency=a,this)},minimumShouldMatch:function(a){return null==a?c.multi_match.minimum_should_match:(c.multi_match.minimum_should_match=a,this)},rewrite:function(a){return null==a?c.multi_match.rewrite:(a=a.toLowerCase(),("constant_score_auto"===a||"scoring_boolean"===a||"constant_score_boolean"===a||"constant_score_filter"===a||0===a.indexOf("top_terms_boost_")||0===a.indexOf("top_terms_"))&&(c.multi_match.rewrite=a),this)},fuzzyRewrite:function(a){return null==a?c.multi_match.fuzzy_rewrite:(a=a.toLowerCase(),("constant_score_auto"===a||"scoring_boolean"===a||"constant_score_boolean"===a||"constant_score_filter"===a||0===a.indexOf("top_terms_boost_")||0===a.indexOf("top_terms_"))&&(c.multi_match.fuzzy_rewrite=a),this)},lenient:function(a){return null==a?c.multi_match.lenient:(c.multi_match.lenient=a,this)},boost:function(a){return null==a?c.multi_match.boost:(c.multi_match.boost=a,this)},query:function(a){return null==a?c.multi_match.query:(c.multi_match.query=a,this)},type:function(a){return null==a?c.multi_match.type:(a=a.toLowerCase(),("boolean"===a||"phrase"===a||"phrase_prefix"===a)&&(c.multi_match.type=a),this)},fuzziness:function(a){return null==a?c.multi_match.fuzziness:(c.multi_match.fuzziness=a,this)},prefixLength:function(a){return null==a?c.multi_match.prefix_length:(c.multi_match.prefix_length=a,this)},maxExpansions:function(a){return null==a?c.multi_match.max_expansions:(c.multi_match.max_expansions=a,this)},operator:function(a){return null==a?c.multi_match.operator:(a=a.toLowerCase(),("and"===a||"or"===a)&&(c.multi_match.operator=a),this)},slop:function(a){return null==a?c.multi_match.slop:(c.multi_match.slop=a,this)},analyzer:function(a){return null==a?c.multi_match.analyzer:(c.multi_match.analyzer=a,this)},zeroTermsQuery:function(a){return null==a?c.multi_match.zero_terms_query:(a=a.toLowerCase(),("all"===a||"none"===a)&&(c.multi_match.zero_terms_query=a),this)},toString:function(){return JSON.stringify(c)},_type:function(){return"query"},_self:function(){return c}}},E.NestedQuery=function(a){var b={nested:{path:a}};return{path:function(a){return null==a?b.nested.path:(b.nested.path=a,this)},query:function(a){if(null==a)return b.nested.query;if(!m(a))throw new TypeError("Argument must be a Query");return b.nested.query=a._self(),this},filter:function(a){if(null==a)return b.nested.filter;if(!o(a))throw new TypeError("Argument must be a Filter");return b.nested.filter=a._self(),this},scoreMode:function(a){return null==a?b.nested.score_mode:(a=a.toLowerCase(),("avg"===a||"total"===a||"max"===a||"none"===a||"sum"===a)&&(b.nested.score_mode=a),this)},scope:function(){return this},boost:function(a){return null==a?b.nested.boost:(b.nested.boost=a,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"query"},_self:function(){return b}}},E.PrefixQuery=function(a,b){var c={prefix:{}};return c.prefix[a]={value:b},{field:function(b){var d=c.prefix[a];return null==b?a:(delete c.prefix[a],a=b,c.prefix[b]=d,this)},value:function(b){return null==b?c.prefix[a].value:(c.prefix[a].value=b,this)},rewrite:function(b){return null==b?c.prefix[a].rewrite:(b=b.toLowerCase(),("constant_score_auto"===b||"scoring_boolean"===b||"constant_score_boolean"===b||"constant_score_filter"===b||0===b.indexOf("top_terms_boost_")||0===b.indexOf("top_terms_"))&&(c.prefix[a].rewrite=b),this)},boost:function(b){return null==b?c.prefix[a].boost:(c.prefix[a].boost=b,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"query"},_self:function(){return c}}},E.QueryStringQuery=function(a){var b={query_string:{}};return b.query_string.query=a,{query:function(a){return null==a?b.query_string.query:(b.query_string.query=a,this)},defaultField:function(a){return null==a?b.query_string.default_field:(b.query_string.default_field=a,this)},fields:function(a){if(null==b.query_string.fields&&(b.query_string.fields=[]),null==a)return b.query_string.fields;if(i(a))b.query_string.fields.push(a);else{if(!g(a))throw new TypeError("Argument must be a string or array");b.query_string.fields=a}return this},useDisMax:function(a){return null==a?b.query_string.use_dis_max:(b.query_string.use_dis_max=a,this)},defaultOperator:function(a){return null==a?b.query_string.default_operator:(a=a.toUpperCase(),("AND"===a||"OR"===a)&&(b.query_string.default_operator=a),this)},analyzer:function(a){return null==a?b.query_string.analyzer:(b.query_string.analyzer=a,this)},quoteAnalyzer:function(a){return null==a?b.query_string.quote_analyzer:(b.query_string.quote_analyzer=a,this)},allowLeadingWildcard:function(a){return null==a?b.query_string.allow_leading_wildcard:(b.query_string.allow_leading_wildcard=a,this)},lowercaseExpandedTerms:function(a){return null==a?b.query_string.lowercase_expanded_terms:(b.query_string.lowercase_expanded_terms=a,this)},enablePositionIncrements:function(a){return null==a?b.query_string.enable_position_increments:(b.query_string.enable_position_increments=a,this)},fuzzyPrefixLength:function(a){return null==a?b.query_string.fuzzy_prefix_length:(b.query_string.fuzzy_prefix_length=a,this)},fuzzyMinSim:function(a){return null==a?b.query_string.fuzzy_min_sim:(b.query_string.fuzzy_min_sim=a,this)},phraseSlop:function(a){return null==a?b.query_string.phrase_slop:(b.query_string.phrase_slop=a,this)},boost:function(a){return null==a?b.query_string.boost:(b.query_string.boost=a,this)},analyzeWildcard:function(a){return null==a?b.query_string.analyze_wildcard:(b.query_string.analyze_wildcard=a,this)},autoGeneratePhraseQueries:function(a){return null==a?b.query_string.auto_generate_phrase_queries:(b.query_string.auto_generate_phrase_queries=a,this)},minimumShouldMatch:function(a){return null==a?b.query_string.minimum_should_match:(b.query_string.minimum_should_match=a,this)},tieBreaker:function(a){return null==a?b.query_string.tie_breaker:(b.query_string.tie_breaker=a,this)},escape:function(a){return null==a?b.query_string.escape:(b.query_string.escape=a,this)},fuzzyMaxExpansions:function(a){return null==a?b.query_string.fuzzy_max_expansions:(b.query_string.fuzzy_max_expansions=a,this)},fuzzyRewrite:function(a){return null==a?b.query_string.fuzzy_rewrite:(a=a.toLowerCase(),("constant_score_auto"===a||"scoring_boolean"===a||"constant_score_boolean"===a||"constant_score_filter"===a||0===a.indexOf("top_terms_boost_")||0===a.indexOf("top_terms_"))&&(b.query_string.fuzzy_rewrite=a),this)},rewrite:function(a){return null==a?b.query_string.rewrite:(a=a.toLowerCase(),("constant_score_auto"===a||"scoring_boolean"===a||"constant_score_boolean"===a||"constant_score_filter"===a||0===a.indexOf("top_terms_boost_")||0===a.indexOf("top_terms_"))&&(b.query_string.rewrite=a),this)},quoteFieldSuffix:function(a){return null==a?b.query_string.quote_field_suffix:(b.query_string.quote_field_suffix=a,this)},lenient:function(a){return null==a?b.query_string.lenient:(b.query_string.lenient=a,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"query"},_self:function(){return b}}},E.RangeQuery=function(a){var b={range:{}};return b.range[a]={},{field:function(c){var d=b.range[a];return null==c?a:(delete b.range[a],a=c,b.range[c]=d,this)},from:function(c){return null==c?b.range[a].from:(b.range[a].from=c,this)},to:function(c){return null==c?b.range[a].to:(b.range[a].to=c,this)},includeLower:function(c){return null==c?b.range[a].include_lower:(b.range[a].include_lower=c,this)},includeUpper:function(c){return null==c?b.range[a].include_upper:(b.range[a].include_upper=c,this)},gt:function(c){return null==c?b.range[a].gt:(b.range[a].gt=c,this)},gte:function(c){return null==c?b.range[a].gte:(b.range[a].gte=c,this)},lt:function(c){return null==c?b.range[a].lt:(b.range[a].lt=c,this)},lte:function(c){return null==c?b.range[a].lte:(b.range[a].lte=c,this)},boost:function(c){return null==c?b.range[a].boost:(b.range[a].boost=c,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"query"},_self:function(){return b}}},E.RegexpQuery=function(a,b){var c={regexp:{}};return c.regexp[a]={value:b},{field:function(b){var d=c.regexp[a];return null==b?a:(delete c.regexp[a],a=b,c.regexp[b]=d,this)},value:function(b){return null==b?c.regexp[a].value:(c.regexp[a].value=b,this)},flags:function(b){return null==b?c.regexp[a].flags:(c.regexp[a].flags=b,this)},flagsValue:function(b){return null==b?c.regexp[a].flags_value:(c.regexp[a].flags_value=b,this)},rewrite:function(b){return null==b?c.regexp[a].rewrite:(b=b.toLowerCase(),("constant_score_auto"===b||"scoring_boolean"===b||"constant_score_boolean"===b||"constant_score_filter"===b||0===b.indexOf("top_terms_boost_")||0===b.indexOf("top_terms_"))&&(c.regexp[a].rewrite=b),this)},boost:function(b){return null==b?c.regexp[a].boost:(c.regexp[a].boost=b,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"query"},_self:function(){return c}}},E.SpanFirstQuery=function(a,b){if(!m(a))throw new TypeError("Argument must be a SpanQuery");var c={span_first:{match:a._self(),end:b}};return{match:function(a){if(null==a)return c.span_first.match;if(!m(a))throw new TypeError("Argument must be a SpanQuery");return c.span_first.match=a._self(),this},end:function(a){return null==a?c.span_first.end:(c.span_first.end=a,this)},boost:function(a){return null==a?c.span_first.boost:(c.span_first.boost=a,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"query"},_self:function(){return c}}},E.SpanMultiTermQuery=function(a){if(null!=a&&!m(a))throw new TypeError("Argument must be a MultiTermQuery");var b={span_multi:{match:{}}};return null!=a&&(b.span_multi.match=a._self()),{match:function(a){if(null==a)return b.span_multi.match;if(!m(a))throw new TypeError("Argument must be a MultiTermQuery");return b.span_multi.match=a._self(),this},toString:function(){return JSON.stringify(b)},_type:function(){return"query"},_self:function(){return b}}},E.SpanNearQuery=function(a,b){var c,d,e={span_near:{clauses:[],slop:b}};if(m(a))e.span_near.clauses.push(a._self());else{if(!g(a))throw new TypeError("Argument must be SpanQuery or array of SpanQueries");for(c=0,d=a.length;d>c;c++){if(!m(a[c]))throw new TypeError("Argument must be array of SpanQueries");e.span_near.clauses.push(a[c]._self())}}return{clauses:function(a){var b,c;if(null==a)return e.span_near.clauses;if(m(a))e.span_near.clauses.push(a._self());else{if(!g(a))throw new TypeError("Argument must be SpanQuery or array of SpanQueries");for(e.span_near.clauses=[],b=0,c=a.length;c>b;b++){if(!m(a[b]))throw new TypeError("Argument must be array of SpanQueries");e.span_near.clauses.push(a[b]._self())}}return this},slop:function(a){return null==a?e.span_near.slop:(e.span_near.slop=a,this)},inOrder:function(a){return null==a?e.span_near.in_order:(e.span_near.in_order=a,this)},collectPayloads:function(a){return null==a?e.span_near.collect_payloads:(e.span_near.collect_payloads=a,this)},boost:function(a){return null==a?e.span_near.boost:(e.span_near.boost=a,this)},toString:function(){return JSON.stringify(e)},_type:function(){return"query"},_self:function(){return e}}},E.SpanNotQuery=function(a,b){if(!m(a)||!m(b))throw new TypeError("Argument must be a SpanQuery");var c={span_not:{include:a._self(),exclude:b._self()}};return{include:function(a){if(null==a)return c.span_not.include;if(!m(a))throw new TypeError("Argument must be a SpanQuery");return c.span_not.include=a._self(),this},exclude:function(a){if(null==a)return c.span_not.exclude;if(!m(a))throw new TypeError("Argument must be a SpanQuery");return c.span_not.exclude=a._self(),this},boost:function(a){return null==a?c.span_not.boost:(c.span_not.boost=a,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"query"},_self:function(){return c}}},E.SpanOrQuery=function(a){var b,c,d={span_or:{clauses:[]}};if(m(a))d.span_or.clauses.push(a._self());else{if(!g(a))throw new TypeError("Argument must be SpanQuery or array of SpanQueries");for(b=0,c=a.length;c>b;b++){if(!m(a[b]))throw new TypeError("Argument must be array of SpanQueries");d.span_or.clauses.push(a[b]._self())}}return{clauses:function(a){var b,c;if(null==a)return d.span_or.clauses;if(m(a))d.span_or.clauses.push(a._self());else{if(!g(a))throw new TypeError("Argument must be SpanQuery or array of SpanQueries");for(d.span_or.clauses=[],b=0,c=a.length;c>b;b++){if(!m(a[b]))throw new TypeError("Argument must be array of SpanQueries");d.span_or.clauses.push(a[b]._self())}}return this},boost:function(a){return null==a?d.span_or.boost:(d.span_or.boost=a,this)},toString:function(){return JSON.stringify(d)},_type:function(){return"query"},_self:function(){return d}}},E.SpanTermQuery=function(a,b){var c={span_term:{}};return c.span_term[a]={term:b},{field:function(b){var d=c.span_term[a];return null==b?a:(delete c.span_term[a],a=b,c.span_term[b]=d,this)},term:function(b){return null==b?c.span_term[a].term:(c.span_term[a].term=b,this)},boost:function(b){return null==b?c.span_term[a].boost:(c.span_term[a].boost=b,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"query"},_self:function(){return c}}},E.TermQuery=function(a,b){var c={term:{}};return c.term[a]={term:b},{field:function(b){var d=c.term[a];return null==b?a:(delete c.term[a],a=b,c.term[b]=d,this)},term:function(b){return null==b?c.term[a].term:(c.term[a].term=b,this)},boost:function(b){return null==b?c.term[a].boost:(c.term[a].boost=b,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"query"},_self:function(){return c}}},E.TermsQuery=function(a,b){var c={terms:{}};if(i(b))c.terms[a]=[b];else{if(!g(b))throw new TypeError("Argument must be string or array");c.terms[a]=b}return{field:function(b){var d=c.terms[a];return null==b?a:(delete c.terms[a],a=b,c.terms[b]=d,this)},terms:function(b){if(null==b)return c.terms[a];if(i(b))c.terms[a].push(b);else{if(!g(b))throw new TypeError("Argument must be string or array");c.terms[a]=b}return this},minimumShouldMatch:function(a){return null==a?c.terms.minimum_should_match:(c.terms.minimum_should_match=a,this)},disableCoord:function(a){return null==a?c.terms.disable_coord:(c.terms.disable_coord=a,this)},boost:function(a){return null==a?c.terms.boost:(c.terms.boost=a,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"query"},_self:function(){return c}}},E.TopChildrenQuery=function(a,b){if(!m(a))throw new TypeError("Argument must be a Query");var c={top_children:{query:a._self(),type:b}};return{query:function(a){if(null==a)return c.top_children.query;if(!m(a))throw new TypeError("Argument must be a Query");return c.top_children.query=a._self(),this},type:function(a){return null==a?c.top_children.type:(c.top_children.type=a,this)},scope:function(){return this},score:function(a){return null==a?c.top_children.score:(a=a.toLowerCase(),("max"===a||"sum"===a||"avg"===a||"total"===a)&&(c.top_children.score=a),this)},scoreMode:function(a){return null==a?c.top_children.score_mode:(a=a.toLowerCase(),("max"===a||"sum"===a||"avg"===a||"total"===a)&&(c.top_children.score_mode=a),this)},factor:function(a){return null==a?c.top_children.factor:(c.top_children.factor=a,this)},incrementalFactor:function(a){return null==a?c.top_children.incremental_factor:(c.top_children.incremental_factor=a,this)},boost:function(a){return null==a?c.top_children.boost:(c.top_children.boost=a,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"query"},_self:function(){return c}}},E.WildcardQuery=function(a,b){var c={wildcard:{}};return c.wildcard[a]={value:b},{field:function(b){var d=c.wildcard[a];return null==b?a:(delete c.wildcard[a],a=b,c.wildcard[b]=d,this)},value:function(b){return null==b?c.wildcard[a].value:(c.wildcard[a].value=b,this)},rewrite:function(b){return null==b?c.wildcard[a].rewrite:(b=b.toLowerCase(),("constant_score_auto"===b||"scoring_boolean"===b||"constant_score_boolean"===b||"constant_score_filter"===b||0===b.indexOf("top_terms_boost_")||0===b.indexOf("top_terms_"))&&(c.wildcard[a].rewrite=b),this)},boost:function(b){return null==b?c.wildcard[a].boost:(c.wildcard[a].boost=b,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"query"},_self:function(){return c}}},E.ClusterHealth=function(){var a={},b=["indices"];return{indices:function(b){if(null==a.indices&&(a.indices=[]),null==b)return a.indices;if(i(b))a.indices.push(b);else{if(!g(b))throw new TypeError("Argument must be string or array");a.indices=b}return this},local:function(b){return null==b?a.local:(a.local=b,this)},masterTimeout:function(b){return null==b?a.master_timeout:(a.master_timeout=b,this)},timeout:function(b){return null==b?a.timeout:(a.timeout=b,this)},waitForStatus:function(b){return null==b?a.wait_for_status:(b=b.toLowerCase(),("green"===b||"yellow"===b||"red"===b)&&(a.wait_for_status=b),this)},waitForRelocatingShards:function(b){return null==b?a.wait_for_relocating_shards:(a.wait_for_relocating_shards=b,this)},waitForActiveShards:function(b){return null==b?a.wait_for_active_shards:(a.wait_for_active_shards=b,this)},waitForNodes:function(b){return null==b?a.wait_for_nodes:(a.wait_for_nodes=b,this)},level:function(b){return null==b?a.level:(b=b.toLowerCase(),("cluster"===b||"indices"===b||"shards"===b)&&(a.level=b),this)},toString:function(){return JSON.stringify(a)},_type:function(){return"cluster health"},_self:function(){return a},doHealth:function(c,d){if(null==E.client)throw new Error("No Client Set");var f="/_cluster/health";return a.indices&&a.indices.length>0&&(f=f+"/"+a.indices.join()),E.client.get(f,e(a,b),c,d)}}},E.ClusterState=function(){var a={},b=[];return{local:function(b){return null==b?a.local:(a.local=b,this)},masterTimeout:function(b){return null==b?a.master_timeout:(a.master_timeout=b,this)},filterNodes:function(b){return null==b?a.filter_nodes:(a.filter_nodes=b,this)},filterRoutingTable:function(b){return null==b?a.filter_routing_table:(a.filter_routing_table=b,this)},filterMetadata:function(b){return null==b?a.filter_metadata:(a.filter_metadata=b,this)},filterBlocks:function(b){return null==b?a.filter_blocks:(a.filter_blocks=b,this)},filterIndices:function(b){if(null==a.filter_indices&&(a.filter_indices=[]),null==b)return a.filter_indices;if(i(b))a.filter_indices.push(b);else{if(!g(b))throw new TypeError("Argument must be string or array");a.filter_indices=b}return this},filterIndexTemplates:function(b){if(null==a.filter_index_templates&&(a.filter_index_templates=[]),null==b)return a.filter_index_templates;if(i(b))a.filter_index_templates.push(b);else{if(!g(b))throw new TypeError("Argument must be string or array");a.filter_index_templates=b}return this},toString:function(){return JSON.stringify(a)},_type:function(){return"cluster state"},_self:function(){return a},doState:function(c,d){if(null==E.client)throw new Error("No Client Set");var f="/_cluster/state";return E.client.get(f,e(a,b),c,d)}}},E.NodeInfo=function(){var a={},b=["nodes"];return{nodes:function(b){if(null==a.nodes&&(a.nodes=[]),null==b)return a.nodes;if(i(b))a.nodes.push(b);else{if(!g(b))throw new TypeError("Argument must be string or array");a.nodes=b}return this},clear:function(b){return null==b?a.clear:(a.clear=b,this)},all:function(b){return null==b?a.all:(a.all=b,this)},settings:function(b){return null==b?a.settings:(a.settings=b,this)},os:function(b){return null==b?a.os:(a.os=b,this)},process:function(b){return null==b?a.process:(a.process=b,this)},jvm:function(b){return null==b?a.jvm:(a.jvm=b,this)},threadPool:function(b){return null==b?a.thread_pool:(a.thread_pool=b,this)},network:function(b){return null==b?a.network:(a.network=b,this)},transport:function(b){return null==b?a.transport:(a.transport=b,this)},http:function(b){return null==b?a.http:(a.http=b,this)},plugin:function(b){return null==b?a.plugin:(a.plugin=b,this)},timeout:function(b){return null==b?a.timeout:(a.timeout=b,this)},toString:function(){return JSON.stringify(a)},_type:function(){return"node info"},_self:function(){return a},doInfo:function(c,d){if(null==E.client)throw new Error("No Client Set");var f="/_nodes";return a.nodes&&a.nodes.length>0&&(f=f+"/"+a.nodes.join()),E.client.get(f,e(a,b),c,d)}}},E.NodeStats=function(){var a={},b=["nodes"];return{nodes:function(b){if(null==a.nodes&&(a.nodes=[]),null==b)return a.nodes;if(i(b))a.nodes.push(b);else{if(!g(b))throw new TypeError("Argument must be string or array");a.nodes=b}return this},clear:function(b){return null==b?a.clear:(a.clear=b,this)},all:function(b){return null==b?a.all:(a.all=b,this)},indices:function(b){return null==b?a.indices:(a.indices=b,this)},os:function(b){return null==b?a.os:(a.os=b,this)},process:function(b){return null==b?a.process:(a.process=b,this)},jvm:function(b){return null==b?a.jvm:(a.jvm=b,this)},threadPool:function(b){return null==b?a.thread_pool:(a.thread_pool=b,this)},network:function(b){return null==b?a.network:(a.network=b,this)},fs:function(b){return null==b?a.fs:(a.fs=b,this)},transport:function(b){return null==b?a.transport:(a.transport=b,this)},http:function(b){return null==b?a.http:(a.http=b,this)},toString:function(){return JSON.stringify(a)},_type:function(){return"node stats"},_self:function(){return a},doStats:function(c,d){if(null==E.client)throw new Error("No Client Set");var f="/_nodes";return a.nodes&&a.nodes.length>0&&(f=f+"/"+a.nodes.join()),f+="/stats",E.client.get(f,e(a,b),c,d)}}},E.GeoPoint=function(b){var c=[0,0];return null!=b&&g(b)&&2===b.length&&(c=[b[1],b[0]]),{properties:function(b){return null==b?c:(h(b)&&a(b,"lat")&&a(b,"lon")?c={lat:b.lat,lon:b.lon}:h(b)&&a(b,"geohash")&&(c={geohash:b.geohash}),this)},string:function(a){return null==a?c:(i(a)&&-1!==a.indexOf(",")&&(c=a),this)},geohash:function(a,b){return b=null!=b&&j(b)?b:12,null==a?c:(i(a)&&a.length===b&&(c=a),this)},array:function(a){return null==a?c:(g(a)&&2===a.length&&(c=[a[1],a[0]]),this)},toString:function(){return JSON.stringify(c)},_type:function(){return"geo point"},_self:function(){return c}}},E.Highlight=function(c){var d={fields:{}},e=function(b,c,e){null==b?d[c]=e:(a(d.fields,b)||(d.fields[b]={}),d.fields[b][c]=e)};return null!=c&&(i(c)?d.fields[c]={}:g(c)&&b(c,function(a){d.fields[a]={}})),{fields:function(c){return null==c?d.fields:void(i(c)?a(d.fields,c)||(d.fields[c]={}):g(c)&&b(c,function(b){a(d.fields,b)||(d.fields[b]={})}))},preTags:function(a,b){return null===a&&null!=b?d.fields[b].pre_tags:null==a?d.pre_tags:(i(a)?e(b,"pre_tags",[a]):g(a)&&e(b,"pre_tags",a),this)},postTags:function(a,b){return null===a&&null!=b?d.fields[b].post_tags:null==a?d.post_tags:(i(a)?e(b,"post_tags",[a]):g(a)&&e(b,"post_tags",a),this)},order:function(a,b){return null===a&&null!=b?d.fields[b].order:null==a?d.order:(a=a.toLowerCase(),"score"===a&&e(b,"order",a),this)},tagsSchema:function(a){return null==a?d.tags_schema:(a=a.toLowerCase(),"styled"===a&&(d.tags_schema=a),this)},highlightFilter:function(a,b){return null===a&&null!=b?d.fields[b].highlight_filter:null==a?d.highlight_filter:(e(b,"highlight_filter",a),this)},fragmentSize:function(a,b){return null===a&&null!=b?d.fields[b].fragment_size:null==a?d.fragment_size:(e(b,"fragment_size",a),this)},numberOfFragments:function(a,b){return null===a&&null!=b?d.fields[b].number_of_fragments:null==a?d.number_of_fragments:(e(b,"number_of_fragments",a),this)},encoder:function(a){return null==a?d.encoder:(a=a.toLowerCase(),("default"===a||"html"===a)&&(d.encoder=a),this)},requireFieldMatch:function(a,b){return null===a&&null!=b?d.fields[b].require_field_match:null==a?d.require_field_match:(e(b,"require_field_match",a),this)},boundaryMaxScan:function(a,b){return null===a&&null!=b?d.fields[b].boundary_max_scan:null==a?d.boundary_max_scan:(e(b,"boundary_max_scan",a),this)},boundaryChars:function(a,b){return null===a&&null!=b?d.fields[b].boundary_chars:null==a?d.boundary_chars:(e(b,"boundary_chars",a),this)},type:function(a,b){return null===a&&null!=b?d.fields[b].type:null==a?d.type:(a=a.toLowerCase(),("fast-vector-highlighter"===a||"highlighter"===a)&&e(b,"type",a),this)},fragmenter:function(a,b){return null===a&&null!=b?d.fields[b].fragmenter:null==a?d.fragmenter:(a=a.toLowerCase(),("simple"===a||"span"===a)&&e(b,"fragmenter",a),this)},options:function(a,b){if(null===a&&null!=b)return d.fields[b].options;if(null==a)return d.options;if(!h(a)||g(a)||l(a))throw new TypeError("Parameter must be an object");return e(b,"options",a),this},toString:function(){return JSON.stringify(d)},_type:function(){return"highlight"},_self:function(){return d}}},E.IndexedShape=function(a,b){var c={type:a,id:b};return{type:function(a){return null==a?c.type:(c.type=a,this)},id:function(a){return null==a?c.id:(c.id=a,this)},index:function(a){return null==a?c.index:(c.index=a,this)},shapeFieldName:function(a){return null==a?c.shape_field_name:(c.shape_field_name=a,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"indexed shape"},_self:function(){return c}}},E.MultiSearchRequest=function(b){var c,d,e,f={},h=function(){var b="",c=[];d.length>0&&(b=b+"/"+d.join()),e.length>0&&(b=b+"/"+e.join()),b+="/_msearch";for(var g in f)a(f,g)&&""!==f[g]&&c.push(g+"="+encodeURIComponent(f[g]));return c.length>0&&(b=b+"?"+c.join("&")),b};return c=[],b=b||{},d=null==b.indices?[]:i(b.indices)?[b.indices]:b.indices,e=null==b.types?[]:i(b.types)?[b.types]:b.types,0===d.length&&e.length>0&&(d=["_all"]),{requests:function(a){if(null==a)return c;if(C(a))c.push(a);else{if(!g(a))throw new TypeError("Argument must be request or array");c=a}return this},searchType:function(a){return null==a?f.search_type:(a=a.toLowerCase(),("dfs_query_then_fetch"===a||"dfs_query_and_fetch"===a||"query_then_fetch"===a||"query_and_fetch"===a||"scan"===a||"count"===a)&&(f.search_type=a),this)},indices:function(a){if(null==a)return d;if(i(a))d=[a];else{if(!g(a))throw new TypeError("Argument must be a string or array");d=a}return 0===d.length&&e.length>0&&(d=["_all"]),this},types:function(a){if(null==a)return e;if(i(a))e=[a];else{if(!g(a))throw new TypeError("Argument must be a string or array");e=a}return 0===d.length&&e.length>0&&(d=["_all"]),this},ignoreIndices:function(a){return null==a?f.ignore_indices:(a=a.toLowerCase(),("none"===a||"missing"===a)&&(f.ignore_indices=a),this)},toString:function(){var a,b,d=[];for(a=0,b=c.length;b>a;a++)d.push(c[a]._self());return JSON.stringify(d)},_type:function(){return"multi search request"},_self:function(){var a,b,d=[];for(a=0,b=c.length;b>a;a++)d.push(c[a]._self());return d},doSearch:function(a,b){var d,e,f,g,i,j="";if(null==E.client)throw new Error("No Client Set");for(d=0,e=c.length;e>d;d++)f=c[d],i={},f.indices().length>0&&(i.indices=f.indices()),f.types().length>0&&(i.types=f.types()),null!=f.searchType()&&(i.search_type=f.searchType()),null!=f.preference()&&(i.preference=f.preference()),null!=f.routing()&&(i.routing=f.routing()),null!=f.ignoreIndices()&&(i.ignore_indices=f.ignoreIndices()),j=j+JSON.stringify(i)+"\n",g=f._self(),null!=f.timeout()&&(g.timeout=f.timeout()),j=j+JSON.stringify(g)+"\n";return E.client.post(h(),j,a,b)}}},E.Request=function(b){var d,e,f,h={},j=function(b){var c="",d=[];e.length>0&&(c=c+"/"+e.join()),f.length>0&&(c=c+"/"+f.join()),b.length>0&&"/"!==b[0]&&(c+="/"),c+=b;for(var g in h)a(h,g)&&""!==h[g]&&d.push(g+"="+encodeURIComponent(h[g]));return d.length>0&&(c=c+"?"+d.join("&")),c};return d={},b=b||{},e=null==b.indices?[]:i(b.indices)?[b.indices]:b.indices,f=null==b.types?[]:i(b.types)?[b.types]:b.types,0===e.length&&f.length>0&&(e=["_all"]),null!=b.routing&&(h.routing=b.routing),{sort:function(){var b,c;if(a(d,"sort")||(d.sort=[]),0===arguments.length)return d.sort;if(1===arguments.length){var e=arguments[0];if(i(e))d.sort.push(e);else if(u(e))d.sort.push(e._self());else{if(!g(e))throw new TypeError("Argument must be string, Sort, or array");for(d.sort=[],b=0,c=e.length;c>b;b++)if(i(e[b]))d.sort.push(e[b]);else{if(!u(e[b]))throw new TypeError("Invalid object in array");d.sort.push(e[b]._self())}}}else if(2===arguments.length){var f=arguments[0],h=arguments[1];if(i(f)&&i(h)&&(h=h.toLowerCase(),"asc"===h||"desc"===h)){var j={};j[f]={order:h},d.sort.push(j)}}return this},trackScores:function(a){return null==a?d.track_scores:(d.track_scores=a,this)},size:function(a){return null==a?d.size:(d.size=a,this)},timeout:function(a){return null==a?h.timeout:(h.timeout=a,this)},routing:function(a){return null==a?h.routing:(h.routing=a,this)},replication:function(a){return null==a?h.replication:(a=a.toLowerCase(),("async"===a||"sync"===a||"default"===a)&&(h.replication=a),this)},consistency:function(a){return null==a?h.consistency:(a=a.toLowerCase(),("default"===a||"one"===a||"quorum"===a||"all"===a)&&(h.consistency=a),this)},searchType:function(a){return null==a?h.search_type:(a=a.toLowerCase(),("dfs_query_then_fetch"===a||"dfs_query_and_fetch"===a||"query_then_fetch"===a||"query_and_fetch"===a||"scan"===a||"count"===a)&&(h.search_type=a),this) -},fields:function(a){if(null==a)return d.fields;if(null==d.fields&&(d.fields=[]),i(a))d.fields.push(a);else{if(!g(a))throw new TypeError("Argument must be string or array");d.fields=a}return this},rescore:function(a){if(null==a)return d.rescore;if(!n(a))throw new TypeError("Argument must be a Rescore");return d.rescore=a._self(),this},from:function(a){return null==a?d.from:(d.from=a,this)},query:function(a){if(null==a)return d.query;if(!m(a))throw new TypeError("Argument must be a Query");return d.query=a._self(),this},indices:function(a){if(null==a)return e;if(i(a))e=[a];else{if(!g(a))throw new TypeError("Argument must be a string or array");e=a}return 0===e.length&&f.length>0&&(e=["_all"]),this},types:function(a){if(null==a)return f;if(i(a))f=[a];else{if(!g(a))throw new TypeError("Argument must be a string or array");f=a}return 0===e.length&&f.length>0&&(e=["_all"]),this},facet:function(a){if(null==a)return d.facets;if(null==d.facets&&(d.facets={}),!p(a))throw new TypeError("Argument must be a Facet");return c(d.facets,a._self()),this},filter:function(a){if(null==a)return d.filter;if(!o(a))throw new TypeError("Argument must be a Filter");return d.filter=a._self(),this},highlight:function(a){if(null==a)return d.highlight;if(!v(a))throw new TypeError("Argument must be a Highlight object");return d.highlight=a._self(),this},suggest:function(a){if(null==a)return d.suggest;if(null==d.suggest&&(d.suggest={}),i(a))d.suggest.text=a;else{if(!w(a))throw new TypeError("Argument must be a string or Suggest object");c(d.suggest,a._self())}return this},scriptField:function(a){if(null==a)return d.script_fields;if(null==d.script_fields&&(d.script_fields={}),!q(a))throw new TypeError("Argument must be a ScriptField");return c(d.script_fields,a._self()),this},preference:function(a){return null==a?h.preference:(h.preference=a,this)},local:function(a){return null==a?h.local:(h.local=a,this)},ignoreIndices:function(a){return null==a?h.ignore_indices:(a=a.toLowerCase(),("none"===a||"missing"===a)&&(h.ignore_indices=a),this)},indexBoost:function(a,b){return null==d.indices_boost&&(d.indices_boost={}),0===arguments.length?d.indices_boost:(d.indices_boost[a]=b,this)},explain:function(a){return null==a?d.explain:(d.explain=a,this)},version:function(a){return null==a?d.version:(d.version=a,this)},minScore:function(a){return null==a?d.min_score:(d.min_score=a,this)},toString:function(){return JSON.stringify(d)},_type:function(){return"request"},_self:function(){return d},doDeleteByQuery:function(a,b){var c=JSON.stringify(d.query);if(null==E.client)throw new Error("No Client Set");return E.client.del(j("_query"),c,a,b)},doCount:function(a,b){var c=JSON.stringify(d.query);if(null==E.client)throw new Error("No Client Set");return E.client.post(j("_count"),c,a,b)},doSearch:function(a,b){var c=JSON.stringify(d);if(null==E.client)throw new Error("No Client Set");return E.client.post(j("_search"),c,a,b)},doSearchShards:function(a,b){if(null==E.client)throw new Error("No Client Set");return E.client.post(j("_search_shards"),"",a,b)}}},E.Rescore=function(a,b){if(null!=a&&!j(a))throw new TypeError("Argument must be a Number");if(null!=b&&!m(b))throw new TypeError("Argument must be a Query");var c={query:{}};return null!=a&&(c.window_size=a),null!=b&&(c.query.rescore_query=b._self()),{rescoreQuery:function(a){if(null==a)return c.query.rescore_query;if(!m(a))throw new TypeError("Argument must be a Query");return c.query.rescore_query=a._self(),this},queryWeight:function(a){if(null==a)return c.query.query_weight;if(!j(a))throw new TypeError("Argument must be a Number");return c.query.query_weight=a,this},rescoreQueryWeight:function(a){if(null==a)return c.query.rescore_query_weight;if(!j(a))throw new TypeError("Argument must be a Number");return c.query.rescore_query_weight=a,this},windowSize:function(a){if(null==a)return c.window_size;if(!j(a))throw new TypeError("Argument must be a Number");return c.window_size=a,this},scoreMode:function(a){return null==a?c.query.score_mode:(a=a.toLowerCase(),("total"===a||"min"===a||"max"===a||"multiply"===a||"avg"===a)&&(c.query.score_mode=a),this)},toString:function(){return JSON.stringify(c)},_type:function(){return"rescore"},_self:function(){return c}}},E.ScriptField=function(a){var b={};return b[a]={},{lang:function(c){return null==c?b[a].lang:(b[a].lang=c,this)},script:function(c){return null==c?b[a].script:(b[a].script=c,this)},params:function(c){return null==c?b[a].params:(b[a].params=c,this)},ignoreFailure:function(c){return null==c?b[a].ignore_failure:(b[a].ignore_failure=c,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"script field"},_self:function(){return b}}},E.Shape=function(a,b){var c={},d=function(a){var b=!1;return("point"===a||"linestring"===a||"polygon"===a||"multipoint"===a||"envelope"===a||"multipolygon"===a||"circle"===a||"multilinestring"===a)&&(b=!0),b};return a=a.toLowerCase(),d(a)&&(c.type=a,c.coordinates=b),{type:function(a){return null==a?c.type:(a=a.toLowerCase(),d(a)&&(c.type=a),this)},coordinates:function(a){return null==a?c.coordinates:(c.coordinates=a,this)},radius:function(a){return null==a?c.radius:(c.radius=a,this)},toString:function(){return JSON.stringify(c)},_type:function(){return"shape"},_self:function(){return c}}},E.Sort=function(a){null==a&&(a="_score");var b={},c=a,d="_geo_distance",e="_script";return b[c]={},{field:function(d){var e=b[c];return null==d?a:(delete b[c],a=d,c=d,b[c]=e,this)},geoDistance:function(e){var f=b[c];if(null==e)return b[c][a];if(!r(e))throw new TypeError("Argument must be a GeoPoint");return delete b[c],c=d,b[c]=f,b[c][a]=e._self(),this},script:function(a){var d=b[c];return null==a?b[c].script:(delete b[c],c=e,b[c]=d,b[c].script=a,this)},order:function(a){return null==a?b[c].order:(a=a.toLowerCase(),("asc"===a||"desc"===a)&&(b[c].order=a),this)},asc:function(){return b[c].order="asc",this},desc:function(){return b[c].order="desc",this},reverse:function(a){return null==a?b[c].reverse:(b[c].reverse=a,this)},missing:function(a){return null==a?b[c].missing:(b[c].missing=a,this)},ignoreUnmapped:function(a){return null==a?b[c].ignore_unmapped:(b[c].ignore_unmapped=a,this)},unit:function(a){return null==a?b[c].unit:(a=a.toLowerCase(),("mi"===a||"km"===a)&&(b[c].unit=a),this)},normalize:function(a){return null==a?b[c].normalize:(b[c].normalize=a,this)},distanceType:function(a){return null==a?b[c].distance_type:(a=a.toLowerCase(),("arc"===a||"plane"===a)&&(b[c].distance_type=a),this)},params:function(a){return null==a?b[c].params:(b[c].params=a,this)},lang:function(a){return null==a?b[c].lang:(b[c].lang=a,this)},type:function(a){return null==a?b[c].type:(a=a.toLowerCase(),("string"===a||"number"===a)&&(b[c].type=a),this)},mode:function(a){return null==a?b[c].mode:(a=a.toLowerCase(),("min"===a||"max"===a||"sum"===a||"avg"===a)&&(b[c].mode=a),this)},nestedPath:function(a){return null==a?b[c].nested_path:(b[c].nested_path=a,this)},nestedFilter:function(a){if(null==a)return b[c].nested_filter;if(!o(a))throw new TypeError("Argument must be a Filter");return b[c].nested_filter=a._self(),this},toString:function(){return JSON.stringify(b)},_type:function(){return"sort"},_self:function(){return b}}},E.DirectGenerator=function(){var a=E.DirectSettingsMixin(),b=a._self();return c(a,{preFilter:function(a){return null==a?b.pre_filter:(b.pre_filter=a,this)},postFilter:function(a){return null==a?b.post_filter:(b.post_filter=a,this)},field:function(a){return null==a?b.field:(b.field=a,this)},size:function(a){return null==a?b.size:(b.size=a,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"generator"},_self:function(){return b}})},E.DirectSettingsMixin=function(){var a={};return{accuracy:function(b){return null==b?a.accuracy:(a.accuracy=b,this)},suggestMode:function(b){return null==b?a.suggest_mode:(b=b.toLowerCase(),("missing"===b||"popular"===b||"always"===b)&&(a.suggest_mode=b),this)},sort:function(b){return null==b?a.sort:(b=b.toLowerCase(),("score"===b||"frequency"===b)&&(a.sort=b),this)},stringDistance:function(b){return null==b?a.string_distance:(b=b.toLowerCase(),("internal"===b||"damerau_levenshtein"===b||"levenstein"===b||"jarowinkler"===b||"ngram"===b)&&(a.string_distance=b),this)},maxEdits:function(b){return null==b?a.max_edits:(a.max_edits=b,this)},maxInspections:function(b){return null==b?a.max_inspections:(a.max_inspections=b,this)},maxTermFreq:function(b){return null==b?a.max_term_freq:(a.max_term_freq=b,this)},prefixLen:function(b){return null==b?a.prefix_len:(a.prefix_len=b,this)},minWordLen:function(b){return null==b?a.min_word_len:(a.min_word_len=b,this)},minDocFreq:function(b){return null==b?a.min_doc_freq:(a.min_doc_freq=b,this)},_self:function(){return a}}},E.PhraseSuggester=function(a){var b={};return b[a]={phrase:{}},{text:function(c){return null==c?b[a].text:(b[a].text=c,this)},analyzer:function(c){return null==c?b[a].phrase.analyzer:(b[a].phrase.analyzer=c,this)},field:function(c){return null==c?b[a].phrase.field:(b[a].phrase.field=c,this)},size:function(c){return null==c?b[a].phrase.size:(b[a].phrase.size=c,this)},shardSize:function(c){return null==c?b[a].phrase.shard_size:(b[a].phrase.shard_size=c,this)},realWorldErrorLikelihood:function(c){return null==c?b[a].phrase.real_world_error_likelihood:(b[a].phrase.real_world_error_likelihood=c,this)},confidence:function(c){return null==c?b[a].phrase.confidence:(b[a].phrase.confidence=c,this)},separator:function(c){return null==c?b[a].phrase.separator:(b[a].phrase.separator=c,this)},maxErrors:function(c){return null==c?b[a].phrase.max_errors:(b[a].phrase.max_errors=c,this)},gramSize:function(c){return null==c?b[a].phrase.gram_size:(b[a].phrase.gram_size=c,this)},forceUnigrams:function(c){return null==c?b[a].phrase.force_unigrams:(b[a].phrase.force_unigrams=c,this)},tokenLimit:function(c){return null==c?b[a].phrase.token_limit:(b[a].phrase.token_limit=c,this)},linearSmoothing:function(c,d,e){return 0===arguments.length?b[a].phrase.smoothing:(b[a].phrase.smoothing={linear:{trigram_lambda:c,bigram_lambda:d,unigram_lambda:e}},this)},laplaceSmoothing:function(c){return null==c?b[a].phrase.smoothing:(b[a].phrase.smoothing={laplace:{alpha:c}},this)},stupidBackoffSmoothing:function(c){return null==c?b[a].phrase.smoothing:(b[a].phrase.smoothing={stupid_backoff:{discount:c}},this)},highlight:function(c,d){return 0===arguments.length?b[a].phrase.highlight:(b[a].phrase.highlight={pre_tag:c,post_tag:d},this)},directGenerator:function(c){var d,e;if(null==b[a].phrase.direct_generator&&(b[a].phrase.direct_generator=[]),null==c)return b[a].phrase.direct_generator;if(x(c))b[a].phrase.direct_generator.push(c._self());else{if(!g(c))throw new TypeError("Argument must be a Generator or array of Generators");for(b[a].phrase.direct_generator=[],d=0,e=c.length;e>d;d++){if(!x(c[d]))throw new TypeError("Argument must be an array of Generators");b[a].phrase.direct_generator.push(c[d]._self())}}return this},toString:function(){return JSON.stringify(b)},_type:function(){return"suggest"},_self:function(){return b}}},E.TermSuggester=function(a){var b={},d=E.DirectSettingsMixin();return b[a]={term:d._self()},c(d,{text:function(c){return null==c?b[a].text:(b[a].text=c,this)},analyzer:function(c){return null==c?b[a].term.analyzer:(b[a].term.analyzer=c,this)},field:function(c){return null==c?b[a].term.field:(b[a].term.field=c,this)},size:function(c){return null==c?b[a].term.size:(b[a].term.size=c,this)},shardSize:function(c){return null==c?b[a].term.shard_size:(b[a].term.shard_size=c,this)},toString:function(){return JSON.stringify(b)},_type:function(){return"suggest"},_self:function(){return b}})},E.noConflict=function(){return F.ejs=G,this}}.call(this),define("../vendor/elasticjs/elastic",function(){}),angular.module("elasticjs.service",[]).factory("ejsResource",["$http",function(a){return function(b,c){var d=window.ejs||{},e=function(a,b,c){return a.then(function(a){return(b||angular.noop)(a.data),a.data},function(a){return(c||angular.noop)(a.data),a.data})};return b!==Object(b)&&(b={server:b}),null==b.server&&(b.server=""),(c||b.basicAuth)&&(b.headers=angular.extend(b.headers||{},{Authorization:"Basic "+(c||b.basicAuth)})),d.client={server:function(a){return null==a?b.server:(b.server=a,this)},post:function(c,d,f,g){c=b.server+c;var h={url:c,data:d,method:"POST"};return e(a(angular.extend(h,b)),f,g)},get:function(c,d,f,g){c=b.server+c;var h={url:c,params:d,method:"GET"};return e(a(angular.extend(h,b)),f,g)},put:function(c,d,f,g){c=b.server+c;var h={url:c,data:d,method:"PUT"};return e(a(angular.extend(h,b)),f,g)},del:function(c,d,f,g){c=b.server+c;var h={url:c,data:d,method:"DELETE"};return e(a(angular.extend(h,b)),f,g)},head:function(c,d,e,f){c=b.server+c;var g={url:c,params:d,method:"HEAD"};return a(angular.extend(g,b)).then(function(a){return(e||angular.noop)(a.headers()),a.headers()},function(){return void(f||angular.noop)(void 0)})}},d}}]),define("elasticjs",function(){}),!function(a){a(function(){a.support.transition=function(){var a=function(){var a,b=document.createElement("bootstrap"),c={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(a in c)if(void 0!==b.style[a])return c[a]}();return a&&{end:a}}()})}(window.jQuery),!function(a){var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.close=function(b){function c(){d.trigger("closed").remove()}var d,e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,"")),d=a(f),b&&b.preventDefault(),d.length||(d=e.hasClass("alert")?e:e.parent()),d.trigger(b=a.Event("close")),b.isDefaultPrevented()||(d.removeClass("in"),a.support.transition&&d.hasClass("fade")?d.on(a.support.transition.end,c):c())};var d=a.fn.alert;a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("alert");e||d.data("alert",e=new c(this)),"string"==typeof b&&e[b].call(d)})},a.fn.alert.Constructor=c,a.fn.alert.noConflict=function(){return a.fn.alert=d,this},a(document).on("click.alert.data-api",b,c.prototype.close)}(window.jQuery),!function(a){var b=function(b,c){this.$element=a(b),this.options=a.extend({},a.fn.button.defaults,c)};b.prototype.setState=function(a){var b="disabled",c=this.$element,d=c.data(),e=c.is("input")?"val":"html";a+="Text",d.resetText||c.data("resetText",c[e]()),c[e](d[a]||this.options[a]),setTimeout(function(){"loadingText"==a?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b)},0)},b.prototype.toggle=function(){var a=this.$element.closest('[data-toggle="buttons-radio"]');a&&a.find(".active").removeClass("active"),this.$element.toggleClass("active")};var c=a.fn.button;a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("button"),f="object"==typeof c&&c;e||d.data("button",e=new b(this,f)),"toggle"==c?e.toggle():c&&e.setState(c)})},a.fn.button.defaults={loadingText:"loading..."},a.fn.button.Constructor=b,a.fn.button.noConflict=function(){return a.fn.button=c,this},a(document).on("click.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle")})}(window.jQuery),!function(a){var b=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,"hover"==this.options.pause&&this.$element.on("mouseenter",a.proxy(this.pause,this)).on("mouseleave",a.proxy(this.cycle,this))};b.prototype={cycle:function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},getActiveIndex:function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},to:function(b){var c=this.getActiveIndex(),d=this;if(!(b>this.$items.length-1||0>b))return this.sliding?this.$element.one("slid",function(){d.to(b)}):c==b?this.pause().cycle():this.slide(b>c?"next":"prev",a(this.$items[b]))},pause:function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition.end&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),clearInterval(this.interval),this.interval=null,this},next:function(){return this.sliding?void 0:this.slide("next")},prev:function(){return this.sliding?void 0:this.slide("prev")},slide:function(b,c){var d,e=this.$element.find(".item.active"),f=c||e[b](),g=this.interval,h="next"==b?"left":"right",i="next"==b?"first":"last",j=this;if(this.sliding=!0,g&&this.pause(),f=f.length?f:this.$element.find(".item")[i](),d=a.Event("slide",{relatedTarget:f[0],direction:h}),!f.hasClass("active")){if(this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid",function(){var b=a(j.$indicators.children()[j.getActiveIndex()]);b&&b.addClass("active")})),a.support.transition&&this.$element.hasClass("slide")){if(this.$element.trigger(d),d.isDefaultPrevented())return;f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),this.$element.one(a.support.transition.end,function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),j.sliding=!1,setTimeout(function(){j.$element.trigger("slid")},0)})}else{if(this.$element.trigger(d),d.isDefaultPrevented())return;e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger("slid")}return g&&this.cycle(),this}}};var c=a.fn.carousel;a.fn.carousel=function(c){return this.each(function(){var d=a(this),e=d.data("carousel"),f=a.extend({},a.fn.carousel.defaults,"object"==typeof c&&c),g="string"==typeof c?c:f.slide;e||d.data("carousel",e=new b(this,f)),"number"==typeof c?e.to(c):g?e[g]():f.interval&&e.pause().cycle()})},a.fn.carousel.defaults={interval:5e3,pause:"hover"},a.fn.carousel.Constructor=b,a.fn.carousel.noConflict=function(){return a.fn.carousel=c,this},a(document).on("click.carousel.data-api","[data-slide], [data-slide-to]",function(b){var c,d,e=a(this),f=a(e.attr("data-target")||(c=e.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"")),g=a.extend({},f.data(),e.data());f.carousel(g),(d=e.attr("data-slide-to"))&&f.data("carousel").pause().to(d).cycle(),b.preventDefault()})}(window.jQuery),!function(a){var b=function(b,c){this.$element=a(b),this.options=a.extend({},a.fn.collapse.defaults,c),this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};b.prototype={constructor:b,dimension:function(){var a=this.$element.hasClass("width");return a?"width":"height"},show:function(){var b,c,d,e;if(!this.transitioning&&!this.$element.hasClass("in")){if(b=this.dimension(),c=a.camelCase(["scroll",b].join("-")),d=this.$parent&&this.$parent.find("> .accordion-group > .in"),d&&d.length){if(e=d.data("collapse"),e&&e.transitioning)return;d.collapse("hide"),e||d.data("collapse",null)}this.$element[b](0),this.transition("addClass",a.Event("show"),"shown"),a.support.transition&&this.$element[b](this.$element[0][c])}},hide:function(){var b;!this.transitioning&&this.$element.hasClass("in")&&(b=this.dimension(),this.reset(this.$element[b]()),this.transition("removeClass",a.Event("hide"),"hidden"),this.$element[b](0))},reset:function(a){var b=this.dimension();return this.$element.removeClass("collapse")[b](a||"auto")[0].offsetWidth,this.$element[null!==a?"addClass":"removeClass"]("collapse"),this},transition:function(b,c,d){var e=this,f=function(){"show"==c.type&&e.reset(),e.transitioning=0,e.$element.trigger(d)};this.$element.trigger(c),c.isDefaultPrevented()||(this.transitioning=1,this.$element[b]("in"),a.support.transition&&this.$element.hasClass("collapse")?this.$element.one(a.support.transition.end,f):f())},toggle:function(){this[this.$element.hasClass("in")?"hide":"show"]()}};var c=a.fn.collapse;a.fn.collapse=function(c){return this.each(function(){var d=a(this),e=d.data("collapse"),f=a.extend({},a.fn.collapse.defaults,d.data(),"object"==typeof c&&c);e||d.data("collapse",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.collapse.defaults={toggle:!0},a.fn.collapse.Constructor=b,a.fn.collapse.noConflict=function(){return a.fn.collapse=c,this},a(document).on("click.collapse.data-api","[data-toggle=collapse]",function(b){var c,d=a(this),e=d.attr("data-target")||b.preventDefault()||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,""),f=a(e).data("collapse")?"toggle":d.data();d[a(e).hasClass("in")?"addClass":"removeClass"]("collapsed"),a(e).collapse(f)})}(window.jQuery),!function(a){function b(){a(".dropdown-backdrop").remove(),a(d).each(function(){c(a(this)).removeClass("open")})}function c(b){var c,d=b.attr("data-target");return d||(d=b.attr("href"),d=d&&/#/.test(d)&&d.replace(/.*(?=#[^\s]*$)/,"")),c=d&&a(d),c&&c.length||(c=b.parent()),c}var d="[data-toggle=dropdown]",e=function(b){var c=a(b).on("click.dropdown.data-api",this.toggle);a("html").on("click.dropdown.data-api",function(){c.parent().removeClass("open")})};e.prototype={constructor:e,toggle:function(){var d,e,f=a(this);if(!f.is(".disabled, :disabled"))return d=c(f),e=d.hasClass("open"),b(),e||("ontouchstart"in document.documentElement&&a('
    '+(this.showSeconds?'':"")+(this.showMeridian?'':"")+" "+(this.showSeconds?'":"")+(this.showMeridian?'":"")+''+(this.showSeconds?'':"")+(this.showMeridian?'':"")+"
       
    "+b+' :'+c+":'+d+" '+e+"
      
    ",this.template){case"modal":a='';break;case"dropdown":a='"}return a},getTime:function(){return this.formatTime(this.hour,this.minute,this.second,this.meridian)},hideWidget:function(){this.isOpen!==!1&&(this.showInputs&&this.updateFromWidgetInputs(),this.$element.trigger({type:"hide.timepicker",time:{value:this.getTime(),hours:this.hour,minutes:this.minute,seconds:this.second,meridian:this.meridian}}),"modal"===this.template?this.$widget.modal("hide"):this.$widget.removeClass("open"),a(c).off("mousedown.timepicker"),this.isOpen=!1)},highlightUnit:function(){this.position=this.getCursorPosition(),this.position>=0&&this.position<=2?this.highlightHour():this.position>=3&&this.position<=5?this.highlightMinute():this.position>=6&&this.position<=8?this.showSeconds?this.highlightSecond():this.highlightMeridian():this.position>=9&&this.position<=11&&this.highlightMeridian()},highlightNextUnit:function(){switch(this.highlightedUnit){case"hour":this.highlightMinute();break;case"minute":this.showSeconds?this.highlightSecond():this.showMeridian?this.highlightMeridian():this.highlightHour();break;case"second":this.showMeridian?this.highlightMeridian():this.highlightHour();break;case"meridian":this.highlightHour()}},highlightPrevUnit:function(){switch(this.highlightedUnit){case"hour":this.highlightMeridian();break;case"minute":this.highlightHour();break;case"second":this.highlightMinute();break;case"meridian":this.showSeconds?this.highlightSecond():this.highlightMinute()}},highlightHour:function(){var a=this.$element.get(0);this.highlightedUnit="hour",a.setSelectionRange&&setTimeout(function(){a.setSelectionRange(0,2)},0)},highlightMinute:function(){var a=this.$element.get(0);this.highlightedUnit="minute",a.setSelectionRange&&setTimeout(function(){a.setSelectionRange(3,5)},0)},highlightSecond:function(){var a=this.$element.get(0);this.highlightedUnit="second",a.setSelectionRange&&setTimeout(function(){a.setSelectionRange(6,8)},0)},highlightMeridian:function(){var a=this.$element.get(0);this.highlightedUnit="meridian",a.setSelectionRange&&(this.showSeconds?setTimeout(function(){a.setSelectionRange(9,11)},0):setTimeout(function(){a.setSelectionRange(6,8)},0))},incrementHour:function(){if(this.showMeridian){if(11===this.hour)return this.hour++,this.toggleMeridian();12===this.hour&&(this.hour=0)}return 23===this.hour?void(this.hour=0):(this.hour++,void this.update())},incrementMinute:function(a){var b;b=a?this.minute+a:this.minute+this.minuteStep-this.minute%this.minuteStep,b>59?(this.incrementHour(),this.minute=b-60):this.minute=b,this.update()},incrementSecond:function(){var a=this.second+this.secondStep-this.second%this.secondStep;a>59?(this.incrementMinute(!0),this.second=a-60):this.second=a,this.update()},remove:function(){a("document").off(".timepicker"),this.$widget&&this.$widget.remove(),delete this.$element.data().timepicker},setDefaultTime:function(a){if(this.$element.val())this.updateFromElementVal();else if("current"===a){var b=new Date,c=b.getHours(),d=Math.floor(b.getMinutes()/this.minuteStep)*this.minuteStep,e=Math.floor(b.getSeconds()/this.secondStep)*this.secondStep,f="AM";this.showMeridian&&(0===c?c=12:c>=12?(c>12&&(c-=12),f="PM"):f="AM"),this.hour=c,this.minute=d,this.second=e,this.meridian=f,this.update()}else a===!1?(this.hour=0,this.minute=0,this.second=0,this.meridian="AM"):this.setTime(a)},setTime:function(a){var b,c;this.showMeridian?(b=a.split(" "),c=b[0].split(":"),this.meridian=b[1]):c=a.split(":"),this.hour=parseInt(c[0],10),this.minute=parseInt(c[1],10),this.second=parseInt(c[2],10),isNaN(this.hour)&&(this.hour=0),isNaN(this.minute)&&(this.minute=0),this.showMeridian?(this.hour>12?this.hour=12:this.hour<1&&(this.hour=12),"am"===this.meridian||"a"===this.meridian?this.meridian="AM":("pm"===this.meridian||"p"===this.meridian)&&(this.meridian="PM"),"AM"!==this.meridian&&"PM"!==this.meridian&&(this.meridian="AM")):this.hour>=24?this.hour=23:this.hour<0&&(this.hour=0),this.minute<0?this.minute=0:this.minute>=60&&(this.minute=59),this.showSeconds&&(isNaN(this.second)?this.second=0:this.second<0?this.second=0:this.second>=60&&(this.second=59)),this.update()},showWidget:function(){if(!this.isOpen&&!this.$element.is(":disabled")){var b=this;a(c).on("mousedown.timepicker",function(c){0===a(c.target).closest(".bootstrap-timepicker-widget").length&&b.hideWidget()}),this.$element.trigger({type:"show.timepicker",time:{value:this.getTime(),hours:this.hour,minutes:this.minute,seconds:this.second,meridian:this.meridian}}),this.disableFocus&&this.$element.blur(),this.updateFromElementVal(),"modal"===this.template?this.$widget.modal("show").on("hidden",a.proxy(this.hideWidget,this)):this.isOpen===!1&&this.$widget.addClass("open"),this.isOpen=!0}},toggleMeridian:function(){this.meridian="AM"===this.meridian?"PM":"AM",this.update()},update:function(){this.$element.trigger({type:"changeTime.timepicker",time:{value:this.getTime(),hours:this.hour,minutes:this.minute,seconds:this.second,meridian:this.meridian}}),this.updateElement(),this.updateWidget()},updateElement:function(){this.$element.val(this.getTime()).change()},updateFromElementVal:function(){var a=this.$element.val();a&&this.setTime(a)},updateWidget:function(){if(this.$widget!==!1){var a=this.hour<10?"0"+this.hour:this.hour,b=this.minute<10?"0"+this.minute:this.minute,c=this.second<10?"0"+this.second:this.second;this.showInputs?(this.$widget.find("input.bootstrap-timepicker-hour").val(a),this.$widget.find("input.bootstrap-timepicker-minute").val(b),this.showSeconds&&this.$widget.find("input.bootstrap-timepicker-second").val(c),this.showMeridian&&this.$widget.find("input.bootstrap-timepicker-meridian").val(this.meridian)):(this.$widget.find("span.bootstrap-timepicker-hour").text(a),this.$widget.find("span.bootstrap-timepicker-minute").text(b),this.showSeconds&&this.$widget.find("span.bootstrap-timepicker-second").text(c),this.showMeridian&&this.$widget.find("span.bootstrap-timepicker-meridian").text(this.meridian))}},updateFromWidgetInputs:function(){if(this.$widget!==!1){var b=a("input.bootstrap-timepicker-hour",this.$widget).val()+":"+a("input.bootstrap-timepicker-minute",this.$widget).val()+(this.showSeconds?":"+a("input.bootstrap-timepicker-second",this.$widget).val():"")+(this.showMeridian?" "+a("input.bootstrap-timepicker-meridian",this.$widget).val():"");this.setTime(b)}},widgetClick:function(b){b.stopPropagation(),b.preventDefault();var c=a(b.target).closest("a").data("action");c&&this[c]()},widgetKeydown:function(b){var c=a(b.target).closest("input"),d=c.attr("name");switch(b.keyCode){case 9:if(this.showMeridian){if("meridian"===d)return this.hideWidget()}else if(this.showSeconds){if("second"===d)return this.hideWidget()}else if("minute"===d)return this.hideWidget();this.updateFromWidgetInputs();break;case 27:this.hideWidget();break;case 38:switch(b.preventDefault(),d){case"hour":this.incrementHour();break;case"minute":this.incrementMinute();break;case"second":this.incrementSecond();break;case"meridian":this.toggleMeridian()}break;case 40:switch(b.preventDefault(),d){case"hour":this.decrementHour();break;case"minute":this.decrementMinute();break;case"second":this.decrementSecond();break;case"meridian":this.toggleMeridian()}}}},a.fn.timepicker=function(b){var c=Array.apply(null,arguments);return c.shift(),this.each(function(){var d=a(this),f=d.data("timepicker"),g="object"==typeof b&&b;f||d.data("timepicker",f=new e(this,a.extend({},a.fn.timepicker.defaults,g,a(this).data()))),"string"==typeof b&&f[b].apply(f,c)})},a.fn.timepicker.defaults={defaultTime:"current",disableFocus:!1,isOpen:!1,minuteStep:15,modalBackdrop:!1,secondStep:15,showSeconds:!1,showInputs:!0,showMeridian:!0,template:"dropdown",appendWidgetTo:".bootstrap-timepicker"},a.fn.timepicker.Constructor=e}(jQuery,window,document),define("timepicker",function(){}),!function(a){function b(){return new Date(Date.UTC.apply(Date,arguments))}var c=function(b,c){switch(this.element=a(b),this.language=c.language||this.element.data("date-language")||"en",this.language=this.language in d?this.language:this.language.split("-")[0],this.language=this.language in d?this.language:"en",this.isRTL=d[this.language].rtl||!1,this.format=e.parseFormat(c.format||this.element.data("date-format")||d[this.language].format||"mm/dd/yyyy"),this.isInline=!1,this.isInput=this.element.is("input"),this.component=this.element.is(".date")?this.element.find(".add-on, .btn"):!1,this.hasInput=this.component&&this.element.find("input").length,this.component&&0===this.component.length&&(this.component=!1),this.forceParse=!0,"forceParse"in c?this.forceParse=c.forceParse:"dateForceParse"in this.element.data()&&(this.forceParse=this.element.data("date-force-parse")),this.picker=a(e.template),this._buildEvents(),this._attachEvents(),this.isInline?this.picker.addClass("datepicker-inline").appendTo(this.element):this.picker.addClass("datepicker-dropdown dropdown-menu"),this.isRTL&&(this.picker.addClass("datepicker-rtl"),this.picker.find(".prev i, .next i").toggleClass("icon-arrow-left icon-arrow-right")),this.autoclose=!1,"autoclose"in c?this.autoclose=c.autoclose:"dateAutoclose"in this.element.data()&&(this.autoclose=this.element.data("date-autoclose")),this.keyboardNavigation=!0,"keyboardNavigation"in c?this.keyboardNavigation=c.keyboardNavigation:"dateKeyboardNavigation"in this.element.data()&&(this.keyboardNavigation=this.element.data("date-keyboard-navigation")),this.viewMode=this.startViewMode=0,c.startView||this.element.data("date-start-view")){case 2:case"decade":this.viewMode=this.startViewMode=2;break;case 1:case"year":this.viewMode=this.startViewMode=1}if(this.minViewMode=c.minViewMode||this.element.data("date-min-view-mode")||0,"string"==typeof this.minViewMode)switch(this.minViewMode){case"months":this.minViewMode=1;break;case"years":this.minViewMode=2;break;default:this.minViewMode=0}this.viewMode=this.startViewMode=Math.max(this.startViewMode,this.minViewMode),this.todayBtn=c.todayBtn||this.element.data("date-today-btn")||!1,this.todayHighlight=c.todayHighlight||this.element.data("date-today-highlight")||!1,this.calendarWeeks=!1,"calendarWeeks"in c?this.calendarWeeks=c.calendarWeeks:"dateCalendarWeeks"in this.element.data()&&(this.calendarWeeks=this.element.data("date-calendar-weeks")),this.calendarWeeks&&this.picker.find("tfoot th.today").attr("colspan",function(a,b){return parseInt(b)+1}),this._allow_update=!1,this.weekStart=(c.weekStart||this.element.data("date-weekstart")||d[this.language].weekStart||0)%7,this.weekEnd=(this.weekStart+6)%7,this.startDate=-1/0,this.endDate=1/0,this.daysOfWeekDisabled=[],this.setStartDate(c.startDate||this.element.data("date-startdate")),this.setEndDate(c.endDate||this.element.data("date-enddate")),this.setDaysOfWeekDisabled(c.daysOfWeekDisabled||this.element.data("date-days-of-week-disabled")),this.fillDow(),this.fillMonths(),this._allow_update=!0,this.update(),this.showMode(),this.isInline&&this.show()};c.prototype={constructor:c,_events:[],_secondaryEvents:[],_applyEvents:function(a){for(var b,c,d=0;dthis.endDate?this.endDate:this.date),this.fill()}},fillDow:function(){var a=this.weekStart,b="";if(this.calendarWeeks){var c=' ';b+=c,this.picker.find(".datepicker-days thead tr:first-child").prepend(c)}for(;a'+d[this.language].daysMin[a++%7]+"";b+="",this.picker.find(".datepicker-days thead").append(b)},fillMonths:function(){for(var a="",b=0;12>b;)a+=''+d[this.language].monthsShort[b++]+"";this.picker.find(".datepicker-months td").html(a)},fill:function(){var c=new Date(this.viewDate),f=c.getUTCFullYear(),g=c.getUTCMonth(),h=this.startDate!==-1/0?this.startDate.getUTCFullYear():-1/0,i=this.startDate!==-1/0?this.startDate.getUTCMonth():-1/0,j=1/0!==this.endDate?this.endDate.getUTCFullYear():1/0,k=1/0!==this.endDate?this.endDate.getUTCMonth():1/0,l=this.date&&this.date.valueOf(),m=new Date;this.picker.find(".datepicker-days thead th.switch").text(d[this.language].months[g]+" "+f),this.picker.find("tfoot th.today").text(d[this.language].today).toggle(this.todayBtn!==!1),this.updateNavArrows(),this.fillMonths();var n=b(f,g-1,28,0,0,0,0),o=e.getDaysInMonth(n.getUTCFullYear(),n.getUTCMonth());n.setUTCDate(o),n.setUTCDate(o-(n.getUTCDay()-this.weekStart+7)%7);var p=new Date(n);p.setUTCDate(p.getUTCDate()+42),p=p.valueOf();for(var q,r=[];n.valueOf()"),this.calendarWeeks)){var s=new Date(+n+(this.weekStart-n.getUTCDay()-7)%7*864e5),t=new Date(+s+(11-s.getUTCDay())%7*864e5),u=new Date(+(u=b(t.getUTCFullYear(),0,1))+(11-u.getUTCDay())%7*864e5),v=(t-u)/864e5/7+1;r.push(''+v+"")}q="",n.getUTCFullYear()f||n.getUTCFullYear()==f&&n.getUTCMonth()>g)&&(q+=" new"),this.todayHighlight&&n.getUTCFullYear()==m.getFullYear()&&n.getUTCMonth()==m.getMonth()&&n.getUTCDate()==m.getDate()&&(q+=" today"),l&&n.valueOf()==l&&(q+=" active"),(n.valueOf()this.endDate||-1!==a.inArray(n.getUTCDay(),this.daysOfWeekDisabled))&&(q+=" disabled"),r.push(''+n.getUTCDate()+""),n.getUTCDay()==this.weekEnd&&r.push(""),n.setUTCDate(n.getUTCDate()+1)}this.picker.find(".datepicker-days tbody").empty().append(r.join(""));var w=this.date&&this.date.getUTCFullYear(),x=this.picker.find(".datepicker-months").find("th:eq(1)").text(f).end().find("span").removeClass("active");w&&w==f&&x.eq(this.date.getUTCMonth()).addClass("active"),(h>f||f>j)&&x.addClass("disabled"),f==h&&x.slice(0,i).addClass("disabled"),f==j&&x.slice(k+1).addClass("disabled"),r="",f=10*parseInt(f/10,10);var y=this.picker.find(".datepicker-years").find("th:eq(1)").text(f+"-"+(f+9)).end().find("td");f-=1;for(var z=-1;11>z;z++)r+='f||f>j?" disabled":"")+'">'+f+"",f+=1;y.html(r)},updateNavArrows:function(){if(this._allow_update){var a=new Date(this.viewDate),b=a.getUTCFullYear(),c=a.getUTCMonth();switch(this.viewMode){case 0:this.picker.find(".prev").css(this.startDate!==-1/0&&b<=this.startDate.getUTCFullYear()&&c<=this.startDate.getUTCMonth()?{visibility:"hidden"}:{visibility:"visible"}),this.picker.find(".next").css(1/0!==this.endDate&&b>=this.endDate.getUTCFullYear()&&c>=this.endDate.getUTCMonth()?{visibility:"hidden"}:{visibility:"visible"});break;case 1:case 2:this.picker.find(".prev").css(this.startDate!==-1/0&&b<=this.startDate.getUTCFullYear()?{visibility:"hidden"}:{visibility:"visible"}),this.picker.find(".next").css(1/0!==this.endDate&&b>=this.endDate.getUTCFullYear()?{visibility:"hidden"}:{visibility:"visible"})}}},click:function(c){c.preventDefault();var d=a(c.target).closest("span, td, th");if(1==d.length)switch(d[0].nodeName.toLowerCase()){case"th":switch(d[0].className){case"switch":this.showMode(1);break;case"prev":case"next":var f=e.modes[this.viewMode].navStep*("prev"==d[0].className?-1:1);switch(this.viewMode){case 0:this.viewDate=this.moveMonth(this.viewDate,f);break;case 1:case 2:this.viewDate=this.moveYear(this.viewDate,f)}this.fill();break;case"today":var g=new Date;g=b(g.getFullYear(),g.getMonth(),g.getDate(),0,0,0),this.showMode(-2);var h="linked"==this.todayBtn?null:"view";this._setDate(g,h)}break;case"span":if(!d.is(".disabled")){if(this.viewDate.setUTCDate(1),d.is(".month")){var i=1,j=d.parent().find("span").index(d),k=this.viewDate.getUTCFullYear();this.viewDate.setUTCMonth(j),this.element.trigger({type:"changeMonth",date:this.viewDate}),1==this.minViewMode&&this._setDate(b(k,j,i,0,0,0,0))}else{var k=parseInt(d.text(),10)||0,i=1,j=0;this.viewDate.setUTCFullYear(k),this.element.trigger({type:"changeYear",date:this.viewDate}),2==this.minViewMode&&this._setDate(b(k,j,i,0,0,0,0))}this.showMode(-1),this.fill()}break;case"td":if(d.is(".day")&&!d.is(".disabled")){var i=parseInt(d.text(),10)||1,k=this.viewDate.getUTCFullYear(),j=this.viewDate.getUTCMonth();d.is(".old")?0===j?(j=11,k-=1):j-=1:d.is(".new")&&(11==j?(j=0,k+=1):j+=1),this._setDate(b(k,j,i,0,0,0,0))}}},_setDate:function(a,b){b&&"date"!=b||(this.date=a),b&&"view"!=b||(this.viewDate=a),this.fill(),this.setValue(),this.element.trigger({type:"changeDate",date:this.date});var c;this.isInput?c=this.element:this.component&&(c=this.element.find("input")),c&&(c.change(),!this.autoclose||b&&"date"!=b||this.hide())},moveMonth:function(a,b){if(!b)return a;var c,d,e=new Date(a.valueOf()),f=e.getUTCDate(),g=e.getUTCMonth(),h=Math.abs(b);if(b=b>0?1:-1,1==h)d=-1==b?function(){return e.getUTCMonth()==g}:function(){return e.getUTCMonth()!=c},c=g+b,e.setUTCMonth(c),(0>c||c>11)&&(c=(c+12)%12);else{for(var i=0;h>i;i++)e=this.moveMonth(e,b);c=e.getUTCMonth(),e.setUTCDate(f),d=function(){return c!=e.getUTCMonth()}}for(;d();)e.setUTCDate(--f),e.setUTCMonth(c);return e},moveYear:function(a,b){return this.moveMonth(a,12*b)},dateWithinRange:function(a){return a>=this.startDate&&a<=this.endDate},keydown:function(a){if(this.picker.is(":not(:visible)"))return void(27==a.keyCode&&this.show());var b,c,d,e=!1;switch(a.keyCode){case 27:this.hide(),a.preventDefault();break;case 37:case 39:if(!this.keyboardNavigation)break;b=37==a.keyCode?-1:1,a.ctrlKey?(c=this.moveYear(this.date,b),d=this.moveYear(this.viewDate,b)):a.shiftKey?(c=this.moveMonth(this.date,b),d=this.moveMonth(this.viewDate,b)):(c=new Date(this.date),c.setUTCDate(this.date.getUTCDate()+b),d=new Date(this.viewDate),d.setUTCDate(this.viewDate.getUTCDate()+b)),this.dateWithinRange(c)&&(this.date=c,this.viewDate=d,this.setValue(),this.update(),a.preventDefault(),e=!0);break;case 38:case 40:if(!this.keyboardNavigation)break;b=38==a.keyCode?-1:1,a.ctrlKey?(c=this.moveYear(this.date,b),d=this.moveYear(this.viewDate,b)):a.shiftKey?(c=this.moveMonth(this.date,b),d=this.moveMonth(this.viewDate,b)):(c=new Date(this.date),c.setUTCDate(this.date.getUTCDate()+7*b),d=new Date(this.viewDate),d.setUTCDate(this.viewDate.getUTCDate()+7*b)),this.dateWithinRange(c)&&(this.date=c,this.viewDate=d,this.setValue(),this.update(),a.preventDefault(),e=!0);break;case 13:this.hide(),a.preventDefault();break;case 9:this.hide()}if(e){this.element.trigger({type:"changeDate",date:this.date});var f;this.isInput?f=this.element:this.component&&(f=this.element.find("input")),f&&f.change()}},showMode:function(a){a&&(this.viewMode=Math.max(this.minViewMode,Math.min(2,this.viewMode+a))),this.picker.find(">div").hide().filter(".datepicker-"+e.modes[this.viewMode].clsName).css("display","block"),this.updateNavArrows()}},a.fn.datepicker=function(b){var d=Array.apply(null,arguments);return d.shift(),this.each(function(){var e=a(this),f=e.data("datepicker"),g="object"==typeof b&&b;f||e.data("datepicker",f=new c(this,a.extend({},a.fn.datepicker.defaults,g))),"string"==typeof b&&"function"==typeof f[b]&&f[b].apply(f,d)})},a.fn.datepicker.defaults={},a.fn.datepicker.Constructor=c;var d=a.fn.datepicker.dates={en:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sun"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa","Su"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today"}},e={modes:[{clsName:"days",navFnc:"Month",navStep:1},{clsName:"months",navFnc:"FullYear",navStep:1},{clsName:"years",navFnc:"FullYear",navStep:10}],isLeapYear:function(a){return a%4===0&&a%100!==0||a%400===0},getDaysInMonth:function(a,b){return[31,e.isLeapYear(a)?29:28,31,30,31,30,31,31,30,31,30,31][b]},validParts:/dd?|DD?|mm?|MM?|yy(?:yy)?/g,nonpunctuation:/[^ -\/:-@\[\u3400-\u9fff-`{-~\t\n\r]+/g,parseFormat:function(a){var b=a.replace(this.validParts,"\x00").split("\x00"),c=a.match(this.validParts);if(!b||!b.length||!c||0===c.length)throw new Error("Invalid date format.");return{separators:b,parts:c}},parseDate:function(e,f,g){if(e instanceof Date)return e;if(/^[\-+]\d+[dmwy]([\s,]+[\-+]\d+[dmwy])*$/.test(e)){var h,i,j=/([\-+]\d+)([dmwy])/,k=e.match(/([\-+]\d+)([dmwy])/g);e=new Date;for(var l=0;lb;)b+=12;for(b%=12,a.setUTCMonth(b);a.getUTCMonth()!=b;)a.setUTCDate(a.getUTCDate()-1);return a},d:function(a,b){return a.setUTCDate(b)}};q.M=q.MM=q.mm=q.m,q.dd=q.d,e=b(e.getFullYear(),e.getMonth(),e.getDate(),0,0,0);var r=f.parts.slice();if(k.length!=r.length&&(r=a(r).filter(function(b,c){return-1!==a.inArray(c,p)}).toArray()),k.length==r.length){for(var l=0,s=r.length;s>l;l++){if(m=parseInt(k[l],10),h=r[l],isNaN(m))switch(h){case"MM":n=a(d[g].months).filter(function(){var a=this.slice(0,k[l].length),b=k[l].slice(0,a.length);return a==b}),m=a.inArray(n[0],d[g].months)+1;break;case"M":n=a(d[g].monthsShort).filter(function(){var a=this.slice(0,k[l].length),b=k[l].slice(0,a.length);return a==b}),m=a.inArray(n[0],d[g].monthsShort)+1}o[h]=m}for(var t,l=0;lh;h++)g.length&&b.push(g.shift()),b.push(f[c.parts[h]]);return b.join("")},headTemplate:'',contTemplate:'',footTemplate:''};e.template='
    '+e.headTemplate+""+e.footTemplate+'
    '+e.headTemplate+e.contTemplate+e.footTemplate+'
    '+e.headTemplate+e.contTemplate+e.footTemplate+"
    ",a.fn.datepicker.DPGlobal=e}(window.jQuery),define("datepicker",function(){}),angular.module("$strap.config",[]).value("$strapConfig",{}),angular.module("$strap.filters",["$strap.config"]),angular.module("$strap.directives",["$strap.config"]),angular.module("$strap",["$strap.filters","$strap.directives","$strap.config"]),angular.module("$strap.directives").directive("bsAlert",["$parse","$timeout","$compile",function(a,b,c){return{restrict:"A",link:function(d,e,f){var g=a(f.bsAlert),h=(g.assign,g(d)),i=function(a){b(function(){e.alert("close")},1*a)};f.bsAlert?d.$watch(f.bsAlert,function(a,b){h=a,e.html((a.title?""+a.title+" ":"")+a.content||""),a.closed&&e.hide(),c(e.contents())(d),(a.type||b.type)&&(b.type&&e.removeClass("alert-"+b.type),a.type&&e.addClass("alert-"+a.type)),angular.isDefined(a.closeAfter)?i(a.closeAfter):f.closeAfter&&i(f.closeAfter),(angular.isUndefined(f.closeButton)||"0"!==f.closeButton&&"false"!==f.closeButton)&&e.prepend('')},!0):((angular.isUndefined(f.closeButton)||"0"!==f.closeButton&&"false"!==f.closeButton)&&e.prepend(''),f.closeAfter&&i(f.closeAfter)),e.addClass("alert").alert(),e.hasClass("fade")&&(e.removeClass("in"),setTimeout(function(){e.addClass("in")}));var j=f.ngRepeat&&f.ngRepeat.split(" in ").pop();e.on("close",function(a){var b;j?(a.preventDefault(),e.removeClass("in"),b=function(){e.trigger("closed"),d.$parent&&d.$parent.$apply(function(){for(var a=j.split("."),b=d.$parent,c=0;cg.length-2?g[0]:g[i+1],b.$apply(function(){c.text(j),e&&e.$setViewValue(j)})})}}}]),angular.module("$strap.directives").directive("bsDatepicker",["$timeout","$strapConfig",function(a,b){var c=/(iP(a|o)d|iPhone)/g.test(navigator.userAgent),d=function(a){return a=a||"en",{"/":"[\\/]","-":"[-]",".":"[.]"," ":"[\\s]",dd:"(?:(?:[0-2]?[0-9]{1})|(?:[3][01]{1}))",d:"(?:(?:[0-2]?[0-9]{1})|(?:[3][01]{1}))",mm:"(?:[0]?[1-9]|[1][012])",m:"(?:[0]?[1-9]|[1][012])",DD:"(?:"+$.fn.datepicker.dates[a].days.join("|")+")",D:"(?:"+$.fn.datepicker.dates[a].daysShort.join("|")+")",MM:"(?:"+$.fn.datepicker.dates[a].months.join("|")+")",M:"(?:"+$.fn.datepicker.dates[a].monthsShort.join("|")+")",yyyy:"(?:(?:[1]{1}[0-9]{1}[0-9]{1}[0-9]{1})|(?:[2]{1}[0-9]{3}))(?![[0-9]])",yy:"(?:(?:[0-9]{1}[0-9]{1}))(?![[0-9]])"}},e=function(a,b){var c,e=a,f=d(b);return c=0,angular.forEach(f,function(a,b){e=e.split(b).join("${"+c+"}"),c++}),c=0,angular.forEach(f,function(a){e=e.split("${"+c+"}").join(a),c++}),new RegExp("^"+e+"$",["i"])};return{restrict:"A",require:"?ngModel",link:function(a,d,f,g){var h=angular.extend({autoclose:!0},b.datepicker||{}),i=f.dateType||h.type||"date";angular.forEach(["format","weekStart","calendarWeeks","startDate","endDate","daysOfWeekDisabled","autoclose","startView","minViewMode","todayBtn","todayHighlight","keyboardNavigation","language","forceParse"],function(a){angular.isDefined(f[a])&&(h[a]=f[a])});var j=h.language||"en",k=f.dateFormat||h.format||$.fn.datepicker.dates[j]&&$.fn.datepicker.dates[j].format||"mm/dd/yyyy",l=c?"yyyy-mm-dd":k,m=e(l,j);g&&(g.$formatters.unshift(function(a){return"date"===i&&angular.isString(a)&&a?$.fn.datepicker.DPGlobal.parseDate(a,$.fn.datepicker.DPGlobal.parseFormat(k),j):a}),g.$parsers.unshift(function(a){return a?"date"===i&&angular.isDate(a)?(g.$setValidity("date",!0),a):angular.isString(a)&&m.test(a)?(g.$setValidity("date",!0),c?new Date(a):"string"===i?a:$.fn.datepicker.DPGlobal.parseDate(a,$.fn.datepicker.DPGlobal.parseFormat(l),j)):void g.$setValidity("date",!1):(g.$setValidity("date",!0),null)}),g.$render=function(){if(c){var a=g.$viewValue?$.fn.datepicker.DPGlobal.formatDate(g.$viewValue,$.fn.datepicker.DPGlobal.parseFormat(l),j):"";return d.val(a),a}return g.$viewValue||d.val(""),d.datepicker("update",g.$viewValue)}),c?d.prop("type","date").css("-webkit-appearance","textfield"):(g&&d.on("changeDate",function(b){a.$apply(function(){g.$setViewValue("string"===i?d.val():b.date)})}),d.datepicker(angular.extend(h,{format:l,language:j})),a.$on("$destroy",function(){var a=d.data("datepicker");a&&(a.picker.remove(),d.data("datepicker",null))}),f.$observe("startDate",function(a){d.datepicker("setStartDate",a)}),f.$observe("endDate",function(a){d.datepicker("setEndDate",a)}));var n=d.siblings('[data-toggle="datepicker"]');n.length&&n.on("click",function(){d.prop("disabled")||d.trigger("focus")})}}}]),angular.module("$strap.directives").directive("bsDropdown",["$parse","$compile","$timeout",function(a,b,c){var d=function(a,b){return b||(b=['"]),angular.forEach(a,function(a,c){if(a.divider)return b.splice(c+1,0,'
  • ');var e=""+(a.text||"")+"";a.submenu&&a.submenu.length&&(e+=d(a.submenu).join("\n")),e+="",b.splice(c+1,0,e)}),b};return{restrict:"EA",scope:!0,link:function(e,f,g){var h=a(g.bsDropdown),i=h(e);c(function(){!angular.isArray(i);var a=angular.element(d(i).join(""));a.insertAfter(f),b(f.next("ul.dropdown-menu"))(e)}),f.addClass("dropdown-toggle").attr("data-toggle","dropdown")}}}]),angular.module("$strap.directives").factory("$modal",["$rootScope","$compile","$http","$timeout","$q","$templateCache","$strapConfig",function(a,b,c,d,e,f,g){var h=function(h){function i(h){var i=angular.extend({show:!0},g.modal,h),j=i.scope?i.scope:a.$new(),k=i.template;return e.when(f.get(k)||c.get(k,{cache:!0}).then(function(a){return a.data})).then(function(a){var c=k.replace(".html","").replace(/[\/|\.|:]/g,"-")+"-"+j.$id,e=$('').attr("id",c).addClass("fade").html(a);return i.modalClass&&e.addClass(i.modalClass),$("body").append(e),d(function(){b(e)(j)}),j.$modal=function(a){e.modal(a)},angular.forEach(["show","hide"],function(a){j[a]=function(){e.modal(a)}}),j.dismiss=j.hide,angular.forEach(["show","shown","hide","hidden"],function(a){e.on(a,function(b){j.$emit("modal-"+a,b)})}),e.on("shown",function(){$("input[autofocus], textarea[autofocus]",e).first().trigger("focus")}),e.on("hidden",function(){i.persist||j.$destroy()}),j.$on("$destroy",function(){e.remove()}),e.modal(i),e})}return new i(h)};return h}]).directive("bsModal",["$q","$modal",function(a,b){return{restrict:"A",scope:!0,link:function(c,d,e){var f={template:c.$eval(e.bsModal),persist:!0,show:!1,scope:c};angular.forEach(["modalClass","backdrop","keyboard"],function(a){angular.isDefined(e[a])&&(f[a]=e[a])}),a.when(b(f)).then(function(a){d.attr("data-target","#"+a.attr("id")).attr("data-toggle","modal")})}}}]),angular.module("$strap.directives").directive("bsNavbar",["$location",function(a){return{restrict:"A",link:function(b,c){b.$watch(function(){return a.path()},function(a){$("li[data-match-route]",c).each(function(b,c){var d=angular.element(c),e=d.attr("data-match-route"),f=new RegExp("^"+e+"$",["i"]);f.test(a)?d.addClass("active").find(".collapse.in").collapse("hide"):d.removeClass("active")})})}}}]),angular.module("$strap.directives").directive("bsPopover",["$parse","$compile","$http","$timeout","$q","$templateCache",function(a,b,c,d,e,f){return $("body").on("keyup",function(a){27===a.keyCode&&$(".popover.in").each(function(){$(this).popover("hide")})}),{restrict:"A",scope:!0,link:function(g,h,i){var j=a(i.bsPopover),k=(j.assign,j(g)),l={};angular.isObject(k)&&(l=k),e.when(l.content||f.get(k)||c.get(k,{cache:!0})).then(function(a){angular.isObject(a)&&(a=a.data),i.unique&&h.on("show",function(){$(".popover.in").each(function(){var a=$(this),b=a.data("popover");b&&!b.$element.is(h)&&a.popover("hide")})}),i.hide&&g.$watch(i.hide,function(a,b){a?c.hide():a!==b&&c.show()}),i.show&&g.$watch(i.show,function(a,b){a?d(function(){c.show()}):a!==b&&c.hide()}),h.popover(angular.extend({},l,{content:a,html:!0}));var c=h.data("popover");c.hasContent=function(){return this.getTitle()||a},c.getPosition=function(){var a=$.fn.popover.Constructor.prototype.getPosition.apply(this,arguments);return b(this.$tip)(g),g.$digest(),this.$tip.data("popover",this),a},g.$popover=function(a){c(a)},angular.forEach(["show","hide"],function(a){g[a]=function(){c[a]()}}),g.dismiss=g.hide,angular.forEach(["show","shown","hide","hidden"],function(a){h.on(a,function(b){g.$emit("popover-"+a,b)})})})}}}]),angular.module("$strap.directives").directive("bsSelect",["$timeout",function(a){return{restrict:"A",require:"?ngModel",link:function(b,c,d,e){var f=b.$eval(d.bsSelect)||{};a(function(){c.selectpicker(f),c.next().removeClass("ng-scope")}),e&&b.$watch(d.ngModel,function(a,b){angular.equals(a,b)||c.selectpicker("refresh")})}}}]),angular.module("$strap.directives").directive("bsTabs",["$parse","$compile","$timeout",function(a,b,c){var d='
    ';return{restrict:"A",require:"?ngModel",priority:0,scope:!0,template:d,replace:!0,transclude:!0,compile:function(){return function(b,d,e,f){{var g=a(e.bsTabs);g.assign,g(b)}b.panes=[];var h,i,j,k=d.find("ul.nav-tabs"),l=d.find("div.tab-content"),m=0;c(function(){l.find("[data-title], [data-tab]").each(function(a){var c=angular.element(this);h="tab-"+b.$id+"-"+a,i=c.data("title")||c.data("tab"),j=!j&&c.hasClass("active"),c.attr("id",h).addClass("tab-pane"),e.fade&&c.addClass("fade"),b.panes.push({id:h,title:i,content:this.innerHTML,active:j})}),b.panes.length&&!j&&(l.find(".tab-pane:first-child").addClass("active"+(e.fade?" in":"")),b.panes[0].active=!0)}),f&&(d.on("show",function(a){var c=$(a.target);b.$apply(function(){f.$setViewValue(c.data("index"))})}),b.$watch(e.ngModel,function(a){angular.isUndefined(a)||(m=a,setTimeout(function(){if(m===a){var b=$(k[0].querySelectorAll("li")[1*a]);b.hasClass("active")||b.children("a").tab("show")}}))}))}}}}]),angular.module("$strap.directives").directive("bsTimepicker",["$timeout","$strapConfig",function(a,b){var c="((?:(?:[0-1][0-9])|(?:[2][0-3])|(?:[0-9])):(?:[0-5][0-9])(?::[0-5][0-9])?(?:\\s?(?:am|AM|pm|PM))?)";return{restrict:"A",require:"?ngModel",link:function(d,e,f,g){if(g){e.on("changeTime.timepicker",function(){a(function(){g.$setViewValue(e.val())})});var h=new RegExp("^"+c+"$",["i"]);g.$parsers.unshift(function(a){return!a||h.test(a)?(g.$setValidity("time",!0),a):void g.$setValidity("time",!1)})}e.attr("data-toggle","timepicker"),e.parent().addClass("bootstrap-timepicker"),e.timepicker(b.timepicker||{});var i=e.data("timepicker"),j=e.siblings('[data-toggle="timepicker"]');j.length&&j.on("click",$.proxy(i.showWidget,i))}}}]),angular.module("$strap.directives").directive("bsTooltip",["$parse","$compile",function(a){return{restrict:"A",scope:!0,link:function(b,c,d){var e=a(d.bsTooltip),f=(e.assign,e(b));b.$watch(d.bsTooltip,function(a,b){a!==b&&(f=a)}),d.unique&&c.on("show",function(){$(".tooltip.in").each(function(){var a=$(this),b=a.data("tooltip");b&&!b.$element.is(c)&&a.tooltip("hide")})}),c.tooltip({title:function(){return angular.isFunction(f)?f.apply(null,arguments):f},html:!0});var g=c.data("tooltip");g.show=function(){var a=$.fn.tooltip.Constructor.prototype.show.apply(this,arguments);return this.tip().data("tooltip",this),a},b._tooltip=function(a){c.tooltip(a)},b.hide=function(){c.tooltip("hide")},b.show=function(){c.tooltip("show")},b.dismiss=b.hide}}}]),angular.module("$strap.directives").directive("bsTypeahead",["$parse",function(a){return{restrict:"A",require:"?ngModel",link:function(b,c,d,e){var f=a(d.bsTypeahead),g=(f.assign,f(b));b.$watch(d.bsTypeahead,function(a,b){a!==b&&(g=a)}),c.attr("data-provide","typeahead"),c.typeahead({source:function(){return angular.isFunction(g)?g.apply(null,arguments):g},minLength:d.minLength||1,items:d.items,updater:function(a){return e&&b.$apply(function(){e.$setViewValue(a)}),b.$emit("typeahead-updated",a),a}});var h=c.data("typeahead");h.lookup=function(){var a;return this.query=this.$element.val()||"",this.query.length=0)&&c(b,!e)}}),a("").outerWidth(1).jquery||a.each(["Width","Height"],function(c,d){function e(b,c,d,e){return a.each(f,function(){c-=parseFloat(a.css(b,"padding"+this))||0,d&&(c-=parseFloat(a.css(b,"border"+this+"Width"))||0),e&&(c-=parseFloat(a.css(b,"margin"+this))||0)}),c}var f="Width"===d?["Left","Right"]:["Top","Bottom"],g=d.toLowerCase(),h={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};a.fn["inner"+d]=function(c){return c===b?h["inner"+d].call(this):this.each(function(){a(this).css(g,e(this,c)+"px")})},a.fn["outer"+d]=function(b,c){return"number"!=typeof b?h["outer"+d].call(this,b):this.each(function(){a(this).css(g,e(this,b,!0,c)+"px")})}}),a.fn.addBack||(a.fn.addBack=function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}),a("").data("a-b","a").removeData("a-b").data("a-b")&&(a.fn.removeData=function(b){return function(c){return arguments.length?b.call(this,a.camelCase(c)):b.call(this)}}(a.fn.removeData)),a.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),a.support.selectstart="onselectstart"in document.createElement("div"),a.fn.extend({disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),a.extend(a.ui,{plugin:{add:function(b,c,d){var e,f=a.ui[b].prototype;for(e in d)f.plugins[e]=f.plugins[e]||[],f.plugins[e].push([c,d[e]])},call:function(a,b,c){var d,e=a.plugins[b];if(e&&a.element[0].parentNode&&11!==a.element[0].parentNode.nodeType)for(d=0;d0?!0:(b[d]=1,e=b[d]>0,b[d]=0,e)}})}(jQuery),function(a,b){var c=0,d=Array.prototype.slice,e=a.cleanData;a.cleanData=function(b){for(var c,d=0;null!=(c=b[d]);d++)try{a(c).triggerHandler("remove")}catch(f){}e(b)},a.widget=function(b,c,d){var e,f,g,h,i={},j=b.split(".")[0];b=b.split(".")[1],e=j+"-"+b,d||(d=c,c=a.Widget),a.expr[":"][e.toLowerCase()]=function(b){return!!a.data(b,e)},a[j]=a[j]||{},f=a[j][b],g=a[j][b]=function(a,b){return this._createWidget?void(arguments.length&&this._createWidget(a,b)):new g(a,b)},a.extend(g,f,{version:d.version,_proto:a.extend({},d),_childConstructors:[]}),h=new c,h.options=a.widget.extend({},h.options),a.each(d,function(b,d){return a.isFunction(d)?void(i[b]=function(){var a=function(){return c.prototype[b].apply(this,arguments)},e=function(a){return c.prototype[b].apply(this,a)};return function(){var b,c=this._super,f=this._superApply;return this._super=a,this._superApply=e,b=d.apply(this,arguments),this._super=c,this._superApply=f,b}}()):void(i[b]=d)}),g.prototype=a.widget.extend(h,{widgetEventPrefix:f?h.widgetEventPrefix:b},i,{constructor:g,namespace:j,widgetName:b,widgetFullName:e}),f?(a.each(f._childConstructors,function(b,c){var d=c.prototype;a.widget(d.namespace+"."+d.widgetName,g,c._proto)}),delete f._childConstructors):c._childConstructors.push(g),a.widget.bridge(b,g)},a.widget.extend=function(c){for(var e,f,g=d.call(arguments,1),h=0,i=g.length;i>h;h++)for(e in g[h])f=g[h][e],g[h].hasOwnProperty(e)&&f!==b&&(c[e]=a.isPlainObject(f)?a.isPlainObject(c[e])?a.widget.extend({},c[e],f):a.widget.extend({},f):f);return c},a.widget.bridge=function(c,e){var f=e.prototype.widgetFullName||c;a.fn[c]=function(g){var h="string"==typeof g,i=d.call(arguments,1),j=this;return g=!h&&i.length?a.widget.extend.apply(null,[g].concat(i)):g,this.each(h?function(){var d,e=a.data(this,f);return e?a.isFunction(e[g])&&"_"!==g.charAt(0)?(d=e[g].apply(e,i),d!==e&&d!==b?(j=d&&d.jquery?j.pushStack(d.get()):d,!1):void 0):a.error("no such method '"+g+"' for "+c+" widget instance"):a.error("cannot call methods on "+c+" prior to initialization; attempted to call method '"+g+"'")}:function(){var b=a.data(this,f);b?b.option(g||{})._init():a.data(this,f,new e(g,this))}),j}},a.Widget=function(){},a.Widget._childConstructors=[],a.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"
    ",options:{disabled:!1,create:null},_createWidget:function(b,d){d=a(d||this.defaultElement||this)[0],this.element=a(d),this.uuid=c++,this.eventNamespace="."+this.widgetName+this.uuid,this.options=a.widget.extend({},this.options,this._getCreateOptions(),b),this.bindings=a(),this.hoverable=a(),this.focusable=a(),d!==this&&(a.data(d,this.widgetFullName,this),this._on(!0,this.element,{remove:function(a){a.target===d&&this.destroy()}}),this.document=a(d.style?d.ownerDocument:d.document||d),this.window=a(this.document[0].defaultView||this.document[0].parentWindow)),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:a.noop,_getCreateEventData:a.noop,_create:a.noop,_init:a.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetName).removeData(this.widgetFullName).removeData(a.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:a.noop,widget:function(){return this.element},option:function(c,d){var e,f,g,h=c;if(0===arguments.length)return a.widget.extend({},this.options);if("string"==typeof c)if(h={},e=c.split("."),c=e.shift(),e.length){for(f=h[c]=a.widget.extend({},this.options[c]),g=0;g=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}})}(jQuery),function(a,b){function c(a,b,c){return[parseFloat(a[0])*(n.test(a[0])?b/100:1),parseFloat(a[1])*(n.test(a[1])?c/100:1)]}function d(b,c){return parseInt(a.css(b,c),10)||0}function e(b){var c=b[0];return 9===c.nodeType?{width:b.width(),height:b.height(),offset:{top:0,left:0}}:a.isWindow(c)?{width:b.width(),height:b.height(),offset:{top:b.scrollTop(),left:b.scrollLeft()}}:c.preventDefault?{width:0,height:0,offset:{top:c.pageY,left:c.pageX}}:{width:b.outerWidth(),height:b.outerHeight(),offset:b.offset()}}a.ui=a.ui||{};var f,g=Math.max,h=Math.abs,i=Math.round,j=/left|center|right/,k=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,m=/^\w+/,n=/%$/,o=a.fn.position;a.position={scrollbarWidth:function(){if(f!==b)return f;var c,d,e=a("
    "),g=e.children()[0];return a("body").append(e),c=g.offsetWidth,e.css("overflow","scroll"),d=g.offsetWidth,c===d&&(d=e[0].clientWidth),e.remove(),f=c-d},getScrollInfo:function(b){var c=b.isWindow?"":b.element.css("overflow-x"),d=b.isWindow?"":b.element.css("overflow-y"),e="scroll"===c||"auto"===c&&b.widthd?"left":c>0?"right":"center",vertical:0>f?"top":e>0?"bottom":"middle"};l>n&&h(c+d)p&&h(e+f)g(h(e),h(f))?"horizontal":"vertical",b.using.call(this,a,i)}),k.offset(a.extend(A,{using:j}))})},a.ui.position={fit:{left:function(a,b){var c,d=b.within,e=d.isWindow?d.scrollLeft:d.offset.left,f=d.width,h=a.left-b.collisionPosition.marginLeft,i=e-h,j=h+b.collisionWidth-f-e;b.collisionWidth>f?i>0&&0>=j?(c=a.left+i+b.collisionWidth-f-e,a.left+=i-c):a.left=j>0&&0>=i?e:i>j?e+f-b.collisionWidth:e:i>0?a.left+=i:j>0?a.left-=j:a.left=g(a.left-h,a.left)},top:function(a,b){var c,d=b.within,e=d.isWindow?d.scrollTop:d.offset.top,f=b.within.height,h=a.top-b.collisionPosition.marginTop,i=e-h,j=h+b.collisionHeight-f-e;b.collisionHeight>f?i>0&&0>=j?(c=a.top+i+b.collisionHeight-f-e,a.top+=i-c):a.top=j>0&&0>=i?e:i>j?e+f-b.collisionHeight:e:i>0?a.top+=i:j>0?a.top-=j:a.top=g(a.top-h,a.top)}},flip:{left:function(a,b){var c,d,e=b.within,f=e.offset.left+e.scrollLeft,g=e.width,i=e.isWindow?e.scrollLeft:e.offset.left,j=a.left-b.collisionPosition.marginLeft,k=j-i,l=j+b.collisionWidth-g-i,m="left"===b.my[0]?-b.elemWidth:"right"===b.my[0]?b.elemWidth:0,n="left"===b.at[0]?b.targetWidth:"right"===b.at[0]?-b.targetWidth:0,o=-2*b.offset[0];0>k?(c=a.left+m+n+o+b.collisionWidth-g-f,(0>c||c0&&(d=a.left-b.collisionPosition.marginLeft+m+n+o-i,(d>0||h(d)k?(d=a.top+n+o+p+b.collisionHeight-g-f,a.top+n+o+p>k&&(0>d||d0&&(c=a.top-b.collisionPosition.marginTop+n+o+p-i,a.top+n+o+p>l&&(c>0||h(c)10&&11>e,b.innerHTML="",c.removeChild(b)}()}(jQuery),function(a){a.widget("ui.draggable",a.ui.mouse,{version:"1.10.3",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"!==this.options.helper||/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative"),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._mouseInit()},_destroy:function(){this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._mouseDestroy()},_mouseCapture:function(b){var c=this.options;return this.helper||c.disabled||a(b.target).closest(".ui-resizable-handle").length>0?!1:(this.handle=this._getHandle(b),this.handle?(a(c.iframeFix===!0?"iframe":c.iframeFix).each(function(){a("
    ").css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1e3}).css(a(this).offset()).appendTo("body")}),!0):!1)},_mouseStart:function(b){var c=this.options;return this.helper=this._createHelper(b),this.helper.addClass("ui-draggable-dragging"),this._cacheHelperProportions(),a.ui.ddmanager&&(a.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(),this.offsetParent=this.helper.offsetParent(),this.offsetParentCssPosition=this.offsetParent.css("position"),this.offset=this.positionAbs=this.element.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},this.offset.scroll=!1,a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.originalPosition=this.position=this._generatePosition(b),this.originalPageX=b.pageX,this.originalPageY=b.pageY,c.cursorAt&&this._adjustOffsetFromHelper(c.cursorAt),this._setContainment(),this._trigger("start",b)===!1?(this._clear(),!1):(this._cacheHelperProportions(),a.ui.ddmanager&&!c.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b),this._mouseDrag(b,!0),a.ui.ddmanager&&a.ui.ddmanager.dragStart(this,b),!0)},_mouseDrag:function(b,c){if("fixed"===this.offsetParentCssPosition&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(b),this.positionAbs=this._convertPositionTo("absolute"),!c){var d=this._uiHash();if(this._trigger("drag",b,d)===!1)return this._mouseUp({}),!1;this.position=d.position}return this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),a.ui.ddmanager&&a.ui.ddmanager.drag(this,b),!1},_mouseStop:function(b){var c=this,d=!1;return a.ui.ddmanager&&!this.options.dropBehaviour&&(d=a.ui.ddmanager.drop(this,b)),this.dropped&&(d=this.dropped,this.dropped=!1),"original"!==this.options.helper||a.contains(this.element[0].ownerDocument,this.element[0])?("invalid"===this.options.revert&&!d||"valid"===this.options.revert&&d||this.options.revert===!0||a.isFunction(this.options.revert)&&this.options.revert.call(this.element,d)?a(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){c._trigger("stop",b)!==!1&&c._clear()}):this._trigger("stop",b)!==!1&&this._clear(),!1):!1},_mouseUp:function(b){return a("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)}),a.ui.ddmanager&&a.ui.ddmanager.dragStop(this,b),a.ui.mouse.prototype._mouseUp.call(this,b)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear(),this},_getHandle:function(b){return this.options.handle?!!a(b.target).closest(this.element.find(this.options.handle)).length:!0},_createHelper:function(b){var c=this.options,d=a.isFunction(c.helper)?a(c.helper.apply(this.element[0],[b])):"clone"===c.helper?this.element.clone().removeAttr("id"):this.element;return d.parents("body").length||d.appendTo("parent"===c.appendTo?this.element[0].parentNode:c.appendTo),d[0]===this.element[0]||/(fixed|absolute)/.test(d.css("position"))||d.css("position","absolute"),d},_adjustOffsetFromHelper:function(b){"string"==typeof b&&(b=b.split(" ")),a.isArray(b)&&(b={left:+b[0],top:+b[1]||0}),"left"in b&&(this.offset.click.left=b.left+this.margins.left),"right"in b&&(this.offset.click.left=this.helperProportions.width-b.right+this.margins.left),"top"in b&&(this.offset.click.top=b.top+this.margins.top),"bottom"in b&&(this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top)},_getParentOffset:function(){var b=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==document&&a.contains(this.scrollParent[0],this.offsetParent[0])&&(b.left+=this.scrollParent.scrollLeft(),b.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===document.body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&a.ui.ie)&&(b={top:0,left:0}),{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var a=this.element.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var b,c,d,e=this.options;return e.containment?"window"===e.containment?void(this.containment=[a(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,a(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,a(window).scrollLeft()+a(window).width()-this.helperProportions.width-this.margins.left,a(window).scrollTop()+(a(window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]):"document"===e.containment?void(this.containment=[0,0,a(document).width()-this.helperProportions.width-this.margins.left,(a(document).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]):e.containment.constructor===Array?void(this.containment=e.containment):("parent"===e.containment&&(e.containment=this.helper[0].parentNode),c=a(e.containment),d=c[0],void(d&&(b="hidden"!==c.css("overflow"),this.containment=[(parseInt(c.css("borderLeftWidth"),10)||0)+(parseInt(c.css("paddingLeft"),10)||0),(parseInt(c.css("borderTopWidth"),10)||0)+(parseInt(c.css("paddingTop"),10)||0),(b?Math.max(d.scrollWidth,d.offsetWidth):d.offsetWidth)-(parseInt(c.css("borderRightWidth"),10)||0)-(parseInt(c.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(b?Math.max(d.scrollHeight,d.offsetHeight):d.offsetHeight)-(parseInt(c.css("borderBottomWidth"),10)||0)-(parseInt(c.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relative_container=c))):void(this.containment=null)},_convertPositionTo:function(b,c){c||(c=this.position);var d="absolute"===b?1:-1,e="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&a.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent;return this.offset.scroll||(this.offset.scroll={top:e.scrollTop(),left:e.scrollLeft()}),{top:c.top+this.offset.relative.top*d+this.offset.parent.top*d-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():this.offset.scroll.top)*d,left:c.left+this.offset.relative.left*d+this.offset.parent.left*d-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():this.offset.scroll.left)*d}},_generatePosition:function(b){var c,d,e,f,g=this.options,h="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&a.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,i=b.pageX,j=b.pageY;return this.offset.scroll||(this.offset.scroll={top:h.scrollTop(),left:h.scrollLeft()}),this.originalPosition&&(this.containment&&(this.relative_container?(d=this.relative_container.offset(),c=[this.containment[0]+d.left,this.containment[1]+d.top,this.containment[2]+d.left,this.containment[3]+d.top]):c=this.containment,b.pageX-this.offset.click.leftc[2]&&(i=c[2]+this.offset.click.left),b.pageY-this.offset.click.top>c[3]&&(j=c[3]+this.offset.click.top)),g.grid&&(e=g.grid[1]?this.originalPageY+Math.round((j-this.originalPageY)/g.grid[1])*g.grid[1]:this.originalPageY,j=c?e-this.offset.click.top>=c[1]||e-this.offset.click.top>c[3]?e:e-this.offset.click.top>=c[1]?e-g.grid[1]:e+g.grid[1]:e,f=g.grid[0]?this.originalPageX+Math.round((i-this.originalPageX)/g.grid[0])*g.grid[0]:this.originalPageX,i=c?f-this.offset.click.left>=c[0]||f-this.offset.click.left>c[2]?f:f-this.offset.click.left>=c[0]?f-g.grid[0]:f+g.grid[0]:f)),{top:j-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():this.offset.scroll.top),left:i-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():this.offset.scroll.left)}},_clear:function(){this.helper.removeClass("ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1},_trigger:function(b,c,d){return d=d||this._uiHash(),a.ui.plugin.call(this,b,[c,d]),"drag"===b&&(this.positionAbs=this._convertPositionTo("absolute")),a.Widget.prototype._trigger.call(this,b,c,d)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),a.ui.plugin.add("draggable","connectToSortable",{start:function(b,c){var d=a(this).data("ui-draggable"),e=d.options,f=a.extend({},c,{item:d.element});d.sortables=[],a(e.connectToSortable).each(function(){var c=a.data(this,"ui-sortable");c&&!c.options.disabled&&(d.sortables.push({instance:c,shouldRevert:c.options.revert}),c.refreshPositions(),c._trigger("activate",b,f))})},stop:function(b,c){var d=a(this).data("ui-draggable"),e=a.extend({},c,{item:d.element});a.each(d.sortables,function(){this.instance.isOver?(this.instance.isOver=0,d.cancelHelperRemoval=!0,this.instance.cancelHelperRemoval=!1,this.shouldRevert&&(this.instance.options.revert=this.shouldRevert),this.instance._mouseStop(b),this.instance.options.helper=this.instance.options._helper,"original"===d.options.helper&&this.instance.currentItem.css({top:"auto",left:"auto"})):(this.instance.cancelHelperRemoval=!1,this.instance._trigger("deactivate",b,e))})},drag:function(b,c){var d=a(this).data("ui-draggable"),e=this;a.each(d.sortables,function(){var f=!1,g=this;this.instance.positionAbs=d.positionAbs,this.instance.helperProportions=d.helperProportions,this.instance.offset.click=d.offset.click,this.instance._intersectsWith(this.instance.containerCache)&&(f=!0,a.each(d.sortables,function(){return this.instance.positionAbs=d.positionAbs,this.instance.helperProportions=d.helperProportions,this.instance.offset.click=d.offset.click,this!==g&&this.instance._intersectsWith(this.instance.containerCache)&&a.contains(g.instance.element[0],this.instance.element[0])&&(f=!1),f})),f?(this.instance.isOver||(this.instance.isOver=1,this.instance.currentItem=a(e).clone().removeAttr("id").appendTo(this.instance.element).data("ui-sortable-item",!0),this.instance.options._helper=this.instance.options.helper,this.instance.options.helper=function(){return c.helper[0]},b.target=this.instance.currentItem[0],this.instance._mouseCapture(b,!0),this.instance._mouseStart(b,!0,!0),this.instance.offset.click.top=d.offset.click.top,this.instance.offset.click.left=d.offset.click.left,this.instance.offset.parent.left-=d.offset.parent.left-this.instance.offset.parent.left,this.instance.offset.parent.top-=d.offset.parent.top-this.instance.offset.parent.top,d._trigger("toSortable",b),d.dropped=this.instance.element,d.currentItem=d.element,this.instance.fromOutside=d),this.instance.currentItem&&this.instance._mouseDrag(b)):this.instance.isOver&&(this.instance.isOver=0,this.instance.cancelHelperRemoval=!0,this.instance.options.revert=!1,this.instance._trigger("out",b,this.instance._uiHash(this.instance)),this.instance._mouseStop(b,!0),this.instance.options.helper=this.instance.options._helper,this.instance.currentItem.remove(),this.instance.placeholder&&this.instance.placeholder.remove(),d._trigger("fromSortable",b),d.dropped=!1)})}}),a.ui.plugin.add("draggable","cursor",{start:function(){var b=a("body"),c=a(this).data("ui-draggable").options;b.css("cursor")&&(c._cursor=b.css("cursor")),b.css("cursor",c.cursor)},stop:function(){var b=a(this).data("ui-draggable").options;b._cursor&&a("body").css("cursor",b._cursor)}}),a.ui.plugin.add("draggable","opacity",{start:function(b,c){var d=a(c.helper),e=a(this).data("ui-draggable").options;d.css("opacity")&&(e._opacity=d.css("opacity")),d.css("opacity",e.opacity)},stop:function(b,c){var d=a(this).data("ui-draggable").options;d._opacity&&a(c.helper).css("opacity",d._opacity)}}),a.ui.plugin.add("draggable","scroll",{start:function(){var b=a(this).data("ui-draggable");b.scrollParent[0]!==document&&"HTML"!==b.scrollParent[0].tagName&&(b.overflowOffset=b.scrollParent.offset())},drag:function(b){var c=a(this).data("ui-draggable"),d=c.options,e=!1;c.scrollParent[0]!==document&&"HTML"!==c.scrollParent[0].tagName?(d.axis&&"x"===d.axis||(c.overflowOffset.top+c.scrollParent[0].offsetHeight-b.pageY=0;l--)h=n.snapElements[l].left,i=h+n.snapElements[l].width,j=n.snapElements[l].top,k=j+n.snapElements[l].height,h-p>r||q>i+p||j-p>t||s>k+p||!a.contains(n.snapElements[l].item.ownerDocument,n.snapElements[l].item)?(n.snapElements[l].snapping&&n.options.snap.release&&n.options.snap.release.call(n.element,b,a.extend(n._uiHash(),{snapItem:n.snapElements[l].item})),n.snapElements[l].snapping=!1):("inner"!==o.snapMode&&(d=Math.abs(j-t)<=p,e=Math.abs(k-s)<=p,f=Math.abs(h-r)<=p,g=Math.abs(i-q)<=p,d&&(c.position.top=n._convertPositionTo("relative",{top:j-n.helperProportions.height,left:0}).top-n.margins.top),e&&(c.position.top=n._convertPositionTo("relative",{top:k,left:0}).top-n.margins.top),f&&(c.position.left=n._convertPositionTo("relative",{top:0,left:h-n.helperProportions.width}).left-n.margins.left),g&&(c.position.left=n._convertPositionTo("relative",{top:0,left:i}).left-n.margins.left)),m=d||e||f||g,"outer"!==o.snapMode&&(d=Math.abs(j-s)<=p,e=Math.abs(k-t)<=p,f=Math.abs(h-q)<=p,g=Math.abs(i-r)<=p,d&&(c.position.top=n._convertPositionTo("relative",{top:j,left:0}).top-n.margins.top),e&&(c.position.top=n._convertPositionTo("relative",{top:k-n.helperProportions.height,left:0}).top-n.margins.top),f&&(c.position.left=n._convertPositionTo("relative",{top:0,left:h}).left-n.margins.left),g&&(c.position.left=n._convertPositionTo("relative",{top:0,left:i-n.helperProportions.width}).left-n.margins.left)),!n.snapElements[l].snapping&&(d||e||f||g||m)&&n.options.snap.snap&&n.options.snap.snap.call(n.element,b,a.extend(n._uiHash(),{snapItem:n.snapElements[l].item})),n.snapElements[l].snapping=d||e||f||g||m)}}),a.ui.plugin.add("draggable","stack",{start:function(){var b,c=this.data("ui-draggable").options,d=a.makeArray(a(c.stack)).sort(function(b,c){return(parseInt(a(b).css("zIndex"),10)||0)-(parseInt(a(c).css("zIndex"),10)||0)});d.length&&(b=parseInt(a(d[0]).css("zIndex"),10)||0,a(d).each(function(c){a(this).css("zIndex",b+c)}),this.css("zIndex",b+d.length))}}),a.ui.plugin.add("draggable","zIndex",{start:function(b,c){var d=a(c.helper),e=a(this).data("ui-draggable").options;d.css("zIndex")&&(e._zIndex=d.css("zIndex")),d.css("zIndex",e.zIndex)},stop:function(b,c){var d=a(this).data("ui-draggable").options;d._zIndex&&a(c.helper).css("zIndex",d._zIndex)}})}(jQuery),function(a){function b(a,b,c){return a>b&&b+c>a}a.widget("ui.droppable",{version:"1.10.3",widgetEventPrefix:"drop",options:{accept:"*",activeClass:!1,addClasses:!0,greedy:!1,hoverClass:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var b=this.options,c=b.accept;this.isover=!1,this.isout=!0,this.accept=a.isFunction(c)?c:function(a){return a.is(c)},this.proportions={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight},a.ui.ddmanager.droppables[b.scope]=a.ui.ddmanager.droppables[b.scope]||[],a.ui.ddmanager.droppables[b.scope].push(this),b.addClasses&&this.element.addClass("ui-droppable")},_destroy:function(){for(var b=0,c=a.ui.ddmanager.droppables[this.options.scope];b=k&&l>=h&&i>=m&&n>=j;case"intersect":return k=m&&n>=i||j>=m&&n>=j||m>i&&j>n)&&(g>=k&&l>=g||h>=k&&l>=h||k>g&&h>l);default:return!1}},a.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(b,c){var d,e,f=a.ui.ddmanager.droppables[b.options.scope]||[],g=c?c.type:null,h=(b.currentItem||b.element).find(":data(ui-droppable)").addBack();a:for(d=0;d
    ").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.data("ui-resizable")),this.elementIsWrapper=!0,this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")}),this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0}),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css({margin:this.originalElement.css("margin")}),this._proportionallyResize()),this.handles=h.handles||(a(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),b=this.handles.split(","),this.handles={},c=0;c
    "),e.css({zIndex:h.zIndex}),"se"===d&&e.addClass("ui-icon ui-icon-gripsmall-diagonal-se"),this.handles[d]=".ui-resizable-"+d,this.element.append(e);this._renderAxis=function(b){var c,d,e,f;b=b||this.element;for(c in this.handles)this.handles[c].constructor===String&&(this.handles[c]=a(this.handles[c],this.element).show()),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)&&(d=a(this.handles[c],this.element),f=/sw|ne|nw|se|n|s/.test(c)?d.outerHeight():d.outerWidth(),e=["padding",/ne|nw|n/.test(c)?"Top":/se|sw|s/.test(c)?"Bottom":/^e$/.test(c)?"Right":"Left"].join(""),b.css(e,f),this._proportionallyResize()),a(this.handles[c]).length},this._renderAxis(this.element),this._handles=a(".ui-resizable-handle",this.element).disableSelection(),this._handles.mouseover(function(){g.resizing||(this.className&&(e=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),g.axis=e&&e[1]?e[1]:"se")}),h.autoHide&&(this._handles.hide(),a(this.element).addClass("ui-resizable-autohide").mouseenter(function(){h.disabled||(a(this).removeClass("ui-resizable-autohide"),g._handles.show())}).mouseleave(function(){h.disabled||g.resizing||(a(this).addClass("ui-resizable-autohide"),g._handles.hide())})),this._mouseInit()},_destroy:function(){this._mouseDestroy();var b,c=function(b){a(b).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(c(this.element),b=this.element,this.originalElement.css({position:b.css("position"),width:b.outerWidth(),height:b.outerHeight(),top:b.css("top"),left:b.css("left")}).insertAfter(b),b.remove()),this.originalElement.css("resize",this.originalResizeStyle),c(this.originalElement),this},_mouseCapture:function(b){var c,d,e=!1;for(c in this.handles)d=a(this.handles[c])[0],(d===b.target||a.contains(d,b.target))&&(e=!0);return!this.options.disabled&&e},_mouseStart:function(c){var d,e,f,g=this.options,h=this.element.position(),i=this.element;return this.resizing=!0,/absolute/.test(i.css("position"))?i.css({position:"absolute",top:i.css("top"),left:i.css("left")}):i.is(".ui-draggable")&&i.css({position:"absolute",top:h.top,left:h.left}),this._renderProxy(),d=b(this.helper.css("left")),e=b(this.helper.css("top")),g.containment&&(d+=a(g.containment).scrollLeft()||0,e+=a(g.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:d,top:e},this.size=this._helper?{width:i.outerWidth(),height:i.outerHeight()}:{width:i.width(),height:i.height()},this.originalSize=this._helper?{width:i.outerWidth(),height:i.outerHeight()}:{width:i.width(),height:i.height()},this.originalPosition={left:d,top:e},this.sizeDiff={width:i.outerWidth()-i.width(),height:i.outerHeight()-i.height()},this.originalMousePosition={left:c.pageX,top:c.pageY},this.aspectRatio="number"==typeof g.aspectRatio?g.aspectRatio:this.originalSize.width/this.originalSize.height||1,f=a(".ui-resizable-"+this.axis).css("cursor"),a("body").css("cursor","auto"===f?this.axis+"-resize":f),i.addClass("ui-resizable-resizing"),this._propagate("start",c),!0},_mouseDrag:function(b){var c,d=this.helper,e={},f=this.originalMousePosition,g=this.axis,h=this.position.top,i=this.position.left,j=this.size.width,k=this.size.height,l=b.pageX-f.left||0,m=b.pageY-f.top||0,n=this._change[g];return n?(c=n.apply(this,[b,l,m]),this._updateVirtualBoundaries(b.shiftKey),(this._aspectRatio||b.shiftKey)&&(c=this._updateRatio(c,b)),c=this._respectSize(c,b),this._updateCache(c),this._propagate("resize",b),this.position.top!==h&&(e.top=this.position.top+"px"),this.position.left!==i&&(e.left=this.position.left+"px"),this.size.width!==j&&(e.width=this.size.width+"px"),this.size.height!==k&&(e.height=this.size.height+"px"),d.css(e),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),a.isEmptyObject(e)||this._trigger("resize",b,this.ui()),!1):!1},_mouseStop:function(b){this.resizing=!1;var c,d,e,f,g,h,i,j=this.options,k=this;return this._helper&&(c=this._proportionallyResizeElements,d=c.length&&/textarea/i.test(c[0].nodeName),e=d&&a.ui.hasScroll(c[0],"left")?0:k.sizeDiff.height,f=d?0:k.sizeDiff.width,g={width:k.helper.width()-f,height:k.helper.height()-e},h=parseInt(k.element.css("left"),10)+(k.position.left-k.originalPosition.left)||null,i=parseInt(k.element.css("top"),10)+(k.position.top-k.originalPosition.top)||null,j.animate||this.element.css(a.extend(g,{top:i,left:h})),k.helper.height(k.size.height),k.helper.width(k.size.width),this._helper&&!j.animate&&this._proportionallyResize()),a("body").css("cursor","auto"),this.element.removeClass("ui-resizable-resizing"),this._propagate("stop",b),this._helper&&this.helper.remove(),!1},_updateVirtualBoundaries:function(a){var b,d,e,f,g,h=this.options;g={minWidth:c(h.minWidth)?h.minWidth:0,maxWidth:c(h.maxWidth)?h.maxWidth:1/0,minHeight:c(h.minHeight)?h.minHeight:0,maxHeight:c(h.maxHeight)?h.maxHeight:1/0},(this._aspectRatio||a)&&(b=g.minHeight*this.aspectRatio,e=g.minWidth/this.aspectRatio,d=g.maxHeight*this.aspectRatio,f=g.maxWidth/this.aspectRatio,b>g.minWidth&&(g.minWidth=b),e>g.minHeight&&(g.minHeight=e),da.width,h=c(a.height)&&b.minHeight&&b.minHeight>a.height,i=this.originalPosition.left+this.originalSize.width,j=this.position.top+this.size.height,k=/sw|nw|w/.test(d),l=/nw|ne|n/.test(d);return g&&(a.width=b.minWidth),h&&(a.height=b.minHeight),e&&(a.width=b.maxWidth),f&&(a.height=b.maxHeight),g&&k&&(a.left=i-b.minWidth),e&&k&&(a.left=i-b.maxWidth),h&&l&&(a.top=j-b.minHeight),f&&l&&(a.top=j-b.maxHeight),a.width||a.height||a.left||!a.top?a.width||a.height||a.top||!a.left||(a.left=null):a.top=null,a},_proportionallyResize:function(){if(this._proportionallyResizeElements.length){var a,b,c,d,e,f=this.helper||this.element;for(a=0;a
    "),this.helper.addClass(this._helper).css({width:this.element.outerWidth()-1,height:this.element.outerHeight()-1,position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++c.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(a,b){return{width:this.originalSize.width+b}},w:function(a,b){var c=this.originalSize,d=this.originalPosition;return{left:d.left+b,width:c.width-b}},n:function(a,b,c){var d=this.originalSize,e=this.originalPosition;return{top:e.top+c,height:d.height-c}},s:function(a,b,c){return{height:this.originalSize.height+c}},se:function(b,c,d){return a.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,c,d]))},sw:function(b,c,d){return a.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,c,d]))},ne:function(b,c,d){return a.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[b,c,d]))},nw:function(b,c,d){return a.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,c,d]))}},_propagate:function(b,c){a.ui.plugin.call(this,b,[c,this.ui()]),"resize"!==b&&this._trigger(b,c,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),a.ui.plugin.add("resizable","animate",{stop:function(b){var c=a(this).data("ui-resizable"),d=c.options,e=c._proportionallyResizeElements,f=e.length&&/textarea/i.test(e[0].nodeName),g=f&&a.ui.hasScroll(e[0],"left")?0:c.sizeDiff.height,h=f?0:c.sizeDiff.width,i={width:c.size.width-h,height:c.size.height-g},j=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null,k=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null;c.element.animate(a.extend(i,k&&j?{top:k,left:j}:{}),{duration:d.animateDuration,easing:d.animateEasing,step:function(){var d={width:parseInt(c.element.css("width"),10),height:parseInt(c.element.css("height"),10),top:parseInt(c.element.css("top"),10),left:parseInt(c.element.css("left"),10)};e&&e.length&&a(e[0]).css({width:d.width,height:d.height}),c._updateCache(d),c._propagate("resize",b)}})}}),a.ui.plugin.add("resizable","containment",{start:function(){var c,d,e,f,g,h,i,j=a(this).data("ui-resizable"),k=j.options,l=j.element,m=k.containment,n=m instanceof a?m.get(0):/parent/.test(m)?l.parent().get(0):m;n&&(j.containerElement=a(n),/document/.test(m)||m===document?(j.containerOffset={left:0,top:0},j.containerPosition={left:0,top:0},j.parentData={element:a(document),left:0,top:0,width:a(document).width(),height:a(document).height()||document.body.parentNode.scrollHeight}):(c=a(n),d=[],a(["Top","Right","Left","Bottom"]).each(function(a,e){d[a]=b(c.css("padding"+e))}),j.containerOffset=c.offset(),j.containerPosition=c.position(),j.containerSize={height:c.innerHeight()-d[3],width:c.innerWidth()-d[1]},e=j.containerOffset,f=j.containerSize.height,g=j.containerSize.width,h=a.ui.hasScroll(n,"left")?n.scrollWidth:g,i=a.ui.hasScroll(n)?n.scrollHeight:f,j.parentData={element:n,left:e.left,top:e.top,width:h,height:i}))},resize:function(b){var c,d,e,f,g=a(this).data("ui-resizable"),h=g.options,i=g.containerOffset,j=g.position,k=g._aspectRatio||b.shiftKey,l={top:0,left:0},m=g.containerElement;m[0]!==document&&/static/.test(m.css("position"))&&(l=i),j.left<(g._helper?i.left:0)&&(g.size.width=g.size.width+(g._helper?g.position.left-i.left:g.position.left-l.left),k&&(g.size.height=g.size.width/g.aspectRatio),g.position.left=h.helper?i.left:0),j.top<(g._helper?i.top:0)&&(g.size.height=g.size.height+(g._helper?g.position.top-i.top:g.position.top),k&&(g.size.width=g.size.height*g.aspectRatio),g.position.top=g._helper?i.top:0),g.offset.left=g.parentData.left+g.position.left,g.offset.top=g.parentData.top+g.position.top,c=Math.abs((g._helper?g.offset.left-l.left:g.offset.left-l.left)+g.sizeDiff.width),d=Math.abs((g._helper?g.offset.top-l.top:g.offset.top-i.top)+g.sizeDiff.height),e=g.containerElement.get(0)===g.element.parent().get(0),f=/relative|absolute/.test(g.containerElement.css("position")),e&&f&&(c-=g.parentData.left),c+g.size.width>=g.parentData.width&&(g.size.width=g.parentData.width-c,k&&(g.size.height=g.size.width/g.aspectRatio)),d+g.size.height>=g.parentData.height&&(g.size.height=g.parentData.height-d,k&&(g.size.width=g.size.height*g.aspectRatio))},stop:function(){var b=a(this).data("ui-resizable"),c=b.options,d=b.containerOffset,e=b.containerPosition,f=b.containerElement,g=a(b.helper),h=g.offset(),i=g.outerWidth()-b.sizeDiff.width,j=g.outerHeight()-b.sizeDiff.height;b._helper&&!c.animate&&/relative/.test(f.css("position"))&&a(this).css({left:h.left-e.left-d.left,width:i,height:j}),b._helper&&!c.animate&&/static/.test(f.css("position"))&&a(this).css({left:h.left-e.left-d.left,width:i,height:j})}}),a.ui.plugin.add("resizable","alsoResize",{start:function(){var b=a(this).data("ui-resizable"),c=b.options,d=function(b){a(b).each(function(){var b=a(this);b.data("ui-resizable-alsoresize",{width:parseInt(b.width(),10),height:parseInt(b.height(),10),left:parseInt(b.css("left"),10),top:parseInt(b.css("top"),10)})})};"object"!=typeof c.alsoResize||c.alsoResize.parentNode?d(c.alsoResize):c.alsoResize.length?(c.alsoResize=c.alsoResize[0],d(c.alsoResize)):a.each(c.alsoResize,function(a){d(a)})},resize:function(b,c){var d=a(this).data("ui-resizable"),e=d.options,f=d.originalSize,g=d.originalPosition,h={height:d.size.height-f.height||0,width:d.size.width-f.width||0,top:d.position.top-g.top||0,left:d.position.left-g.left||0},i=function(b,d){a(b).each(function(){var b=a(this),e=a(this).data("ui-resizable-alsoresize"),f={},g=d&&d.length?d:b.parents(c.originalElement[0]).length?["width","height"]:["width","height","top","left"];a.each(g,function(a,b){var c=(e[b]||0)+(h[b]||0);c&&c>=0&&(f[b]=c||null)}),b.css(f)})};"object"!=typeof e.alsoResize||e.alsoResize.nodeType?i(e.alsoResize):a.each(e.alsoResize,function(a,b){i(a,b)})},stop:function(){a(this).removeData("resizable-alsoresize")}}),a.ui.plugin.add("resizable","ghost",{start:function(){var b=a(this).data("ui-resizable"),c=b.options,d=b.size;b.ghost=b.originalElement.clone(),b.ghost.css({opacity:.25,display:"block",position:"relative",height:d.height,width:d.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass("string"==typeof c.ghost?c.ghost:""),b.ghost.appendTo(b.helper)},resize:function(){var b=a(this).data("ui-resizable");b.ghost&&b.ghost.css({position:"relative",height:b.size.height,width:b.size.width})},stop:function(){var b=a(this).data("ui-resizable");b.ghost&&b.helper&&b.helper.get(0).removeChild(b.ghost.get(0))}}),a.ui.plugin.add("resizable","grid",{resize:function(){var b=a(this).data("ui-resizable"),c=b.options,d=b.size,e=b.originalSize,f=b.originalPosition,g=b.axis,h="number"==typeof c.grid?[c.grid,c.grid]:c.grid,i=h[0]||1,j=h[1]||1,k=Math.round((d.width-e.width)/i)*i,l=Math.round((d.height-e.height)/j)*j,m=e.width+k,n=e.height+l,o=c.maxWidth&&c.maxWidthm,r=c.minHeight&&c.minHeight>n;c.grid=h,q&&(m+=i),r&&(n+=j),o&&(m-=i),p&&(n-=j),/^(se|s|e)$/.test(g)?(b.size.width=m,b.size.height=n):/^(ne)$/.test(g)?(b.size.width=m,b.size.height=n,b.position.top=f.top-l):/^(sw)$/.test(g)?(b.size.width=m,b.size.height=n,b.position.left=f.left-k):(b.size.width=m,b.size.height=n,b.position.top=f.top-l,b.position.left=f.left-k)}})}(jQuery),function(a){a.widget("ui.selectable",a.ui.mouse,{version:"1.10.3",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var b,c=this;this.element.addClass("ui-selectable"),this.dragged=!1,this.refresh=function(){b=a(c.options.filter,c.element[0]),b.addClass("ui-selectee"),b.each(function(){var b=a(this),c=b.offset();a.data(this,"selectable-item",{element:this,$element:b,left:c.left,top:c.top,right:c.left+b.outerWidth(),bottom:c.top+b.outerHeight(),startselected:!1,selected:b.hasClass("ui-selected"),selecting:b.hasClass("ui-selecting"),unselecting:b.hasClass("ui-unselecting")})})},this.refresh(),this.selectees=b.addClass("ui-selectee"),this._mouseInit(),this.helper=a("
    ")},_destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item"),this.element.removeClass("ui-selectable ui-selectable-disabled"),this._mouseDestroy()},_mouseStart:function(b){var c=this,d=this.options;this.opos=[b.pageX,b.pageY],this.options.disabled||(this.selectees=a(d.filter,this.element[0]),this._trigger("start",b),a(d.appendTo).append(this.helper),this.helper.css({left:b.pageX,top:b.pageY,width:0,height:0}),d.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var d=a.data(this,"selectable-item");d.startselected=!0,b.metaKey||b.ctrlKey||(d.$element.removeClass("ui-selected"),d.selected=!1,d.$element.addClass("ui-unselecting"),d.unselecting=!0,c._trigger("unselecting",b,{unselecting:d.element}))}),a(b.target).parents().addBack().each(function(){var d,e=a.data(this,"selectable-item");return e?(d=!b.metaKey&&!b.ctrlKey||!e.$element.hasClass("ui-selected"),e.$element.removeClass(d?"ui-unselecting":"ui-selected").addClass(d?"ui-selecting":"ui-unselecting"),e.unselecting=!d,e.selecting=d,e.selected=d,d?c._trigger("selecting",b,{selecting:e.element}):c._trigger("unselecting",b,{unselecting:e.element}),!1):void 0}))},_mouseDrag:function(b){if(this.dragged=!0,!this.options.disabled){var c,d=this,e=this.options,f=this.opos[0],g=this.opos[1],h=b.pageX,i=b.pageY;return f>h&&(c=h,h=f,f=c),g>i&&(c=i,i=g,g=c),this.helper.css({left:f,top:g,width:h-f,height:i-g}),this.selectees.each(function(){var c=a.data(this,"selectable-item"),j=!1;c&&c.element!==d.element[0]&&("touch"===e.tolerance?j=!(c.left>h||c.righti||c.bottomf&&c.rightg&&c.bottomb&&b+c>a}function c(a){return/left|right/.test(a.css("float"))||/inline|table-cell/.test(a.css("display"))}a.widget("ui.sortable",a.ui.mouse,{version:"1.10.3",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_create:function(){var a=this.options;this.containerCache={},this.element.addClass("ui-sortable"),this.refresh(),this.floating=this.items.length?"x"===a.axis||c(this.items[0].item):!1,this.offset=this.element.offset(),this._mouseInit(),this.ready=!0},_destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled"),this._mouseDestroy();for(var a=this.items.length-1;a>=0;a--)this.items[a].item.removeData(this.widgetName+"-item");return this},_setOption:function(b,c){"disabled"===b?(this.options[b]=c,this.widget().toggleClass("ui-sortable-disabled",!!c)):a.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(b,c){var d=null,e=!1,f=this;return this.reverting?!1:this.options.disabled||"static"===this.options.type?!1:(this._refreshItems(b),a(b.target).parents().each(function(){return a.data(this,f.widgetName+"-item")===f?(d=a(this),!1):void 0}),a.data(b.target,f.widgetName+"-item")===f&&(d=a(b.target)),d&&(!this.options.handle||c||(a(this.options.handle,d).find("*").addBack().each(function(){this===b.target&&(e=!0)}),e))?(this.currentItem=d,this._removeCurrentsFromItems(),!0):!1)},_mouseStart:function(b,c,d){var e,f,g=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(b),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(b),this.originalPageX=b.pageX,this.originalPageY=b.pageY,g.cursorAt&&this._adjustOffsetFromHelper(g.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),g.containment&&this._setContainment(),g.cursor&&"auto"!==g.cursor&&(f=this.document.find("body"),this.storedCursor=f.css("cursor"),f.css("cursor",g.cursor),this.storedStylesheet=a("").appendTo(f)),g.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",g.opacity)),g.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",g.zIndex)),this.scrollParent[0]!==document&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",b,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!d)for(e=this.containers.length-1;e>=0;e--)this.containers[e]._trigger("activate",b,this._uiHash(this)); -return a.ui.ddmanager&&(a.ui.ddmanager.current=this),a.ui.ddmanager&&!g.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(b),!0},_mouseDrag:function(b){var c,d,e,f,g=this.options,h=!1;for(this.position=this._generatePosition(b),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==document&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-b.pageY=0;c--)if(d=this.items[c],e=d.item[0],f=this._intersectsWithPointer(d),f&&d.instance===this.currentContainer&&e!==this.currentItem[0]&&this.placeholder[1===f?"next":"prev"]()[0]!==e&&!a.contains(this.placeholder[0],e)&&("semi-dynamic"===this.options.type?!a.contains(this.element[0],e):!0)){if(this.direction=1===f?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(d))break;this._rearrange(b,d),this._trigger("change",b,this._uiHash());break}return this._contactContainers(b),a.ui.ddmanager&&a.ui.ddmanager.drag(this,b),this._trigger("sort",b,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(b,c){if(b){if(a.ui.ddmanager&&!this.options.dropBehaviour&&a.ui.ddmanager.drop(this,b),this.options.revert){var d=this,e=this.placeholder.offset(),f=this.options.axis,g={};f&&"x"!==f||(g.left=e.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===document.body?0:this.offsetParent[0].scrollLeft)),f&&"y"!==f||(g.top=e.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===document.body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,a(this.helper).animate(g,parseInt(this.options.revert,10)||500,function(){d._clear(b)})}else this._clear(b,c);return!1}},cancel:function(){if(this.dragging){this._mouseUp({target:null}),"original"===this.options.helper?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var b=this.containers.length-1;b>=0;b--)this.containers[b]._trigger("deactivate",null,this._uiHash(this)),this.containers[b].containerCache.over&&(this.containers[b]._trigger("out",null,this._uiHash(this)),this.containers[b].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),a.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?a(this.domPosition.prev).after(this.currentItem):a(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];return b=b||{},a(c).each(function(){var c=(a(b.item||this).attr(b.attribute||"id")||"").match(b.expression||/(.+)[\-=_](.+)/);c&&d.push((b.key||c[1]+"[]")+"="+(b.key&&b.expression?c[1]:c[2]))}),!d.length&&b.key&&d.push(b.key+"="),d.join("&")},toArray:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];return b=b||{},c.each(function(){d.push(a(b.item||this).attr(b.attribute||"id")||"")}),d},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,d=this.positionAbs.top,e=d+this.helperProportions.height,f=a.left,g=f+a.width,h=a.top,i=h+a.height,j=this.offset.click.top,k=this.offset.click.left,l="x"===this.options.axis||d+j>h&&i>d+j,m="y"===this.options.axis||b+k>f&&g>b+k,n=l&&m;return"pointer"===this.options.tolerance||this.options.forcePointerForContainers||"pointer"!==this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>a[this.floating?"width":"height"]?n:f0?"down":"up")},_getDragHorizontalDirection:function(){var a=this.positionAbs.left-this.lastPositionAbs.left;return 0!==a&&(a>0?"right":"left")},refresh:function(a){return this._refreshItems(a),this.refreshPositions(),this},_connectWith:function(){var a=this.options;return a.connectWith.constructor===String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(b){var c,d,e,f,g=[],h=[],i=this._connectWith();if(i&&b)for(c=i.length-1;c>=0;c--)for(e=a(i[c]),d=e.length-1;d>=0;d--)f=a.data(e[d],this.widgetFullName),f&&f!==this&&!f.options.disabled&&h.push([a.isFunction(f.options.items)?f.options.items.call(f.element):a(f.options.items,f.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),f]);for(h.push([a.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):a(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),c=h.length-1;c>=0;c--)h[c][0].each(function(){g.push(this)});return a(g)},_removeCurrentsFromItems:function(){var b=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=a.grep(this.items,function(a){for(var c=0;c=0;c--)for(e=a(m[c]),d=e.length-1;d>=0;d--)f=a.data(e[d],this.widgetFullName),f&&f!==this&&!f.options.disabled&&(l.push([a.isFunction(f.options.items)?f.options.items.call(f.element[0],b,{item:this.currentItem}):a(f.options.items,f.element),f]),this.containers.push(f));for(c=l.length-1;c>=0;c--)for(g=l[c][1],h=l[c][0],d=0,j=h.length;j>d;d++)i=a(h[d]),i.data(this.widgetName+"-item",g),k.push({item:i,instance:g,width:0,height:0,left:0,top:0})},refreshPositions:function(b){this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());var c,d,e,f;for(c=this.items.length-1;c>=0;c--)d=this.items[c],d.instance!==this.currentContainer&&this.currentContainer&&d.item[0]!==this.currentItem[0]||(e=this.options.toleranceElement?a(this.options.toleranceElement,d.item):d.item,b||(d.width=e.outerWidth(),d.height=e.outerHeight()),f=e.offset(),d.left=f.left,d.top=f.top);if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(c=this.containers.length-1;c>=0;c--)f=this.containers[c].element.offset(),this.containers[c].containerCache.left=f.left,this.containers[c].containerCache.top=f.top,this.containers[c].containerCache.width=this.containers[c].element.outerWidth(),this.containers[c].containerCache.height=this.containers[c].element.outerHeight();return this},_createPlaceholder:function(b){b=b||this;var c,d=b.options;d.placeholder&&d.placeholder.constructor!==String||(c=d.placeholder,d.placeholder={element:function(){var d=b.currentItem[0].nodeName.toLowerCase(),e=a("<"+d+">",b.document[0]).addClass(c||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper");return"tr"===d?b.currentItem.children().each(function(){a(" ",b.document[0]).attr("colspan",a(this).attr("colspan")||1).appendTo(e)}):"img"===d&&e.attr("src",b.currentItem.attr("src")),c||e.css("visibility","hidden"),e},update:function(a,e){(!c||d.forcePlaceholderSize)&&(e.height()||e.height(b.currentItem.innerHeight()-parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10)),e.width()||e.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")||0,10)))}}),b.placeholder=a(d.placeholder.element.call(b.element,b.currentItem)),b.currentItem.after(b.placeholder),d.placeholder.update(b,b.placeholder)},_contactContainers:function(d){var e,f,g,h,i,j,k,l,m,n,o=null,p=null;for(e=this.containers.length-1;e>=0;e--)if(!a.contains(this.currentItem[0],this.containers[e].element[0]))if(this._intersectsWith(this.containers[e].containerCache)){if(o&&a.contains(this.containers[e].element[0],o.element[0]))continue;o=this.containers[e],p=e}else this.containers[e].containerCache.over&&(this.containers[e]._trigger("out",d,this._uiHash(this)),this.containers[e].containerCache.over=0);if(o)if(1===this.containers.length)this.containers[p].containerCache.over||(this.containers[p]._trigger("over",d,this._uiHash(this)),this.containers[p].containerCache.over=1);else{for(g=1e4,h=null,n=o.floating||c(this.currentItem),i=n?"left":"top",j=n?"width":"height",k=this.positionAbs[i]+this.offset.click[i],f=this.items.length-1;f>=0;f--)a.contains(this.containers[p].element[0],this.items[f].item[0])&&this.items[f].item[0]!==this.currentItem[0]&&(!n||b(this.positionAbs.top+this.offset.click.top,this.items[f].top,this.items[f].height))&&(l=this.items[f].item.offset()[i],m=!1,Math.abs(l-k)>Math.abs(l+this.items[f][j]-k)&&(m=!0,l+=this.items[f][j]),Math.abs(l-k)this.containment[2]&&(f=this.containment[2]+this.offset.click.left),b.pageY-this.offset.click.top>this.containment[3]&&(g=this.containment[3]+this.offset.click.top)),e.grid&&(c=this.originalPageY+Math.round((g-this.originalPageY)/e.grid[1])*e.grid[1],g=this.containment?c-this.offset.click.top>=this.containment[1]&&c-this.offset.click.top<=this.containment[3]?c:c-this.offset.click.top>=this.containment[1]?c-e.grid[1]:c+e.grid[1]:c,d=this.originalPageX+Math.round((f-this.originalPageX)/e.grid[0])*e.grid[0],f=this.containment?d-this.offset.click.left>=this.containment[0]&&d-this.offset.click.left<=this.containment[2]?d:d-this.offset.click.left>=this.containment[0]?d-e.grid[0]:d+e.grid[0]:d)),{top:g-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():i?0:h.scrollTop()),left:f-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():i?0:h.scrollLeft())}},_rearrange:function(a,b,c,d){c?c[0].appendChild(this.placeholder[0]):b.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?b.item[0]:b.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var e=this.counter;this._delay(function(){e===this.counter&&this.refreshPositions(!d)})},_clear:function(a,b){this.reverting=!1;var c,d=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(c in this._storedCSS)("auto"===this._storedCSS[c]||"static"===this._storedCSS[c])&&(this._storedCSS[c]="");this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();for(this.fromOutside&&!b&&d.push(function(a){this._trigger("receive",a,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||b||d.push(function(a){this._trigger("update",a,this._uiHash())}),this!==this.currentContainer&&(b||(d.push(function(a){this._trigger("remove",a,this._uiHash())}),d.push(function(a){return function(b){a._trigger("receive",b,this._uiHash(this))}}.call(this,this.currentContainer)),d.push(function(a){return function(b){a._trigger("update",b,this._uiHash(this))}}.call(this,this.currentContainer)))),c=this.containers.length-1;c>=0;c--)b||d.push(function(a){return function(b){a._trigger("deactivate",b,this._uiHash(this))}}.call(this,this.containers[c])),this.containers[c].containerCache.over&&(d.push(function(a){return function(b){a._trigger("out",b,this._uiHash(this))}}.call(this,this.containers[c])),this.containers[c].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,this.cancelHelperRemoval){if(!b){for(this._trigger("beforeStop",a,this._uiHash()),c=0;c0?n:b,null,"fast",j,null),this.move(n.length>0&&!j.multiple?n:[],a.parent("[jqyoui-droppable]"),jqyoui.startXY,"fast",j,function(){$timeout(function(){a.css({position:"relative",left:"",top:""}),n.css({position:"relative",left:"",top:""}),i.mutate!==!1&&this.mutateDraggable(p,j,i,g,h,m,a),j.mutate!==!1&&this.mutateDroppable(o,j,i,h,l,k),this.callEventCallback(o,j.onDrop,c,d,q)}.bind(this))}.bind(this))):$timeout(function(){i.mutate!==!1&&this.mutateDraggable(p,j,i,g,h,m,a),j.mutate!==!1&&this.mutateDroppable(o,j,i,h,l,k),this.callEventCallback(o,j.onDrop,c,d,q)}.bind(this))},this.move=function(a,b,c,d,e,f){if(0===a.length)return f&&window.setTimeout(function(){f()},300),!1;var g=9999,h=a.offset(),i=b&&b.is(":visible");null===c&&b.length>0&&(b.attr("jqyoui-draggable")!==undefined&&b.ngattr("ng-model")!==undefined&&b.is(":visible")&&e&&e.multiple?(c=b.offset(),e.stack===!1?c.left+=b.outerWidth(!0):c.top+=b.outerHeight(!0)):(c=b.css({visibility:"hidden",display:"block"}).offset(),b.css({visibility:"",display:i?"":"none"}))),a.css({position:"absolute","z-index":g}).css(h).animate(c,d,function(){f&&f()})},this.mutateDroppable=function(a,b,c,d,e,f){var g=a.$eval(d);a.__dragItem=e,angular.isArray(g)?(b&&b.index>=0?g[b.index]=e:g.push(e),c&&c.placeholder===!0&&(g[g.length-1].jqyoui_pos=f)):($parse(d+" = __dragItem")(a),c&&c.placeholder===!0&&(g.jqyoui_pos=f))},this.mutateDraggable=function(a,b,c,d,e,f,g){var h=angular.equals(angular.copy(f),{}),i=a.$eval(d);a.__dropItem=f,c&&c.placeholder?"keep"!=c.placeholder&&(angular.isArray(i)&&c.index!==undefined?i[c.index]=f:$parse(d+" = __dropItem")(a)):angular.isArray(i)?h?c&&c.placeholder!==!0&&"keep"!==c.placeholder&&i.splice(c.index,1):i[c.index]=f:($parse(d+" = __dropItem")(a),a.$parent&&$parse(d+" = __dropItem")(a.$parent)),g.css({"z-index":"",left:"",top:""})},this.fixIndex=function(a,b,c){if(b.applyFilter&&angular.isArray(c)&&c.length>0){var d=a[b.applyFilter](),e=d[b.index],f=undefined;return c.forEach(function(a,b){angular.equals(a,e)&&(f=b)}),f}return b.index}}]).directive("jqyouiDraggable",["ngDragDropService",function(a){return{require:"?jqyouiDroppable",restrict:"A",link:function(b,c,d){var e,f,g=function(g){g?(e=b.$eval(c.attr("jqyoui-draggable"))||[],c.draggable({disabled:!1}).draggable(b.$eval(d.jqyouiOptions)||{}).draggable({start:function(c,d){f=angular.element(this).css("z-index"),angular.element(this).css("z-index",99999),jqyoui.startXY=angular.element(this).offset(),a.callEventCallback(b,e.onStart,c,d)},stop:function(c,d){angular.element(this).css("z-index",f),a.callEventCallback(b,e.onStop,c,d)},drag:function(c,d){a.callEventCallback(b,e.onDrag,c,d)}})):c.draggable({disabled:!0})};b.$watch(function(){return b.$eval(d.drag)},g),g()}}}]).directive("jqyouiDroppable",["ngDragDropService",function(a){return{restrict:"A",priority:1,link:function(b,c,d){var e=function(e){e?c.droppable({disabled:!1}).droppable(b.$eval(d.jqyouiOptions)||{}).droppable({over:function(c,d){var e=b.$eval(angular.element(this).attr("jqyoui-droppable"))||[];a.callEventCallback(b,e.onOver,c,d)},out:function(c,d){var e=b.$eval(angular.element(this).attr("jqyoui-droppable"))||[];a.callEventCallback(b,e.onOut,c,d)},drop:function(c,e){angular.element(e.draggable).ngattr("ng-model")&&d.ngModel?a.invokeDrop(angular.element(e.draggable),angular.element(this),c,e):a.callEventCallback(b,(b.$eval(angular.element(this).attr("jqyoui-droppable"))||[]).onDrop,c,e)}}):c.droppable({disabled:!0})};b.$watch(function(){return b.$eval(d.drop)},e),e()}}}]);$.fn.ngattr=function(a){var b=angular.element(this).get(0);return b.getAttribute(a)||b.getAttribute("data-"+a)}}(window,window.angular),define("angular-dragdrop",function(){}),define("extend-jquery",["jquery"],function(a){var b=a(window);return a.fn.place_tt=function(){var c={offset:5,css:{position:"absolute",top:-1e3,left:0,color:"#c8c8c8",padding:"10px","font-size":"11pt","font-weight":200,"background-color":"#1f1f1f","border-radius":"5px","z-index":9999}};return function(d,e,f){return f=a.extend(!0,{},c,f),this.each(function(){var c,g,h=a(this);h.css(f.css),a.contains(document.body,h[0])||h.appendTo(document.body),c=h.outerWidth(!0),g=h.outerHeight(!0),h.css("left",d+f.offset+c>b.width()?d-f.offset-c:d+f.offset),h.css("top",e+f.offset+g>b.height()?e-f.offset-g:e+f.offset)})}}(),a}),angular.module("pasvaz.bindonce",[]).directive("bindonce",function(){var a=function(a){if(a&&0!==a.length){var b=angular.lowercase(""+a);a=!("f"==b||"0"==b||"false"==b||"no"==b||"n"==b||"[]"==b)}else a=!1;return a},b=parseInt((/msie (\d+)/.exec(angular.lowercase(navigator.userAgent))||[])[1],10);isNaN(b)&&(b=parseInt((/trident\/.*; rv:(\d+)/.exec(angular.lowercase(navigator.userAgent))||[])[1],10));var c={restrict:"AM",controller:["$scope","$element","$attrs","$interpolate",function(c,d,e,f){var g=function(b,c,d){var e="show"==c?"":"none",f="hide"==c?"":"none";b.css("display",a(d)?e:f)},h=function(a,b){if(angular.isObject(b)&&!angular.isArray(b)){var c=[];angular.forEach(b,function(a,b){a&&c.push(b)}),b=c}b&&a.addClass(angular.isArray(b)?b.join(" "):b)},i={watcherRemover:void 0,binders:[],group:e.boName,element:d,ran:!1,addBinder:function(a){this.binders.push(a),this.ran&&this.runBinders()},setupWatcher:function(a){var b=this;this.watcherRemover=c.$watch(a,function(a){void 0!=a&&(b.removeWatcher(),b.runBinders())},!0)},removeWatcher:function(){void 0!=this.watcherRemover&&(this.watcherRemover(),this.watcherRemover=void 0)},runBinders:function(){var c,d;for(c=0,d=this.binders.length;d>c;c++){var e=this.binders[c];if(!this.group||this.group==e.group){var i=e.scope.$eval(e.interpolate?f(e.value):e.value);switch(e.attr){case"if":a(i)&&e.transclude(e.scope.$new(),function(a){var b=e.element.parent(),c=e.element&&e.element[e.element.length-1],d=b&&b[0]||c&&c.parentNode,f=c&&c.nextSibling||null;angular.forEach(a,function(a){d.insertBefore(a,f)})});break;case"hide":case"show":g(e.element,e.attr,i);break;case"class":h(e.element,i);break;case"text":e.element.text(i);break;case"html":e.element.html(i);break;case"style":e.element.css(i);break;case"src":e.element.attr(e.attr,i),b&&e.element.prop("src",i);case"attr":angular.forEach(e.attrs,function(a,b){var c,d;b.match(/^boAttr./)&&e.attrs[b]&&(c=b.replace(/^boAttr/,"").replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),d=e.scope.$eval(e.attrs[b]),e.element.attr(c,d))});break;case"href":case"alt":case"title":case"id":case"value":e.element.attr(e.attr,i)}}}this.ran=!0,this.binders=[]}};return i}],link:function(a,b,c,d){var e=c.bindonce?a.$eval(c.bindonce):!0;void 0!=e?d.runBinders():(d.setupWatcher(c.bindonce),b.bind("$destroy",d.removeWatcher))}};return c}),angular.forEach([{directiveName:"boShow",attribute:"show"},{directiveName:"boIf",attribute:"if",transclude:"element",terminal:!0,priority:1e3},{directiveName:"boHide",attribute:"hide"},{directiveName:"boClass",attribute:"class"},{directiveName:"boText",attribute:"text"},{directiveName:"boHtml",attribute:"html"},{directiveName:"boSrcI",attribute:"src",interpolate:!0},{directiveName:"boSrc",attribute:"src"},{directiveName:"boHrefI",attribute:"href",interpolate:!0},{directiveName:"boHref",attribute:"href"},{directiveName:"boAlt",attribute:"alt"},{directiveName:"boTitle",attribute:"title"},{directiveName:"boId",attribute:"id"},{directiveName:"boStyle",attribute:"style"},{directiveName:"boValue",attribute:"value"},{directiveName:"boAttr",attribute:"attr"}],function(a){var b=200;return angular.module("pasvaz.bindonce").directive(a.directiveName,function(){var c={priority:a.priority||b,transclude:a.transclude||!1,terminal:a.terminal||!1,require:"^bindonce",compile:function(b,c,d){return function(b,c,e,f){var g=e.boParent;if(g&&f.group!=g){var h=f.element.parent();f=void 0;for(var i;9!=h[0].nodeType&&h.length;){if((i=h.data("$bindonceController"))&&i.group==g){f=i;break}h=h.parent()}if(!f)throw Error("No bindonce controller: "+g)}f.addBinder({element:c,attr:a.attribute,attrs:e,value:e[a.directiveName],interpolate:a.interpolate,group:g,transclude:d,scope:b})}}};return c})}),define("bindonce",function(){}),define("services/alertSrv",["angular","underscore"],function(a,b){var c=a.module("kibana.services");c.service("alertSrv",["$timeout",function(c){var d=this;this.list=[],this.set=function(e,f,g,h){var i={title:e||"",text:f||"",severity:g||"info"},j=a.toJson(i),k=b.map(d.list,function(b){return a.toJson(b)});return b.contains(k,j)&&b.remove(d.list,b.indexOf(k,j)),d.list.push(i),h>0&&c(function(){d.list=b.without(d.list,i)},h),i},this.clear=function(a){d.list=b.without(d.list,a)},this.clearAll=function(){d.list=[]}}])}),function(a){function b(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function c(a,b){return function(c){return k(a.call(this,c),b)}}function d(a,b){return function(c){return this.lang().ordinal(a.call(this,c),b)}}function e(){}function f(a){w(a),h(this,a)}function g(a){var b=q(a),c=b.year||0,d=b.month||0,e=b.week||0,f=b.day||0,g=b.hour||0,h=b.minute||0,i=b.second||0,j=b.millisecond||0;this._milliseconds=+j+1e3*i+6e4*h+36e5*g,this._days=+f+7*e,this._months=+d+12*c,this._data={},this._bubble()}function h(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c]);return b.hasOwnProperty("toString")&&(a.toString=b.toString),b.hasOwnProperty("valueOf")&&(a.valueOf=b.valueOf),a}function i(a){var b,c={};for(b in a)a.hasOwnProperty(b)&&qb.hasOwnProperty(b)&&(c[b]=a[b]);return c}function j(a){return 0>a?Math.ceil(a):Math.floor(a)}function k(a,b,c){for(var d=""+Math.abs(a),e=a>=0;d.lengthd;d++)(c&&a[d]!==b[d]||!c&&s(a[d])!==s(b[d]))&&g++;return g+f}function p(a){if(a){var b=a.toLowerCase().replace(/(.)s$/,"$1");a=Tb[a]||Ub[b]||b}return a}function q(a){var b,c,d={}; -for(c in a)a.hasOwnProperty(c)&&(b=p(c),b&&(d[b]=a[c]));return d}function r(b){var c,d;if(0===b.indexOf("week"))c=7,d="day";else{if(0!==b.indexOf("month"))return;c=12,d="month"}db[b]=function(e,f){var g,h,i=db.fn._lang[b],j=[];if("number"==typeof e&&(f=e,e=a),h=function(a){var b=db().utc().set(d,a);return i.call(db.fn._lang,b,e||"")},null!=f)return h(f);for(g=0;c>g;g++)j.push(h(g));return j}}function s(a){var b=+a,c=0;return 0!==b&&isFinite(b)&&(c=b>=0?Math.floor(b):Math.ceil(b)),c}function t(a,b){return new Date(Date.UTC(a,b+1,0)).getUTCDate()}function u(a){return v(a)?366:365}function v(a){return a%4===0&&a%100!==0||a%400===0}function w(a){var b;a._a&&-2===a._pf.overflow&&(b=a._a[jb]<0||a._a[jb]>11?jb:a._a[kb]<1||a._a[kb]>t(a._a[ib],a._a[jb])?kb:a._a[lb]<0||a._a[lb]>23?lb:a._a[mb]<0||a._a[mb]>59?mb:a._a[nb]<0||a._a[nb]>59?nb:a._a[ob]<0||a._a[ob]>999?ob:-1,a._pf._overflowDayOfYear&&(ib>b||b>kb)&&(b=kb),a._pf.overflow=b)}function x(a){return null==a._isValid&&(a._isValid=!isNaN(a._d.getTime())&&a._pf.overflow<0&&!a._pf.empty&&!a._pf.invalidMonth&&!a._pf.nullInput&&!a._pf.invalidFormat&&!a._pf.userInvalidated,a._strict&&(a._isValid=a._isValid&&0===a._pf.charsLeftOver&&0===a._pf.unusedTokens.length)),a._isValid}function y(a){return a?a.toLowerCase().replace("_","-"):a}function z(a,b){return b._isUTC?db(a).zone(b._offset||0):db(a).local()}function A(a,b){return b.abbr=a,pb[a]||(pb[a]=new e),pb[a].set(b),pb[a]}function B(a){delete pb[a]}function C(a){var b,c,d,e,f=0,g=function(a){if(!pb[a]&&rb)try{require("./lang/"+a)}catch(b){}return pb[a]};if(!a)return db.fn._lang;if(!m(a)){if(c=g(a))return c;a=[a]}for(;f0;){if(c=g(e.slice(0,b).join("-")))return c;if(d&&d.length>=b&&o(e,d,!0)>=b-1)break;b--}f++}return db.fn._lang}function D(a){return a.match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"")}function E(a){var b,c,d=a.match(vb);for(b=0,c=d.length;c>b;b++)d[b]=Yb[d[b]]?Yb[d[b]]:D(d[b]);return function(e){var f="";for(b=0;c>b;b++)f+=d[b]instanceof Function?d[b].call(e,a):d[b];return f}}function F(a,b){return a.isValid()?(b=G(b,a.lang()),Vb[b]||(Vb[b]=E(b)),Vb[b](a)):a.lang().invalidDate()}function G(a,b){function c(a){return b.longDateFormat(a)||a}var d=5;for(wb.lastIndex=0;d>=0&&wb.test(a);)a=a.replace(wb,c),wb.lastIndex=0,d-=1;return a}function H(a,b){var c,d=b._strict;switch(a){case"DDDD":return Ib;case"YYYY":case"GGGG":case"gggg":return d?Jb:zb;case"Y":case"G":case"g":return Lb;case"YYYYYY":case"YYYYY":case"GGGGG":case"ggggg":return d?Kb:Ab;case"S":if(d)return Gb;case"SS":if(d)return Hb;case"SSS":if(d)return Ib;case"DDD":return yb;case"MMM":case"MMMM":case"dd":case"ddd":case"dddd":return Cb;case"a":case"A":return C(b._l)._meridiemParse;case"X":return Fb;case"Z":case"ZZ":return Db;case"T":return Eb;case"SSSS":return Bb;case"MM":case"DD":case"YY":case"GG":case"gg":case"HH":case"hh":case"mm":case"ss":case"ww":case"WW":return d?Hb:xb;case"M":case"D":case"d":case"H":case"h":case"m":case"s":case"w":case"W":case"e":case"E":return xb;default:return c=new RegExp(P(O(a.replace("\\","")),"i"))}}function I(a){a=a||"";var b=a.match(Db)||[],c=b[b.length-1]||[],d=(c+"").match(Qb)||["-",0,0],e=+(60*d[1])+s(d[2]);return"+"===d[0]?-e:e}function J(a,b,c){var d,e=c._a;switch(a){case"M":case"MM":null!=b&&(e[jb]=s(b)-1);break;case"MMM":case"MMMM":d=C(c._l).monthsParse(b),null!=d?e[jb]=d:c._pf.invalidMonth=b;break;case"D":case"DD":null!=b&&(e[kb]=s(b));break;case"DDD":case"DDDD":null!=b&&(c._dayOfYear=s(b));break;case"YY":e[ib]=s(b)+(s(b)>68?1900:2e3);break;case"YYYY":case"YYYYY":case"YYYYYY":e[ib]=s(b);break;case"a":case"A":c._isPm=C(c._l).isPM(b);break;case"H":case"HH":case"h":case"hh":e[lb]=s(b);break;case"m":case"mm":e[mb]=s(b);break;case"s":case"ss":e[nb]=s(b);break;case"S":case"SS":case"SSS":case"SSSS":e[ob]=s(1e3*("0."+b));break;case"X":c._d=new Date(1e3*parseFloat(b));break;case"Z":case"ZZ":c._useUTC=!0,c._tzm=I(b);break;case"w":case"ww":case"W":case"WW":case"d":case"dd":case"ddd":case"dddd":case"e":case"E":a=a.substr(0,1);case"gg":case"gggg":case"GG":case"GGGG":case"GGGGG":a=a.substr(0,2),b&&(c._w=c._w||{},c._w[a]=b)}}function K(a){var b,c,d,e,f,g,h,i,j,k,l=[];if(!a._d){for(d=M(a),a._w&&null==a._a[kb]&&null==a._a[jb]&&(f=function(b){var c=parseInt(b,10);return b?b.length<3?c>68?1900+c:2e3+c:c:null==a._a[ib]?db().weekYear():a._a[ib]},g=a._w,null!=g.GG||null!=g.W||null!=g.E?h=Z(f(g.GG),g.W||1,g.E,4,1):(i=C(a._l),j=null!=g.d?V(g.d,i):null!=g.e?parseInt(g.e,10)+i._week.dow:0,k=parseInt(g.w,10)||1,null!=g.d&&ju(e)&&(a._pf._overflowDayOfYear=!0),c=U(e,0,a._dayOfYear),a._a[jb]=c.getUTCMonth(),a._a[kb]=c.getUTCDate()),b=0;3>b&&null==a._a[b];++b)a._a[b]=l[b]=d[b];for(;7>b;b++)a._a[b]=l[b]=null==a._a[b]?2===b?1:0:a._a[b];l[lb]+=s((a._tzm||0)/60),l[mb]+=s((a._tzm||0)%60),a._d=(a._useUTC?U:T).apply(null,l)}}function L(a){var b;a._d||(b=q(a._i),a._a=[b.year,b.month,b.day,b.hour,b.minute,b.second,b.millisecond],K(a))}function M(a){var b=new Date;return a._useUTC?[b.getUTCFullYear(),b.getUTCMonth(),b.getUTCDate()]:[b.getFullYear(),b.getMonth(),b.getDate()]}function N(a){a._a=[],a._pf.empty=!0;var b,c,d,e,f,g=C(a._l),h=""+a._i,i=h.length,j=0;for(d=G(a._f,g).match(vb)||[],b=0;b0&&a._pf.unusedInput.push(f),h=h.slice(h.indexOf(c)+c.length),j+=c.length),Yb[e]?(c?a._pf.empty=!1:a._pf.unusedTokens.push(e),J(e,c,a)):a._strict&&!c&&a._pf.unusedTokens.push(e);a._pf.charsLeftOver=i-j,h.length>0&&a._pf.unusedInput.push(h),a._isPm&&a._a[lb]<12&&(a._a[lb]+=12),a._isPm===!1&&12===a._a[lb]&&(a._a[lb]=0),K(a),w(a)}function O(a){return a.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(a,b,c,d,e){return b||c||d||e})}function P(a){return a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function Q(a){var c,d,e,f,g;if(0===a._f.length)return a._pf.invalidFormat=!0,void(a._d=new Date(0/0));for(f=0;fg)&&(e=g,d=c));h(a,d||c)}function R(a){var b,c,d=a._i,e=Mb.exec(d);if(e){for(a._pf.iso=!0,b=0,c=Ob.length;c>b;b++)if(Ob[b][1].exec(d)){a._f=Ob[b][0]+(e[6]||" ");break}for(b=0,c=Pb.length;c>b;b++)if(Pb[b][1].exec(d)){a._f+=Pb[b][0];break}d.match(Db)&&(a._f+="Z"),N(a)}else a._d=new Date(d)}function S(b){var c=b._i,d=sb.exec(c);c===a?b._d=new Date:d?b._d=new Date(+d[1]):"string"==typeof c?R(b):m(c)?(b._a=c.slice(0),K(b)):n(c)?b._d=new Date(+c):"object"==typeof c?L(b):b._d=new Date(c)}function T(a,b,c,d,e,f,g){var h=new Date(a,b,c,d,e,f,g);return 1970>a&&h.setFullYear(a),h}function U(a){var b=new Date(Date.UTC.apply(null,arguments));return 1970>a&&b.setUTCFullYear(a),b}function V(a,b){if("string"==typeof a)if(isNaN(a)){if(a=b.weekdaysParse(a),"number"!=typeof a)return null}else a=parseInt(a,10);return a}function W(a,b,c,d,e){return e.relativeTime(b||1,!!c,a,d)}function X(a,b,c){var d=hb(Math.abs(a)/1e3),e=hb(d/60),f=hb(e/60),g=hb(f/24),h=hb(g/365),i=45>d&&["s",d]||1===e&&["m"]||45>e&&["mm",e]||1===f&&["h"]||22>f&&["hh",f]||1===g&&["d"]||25>=g&&["dd",g]||45>=g&&["M"]||345>g&&["MM",hb(g/30)]||1===h&&["y"]||["yy",h];return i[2]=b,i[3]=a>0,i[4]=c,W.apply({},i)}function Y(a,b,c){var d,e=c-b,f=c-a.day();return f>e&&(f-=7),e-7>f&&(f+=7),d=db(a).add("d",f),{week:Math.ceil(d.dayOfYear()/7),year:d.year()}}function Z(a,b,c,d,e){var f,g,h=U(a,0,1).getUTCDay();return c=null!=c?c:e,f=e-h+(h>d?7:0)-(e>h?7:0),g=7*(b-1)+(c-e)+f+1,{year:g>0?a:a-1,dayOfYear:g>0?g:u(a-1)+g}}function $(a){var b=a._i,c=a._f;return null===b?db.invalid({nullInput:!0}):("string"==typeof b&&(a._i=b=C().preparse(b)),db.isMoment(b)?(a=i(b),a._d=new Date(+b._d)):c?m(c)?Q(a):N(a):S(a),new f(a))}function _(a,b){db.fn[a]=db.fn[a+"s"]=function(a){var c=this._isUTC?"UTC":"";return null!=a?(this._d["set"+c+b](a),db.updateOffset(this),this):this._d["get"+c+b]()}}function ab(a){db.duration.fn[a]=function(){return this._data[a]}}function bb(a,b){db.duration.fn["as"+a]=function(){return+this/b}}function cb(a){var b=!1,c=db;"undefined"==typeof ender&&(a?(gb.moment=function(){return!b&&console&&console.warn&&(b=!0,console.warn("Accessing Moment through the global scope is deprecated, and will be removed in an upcoming release.")),c.apply(null,arguments)},h(gb.moment,c)):gb.moment=db)}for(var db,eb,fb="2.5.1",gb=this,hb=Math.round,ib=0,jb=1,kb=2,lb=3,mb=4,nb=5,ob=6,pb={},qb={_isAMomentObject:null,_i:null,_f:null,_l:null,_strict:null,_isUTC:null,_offset:null,_pf:null,_lang:null},rb="undefined"!=typeof module&&module.exports&&"undefined"!=typeof require,sb=/^\/?Date\((\-?\d+)/i,tb=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,ub=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/,vb=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|X|zz?|ZZ?|.)/g,wb=/(\[[^\[]*\])|(\\)?(LT|LL?L?L?|l{1,4})/g,xb=/\d\d?/,yb=/\d{1,3}/,zb=/\d{1,4}/,Ab=/[+\-]?\d{1,6}/,Bb=/\d+/,Cb=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,Db=/Z|[\+\-]\d\d:?\d\d/gi,Eb=/T/i,Fb=/[\+\-]?\d+(\.\d{1,3})?/,Gb=/\d/,Hb=/\d\d/,Ib=/\d{3}/,Jb=/\d{4}/,Kb=/[+-]?\d{6}/,Lb=/[+-]?\d+/,Mb=/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Nb="YYYY-MM-DDTHH:mm:ssZ",Ob=[["YYYYYY-MM-DD",/[+-]\d{6}-\d{2}-\d{2}/],["YYYY-MM-DD",/\d{4}-\d{2}-\d{2}/],["GGGG-[W]WW-E",/\d{4}-W\d{2}-\d/],["GGGG-[W]WW",/\d{4}-W\d{2}/],["YYYY-DDD",/\d{4}-\d{3}/]],Pb=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d{1,3}/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],Qb=/([\+\-]|\d\d)/gi,Rb="Date|Hours|Minutes|Seconds|Milliseconds".split("|"),Sb={Milliseconds:1,Seconds:1e3,Minutes:6e4,Hours:36e5,Days:864e5,Months:2592e6,Years:31536e6},Tb={ms:"millisecond",s:"second",m:"minute",h:"hour",d:"day",D:"date",w:"week",W:"isoWeek",M:"month",y:"year",DDD:"dayOfYear",e:"weekday",E:"isoWeekday",gg:"weekYear",GG:"isoWeekYear"},Ub={dayofyear:"dayOfYear",isoweekday:"isoWeekday",isoweek:"isoWeek",weekyear:"weekYear",isoweekyear:"isoWeekYear"},Vb={},Wb="DDD w W M D d".split(" "),Xb="M D H h m s w W".split(" "),Yb={M:function(){return this.month()+1},MMM:function(a){return this.lang().monthsShort(this,a)},MMMM:function(a){return this.lang().months(this,a)},D:function(){return this.date()},DDD:function(){return this.dayOfYear()},d:function(){return this.day()},dd:function(a){return this.lang().weekdaysMin(this,a)},ddd:function(a){return this.lang().weekdaysShort(this,a)},dddd:function(a){return this.lang().weekdays(this,a)},w:function(){return this.week()},W:function(){return this.isoWeek()},YY:function(){return k(this.year()%100,2)},YYYY:function(){return k(this.year(),4)},YYYYY:function(){return k(this.year(),5)},YYYYYY:function(){var a=this.year(),b=a>=0?"+":"-";return b+k(Math.abs(a),6)},gg:function(){return k(this.weekYear()%100,2)},gggg:function(){return k(this.weekYear(),4)},ggggg:function(){return k(this.weekYear(),5)},GG:function(){return k(this.isoWeekYear()%100,2)},GGGG:function(){return k(this.isoWeekYear(),4)},GGGGG:function(){return k(this.isoWeekYear(),5)},e:function(){return this.weekday()},E:function(){return this.isoWeekday()},a:function(){return this.lang().meridiem(this.hours(),this.minutes(),!0)},A:function(){return this.lang().meridiem(this.hours(),this.minutes(),!1)},H:function(){return this.hours()},h:function(){return this.hours()%12||12},m:function(){return this.minutes()},s:function(){return this.seconds()},S:function(){return s(this.milliseconds()/100)},SS:function(){return k(s(this.milliseconds()/10),2)},SSS:function(){return k(this.milliseconds(),3)},SSSS:function(){return k(this.milliseconds(),3)},Z:function(){var a=-this.zone(),b="+";return 0>a&&(a=-a,b="-"),b+k(s(a/60),2)+":"+k(s(a)%60,2)},ZZ:function(){var a=-this.zone(),b="+";return 0>a&&(a=-a,b="-"),b+k(s(a/60),2)+k(s(a)%60,2)},z:function(){return this.zoneAbbr()},zz:function(){return this.zoneName()},X:function(){return this.unix()},Q:function(){return this.quarter()}},Zb=["months","monthsShort","weekdays","weekdaysShort","weekdaysMin"];Wb.length;)eb=Wb.pop(),Yb[eb+"o"]=d(Yb[eb],eb);for(;Xb.length;)eb=Xb.pop(),Yb[eb+eb]=c(Yb[eb],2);for(Yb.DDDD=c(Yb.DDD,3),h(e.prototype,{set:function(a){var b,c;for(c in a)b=a[c],"function"==typeof b?this[c]=b:this["_"+c]=b},_months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),months:function(a){return this._months[a.month()]},_monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),monthsShort:function(a){return this._monthsShort[a.month()]},monthsParse:function(a){var b,c,d;for(this._monthsParse||(this._monthsParse=[]),b=0;12>b;b++)if(this._monthsParse[b]||(c=db.utc([2e3,b]),d="^"+this.months(c,"")+"|^"+this.monthsShort(c,""),this._monthsParse[b]=new RegExp(d.replace(".",""),"i")),this._monthsParse[b].test(a))return b},_weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdays:function(a){return this._weekdays[a.day()]},_weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysShort:function(a){return this._weekdaysShort[a.day()]},_weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),weekdaysMin:function(a){return this._weekdaysMin[a.day()]},weekdaysParse:function(a){var b,c,d;for(this._weekdaysParse||(this._weekdaysParse=[]),b=0;7>b;b++)if(this._weekdaysParse[b]||(c=db([2e3,1]).day(b),d="^"+this.weekdays(c,"")+"|^"+this.weekdaysShort(c,"")+"|^"+this.weekdaysMin(c,""),this._weekdaysParse[b]=new RegExp(d.replace(".",""),"i")),this._weekdaysParse[b].test(a))return b},_longDateFormat:{LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D YYYY",LLL:"MMMM D YYYY LT",LLLL:"dddd, MMMM D YYYY LT"},longDateFormat:function(a){var b=this._longDateFormat[a];return!b&&this._longDateFormat[a.toUpperCase()]&&(b=this._longDateFormat[a.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(a){return a.slice(1)}),this._longDateFormat[a]=b),b},isPM:function(a){return"p"===(a+"").toLowerCase().charAt(0)},_meridiemParse:/[ap]\.?m?\.?/i,meridiem:function(a,b,c){return a>11?c?"pm":"PM":c?"am":"AM"},_calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},calendar:function(a,b){var c=this._calendar[a];return"function"==typeof c?c.apply(b):c},_relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},relativeTime:function(a,b,c,d){var e=this._relativeTime[c];return"function"==typeof e?e(a,b,c,d):e.replace(/%d/i,a)},pastFuture:function(a,b){var c=this._relativeTime[a>0?"future":"past"];return"function"==typeof c?c(b):c.replace(/%s/i,b)},ordinal:function(a){return this._ordinal.replace("%d",a)},_ordinal:"%d",preparse:function(a){return a},postformat:function(a){return a},week:function(a){return Y(a,this._week.dow,this._week.doy).week},_week:{dow:0,doy:6},_invalidDate:"Invalid date",invalidDate:function(){return this._invalidDate}}),db=function(c,d,e,f){var g;return"boolean"==typeof e&&(f=e,e=a),g={},g._isAMomentObject=!0,g._i=c,g._f=d,g._l=e,g._strict=f,g._isUTC=!1,g._pf=b(),$(g)},db.utc=function(c,d,e,f){var g;return"boolean"==typeof e&&(f=e,e=a),g={},g._isAMomentObject=!0,g._useUTC=!0,g._isUTC=!0,g._l=e,g._i=c,g._f=d,g._strict=f,g._pf=b(),$(g).utc()},db.unix=function(a){return db(1e3*a)},db.duration=function(a,b){var c,d,e,f=a,h=null;return db.isDuration(a)?f={ms:a._milliseconds,d:a._days,M:a._months}:"number"==typeof a?(f={},b?f[b]=a:f.milliseconds=a):(h=tb.exec(a))?(c="-"===h[1]?-1:1,f={y:0,d:s(h[kb])*c,h:s(h[lb])*c,m:s(h[mb])*c,s:s(h[nb])*c,ms:s(h[ob])*c}):(h=ub.exec(a))&&(c="-"===h[1]?-1:1,e=function(a){var b=a&&parseFloat(a.replace(",","."));return(isNaN(b)?0:b)*c},f={y:e(h[2]),M:e(h[3]),d:e(h[4]),h:e(h[5]),m:e(h[6]),s:e(h[7]),w:e(h[8])}),d=new g(f),db.isDuration(a)&&a.hasOwnProperty("_lang")&&(d._lang=a._lang),d},db.version=fb,db.defaultFormat=Nb,db.updateOffset=function(){},db.lang=function(a,b){var c;return a?(b?A(y(a),b):null===b?(B(a),a="en"):pb[a]||C(a),c=db.duration.fn._lang=db.fn._lang=C(a),c._abbr):db.fn._lang._abbr},db.langData=function(a){return a&&a._lang&&a._lang._abbr&&(a=a._lang._abbr),C(a)},db.isMoment=function(a){return a instanceof f||null!=a&&a.hasOwnProperty("_isAMomentObject")},db.isDuration=function(a){return a instanceof g},eb=Zb.length-1;eb>=0;--eb)r(Zb[eb]);for(db.normalizeUnits=function(a){return p(a)},db.invalid=function(a){var b=db.utc(0/0);return null!=a?h(b._pf,a):b._pf.userInvalidated=!0,b},db.parseZone=function(a){return db(a).parseZone()},h(db.fn=f.prototype,{clone:function(){return db(this)},valueOf:function(){return+this._d+6e4*(this._offset||0)},unix:function(){return Math.floor(+this/1e3)},toString:function(){return this.clone().lang("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},toDate:function(){return this._offset?new Date(+this):this._d},toISOString:function(){var a=db(this).utc();return 00:!1},parsingFlags:function(){return h({},this._pf)},invalidAt:function(){return this._pf.overflow},utc:function(){return this.zone(0)},local:function(){return this.zone(0),this._isUTC=!1,this},format:function(a){var b=F(this,a||db.defaultFormat);return this.lang().postformat(b)},add:function(a,b){var c;return c="string"==typeof a?db.duration(+b,a):db.duration(a,b),l(this,c,1),this},subtract:function(a,b){var c;return c="string"==typeof a?db.duration(+b,a):db.duration(a,b),l(this,c,-1),this},diff:function(a,b,c){var d,e,f=z(a,this),g=6e4*(this.zone()-f.zone());return b=p(b),"year"===b||"month"===b?(d=432e5*(this.daysInMonth()+f.daysInMonth()),e=12*(this.year()-f.year())+(this.month()-f.month()),e+=(this-db(this).startOf("month")-(f-db(f).startOf("month")))/d,e-=6e4*(this.zone()-db(this).startOf("month").zone()-(f.zone()-db(f).startOf("month").zone()))/d,"year"===b&&(e/=12)):(d=this-f,e="second"===b?d/1e3:"minute"===b?d/6e4:"hour"===b?d/36e5:"day"===b?(d-g)/864e5:"week"===b?(d-g)/6048e5:d),c?e:j(e)},from:function(a,b){return db.duration(this.diff(a)).lang(this.lang()._abbr).humanize(!b)},fromNow:function(a){return this.from(db(),a)},calendar:function(){var a=z(db(),this).startOf("day"),b=this.diff(a,"days",!0),c=-6>b?"sameElse":-1>b?"lastWeek":0>b?"lastDay":1>b?"sameDay":2>b?"nextDay":7>b?"nextWeek":"sameElse";return this.format(this.lang().calendar(c,this))},isLeapYear:function(){return v(this.year())},isDST:function(){return this.zone()+db(a).startOf(b)},isBefore:function(a,b){return b="undefined"!=typeof b?b:"millisecond",+this.clone().startOf(b)<+db(a).startOf(b)},isSame:function(a,b){return b=b||"ms",+this.clone().startOf(b)===+z(a,this).startOf(b)},min:function(a){return a=db.apply(null,arguments),this>a?this:a},max:function(a){return a=db.apply(null,arguments),a>this?this:a},zone:function(a){var b=this._offset||0;return null==a?this._isUTC?b:this._d.getTimezoneOffset():("string"==typeof a&&(a=I(a)),Math.abs(a)<16&&(a=60*a),this._offset=a,this._isUTC=!0,b!==a&&l(this,db.duration(b-a,"m"),1,!0),this)},zoneAbbr:function(){return this._isUTC?"UTC":""},zoneName:function(){return this._isUTC?"Coordinated Universal Time":""},parseZone:function(){return this._tzm?this.zone(this._tzm):"string"==typeof this._i&&this.zone(this._i),this},hasAlignedHourOffset:function(a){return a=a?db(a).zone():0,(this.zone()-a)%60===0},daysInMonth:function(){return t(this.year(),this.month())},dayOfYear:function(a){var b=hb((db(this).startOf("day")-db(this).startOf("year"))/864e5)+1;return null==a?b:this.add("d",a-b)},quarter:function(){return Math.ceil((this.month()+1)/3)},weekYear:function(a){var b=Y(this,this.lang()._week.dow,this.lang()._week.doy).year;return null==a?b:this.add("y",a-b)},isoWeekYear:function(a){var b=Y(this,1,4).year;return null==a?b:this.add("y",a-b)},week:function(a){var b=this.lang().week(this);return null==a?b:this.add("d",7*(a-b))},isoWeek:function(a){var b=Y(this,1,4).week;return null==a?b:this.add("d",7*(a-b))},weekday:function(a){var b=(this.day()+7-this.lang()._week.dow)%7;return null==a?b:this.add("d",a-b)},isoWeekday:function(a){return null==a?this.day()||7:this.day(this.day()%7?a:a-7)},get:function(a){return a=p(a),this[a]()},set:function(a,b){return a=p(a),"function"==typeof this[a]&&this[a](b),this},lang:function(b){return b===a?this._lang:(this._lang=C(b),this)}}),eb=0;eb=a:return 100;case 5e3>=a:return 1e3;case 7500>=a:return 5e3;case 15e3>=a:return 1e4;case 45e3>=a:return 3e4;case 18e4>=a:return 6e4;case 45e4>=a:return 3e5;case 12e5>=a:return 6e5;case 27e5>=a:return 18e5;case 72e5>=a:return 36e5;case 216e5>=a:return 108e5;case 864e5>=a:return 432e5;case 1728e5>=a:return 864e5;case 6048e5>=a:return 864e5;case 18144e5>=a:return 6048e5;case 36288e5>a:return 2592e6;default:return 31536e6}},d.secondsToHms=function(a){var b=Math.floor(a/31536e3);if(b)return b+"y";var c=Math.floor(a%31536e3/86400);if(c)return c+"d";var d=Math.floor(a%31536e3%86400/3600);if(d)return d+"h";var e=Math.floor(a%31536e3%86400%3600/60);if(e)return e+"m";var f=a%31536e3%86400%3600%60;return f?f+"s":"less then a second"},d.to_percent=function(a,b){return Math.floor(a/b*1e4)/100+"%"},d.addslashes=function(a){return a=a.replace(/\\/g,"\\\\"),a=a.replace(/\'/g,"\\'"),a=a.replace(/\"/g,'\\"'),a=a.replace(/\0/g,"\\0")},d.interval_regex=/(\d+(?:\.\d+)?)([Mwdhmsy])/,d.intervals_in_seconds={y:31536e3,M:2592e3,w:604800,d:86400,h:3600,m:60,s:1},d.describe_interval=function(a){var c=a.match(d.interval_regex);if(c&&b.has(d.intervals_in_seconds,c[2]))return{sec:d.intervals_in_seconds[c[2]],type:c[2],count:parseInt(c[1],10)};throw new Error('Invalid interval string, expexcting a number followed by one of "Mwdhmsy"')},d.interval_to_ms=function(a){var b=d.describe_interval(a);return 1e3*b.sec*b.count},d.interval_to_seconds=function(a){var b=d.describe_interval(a);return b.sec*b.count},d.time_ago=function(a){return new Date((new Date).getTime()-d.interval_to_ms(a))},d.parseDate=function(a){if(b.isDate(a))return a;var c,e,f,g="";return"now"===a.substring(0,3)?(c=new Date,g=a.substring("now".length)):(e=a.indexOf("||"),-1===e?(f=a,g=""):(f=a.substring(0,e),g=a.substring(e+2)),c=new Date(f)),g.length?d.parseDateMath(g,c):c},d.parseDateMath=function(a,b,d){for(var e=c(b),f=0;f
    '},d.byteFormat=function(a,c){var d,e=0;for(b.isUndefined(c)?c=2:0===c&&(c=void 0);Math.abs(a)>=1024;)e++,a/=1024;switch(e){case 0:d=" B";break;case 1:d=" KiB";break;case 2:d=" MiB";break;case 3:d=" GiB";break;case 4:d=" TiB";break;case 5:d=" PiB";break;case 6:d=" EiB";break;case 7:d=" ZiB";break;case 8:d=" YiB"}return a.toFixed(c)+d},d.bitFormat=function(a,c){var d,e=0;for(b.isUndefined(c)?c=2:0===c&&(c=void 0);Math.abs(a)>=1024;)e++,a/=1024;switch(e){case 0:d=" b";break;case 1:d=" Kib";break;case 2:d=" Mib";break;case 3:d=" Gib";break;case 4:d=" Tib";break;case 5:d=" Pib";break;case 6:d=" Eib";break;case 7:d=" Zib";break;case 8:d=" Yib"}return a.toFixed(c)+d},d.shortFormat=function(a,c){var d,e=0;for(b.isUndefined(c)?c=2:0===c&&(c=void 0);Math.abs(a)>=1e3;)e++,a/=1e3;switch(e){case 0:d="";break;case 1:d=" K";break;case 2:d=" Mil";break;case 3:d=" Bil";break;case 4:d=" Tri";break;case 5:d=" Quadr";break;case 6:d=" Quint";break;case 7:d=" Sext";break;case 8:d=" Sept"}return a.toFixed(c)+d},d.getFormatFunction=function(a,b){switch(a){case"short":return function(a){return d.shortFormat(a,b)};case"bytes":return function(a){return d.byteFormat(a,b)};case"bits":return function(a){return d.bitFormat(a,b)};case"s":return function(a){return d.sFormat(a,b)};case"ms":return function(a){return d.msFormat(a,b)};case"µs":return function(a){return d.microsFormat(a,b)};case"ns":return function(a){return d.nanosFormat(a,b)};default:return function(a){return a%1===0?a:a.toFixed(b)}}},d.msFormat=function(a,b){return 1e3>a?a.toFixed(0)+" ms":6e4>a?(a/1e3).toFixed(b)+" s":36e5>a?(a/6e4).toFixed(b)+" min":864e5>a?(a/36e5).toFixed(b)+" hour":31536e6>a?(a/864e5).toFixed(b)+" day":(a/31536e6).toFixed(b)+" year"},d.sFormat=function(a,b){return 600>a?a.toFixed(b)+" s":3600>a?(a/60).toFixed(b)+" min":86400>a?(a/3600).toFixed(b)+" hour":604800>a?(a/86400).toFixed(b)+" day":31536e3>a?(a/604800).toFixed(b)+" week":(a/31556900).toFixed(b)+" year"},d.microsFormat=function(a,b){return 1e3>a?a.toFixed(0)+" µs":1e6>a?(a/1e3).toFixed(b)+" ms":(a/1e6).toFixed(b)+" s"},d.nanosFormat=function(a,b){return 1e3>a?a.toFixed(0)+" ns":1e6>a?(a/1e3).toFixed(b)+" µs":1e9>a?(a/1e6).toFixed(b)+" ms":6e10>a?(a/1e9).toFixed(b)+" s":(a/6e10).toFixed(b)+" m"},d}),window.Modernizr=function(a,b,c){function d(a){t.cssText=a}function e(a,b){return d(x.join(a+";")+(b||""))}function f(a,b){return typeof a===b}function g(a,b){return!!~(""+a).indexOf(b)}function h(a,b){for(var d in a){var e=a[d];if(!g(e,"-")&&t[e]!==c)return"pfx"==b?e:!0}return!1}function i(a,b,d){for(var e in a){var g=b[a[e]];if(g!==c)return d===!1?a[e]:f(g,"function")?g.bind(d||b):g}return!1}function j(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+z.join(d+" ")+d).split(" ");return f(b,"string")||f(b,"undefined")?h(e,b):(e=(a+" "+A.join(d+" ")+d).split(" "),i(e,b,c))}function k(){o.input=function(c){for(var d=0,e=c.length;e>d;d++)E[c[d]]=c[d]in u;return E.list&&(E.list=!!b.createElement("datalist")&&!!a.HTMLDataListElement),E}("autocomplete autofocus list placeholder max min multiple pattern required step".split(" ")),o.inputtypes=function(a){for(var d,e,f,g=0,h=a.length;h>g;g++)u.setAttribute("type",e=a[g]),d="text"!==u.type,d&&(u.value=v,u.style.cssText="position:absolute;visibility:hidden;",/^range$/.test(e)&&u.style.WebkitAppearance!==c?(q.appendChild(u),f=b.defaultView,d=f.getComputedStyle&&"textfield"!==f.getComputedStyle(u,null).WebkitAppearance&&0!==u.offsetHeight,q.removeChild(u)):/^(search|tel)$/.test(e)||(d=/^(url|email)$/.test(e)?u.checkValidity&&u.checkValidity()===!1:u.value!=v)),D[a[g]]=!!d;return D}("search tel url email datetime date month week time datetime-local number range color".split(" "))}var l,m,n="2.6.1",o={},p=!0,q=b.documentElement,r="modernizr",s=b.createElement(r),t=s.style,u=b.createElement("input"),v=":)",w={}.toString,x=" -webkit- -moz- -o- -ms- ".split(" "),y="Webkit Moz O ms",z=y.split(" "),A=y.toLowerCase().split(" "),B={svg:"http://www.w3.org/2000/svg"},C={},D={},E={},F=[],G=F.slice,H=function(a,c,d,e){var f,g,h,i=b.createElement("div"),j=b.body,k=j?j:b.createElement("body");if(parseInt(d,10))for(;d--;)h=b.createElement("div"),h.id=e?e[d]:r+(d+1),i.appendChild(h);return f=["­",'"].join(""),i.id=r,(j?i:k).innerHTML+=f,k.appendChild(i),j||(k.style.background="",q.appendChild(k)),g=c(i,a),j?i.parentNode.removeChild(i):k.parentNode.removeChild(k),!!g -},I=function(b){var c=a.matchMedia||a.msMatchMedia;if(c)return c(b).matches;var d;return H("@media "+b+" { #"+r+" { position: absolute; } }",function(b){d="absolute"==(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle).position}),d},J=function(){function a(a,e){e=e||b.createElement(d[a]||"div"),a="on"+a;var g=a in e;return g||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(a,""),g=f(e[a],"function"),f(e[a],"undefined")||(e[a]=c),e.removeAttribute(a))),e=null,g}var d={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return a}(),K={}.hasOwnProperty;m=f(K,"undefined")||f(K.call,"undefined")?function(a,b){return b in a&&f(a.constructor.prototype[b],"undefined")}:function(a,b){return K.call(a,b)},Function.prototype.bind||(Function.prototype.bind=function(a){var b=this;if("function"!=typeof b)throw new TypeError;var c=G.call(arguments,1),d=function(){if(this instanceof d){var e=function(){};e.prototype=b.prototype;var f=new e,g=b.apply(f,c.concat(G.call(arguments)));return Object(g)===g?g:f}return b.apply(a,c.concat(G.call(arguments)))};return d}),C.flexbox=function(){return j("flexWrap")},C.canvas=function(){var a=b.createElement("canvas");return!!a.getContext&&!!a.getContext("2d")},C.canvastext=function(){return!!o.canvas&&!!f(b.createElement("canvas").getContext("2d").fillText,"function")},C.webgl=function(){return!!a.WebGLRenderingContext},C.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:H(["@media (",x.join("touch-enabled),("),r,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=9===a.offsetTop}),c},C.geolocation=function(){return"geolocation"in navigator},C.postmessage=function(){return!!a.postMessage},C.websqldatabase=function(){return!!a.openDatabase},C.indexedDB=function(){return!!j("indexedDB",a)},C.hashchange=function(){return J("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},C.history=function(){return!!a.history&&!!history.pushState},C.draganddrop=function(){var a=b.createElement("div");return"draggable"in a||"ondragstart"in a&&"ondrop"in a},C.websockets=function(){return"WebSocket"in a||"MozWebSocket"in a},C.rgba=function(){return d("background-color:rgba(150,255,150,.5)"),g(t.backgroundColor,"rgba")},C.hsla=function(){return d("background-color:hsla(120,40%,100%,.5)"),g(t.backgroundColor,"rgba")||g(t.backgroundColor,"hsla")},C.multiplebgs=function(){return d("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(t.background)},C.backgroundsize=function(){return j("backgroundSize")},C.borderimage=function(){return j("borderImage")},C.borderradius=function(){return j("borderRadius")},C.boxshadow=function(){return j("boxShadow")},C.textshadow=function(){return""===b.createElement("div").style.textShadow},C.opacity=function(){return e("opacity:.55"),/^0.55$/.test(t.opacity)},C.cssanimations=function(){return j("animationName")},C.csscolumns=function(){return j("columnCount")},C.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";return d((a+"-webkit- ".split(" ").join(b+a)+x.join(c+a)).slice(0,-a.length)),g(t.backgroundImage,"gradient")},C.cssreflections=function(){return j("boxReflect")},C.csstransforms=function(){return!!j("transform")},C.csstransforms3d=function(){var a=!!j("perspective");return a&&"webkitPerspective"in q.style&&H("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b){a=9===b.offsetLeft&&3===b.offsetHeight}),a},C.csstransitions=function(){return j("transition")},C.fontface=function(){var a;return H('@font-face {font-family:"font";src:url("https://")}',function(c,d){var e=b.getElementById("smodernizr"),f=e.sheet||e.styleSheet,g=f?f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"":"";a=/src/i.test(g)&&0===g.indexOf(d.split(" ")[0])}),a},C.generatedcontent=function(){var a;return H(['#modernizr:after{content:"',v,'";visibility:hidden}'].join(""),function(b){a=b.offsetHeight>=1}),a},C.video=function(){var a=b.createElement("video"),c=!1;try{(c=!!a.canPlayType)&&(c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),c.h264=a.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,""))}catch(d){}return c},C.audio=function(){var a=b.createElement("audio"),c=!1;try{(c=!!a.canPlayType)&&(c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),c.mp3=a.canPlayType("audio/mpeg;").replace(/^no$/,""),c.wav=a.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),c.m4a=(a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")).replace(/^no$/,""))}catch(d){}return c},C.localstorage=function(){try{return localStorage.setItem(r,r),localStorage.removeItem(r),!0}catch(a){return!1}},C.sessionstorage=function(){try{return sessionStorage.setItem(r,r),sessionStorage.removeItem(r),!0}catch(a){return!1}},C.webworkers=function(){return!!a.Worker},C.applicationcache=function(){return!!a.applicationCache},C.svg=function(){return!!b.createElementNS&&!!b.createElementNS(B.svg,"svg").createSVGRect},C.inlinesvg=function(){var a=b.createElement("div");return a.innerHTML="",(a.firstChild&&a.firstChild.namespaceURI)==B.svg},C.smil=function(){return!!b.createElementNS&&/SVGAnimate/.test(w.call(b.createElementNS(B.svg,"animate")))},C.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(w.call(b.createElementNS(B.svg,"clipPath")))};for(var L in C)m(C,L)&&(l=L.toLowerCase(),o[l]=C[L](),F.push((o[l]?"":"no-")+l));return o.input||k(),o.addTest=function(a,b){if("object"==typeof a)for(var d in a)m(a,d)&&o.addTest(d,a[d]);else{if(a=a.toLowerCase(),o[a]!==c)return o;b="function"==typeof b?b():b,p&&(q.className+=" "+(b?"":"no-")+a),o[a]=b}return o},d(""),s=u=null,function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=r.elements;return"string"==typeof a?a.split(" "):a}function e(a){var b=q[a[o]];return b||(b={},p++,a[o]=p,q[p]=b),b}function f(a,c,d){if(c||(c=b),k)return c.createElement(a);d||(d=e(c));var f;return f=d.cache[a]?d.cache[a].cloneNode():n.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),f.canHaveChildren&&!m.test(a)?d.frag.appendChild(f):f}function g(a,c){if(a||(a=b),k)return a.createDocumentFragment();c=c||e(a);for(var f=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)f.createElement(h[g]);return f}function h(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return r.shivMethods?f(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/\w+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(r,b.frag)}function i(a){a||(a=b);var d=e(a);return r.shivCSS&&!j&&!d.hasCSS&&(d.hasCSS=!!c(a,"article,aside,figcaption,figure,footer,header,hgroup,nav,section{display:block}mark{background:#FF0;color:#000}")),k||h(a,d),a}var j,k,l=a.html5||{},m=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,n=/^<|^(?:a|b|button|code|div|fieldset|form|h1|h2|h3|h4|h5|h6|i|iframe|img|input|label|li|link|ol|option|p|param|q|script|select|span|strong|style|table|tbody|td|textarea|tfoot|th|thead|tr|ul)$/i,o="_html5shiv",p=0,q={};!function(){try{var a=b.createElement("a");a.innerHTML="",j="hidden"in a,k=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){j=!0,k=!0}}();var r={elements:l.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:l.shivCSS!==!1,supportsUnknownElements:k,shivMethods:l.shivMethods!==!1,type:"default",shivDocument:i,createElement:f,createDocumentFragment:g};a.html5=r,i(b)}(this,b),o._version=n,o._prefixes=x,o._domPrefixes=A,o._cssomPrefixes=z,o.mq=I,o.hasEvent=J,o.testProp=function(a){return h([a])},o.testAllProps=j,o.testStyles=H,o.prefixed=function(a,b,c){return b?j(a,b,c):j(a,"pfx")},q.className=q.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(p?" js "+F.join(" "):""),o}(this,this.document),function(a,b,c){function d(a){return"[object Function]"==q.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=r.shift();s=1,a?a.t?o(function(){("c"==a.t?m.injectCss:m.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):s=0}function i(a,c,d,e,f,i,j){function k(b){if(!n&&g(l.readyState)&&(t.r=n=1,!s&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&o(function(){v.removeChild(l)},50);for(var d in A[c])A[c].hasOwnProperty(d)&&A[c][d].onload()}}var j=j||m.errorTimeout,l={},n=0,q=0,t={t:d,s:c,e:f,a:i,x:j};1===A[c]&&(q=1,A[c]=[],l=b.createElement(a)),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,q)},r.splice(e,0,t),"img"!=a&&(q||2===A[c]?(v.insertBefore(l,u?null:p),o(k,j)):A[c].push(l))}function j(a,b,c,d,f){return s=0,b=b||"j",e(a)?i("c"==b?x:w,a,b,this.i++,c,d,f):(r.splice(this.i++,0,a),1==r.length&&h()),this}function k(){var a=m;return a.loader={load:j,i:0},a}var l,m,n=b.documentElement,o=a.setTimeout,p=b.getElementsByTagName("script")[0],q={}.toString,r=[],s=0,t="MozAppearance"in n.style,u=t&&!!b.createRange().compareNode,v=u?n:p.parentNode,n=a.opera&&"[object Opera]"==q.call(a.opera),n=!!b.attachEvent&&!n,w=t?"object":n?"script":"img",x=n?"script":w,y=Array.isArray||function(a){return"[object Array]"==q.call(a)},z=[],A={},B={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}};m=function(a){function b(a){var b,c,d,a=a.split("!"),e=z.length,f=a.pop(),g=a.length,f={url:f,origUrl:f,prefixes:a};for(c=0;g>c;c++)d=a[c].split("="),(b=B[d.shift()])&&(f=b(f,d));for(c=0;e>c;c++)f=z[c](f);return f}function g(a,e,f,g,i){var j=b(a),l=j.autoCallback;j.url.split(".").pop().split("?").shift(),j.bypass||(e&&(e=d(e)?e:e[a]||e[g]||e[a.split("/").pop().split("?")[0]]||h),j.instead?j.instead(a,e,f,g,i):(A[j.url]?j.noexec=!0:A[j.url]=1,f.load(j.url,j.forceCSS||!j.forceJS&&"css"==j.url.split(".").pop().split("?").shift()?"c":c,j.noexec,j.attrs,j.timeout),(d(e)||d(l))&&f.load(function(){k(),e&&e(j.origUrl,i,g),l&&l(j.origUrl,i,g),A[j.url]=2})))}function i(a,b){function c(a,c){if(a){if(e(a))c||(l=function(){var a=[].slice.call(arguments);m.apply(this,a),n()}),g(a,l,b,0,j);else if(Object(a)===a)for(i in h=function(){var b,c=0;for(b in a)a.hasOwnProperty(b)&&c++;return c}(),a)a.hasOwnProperty(i)&&(!c&&!--h&&(d(l)?l=function(){var a=[].slice.call(arguments);m.apply(this,a),n()}:l[i]=function(a){return function(){var b=[].slice.call(arguments);a&&a.apply(this,b),n()}}(m[i])),g(a[i],l,b,i,j))}else!c&&n()}var h,i,j=!!a.test,k=a.load||a.both,l=a.callback||f,m=l,n=a.complete||f;c(j?a.yep:a.nope,!!k),k&&c(k)}var j,l,n=this.yepnope.loader;if(e(a))g(a,0,n,0);else if(y(a))for(j=0;jhere to load your old dashboard anyway.')):l.path(e.default_route);else{var a=h.kbnType,b=h.kbnId;switch(a){case"elasticsearch":u.elasticsearch_load("dashboard",b);break;case"temp":u.elasticsearch_load("temp",b);break;case"file":u.file_load(b);break;case"script":u.script_load(b);break;case"local":u.local_load();break;default:l.path(e.default_route)}}};this.refresh=function(){j.$broadcast("refresh")};var w=function(a){d.defaults(a,r),d.defaults(a.loader,r.loader);var b=d.findWhere(a.pulldowns,{type:"filtering"});b||a.pulldowns.push({type:"filtering",enable:!1});var c=d.findWhere(a.pulldowns,{type:"annotations"});return c||a.pulldowns.push({type:"annotations",enable:!1}),d.each(a.rows,function(a){d.each(a.panels,function(a){"graphite"===a.type&&(a.type="graph")})}),a};this.dash_load=function(b){return o.cancel_all(),j.fullscreen=!1,b=w(b),window.document.title="Metrics - "+b.title,u.current=a.copy(b),b.refresh&&u.set_interval(b.refresh),u.availablePanels=e.panels,j.$emit("dashboard-loaded",u.current),!0},this.gist_id=function(a){return u.is_gist(a)?a.match(t)[0].replace(/.*\//,""):void 0},this.is_gist=function(a){return d.isUndefined(a)||""===a||d.isNull(a.match(t))?!1:a.match(t).length>0?!0:!1},this.to_file=function(){var b=new Blob([a.toJson(u.current,!0)],{type:"application/json;charset=utf-8"});return window.saveAs(b,u.current.title+"-"+(new Date).getTime()),!0},this.set_default=function(a){return g.localstorage?(d.isUndefined(window.localStorage.dashboard)||delete window.localStorage.dashboard,window.localStorage.grafanaDashboardDefault=a,!0):!1},this.purge_default=function(){return g.localstorage?(d.isUndefined(window.localStorage.dashboard)||delete window.localStorage.dashboard,delete window.localStorage.grafanaDashboardDefault,!0):!1},this.share_link=function(a,b,c){return{location:window.location.href.replace(window.location.hash,""),type:b,id:c,link:window.location.href.replace(window.location.hash,"")+"#dashboard/"+b+"/"+c,title:a}};var x=function(b,c){var e;d.templateSettings={interpolate:/\{\{(.+?)\}\}/g};var f=d.template(b),g=f({ARGS:c});try{e=a.fromJson(g)}catch(h){e=!1}return e};this.local_load=function(){var a=JSON.parse(window.localStorage.dashboard);a.rows.unshift({height:"30",title:"Deprecation Notice",panels:[{title:"WARNING: Legacy dashboard",type:"text",span:12,mode:"html",content:'This dashboard has been loaded from the browsers local cache. If you use another brower or computer you will not be able to access it! \n\n

    Good news!

    Kibana now stores saved dashboards in Elasticsearch. Click the button in the top left to save this dashboard. Then select "Set as Home" from the "advanced" sub menu to automatically use the stored dashboard as your Kibana landing page afterwards

    Tip: You may with to remove this row before saving!'}]}),u.dash_load(a)},this.file_load=function(a){return i({url:"app/dashboards/"+a.replace(/\.(?!json)/,"/")+"?"+(new Date).getTime(),method:"GET",transformResponse:function(a){return x(a,h)}}).then(function(a){return a?(u.dash_load(w(a.data)),!0):!1},function(){return p.set("Error","Could not load dashboards/"+a+". Please make sure it exists","error"),!1})},this.elasticsearch_load=function(b,c){var d={url:e.elasticsearch+"/"+e.grafana_index+"/"+b+"/"+c+"?"+(new Date).getTime(),method:"GET",transformResponse:function(b){return x(a.fromJson(b)._source.dashboard,h)}};return e.elasticsearchBasicAuth&&(d.withCredentials=!0,d.headers={Authorization:"Basic "+e.elasticsearchBasicAuth}),i(d).error(function(a,b){return 0===b?p.set("Error","Could not contact Elasticsearch at "+e.elasticsearch+". Please ensure that Elasticsearch is reachable from your system.","error"):p.set("Error","Could not find "+c+". If you are using a proxy, ensure it is configured correctly","error"),!1}).success(function(a){u.dash_load(a)})},this.script_load=function(a){return i({url:"app/dashboards/"+a.replace(/\.(?!js)/,"/"),method:"GET"}).then(function(a){var e=new Function("ARGS","kbn","_","moment","window","document","$","jQuery",a.data),g=e(h,c,d,f,window,document,b,b);if(d.isFunction(g)){var i=q.defer();return g(function(a){j.$apply(function(){i.resolve({data:a})})}),i.promise}return{data:g}}).then(function(a){return a?(u.dash_load(w(a.data)),!0):!1},function(){return p.set("Error","Could not load scripts/"+a+". Please make sure it exists and returns a valid dashboard","error"),!1})},this.elasticsearch_save=function(b,c,f){var g,h=d.clone(u.current);"dashboard"===b&&(g=h.title=d.isUndefined(c)?u.current.title:c);var i=s.Document(e.grafana_index,b,g).source({user:"guest",group:"guest",title:h.title,tags:h.tags,dashboard:a.toJson(h)});return i="temp"===b&&f?i.ttl(f):i,i.doIndex(function(a){return"dashboard"===b&&l.path("/dashboard/elasticsearch/"+c),a},function(){return!1})},this.elasticsearch_delete=function(a){return s.Document(e.grafana_index,"dashboard",a).doDelete(function(a){return a},function(){return!1})},this.save_gist=function(b,c){var e=d.clone(c||u.current);return e.title=b||u.current.title,i({url:"https://api.github.com/gists",method:"POST",data:{description:e.title,"public":!1,files:{"kibana-dashboard.json":{content:a.toJson(e,!0)}}}}).then(function(a){return a.data.html_url},function(){return!1})},this.gist_list=function(a){return i.jsonp("https://api.github.com/gists/"+a+"?callback=JSON_CALLBACK").then(function(a){var b=[];return d.each(a.data.data.files,function(a){try{var c=JSON.parse(a.content);b.push(c)}catch(d){return!1}}),b},function(){return!1})},this.start_scheduled_refresh=function(a){this.cancel_scheduled_refresh(),u.refresh_timer=o.register(m(function(){u.start_scheduled_refresh(a),u.refresh()},a))},this.cancel_scheduled_refresh=function(){o.cancel(u.refresh_timer)},this.set_interval=function(a){if(u.current.refresh=a,a){var b=c.interval_to_ms(a);this.start_scheduled_refresh(b)}else this.cancel_scheduled_refresh()}}])}),define("services/graphite/graphiteDatasource",["angular","underscore","jquery","config","kbn","moment"],function(a,b,c,d,e,f){var g=a.module("kibana.services");g.factory("GraphiteDatasource",["dashboard","$q","$http",function(a,d,g){function h(a){this.type="graphite",this.basicAuth=a.basicAuth,this.url=a.url,this.editorSrc="app/partials/graphite/editor.html",this.name=a.name,this.render_method=a.render_method||"POST"}return h.prototype.query=function(a,b){try{var c={from:this.translateTime(b.range.from,"round-down"),until:this.translateTime(b.range.to,"round-up"),targets:b.targets,format:b.format,maxDataPoints:b.maxDataPoints},e=this.buildGraphiteParams(a,c);if("png"===b.format)return d.when(this.url+"/render?"+e.join("&"));var f={method:this.render_method,url:"/render"};return"GET"===f.method?f.url=f.url+"?"+e.join("&"):(f.data=e.join("&"),f.headers={"Content-Type":"application/x-www-form-urlencoded"}),this.doGraphiteRequest(f)}catch(g){return d.reject(g)}},h.prototype.events=function(a){try{var b="";return a.tags&&(b="&tags="+a.tags),this.doGraphiteRequest({method:"GET",url:"/events/get_data?from="+this.translateTime(a.range.from)+"&until="+this.translateTime(a.range.to)+b})}catch(c){return d.reject(c)}},h.prototype.translateTime=function(a,c){if(b.isString(a)){if("now"===a)return"now";if(a.indexOf("now")>=0)return a=a.substring(3),a=a.replace("m","min"),a=a.replace("M","mon");a=e.parseDate(a)}return a=f.utc(a),"round-up"===c?a.get("s")&&a.add("m",1):"round-down"===c&&a.get("s")&&a.subtract("m",1),a.unix()},h.prototype.metricFindQuery=function(a,c){var e;try{e=encodeURIComponent(a.applyTemplateToTarget(c))}catch(f){return d.reject(f)}return this.doGraphiteRequest({method:"GET",url:"/metrics/find/?query="+e}).then(function(a){return b.map(a.data,function(a){return{text:a.text,expandable:a.expandable?!0:!1}})})},h.prototype.listDashboards=function(a){return this.doGraphiteRequest({method:"GET",url:"/dashboard/find/",params:{query:a||""}}).then(function(a){return a.data.dashboards})},h.prototype.loadDashboard=function(a){return this.doGraphiteRequest({method:"GET",url:"/dashboard/load/"+encodeURIComponent(a)})},h.prototype.doGraphiteRequest=function(a){return this.basicAuth&&(a.withCredentials=!0,a.headers=a.headers||{},a.headers.Authorization="Basic "+this.basicAuth),a.url=this.url+a.url,g(a)},h.prototype.buildGraphiteParams=function(a,d){var e=[],f=["target","targets","from","until","rawData","format","maxDataPoints"];return"png"!==d.format&&(d.format="json"),b.each(d,function(d,g){-1!==c.inArray(g,f)&&("targets"===g?b.each(d,function(b){if(b.target&&!b.hide){var c=a.applyTemplateToTarget(b.target);e.push("target="+encodeURIComponent(c))}},this):null!==d&&e.push(g+"="+encodeURIComponent(d)))},this),e},h}])}),define("services/influxdb/influxdbDatasource",["angular","underscore","kbn"],function(a,b,c){var d=a.module("kibana.services");d.factory("InfluxDatasource",["$q","$http",function(a,d){function e(a){this.type="influxDB",this.editorSrc="app/partials/influxdb/editor.html",this.urls=a.urls,this.username=a.username,this.password=a.password,this.name=a.name,this.templateSettings={interpolate:/\[\[([\s\S]+?)\]\]/g}}function f(a,b,c){return b().then(void 0,function(d){0!==d.status||d.status>=300?a.reject(d):setTimeout(function(){return f(a,b,Math.min(2*c,3e4))},c)})}function g(a,c,d){var e=[];return b.each(d,function(d){var f,g=d.columns.indexOf("time"),h=1,i=-1;c&&(i=d.columns.indexOf(c)),b.each(d.columns,function(a,b){"time"!==a&&"sequence_number"!==a&&a!==c&&(h=b)});var j={};c?j=b.groupBy(d.points,function(a){return a[i]}):j[d.columns[h]]=d.points,b.each(j,function(b,i){for(var j=[],k=0;k now() - "+b:"time > "+b+" and time < "+c}function i(a){if(b.isString(a)){if("now"===a)return"now()";if(a.indexOf("now")>=0)return a.substring(4);a=c.parseDate(a)}return j(a)}function j(a){return(a.getTime()/1e3).toFixed(0)+"s"}return e.prototype.query=function(c,d){var e=b.map(d.targets,function(a){var e,f="";if(a.hide||!(a.series&&a.column||a.query))return[];var i,j=h(d);if(a.rawQuery){e=a.query,e=e.replace(";","");var k=e.split(" "),l=e.toLowerCase().split(" "),m=l.indexOf("where"),n=l.indexOf("group"),o=l.indexOf("order");-1!==l[1].indexOf(",")&&(i=l[1].replace(",","")),-1!==m?k.splice(m+1,0,j,"and"):-1!==n?k.splice(n,0,"where",j):-1!==o?k.splice(o,0,"where",j):(k.push("where"),k.push(j)),e=k.join(" "),e=c.applyTemplateToTarget(e)}else{var p="select [[group]][[group_comma]] [[func]]([[column]]) from [[series]] where [[timeFilter]] [[condition_add]] [[condition_key]] [[condition_op]] [[condition_value]] group by time([[interval]])[[group_comma]] [[group]] order asc",q={series:a.series,column:a.column,func:a.function,timeFilter:j,interval:a.interval||d.interval,condition_add:a.condition_filter?"and":"",condition_key:a.condition_filter?a.condition_key:"",condition_op:a.condition_filter?a.condition_op:"",condition_value:a.condition_filter?a.condition_value:"",group_comma:a.groupby_field_add&&a.groupby_field?",":"",group:a.groupby_field_add?a.groupby_field:""};q.series.match("^/.*/")||(q.series='"'+q.series+'"'),e=b.template(p,q,this.templateSettings),e=c.applyTemplateToTarget(e),a.alias&&(f=c.applyTemplateToTarget(a.alias)),a.groupby_field_add&&(i=a.groupby_field),a.query=e}var r=b.partial(g,f,i);return this.doInfluxRequest(e,f).then(r)},this);return a.all(e).then(function(a){return{data:b.flatten(a)}})},e.prototype.listColumns=function(a){return this.doInfluxRequest("select * from /"+a+"/ limit 1").then(function(a){return a?a[0].columns:[]})},e.prototype.listSeries=function(){return this.doInfluxRequest("list series").then(function(a){return b.map(a,function(a){return a.name})})},e.prototype.metricFindQuery=function(c,d){var e;try{e=c.applyTemplateToTarget(d)}catch(f){return a.reject(f)}return this.doInfluxRequest(d).then(function(a){return b.map(a[0].points,function(a){return{text:a[1],expandable:!1}})})},e.prototype.doInfluxRequest=function(b){var c=this,e=a.defer();return f(e,function(){var a=c.urls.shift();c.urls.push(a);var f={u:c.username,p:c.password,time_precision:"s",q:b},g={method:"GET",url:a+"/series",params:f};return d(g).success(function(a){e.resolve(a)})},10),e.promise},e}])}),define("services/opentsdb/opentsdbDatasource",["angular","underscore","kbn"],function(a,b,c){var d=a.module("kibana.services");d.factory("OpenTSDBDatasource",["$q","$http",function(d,e){function f(a){this.type="opentsdb",this.editorSrc="app/partials/opentsdb/editor.html",this.url=a.url,this.name=a.name}function g(a,c){var d=[];b.each(a.dps,function(a,b){d.push([a,b])});var e=a.metric;if(!b.isEmpty(a.tags)){var f=[];b.each(b.pairs(a.tags),function(a){b.has(c,a[0])&&f.push(a[0]+"="+a[1])}),b.isEmpty(f)||(e=e+"{"+f.join(", ")+"}")}return{target:e,datapoints:d}}function h(b){if(!b.metric)return null;var c={metric:b.metric,aggregator:"avg"};return b.aggregator&&(c.aggregator=b.aggregator),b.shouldComputeRate&&(c.rate=!0,c.rateOptions={counter:!!b.isCounter}),b.shouldDownsample&&(c.downsample=b.downsampleInterval+"-"+b.downsampleAggregator),c.tags=a.copy(b.tags),c}function i(a){return"now"===a?null:(a=c.parseDate(a),a.getTime())}return f.prototype.query=function(a,c){var e=i(c.range.from),f=i(c.range.to),j=b.compact(b.map(c.targets,h));if(b.isEmpty(j)){var k=d.defer();return k.resolve({data:[]}),k.promise}var l={};return b.each(j,function(a){b.each(a.tags,function(a,b){l[b]=!0})}),this.performTimeSeriesQuery(j,e,f).then(function(a){var c=b.map(a.data,function(a){return g(a,l)});return{data:c}})},f.prototype.performTimeSeriesQuery=function(a,b,c){var d={start:b,queries:a};c&&(d.end=c);var f={method:"POST",url:this.url+"/api/query",data:d};return e(f)},f.prototype.performSuggestQuery=function(a,b){var c={method:"GET",url:this.url+"/api/suggest",params:{type:b,q:a}};return e(c).then(function(a){return a.data})},f}])}),define("services/kairosdb/kairosdbDatasource",["angular","underscore","kbn"],function(a,b,c){var d=a.module("kibana.services"),e=null;d.factory("KairosDBDatasource",["$q","$http",function(d,f){function g(a){this.type="kairosdb",this.editorSrc="app/partials/kairosdb/editor.html",this.url=a.url,this.name=a.name}function h(a,c,d){return a.data?"key"===c?b.keys(a.data.queries[0].results[0].tags):"value"===c&&b.has(a.data.queries[0].results[0].tags,d)?a.data.queries[0].results[0].tags[d]:[]:[]}function i(a){if(a.data.errors&&!b.isEmpty(a.data.errors)){var c={message:a.data.errors[0]};return d.reject(c)}return d.reject(a)}function j(a){var c=[];b.each(a.data.queries,function(a){var d=a.sample_size;console.log("sample_size:"+d+" samples"),b.each(a.results,function(a){var d=a.name;a.group_by&&(d+=" ( ",b.each(a.group_by,function(a){"tag"===a.name?b.each(a.group,function(a,b){d+=b+"="+a+" "}):"value"===a.name?d+="value_group="+a.group.group_number+" ":"time"===a.name&&(d+="time_group="+a.group.group_number+" ")}),d+=") ");for(var e=[],f=0;f=0){f=e+"_relative",a=a.substring(4);var g=/(\d+)\s*(\D+)/,h=g.exec(a);if(h){var i=h[1],j=h[2];switch(j){case"ms":j="milliseconds";break;case"s":j="seconds";break;case"m":j="minutes";break;case"h":j="hours";break;case"d":j="days";break;case"w":j="weeks";break;case"M":j="months";break;case"y":j="years";break;default:console.log("Unknown date ",a)}return void(d[f]={value:i,unit:j})}return void console.log("Unparseable date",a)}a=c.parseDate(a)}return b.isDate(a)?(f=e+"_absolute",void(d[f]=a.getTime())):void console.log("Date is neither string nor date")}return g.prototype.query=function(a,c){var e=c.range.from,f=c.range.to,g=b.compact(b.map(c.targets,b.partial(k,c)));if(b.isEmpty(g)){var h=d.defer();return h.resolve({data:[]}),h.promise}return this.performTimeSeriesQuery(g,e,f).then(j,i)},g.prototype.performTimeSeriesQuery=function(a,b,c){var d={metrics:a};d.cache_time=0,l(b,d,"start"),l(c,d,"end");var e={method:"POST",url:"/clusters/1/datapoints",data:d};return e.url=this.url+e.url,f(e)},g.prototype.performMetricSuggestQuery=function(){var a={url:this.url+"/metricnames",method:"GET"};return f(a).then(function(a){return a.data?a.data.results:[]})},g.prototype.performTagSuggestQuery=function(a,b,c,d){if(e&&a===e.metricName&&b.from===e.range.from&&b.to===e.range.to)return h(e.results,c,d);e={metricName:a,range:b};var g={metrics:[{name:a}]};l(b.from,g,"start"),l(b.to,g,"end");var i={url:this.url+"/clusters/1/datapointtags",method:"POST",data:g};return f(i).then(function(a){return e.results=a,h(a,c,d)})},g.prototype.convertToKairosInterval=function(a){var b=/(\d+(?:\.\d+)?)([Mwdhmsy])/,d=/(\d+(?:\.\d+)?)(ms)/,e=a.match(d);if(e||(e=a.match(b)),!e)throw new Error('Invalid interval string, expecting a number followed by one of "y M w d h m s ms"');var f=e[1],g=e[2];if(f%1!==0){if("ms"===g)throw new Error("Invalid interval value, cannot be smaller than the millisecond");f=Math.round(c.intervals_in_seconds[g]*f*1e3),g="ms"}switch(g){case"ms":g="milliseconds";break;case"s":g="seconds";break;case"m":g="minutes";break;case"h":g="hours";break;case"d":g="days";break;case"w":g="weeks";break;case"M":g="months";break;case"y":g="years";break;default:console.log("Unknown interval ",a)}return{value:f,unit:g}},g}])}),define("services/datasourceSrv",["angular","underscore","config","./graphite/graphiteDatasource","./influxdb/influxdbDatasource","./opentsdb/opentsdbDatasource","./kairosdb/kairosdbDatasource"],function(a,b,c){var d=a.module("kibana.services");d.service("datasourceSrv",["$q","filterSrv","$http","GraphiteDatasource","InfluxDatasource","OpenTSDBDatasource","KairosDBDatasource",function(a,d,e,f,g,h,i){this.init=function(){var a=b.findWhere(b.values(c.datasources),{"default":!0});a||(a=c.datasources[b.keys(c.datasources)[0]]),this.default=this.datasourceFactory(a)},this.datasourceFactory=function(a){switch(a.type){case"graphite":return new f(a);case"influxdb":return new g(a);case"opentsdb":return new h(a);case"kairosdb":return new i(a)}},this.get=function(a){if(!a)return this.default;var b=c.datasources[a];return b?this.datasourceFactory(b):null},this.listOptions=function(){return b.map(c.datasources,function(a,b){return{name:a.default?b+" (default)":b,value:a.default?null:b}})},this.init()}])}),define("services/filterSrv",["angular","underscore","config","kbn"],function(a,b,c,d){var e=a.module("kibana.services");e.factory("filterSrv",["dashboard","$rootScope","$timeout","$routeParams",function(a,c,e,f){var g={templateParameters:[],time:{}},h={updateTemplateData:function(a){var c={};b.each(this.templateParameters,function(b){if(a){var d=f[b.name];d&&(b.current={text:d,value:d})}b.current&&b.current.value&&(c[b.name]=b.current.value)}),this._templateData=c},addTemplateParameter:function(a){this.templateParameters.push(a),this.updateTemplateData()},applyTemplateToTarget:function(a){return-1===a.indexOf("[[")?a:b.template(a,this._templateData,this.templateSettings)},setTime:function(c){b.extend(this.time,c),"now"!==c.to?(this.old_refresh=this.dashboard.refresh,a.set_interval(!1)):this.old_refresh&&this.old_refresh!==this.dashboard.refresh&&(a.set_interval(this.old_refresh),this.old_refresh=null),e(function(){a.refresh()},0)},timeRange:function(a){var c=this.time;if(b.isUndefined(c)||b.isUndefined(c.from))return!1;if(a===!1)return{from:c.from,to:c.to};var e=c.from,f=c.to||new Date;return{from:d.parseDate(e),to:d.parseDate(f)}},removeTemplateParameter:function(a){this.templateParameters=b.without(this.templateParameters,a),this.dashboard.services.filter.list=this.templateParameters},init:function(a){b.defaults(this,g),this.dashboard=a,this.templateSettings={interpolate:/\[\[([\s\S]+?)\]\]/g},a.services&&a.services.filter&&(this.time=a.services.filter.time,this.templateParameters=a.services.filter.list||[],this.updateTemplateData(!0))}};return h}])}),define("services/timer",["angular","underscore"],function(a,b){var c=a.module("kibana.services");c.service("timer",["$timeout",function(a){var c=[];this.register=function(a){return c.push(a),a},this.cancel=function(d){c=b.without(c,d),a.cancel(d)},this.cancel_all=function(){b.each(c,function(b){a.cancel(b)}),c=[]}}])}),define("services/panelMove",["angular","underscore"],function(a,b){var c=a.module("kibana.services");c.service("panelMove",["dashboard","$rootScope",function(a,c){this.onStart=function(){a.panelDragging=!0,c.$apply()},this.onOver=function(){c.$apply()},this.onOut=function(){c.$apply()},this.onDrop=function(e,f,g){var h=g.draggableScope.$parent.$parent.row.panels,i=g.droppableScope.$parent.$parent.row.panels,j=g.dragSettings.index,k=g.dropSettings.index;h.splice(j,1),b.isUndefined(i)||i.splice(k,0,g.dragItem),a.panelDragging=!1,d(),c.$apply(),c.$broadcast("render")},this.onStop=function(){a.panelDragging=!1,d(),c.$apply()};var d=function(){b.each(a.current.rows,function(a){a.panels=b.without(a.panels,{}),a.panels=b.compact(a.panels)})}}])}),define("services/keyboardManager",["angular"],function(a){var b=a.module("kibana.services");b.factory("keyboardManager",["$window","$timeout",function(b,c){var d={},e={type:"keydown",propagate:!1,inputDisabled:!1,target:b.document,keyCode:!1};return d.keyboardEvent={},d.bind=function(f,g,h){var i,j,k,l;h=a.extend({},e,h),f=f.toLowerCase(),j=h.target,"string"==typeof h.target&&(j=document.getElementById(h.target)),i=function(a){if(a=a||b.event,h.inputDisabled){var d;if(a.target?d=a.target:a.srcElement&&(d=a.srcElement),3===d.nodeType&&(d=d.parentNode),"INPUT"===d.tagName||"TEXTAREA"===d.tagName)return}a.keyCode?k=a.keyCode:a.which&&(k=a.which);var e=String.fromCharCode(k).toLowerCase();188===k&&(e=","),190===k&&(e=".");for(var i=f.split("+"),j=0,m={"`":"~",1:"!",2:"@",3:"#",4:"$",5:"%",6:"^",7:"&",8:"*",9:"(",0:")","-":"_","=":"+",";":":","'":'"',",":"<",".":">","/":"?","\\":"|"},n={esc:27,escape:27,tab:9,space:32,"return":13,enter:13,backspace:8,scrolllock:145,scroll_lock:145,scroll:145,capslock:20,caps_lock:20,caps:20,numlock:144,num_lock:144,num:144,pause:19,"break":19,insert:45,home:36,"delete":46,end:35,pageup:33,page_up:33,pu:33,pagedown:34,page_down:34,pd:34,left:37,up:38,right:39,down:40,f1:112,f2:113,f3:114,f4:115,f5:116,f6:117,f7:118,f8:119,f9:120,f10:121,f11:122,f12:123},o={shift:{wanted:!1,pressed:a.shiftKey?!0:!1},ctrl:{wanted:!1,pressed:a.ctrlKey?!0:!1},alt:{wanted:!1,pressed:a.altKey?!0:!1},meta:{wanted:!1,pressed:a.metaKey?!0:!1}},p=0,q=i.length;l=i[p],q>p;p++){switch(l){case"ctrl":case"control":j++,o.ctrl.wanted=!0;break;case"shift":case"alt":case"meta":j++,o[l].wanted=!0}l.length>1?n[l]===k&&j++:h.keyCode?h.keyCode===k&&j++:e===l?j++:m[e]&&a.shiftKey&&(e=m[e],e===l&&j++)}return j!==i.length||o.ctrl.pressed!==o.ctrl.wanted||o.shift.pressed!==o.shift.wanted||o.alt.pressed!==o.alt.wanted||o.meta.pressed!==o.meta.wanted||(c(function(){g(a)},1),h.propagate)?void 0:(a.cancelBubble=!0,a.returnValue=!1,a.stopPropagation&&(a.stopPropagation(),a.preventDefault()),!1)},d.keyboardEvent[f]={callback:i,target:j,event:h.type},j.addEventListener?j.addEventListener(h.type,i,!1):j.attachEvent?j.attachEvent("on"+h.type,i):j["on"+h.type]=i},d.unbind=function(a){a=a.toLowerCase();var b=d.keyboardEvent[a];if(delete d.keyboardEvent[a],b){var c=b.event,e=b.target,f=b.callback;e.detachEvent?e.detachEvent("on"+c,f):e.removeEventListener?e.removeEventListener(c,f,!1):e["on"+c]=!1}},d}])}),define("services/annotationsSrv",["angular","underscore","moment"],function(a,b,c){var d=a.module("kibana.services");d.service("annotationsSrv",["dashboard","datasourceSrv","$q","alertSrv","$rootScope",function(a,d,e,f,g){function h(a){console.log("Annotation error: ",a),f.set("Annotations","Could not fetch annotations","error")}function i(a,b){for(var c=0;c
    ";a.tags&&(b+=(a.tags||"")+"
    "),b+=""+c(a.time).format("YYYY-MM-DD HH:mm:ss")+"
    ",a.data&&(b+=a.data.replace(/\n/g,"
    ")),b+="",m.push({annotation:a.annotation,min:a.time,max:a.time,eventType:a.annotation.name,title:null,description:b,score:1})}var k,l,m=[];this.init=function(){g.$on("refresh",this.clearCache),g.$on("dashboard-loaded",this.dashboardLoaded),this.dashboardLoaded()},this.dashboardLoaded=function(){l=b.findWhere(a.current.pulldowns,{type:"annotations"})},this.clearCache=function(){k=null,m=[]},this.getAnnotations=function(a,b){if(!l.enable)return e.when(null);if(k)return k;var c=this.getGraphiteMetrics(a,b),d=this.getGraphiteEvents(b);return k=e.all(c.concat(d)).then(function(){return m})},this.getGraphiteEvents=function(a){var c=this.getAnnotationsByType("graphite events");if(0===c.length)return[];var e=b.map(c,function(c){return d.default.events({range:a,tags:c.tags}).then(function(a){b.each(a.data,function(a){j({annotation:c,time:1e3*a.when,description:a.what,tags:a.tags,data:a.data})})}).then(null,h)});return e},this.getAnnotationsByType=function(a){return b.where(l.annotations,{type:a,enable:!0})},this.getGraphiteMetrics=function(a,c){var e=this.getAnnotationsByType("graphite metric");if(0===e.length)return[];var f=b.map(e,function(e){var f={range:c,targets:[{target:e.target}],format:"json",maxDataPoints:100},g=b.partial(i,e);return d.default.query(a,f).then(g).then(null,h)});return f},this.init()}])}),define("services/playlistSrv",["angular","underscore","kbn"],function(a,b,c){var d=a.module("kibana.services");d.service("playlistSrv",["dashboard","$location","$rootScope",function(d,e,f){var g,h={dashboards:[]};this.init=function(){var b=window.localStorage["grafana-favorites"];b&&(h=a.fromJson(b))},this._save=function(){window.localStorage["grafana-favorites"]=a.toJson(h)},this._find=function(a){return b.findWhere(h.dashboards,{title:a})},this._remove=function(a){a&&(h.dashboards=b.without(h.dashboards,a))},this.isCurrentFavorite=function(){return this._find(d.current.title)?!0:!1},this.markAsFavorite=function(){var a=this._find(d.current.title);this._remove(a),h.dashboards.push({url:e.path(),title:d.current.title}),this._save()},this.removeAsFavorite=function(a){var b=this._find(a.title);this._remove(b),this._save()},this.getFavorites=function(){return h},this.start=function(b,d){var h=c.interval_to_ms(d),i=0;f.playlist_active=!0,g=setInterval(function(){f.$apply(function(){a.element(window).unbind("resize"),e.path(b[i%b.length].url),i++})},h)},this.stop=function(){clearInterval(g),f.playlist_active=!1},this.init()}])}),define("services/unsavedChangesSrv",["angular","underscore","config"],function(a,b,c){if(c.unsaved_changes_warning){var d=a.module("kibana.services");d.service("unsavedChangesSrv",["$rootScope","$modal","dashboard","$q","$location","$timeout",function(c,d,e,f,g,h){var i=this,j=c.$new();c.$on("dashboard-loaded",function(b,c){i.original=a.copy(c)}),c.$on("dashboard-saved",function(b,c){i.original=a.copy(c)}),c.$on("$routeChangeSuccess",function(){i.original=null}),window.onbeforeunload=function(){return i.has_unsaved_changes()?"There are unsaved changes to this dashboard":void 0},this.init=function(){c.$on("$locationChangeStart",function(a,b){i.has_unsaved_changes()&&(a.preventDefault(),i.next=b,i.open_modal())})},this.open_modal=function(){var a=d({template:"./app/partials/unsaved-changes.html",persist:!0,show:!1,scope:j,keyboard:!1});f.when(a).then(function(a){a.modal("show")})},this.has_unsaved_changes=function(){if(!i.original)return!1;var c=a.copy(e.current),d=i.original;c.services.filter.time=d.services.filter.time={},c.refresh=d.refresh;var f=b.findWhere(c.nav,{type:"timepicker"}),g=b.findWhere(d.nav,{type:"timepicker"});f&&g&&(f.now=g.now);var h=a.toJson(c),j=a.toJson(d);return h!==j?!0:!1},this.goto_next=function(){var a=g.absUrl().length-g.url().length,b=i.next.substring(a);g.url(b)},j.ignore=function(){i.original=null,i.goto_next()},j.save=function(){var a=c.$on("dashboard-saved",function(){i.goto_next()});h(a,2e3),c.$emit("save-dashboard")}}]).run(["unsavedChangesSrv",function(a){a.init()}])}}),define("services/all",["./alertSrv","./dashboard","./datasourceSrv","./filterSrv","./timer","./panelMove","./keyboardManager","./annotationsSrv","./playlistSrv","./unsavedChangesSrv"],function(){}),define("services/dashboard/dashboardKeyBindings",["angular","jquery","services/all"],function(a,b){var c=a.module("kibana.services.dashboard");c.service("dashboardKeybindings",["$rootScope","keyboardManager","dashboard",function(a,c,d){this.shortcuts=function(){a.$on("panel-fullscreen-enter",function(){a.fullscreen=!0}),a.$on("panel-fullscreen-exit",function(){a.fullscreen=!1}),a.$on("dashboard-saved",function(){a.fullscreen&&a.$emit("panel-fullscreen-exit")}),c.bind("ctrl+f",function(b){a.$emit("open-search",b)},{inputDisabled:!0}),c.bind("ctrl+h",function(){var a=d.current.hideControls;d.current.hideControls=!a,d.current.panel_hints=a},{inputDisabled:!0}),c.bind("ctrl+s",function(b){a.$emit("save-dashboard",b)},{inputDisabled:!0}),c.bind("ctrl+r",function(){d.refresh()},{inputDisabled:!0}),c.bind("ctrl+z",function(b){a.$emit("zoom-out",b)},{inputDisabled:!0}),c.bind("esc",function(){var c=b(".popover.in");c.length>0||a.$emit("panel-fullscreen-exit")},{inputDisabled:!0})}}])}),define("services/dashboard/all",["./dashboardKeyBindings"],function(){}),define("controllers/dash",["angular","jquery","config","underscore","services/all","services/dashboard/all"],function(a,b,c,d){var e=a.module("kibana.controllers");e.controller("DashCtrl",["$scope","$rootScope","$timeout","ejsResource","dashboard","filterSrv","dashboardKeybindings","alertSrv","panelMove","keyboardManager","grafanaVersion",function(a,b,e,f,g,h,i,j,k,l,m){a.requiredElasticSearchVersion=">=0.90.3",a.editor={index:0},a.grafanaVersion="@"===m[0]?"master":m,a.panelMoveDrop=k.onDrop,a.panelMoveStart=k.onStart,a.panelMoveStop=k.onStop,a.panelMoveOver=k.onOver,a.panelMoveOut=k.onOut,a.init=function(){a.config=c,a._=d,a.dashboard=g,a.dashAlerts=j,a.filter=h,a.filter.init(g.current),b.$on("dashboard-loaded",function(b,c){a.filter.init(c)}),j.clearAll(),a.reset_row(),a.ejs=f(c.elasticsearch,c.elasticsearchBasicAuth),a.bindKeyboardShortcuts()},a.bindKeyboardShortcuts=i.shortcuts,a.isPanel=function(a){return d.isNull(a)||d.isUndefined(a)||d.isUndefined(a.type)?!1:!0},a.add_row=function(a,b){a.rows.push(b)},a.add_row_default=function(){a.reset_row(),a.row.title="New row",a.add_row(g.current,a.row)},a.reset_row=function(){a.row={title:"",height:"250px",editable:!0}},a.row_style=function(a){return{"min-height":a.collapse?"5px":a.height}},a.panel_path=function(a){return a?"app/panels/"+a.replace(".","/"):!1},a.edit_path=function(b){var c=a.panel_path(b);return c?c+"/editor.html":!1},a.setEditorTabs=function(b){return a.editorTabs=["General","Panel"],d.isUndefined(b.editorTabs)||(a.editorTabs=d.union(a.editorTabs,d.pluck(b.editorTabs,"title"))),a.editorTabs},a.parse_error=function(a){var b=a.match("nested: (.*?);");return d.isNull(b)?a:b[1]},a.colors=["#7EB26D","#EAB839","#6ED0E0","#EF843C","#E24D42","#1F78C1","#BA43A9","#705DA0","#508642","#CCA300","#447EBC","#C15C17","#890F02","#0A437C","#6D1F62","#584477","#B7DBAB","#F4D598","#70DBED","#F9BA8F","#F29191","#82B5D8","#E5A8E2","#AEA2E0","#629E51","#E5AC0E","#64B0C8","#E0752D","#BF1B00","#0A50A1","#962D82","#614D93","#9AC48A","#F2C96D","#65C5DB","#F9934E","#EA6460","#5195CE","#D683CE","#806EB7","#3F6833","#967302","#2F575E","#99440A","#58140C","#052B51","#511749","#3F2B5B","#E0F9D7","#FCEACA","#CFFAFF","#F9E2D2","#FCE2DE","#BADFF4","#F9D9F9","#DEDAF7"],a.init()}])}),define("controllers/dashLoader",["angular","underscore","moment"],function(a,b,c){var d=a.module("kibana.controllers");d.controller("dashLoader",["$scope","$rootScope","$http","dashboard","alertSrv","$location","playlistSrv",function(a,d,e,f,g,h,i){a.loader=f.current.loader,a.init=function(){a.gist_pattern=/(^\d{5,}$)|(^[a-z0-9]{10,}$)|(gist.github.com(\/*.*)\/[a-z0-9]{5,}\/*$)/,a.gist=a.gist||{},a.elasticsearch=a.elasticsearch||{},d.$on("save-dashboard",function(){a.elasticsearch_save("dashboard",!1)}),d.$on("zoom-out",function(){a.zoom(2)})},a.exitFullscreen=function(){d.$emit("panel-fullscreen-exit")},a.showDropdown=function(a){if(b.isUndefined(f.current.loader))return!0;var c=f.current.loader;return"load"===a?c.load_elasticsearch||c.load_gist||c.load_local:"save"===a?c.save_elasticsearch||c.save_gist||c.save_local||c.save_default:"share"===a?c.save_temp:!1},a.set_default=function(){f.set_default(h.path())?g.set("Home Set","This page has been set as your default dashboard","success",5e3):g.set("Incompatible Browser","Sorry, your browser is too old for this feature","error",5e3)},a.purge_default=function(){f.purge_default()?g.set("Local Default Clear","Your default dashboard has been reset to the default","success",5e3):g.set("Incompatible Browser","Sorry, your browser is too old for this feature","error",5e3)},a.elasticsearch_save=function(c,e){f.elasticsearch_save(c,f.current.title,e).then(function(e){return b.isUndefined(e._id)?void g.set("Save failed","Dashboard could not be saved to Elasticsearch","error",5e3):(g.set("Dashboard Saved",'Dashboard has been saved to Elasticsearch as "'+e._id+'"',"success",5e3),"temp"===c&&(a.share=f.share_link(f.current.title,"temp",e._id)),void d.$emit("dashboard-saved",f.current))})},a.elasticsearch_delete=function(c){confirm("Are you sure you want to delete dashboard?")&&f.elasticsearch_delete(c).then(function(d){if(b.isUndefined(d))g.set("Dashboard Not Deleted","An error occurred deleting the dashboard","error",5e3);else if(d.found){g.set("Dashboard Deleted",c+" has been deleted","success",5e3);var e=b.where(a.elasticsearch.dashboards,{_id:c})[0];a.elasticsearch.dashboards=b.without(a.elasticsearch.dashboards,e)}else g.set("Dashboard Not Found","Could not find "+c+" in Elasticsearch","warning",5e3)})},a.save_gist=function(){f.save_gist(a.gist.title).then(function(c){b.isUndefined(c)?g.set("Save failed","Gist could not be saved","error",5e3):(a.gist.last=c,g.set("Gist saved",'You will be able to access your exported dashboard file at '+c+" in a moment","success"))})},a.gist_dblist=function(b){f.gist_list(b).then(function(b){b&&b.length>0?a.gist.files=b:g.set("Gist Failed","Could not retrieve dashboard list from gist","error",5e3)})},a.zoom=function(a){var b=this.filter.timeRange(),d=b.to.valueOf()-b.from.valueOf(),e=b.to.valueOf()-d/2,f=e+d*a/2,g=e-d*a/2;if(f>Date.now()&&b.to=e&&(1===d?(b.row.panels[0].span=6,a.span=6):2===d&&(b.row.panels[0].span=4,b.row.panels[1].span=4,a.span=4)),b.row.panels.push(a)},b.delete_row=function(){confirm("Are you sure you want to delete this row?")&&(b.dashboard.current.rows=c.without(b.dashboard.current.rows,b.row))},b.move_row=function(a){var d=b.dashboard.current.rows,e=c.indexOf(d,b.row),f=e+a;f>=0&&f<=d.length-1&&c.move(d,e,e+a)},b.add_panel_default=function(a){b.reset_panel(a),b.add_panel(b.panel),e(function(){b.$broadcast("render")})},b.set_height=function(a){b.row.height=a,b.$broadcast("render")},b.remove_panel_from_row=function(a,b){confirm("Are you sure you want to remove this "+b.type+" panel?")&&(a.panels=c.without(a.panels,b))},b.duplicatePanel=function(d,e){e=e||b.row;var f=b.rowSpan(e);if(9>=f)e.panels.push(a.copy(d));else{var g=b.dashboard.current.rows,h=c.indexOf(g,e);if(h===g.length-1){var i=a.copy(b.row);i.panels=[],b.dashboard.current.rows.push(i),b.duplicatePanel(d,i)}else b.duplicatePanel(d,g[h+1])}},b.reset_panel=function(a){function d(a){return a?c.isString(a)?a:a+"px":"200px"}var e=4,f=12-b.rowSpan(b.row);b.panel={error:!1,span:e>f&&f>0?f:e,editable:!0,type:a},b.row.height=d(b.row.height)},b.init()}])}),define("controllers/submenuCtrl",["angular","app","underscore"],function(a,b,c){var d=a.module("kibana.controllers");d.controller("SubmenuCtrl",["$scope",function(a){var b={enable:!0};c.defaults(a.pulldown,b),a.init=function(){a.panel=a.pulldown,a.row=a.pulldown},a.init()}])}),define("controllers/pulldown",["angular","app","underscore"],function(a,b,c){var d=a.module("kibana.controllers");d.controller("PulldownCtrl",["$scope","$rootScope","$timeout",function(a,b,d){var e={collapse:!1,notice:!1,enable:!0};c.defaults(a.pulldown,e),a.init=function(){a.panel=a.pulldown,a.row=a.pulldown},a.toggle_pulldown=function(b){b.collapse=b.collapse?!1:!0,b.collapse?a.row.notice=!1:d(function(){a.$broadcast("render")})},a.init()}])}),define("controllers/search",["angular","underscore","config","jquery"],function(a,b,c,d){var e=a.module("kibana.controllers");e.controller("SearchCtrl",["$scope","$rootScope","dashboard","$element","$location",function(a,e,f,g,h){a.init=function(){a.giveSearchFocus=0,a.selectedIndex=-1,a.results={dashboards:[],tags:[],metrics:[]},a.query={query:"title:"},e.$on("open-search",a.openSearch)},a.keyDown=function(b){if(27===b.keyCode&&g.find(".dropdown-toggle").dropdown("toggle"),40===b.keyCode&&a.selectedIndex++,38===b.keyCode&&a.selectedIndex--,13===b.keyCode){if(a.tagsOnly){var c=a.results.tags[a.selectedIndex];return void(c&&a.filterByTag(c.term))}var e=a.results.dashboards[a.selectedIndex];e&&(h.path("/dashboard/elasticsearch/"+encodeURIComponent(e._id)),setTimeout(function(){d("body").click()}))}},a.searchDasboards=function(d){var e=a.ejs.Request().indices(c.grafana_index).types("dashboard"),f=0===d.indexOf("tags!:");if(f){var g=d.substring(6,d.length);d="tags:"+g+"*"}else 0===d.length&&(d="title:"),"*"!==d[d.length-1]&&(d+="*");return e.query(a.ejs.QueryStringQuery(d)).sort("_uid").facet(a.ejs.TermsFacet("tags").field("tags").order("term").size(50)).size(20).doSearch().then(function(c){return b.isUndefined(c.hits)?(a.results.dashboards=[],void(a.results.tags=[])):(a.tagsOnly=f,a.results.dashboards=c.hits.hits,void(a.results.tags=c.facets.tags.terms))})},a.filterByTag=function(b,c){a.query.query="tags:"+b+" AND title:",a.search(),a.giveSearchFocus=a.giveSearchFocus+1,c&&(c.stopPropagation(),c.preventDefault())},a.showTags=function(b){b.stopPropagation(),a.tagsOnly=!a.tagsOnly,a.query.query=a.tagsOnly?"tags!:":"",a.giveSearchFocus=a.giveSearchFocus+1,a.selectedIndex=-1,a.search()},a.search=function(){a.showImport=!1,a.selectedIndex=-1;var d=a.query.query.toLowerCase();if(0!==d.indexOf("m:"))return d=d.replace(" and "," AND "),void a.searchDasboards(d);d=d.substring(2,d.length);var e=d.split(" "),f=a.ejs.BoolQuery(),g=b.map(e,function(b){return a.ejs.MatchQuery("metricPath_ng",b).boost(1.2)}),h=a.ejs.BoolQuery();h.must(g);var i=a.ejs.FieldQuery("metricPath",d+"*").boost(1.2);f.should([h,i]);var j=a.ejs.Request().indices(c.grafana_index).types("metricKey"),k=j.query(f).size(20).doSearch();k.then(function(b){a.results.metrics=b&&b.hits&&b.hits.hits.length>0?{metrics:b.hits.hits}:{metric:[]}})},a.openSearch=function(b){b&&g.find(".dropdown-toggle").dropdown("toggle"),a.giveSearchFocus=a.giveSearchFocus+1,a.query.query="title:",a.search()},a.addMetricToCurrentDashboard=function(a){f.current.rows.push({title:"",height:"250px",editable:!0,panels:[{type:"graphite",title:"test",span:12,targets:[{target:a}]}]})},a.toggleImport=function(b){b.stopPropagation(),a.showImport=!a.showImport},a.newDashboard=function(){h.url("/dashboard/file/empty.json")}}]),e.directive("xngFocus",function(){return function(a,b,c){d(b).click(function(a){a.stopPropagation()}),a.$watch(c.xngFocus,function(a){setTimeout(function(){a&&b.focus()},200)},!0)}})}),define("controllers/metricKeys",["angular","underscore","config"],function(a,b,c){var d=a.module("kibana.controllers");d.controller("MetricKeysCtrl",["$scope","$http","$q",function(d,e,f){function g(a,d,g){return f.all(b.map(c.datasources,function(b){return(b.type="graphite")?e.get(b.url+a).then(d,g):void 0}))}function h(a,b){return a||a.data||0!==a.data.length?a.data.length===b?f.when("done"):(b=b||0,l(a.data[b]).then(function(){return h(a,b+1)})):f.reject("No metrics from graphite")}function i(){var a=f.defer();return e.delete(n,o).success(function(){a.resolve("ok")}).error(function(b,c){404===c?a.resolve("ok"):a.reject("elastic search returned unexpected error")}),a.promise}function j(){return e.put(n,{settings:{analysis:{analyzer:{metric_path_ngram:{tokenizer:"my_ngram_tokenizer"}},tokenizer:{my_ngram_tokenizer:{type:"nGram",min_gram:"3",max_gram:"8",token_chars:["letter","digit","punctuation","symbol"]}}}},mappings:{metricKey:{properties:{metricPath:{type:"multi_field",fields:{metricPath:{type:"string",index:"analyzed",index_analyzer:"standard"},metricPath_ng:{type:"string",index:"analyzed",index_analyzer:"metric_path_ngram"}}}}}}},o)}function k(a){var c=a.data;if(!c||0===c.length)return void console.log("no data");var d=b.map(c,function(a){return a.expandable?m(a.id+".*"):a.leaf?l(a.id):void 0});return f.all(d)}function l(a){var b=d.ejs.Document(c.grafana_metrics_index,"metricKey",a).source({metricPath:a});return b.doIndex(function(){d.infoText="Indexing "+a,d.metricCounter=d.metricCounter+1},function(){d.errorText="failed to save metric "+a})}function m(a){return g("/metrics/find/?query="+a,k)}var n=c.elasticsearch+"/"+c.grafana_metrics_index+"/",o={};c.elasticsearchBasicAuth&&(o.withCredentials=!0,o.headers={Authorization:"Basic "+c.elasticsearchBasicAuth}),d.init=function(){d.metricPath="prod.apps.api.boobarella.*",d.metricCounter=0},d.createIndex=function(){d.errorText=null,d.infoText=null,i().then(j).then(function(){d.infoText="Index created!"}).then(null,function(b){d.errorText=a.toJson(b)})},d.loadMetricsFromPath=function(){return d.errorText=null,d.infoText=null,d.metricCounter=0,m(d.metricPath).then(function(){d.infoText="Indexing completed!"},function(a){d.errorText="Error: "+a})},d.loadAll=function(){d.infoText="Fetching all metrics from graphite...",g("/metrics/index.json",h).then(function(){d.infoText="Indexing complete!"}).then(null,function(a){d.errorText=a})}}])}),define("services/graphite/gfunc",["underscore"],function(a){function b(a){a.params=a.params||[],a.defaultParams=a.defaultParams||[],a.category&&a.category.push(a),d[a.name]=a,d[a.shortName||a.name]=a}function c(a){this.def=a,this.params=a.defaultParams.slice(0),this.updateText()}var d=[],e={Combine:[],Transform:[],Calculate:[],Filter:[],Special:[]};return b({name:"scaleToSeconds",category:e.Transform,params:[{name:"seconds",type:"int"}],defaultParams:[1]}),b({name:"holtWintersForecast",category:e.Calculate}),b({name:"holtWintersConfidenceBands",category:e.Calculate,params:[{name:"delta",type:"int"}],defaultParams:[3]}),b({name:"holtWintersAberration",category:e.Calculate,params:[{name:"delta",type:"int"}],defaultParams:[3]}),b({name:"nPercentile",category:e.Calculate,params:[{name:"Nth percentile",type:"int"}],defaultParams:[95]}),b({name:"sumSeries",shortName:"sum",category:e.Combine}),b({name:"averageSeries",shortName:"avg",category:e.Combine}),b({name:"isNonNull",category:e.Combine}),b({name:"rangeOfSeries",category:e.Combine}),b({name:"percentileOfSeries",category:e.Combine,params:[{name:"n",type:"int"},{name:"interpolate",type:"select",options:["true","false"]}],defaultParams:[95,"false"]}),b({name:"sumSeriesWithWildcards",category:e.Combine,params:[{name:"node",type:"int"}],defaultParams:[3]}),b({name:"maxSeries",shortName:"max",category:e.Combine}),b({name:"minSeries",shortName:"min",category:e.Combine}),b({name:"averageSeriesWithWildcards",category:e.Combine,params:[{name:"node",type:"int"}],defaultParams:[3]}),b({name:"alias",category:e.Special,params:[{name:"alias",type:"string"}],defaultParams:["alias"]}),b({name:"aliasSub",category:e.Special,params:[{name:"search",type:"string"},{name:"replace",type:"string"}],defaultParams:["",""]}),b({name:"stacked",category:e.Special,params:[{name:"stack",type:"string"}],defaultParams:["stacked"]}),b({name:"consolidateBy",category:e.Special,params:[{name:"function",type:"string",options:["sum","average","min","max"]}],defaultParams:["max"]}),b({name:"groupByNode",category:e.Special,params:[{name:"node",type:"int",options:[1,2,3,4,5,6,7,8,9,10,12]},{name:"function",type:"string",options:["sum","avg"]}],defaultParams:[3,"sum"]}),b({name:"aliasByNode",category:e.Special,params:[{name:"node",type:"int",options:[0,1,2,3,4,5,6,7,8,9,10,12]},{name:"node",type:"int",options:[0,-1,-2,-3,-4,-5,-6,-7],optional:!0}],defaultParams:[3]}),b({name:"substr",category:e.Special,params:[{name:"start",type:"int",options:[-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,10,12]},{name:"stop",type:"int",options:[-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,10,12]}],defaultParams:[0,0]}),b({name:"sortByName",category:e.Special}),b({name:"sortByMaxima",category:e.Special}),b({name:"sortByMinima",category:e.Special}),b({name:"sortByTotal",category:e.Special}),b({name:"aliasByMetric",category:e.Special}),b({name:"randomWalk",category:e.Special,params:[{name:"name",type:"string"}],defaultParams:["randomWalk"]}),b({name:"countSeries",category:e.Special}),b({name:"constantLine",category:e.Special,params:[{name:"value",type:"int"}],defaultParams:[10]}),b({name:"cactiStyle",category:e.Special}),b({name:"keepLastValue",category:e.Special,params:[{name:"n",type:"int"}],defaultParams:[100]}),b({name:"scale",category:e.Transform,params:[{name:"factor",type:"int"}],defaultParams:[1]}),b({name:"offset",category:e.Transform,params:[{name:"amount",type:"int"}],defaultParams:[10]}),b({name:"transformNull",category:e.Transform,params:[{name:"amount",type:"int"}],defaultParams:[0]}),b({name:"integral",category:e.Transform}),b({name:"derivative",category:e.Transform}),b({name:"nonNegativeDerivative",category:e.Transform,params:[{name:"max value or 0",type:"int"}],defaultParams:[0]}),b({name:"timeShift",category:e.Transform,params:[{name:"amount",type:"select",options:["1h","6h","12h","1d","2d","7d","14d","30d"]}],defaultParams:["1d"]}),b({name:"summarize",category:e.Transform,params:[{name:"interval",type:"string"},{name:"func",type:"select",options:["sum","avg","min","max","last"]}],defaultParams:["1h","sum"]}),b({name:"smartSummarize",category:e.Transform,params:[{name:"interval",type:"string"},{name:"func",type:"select",options:["sum","avg","min","max","last"]}],defaultParams:["1h","sum"]}),b({name:"absolute",category:e.Transform}),b({name:"hitcount",category:e.Transform,params:[{name:"interval",type:"string"}],defaultParams:["10s"]}),b({name:"log",category:e.Transform,params:[{name:"base",type:"int"}],defaultParams:["10"]}),b({name:"averageAbove",category:e.Filter,params:[{name:"n",type:"int"}],defaultParams:[25]}),b({name:"averageBelow",category:e.Filter,params:[{name:"n",type:"int"}],defaultParams:[25]}),b({name:"currentAbove",category:e.Filter,params:[{name:"n",type:"int"}],defaultParams:[25]}),b({name:"currentBelow",category:e.Filter,params:[{name:"n",type:"int"}],defaultParams:[25]}),b({name:"maximumAbove",category:e.Filter,params:[{name:"value",type:"int"}],defaultParams:[0]}),b({name:"maximumBelow",category:e.Filter,params:[{name:"value",type:"int"}],defaultParams:[0]}),b({name:"minimumAbove",category:e.Filter,params:[{name:"value",type:"int"}],defaultParams:[0]}),b({name:"limit",category:e.Filter,params:[{name:"n",type:"int"}],defaultParams:[5]}),b({name:"mostDeviant",category:e.Filter,params:[{name:"n",type:"int"}],defaultParams:[10]}),b({name:"exclude",category:e.Filter,params:[{name:"exclude",type:"string"}],defaultParams:["exclude"]}),b({name:"highestCurrent",category:e.Filter,params:[{name:"count",type:"int"}],defaultParams:[5]}),b({name:"highestMax",category:e.Filter,params:[{name:"count",type:"int"}],defaultParams:[5]}),b({name:"lowestCurrent",category:e.Filter,params:[{name:"count",type:"int"}],defaultParams:[5]}),b({name:"movingAverage",category:e.Filter,params:[{name:"window size",type:"int"}],defaultParams:[10]}),b({name:"movingMedian",category:e.Filter,params:[{name:"windowSize",type:"select",options:["1min","5min","15min","30min","1hour"]}],defaultParams:["1min"]}),b({name:"stdev",category:e.Filter,params:[{name:"n",type:"int"},{name:"tolerance",type:"int"}],defaultParams:[5,.1]}),b({name:"highestAverage",category:e.Filter,params:[{name:"count",type:"int"}],defaultParams:[5]}),b({name:"lowestAverage",category:e.Filter,params:[{name:"count",type:"int"}],defaultParams:[5]}),b({name:"removeAbovePercentile",category:e.Filter,params:[{name:"n",type:"int"}],defaultParams:[5]}),b({name:"removeAboveValue",category:e.Filter,params:[{name:"n",type:"int"}],defaultParams:[5]}),b({name:"removeBelowPercentile",category:e.Filter,params:[{name:"n",type:"int"}],defaultParams:[5]}),b({name:"removeBelowValue",category:e.Filter,params:[{name:"n",type:"int"}],defaultParams:[5]}),a.each(e,function(b,c){e[c]=a.sortBy(b,"name") -}),c.prototype.render=function(b){var c=this.def.name+"(",d=a.map(this.params,function(b){return a.isString(b)?"'"+b+"'":b});return void 0!==b&&d.unshift(b),c+d.join(",")+")"},c.prototype._hasMultipleParamsInString=function(a,b){return-1===a.indexOf(",")?!1:this.def.params[b+1]&&this.def.params[b+1].optional},c.prototype.updateParam=function(b,c){return this._hasMultipleParamsInString(b,c)?void a.each(b.split(","),function(a,b){this.updateParam(a.trim(),b)},this):(""===b&&this.def.params[c].optional?this.params.splice(c,1):this.params[c]="int"===this.def.params[c].type?parseFloat(b,10):b,void this.updateText())},c.prototype.updateText=function(){if(0===this.params.length)return void(this.text=this.def.name+"()");var b=this.def.name+"(";a.each(this.def.params,function(a,c){a.optional&&void 0===this.params[c]||(b+=this.params[c]+", ")},this),b=b.substring(0,b.length-2),b+=")",this.text=b},{createFuncInstance:function(b){if(a.isString(b)){if(!d[b])throw{message:"Method not found "+name};b=d[b]}return new c(b)},getFuncDef:function(a){return d[a]},getCategories:function(){return e}}}),define("services/graphite/lexer",["underscore"],function(a){function b(a){this.input=a,this.char=1,this.from=1}for(var c=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1319,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2308,2361,2365,2365,2384,2384,2392,2401,2417,2423,2425,2431,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3133,3160,3161,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3294,3294,3296,3297,3313,3314,3333,3340,3342,3344,3346,3386,3389,3389,3406,3406,3424,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3805,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4304,4346,4348,4348,4352,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5905,5920,5937,5952,5969,5984,5996,5998,6e3,6016,6067,6103,6103,6108,6108,6176,6263,6272,6312,6314,6314,6320,6389,6400,6428,6480,6509,6512,6516,6528,6571,6593,6599,6656,6678,6688,6740,6823,6823,6917,6963,6981,6987,7043,7072,7086,7087,7104,7141,7168,7203,7245,7247,7258,7293,7401,7404,7406,7409,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11502,11520,11557,11568,11621,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11823,11823,12293,12295,12321,12329,12337,12341,12344,12348,12353,12438,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,13312,19893,19893,19968,19968,40907,40907,40960,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42647,42656,42735,42775,42783,42786,42888,42891,42894,42896,42897,42912,42921,43002,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43648,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44002,44032,44032,55203,55203,55216,55238,55243,55291,63744,64045,64048,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,65856,65908,66176,66204,66208,66256,66304,66334,66352,66378,66432,66461,66464,66499,66504,66511,66513,66517,66560,66717,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67840,67861,67872,67897,68096,68096,68112,68115,68117,68119,68121,68147,68192,68220,68352,68405,68416,68437,68448,68466,68608,68680,69635,69687,69763,69807,73728,74606,74752,74850,77824,78894,92160,92728,110592,110593,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,131072,131072,173782,173782,173824,173824,177972,177972,177984,177984,178205,178205,194560,195101],d=[],e=0;128>e;e++)d[e]=e>=48&&57>=e||36===e||e>=65&&90>=e||95===e||45===e||42===e||58===e||37===e||e>=97&&122>=e;for(var f=[],g=0;128>g;g++)f[g]=d[g]||g>=48&&57>=g;return b.prototype={peek:function(a){return this.input.charAt(a||0)},skip:function(a){a=a||1,this.char+=a,this.input=this.input.slice(a)},tokenize:function(){for(var a,b=[];a=this.next();)b.push(a);return b},next:function(){this.from=this.char;var a;if(/\s/.test(this.peek())){for(a=this.char;/\s/.test(this.peek());)this.from+=1,this.skip();if(""===this.peek())return null}var b=this.scanStringLiteral();return b?b:(b=this.scanPunctuator()||this.scanNumericLiteral()||this.scanIdentifier()||this.scanTemplateSequence(),b?(this.skip(b.value.length),b):null)},scanTemplateSequence:function(){return"["===this.peek()&&"["===this.peek(1)?{type:"templateStart",value:"[[",pos:this.char}:"]"===this.peek()&&"]"===this.peek(1)?{type:"templateEnd",value:"[[",pos:this.char}:null},scanIdentifier:function(){function b(a){for(var b=0;bc?d[c]?(j+=1,a):null:b(c)?(j+=1,a):null},this),m=a.bind(function(){var a=this.peek(j),c=a.charCodeAt(0);return 92===c?k():128>c?f[c]?(j+=1,a):null:b(c)?(j+=1,a):null},this);if(h=l(),null===h)return null;for(i=h;h=m(),null!==h;)i+=h;switch(i){default:g="identifier"}return{type:g,value:i,pos:this.char}},scanNumericLiteral:function(){function a(a){return/^[0-9]$/.test(a)}function b(a){return/^[0-7]$/.test(a)}function c(a){return/^[0-9a-fA-F]$/.test(a)}function d(a){return"$"===a||"_"===a||"\\"===a||a>="a"&&"z">=a||a>="A"&&"Z">=a}var e,f=0,g="",h=this.input.length,i=this.peek(f);if("-"===i&&(g+=i,f+=1,i=this.peek(f)),"."!==i&&!a(i))return null;if("."!==i){if(g+=this.peek(f),f+=1,i=this.peek(f),"0"===g){if("x"===i||"X"===i){for(f+=1,g+=i;h>f&&(i=this.peek(f),c(i));)g+=i,f+=1;return g.length<=2?{type:"number",value:g,isMalformed:!0,pos:this.char}:h>f&&(i=this.peek(f),d(i))?null:{type:"number",value:g,base:16,isMalformed:!1,pos:this.char}}if(b(i)){for(f+=1,g+=i,e=!1;h>f;){if(i=this.peek(f),a(i))e=!0;else if(!b(i))break;g+=i,f+=1}return h>f&&(i=this.peek(f),d(i))?null:{type:"number",value:g,base:8,isMalformed:!1}}a(i)&&(f+=1,g+=i)}for(;h>f&&(i=this.peek(f),a(i));)g+=i,f+=1}if("."===i)for(g+=i,f+=1;h>f&&(i=this.peek(f),a(i));)g+=i,f+=1;if("e"===i||"E"===i){if(g+=i,f+=1,i=this.peek(f),("+"===i||"-"===i)&&(g+=this.peek(f),f+=1),i=this.peek(f),!a(i))return null;for(g+=i,f+=1;h>f&&(i=this.peek(f),a(i));)g+=i,f+=1}return h>f&&(i=this.peek(f),!this.isPunctuator(i))?null:{type:"number",value:g,base:10,pos:this.char,isMalformed:!isFinite(g)}},isPunctuator:function(a){switch(a){case".":case"(":case")":case",":case"{":case"}":return!0}return!1},scanPunctuator:function(){var a=this.peek();return this.isPunctuator(a)?{type:a,value:a,pos:this.char}:null},scanStringLiteral:function(){var a=this.peek();if('"'!==a&&"'"!==a)return null;var b="";for(this.skip();this.peek()!==a;){if(""===this.peek())return{type:"string",value:b,isUnclosed:!0,quote:a,pos:this.char};var c=this.peek(),d=1;b+=c,this.skip(d)}return this.skip(),{type:"string",value:b,isUnclosed:!1,quote:a,pos:this.char}}},b}),define("services/graphite/parser",["./lexer"],function(a){function b(b){this.expression=b,this.lexer=new a(b),this.tokens=this.lexer.tokenize(),this.index=0}return b.prototype={getAst:function(){return this.start()},start:function(){try{return this.functionCall()||this.metricExpression()}catch(a){return{type:"error",message:a.message,pos:a.pos}}},curlyBraceSegment:function(){if(this.match("identifier","{")||this.match("{")){for(var a="";!this.match("")&&!this.match("}");)a+=this.consumeToken().value;return this.match("}")||this.errorMark("Expected closing '}'"),a+=this.consumeToken().value,this.match("identifier")&&(a+=this.consumeToken().value),{type:"segment",value:a}}return null},metricSegment:function(){var a=this.curlyBraceSegment();if(a)return a;if(this.match("identifier")||this.match("number"))return{type:"segment",value:this.consumeToken().value};this.match("templateStart")||this.errorMark("Expected metric identifier"),this.consumeToken(),this.match("identifier")||this.errorMark("Expected identifier after templateStart");var b={type:"template",value:this.consumeToken().value};return this.match("templateEnd")||this.errorMark("Expected templateEnd"),this.consumeToken(),b},metricExpression:function(){if(!this.match("templateStart")&&!this.match("identifier")&&!this.match("number"))return null;var a={type:"metric",segments:[]};for(a.segments.push(this.metricSegment());this.match(".");){this.consumeToken();var b=this.metricSegment();b||this.errorMark("Expected metric identifier"),a.segments.push(b)}return a},functionCall:function(){if(!this.match("identifier","("))return null;var a={type:"function",name:this.consumeToken().value};return this.consumeToken(),a.params=this.functionParameters(),this.match(")")||this.errorMark("Expected closing paranthesis"),this.consumeToken(),a},functionParameters:function(){if(this.match(")")||this.match(""))return[];var a=this.functionCall()||this.numericLiteral()||this.metricExpression()||this.stringLiteral();return this.match(",")?(this.consumeToken(),[a].concat(this.functionParameters())):[a]},numericLiteral:function(){return this.match("number")?{type:"number",value:parseFloat(this.consumeToken().value)}:null},stringLiteral:function(){if(!this.match("string"))return null;var a=this.consumeToken();if(a.isUnclosed)throw{message:"Unclosed string parameter",pos:a.pos};return{type:"string",value:a.value}},errorMark:function(a){var b=this.tokens[this.index],c=b?b.type:"end of string";throw{message:a+" instead found "+c,pos:b?b.pos:this.lexer.char}},consumeToken:function(){return this.index++,this.tokens[this.index-1]},matchToken:function(a,b){var c=this.tokens[this.index+b];return void 0===c&&""===a||c&&c.type===a},match:function(a,b){return this.matchToken(a,0)&&(!b||this.matchToken(b,1))}},b}),define("controllers/graphiteTarget",["angular","underscore","config","../services/graphite/gfunc","../services/graphite/parser"],function(a,b,c,d,e){var f=a.module("kibana.controllers");f.controller("GraphiteTargetCtrl",["$scope",function(c){function f(){c.functions=[],c.segments=[],c.showTextEditor=!1,delete c.parserError;var a=new e(c.target.target),b=a.getAst();if(null===b)return void i(0);if("error"===b.type)return c.parserError=b.message+" at position: "+b.pos,void(c.showTextEditor=!0);try{g(b)}catch(d){console.log("error parsing target:",d.message),c.parserError=d.message,c.showTextEditor=!0}i(c.segments.length-1)}function g(a,e,f){if(null===a)return null;switch(a.type){case"function":var h=d.createFuncInstance(a.name);b.each(a.params,function(a,b){g(a,h,b)}),h.updateText(),c.functions.push(h);break;case"string":case"number":if(f-1>=e.def.params.length)throw{message:"invalid number of parameters to method "+e.def.name};0===f?e.params[f]=a.value:e.params[f-1]=a.value;break;case"metric":if(c.segments.length>0)throw{message:"Multiple metric params not supported, use text editor."};c.segments=b.map(a.segments,function(a){var b={type:a.type,val:a.value,html:a.value};return"*"===a.value&&(b.html=''),"template"===a.type&&(b.val=b.html="[["+a.value+"]]",b.html=""+b.html+""),b})}}function h(a){var d=c.segments.slice(0,a);return b.reduce(d,function(a,b){return a?a+"."+b.val:b.val},"")}function i(a){if(0===a)return void c.segments.push({html:"select metric"});var b=h(a+1);return c.datasource.metricFindQuery(c.filter,b).then(function(b){if(0===b.length)return c.segments=c.segments.splice(0,a),void c.segments.push({html:"select metric"});if(b[0].expandable){if(c.segments.length!==a)return i(a+1);c.segments.push({html:"select metric"})}}).then(null,function(a){c.parserError=a.message||"Failed to issue metric query"})}function j(a){b.each(c.segments,function(b,c){b.focus=a===c})}function k(a,b){return b.render(a)}c.init=function(){c.target.target=c.target.target||"",f()},c.getAltSegments=function(a){c.altSegments=[];var d=0===a?"*":h(a)+".*";return c.datasource.metricFindQuery(c.filter,d).then(function(a){b.each(a,function(a){a.html=a.val=a.text}),b.each(c.filter.templateParameters,function(b){a.unshift({type:"template",html:"[["+b.name+"]]",val:"[["+b.name+"]]",expandable:!0})}),a.unshift({val:"*",html:'',expandable:!0}),c.altSegments=a}).then(null,function(a){c.parserError=a.message||"Failed to issue metric query"})},c.setSegment=function(a,b){return delete c.parserError,c.segments[b].val=c.altSegments[a].val,c.segments[b].html=c.altSegments[a].html,c.altSegments[a].expandable?i(b+1).then(function(){j(b+1),c.targetChanged()}):(c.segments=c.segments.splice(0,b+1),j(b+1),void c.targetChanged())},c.targetTextChanged=function(){f(),c.$parent.get_data()},c.targetChanged=function(){if(!c.parserError){var a=c.target.target,d=h(c.segments.length);c.target.target=b.reduce(c.functions,k,d),c.target.target!==a&&c.$parent.get_data()}},c.removeFunction=function(a){c.functions=b.without(c.functions,a),c.targetChanged()},c.addFunction=function(a){var b=d.createFuncInstance(a);b.added=!0,c.functions.push(b),c.moveAliasFuncLast(),c.smartlyHandleNewAliasByNode(b),!b.params.length&&b.added&&c.targetChanged()},c.moveAliasFuncLast=function(){var a=b.find(c.functions,function(a){return"alias"===a.def.name||"aliasByNode"===a.def.name||"aliasByMetric"===a.def.name});a&&(c.functions=b.without(c.functions,a),c.functions.push(a))},c.smartlyHandleNewAliasByNode=function(a){if("aliasByNode"===a.def.name)for(var b=0;b=0)return a.params[0]=b,a.added=!1,void c.targetChanged()},c.duplicate=function(){var b=a.copy(c.target);c.panel.targets.push(b)}}]),f.directive("focusMe",["$timeout","$parse",function(a,b){return{link:function(c,d,e){var f=b(e.focusMe);c.$watch(f,function(b){b===!0&&a(function(){d[0].focus()})})}}}])}),define("controllers/graphiteImport",["angular","app","underscore"],function(a,b,c){var d=a.module("kibana.controllers");d.controller("GraphiteImportCtrl",["$scope","$rootScope","$timeout","datasourceSrv","dashboard",function(b,d,e,f,g){function h(b,d){var e,f,h,i=2,j=300;e={title:"",panels:[],height:j},f=a.copy(e);var k=a.copy(g.current);k.rows=[],k.title=b.name,k.rows.push(f),c.each(b.graphs,function(b){f.panels.length===i&&(f=a.copy(e),k.rows.push(f)),h={type:"graphite",span:12/i,title:b[1].title,targets:[],datasource:d},c.each(b[1].target,function(a){h.targets.push({target:a})}),f.panels.push(h)}),g.dash_load(k)}b.init=function(){console.log("hej!"),b.datasources=f.listOptions(),b.setDatasource(null)},b.setDatasource=function(a){return b.datasource=f.get(a),b.datasource?void 0:void(b.error="Cannot find datasource "+a)},b.listAll=function(a){delete b.error,b.datasource.listDashboards(a).then(function(a){b.dashboards=a}).then(null,function(a){b.error=a.message||"Error while fetching list of dashboards"})},b.import=function(a){delete b.error,b.datasource.loadDashboard(a).then(function(a){if(!a.data||!a.data.state)throw{message:"no dashboard state received from graphite"};h(a.data.state,b.datasource.name)}).then(null,function(a){b.error=a.message||"Failed to import dashboard"})}}])}),define("controllers/influxTargetCtrl",["angular"],function(a){var b=a.module("kibana.controllers"),c=null;b.controller("InfluxTargetCtrl",["$scope","$timeout",function(b,d){b.init=function(){b.target.function=b.target.function||"mean",b.target.column=b.target.column||"value",b.rawQuery=!1,b.functions=["count","mean","sum","min","max","mode","distinct","median","derivative","stddev","first","last","difference"],b.operators=["=","=~",">","<","!~","<>"],b.oldSeries=b.target.series,b.$on("typeahead-updated",function(){d(b.get_data)})},b.showQuery=function(){b.target.rawQuery=!0},b.hideQuery=function(){b.target.rawQuery=!1},b.seriesBlur=function(){b.oldSeries!==b.target.series&&(b.oldSeries=b.target.series,b.columnList=null,b.get_data())},b.changeFunction=function(a){b.target.function=a,b.get_data()},b.listColumns=function(a,c){return b.columnList?b.columnList:void b.$apply(function(){b.datasource.listColumns(b.target.series).then(function(a){b.columnList=a,c(a)})})},b.listSeries=function(a,d){return c&&""!==a?c:(c=[],void b.datasource.listSeries().then(function(a){c=a,d(c)}))},b.duplicate=function(){var c=a.copy(b.target);b.panel.targets.push(c)}}])}),define("controllers/playlistCtrl",["angular","underscore","config"],function(a,b,c){var d=a.module("kibana.controllers");d.controller("PlaylistCtrl",["$scope","playlistSrv",function(a,d){a.init=function(){a.timespan=c.playlist_timespan,a.loadFavorites(),a.$on("modal-opened",a.loadFavorites)},a.loadFavorites=function(){a.favDashboards=d.getFavorites().dashboards,b.each(a.favDashboards,function(a){a.include=!0})},a.removeAsFavorite=function(b){d.removeAsFavorite(b),a.loadFavorites()},a.start=function(){var c=b.where(a.favDashboards,{include:!0});d.start(c,a.timespan)}}])}),define("controllers/inspectCtrl",["angular"],function(a){var b=a.module("kibana.controllers");b.controller("InspectCtrl",["$scope",function(a){function b(a){for(var b=[],c=a.split("&"),d=0;d0&&b.push({key:e[0],value:window.unescape(e[1])})}return b}var c=a.inspector;a.init=function(){a.editor={index:0},c.error&&(c.error.stack?(a.editor.index=2,a.stack_trace=c.error.stack,a.message=c.error.message):c.error.config&&c.error.config.data&&(a.editor.index=1,a.request_parameters=b(c.error.config.data),-1!==c.error.data.indexOf("DOCTYPE")&&(a.response_html=c.error.data)))}}]),a.module("kibana.directives").directive("iframeContent",["$parse",function(a){return{restrict:"A",link:function(b,c,d){var e=a(d.iframeContent),f=e(b);b.$on("$destroy",function(){c.remove()});var g=document.createElement("iframe");g.width="100%",g.height="400px",g.style.border="none",g.src="about:blank",c.append(g),g.contentWindow.document.open("text/html","replace"),g.contentWindow.document.write(f),g.contentWindow.document.close()}}}])}),define("controllers/opentsdbTargetCtrl",["angular","underscore","kbn"],function(a,b,c){var d=a.module("kibana.controllers");d.controller("OpenTSDBTargetCtrl",["$scope","$timeout",function(d,e){function f(a){var d={};if(a.metric||(d.metric="You must supply a metric name."),a.shouldDownsample)try{a.downsampleInterval?c.describe_interval(a.downsampleInterval):d.downsampleInterval="You must supply a downsample interval (e.g. '1m' or '1h')."}catch(e){d.downsampleInterval=e.message}return a.tags&&b.has(a.tags,a.currentTagKey)&&(d.tags="Duplicate tag key '"+a.currentTagKey+"'."),d}d.init=function(){d.target.errors=f(d.target),d.aggregators=["avg","sum","min","max","dev","zimsum","mimmin","mimmax"],d.target.aggregator||(d.target.aggregator="sum"),d.target.downsampleAggregator||(d.target.downsampleAggregator="sum"),d.$on("typeahead-updated",function(){e(d.targetBlur)})},d.targetBlur=function(){d.target.errors=f(d.target),!b.isEqual(d.oldTarget,d.target)&&b.isEmpty(d.target.errors)&&(d.oldTarget=a.copy(d.target),d.get_data())},d.duplicate=function(){var b=a.copy(d.target);d.panel.targets.push(b)},d.suggestMetrics=function(a,b){d.datasource.performSuggestQuery(a,"metrics").then(b)},d.suggestTagKeys=function(a,b){d.datasource.performSuggestQuery(a,"tagk").then(b)},d.suggestTagValues=function(a,b){d.datasource.performSuggestQuery(a,"tagv").then(b)},d.addTag=function(){return d.addTagMode?(d.target.tags||(d.target.tags={}),d.target.errors=f(d.target),d.target.errors.tags||(d.target.tags[d.target.currentTagKey]=d.target.currentTagValue,d.target.currentTagKey="",d.target.currentTagValue="",d.targetBlur()),void(d.addTagMode=!1)):void(d.addTagMode=!0)},d.removeTag=function(a){delete d.target.tags[a],d.targetBlur()}}])}),define("controllers/kairosdbTargetCtrl",["angular","underscore"],function(a,b){var c=a.module("kibana.controllers"),d=null;c.controller("KairosDBTargetCtrl",["$scope",function(c){function e(a){return parseInt(a)%1===0}function f(a){var b={};a.metric||(b.metric="You must supply a metric name.");try{a.sampling&&c.datasource.convertToKairosInterval(a.sampling)}catch(d){b.sampling=d.message}return b}c.init=function(){c.panel.stack=!1,c.target.downsampling||(c.target.downsampling="avg"),c.target.errors=f(c.target)},c.targetBlur=function(){c.target.errors=f(c.target),!b.isEqual(c.oldTarget,c.target)&&b.isEmpty(c.target.errors)&&(c.oldTarget=a.copy(c.target),c.get_data())},c.duplicate=function(){var b=a.copy(c.target);c.panel.targets.push(b)},c.suggestMetrics=function(a,b){d?b(d):c.updateMetricList()},c.updateMetricList=function(){c.metricListLoading=!0,d=[],c.datasource.performMetricSuggestQuery().then(function(a){return d=a,c.metricListLoading=!1,d})},c.suggestTagKeys=function(a,b){c.updateTimeRange(),b(c.datasource.performTagSuggestQuery(c.target.metric,c.rangeUnparsed,"key",""))},c.suggestTagValues=function(a,b){b(c.datasource.performTagSuggestQuery(c.target.metric,c.rangeUnparsed,"value",c.target.currentTagKey))},c.addFilterTag=function(){return c.addFilterTagMode?(c.target.tags||(c.target.tags={}),c.validateFilterTag(),c.target.errors.tags||(b.has(c.target.tags,c.target.currentTagKey)||(c.target.tags[c.target.currentTagKey]=[]),c.target.tags[c.target.currentTagKey].push(c.target.currentTagValue),c.target.currentTagKey="",c.target.currentTagValue="",c.targetBlur()),void(c.addFilterTagMode=!1)):(c.addFilterTagMode=!0,void c.validateFilterTag())},c.removeFilterTag=function(a){delete c.target.tags[a],0===b.size(c.target.tags)&&(c.target.tags=null),c.targetBlur()},c.validateFilterTag=function(){c.target.errors.tags=null,c.target.currentTagKey&&c.target.currentTagValue||(c.target.errors.tags="You must specify a tag name and value.")},c.addGroupBy=function(){if(!c.addGroupByMode)return c.addGroupByMode=!0,c.target.currentGroupByType="tag",c.isTagGroupBy=!0,void c.validateGroupBy();if(c.validateGroupBy(),b.isEmpty(c.target.errors.groupBy)){if(c.isTagGroupBy)c.target.groupByTags||(c.target.groupByTags=[]),console.log(c.target.groupBy.tagKey),b.contains(c.target.groupByTags,c.target.groupBy.tagKey)||(c.target.groupByTags.push(c.target.groupBy.tagKey),c.targetBlur()),c.target.groupBy.tagKey="";else{c.target.nonTagGroupBys||(c.target.nonTagGroupBys=[]);var a={name:c.target.currentGroupByType};c.isValueGroupBy?a.range_size=c.target.groupBy.valueRange:c.isTimeGroupBy&&(a.range_size=c.target.groupBy.timeInterval,a.group_count=c.target.groupBy.groupCount),c.target.nonTagGroupBys.push(a)}c.targetBlur()}c.isTagGroupBy=!1,c.isValueGroupBy=!1,c.isTimeGroupBy=!1,c.addGroupByMode=!1},c.removeGroupByTag=function(a){c.target.groupByTags.splice(a,1),0===b.size(c.target.groupByTags)&&(c.target.groupByTags=null),c.targetBlur()},c.removeNonTagGroupBy=function(a){c.target.nonTagGroupBys.splice(a,1),0===b.size(c.target.nonTagGroupBys)&&(c.target.nonTagGroupBys=null),c.targetBlur()},c.changeGroupByInput=function(){c.isTagGroupBy="tag"===c.target.currentGroupByType,c.isValueGroupBy="value"===c.target.currentGroupByType,c.isTimeGroupBy="time"===c.target.currentGroupByType,c.validateGroupBy()},c.validateGroupBy=function(){delete c.target.errors.groupBy;var a={};if(c.isGroupByValid=!0,c.isTagGroupBy&&(c.target.groupBy.tagKey||(c.isGroupByValid=!1,a.tagKey="You must supply a tag name")),c.isValueGroupBy&&(c.target.groupBy.valueRange&&e(c.target.groupBy.valueRange)||(a.valueRange="Range must be an integer",c.isGroupByValid=!1)),c.isTimeGroupBy){try{c.datasource.convertToKairosInterval(c.target.groupBy.timeInterval)}catch(d){a.timeInterval=d.message,c.isGroupByValid=!1}c.target.groupBy.groupCount&&e(c.target.groupBy.groupCount)||(a.groupCount="Group count must be an integer",c.isGroupByValid=!1)}b.isEmpty(a)||(c.target.errors.groupBy=a)},c.addHorizontalAggregator=function(){if(!c.addHorizontalAggregatorMode)return c.addHorizontalAggregatorMode=!0,c.target.currentHorizontalAggregatorName="avg",c.hasSamplingRate=!0,void c.validateHorizontalAggregator();if(c.validateHorizontalAggregator(),b.isEmpty(c.target.errors.horAggregator)){c.target.horizontalAggregators||(c.target.horizontalAggregators=[]);var a={name:c.target.currentHorizontalAggregatorName};c.hasSamplingRate&&(a.sampling_rate=c.target.horAggregator.samplingRate),c.hasUnit&&(a.unit=c.target.horAggregator.unit),c.hasFactor&&(a.factor=c.target.horAggregator.factor),c.hasPercentile&&(a.percentile=c.target.horAggregator.percentile),c.target.horizontalAggregators.push(a),c.targetBlur()}c.addHorizontalAggregatorMode=!1,c.hasSamplingRate=!1,c.hasUnit=!1,c.hasFactor=!1,c.hasPercentile=!1},c.removeHorizontalAggregator=function(a){c.target.horizontalAggregators.splice(a,1),0===b.size(c.target.horizontalAggregators)&&(c.target.horizontalAggregators=null),c.targetBlur()},c.changeHorAggregationInput=function(){c.hasSamplingRate=b.contains(["avg","dev","max","min","sum","least_squares","count","percentile"],c.target.currentHorizontalAggregatorName),c.hasUnit=b.contains(["sampler","rate"],c.target.currentHorizontalAggregatorName),c.hasFactor=b.contains(["div","scale"],c.target.currentHorizontalAggregatorName),c.hasPercentile="percentile"===c.target.currentHorizontalAggregatorName,c.validateHorizontalAggregator()},c.validateHorizontalAggregator=function(){delete c.target.errors.horAggregator;var a={};if(c.isAggregatorValid=!0,c.hasSamplingRate)try{c.datasource.convertToKairosInterval(c.target.horAggregator.samplingRate)}catch(d){a.samplingRate=d.message,c.isAggregatorValid=!1}c.hasFactor&&(c.target.horAggregator.factor?0===parseInt(c.target.horAggregator.factor)&&"div"===c.target.currentHorizontalAggregatorName&&(a.factor="Cannot divide by 0",c.isAggregatorValid=!1):(a.factor="You must supply a numeric value for this aggregator",c.isAggregatorValid=!1)),c.hasPercentile&&(!c.target.horAggregator.percentile||c.target.horAggregator.percentile<=0||c.target.horAggregator.percentile>1)&&(a.percentile="Percentile must be between 0 and 1",c.isAggregatorValid=!1),b.isEmpty(a)||(c.target.errors.horAggregator=a)},c.alert=function(a){alert(a)}}])}),define("controllers/all",["./dash","./dashLoader","./row","./submenuCtrl","./pulldown","./search","./metricKeys","./graphiteTarget","./graphiteImport","./influxTargetCtrl","./playlistCtrl","./inspectCtrl","./opentsdbTargetCtrl","./kairosdbTargetCtrl"],function(){}),define("directives/addPanel",["angular","app","underscore"],function(a,b,c){a.module("kibana.directives").directive("addPanel",["$compile",function(b){return{restrict:"A",link:function(d,e){d.$on("$destroy",function(){e.remove()}),d.$watch("panel.type",function(){var f=d.panel.type;d.reset_panel(f),c.isUndefined(d.panel.type)||(d.panel.loadingEditor=!0,d.require(["panels/"+d.panel.type.replace(".","/")+"/module"],function(){var c='
    ';e.html(b(a.element(c))(d)),d.panel.loadingEditor=!1}))})}}}])}),define("directives/arrayJoin",["angular","app","underscore"],function(a,b,c){a.module("kibana.directives").directive("arrayJoin",function(){return{restrict:"A",require:"ngModel",link:function(a,b,d,e){function f(a){return(a||"").split(",")}function g(a){return c.isArray(a)?(a||"").join(","):a}e.$parsers.push(f),e.$formatters.push(g)}}})}),define("directives/dashUpload",["angular"],function(a){var b=a.module("kibana.directives");b.directive("dashUpload",["timer","dashboard","alertSrv",function(a,b,c){return{restrict:"A",link:function(a){function d(c){for(var d,e=c.target.files,f=function(){return function(c){b.dash_load(JSON.parse(c.target.result)),a.$apply()}},g=0;d=e[g];g++){var h=new FileReader;h.onload=f(d),h.readAsText(d)}}window.File&&window.FileReader&&window.FileList&&window.Blob?document.getElementById("dashupload").addEventListener("change",d,!1):c.set("Oops","Sorry, the HTML5 File APIs are not fully supported in this browser.","error")}}}])}),define("controllers/panelBaseCtrl",["angular","underscore","jquery"],function(a,b,c){function d(a,d,e){var f=[{text:"Edit",configModal:"app/partials/paneleditor.html",condition:!a.panelMeta.fullscreenEdit},{text:"Edit",click:"toggleFullscreenEdit()",condition:a.panelMeta.fullscreenEdit},{text:"Fullscreen",click:"toggleFullscreen()",condition:a.panelMeta.fullscreenView},{text:"Duplicate",click:"duplicatePanel(panel)",condition:!0},{text:"Span",submenu:[{text:"1",click:"updateColumnSpan(1)"},{text:"2",click:"updateColumnSpan(2)"},{text:"3",click:"updateColumnSpan(3)"},{text:"4",click:"updateColumnSpan(4)"},{text:"5",click:"updateColumnSpan(5)"},{text:"6",click:"updateColumnSpan(6)"},{text:"7",click:"updateColumnSpan(7)"},{text:"8",click:"updateColumnSpan(8)"},{text:"9",click:"updateColumnSpan(9)"},{text:"10",click:"updateColumnSpan(10)"},{text:"11",click:"updateColumnSpan(11)"},{text:"12",click:"updateColumnSpan(12)"}],condition:!0},{text:"Remove",click:"remove_panel_from_row(row, panel)",condition:!0}];a.inspector={},a.panelMeta.menu=b.where(f,{condition:!0}),a.updateColumnSpan=function(b){a.panel.span=b,e(function(){a.$emit("render")})},a.enterFullscreenMode=function(b){var f=c(window).height(),g=Math.floor(.3*f),h=Math.floor(.7*f),i=a.range;if(a.height=b.edit?g:h,a.editMode=b.edit,!a.fullscreen)var j=d.$on("panel-fullscreen-exit",function(){a.editMode=!1,a.fullscreen=!1,delete a.height,j(),e(function(){i!==a.range?a.dashboard.refresh():a.$emit("render")})});c(window).scrollTop(0),a.fullscreen=!0,d.$emit("panel-fullscreen-enter"),e(function(){a.$emit("render")})},a.toggleFullscreenEdit=function(){return a.editMode?void d.$emit("panel-fullscreen-exit"):void a.enterFullscreenMode({edit:!0}) -},a.toggleFullscreen=function(){return a.fullscreen&&!a.editMode?void d.$emit("panel-fullscreen-exit"):void a.enterFullscreenMode({edit:!1})}}return d.$inject=["$scope","$rootScope","$timeout"],d}),define("directives/kibanaPanel",["angular","jquery","underscore","../controllers/panelBaseCtrl"],function(a,b,c,d){a.module("kibana.directives").directive("kibanaPanel",["$compile","$timeout","$rootScope","$injector",function(a,c,e,f){var g='
    ',h='
    ',i='
    × Oops! {{panel.error}} View details
    \n
    {{panel.title || "No title"}}
    \n
    ';return{restrict:"E",link:function(c,e,j){function k(b){b.appendTo(e),e.wrap(g),a(e.contents())(l),e.removeClass("ng-cloak")}var l=c.$new();c.kbnJqUiDraggableOptions={revert:"invalid",helper:function(){return b('
    ')},placeholder:"keep"},l.$on("$destroy",function(){e.unbind(),e.remove()}),l.initBaseController=function(a,b){f.invoke(d,a,{$scope:b})},c.$watch(j.type,function(a){e.addClass("ng-cloak");var b=a.replace(".","/");c.require(["jquery","text!panels/"+b+"/module.html"],function(a,d){var e=a(d),f=e.filter("ngcontroller, [ng-controller], .ng-controller");f=f.add(e.find("ngcontroller, [ng-controller], .ng-controller")),f.length?(f.first().prepend(i),f.first().find(".panel-header").nextAll().wrapAll(h),c.require(["panels/"+b+"/module"],function(){k(e)})):k(e)})})}}}])}),define("directives/kibanaSimplePanel",["angular","underscore"],function(a,b){a.module("kibana.directives").directive("kibanaSimplePanel",["$compile",function(c){var d=' loading ...';return{restrict:"E",link:function(e,f,g){function h(a){a.appendTo(f),c(f.contents())(e),f.removeClass("ng-cloak")}function i(a){f.addClass("ng-cloak");var b=a.replace(".","/");e.require(["jquery","text!panels/"+b+"/module.html"],function(a,c){var f=a(c),g=f.filter("ngcontroller, [ng-controller], .ng-controller");g=g.add(f.find("ngcontroller, [ng-controller], .ng-controller")),g.length?(g.first().prepend(d),e.require(["panels/"+b+"/module"],function(){h(f)})):h(f)})}e.$watch(g.type,function(a){i(a)}),g.panel&&e.$watch(g.panel,function(c){b.isUndefined(c)||(e=e.$new(),e.panel=a.fromJson(c))})}}}])}),define("directives/ngBlur",["angular"],function(a){a.module("kibana.directives").directive("ngBlur",["$parse",function(a){return function(b,c,d){var e=a(d.ngBlur);c.bind("blur",function(a){b.$apply(function(){e(b,{$event:a})})})}}])}),define("directives/ngModelOnBlur",["angular"],function(a){a.module("kibana.directives").directive("ngModelOnblur",function(){return{restrict:"A",require:"ngModel",link:function(a,b,c,d){"radio"!==c.type&&"checkbox"!==c.type&&(b.unbind("input").unbind("keydown").unbind("change"),b.bind("blur",function(){a.$apply(function(){d.$setViewValue(b.val())})}))}}})}),define("directives/tip",["angular","kbn"],function(a,b){a.module("kibana.directives").directive("tip",["$compile",function(c){return{restrict:"E",link:function(d,e,f){var g='";e.replaceWith(c(a.element(g))(d))}}}])}),define("directives/confirmClick",["angular","kbn"],function(a){var b=a.module("kibana.directives");b.directive("confirmClick",function(){return{restrict:"A",link:function(a,b,c){b.bind("click",function(){var b=c.confirmation||"Are you sure you want to do that?";if(window.confirm(b)){var d=c.confirmClick;d&&a.$apply(a.$eval(d))}})}}})}),define("directives/configModal",["angular","underscore","jquery"],function(a,b,c){a.module("kibana.directives").directive("configModal",["$modal","$q","$timeout",function(a,b,d){return{restrict:"A",link:function(e,f,g){var h=g.configModal,i="#"+h.replace(".html","").replace(/[\/|\.|:]/g,"-")+"-"+e.$id;f.bind("click",function(){if(c(i).length)return f.attr("data-target",i).attr("data-toggle","modal"),void e.$apply(function(){e.$broadcast("modal-opened")});var g=a({template:h,persist:!0,show:!1,scope:e,keyboard:!1});b.when(g).then(function(a){f.attr("data-target",i).attr("data-toggle","modal"),d(function(){a.data("modal").isShown||a.modal("show")},50)}),e.$apply()})}}}])}),function(a,b,c){function d(a,b,c){for(var d=[],e=0;e')}else{var j="sp-clear-display";d.push('')}}return"
    "+d.join("")+"
    "}function e(){for(var a=0;a1&&(delete a.localStorage[U],b.each(e,function(a,b){u(b)}))}catch(f){}try{lb=a.localStorage[U].split(";")}catch(f){}}Kb.bind("click.spectrum touchstart.spectrum",function(a){rb||B(),a.stopPropagation(),b(a.target).is("input")||a.preventDefault()}),(qb.is(":disabled")||R.disabled===!0)&&Q(),sb.click(j),Ab.change(A),Ab.bind("paste",function(){setTimeout(A,1)}),Ab.keydown(function(a){13==a.keyCode&&A()}),Db.text(R.cancelText),Db.bind("click.spectrum",function(a){a.stopPropagation(),a.preventDefault(),D("cancel")}),Eb.attr("title",R.clearText),Eb.bind("click.spectrum",function(a){a.stopPropagation(),a.preventDefault(),Rb=!0,I(),S&&L(!0)}),Fb.text(R.chooseText),Fb.bind("click.spectrum",function(a){a.stopPropagation(),a.preventDefault(),H()&&(L(!0),D())}),l(yb,function(a,b,c){ib=a/cb,Rb=!1,c.shiftKey&&(ib=Math.round(10*ib)/10),I()},y,z),l(vb,function(a,b){fb=parseFloat(b/ab),Rb=!1,R.showAlpha||(ib=1),I()},y,z),l(tb,function(a,b,c){if(c.shiftKey){if(!ob){var d=gb*Z,e=$-hb*$,f=Math.abs(a-d)>Math.abs(b-e);ob=f?"x":"y"}}else ob=null;var g=!ob||"x"===ob,h=!ob||"y"===ob;g&&(gb=parseFloat(a/Z)),h&&(hb=parseFloat(($-b)/$)),Rb=!1,R.showAlpha||(ib=1),I()},y,z),Mb?(F(Mb),J(),Pb=Ob||tinycolor(Mb).format,u(Mb)):J(),S&&C();var g=p?"mousedown.spectrum":"click.spectrum touchstart.spectrum";Bb.delegate(".sp-thumb-el",g,c),Cb.delegate(".sp-thumb-el:nth-child(1)",g,{ignore:!0},c)}function u(c){if(T){var d=tinycolor(c).toRgbString();if(-1===b.inArray(d,lb))for(lb.push(d);lb.length>mb;)lb.shift();if(U&&a.localStorage)try{a.localStorage[U]=lb.join(";")}catch(e){}}}function v(){var a,b=[],c=lb,d={};if(R.showPalette){for(var e=0;e=$||0>=Z||0>=ab)&&M(),sb.addClass(nb),ob=null,qb.trigger("dragstart.spectrum",[G()])}function z(){sb.removeClass(nb),qb.trigger("dragstop.spectrum",[G()])}function A(){var a=Ab.val();if(null!==a&&""!==a||!Sb){var b=tinycolor(a);b.ok?(F(b),L(!0)):Ab.addClass("sp-validation-error")}else F(null),L(!0)}function B(){Y?D():C()}function C(){var c=b.Event("beforeShow.spectrum");return Y?void M():(qb.trigger(c,[G()]),void(W.beforeShow(G())===!1||c.isDefaultPrevented()||(e(),Y=!0,b(pb).bind("click.spectrum",D),b(a).bind("resize.spectrum",X),Jb.addClass("sp-active"),sb.removeClass("sp-hidden"),M(),J(),Nb=G(),x(),W.show(Nb),qb.trigger("show.spectrum",[Nb]))))}function D(c){if((!c||"click"!=c.type||2!=c.button)&&Y&&!S){Y=!1,b(pb).unbind("click.spectrum",D),b(a).unbind("resize.spectrum",X),Jb.removeClass("sp-active"),sb.addClass("sp-hidden");var d=!tinycolor.equals(G(),Nb);d&&(Qb&&"cancel"!==c?L(!0):E()),W.hide(G()),qb.trigger("hide.spectrum",[G()])}}function E(){F(Nb,!0)}function F(a,b){if(tinycolor.equals(a,G()))return void J();var c,d;!a&&Sb?Rb=!0:(Rb=!1,c=tinycolor(a),d=c.toHsv(),fb=d.h%360/360,gb=d.s,hb=d.v,ib=d.a),J(),c&&c.ok&&!b&&(Pb=Ob||c.format)}function G(a){return a=a||{},Sb&&Rb?null:tinycolor.fromRatio({h:fb,s:gb,v:hb,a:Math.round(100*ib)/100},{format:a.format||Pb})}function H(){return!Ab.hasClass("sp-validation-error")}function I(){J(),W.move(G()),qb.trigger("move.spectrum",[G()])}function J(){Ab.removeClass("sp-validation-error"),K();var a=tinycolor.fromRatio({h:fb,s:1,v:1});tb.css("background-color",a.toHexString());var b=Pb;1>ib&&(0!==ib||"name"!==b)&&("hex"===b||"hex3"===b||"hex6"===b||"name"===b)&&(b="rgb");var c=G({format:b}),d="";if(Lb.removeClass("sp-clear-display"),Lb.css("background-color","transparent"),!c&&Sb)Lb.addClass("sp-clear-display");else{var e=c.toHexString(),f=c.toRgbString();if(q||1===c.alpha?Lb.css("background-color",f):(Lb.css("background-color","transparent"),Lb.css("filter",c.toFilter())),R.showAlpha){var g=c.toRgb();g.a=0;var h=tinycolor(g).toRgbString(),i="linear-gradient(left, "+h+", "+e+")";p?xb.css("filter",tinycolor(h).toFilter({gradientType:1},e)):(xb.css("background","-webkit-"+i),xb.css("background","-moz-"+i),xb.css("background","-ms-"+i),xb.css("background",i))}d=c.toString(b)}R.showInput&&Ab.val(d),R.showPalette&&w(),x()}function K(){var a=gb,b=hb;if(Sb&&Rb)zb.hide(),wb.hide(),ub.hide();else{zb.show(),wb.show(),ub.show();var c=a*Z,d=$-b*$;c=Math.max(-_,Math.min(Z-_,c-_)),d=Math.max(-_,Math.min($-_,d-_)),ub.css({top:d+"px",left:c+"px"});var e=ib*cb;zb.css({left:e-db/2+"px"});var f=fb*ab;wb.css({top:f-eb+"px"})}}function L(a){var b=G(),c="",d=!tinycolor.equals(b,Nb);b&&(c=b.toString(Pb),u(b)),Gb&&qb.val(c),Nb=b,a&&d&&(W.change(b),qb.trigger("change",[b]))}function M(){Z=tb.width(),$=tb.height(),_=ub.height(),bb=vb.width(),ab=vb.height(),eb=wb.height(),cb=yb.width(),db=zb.width(),S||(sb.css("position","absolute"),sb.offset(h(sb,Kb))),K(),R.showPalette&&w(),qb.trigger("reflow.spectrum")}function N(){qb.show(),Kb.unbind("click.spectrum touchstart.spectrum"),sb.remove(),Jb.remove(),o[Tb.id]=null}function O(a,d){return a===c?b.extend({},R):d===c?R[a]:(R[a]=d,void k())}function P(){rb=!1,qb.attr("disabled",!1),Kb.removeClass("sp-disabled")}function Q(){D(),rb=!0,qb.attr("disabled",!0),Kb.addClass("sp-disabled")}var R=f(i,g),S=R.flat,T=R.showSelectionPalette,U=R.localStorageKey,V=R.theme,W=R.callbacks,X=m(M,10),Y=!1,Z=0,$=0,_=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=1,jb=[],kb=[],lb=R.selectionPalette.slice(0),mb=R.maxSelectionSize,nb="sp-dragging",ob=null,pb=g.ownerDocument,qb=(pb.body,b(g)),rb=!1,sb=b(t,pb).addClass(V),tb=sb.find(".sp-color"),ub=sb.find(".sp-dragger"),vb=sb.find(".sp-hue"),wb=sb.find(".sp-slider"),xb=sb.find(".sp-alpha-inner"),yb=sb.find(".sp-alpha"),zb=sb.find(".sp-alpha-handle"),Ab=sb.find(".sp-input"),Bb=sb.find(".sp-palette"),Cb=sb.find(".sp-initial"),Db=sb.find(".sp-cancel"),Eb=sb.find(".sp-clear"),Fb=sb.find(".sp-choose"),Gb=qb.is("input"),Hb=Gb&&r&&"color"===qb.attr("type"),Ib=Gb&&!S,Jb=Ib?b(s).addClass(V).addClass(R.className):b([]),Kb=Ib?Jb:qb,Lb=Jb.find(".sp-preview-inner"),Mb=R.color||Gb&&qb.val(),Nb=!1,Ob=R.preferredFormat,Pb=Ob,Qb=!R.showButtons||R.clickoutFiresChange,Rb=!Mb,Sb=R.allowEmpty&&!Hb;n();var Tb={show:C,hide:D,toggle:B,reflow:M,option:O,enable:P,disable:Q,set:function(a){F(a),L()},get:G,destroy:N,container:sb};return Tb.id=o.push(Tb)-1,Tb}function h(a,c){var d=0,e=a.outerWidth(),f=a.outerHeight(),g=c.outerHeight(),h=a[0].ownerDocument,i=h.documentElement,j=i.clientWidth+b(h).scrollLeft(),k=i.clientHeight+b(h).scrollTop(),l=c.offset();return l.top+=g,l.left-=Math.min(l.left,l.left+e>j&&j>e?Math.abs(l.left+e-j):0),l.top-=Math.min(l.top,l.top+f>k&&k>f?Math.abs(f+g-d):d),l}function i(){}function j(a){a.stopPropagation()}function k(a,b){var c=Array.prototype.slice,d=c.call(arguments,2);return function(){return a.apply(b,d.concat(c.call(arguments)))}}function l(c,d,e,f){function g(a){a.stopPropagation&&a.stopPropagation(),a.preventDefault&&a.preventDefault(),a.returnValue=!1}function h(a){if(l){if(p&&document.documentMode<9&&!a.button)return j();var b=a.originalEvent.touches,e=b?b[0].pageX:a.pageX,f=b?b[0].pageY:a.pageY,h=Math.max(0,Math.min(e-m.left,o)),i=Math.max(0,Math.min(f-m.top,n));q&&g(a),d.apply(c,[h,i,a])}}function i(a){{var d=a.which?3==a.which:2==a.button;a.originalEvent.touches}d||l||e.apply(c,arguments)!==!1&&(l=!0,n=b(c).height(),o=b(c).width(),m=b(c).offset(),b(k).bind(r),b(k.body).addClass("sp-dragging"),q||h(a),g(a))}function j(){l&&(b(k).unbind(r),b(k.body).removeClass("sp-dragging"),f.apply(c,arguments)),l=!1}d=d||function(){},e=e||function(){},f=f||function(){};var k=c.ownerDocument||document,l=!1,m={},n=0,o=0,q="ontouchstart"in a,r={};r.selectstart=g,r.dragstart=g,r["touchmove mousemove"]=h,r["touchend mouseup"]=j,b(c).bind("touchstart mousedown",i)}function m(a,b,c){var d;return function(){var e=this,f=arguments,g=function(){d=null,a.apply(e,f)};c&&clearTimeout(d),(c||!d)&&(d=setTimeout(g,b))}}var n={beforeShow:i,move:i,change:i,show:i,hide:i,color:!1,flat:!1,showInput:!1,allowEmpty:!1,showButtons:!0,clickoutFiresChange:!1,showInitial:!1,showPalette:!1,showPaletteOnly:!1,showSelectionPalette:!0,localStorageKey:!1,appendTo:"body",maxSelectionSize:7,cancelText:"cancel",chooseText:"choose",clearText:"Clear Color Selection",preferredFormat:!1,className:"",showAlpha:!1,theme:"sp-light",palette:["fff","000"],selectionPalette:[],disabled:!1},o=[],p=!!/msie/i.exec(a.navigator.userAgent),q=function(){function a(a,b){return!!~(""+a).indexOf(b)}var b=document.createElement("div"),c=b.style;return c.cssText="background-color:rgba(0,0,0,.5)",a(c.backgroundColor,"rgba")||a(c.backgroundColor,"hsla")}(),r=function(){var a=b("")[0];return"color"===a.type&&"!"!==a.value}(),s=["
    ","
    ","
    ","
    "].join(""),t=function(){var a="";if(p)for(var b=1;6>=b;b++)a+="
    ";return["
    ","
    ","
    ","
    ","
    ","
    ","
    ","
    ","
    ","
    ","
    ","
    ","
    ","
    ","
    ","
    ","
    ","
    ","
    ",a,"
    ","
    ","
    ","
    ","
    ","","
    ","
    ","
    ","","","
    ","
    ","
    "].join("")}(),u="spectrum.id";b.fn.spectrum=function(a){if("string"==typeof a){var c=this,d=Array.prototype.slice.call(arguments,1);return this.each(function(){var e=o[b(this).data(u)];if(e){var f=e[a];if(!f)throw new Error("Spectrum: no such method: '"+a+"'");"get"==a?c=e.get():"container"==a?c=e.container:"option"==a?c=e.option.apply(e,d):"destroy"==a?(e.destroy(),b(this).removeData(u)):f.apply(e,d)}}),c}return this.spectrum("destroy").each(function(){var c=b.extend({},a,b(this).data()),d=g(this,c);b(this).data(u,d.id)})},b.fn.spectrum.load=!0,b.fn.spectrum.loadOpts={},b.fn.spectrum.draggable=l,b.fn.spectrum.defaults=n,b.spectrum={},b.spectrum.localization={},b.spectrum.palettes={},b.fn.spectrum.processNativeColorInputs=function(){r||b("input[type=color]").spectrum({preferredFormat:"hex6"})},function(){function b(a,d){if(a=a?a:"",d=d||{},"object"==typeof a&&a.hasOwnProperty("_tc_id"))return a;var f=c(a),h=f.r,j=f.g,m=f.b,n=f.a,o=x(100*n)/100,p=d.format||f.format;return 1>h&&(h=x(h)),1>j&&(j=x(j)),1>m&&(m=x(m)),{ok:f.ok,format:p,_tc_id:v++,alpha:n,getAlpha:function(){return n},setAlpha:function(a){n=k(a),o=x(100*n)/100},toHsv:function(){var a=g(h,j,m);return{h:360*a.h,s:a.s,v:a.v,a:n}},toHsvString:function(){var a=g(h,j,m),b=x(360*a.h),c=x(100*a.s),d=x(100*a.v);return 1==n?"hsv("+b+", "+c+"%, "+d+"%)":"hsva("+b+", "+c+"%, "+d+"%, "+o+")"},toHsl:function(){var a=e(h,j,m);return{h:360*a.h,s:a.s,l:a.l,a:n}},toHslString:function(){var a=e(h,j,m),b=x(360*a.h),c=x(100*a.s),d=x(100*a.l);return 1==n?"hsl("+b+", "+c+"%, "+d+"%)":"hsla("+b+", "+c+"%, "+d+"%, "+o+")"},toHex:function(a){return i(h,j,m,a)},toHexString:function(a){return"#"+i(h,j,m,a)},toRgb:function(){return{r:x(h),g:x(j),b:x(m),a:n}},toRgbString:function(){return 1==n?"rgb("+x(h)+", "+x(j)+", "+x(m)+")":"rgba("+x(h)+", "+x(j)+", "+x(m)+", "+o+")"},toPercentageRgb:function(){return{r:x(100*l(h,255))+"%",g:x(100*l(j,255))+"%",b:x(100*l(m,255))+"%",a:n}},toPercentageRgbString:function(){return 1==n?"rgb("+x(100*l(h,255))+"%, "+x(100*l(j,255))+"%, "+x(100*l(m,255))+"%)":"rgba("+x(100*l(h,255))+"%, "+x(100*l(j,255))+"%, "+x(100*l(m,255))+"%, "+o+")"},toName:function(){return 0===n?"transparent":C[i(h,j,m,!0)]||!1},toFilter:function(a){var c=i(h,j,m),e=c,f=Math.round(255*parseFloat(n)).toString(16),g=f,k=d&&d.gradientType?"GradientType = 1, ":"";if(a){var l=b(a);e=l.toHex(),g=Math.round(255*parseFloat(l.alpha)).toString(16)}return"progid:DXImageTransform.Microsoft.gradient("+k+"startColorstr=#"+q(f)+c+",endColorstr=#"+q(g)+e+")"},toString:function(a){var b=!!a;a=a||this.format;var c=!1,d=!b&&1>n&&n>0,e=d&&("hex"===a||"hex6"===a||"hex3"===a||"name"===a);return"rgb"===a&&(c=this.toRgbString()),"prgb"===a&&(c=this.toPercentageRgbString()),("hex"===a||"hex6"===a)&&(c=this.toHexString()),"hex3"===a&&(c=this.toHexString(!0)),"name"===a&&(c=this.toName()),"hsl"===a&&(c=this.toHslString()),"hsv"===a&&(c=this.toHsvString()),e?this.toRgbString():c||this.toHexString()}}}function c(a){var b={r:0,g:0,b:0},c=1,e=!1,g=!1;return"string"==typeof a&&(a=s(a)),"object"==typeof a&&(a.hasOwnProperty("r")&&a.hasOwnProperty("g")&&a.hasOwnProperty("b")?(b=d(a.r,a.g,a.b),e=!0,g="%"===String(a.r).substr(-1)?"prgb":"rgb"):a.hasOwnProperty("h")&&a.hasOwnProperty("s")&&a.hasOwnProperty("v")?(a.s=r(a.s),a.v=r(a.v),b=h(a.h,a.s,a.v),e=!0,g="hsv"):a.hasOwnProperty("h")&&a.hasOwnProperty("s")&&a.hasOwnProperty("l")&&(a.s=r(a.s),a.l=r(a.l),b=f(a.h,a.s,a.l),e=!0,g="hsl"),a.hasOwnProperty("a")&&(c=a.a)),c=k(c),{ok:e,format:a.format||g,r:y(255,z(b.r,0)),g:y(255,z(b.g,0)),b:y(255,z(b.b,0)),a:c}}function d(a,b,c){return{r:255*l(a,255),g:255*l(b,255),b:255*l(c,255)}}function e(a,b,c){a=l(a,255),b=l(b,255),c=l(c,255);var d,e,f=z(a,b,c),g=y(a,b,c),h=(f+g)/2;if(f==g)d=e=0;else{var i=f-g;switch(e=h>.5?i/(2-f-g):i/(f+g),f){case a:d=(b-c)/i+(c>b?6:0);break;case b:d=(c-a)/i+2;break;case c:d=(a-b)/i+4}d/=6}return{h:d,s:e,l:h}}function f(a,b,c){function d(a,b,c){return 0>c&&(c+=1),c>1&&(c-=1),1/6>c?a+6*(b-a)*c:.5>c?b:2/3>c?a+(b-a)*(2/3-c)*6:a}var e,f,g;if(a=l(a,360),b=l(b,100),c=l(c,100),0===b)e=f=g=c;else{var h=.5>c?c*(1+b):c+b-c*b,i=2*c-h;e=d(i,h,a+1/3),f=d(i,h,a),g=d(i,h,a-1/3)}return{r:255*e,g:255*f,b:255*g}}function g(a,b,c){a=l(a,255),b=l(b,255),c=l(c,255);var d,e,f=z(a,b,c),g=y(a,b,c),h=f,i=f-g;if(e=0===f?0:i/f,f==g)d=0;else{switch(f){case a:d=(b-c)/i+(c>b?6:0);break;case b:d=(c-a)/i+2;break;case c:d=(a-b)/i+4}d/=6}return{h:d,s:e,v:h}}function h(a,b,c){a=6*l(a,360),b=l(b,100),c=l(c,100);var d=w.floor(a),e=a-d,f=c*(1-b),g=c*(1-e*b),h=c*(1-(1-e)*b),i=d%6,j=[c,g,f,f,h,c][i],k=[h,c,c,g,f,f][i],m=[f,f,h,c,c,g][i];return{r:255*j,g:255*k,b:255*m}}function i(a,b,c,d){var e=[q(x(a).toString(16)),q(x(b).toString(16)),q(x(c).toString(16))];return d&&e[0].charAt(0)==e[0].charAt(1)&&e[1].charAt(0)==e[1].charAt(1)&&e[2].charAt(0)==e[2].charAt(1)?e[0].charAt(0)+e[1].charAt(0)+e[2].charAt(0):e.join("")}function j(a){var b={};for(var c in a)a.hasOwnProperty(c)&&(b[a[c]]=c);return b}function k(a){return a=parseFloat(a),(isNaN(a)||0>a||a>1)&&(a=1),a}function l(a,b){o(a)&&(a="100%");var c=p(a);return a=y(b,z(0,parseFloat(a))),c&&(a=parseInt(a*b,10)/100),w.abs(a-b)<1e-6?1:a%b/parseFloat(b)}function m(a){return y(1,z(0,a))}function n(a){return parseInt(a,16)}function o(a){return"string"==typeof a&&-1!=a.indexOf(".")&&1===parseFloat(a)}function p(a){return"string"==typeof a&&-1!=a.indexOf("%")}function q(a){return 1==a.length?"0"+a:""+a}function r(a){return 1>=a&&(a=100*a+"%"),a}function s(a){a=a.replace(t,"").replace(u,"").toLowerCase();var b=!1;if(B[a])a=B[a],b=!0;else if("transparent"==a)return{r:0,g:0,b:0,a:0,format:"name"};var c;return(c=D.rgb.exec(a))?{r:c[1],g:c[2],b:c[3]}:(c=D.rgba.exec(a))?{r:c[1],g:c[2],b:c[3],a:c[4]}:(c=D.hsl.exec(a))?{h:c[1],s:c[2],l:c[3]}:(c=D.hsla.exec(a))?{h:c[1],s:c[2],l:c[3],a:c[4]}:(c=D.hsv.exec(a))?{h:c[1],s:c[2],v:c[3]}:(c=D.hex6.exec(a))?{r:n(c[1]),g:n(c[2]),b:n(c[3]),format:b?"name":"hex"}:(c=D.hex3.exec(a))?{r:n(c[1]+""+c[1]),g:n(c[2]+""+c[2]),b:n(c[3]+""+c[3]),format:b?"name":"hex"}:!1}var t=/^[\s,#]+/,u=/\s+$/,v=0,w=Math,x=w.round,y=w.min,z=w.max,A=w.random;b.fromRatio=function(a,c){if("object"==typeof a){var d={};for(var e in a)a.hasOwnProperty(e)&&(d[e]="a"===e?a[e]:r(a[e]));a=d}return b(a,c)},b.equals=function(a,c){return a&&c?b(a).toRgbString()==b(c).toRgbString():!1},b.random=function(){return b.fromRatio({r:A(),g:A(),b:A()})},b.desaturate=function(a,c){c=0===c?0:c||10;var d=b(a).toHsl();return d.s-=c/100,d.s=m(d.s),b(d)},b.saturate=function(a,c){c=0===c?0:c||10;var d=b(a).toHsl();return d.s+=c/100,d.s=m(d.s),b(d)},b.greyscale=function(a){return b.desaturate(a,100)},b.lighten=function(a,c){c=0===c?0:c||10;var d=b(a).toHsl();return d.l+=c/100,d.l=m(d.l),b(d)},b.darken=function(a,c){c=0===c?0:c||10;var d=b(a).toHsl();return d.l-=c/100,d.l=m(d.l),b(d)},b.complement=function(a){var c=b(a).toHsl();return c.h=(c.h+180)%360,b(c)},b.triad=function(a){var c=b(a).toHsl(),d=c.h;return[b(a),b({h:(d+120)%360,s:c.s,l:c.l}),b({h:(d+240)%360,s:c.s,l:c.l})]},b.tetrad=function(a){var c=b(a).toHsl(),d=c.h;return[b(a),b({h:(d+90)%360,s:c.s,l:c.l}),b({h:(d+180)%360,s:c.s,l:c.l}),b({h:(d+270)%360,s:c.s,l:c.l})]},b.splitcomplement=function(a){var c=b(a).toHsl(),d=c.h;return[b(a),b({h:(d+72)%360,s:c.s,l:c.l}),b({h:(d+216)%360,s:c.s,l:c.l})]},b.analogous=function(a,c,d){c=c||6,d=d||30;var e=b(a).toHsl(),f=360/d,g=[b(a)];for(e.h=(e.h-(f*c>>1)+720)%360;--c;)e.h=(e.h+f)%360,g.push(b(e));return g},b.monochromatic=function(a,c){c=c||6;for(var d=b(a).toHsv(),e=d.h,f=d.s,g=d.v,h=[],i=1/c;c--;)h.push(b({h:e,s:f,v:g})),g=(g+i)%1;return h},b.readability=function(a,c){var d=b(a).toRgb(),e=b(c).toRgb(),f=(299*d.r+587*d.g+114*d.b)/1e3,g=(299*e.r+587*e.g+114*e.b)/1e3,h=Math.max(d.r,e.r)-Math.min(d.r,e.r)+Math.max(d.g,e.g)-Math.min(d.g,e.g)+Math.max(d.b,e.b)-Math.min(d.b,e.b);return{brightness:Math.abs(f-g),color:h}},b.readable=function(a,c){var d=b.readability(a,c);return d.brightness>125&&d.color>500},b.mostReadable=function(a,c){for(var d=null,e=0,f=!1,g=0;g125&&h.color>500,j=3*(h.brightness/125)+h.color/500;(i&&!f||i&&f&&j>e||!i&&!f&&j>e)&&(f=i,e=j,d=b(c[g]))}return d};var B=b.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},C=b.hexNames=j(B),D=function(){var a="[-\\+]?\\d+%?",b="[-\\+]?\\d*\\.\\d+%?",c="(?:"+b+")|(?:"+a+")",d="[\\s|\\(]+("+c+")[,|\\s]+("+c+")[,|\\s]+("+c+")\\s*\\)?",e="[\\s|\\(]+("+c+")[,|\\s]+("+c+")[,|\\s]+("+c+")[,|\\s]+("+c+")\\s*\\)?";return{rgb:new RegExp("rgb"+d),rgba:new RegExp("rgba"+e),hsl:new RegExp("hsl"+d),hsla:new RegExp("hsla"+e),hsv:new RegExp("hsv"+d),hex3:/^([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();a.tinycolor=b}(),b(function(){b.fn.spectrum.load&&b.fn.spectrum.processNativeColorInputs()})}(window,jQuery),define("spectrum",["jquery"],function(){}),define("directives/spectrumPicker",["angular","spectrum"],function(a){a.module("kibana.directives").directive("spectrumPicker",function(){return{restrict:"E",require:"ngModel",scope:!1,replace:!0,template:"",link:function(b,c,d,e){var f=c.find("input"),g=a.extend({showAlpha:!0,showButtons:!1,color:e.$viewValue,change:function(a){b.$apply(function(){e.$setViewValue(a.toRgbString())})}},b.$eval(d.options));e.$render=function(){f.spectrum("set",e.$viewValue||"")},f.spectrum(g)}}})}),define("directives/grafanaGraph",["angular","jquery","kbn","moment","underscore"],function(a,b,c,d,e){var f=a.module("kibana.directives");f.directive("grafanaGraph",["$rootScope","dashboard",function(f,g){return{restrict:"A",template:"
    ",link:function(h,i){function j(){try{var a=h.height||h.panel.height||h.row.height;return e.isString(a)&&(a=parseInt(a.replace("px",""),10)),a-=32,h.panel.legend.show&&(a-=21),i.css("height",a+"px"),!0}catch(b){return!1}}function k(){return u?f.fullscreen&&!h.fullscreen?!0:j()?e.isString(u)?(t(u),!0):void 0:!0:!0}function l(){if(!k()){var a=h.panel;e.each(e.keys(h.hiddenSeries),function(a){var b=e.find(u,function(b){return b.info.alias===a});b&&(x[b.info.alias]=b,u=e.without(u,b))});for(var c=a.stack?!0:null,d={legend:{show:!1},series:{stackpercent:a.stack?a.percentage:!1,stack:a.percentage?null:c,lines:{show:a.lines,zero:!1,fill:0===a.fill?.001:a.fill/10,lineWidth:a.linewidth,steps:a.steppedLine},bars:{show:a.bars,fill:1,barWidth:1,zero:!1,lineWidth:0},points:{show:a.points,fill:1,fillColor:!1,radius:a.pointradius},shadowSize:1},yaxes:[],xaxis:{},grid:{markings:[],backgroundColor:null,borderWidth:0,hoverable:!0,color:"#c8c8c8"},selection:{mode:"x",color:"#666"}},f=0;fb.grid.threshold2?-1/0:+1/0,a.grid.markings.push({yaxis:{from:b.grid.threshold2,to:d},color:b.grid.threshold2Color})}}}function o(a){if(w&&0!==w.length){var b={};e.each(w,function(c){b[c.annotation.name]||(b[c.annotation.name]={level:e.keys(b).length+1,icon:{icon:"icon-chevron-down",size:c.annotation.iconSize,color:c.annotation.iconColor}}),c.annotation.showLine&&a.grid.markings.push({color:c.annotation.lineColor,lineWidth:1,xaxis:{from:c.min,to:c.max}})}),a.events={levels:e.keys(b).length+1,data:w,types:b}}}function p(){if(h.panel.leftYAxisLabel){i.css("margin-left","10px");var a=b("
    ").text(h.panel.leftYAxisLabel).appendTo(i);a.css("margin-top",a.width()/2-20)}else i.css("margin-left")&&i.css("margin-left","") -}function q(a,b){var c={position:"left",show:h.panel["y-axis"],min:h.panel.grid.leftMin,max:h.panel.percentage&&h.panel.stack?100:h.panel.grid.leftMax};if(b.yaxes.push(c),e.findWhere(a,{yaxis:2})){var d=e.clone(c);d.position="right",d.min=h.panel.grid.rightMin,d.max=h.panel.percentage&&h.panel.stack?100:h.panel.grid.rightMax,b.yaxes.push(d),r(b.yaxes[1],h.panel.y_formats[1])}r(b.yaxes[0],h.panel.y_formats[0])}function r(a,b){"none"!==b&&(a.tickFormatter=c.getFormatFunction(b,1))}function s(a,b,c,d){if(c&&d&&b){var e=(d-c)/b/1e3;return 45>=e?"%H:%M:%S":3600>=e?"%H:%M":8e4>=e?"%m/%d %H:%M":2419200>=e?"%m/%d":"%Y-%m"}return"%H:%M"}function t(a){switch(a+="&width="+i.width(),a+="&height="+i.css("height").replace("px",""),a+="&bgcolor=1f1f1f",a+="&fgcolor=BBBFC2",a+=h.panel.stack?"&areaMode=stacked":"",a+=0!==h.panel.fill?"&areaAlpha="+(h.panel.fill/10).toFixed(1):"",a+=0!==h.panel.linewidth?"&lineWidth="+h.panel.linewidth:"",a+=h.panel.legend.show?"&hideLegend=false":"&hideLegend=true",a+=null!==h.panel.grid.min?"&yMin="+h.panel.grid.min:"",a+=null!==h.panel.grid.max?"&yMax="+h.panel.grid.max:"",a+=h.panel["x-axis"]?"":"&hideAxes=true",a+=h.panel["y-axis"]?"":"&hideYAxis=true",h.panel.y_formats[0]){case"bytes":a+="&yUnitSystem=binary";break;case"bits":a+="&yUnitSystem=binary";break;case"short":a+="&yUnitSystem=si";break;case"none":a+="&yUnitSystem=none"}switch(h.panel.nullPointMode){case"connected":a+="&lineMode=connected";break;case"null":break;case"null as zero":a+="&drawNullAsZero=true"}a+=h.panel.steppedLine?"&lineMode=staircase":"",i.html('')}var u,v,w,x={};h.$on("refresh",function(){h.otherPanelInFullscreenMode()||h.get_data()}),h.$on("toggleLegend",function(a,b){e.each(b,function(a){x[a.alias]&&(u.push(x[a.alias]),delete x[a.alias])}),l()}),h.$on("render",function(a,b){u=b||u,w=u.annotations,l()}),a.element(window).bind("resize",function(){l()});var y=b("
    ");i.bind("plothover",function(a,b,e){var f,i,j,k,l;e?(k=e.series.info,l=h.panel.y_formats[k.yaxis-1],f=k.alias?' '+decodeURIComponent(k.alias)+"
    ":c.query_color_dot(e.series.color,15)+" ",i=h.panel.stack&&"individual"===h.panel.tooltip.value_type?e.datapoint[1]-e.datapoint[2]:e.datapoint[1],i=c.getFormatFunction(l,2)(i),j="browser"===g.current.timezone?d(e.datapoint[0]).format("YYYY-MM-DD HH:mm:ss"):d.utc(e.datapoint[0]).format("YYYY-MM-DD HH:mm:ss"),y.html(f+i+" @ "+j).place_tt(b.pageX,b.pageY)):y.detach()}),i.bind("plotselected",function(a,b){h.$apply(function(){h.filter.setTime({from:d.utc(b.xaxis.from).toDate(),to:d.utc(b.xaxis.to).toDate()})})})}}}])}),function(a){function b(b,c){this.itemsArray=[],this.$element=a(b),this.$element.hide(),this.isSelect="SELECT"===b.tagName,this.multiple=this.isSelect&&b.hasAttribute("multiple"),this.objectItems=c&&c.itemValue,this.placeholderText=b.hasAttribute("placeholder")?this.$element.attr("placeholder"):"",this.inputSize=Math.max(1,this.placeholderText.length),this.$container=a('
    '),this.$input=a('').appendTo(this.$container),this.$element.after(this.$container),this.build(c)}function c(a,b){if("function"!=typeof a[b]){var c=a[b];a[b]=function(a){return a[c]}}}function d(a,b){if("function"!=typeof a[b]){var c=a[b];a[b]=function(){return c}}}function e(a){return a?h.text(a).html():""}function f(a){var b=0;if(document.selection){a.focus();var c=document.selection.createRange();c.moveStart("character",-a.value.length),b=c.text.length}else(a.selectionStart||"0"==a.selectionStart)&&(b=a.selectionStart);return b}var g={tagClass:function(){return"label label-info"},itemValue:function(a){return a?a.toString():a},itemText:function(a){return this.itemValue(a)},freeInput:!0,maxTags:void 0,confirmKeys:[13],onTagExists:function(a,b){b.hide().fadeIn()}};b.prototype={constructor:b,add:function(b,c){var d=this;if(!(d.options.maxTags&&d.itemsArray.length>=d.options.maxTags||b!==!1&&!b)){if("object"==typeof b&&!d.objectItems)throw"Can't add objects when itemValue option is not set";if(!b.toString().match(/^\s*$/)){if(d.isSelect&&!d.multiple&&d.itemsArray.length>0&&d.remove(d.itemsArray[0]),"string"==typeof b&&"INPUT"===this.$element[0].tagName){var f=b.split(",");if(f.length>1){for(var g=0;g'+e(i)+'');if(m.data("item",b),d.findInputWrapper().before(m),m.after(" "),d.isSelect&&!a('option[value="'+escape(h)+'"]',d.$element)[0]){var n=a("");n.data("item",b),n.attr("value",h),d.$element.append(n)}c||d.pushVal(),d.options.maxTags===d.itemsArray.length&&d.$container.addClass("bootstrap-tagsinput-max"),d.$element.trigger(a.Event("itemAdded",{item:b}))}}}},remove:function(b,c){var d=this;d.objectItems&&(b="object"==typeof b?a.grep(d.itemsArray,function(a){return d.options.itemValue(a)==d.options.itemValue(b)})[0]:a.grep(d.itemsArray,function(a){return d.options.itemValue(a)==b})[0]),b&&(a(".tag",d.$container).filter(function(){return a(this).data("item")===b}).remove(),a("option",d.$element).filter(function(){return a(this).data("item")===b}).remove(),d.itemsArray.splice(a.inArray(b,d.itemsArray),1)),c||d.pushVal(),d.options.maxTags>d.itemsArray.length&&d.$container.removeClass("bootstrap-tagsinput-max"),d.$element.trigger(a.Event("itemRemoved",{item:b}))},removeAll:function(){var b=this;for(a(".tag",b.$container).remove(),a("option",b.$element).remove();b.itemsArray.length>0;)b.itemsArray.pop();b.pushVal(),b.options.maxTags&&!this.isEnabled()&&this.enable()},refresh:function(){var b=this;a(".tag",b.$container).each(function(){var c=a(this),d=c.data("item"),f=b.options.itemValue(d),g=b.options.itemText(d),h=b.options.tagClass(d);if(c.attr("class",null),c.addClass("tag "+e(h)),c.contents().filter(function(){return 3==this.nodeType})[0].nodeValue=e(g),b.isSelect){var i=a("option",b.$element).filter(function(){return a(this).data("item")===d});i.attr("value",f)}})},items:function(){return this.itemsArray},pushVal:function(){var b=this,c=a.map(b.items(),function(a){return b.options.itemValue(a).toString()});b.$element.val(c,!0).trigger("change")},build:function(b){var e=this;e.options=a.extend({},g,b);var h=e.options.typeahead||{};e.objectItems&&(e.options.freeInput=!1),c(e.options,"itemValue"),c(e.options,"itemText"),c(e.options,"tagClass"),e.options.source&&(h.source=e.options.source),h.source&&a.fn.typeahead&&(d(h,"source"),e.$input.typeahead({source:function(b,c){function d(a){for(var b=[],d=0;d$1")}})),e.$container.on("click",a.proxy(function(){e.$input.focus()},e)),e.$container.on("keydown","input",a.proxy(function(b){var c=a(b.target),d=e.findInputWrapper();switch(b.which){case 8:if(0===f(c[0])){var g=d.prev();g&&e.remove(g.data("item"))}break;case 46:if(0===f(c[0])){var h=d.next();h&&e.remove(h.data("item"))}break;case 37:var i=d.prev();0===c.val().length&&i[0]&&(i.before(d),c.focus());break;case 39:var j=d.next();0===c.val().length&&j[0]&&(j.after(d),c.focus());break;default:e.options.freeInput&&a.inArray(b.which,e.options.confirmKeys)>=0&&(e.add(c.val()),c.val(""),b.preventDefault())}c.attr("size",Math.max(this.inputSize,c.val().length))},e)),e.$container.on("click","[data-role=remove]",a.proxy(function(b){e.remove(a(b.target).closest(".tag").data("item"))},e)),e.options.itemValue===g.itemValue&&("INPUT"===e.$element[0].tagName?e.add(e.$element.val()):a("option",e.$element).each(function(){e.add(a(this).attr("value"),!0)}))},destroy:function(){var a=this;a.$container.off("keypress","input"),a.$container.off("click","[role=remove]"),a.$container.remove(),a.$element.removeData("tagsinput"),a.$element.show()},focus:function(){this.$input.focus()},input:function(){return this.$input},findInputWrapper:function(){for(var b=this.$input[0],c=this.$container[0];b&&b.parentNode!==c;)b=b.parentNode;return a(b)}},a.fn.tagsinput=function(c,d){var e=[];return this.each(function(){var f=a(this).data("tagsinput");if(f){var g=f[c](d);void 0!==g&&e.push(g)}else f=new b(this,c),a(this).data("tagsinput",f),e.push(f),"SELECT"===this.tagName&&a("option",a(this)).attr("selected","selected"),a(this).val(a(this).val())}),"string"==typeof c?e.length>1?e:e[0]:e},a.fn.tagsinput.Constructor=b;var h=a("
    ");a(function(){a("input[data-role=tagsinput], select[multiple][data-role=tagsinput]").tagsinput()})}(window.jQuery),define("bootstrap-tagsinput",function(){}),define("directives/bootstrap-tagsinput",["angular","jquery","bootstrap-tagsinput"],function(a,b){a.module("kibana.directives").directive("bootstrapTagsinput",function(){function c(b,c){return c?a.isFunction(b.$parent[c])?b.$parent[c]:function(a){return a[c]}:void 0}return{restrict:"EA",scope:{model:"=ngModel"},template:"",replace:!1,link:function(d,e,f){a.isArray(d.model)||(d.model=[]);var g=b("select",e);f.placeholder&&g.attr("placeholder",f.placeholder),g.tagsinput({typeahead:{source:a.isFunction(d.$parent[f.typeaheadSource])?d.$parent[f.typeaheadSource]:null},itemValue:c(d,f.itemvalue),itemText:c(d,f.itemtext),tagClass:a.isFunction(d.$parent[f.tagclass])?d.$parent[f.tagclass]:function(){return f.tagclass}}),g.on("itemAdded",function(a){-1===d.model.indexOf(a.item)&&d.model.push(a.item)}),g.on("itemRemoved",function(a){var b=d.model.indexOf(a.item);-1!==b&&d.model.splice(b,1)}),d.$watch("model",function(){a.isArray(d.model)||(d.model=[]),g.tagsinput("removeAll");for(var b=0;b',""];return a.forEach(b,function(a,b){if(a.divider)return f.splice(b+1,0,'
  • ');var c=""+(a.text||"")+"";a.submenu&&a.submenu.length&&(c+=e(a.submenu).join("\n")),c+="",f.splice(b+1,0,c)}),f}return{restrict:"EA",scope:!0,link:function(f,g,h){var i=b(h.gfDropdown),j=i(f);d(function(){var b=g.data("placement"),d=a.element(e(j,b).join(""));d.insertAfter(g),c(g.next("ul.dropdown-menu"))(f)}),g.addClass("dropdown-toggle").attr("data-toggle","dropdown")}}}])}),define("directives/bodyClass",["angular","app","underscore"],function(a,b,c){a.module("kibana.directives").directive("bodyClass",function(){return{link:function(a,b){var d,e;a.$watch("dashboard.current.pulldowns",function(){var e=c.find(a.dashboard.current.pulldowns,function(a){return a.enable}),f=e?e.enable:!1;d!==f&&(b.toggleClass("submenu-controls-visible",f),d=f)},!0),a.$watch("dashboard.current.hideControls",function(){var c=a.dashboard.current.hideControls||a.playlist_active;e!==c&&(b.toggleClass("hide-controls",c),e=c)}),a.$watch("playlist_active",function(){b.toggleClass("hide-controls",a.playlist_active===!0),b.toggleClass("playlist-active",a.playlist_active===!0)})}}})}),define("directives/addGraphiteFunc",["angular","app","underscore","jquery","../services/graphite/gfunc"],function(a,b,c,d,e){function f(a){return c.reduce(a,function(a,b){return c.each(b,function(b){a.push(b.name)}),a},[])}function g(a){return c.map(a,function(a,b){return{text:b,submenu:c.map(a,function(a){return{text:a.name,click:"addFunction('"+a.name+"')"}})}})}a.module("kibana.directives").directive("graphiteAddFunc",["$compile",function(a){var b='',c='';return{link:function(h,i){var j=e.getCategories(),k=f(j);h.functionMenu=g(j);var l=d(b),m=d(c);l.appendTo(i),m.appendTo(i),l.attr("data-provide","typeahead"),l.typeahead({source:k,minLength:1,items:10,updater:function(a){var b=e.getFuncDef(a);return h.$apply(function(){h.addFunction(b)}),l.trigger("blur"),""}}),m.click(function(){m.hide(),l.show(),l.focus()}),l.keyup(function(){i.toggleClass("open",""===l.val())}),l.blur(function(){l.hide(),l.val(""),m.show(),m.focus(),setTimeout(function(){i.removeClass("open")},200)}),a(i.contents())(h)}}}])}),define("directives/graphiteFuncEditor",["angular","underscore","jquery"],function(a,b,c){a.module("kibana.directives").directive("graphiteFuncEditor",["$compile",function(a){var d='{{func.def.name}}(',e='',f='
    ';return{restrict:"A",link:function(g,h){function i(a){var b=c(this),d=b.next();d.val(w.params[a]),d.css("width",b.width()+16+"px"),b.hide(),d.show(),d.focus(),d.select();var e=d.data("typeahead");e&&(d.val(""),e.lookup())}function j(){z!==w.params.length&&(y||(y=!0,setTimeout(function(){t(),y=!1},200)))}function k(a){var b=c(this),d=b.prev();(""!==b.val()||w.def.params[a].optional)&&(d.text(b.val()),w.updateParam(b.val(),a),j(),g.$apply(g.targetChanged)),b.hide(),d.show()}function l(a,b){13===b.which&&k.call(this,a)}function m(){this.style.width=8*(3+this.value.length)+"px"}function n(a,c){a.attr("data-provide","typeahead");var d=x.params[c].options;"int"===x.params[c].type&&(d=b.map(d,function(a){return a.toString()})),a.typeahead({source:d,minLength:0,items:20,updater:function(b){return setTimeout(function(){k.call(a[0],c)},0),b}});var e=a.data("typeahead");e.lookup=function(){return this.query=this.$element.val()||"",this.process(this.source)}}function o(){var a=h.closest(".grafana-target-inner");return h.hasClass("show-function-controls")?(h.removeClass("show-function-controls"),a.removeClass("has-open-function"),void v.hide()):(h.addClass("show-function-controls"),a.addClass("has-open-function"),void v.show())}function p(){v.appendTo(h),u.appendTo(h),b.each(x.params,function(a,d){if(!a.optional||w.params[d]){d>0&&c(", ").appendTo(h);var f=c(''+w.params[d]+""),g=c(e);z++,f.appendTo(h),g.appendTo(h),g.blur(b.partial(k,d)),g.keyup(m),g.keypress(b.partial(l,d)),f.click(b.partial(i,d)),x.params[d].options&&n(g,d)}}),c(")").appendTo(h),a(h.contents())(g)}function q(){g.func.added&&(g.func.added=!1,setTimeout(function(){h.find(".graphite-func-param-link").first().click()},10))}function r(){u.click(o)}function s(){v.click(function(a){var d=c(a.target);return d.hasClass("icon-remove")?(o(),void g.$apply(function(){g.removeFunction(g.func)})):d.hasClass("icon-arrow-left")?void g.$apply(function(){b.move(g.functions,g.$index,g.$index-1)}):d.hasClass("icon-arrow-right")?void g.$apply(function(){b.move(g.functions,g.$index,g.$index+1)}):d.hasClass("icon-info-sign")?void window.open("http://graphite.readthedocs.org/en/latest/functions.html#graphite.render.functions."+x.name,"_blank"):void 0})}function t(){h.children().remove(),p(),q(),r(),s()}var u=c(d),v=c(f),w=g.func,x=w.def,y=!1,z=0;t()}}}])}),define("directives/grafanaVersionCheck",["angular"],function(a){a.module("kibana.directives").directive("grafanaVersionCheck",["$http","grafanaVersion",function(a,b){return{restrict:"A",link:function(c,d){"@"!==b[0]&&a({method:"GET",url:"http://grafanarel.s3.amazonaws.com/latest.json"}).then(function(a){a.data&&a.data.version&&b!==a.data.version&&d.append('')})}}}])}),define("directives/influxdbFuncEditor",["angular","underscore","jquery"],function(a,b,c){a.module("kibana.directives").directive("influxdbFuncEditor",["$compile",function(a){var d='{{target.function}}(',e='';return{restrict:"A",link:function(f,g){function h(){var a=c(this),b=a.next();b.val(f.target.column),b.css("width",a.width()+16+"px"),a.hide(),b.show(),b.focus(),b.select();var d=b.data("typeahead");d&&(b.val(""),d.lookup())}function i(){var a=c(this),b=a.prev();""!==a.val()&&(b.text(a.val()),f.target.column=a.val(),f.$apply(f.get_data)),a.hide(),b.show()}function j(a){13===a.which&&i.call(this)}function k(){this.style.width=8*(3+this.value.length)+"px"}function l(a){a.attr("data-provide","typeahead"),a.typeahead({source:function(){return f.listColumns.apply(null,arguments)},minLength:0,items:20,updater:function(b){return setTimeout(function(){i.call(a[0])},0),b}});var b=a.data("typeahead");b.lookup=function(){var a;return this.query=this.$element.val()||"",a=this.source(this.query,c.proxy(this.process,this)),a?this.process(a):a}}function m(){n.appendTo(g);var b=c(''+f.target.column+""),d=c(e);b.appendTo(g),d.appendTo(g),d.blur(i),d.keyup(k),d.keypress(j),b.click(h),l(d),c(")").appendTo(g),a(g.contents())(f)}var n=c(d);f.functionMenu=b.map(f.functions,function(a){return{text:a,click:"changeFunction('"+a+"');"}}),m()}}}])}),define("directives/all",["./addPanel","./arrayJoin","./dashUpload","./kibanaPanel","./kibanaSimplePanel","./ngBlur","./ngModelOnBlur","./tip","./confirmClick","./configModal","./spectrumPicker","./grafanaGraph","./bootstrap-tagsinput","./bodyClass","./addGraphiteFunc","./graphiteFuncEditor","./grafanaVersionCheck","./influxdbFuncEditor"],function(){}),define("filters/all",["angular","jquery","underscore","moment"],function(a,b,c,d){var e=a.module("kibana.filters");e.filter("stringSort",function(){return function(a){return a.sort()}}),e.filter("esVersion",["esVersion",function(a){return function(b,d){var e=c.filter(b,function(b){return a.is(b[d])?!0:!1});return e}}]),e.filter("slice",function(){return function(a,b,d){return c.isUndefined(a)?void 0:a.slice(b,d)}}),e.filter("stringify",function(){return function(b){return c.isObject(b)&&!c.isArray(b)?a.toJson(b):c.isNull(b)?null:b.toString()}}),e.filter("moment",function(){return function(a,b){switch(b){case"ago":return d(a).fromNow()}return d(a).fromNow()}}),e.filter("noXml",function(){var a=function(a){return c.isString(a)?a.replace(/&/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,"""):a};return function(b){return c.isArray(b)?c.map(b,a):a(b)}}),e.filter("urlLink",function(){var a=/(\b(https?|ftp):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/gim,b=/(^|[^\/])(www\.[\S]+(\b|$))/gim,d=/(\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,6})/gim,e=function(e){var f,g,h;return c.isString(e)?(c.each(e.match(a),function(){f=e.replace(a,'$1')}),e=f||e,c.each(e.match(b),function(){g=e.replace(b,'$1$2')}),e=g||e,c.each(e.match(d),function(){h=e.replace(d,'$1')}),e=h||e):e};return function(a){return c.isArray(a)?c.map(a,e):e(a)}}),e.filter("gistid",function(){var a=/(\d{5,})|([a-z0-9]{10,})|(gist.github.com(\/*.*)\/[a-z0-9]{5,}\/*$)/;return function(b){if(!c.isUndefined(b)){var d=b.match(a);if(!c.isNull(d)&&!c.isUndefined(d))return d[0].replace(/.*\//,"")}}})}),define("components/partials",["angular"],function(a){a.module("kibana").run(["$templateCache",function(a){a.put("app/panels/annotations/editor.html",''),a.put("app/panels/graph/axisEditor.html",'
    Left Y Axis
    Right Y Axis
    Grid thresholds
    Legend
    Legend values
    Show Axes
    '),a.put("app/panels/graph/legend.html",' {{series.alias}}   Current: {{series.current}}    Min: {{series.min}}    Max: {{series.max}}    Total: {{series.total}}    Avg: {{series.avg}} '),a.put("app/panels/graph/styleEditor.html",'
    Chart Options
    Line options
    Multiple Series
    Rendering
    '),a.put("app/panels/text/editor.html","
    "),a.put("app/panels/timepicker/custom.html",''),a.put("app/panels/timepicker/editor.html",'
    '),a.put("app/panels/timepicker/refreshctrl.html",'

    '),a.put("app/partials/dashLoader.html",'
  • Back to dashboard
  • Zoom Out
  • Stop playlist
  • '),a.put("app/partials/dashLoaderShare.html",''),a.put("app/partials/dashboard.html",'
    '),a.put("app/partials/dasheditor.html",''),a.put("app/partials/graphite/editor.html",''),a.put("app/partials/import.html",'
    Import dashboards from graphite web
    {{dash.name}}
    {{error}}
    '),a.put("app/partials/influxdb/editor.html",'
    '),a.put("app/partials/inspector.html",''),a.put("app/partials/kairosdb/editor.html",'
    '),a.put("app/partials/load.html",'
    type:{{type}}
    id:{{id}}
    '),a.put("app/partials/loadmetrics.html",'
    Load metrics keys into elastic search

    Work in progress...

    '),a.put("app/partials/metrics.html",'
    '),a.put("app/partials/modal.html",''),a.put("app/partials/opentsdb/editor.html",'
    '),a.put("app/partials/paneladd.html",'
    {{tab.title}}
    '),a.put("app/partials/paneleditor.html",''),a.put("app/partials/panelgeneral.html",'
    General options
    '),a.put("app/partials/playlist.html",'
    '),a.put("app/partials/roweditor.html",''),a.put("app/partials/search.html",''),a.put("app/partials/unsaved-changes.html",'') -}])}),define("app",["angular","jquery","underscore","require","elasticjs","bootstrap","angular-sanitize","angular-strap","angular-dragdrop","extend-jquery","bindonce"],function(a,b,c,d){var e=a.module("kibana",[]),f=[],g={};e.constant("grafanaVersion","1.6.1"),e.constant("cacheBust","cache-bust="+Date.now()),e.useModule=function(a){return f?f.push(a):c.extend(a,g),a},e.safeApply=function(a,b){switch(a.$$phase){case"$apply":a.$eval(b);break;case"$digest":setTimeout(function(){e.safeApply(a,b)},10);break;default:a.$apply(b)}},e.config(["$routeProvider","$controllerProvider","$compileProvider","$filterProvider","$provide",function(a,b,c,d,e){a.when("/dashboard",{templateUrl:"app/partials/dashboard.html"}).when("/dashboard/:kbnType/:kbnId",{templateUrl:"app/partials/dashboard.html"}).when("/dashboard/:kbnType/:kbnId/:params",{templateUrl:"app/partials/dashboard.html"}).otherwise({redirectTo:"dashboard"}),g.controller=b.register,g.directive=c.directive,g.factory=e.factory,g.service=e.service,g.filter=d.register}]);var h=["elasticjs.service","$strap.directives","ngSanitize","ngDragDrop","kibana","pasvaz.bindonce"],i=["controllers","directives","factories","services","services.dashboard","filters"];return c.each(i,function(b){var c="kibana."+b;e.useModule(a.module(c,[])),h.push(c)}),require(["controllers/all","directives/all","filters/all","components/partials"],function(){a.element(document).ready(function(){b("body").attr("ng-controller","DashCtrl"),a.bootstrap(document,h).invoke(["$rootScope",function(a){c.each(f,function(a){c.extend(a,g)}),f=!1,a.requireContext=d,a.require=function(a,b){var d=this;d.requireContext(a,function(){var a=c.toArray(arguments);d.$id&&d.$apply(function(){b.apply(d,a)})})}}])})}),e}),define("css",{load:function(a,b,c){function d(a){var b=document.getElementsByTagName("head")[0],c=document.createElement("link");c.href=a,c.rel="stylesheet",c.type="text/css",b.appendChild(c)}d(requirejs.toUrl(a)),c(!0)},pluginBuilder:"../vendor/require/css-build"}),define("text",["module"],function(a){var b,c,d,e,f,g=["Msxml2.XMLHTTP","Microsoft.XMLHTTP","Msxml2.XMLHTTP.4.0"],h=/^\s*<\?xml(\s)+version=[\'\"](\d)*.(\d)*[\'\"](\s)*\?>/im,i=/]*>\s*([\s\S]+)\s*<\/body>/im,j="undefined"!=typeof location&&location.href,k=j&&location.protocol&&location.protocol.replace(/\:/,""),l=j&&location.hostname,m=j&&(location.port||void 0),n={},o=a.config&&a.config()||{};return b={version:"2.0.10",strip:function(a){if(a){a=a.replace(h,"");var b=a.match(i);b&&(a=b[1])}else a="";return a},jsEscape:function(a){return a.replace(/(['\\])/g,"\\$1").replace(/[\f]/g,"\\f").replace(/[\b]/g,"\\b").replace(/[\n]/g,"\\n").replace(/[\t]/g,"\\t").replace(/[\r]/g,"\\r").replace(/[\u2028]/g,"\\u2028").replace(/[\u2029]/g,"\\u2029")},createXhr:o.createXhr||function(){var a,b,c;if("undefined"!=typeof XMLHttpRequest)return new XMLHttpRequest;if("undefined"!=typeof ActiveXObject)for(b=0;3>b;b+=1){c=g[b];try{a=new ActiveXObject(c)}catch(d){}if(a){g=[c];break}}return a},parseName:function(a){var b,c,d,e=!1,f=a.indexOf("."),g=0===a.indexOf("./")||0===a.indexOf("../");return-1!==f&&(!g||f>1)?(b=a.substring(0,f),c=a.substring(f+1,a.length)):b=a,d=c||b,f=d.indexOf("!"),-1!==f&&(e="strip"===d.substring(f+1),d=d.substring(0,f),c?c=d:b=d),{moduleName:b,ext:c,strip:e}},xdRegExp:/^((\w+)\:)?\/\/([^\/\\]+)/,useXhr:function(a,c,d,e){var f,g,h,i=b.xdRegExp.exec(a);return i?(f=i[2],g=i[3],g=g.split(":"),h=g[1],g=g[0],!(f&&f!==c||g&&g.toLowerCase()!==d.toLowerCase()||(h||g)&&h!==e)):!0},finishLoad:function(a,c,d,e){d=c?b.strip(d):d,o.isBuild&&(n[a]=d),e(d)},load:function(a,c,d,e){if(e.isBuild&&!e.inlineText)return void d();o.isBuild=e.isBuild;var f=b.parseName(a),g=f.moduleName+(f.ext?"."+f.ext:""),h=c.toUrl(g),i=o.useXhr||b.useXhr;return 0===h.indexOf("empty:")?void d():void(!j||i(h,k,l,m)?b.get(h,function(c){b.finishLoad(a,f.strip,c,d)},function(a){d.error&&d.error(a)}):c([g],function(a){b.finishLoad(f.moduleName+"."+f.ext,f.strip,a,d)}))},write:function(a,c,d){if(n.hasOwnProperty(c)){var e=b.jsEscape(n[c]);d.asModule(a+"!"+c,"define(function () { return '"+e+"';});\n")}},writeFile:function(a,c,d,e,f){var g=b.parseName(c),h=g.ext?"."+g.ext:"",i=g.moduleName+h,j=d.toUrl(g.moduleName+h)+".js";b.load(i,d,function(){var c=function(a){return e(j,a)};c.asModule=function(a,b){return e.asModule(a,j,b)},b.write(a,i,c,f)},f)}},"node"===o.env||!o.env&&"undefined"!=typeof process&&process.versions&&process.versions.node&&!process.versions["node-webkit"]?(c=require.nodeRequire("fs"),b.get=function(a,b,d){try{var e=c.readFileSync(a,"utf8");0===e.indexOf("")&&(e=e.substring(1)),b(e)}catch(f){d(f)}}):"xhr"===o.env||!o.env&&b.createXhr()?b.get=function(a,c,d,e){var f,g=b.createXhr();if(g.open("GET",a,!0),e)for(f in e)e.hasOwnProperty(f)&&g.setRequestHeader(f.toLowerCase(),e[f]);o.onXhr&&o.onXhr(g,a),g.onreadystatechange=function(){var b,e;4===g.readyState&&(b=g.status,b>399&&600>b?(e=new Error(a+" HTTP status: "+b),e.xhr=g,d(e)):c(g.responseText),o.onXhrComplete&&o.onXhrComplete(g,a))},g.send(null)}:"rhino"===o.env||!o.env&&"undefined"!=typeof Packages&&"undefined"!=typeof java?b.get=function(a,b){var c,d,e="utf-8",f=new java.io.File(a),g=java.lang.System.getProperty("line.separator"),h=new java.io.BufferedReader(new java.io.InputStreamReader(new java.io.FileInputStream(f),e)),i="";try{for(c=new java.lang.StringBuffer,d=h.readLine(),d&&d.length()&&65279===d.charAt(0)&&(d=d.substring(1)),null!==d&&c.append(d);null!==(d=h.readLine());)c.append(g),c.append(d);i=String(c.toString())}finally{h.close()}b(i)}:("xpconnect"===o.env||!o.env&&"undefined"!=typeof Components&&Components.classes&&Components.interfaces)&&(d=Components.classes,e=Components.interfaces,Components.utils["import"]("resource://gre/modules/FileUtils.jsm"),f="@mozilla.org/windows-registry-key;1"in d,b.get=function(a,b){var c,g,h,i={};f&&(a=a.replace(/\//g,"\\")),h=new FileUtils.File(a);try{c=d["@mozilla.org/network/file-input-stream;1"].createInstance(e.nsIFileInputStream),c.init(h,1,0,!1),g=d["@mozilla.org/intl/converter-input-stream;1"].createInstance(e.nsIConverterInputStream),g.init(c,"utf-8",c.available(),e.nsIConverterInputStream.DEFAULT_REPLACEMENT_CHARACTER),g.readString(c.available(),i),g.close(),c.close(),b(i.value)}catch(j){throw new Error((h&&h.path||"")+": "+j)}}),b}),function(a){a.color={},a.color.make=function(b,c,d,e){var f={};return f.r=b||0,f.g=c||0,f.b=d||0,f.a=null!=e?e:1,f.add=function(a,b){for(var c=0;c=1?"rgb("+[f.r,f.g,f.b].join(",")+")":"rgba("+[f.r,f.g,f.b,f.a].join(",")+")"},f.normalize=function(){function a(a,b,c){return a>b?a:b>c?c:b}return f.r=a(0,parseInt(f.r),255),f.g=a(0,parseInt(f.g),255),f.b=a(0,parseInt(f.b),255),f.a=a(0,f.a,1),f},f.clone=function(){return a.color.make(f.r,f.b,f.g,f.a)},f.normalize()},a.color.extract=function(b,c){var d;do{if(d=b.css(c).toLowerCase(),""!=d&&"transparent"!=d)break;b=b.parent()}while(!a.nodeName(b.get(0),"body"));return"rgba(0, 0, 0, 0)"==d&&(d="transparent"),a.color.parse(d)},a.color.parse=function(c){var d,e=a.color.make;if(d=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(c))return e(parseInt(d[1],10),parseInt(d[2],10),parseInt(d[3],10));if(d=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(c))return e(parseInt(d[1],10),parseInt(d[2],10),parseInt(d[3],10),parseFloat(d[4]));if(d=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(c))return e(2.55*parseFloat(d[1]),2.55*parseFloat(d[2]),2.55*parseFloat(d[3]));if(d=/rgba\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(c))return e(2.55*parseFloat(d[1]),2.55*parseFloat(d[2]),2.55*parseFloat(d[3]),parseFloat(d[4]));if(d=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(c))return e(parseInt(d[1],16),parseInt(d[2],16),parseInt(d[3],16));if(d=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(c))return e(parseInt(d[1]+d[1],16),parseInt(d[2]+d[2],16),parseInt(d[3]+d[3],16));var f=a.trim(c).toLowerCase();return"transparent"==f?e(255,255,255,0):(d=b[f]||[0,0,0],e(d[0],d[1],d[2]))};var b={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0]}}(jQuery),function(a){function b(b,c){var d=c.children("."+b)[0];if(null==d&&(d=document.createElement("canvas"),d.className=b,a(d).css({direction:"ltr",position:"absolute",left:0,top:0}).appendTo(c),!d.getContext)){if(!window.G_vmlCanvasManager)throw new Error("Canvas is not available. If you're using IE with a fall-back such as Excanvas, then there's either a mistake in your conditional include, or the page has no DOCTYPE and is rendering in Quirks Mode.");d=window.G_vmlCanvasManager.initElement(d)}this.element=d;var e=this.context=d.getContext("2d"),f=window.devicePixelRatio||1,g=e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1;this.pixelRatio=f/g,this.resize(c.width(),c.height()),this.textContainer=null,this.text={},this._textCache={}}function c(c,e,f,g){function h(a,b){b=[qb].concat(b);for(var c=0;cd;++d)e=eb.xaxes[d],e&&!e.tickColor&&(e.tickColor=e.color),e=a.extend(!0,{},eb.xaxis,e),eb.xaxes[d]=e,e.font&&(e.font=a.extend({},g,e.font),e.font.color||(e.font.color=e.color));for(f=eb.yaxes.length||1,d=0;f>d;++d)e=eb.yaxes[d],e&&!e.tickColor&&(e.tickColor=e.color),e=a.extend(!0,{},eb.yaxis,e),eb.yaxes[d]=e,e.font&&(e.font=a.extend({},g,e.font),e.font.color||(e.font.color=e.color));for(eb.xaxis.noTicks&&null==eb.xaxis.ticks&&(eb.xaxis.ticks=eb.xaxis.noTicks),eb.yaxis.noTicks&&null==eb.yaxis.ticks&&(eb.yaxis.ticks=eb.yaxis.noTicks),eb.x2axis&&(eb.xaxes[1]=a.extend(!0,{},eb.xaxis,eb.x2axis),eb.xaxes[1].position="top"),eb.y2axis&&(eb.yaxes[1]=a.extend(!0,{},eb.yaxis,eb.y2axis),eb.yaxes[1].position="right"),eb.grid.coloredAreas&&(eb.grid.markings=eb.grid.coloredAreas),eb.grid.coloredAreasColor&&(eb.grid.markingsColor=eb.grid.coloredAreasColor),eb.lines&&a.extend(!0,eb.series.lines,eb.lines),eb.points&&a.extend(!0,eb.series.points,eb.points),eb.bars&&a.extend(!0,eb.series.bars,eb.bars),null!=eb.shadowSize&&(eb.series.shadowSize=eb.shadowSize),null!=eb.highlightColor&&(eb.series.highlightColor=eb.highlightColor),d=0;dd&&(d=e))}d>=c&&(c=d+1);var f,g=[],h=eb.colors,i=h.length,j=0;for(b=0;c>b;b++)f=a.color.parse(h[b%i]||"#666"),b%i==0&&b&&(j=j>=0?.5>j?-j-.2:0:-j),g[b]=f.scale("rgb",1+j);var k,l=0;for(b=0;ba.datamax&&c!=s&&(a.datamax=c)}var c,d,e,f,g,i,j,k,l,m,o,p,q=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY,s=Number.MAX_VALUE;for(a.each(n(),function(a,b){b.datamin=q,b.datamax=r,b.used=!1}),c=0;cf;++f)k=m[f],l=p[f],l&&(l.number&&null!=k&&(k=+k,isNaN(k)?k=null:1/0==k?k=s:k==-1/0&&(k=-s)),null==k&&(l.required&&(v=!0),null!=l.defaultValue&&(k=l.defaultValue))),i[e+f]=k;if(v)for(f=0;j>f;++f)k=i[e+f],null!=k&&(l=p[f],l.autoscale&&(l.x&&b(g.xaxis,k,k),l.y&&b(g.yaxis,k,k))),i[e+f]=null;else if(u&&e>0&&null!=i[e-j]&&i[e-j]!=i[e]&&i[e-j+1]!=i[e+1]){for(f=0;j>f;++f)i[e+j+f]=i[e+f];i[e+1]=i[e-j+1],e+=j}}}}for(c=0;cf;++f)k=i[d+f],l=p[f],l&&l.autoscale!==!1&&k!=s&&k!=-s&&(l.x&&(w>k&&(w=k),k>y&&(y=k)),l.y&&(x>k&&(x=k),k>z&&(z=k)));if(g.bars.show){var A;switch(g.bars.align){case"left":A=0;break;case"right":A=-g.bars.barWidth;break;case"center":A=-g.bars.barWidth/2;break;default:throw new Error("Invalid bar alignment: "+g.bars.align)}g.bars.horizontal?(x+=A,z+=A+g.bars.barWidth):(w+=A,y+=A+g.bars.barWidth)}b(g.xaxis,w,y),b(g.yaxis,x,z)}a.each(n(),function(a,b){b.datamin==q&&(b.datamin=null),b.datamax==r&&(b.datamax=null)})}function t(){c.css("padding",0).children(":not(.flot-base,.flot-overlay)").remove(),"static"==c.css("position")&&c.css("position","relative"),fb=new b("flot-base",c),gb=new b("flot-overlay",c),ib=fb.context,jb=gb.context,hb=a(gb.element).unbind();var d=c.data("plot");d&&(d.shutdown(),gb.clear()),c.data("plot",qb)}function u(){eb.grid.hoverable&&(hb.mousemove(T),hb.bind("mouseleave",U)),eb.grid.clickable&&hb.click(V),h(pb.bindEvents,[hb])}function v(){sb&&clearTimeout(sb),hb.unbind("mousemove",T),hb.unbind("mouseleave",U),hb.unbind("click",V),h(pb.shutdown,[hb])}function w(a){function b(a){return a}var c,d,e=a.options.transform||b,f=a.options.inverseTransform;"x"==a.direction?(c=a.scale=nb/Math.abs(e(a.max)-e(a.min)),d=Math.min(e(a.max),e(a.min))):(c=a.scale=ob/Math.abs(e(a.max)-e(a.min)),c=-c,d=Math.max(e(a.max),e(a.min))),a.p2c=e==b?function(a){return(a-d)*c}:function(a){return(e(a)-d)*c},a.c2p=f?function(a){return f(d+a/c)}:function(a){return d+a/c}}function x(a){var b=a.options,c=a.ticks||[],d=b.labelWidth||0,e=b.labelHeight||0,f=d||"x"==a.direction?Math.floor(fb.width/(c.length||1)):null;legacyStyles=a.direction+"Axis "+a.direction+a.n+"Axis",layer="flot-"+a.direction+"-axis flot-"+a.direction+a.n+"-axis "+legacyStyles,font=b.font||"flot-tick-label tickLabel";for(var g=0;g=0;--b)y(g[b]);A(),a.each(g,function(a,b){z(b)})}nb=fb.width-mb.left-mb.right,ob=fb.height-mb.bottom-mb.top,a.each(c,function(a,b){w(b)}),d&&K(),R()}function C(a){var b=a.options,c=+(null!=b.min?b.min:a.datamin),d=+(null!=b.max?b.max:a.datamax),e=d-c;if(0==e){var f=0==d?1:.01;null==b.min&&(c-=f),(null==b.max||null!=b.min)&&(d+=f)}else{var g=b.autoscaleMargin;null!=g&&(null==b.min&&(c-=e*g,0>c&&null!=a.datamin&&a.datamin>=0&&(c=0)),null==b.max&&(d+=e*g,d>0&&null!=a.datamax&&a.datamax<=0&&(d=0)))}a.min=c,a.max=d}function D(b){var c,e=b.options;c="number"==typeof e.ticks&&e.ticks>0?e.ticks:.3*Math.sqrt("x"==b.direction?fb.width:fb.height);var f=(b.max-b.min)/c,g=-Math.floor(Math.log(f)/Math.LN10),h=e.tickDecimals;null!=h&&g>h&&(g=h);var i,j=Math.pow(10,-g),k=f/j;if(1.5>k?i=1:3>k?(i=2,k>2.25&&(null==h||h>=g+1)&&(i=2.5,++g)):i=7.5>k?5:10,i*=j,null!=e.minTickSize&&i0&&(null==e.min&&(b.min=Math.min(b.min,m[0])),null==e.max&&m.length>1&&(b.max=Math.max(b.max,m[m.length-1]))),b.tickGenerator=function(a){var b,c,d=[];for(c=0;c1&&/\..*0$/.test((o[1]-o[0]).toFixed(n))||(b.tickDecimals=n)}}}}function E(b){var c=b.options.ticks,d=[];null==c||"number"==typeof c&&c>0?d=b.tickGenerator(b):c&&(d=a.isFunction(c)?c(b):c);var e,f;for(b.ticks=[],e=0;e1&&(g=h[1])):f=+h,null==g&&(g=b.tickFormatter(f,b)),isNaN(f)||b.ticks.push({v:f,label:g})}}function F(a,b){a.options.autoscaleMargin&&b.length>0&&(null==a.options.min&&(a.min=Math.min(a.min,b[0].v)),null==a.options.max&&b.length>1&&(a.max=Math.max(a.max,b[b.length-1].v)))}function G(){fb.clear(),h(pb.drawBackground,[ib]);var a=eb.grid;a.show&&a.backgroundColor&&I(),a.show&&!a.aboveData&&J();for(var b=0;be){var i=d;d=e,e=i}return{from:d,to:e,axis:c}}function I(){ib.save(),ib.translate(mb.left,mb.top),ib.fillStyle=cb(eb.grid.backgroundColor,ob,0,"rgba(255, 255, 255, 0)"),ib.fillRect(0,0,nb,ob),ib.restore()}function J(){var b,c,d,e;ib.save(),ib.translate(mb.left,mb.top);var f=eb.grid.markings;if(f)for(a.isFunction(f)&&(c=qb.getAxes(),c.xmin=c.xaxis.min,c.xmax=c.xaxis.max,c.ymin=c.yaxis.min,c.ymax=c.yaxis.max,f=f(c)),b=0;bh.axis.max||i.toi.axis.max||(h.from=Math.max(h.from,h.axis.min),h.to=Math.min(h.to,h.axis.max),i.from=Math.max(i.from,i.axis.min),i.to=Math.min(i.to,i.axis.max),(h.from!=h.to||i.from!=i.to)&&(h.from=h.axis.p2c(h.from),h.to=h.axis.p2c(h.to),i.from=i.axis.p2c(i.from),i.to=i.axis.p2c(i.to),h.from==h.to||i.from==i.to?(ib.beginPath(),ib.strokeStyle=g.color||eb.grid.markingsColor,ib.lineWidth=g.lineWidth||eb.grid.markingsLineWidth,ib.moveTo(h.from,i.from),ib.lineTo(h.to,i.to),ib.stroke()):(ib.fillStyle=g.color||eb.grid.markingsColor,ib.fillRect(h.from,i.to,h.to-h.from,i.from-i.to))))}c=n(),d=eb.grid.borderWidth;for(var j=0;jp.max||"full"==r&&("object"==typeof d&&d[p.position]>0||d>0)&&(s==p.min||s==p.max)||("x"==p.direction?(k=p.p2c(s),o="full"==r?-ob:r,"top"==p.position&&(o=-o)):(l=p.p2c(s),m="full"==r?-nb:r,"left"==p.position&&(m=-m)),1==ib.lineWidth&&("x"==p.direction?k=Math.floor(k)+.5:l=Math.floor(l)+.5),ib.moveTo(k,l),ib.lineTo(k+m,l+o))}ib.stroke()}}d&&(e=eb.grid.borderColor,"object"==typeof d||"object"==typeof e?("object"!=typeof d&&(d={top:d,right:d,bottom:d,left:d}),"object"!=typeof e&&(e={top:e,right:e,bottom:e,left:e}),d.top>0&&(ib.strokeStyle=e.top,ib.lineWidth=d.top,ib.beginPath(),ib.moveTo(0-d.left,0-d.top/2),ib.lineTo(nb,0-d.top/2),ib.stroke()),d.right>0&&(ib.strokeStyle=e.right,ib.lineWidth=d.right,ib.beginPath(),ib.moveTo(nb+d.right/2,0-d.top),ib.lineTo(nb+d.right/2,ob),ib.stroke()),d.bottom>0&&(ib.strokeStyle=e.bottom,ib.lineWidth=d.bottom,ib.beginPath(),ib.moveTo(nb+d.right,ob+d.bottom/2),ib.lineTo(0,ob+d.bottom/2),ib.stroke()),d.left>0&&(ib.strokeStyle=e.left,ib.lineWidth=d.left,ib.beginPath(),ib.moveTo(0-d.left/2,ob+d.bottom),ib.lineTo(0-d.left/2,0),ib.stroke())):(ib.lineWidth=d,ib.strokeStyle=eb.grid.borderColor,ib.strokeRect(-d/2,-d/2,nb+d,ob+d))),ib.restore()}function K(){a.each(n(),function(a,b){if(b.show&&0!=b.ticks.length){var c,d,e,f,g,h=b.box,i=b.direction+"Axis "+b.direction+b.n+"Axis",j="flot-"+b.direction+"-axis flot-"+b.direction+b.n+"-axis "+i,k=b.options.font||"flot-tick-label tickLabel";fb.removeText(j);for(var l=0;lb.max||("x"==b.direction?(f="center",d=mb.left+b.p2c(c.v),"bottom"==b.position?e=h.top+h.padding:(e=h.top+h.height-h.padding,g="bottom")):(g="middle",e=mb.top+b.p2c(c.v),"left"==b.position?(d=h.left+h.width-h.padding,f="right"):d=h.left+h.padding),fb.addText(j,d,e,c.label,k,null,null,f,g))}})}function L(a){a.lines.show&&M(a),a.bars.show&&P(a),a.points.show&&N(a)}function M(a){function b(a,b,c,d,e){var f=a.points,g=a.pointsize,h=null,i=null;ib.beginPath();for(var j=g;j=l&&l=n&&n=n&&l>e.max){if(n>e.max)continue;k=(e.max-l)/(n-l)*(m-k)+k,l=e.max}else if(n>=l&&n>e.max){if(l>e.max)continue;m=(e.max-l)/(n-l)*(m-k)+k,n=e.max}if(m>=k&&k=m&&m=m&&k>d.max){if(m>d.max)continue;l=(d.max-k)/(m-k)*(n-l)+l,k=d.max}else if(m>=k&&m>d.max){if(k>d.max)continue;n=(d.max-k)/(m-k)*(n-l)+l,m=d.max}(k!=h||l!=i)&&ib.moveTo(d.p2c(k)+b,e.p2c(l)+c),h=m,i=n,ib.lineTo(d.p2c(m)+b,e.p2c(n)+c)}}ib.stroke()}function c(a,b,c){for(var d=a.points,e=a.pointsize,f=Math.min(Math.max(0,c.min),c.max),g=0,h=!1,i=1,j=0,k=0;;){if(e>0&&g>d.length+e)break;g+=e;var l=d[g-e],m=d[g-e+i],n=d[g],o=d[g+i];if(h){if(e>0&&null!=l&&null==n){k=g,e=-e,i=2;continue}if(0>e&&g==j+e){ib.fill(),h=!1,e=-e,i=1,g=j=k+e;continue}}if(null!=l&&null!=n){if(n>=l&&l=n&&n=n&&l>b.max){if(n>b.max)continue;m=(b.max-l)/(n-l)*(o-m)+m,l=b.max}else if(n>=l&&n>b.max){if(l>b.max)continue;o=(b.max-l)/(n-l)*(o-m)+m,n=b.max}if(h||(ib.beginPath(),ib.moveTo(b.p2c(l),c.p2c(f)),h=!0),m>=c.max&&o>=c.max)ib.lineTo(b.p2c(l),c.p2c(c.max)),ib.lineTo(b.p2c(n),c.p2c(c.max));else if(m<=c.min&&o<=c.min)ib.lineTo(b.p2c(l),c.p2c(c.min)),ib.lineTo(b.p2c(n),c.p2c(c.min));else{var p=l,q=n;o>=m&&m=c.min?(l=(c.min-m)/(o-m)*(n-l)+l,m=c.min):m>=o&&o=c.min&&(n=(c.min-m)/(o-m)*(n-l)+l,o=c.min),m>=o&&m>c.max&&o<=c.max?(l=(c.max-m)/(o-m)*(n-l)+l,m=c.max):o>=m&&o>c.max&&m<=c.max&&(n=(c.max-m)/(o-m)*(n-l)+l,o=c.max),l!=p&&ib.lineTo(b.p2c(p),c.p2c(m)),ib.lineTo(b.p2c(l),c.p2c(m)),ib.lineTo(b.p2c(n),c.p2c(o)),n!=q&&(ib.lineTo(b.p2c(n),c.p2c(o)),ib.lineTo(b.p2c(q),c.p2c(o)))}}}}ib.save(),ib.translate(mb.left,mb.top),ib.lineJoin="round";var d=a.lines.lineWidth,e=a.shadowSize;if(d>0&&e>0){ib.lineWidth=e,ib.strokeStyle="rgba(0,0,0,0.1)";var f=Math.PI/18;b(a.datapoints,Math.sin(f)*(d/2+e/2),Math.cos(f)*(d/2+e/2),a.xaxis,a.yaxis),ib.lineWidth=e/2,b(a.datapoints,Math.sin(f)*(d/2+e/4),Math.cos(f)*(d/2+e/4),a.xaxis,a.yaxis)}ib.lineWidth=d,ib.strokeStyle=a.color;var g=Q(a.lines,a.color,0,ob);g&&(ib.fillStyle=g,c(a.datapoints,a.xaxis,a.yaxis)),d>0&&b(a.datapoints,0,0,a.xaxis,a.yaxis),ib.restore()}function N(a){function b(a,b,c,d,e,f,g,h){for(var i=a.points,j=a.pointsize,k=0;kf.max||mg.max||(ib.beginPath(),l=f.p2c(l),m=g.p2c(m)+d,"circle"==h?ib.arc(l,m,b,0,e?Math.PI:2*Math.PI,!1):h(ib,l,m,b,e),ib.closePath(),c&&(ib.fillStyle=c,ib.fill()),ib.stroke())}}ib.save(),ib.translate(mb.left,mb.top);var c=a.points.lineWidth,d=a.shadowSize,e=a.points.radius,f=a.points.symbol;if(0==c&&(c=1e-4),c>0&&d>0){var g=d/2;ib.lineWidth=g,ib.strokeStyle="rgba(0,0,0,0.1)",b(a.datapoints,e,null,g+g/2,!0,a.xaxis,a.yaxis,f),ib.strokeStyle="rgba(0,0,0,0.2)",b(a.datapoints,e,null,g/2,!0,a.xaxis,a.yaxis,f)}ib.lineWidth=c,ib.strokeStyle=a.color,b(a.datapoints,e,Q(a.points,a.color),0,!1,a.xaxis,a.yaxis,f),ib.restore()}function O(a,b,c,d,e,f,g,h,i,j,k,l){var m,n,o,p,q,r,s,t,u;k?(t=r=s=!0,q=!1,m=c,n=a,p=b+d,o=b+e,m>n&&(u=n,n=m,m=u,q=!0,r=!1)):(q=r=s=!0,t=!1,m=a+d,n=a+e,o=c,p=b,o>p&&(u=p,p=o,o=u,t=!0,s=!1)),nh.max||pi.max||(mh.max&&(n=h.max,r=!1),oi.max&&(p=i.max,s=!1),m=h.p2c(m),o=i.p2c(o),n=h.p2c(n),p=i.p2c(p),g&&(j.beginPath(),j.moveTo(m,o),j.lineTo(m,p),j.lineTo(n,p),j.lineTo(n,o),j.fillStyle=g(o,p),j.fill()),l>0&&(q||r||s||t)&&(j.beginPath(),j.moveTo(m,o+f),q?j.lineTo(m,p+f):j.moveTo(m,p+f),s?j.lineTo(n,p+f):j.moveTo(n,p+f),r?j.lineTo(n,o+f):j.moveTo(n,o+f),t?j.lineTo(m,o+f):j.moveTo(m,o+f),j.stroke()))}function P(a){function b(b,c,d,e,f,g,h){for(var i=b.points,j=b.pointsize,k=0;k"),e.push(""),g=!0),e.push('
    '+k.label+"") -}if(g&&e.push(""),0!=e.length){var l=''+e.join("")+"
    ";if(null!=eb.legend.container)a(eb.legend.container).html(l);else{var m="",n=eb.legend.position,o=eb.legend.margin;null==o[0]&&(o=[o,o]),"n"==n.charAt(0)?m+="top:"+(o[1]+mb.top)+"px;":"s"==n.charAt(0)&&(m+="bottom:"+(o[1]+mb.bottom)+"px;"),"e"==n.charAt(1)?m+="right:"+(o[0]+mb.right)+"px;":"w"==n.charAt(1)&&(m+="left:"+(o[0]+mb.left)+"px;");var p=a('
    '+l.replace('style="','style="position:absolute;'+m+";")+"
    ").appendTo(c);if(0!=eb.legend.backgroundOpacity){var q=eb.legend.backgroundColor;null==q&&(q=eb.grid.backgroundColor,q=q&&"string"==typeof q?a.color.parse(q):a.color.extract(p,"background-color"),q.a=1,q=q.toString());var r=p.children();a('
    ').prependTo(p).css("opacity",eb.legend.backgroundOpacity)}}}}}function S(a,b,c){var d,e,f,g=eb.grid.mouseActiveRadius,h=g*g+1,i=null;for(d=db.length-1;d>=0;--d)if(c(db[d])){var j=db[d],k=j.xaxis,l=j.yaxis,m=j.datapoints.points,n=k.c2p(a),o=l.c2p(b),p=g/k.scale,q=g/l.scale;if(f=j.datapoints.pointsize,k.options.inverseTransform&&(p=Number.MAX_VALUE),l.options.inverseTransform&&(q=Number.MAX_VALUE),j.lines.show||j.points.show)for(e=0;ep||-p>r-n||s-o>q||-q>s-o)){var t=Math.abs(k.p2c(r)-a),u=Math.abs(l.p2c(s)-b),v=t*t+u*u;h>v&&(h=v,i=[d,e/f])}}if(j.bars.show&&!i){var w="left"==j.bars.align?0:-j.bars.barWidth/2,x=w+j.bars.barWidth;for(e=0;e=Math.min(y,r)&&o>=s+w&&s+x>=o:n>=r+w&&r+x>=n&&o>=Math.min(y,s)&&o<=Math.max(y,s))&&(i=[d,e/f])}}}return i?(d=i[0],e=i[1],f=db[d].datapoints.pointsize,{datapoint:db[d].datapoints.points.slice(e*f,(e+1)*f),dataIndex:e,series:db[d],seriesIndex:d}):null}function T(a){eb.grid.hoverable&&W("plothover",a,function(a){return 0!=a.hoverable})}function U(a){eb.grid.hoverable&&W("plothover",a,function(){return!1})}function V(a){W("plotclick",a,function(a){return 0!=a.clickable})}function W(a,b,d){var e=hb.offset(),f=b.pageX-e.left-mb.left,g=b.pageY-e.top-mb.top,h=o({left:f,top:g});h.pageX=b.pageX,h.pageY=b.pageY;var i=S(f,g,d);if(i&&(i.pageX=parseInt(i.series.xaxis.p2c(i.datapoint[0])+e.left+mb.left,10),i.pageY=parseInt(i.series.yaxis.p2c(i.datapoint[1])+e.top+mb.top,10)),eb.grid.autoHighlight){for(var j=0;jf.max||eg.max)){var i=b.points.radius+b.points.lineWidth/2;jb.lineWidth=i,jb.strokeStyle=h;var j=1.5*i;d=f.p2c(d),e=g.p2c(e),jb.beginPath(),"circle"==b.points.symbol?jb.arc(d,e,j,0,2*Math.PI,!1):b.points.symbol(jb,d,e,j,!1),jb.closePath(),jb.stroke()}}function bb(b,c){var d="string"==typeof b.highlightColor?b.highlightColor:a.color.parse(b.color).scale("a",.5).toString(),e=d,f="left"==b.bars.align?0:-b.bars.barWidth/2;jb.lineWidth=b.bars.lineWidth,jb.strokeStyle=d,O(c[0],c[1],c[2]||0,f,f+b.bars.barWidth,0,function(){return e},b.xaxis,b.yaxis,jb,b.bars.horizontal,b.bars.lineWidth)}function cb(b,c,d,e){if("string"==typeof b)return b;for(var f=ib.createLinearGradient(0,d,0,c),g=0,h=b.colors.length;h>g;++g){var i=b.colors[g];if("string"!=typeof i){var j=a.color.parse(e);null!=i.brightness&&(j=j.scale("rgb",i.brightness)),null!=i.opacity&&(j.a*=i.opacity),i=j.toString()}f.addColorStop(g/(h-1),i)}return f}var db=[],eb={colors:["#edc240","#afd8f8","#cb4b4b","#4da74d","#9440ed"],legend:{show:!0,noColumns:1,labelFormatter:null,labelBoxBorderColor:"#ccc",container:null,position:"ne",margin:5,backgroundColor:null,backgroundOpacity:.85,sorted:null},xaxis:{show:null,position:"bottom",mode:null,font:null,color:null,tickColor:null,transform:null,inverseTransform:null,min:null,max:null,autoscaleMargin:null,ticks:null,tickFormatter:null,labelWidth:null,labelHeight:null,reserveSpace:null,tickLength:null,alignTicksWithAxis:null,tickDecimals:null,tickSize:null,minTickSize:null},yaxis:{autoscaleMargin:.02,position:"left"},xaxes:[],yaxes:[],series:{points:{show:!1,radius:3,lineWidth:2,fill:!0,fillColor:"#ffffff",symbol:"circle"},lines:{lineWidth:2,fill:!1,fillColor:null,steps:!1},bars:{show:!1,lineWidth:2,barWidth:1,fill:!0,fillColor:null,align:"left",horizontal:!1},shadowSize:3,highlightColor:null},grid:{show:!0,aboveData:!1,color:"#545454",backgroundColor:null,borderColor:null,tickColor:null,margin:0,labelMargin:5,axisMargin:8,borderWidth:2,minBorderMargin:null,markings:null,markingsColor:"#f4f4f4",markingsLineWidth:2,clickable:!1,hoverable:!1,autoHighlight:!0,mouseActiveRadius:10},interaction:{redrawOverlayInterval:1e3/60},hooks:{}},fb=null,gb=null,hb=null,ib=null,jb=null,kb=[],lb=[],mb={left:0,right:0,top:0,bottom:0},nb=0,ob=0,pb={processOptions:[],processRawData:[],processDatapoints:[],processOffset:[],drawBackground:[],drawSeries:[],draw:[],bindEvents:[],drawOverlay:[],shutdown:[]},qb=this;qb.setData=k,qb.setupGrid=B,qb.draw=G,qb.getPlaceholder=function(){return c},qb.getCanvas=function(){return fb.element},qb.getPlotOffset=function(){return mb},qb.width=function(){return nb},qb.height=function(){return ob},qb.offset=function(){var a=hb.offset();return a.left+=mb.left,a.top+=mb.top,a},qb.getData=function(){return db},qb.getAxes=function(){var b={};return a.each(kb.concat(lb),function(a,c){c&&(b[c.direction+(1!=c.n?c.n:"")+"axis"]=c)}),b},qb.getXAxes=function(){return kb},qb.getYAxes=function(){return lb},qb.c2p=o,qb.p2c=p,qb.getOptions=function(){return eb},qb.highlight=Z,qb.unhighlight=$,qb.triggerRedrawOverlay=X,qb.pointOffset=function(a){return{left:parseInt(kb[m(a,"x")-1].p2c(+a.x)+mb.left,10),top:parseInt(lb[m(a,"y")-1].p2c(+a.y)+mb.top,10)}},qb.shutdown=v,qb.resize=function(){var a=c.width(),b=c.height();fb.resize(a,b),gb.resize(a,b)},qb.hooks=pb,i(qb),j(f),t(),k(e),B(),G(),u();var rb=[],sb=null}function d(a,b){return b*Math.floor(a/b)}var e=Object.prototype.hasOwnProperty;b.prototype.resize=function(a,b){if(0>=a||0>=b)throw new Error("Invalid dimensions for plot, width = "+a+", height = "+b);var c=this.element,d=this.context,e=this.pixelRatio;this.width!=a&&(c.width=a*e,c.style.width=a+"px",this.width=a),this.height!=b&&(c.height=b*e,c.style.height=b+"px",this.height=b),d.restore(),d.save(),d.scale(e,e)},b.prototype.clear=function(){this.context.clearRect(0,0,this.width,this.height)},b.prototype.render=function(){var a=this._textCache;for(var b in a)if(e.call(a,b)){var c=this.getTextLayer(b),d=a[b];c.hide();for(var f in d)if(e.call(d,f)){var g=d[f];for(var h in g)if(e.call(g,h)){for(var i,j=g[h].positions,k=0;i=j[k];k++)i.active?i.rendered||(c.append(i.element),i.rendered=!0):(j.splice(k--,1),i.rendered&&i.element.detach());0==j.length&&delete g[h]}}c.show()}},b.prototype.getTextLayer=function(b){var c=this.text[b];return null==c&&(null==this.textContainer&&(this.textContainer=a("
    ").css({position:"absolute",top:0,left:0,bottom:0,right:0,"font-size":"smaller",color:"#545454"}).insertAfter(this.element)),c=this.text[b]=a("
    ").addClass(b).css({position:"absolute",top:0,left:0,bottom:0,right:0}).appendTo(this.textContainer)),c},b.prototype.getTextInfo=function(b,c,d,e,f){var g,h,i,j;if(c=""+c,g="object"==typeof d?d.style+" "+d.variant+" "+d.weight+" "+d.size+"px/"+d.lineHeight+"px "+d.family:d,h=this._textCache[b],null==h&&(h=this._textCache[b]={}),i=h[g],null==i&&(i=h[g]={}),j=i[c],null==j){var k=a("
    ").html(c).css({position:"absolute","max-width":f,top:-9999}).appendTo(this.getTextLayer(b));"object"==typeof d?k.css({font:g,color:d.color}):"string"==typeof d&&k.addClass(d),j=i[c]={width:k.outerWidth(!0),height:k.outerHeight(!0),element:k,positions:[]},k.detach()}return j},b.prototype.addText=function(a,b,c,d,e,f,g,h,i){var j=this.getTextInfo(a,d,e,f,g),k=j.positions;"center"==h?b-=j.width/2:"right"==h&&(b-=j.width),"middle"==i?c-=j.height/2:"bottom"==i&&(c-=j.height);for(var l,m=0;l=k[m];m++)if(l.x==b&&l.y==c)return void(l.active=!0);l={active:!0,rendered:!1,element:k.length?j.element.clone():j.element,x:b,y:c},k.push(l),l.element.css({top:Math.round(c),left:Math.round(b),"text-align":h})},b.prototype.removeText=function(a,b,c,d,f,g){if(null==d){var h=this._textCache[a];if(null!=h)for(var i in h)if(e.call(h,i)){var j=h[i];for(var k in j)if(e.call(j,k))for(var l,m=j[k].positions,n=0;l=m[n];n++)l.active=!1}}else for(var l,m=this.getTextInfo(a,d,f,g).positions,n=0;l=m[n];n++)l.x==b&&l.y==c&&(l.active=!1)},a.plot=function(b,d,e){var f=new c(a(b),d,e,a.plot.plugins);return f},a.plot.version="0.8.1",a.plot.plugins=[],a.fn.plot=function(b,c){return this.each(function(){a.plot(this,b,c)})}}(jQuery),define("jquery.flot",function(){}),function(a){function b(b){function f(b){x||(x=!0,s=b.getCanvas(),t=a(s).parent(),e=b.getOptions(),b.setData(g(b.getData())))}function g(b){for(var c=0,d=0,f=0,g=e.series.pie.combine.color,h=[],i=0;if||j/c>e.series.pie.combine.threshold)&&h.push({data:[[1,j]],color:b[i].color,label:b[i].label,angle:j*Math.PI*2/c,percent:j/(c/100)})}return f>1&&h.push({data:[[1,d]],color:g,label:e.series.pie.combine.label,angle:d*Math.PI*2/c,percent:d/(c/100)}),h}function h(b,f){function g(){y.clearRect(0,0,k,l),t.children().filter(".pieLabel, .pieLabelBackground").remove()}function h(){var a=e.series.pie.shadow.left,b=e.series.pie.shadow.top,c=10,d=e.series.pie.shadow.alpha,f=e.series.pie.radius>1?e.series.pie.radius:u*e.series.pie.radius;if(!(f>=k/2-a||f*e.series.pie.tilt>=l/2-b||c>=f)){y.save(),y.translate(a,b),y.globalAlpha=d,y.fillStyle="#000",y.translate(v,w),y.scale(1,e.series.pie.tilt);for(var g=1;c>=g;g++)y.beginPath(),y.arc(0,0,f,0,2*Math.PI,!1),y.fill(),f-=g;y.restore()}}function j(){function b(a,b,c){0>=a||isNaN(a)||(c?y.fillStyle=b:(y.strokeStyle=b,y.lineJoin="round"),y.beginPath(),Math.abs(a-2*Math.PI)>1e-9&&y.moveTo(0,0),y.arc(0,0,f,g,g+a/2,!1),y.arc(0,0,f,g+a/2,g+a,!1),y.closePath(),g+=a,c?y.fill():y.stroke())}function c(){function b(b,c,d){if(0==b.data[0][1])return!0;var g,h=e.legend.labelFormatter,i=e.series.pie.label.formatter;g=h?h(b.label,b):b.label,i&&(g=i(g,b));var j=(c+b.angle+c)/2,m=v+Math.round(Math.cos(j)*f),n=w+Math.round(Math.sin(j)*f)*e.series.pie.tilt,o=""+g+"";t.append(o);var p=t.children("#pieLabel"+d),q=n-p.height()/2,r=m-p.width()/2;if(p.css("top",q),p.css("left",r),0-q>0||0-r>0||l-(q+p.height())<0||k-(r+p.width())<0)return!1;if(0!=e.series.pie.label.background.opacity){var s=e.series.pie.label.background.color;null==s&&(s=b.color);var u="top:"+q+"px;left:"+r+"px;";a("
    ").css("opacity",e.series.pie.label.background.opacity).insertBefore(p)}return!0}for(var c=d,f=e.series.pie.label.radius>1?e.series.pie.label.radius:u*e.series.pie.label.radius,g=0;g=100*e.series.pie.label.threshold&&!b(n[g],c,g))return!1;c+=n[g].angle}return!0}var d=Math.PI*e.series.pie.startAngle,f=e.series.pie.radius>1?e.series.pie.radius:u*e.series.pie.radius;y.save(),y.translate(v,w),y.scale(1,e.series.pie.tilt),y.save();for(var g=d,h=0;h0){y.save(),y.lineWidth=e.series.pie.stroke.width,g=d;for(var h=0;hv?v=u:v>k-u&&(v=k-u);var n=b.getData(),o=0;do o>0&&(u*=d),o+=1,g(),e.series.pie.tilt<=.8&&h();while(!j()&&c>o);o>=c&&(g(),t.prepend("
    Could not draw pie with labels contained inside canvas
    ")),b.setSeries&&b.insertLegend&&(b.setSeries(n),b.insertLegend())}}function i(a){if(e.series.pie.innerRadius>0){a.save();var b=e.series.pie.innerRadius>1?e.series.pie.innerRadius:u*e.series.pie.innerRadius;a.globalCompositeOperation="destination-out",a.beginPath(),a.fillStyle=e.series.pie.stroke.color,a.arc(0,0,b,0,2*Math.PI,!1),a.fill(),a.closePath(),a.restore(),a.save(),a.beginPath(),a.strokeStyle=e.series.pie.stroke.color,a.arc(0,0,b,0,2*Math.PI,!1),a.stroke(),a.closePath(),a.restore()}}function j(a,b){for(var c=!1,d=-1,e=a.length,f=e-1;++d1?g.series.pie.radius:u*g.series.pie.radius,i=0;i1e-9&&b.moveTo(0,0),b.arc(0,0,e,a.startAngle,a.startAngle+a.angle/2,!1),b.arc(0,0,e,a.startAngle+a.angle/2,a.startAngle+a.angle,!1),b.closePath(),b.fill())}var d=a.getOptions(),e=d.series.pie.radius>1?d.series.pie.radius:u*d.series.pie.radius;b.save(),b.translate(v,w),b.scale(1,d.series.pie.tilt);for(var f=0;f1?b.series.pie.tilt=1:b.series.pie.tilt<0&&(b.series.pie.tilt=0))}),b.hooks.bindEvents.push(function(a,b){var c=a.getOptions();c.series.pie.show&&(c.grid.hoverable&&b.unbind("mousemove").mousemove(l),c.grid.clickable&&b.unbind("click").click(m))}),b.hooks.processDatapoints.push(function(a,b,c,d){var e=a.getOptions();e.series.pie.show&&f(a,b,c,d)}),b.hooks.drawOverlay.push(function(a,b){var c=a.getOptions();c.series.pie.show&&r(a,b)}),b.hooks.draw.push(function(a,b){var c=a.getOptions();c.series.pie.show&&h(a,b)})}var c=10,d=.95,e={series:{pie:{show:!1,radius:"auto",innerRadius:0,startAngle:1.5,tilt:1,shadow:{left:5,top:15,alpha:.02},offset:{top:0,left:"auto"},stroke:{color:"#fff",width:1},label:{show:"auto",formatter:function(a,b){return"
    "+a+"
    "+Math.round(b.percent)+"%
    "},radius:1,background:{color:null,opacity:0},threshold:0},combine:{threshold:-1,color:null,label:"Other"},highlight:{opacity:.5}}}};a.plot.plugins.push({init:b,options:e,name:"pie",version:"1.1"})}(jQuery),define("jquery.flot.pie",function(){}),define("panels/annotations/module",["angular","app","underscore"],function(a,b,c){var d=a.module("kibana.panels.annotations",[]);b.useModule(d),d.controller("AnnotationsCtrl",["$scope","dashboard","$rootScope",function(b,d,e){b.panelMeta={status:"Stable",description:"Annotations"};var f={annotations:[]},g={name:"",type:"graphite metric",showLine:!0,iconColor:"#C0C6BE",lineColor:"rgba(255, 96, 96, 0.592157)",iconSize:13,enable:!0};c.defaults(b.panel,f),b.init=function(){b.currentAnnnotation=a.copy(g),b.currentIsNew=!0},b.edit=function(a){b.currentAnnnotation=a,b.currentIsNew=!1},b.update=function(){b.currentAnnnotation=a.copy(g),b.currentIsNew=!0},b.add=function(){b.panel.annotations.push(b.currentAnnnotation),b.currentAnnnotation=a.copy(g)},b.hide=function(a){a.enable=!a.enable,e.$broadcast("refresh")}}])}),define("text!panels/annotations/module.html",[],function(){return''}),define("panels/filtering/module",["angular","app","underscore"],function(a,b,c){var d=a.module("kibana.panels.filtering",[]);b.useModule(d),d.controller("filtering",["$scope","datasourceSrv","$rootScope","$timeout","$q",function(a,b,d,e,f){a.panelMeta={status:"Stable",description:"graphite target filters"};var g={};c.defaults(a.panel,g),a.init=function(){},a.remove=function(b){a.filter.removeTemplateParameter(b)},a.filterOptionSelected=function(b,c,d){return b.current=c,a.filter.updateTemplateData(),a.applyFilterToOtherFilters(b).then(function(){d||a.dashboard.refresh()})},a.applyFilterToOtherFilters=function(b){var d=c.map(a.filter.templateParameters,function(c){return c!==b&&-1!==c.query.indexOf(b.name)?a.applyFilter(c):void 0});return f.all(d)},a.applyFilter=function(d){return b.default.metricFindQuery(a.filter,d.query).then(function(b){if(d.editing=void 0,d.options=c.map(b,function(a){return{text:a.text,value:a.text}}),d.includeAll){var e="{";c.each(d.options,function(a){e+=a.text+","}),e=e.substring(0,e.length-1)+"}",d.options.unshift({text:"All",value:e})}if(d.current){var f=c.findWhere(d.options,{value:d.current.value});if(f)return a.filterOptionSelected(d,d.current,!0)}return a.filterOptionSelected(d,d.options[0],!0)})},a.add=function(){a.filter.addTemplateParameter({type:"filter",name:"filter name",editing:!0,query:"metric.path.query.*"})}}])}),define("text!panels/filtering/module.html",[],function(){return'
    • name:
    • filter.query:
    '}),define("panels/graph/timeSeries",["underscore","kbn"],function(a,b){var c={};return c.ZeroFilled=function(a){this.datapoints=a.datapoints,this.info=a.info,this.label=a.info.alias},c.ZeroFilled.prototype.getFlotPairs=function(c,d){var e=[];if(this.color=this.info.color,this.yaxis=this.info.yaxis,this.info.total=0,this.info.max=null,this.info.min=212312321312,a.each(this.datapoints,function(b){var d=b[1],f=b[0];if(null===f){if("connected"===c)return;"null as zero"===c&&(f=0)}a.isNumber(f)&&(this.info.total+=f),f>this.info.max&&(this.info.max=f),f2&&(this.info.timeStep=e[1][0]-e[0][0]),e.length){this.info.avg=this.info.total/e.length,this.info.current=e[e.length-1][1];var f=b.getFormatFunction(d[this.yaxis-1],2);this.info.avg=null!=this.info.avg?f(this.info.avg):null,this.info.current=null!=this.info.current?f(this.info.current):null,this.info.min=null!=this.info.min?f(this.info.min):null,this.info.max=null!=this.info.max?f(this.info.max):null,this.info.total=null!=this.info.total?f(this.info.total):null}return e},c}),function(a){function b(b){var f,g={icon:"icon-caret-up",size:20,width:19,height:10},h=[],i=!1;b.getEvents=function(){return h},b.hideEvents=function(b){a.each(h,function(a,c){k(c.level(),b)&&c.visual().getObject().hide()})},b.showEvents=function(c){b.hideEvents(),a.each(h,function(a,b){k(b.level(),c)||b.hide()}),j()},b.hooks.processOptions.push(function(a,b){null!=b.events.data&&(i=!0)}),b.hooks.draw.push(function(a){var b=a.getOptions(),c=a.getXAxes()[b.events.xaxis-1];if(i)if(h.length<1)if(_lastRange=c.max-c.min,b.events.clustering){var d=s(b.events.types,b.events.data,c.max-c.min);f=d.types,n(d.data)}else f=b.events.types,n(b.events.data);else l();j()});var j=function(){{var c=b.getPlotOffset();c.left,b.width()-c.right}a.each(h,function(a,b){r(b.getOptions().min)&&!b.isHidden()?b.visual().draw():b.visual().getObject().hide()}),o(),p()},k=function(a,b){var c={};return b?(c.start=void 0==b.min?0:b.min,c.end=void 0==b.max?h.length-1:b.max):(c.start=0,c.end=h.length-1),a>=c.start&&a<=c.end?!0:!1},l=function(){var c,d,e=b.getPlotOffset(),f=b.getXAxes()[b.getOptions().events.xaxis-1];a.each(h,function(a,g){d=e.top+b.height()-g.visual().height(),c=f.p2c(g.getOptions().min)+e.left-g.visual().width()/2,g.visual().moveTo({top:d,left:c})})},m=function(b,c,d){var e=a('
    ');d?e.html(d.description).place_tt(b,c,{offset:10}):e.remove()},n=function(c){a.each(c,function(a,c){var e=null!=b.getOptions().events.levels&&f&&f[c.eventType]?f[c.eventType].level:0;if(e>b.getOptions().events.levels)throw"A type's level has exceeded the maximum. Level="+e+", Max levels:"+b.getOptions().events.levels;h.push(new d(c,q(c),e))}),h.sort(e)},o=function(){var b,c=[],d={},e=0;a.each(h,function(a,e){b&&(e.getOptions().min==b.getOptions().min?(d.min||(d.min=a),d.max=a):d.min&&(c.push(d),d={})),b=e}),d.min&&c.push(d),a.each(c,function(b,c){var d=h.splice(c.min-e,c.max-c.min+1);a.each(d,function(a,b){b.visual().clear()}),e+=c.max-c.min+1})},p=function(){var a,c,d=b.getXAxes()[b.getOptions().events.xaxis-1],e=0,f=-1;pright=b.width()-b.getPlotOffset().right;if(d.min&&d.max){a=d.max-d.min;for(var g=1;g.007?(f=-1,e=g):(f=g,g==h.length-1)}},q=function(d){var e,h,i,j,k,l,n,o=b.getPlaceholder(),p=b.getPlotOffset(),q=b.getXAxes()[b.getOptions().events.xaxis-1],r=b.getAxes();return r.yaxis&&r.yaxis.used&&(e=r.yaxis),r.yaxis2&&r.yaxis2.used&&(e=r.yaxis2),null!=f&&f[d.eventType]&&f[d.eventType].icon?(k=f[d.eventType].icon,l=f[d.eventType].level):(k=g,l=0),j=a('').appendTo(o),h=p.top+b.height()-k.size+1,i=q.p2c(d.min)+p.left-k.size/2,j.css({left:i+"px",top:h,color:k.color,"text-shadow":"1px 1px "+k.outline+", -1px -1px "+k.outline+", -1px 1px "+k.outline+", 1px -1px "+k.outline,"font-size":k.size+"px"}),j.hide(),j.data({event:d}),j.hover(function(){var b=a(this).offset();m(b.left+a(this).width()/2,b.top,a(this).data("event"))},function(){a("#tooltip").remove(),b.clearSelection()}),n=new c(j,function(a){a.show()},function(a){a.remove()},function(a,b){a.css({top:b.top,left:b.left})},i,h,j.width(),j.height())},r=function(a){var c=b.getXAxes()[b.getOptions().events.xaxis-1],d=c.p2c(a);return d>0&&de*b&&f>.05?(g.push(d),d=[a[i]]):d.push(a[i])}return g.push(d),g}}function c(a,b,c,d,e,f,g,h){var i=a,j=b,k=c,l=d,m={left:e,top:f},n=g,o=h;this.width=function(){return n},this.height=function(){return o},this.position=function(){return m},this.draw=function(){j(i)},this.clear=function(){k(i)},this.getObject=function(){return i},this.moveTo=function(a){m=a,l(i,m)}}function d(a,b,c){var d,e=a,f=b,g=c,h=!1;this.visual=function(){return f},this.level=function(){return g},this.getOptions=function(){return e},this.getParent=function(){return d},this.isHidden=function(){return h},this.hide=function(){h=!0},this.unhide=function(){h=!1}}function e(a,b){var c=a.getOptions(),d=b.getOptions();return c.min>d.min?1:c.minb?a:b>c?c:b}function i(a,c){var d=b.getOptions(),e=b.getPlaceholder().offset(),f=b.getPlotOffset();a.x=h(0,c.pageX-e.left-f.left,b.width()),a.y=h(0,c.pageY-e.top-f.top,b.height()),"y"==d.selection.mode&&(a.x=a==o.first?0:b.width()),"x"==d.selection.mode&&(a.y=a==o.first?0:b.height())}function j(a){null!=a.pageX&&(i(o.second,a),n()?(o.show=!0,b.triggerRedrawOverlay()):k(!0))}function k(a){o.show&&(o.show=!1,b.triggerRedrawOverlay(),a||b.getPlaceholder().trigger("plotunselected",[]))}function l(a,c){var d,e,f,g,h=b.getAxes();for(var i in h)if(d=h[i],d.direction==c&&(g=c+d.n+"axis",a[g]||1!=d.n||(g=c+"axis"),a[g])){e=a[g].from,f=a[g].to;break}if(a[g]||(d="x"==c?b.getXAxes()[0]:b.getYAxes()[0],e=a[c+"1"],f=a[c+"2"]),null!=e&&null!=f&&e>f){var j=e;e=f,f=j}return{from:e,to:f,axis:d}}function m(a,c){var d,e=b.getOptions();"y"==e.selection.mode?(o.first.x=0,o.second.x=b.width()):(d=l(a,"x"),o.first.x=d.axis.p2c(d.from),o.second.x=d.axis.p2c(d.to)),"x"==e.selection.mode?(o.first.y=0,o.second.y=b.height()):(d=l(a,"y"),o.first.y=d.axis.p2c(d.from),o.second.y=d.axis.p2c(d.to)),o.show=!0,b.triggerRedrawOverlay(),!c&&n()&&g()}function n(){var a=b.getOptions().selection.minSize;return Math.abs(o.second.x-o.first.x)>=a&&Math.abs(o.second.y-o.first.y)>=a}var o={first:{x:-1,y:-1},second:{x:-1,y:-1},show:!1,active:!1},p={},q=null;b.clearSelection=k,b.setSelection=m,b.getSelection=f,b.hooks.bindEvents.push(function(a,b){var e=a.getOptions();null!=e.selection.mode&&(b.mousemove(c),b.mousedown(d))}),b.hooks.drawOverlay.push(function(b,c){if(o.show&&n()){var d=b.getPlotOffset(),e=b.getOptions();c.save(),c.translate(d.left,d.top);var f=a.color.parse(e.selection.color);c.strokeStyle=f.scale("a",.8).toString(),c.lineWidth=1,c.lineJoin=e.selection.shape,c.fillStyle=f.scale("a",.4).toString();var g=Math.min(o.first.x,o.second.x)+.5,h=Math.min(o.first.y,o.second.y)+.5,i=Math.abs(o.second.x-o.first.x)-1,j=Math.abs(o.second.y-o.first.y)-1;c.fillRect(g,h,i,j),c.strokeRect(g,h,i,j),c.restore()}}),b.hooks.shutdown.push(function(b,e){e.unbind("mousemove",c),e.unbind("mousedown",d),q&&a(document).unbind("mouseup",q)})}a.plot.plugins.push({init:b,options:{selection:{mode:null,color:"#e8cfac",shape:"round",minSize:5}},name:"selection",version:"1.1"})}(jQuery),define("jquery.flot.selection",function(){}),function(a){function b(a,b){return b*Math.floor(a/b)}function c(a,b,c,d){if("function"==typeof a.strftime)return a.strftime(b); -var e=function(a,b){return a=""+a,b=""+(null==b?"0":b),1==a.length?b+a:a},f=[],g=!1,h=a.getHours(),i=12>h;null==c&&(c=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]),null==d&&(d=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]);var j;j=h>12?h-12:0==h?12:h;for(var k=0;k=g);++l);var m=i[l][0],n=i[l][1];if("year"==n){if(null!=f.minTickSize&&"year"==f.minTickSize[1])m=Math.floor(f.minTickSize[0]);else{var o=Math.pow(10,Math.floor(Math.log(a.delta/h.year)/Math.LN10)),p=a.delta/h.year/o;m=1.5>p?1:3>p?2:7.5>p?5:10,m*=o}1>m&&(m=1)}a.tickSize=f.tickSize||[m,n];var q=a.tickSize[0];n=a.tickSize[1];var r=q*h[n];"second"==n?d.setSeconds(b(d.getSeconds(),q)):"minute"==n?d.setMinutes(b(d.getMinutes(),q)):"hour"==n?d.setHours(b(d.getHours(),q)):"month"==n?d.setMonth(b(d.getMonth(),q)):"quarter"==n?d.setMonth(3*b(d.getMonth()/3,q)):"year"==n&&d.setFullYear(b(d.getFullYear(),q)),d.setMilliseconds(0),r>=h.minute&&d.setSeconds(0),r>=h.hour&&d.setMinutes(0),r>=h.day&&d.setHours(0),r>=4*h.day&&d.setDate(1),r>=2*h.month&&d.setMonth(b(d.getMonth(),3)),r>=2*h.quarter&&d.setMonth(b(d.getMonth(),6)),r>=h.year&&d.setMonth(0);var s,t=0,u=Number.NaN;do if(s=u,u=d.getTime(),c.push(u),"month"==n||"quarter"==n)if(1>q){d.setDate(1);var v=d.getTime();d.setMonth(d.getMonth()+("quarter"==n?3:1));var w=d.getTime();d.setTime(u+t*h.hour+(w-v)*q),t=d.getHours(),d.setHours(0)}else d.setMonth(d.getMonth()+q*("quarter"==n?3:1));else"year"==n?d.setFullYear(d.getFullYear()+q):d.setTime(u+r);while(u=1024;)h++,g/=1024;for(;1024>=f&&!(f>=g);)f*=2;a.tickSize="undefined"!=typeof d.minTickSize&&f=1024;)d++,a/=1024;switch(d){case 0:c=" B";break;case 1:c=" KB";break;case 2:c=" MB";break;case 3:c=" GB";break;case 4:c=" TB";break;case 5:c=" PB";break;case 6:c=" EB";break;case 7:c=" ZB";break;case 8:c=" YB"}return"undefined"!=typeof b.rate&&(c+="/s"),a.toFixed(b.tickDecimals)+c})})})}var d={};a.plot.plugins.push({init:c,options:d,name:"byte",version:"0.1"})}(jQuery),define("jquery.flot.byte",function(){}),function(a){function b(a){function b(a,b){for(var c=null,d=0;d2&&(t?d.format[2].x:d.format[2].y),v=s&&c.lines.steps,w=!0,x=t?1:0,y=t?0:1,z=0,A=0;;){if(z>=o.length)break;if(l=r.length,null==o[z]){for(m=0;n>m;++m)r.push(o[z+m]);z+=n}else if(A>=q.length){if(!s)for(m=0;n>m;++m)r.push(o[z+m]);z+=n}else if(null==q[A]){for(m=0;n>m;++m)r.push(null);w=!0,A+=p}else{if(f=o[z+x],g=o[z+y],i=q[A+x],j=q[A+y],k=0,f==i){for(m=0;n>m;++m)r.push(o[z+m]);r[l+y]+=j,k=j,z+=n,A+=p}else if(f>i){if(s&&z>0&&null!=o[z-n]){for(h=g+(o[z-n+y]-g)*(i-f)/(o[z-n+x]-f),r.push(i),r.push(h+j),m=2;n>m;++m)r.push(o[z+m]);k=j}A+=p}else{if(w&&s){z+=n;continue}for(m=0;n>m;++m)r.push(o[z+m]);s&&A>0&&null!=q[A-p]&&(k=j+(q[A-p+y]-j)*(f-i)/(q[A-p+x]-i)),r[l+y]+=k,z+=n}w=!1,l!=r.length&&u&&(r[l+2]+=k)}if(v&&l!=r.length&&l>0&&null!=r[l]&&r[l]!=r[l-n]&&r[l+1]!=r[l-n+1]){for(m=0;n>m;++m)r[l+n+m]=r[l+m];r[l+1]=r[l-n+1]}}d.points=r}}}a.hooks.processDatapoints.push(c)}var c={series:{stack:null}};a.plot.plugins.push({init:b,options:c,name:"stack",version:"1.2"})}(jQuery),define("jquery.flot.stack",function(){}),function(a){function b(a){function b(a,b,d){if(f||(f=!0,g=c(a.getData())),1==b.stackpercent){var e=d.length;b.percents=[];var h=0,i=1;b.bars&&b.bars.horizontal&&b.bars.horizontal===!0&&(h=1,i=0);for(var j=0;e>j;j++){var k=g[d[j][h]+""];b.percents.push(k>0?100*d[j][i]/k:0)}}}function c(a){var b=a.length,c={};if(b>0)for(var d=0;b>d;d++)if(a[d].stackpercent){var e=0,f=1;a[d].bars&&a[d].bars.horizontal&&a[d].bars.horizontal===!0&&(e=1,f=0);for(var g=a[d].data.length,h=0;g>h;h++){var i=0;null!=a[d].data[h][1]&&(i=a[d].data[h][f]),c[a[d].data[h][e]+""]?c[a[d].data[h][e]+""]+=i:c[a[d].data[h][e]+""]=i}}return c}function d(a,b,d){if(b.stackpercent){f||(g=c(a.getData()));var h=[],i=0,j=1;b.bars&&b.bars.horizontal&&b.bars.horizontal===!0&&(i=1,j=0);for(var k=0;k0?(h[k+j]=100*h[k+j]/g[h[k+i]+""],h[k+2]=100*h[k+2]/g[h[k+i]+""]):(h[k+j]=0,h[k+2]=0);d.points=h}}var e={},f=!1,g={};a.hooks.processRawData.push(b),a.hooks.processDatapoints.push(d)}var c={series:{stackpercent:null}};a.plot.plugins.push({init:b,options:c,name:"stackpercent",version:"0.1"})}(jQuery),define("jquery.flot.stackpercent",function(){}),define("panels/graph/module",["angular","app","jquery","underscore","kbn","moment","./timeSeries","services/annotationsSrv","services/datasourceSrv","jquery.flot","jquery.flot.events","jquery.flot.selection","jquery.flot.time","jquery.flot.byte","jquery.flot.stack","jquery.flot.stackpercent"],function(a,b,c,d,e,f,g){var h=a.module("kibana.panels.graph",[]);b.useModule(h),h.controller("graph",["$scope","$rootScope","datasourceSrv","$timeout","annotationsSrv",function(a,b,h,i,j){a.panelMeta={modals:[],editorTabs:[],fullEditorTabs:[{title:"General",src:"app/partials/panelgeneral.html"},{title:"Metrics",src:"app/partials/metrics.html"},{title:"Axes & Grid",src:"app/panels/graph/axisEditor.html"},{title:"Display Styles",src:"app/panels/graph/styleEditor.html"}],fullscreenEdit:!0,fullscreenView:!0,description:"Graphing"};var k={datasource:null,renderer:"flot","x-axis":!0,"y-axis":!0,scale:1,y_formats:["short","short"],grid:{leftMax:null,rightMax:null,leftMin:null,rightMin:null,threshold1:null,threshold2:null,threshold1Color:"rgba(216, 200, 27, 0.27)",threshold2Color:"rgba(234, 112, 112, 0.22)"},annotate:{enable:!1},resolution:100,lines:!0,fill:0,linewidth:1,points:!1,pointradius:5,bars:!1,stack:!1,legend:{show:!0,values:!1,min:!1,max:!1,current:!1,total:!1,avg:!1},percentage:!1,zerofill:!0,nullPointMode:"connected",steppedLine:!1,tooltip:{value_type:"cumulative",query_as_alias:!0},targets:[],aliasColors:{},aliasYAxis:{}};d.defaults(a.panel,k),d.defaults(a.panel.tooltip,k.tooltip),d.defaults(a.panel.annotate,k.annotate),d.defaults(a.panel.grid,k.grid),d.isBoolean(a.panel.legend)&&(a.panel.legend={show:a.panel.legend},d.defaults(a.panel.legend,k.legend)),a.panel.grid.min&&(a.panel.grid.leftMin=a.panel.grid.min,delete a.panel.grid.min),a.panel.grid.max&&(a.panel.grid.leftMax=a.panel.grid.max,delete a.panel.grid.max),a.panel.y_format&&(a.panel.y_formats[0]=a.panel.y_format,delete a.panel.y_format),a.panel.y2_format&&(a.panel.y_formats[1]=a.panel.y2_format,delete a.panel.y2_format),a.init=function(){a.initBaseController(this,a),a.fullscreen=!1,a.editor={index:1},a.editorTabs=d.pluck(a.panelMeta.fullEditorTabs,"title"),a.hiddenSeries={},a.datasources=h.listOptions(),a.setDatasource(a.panel.datasource),0===a.panel.targets.length&&a.panel.targets.push({})},a.setDatasource=function(b){return a.panel.datasource=b,a.datasource=h.get(b),a.datasource?void a.get_data():void(a.panel.error="Cannot find datasource "+b)},a.removeTarget=function(b){a.panel.targets=d.without(a.panel.targets,b),a.get_data()},a.updateTimeRange=function(){a.range=this.filter.timeRange(),a.rangeUnparsed=this.filter.timeRange(!1),a.resolution=Math.ceil(c(window).width()*(a.panel.span/12)),a.interval="10m",a.range&&(a.interval=e.secondsToHms(e.calculate_interval(a.range.from,a.range.to,a.resolution,0)/1e3))},a.get_data=function(){delete a.panel.error,a.panelMeta.loading=!0,a.updateTimeRange();var b={range:a.rangeUnparsed,interval:a.interval,targets:a.panel.targets,format:"png"===a.panel.renderer?"png":"json",maxDataPoints:a.resolution,datasource:a.panel.datasource};return a.annotationsPromise=j.getAnnotations(a.filter,a.rangeUnparsed),a.datasource.query(a.filter,b).then(a.dataHandler).then(null,function(b){a.panelMeta.loading=!1,a.panel.error=b.message||"Timeseries data request error",a.inspector.error=b,a.render([])})},a.dataHandler=function(b){if(a.panelMeta.loading=!1,a.legend=[],d.isString(b))return void a.render(b);a.datapointsWarning=!1,a.datapointsCount=0,a.datapointsOutside=!1;var c=d.map(b.data,a.seriesHandler);a.datapointsWarning=a.datapointsCount||!a.datapointsOutside,a.annotationsPromise.then(function(b){c.annotations=b,a.render(c)},function(){a.render(c)})},a.seriesHandler=function(b,c){var d=b.datapoints,e=b.target,h=a.panel.aliasColors[e]||a.colors[c],i=a.panel.aliasYAxis[e]||1,j={alias:e,color:h,enable:!0,yaxis:i};a.legend.push(j);var k=new g.ZeroFilled({datapoints:d,info:j});if(d&&d.length>0){var l=f.utc(1e3*d[d.length-1][1]),m=f.utc(a.range.from);-1e4>l-m&&(a.datapointsOutside=!0),a.datapointsCount+=d.length}return k},a.add_target=function(){a.panel.targets.push({target:""})},a.otherPanelInFullscreenMode=function(){return b.fullscreen&&!a.fullscreen},a.render=function(b){a.$emit("render",b)},a.changeSeriesColor=function(b,c){b.color=c,a.panel.aliasColors[b.alias]=b.color,a.render()},a.toggleSeries=function(b,c){a.hiddenSeries[b.alias]?delete a.hiddenSeries[b.alias]:a.hiddenSeries[b.alias]=!0,(c.ctrlKey||c.metaKey||c.shiftKey)&&a.toggleSeriesExclusiveMode(b),a.$emit("toggleLegend",a.legend)},a.toggleSeriesExclusiveMode=function(b){var c=a.hiddenSeries;c[b.alias]&&delete c[b.alias];var e=d.every(a.legend,function(a){return a.alias===b.alias?!0:c[a.alias]});e?d.each(a.legend,function(b){delete a.hiddenSeries[b.alias]}):d.each(a.legend,function(c){c.alias!==b.alias&&(a.hiddenSeries[c.alias]=!0)})},a.toggleYAxis=function(b){b.yaxis=2===b.yaxis?1:2,a.panel.aliasYAxis[b.alias]=b.yaxis,a.render()},a.toggleGridMinMax=function(b){a.panel.grid[b]=d.toggle(a.panel.grid[b],null,0),a.render()}}])}),define("text!panels/graph/module.html",[],function(){return'
    No datapointsCan be caused by timezone mismatch between browser and graphite server Datapoints outside time rangeCan be caused by timezone mismatch between browser and graphite server
    '});var Showdown={extensions:{}},forEach=Showdown.forEach=function(a,b){if("function"==typeof a.forEach)a.forEach(b);else{var c,d=a.length;for(c=0;d>c;c++)b(a[c],c,a)}},stdExtName=function(a){return a.replace(/[_-]||\s/g,"").toLowerCase()};Showdown.converter=function(a){var b,c,d,e=0,f=[],g=[];if("undefind"!=typeof module&&"undefined"!=typeof exports&&"undefind"!=typeof require){var h=require("fs");if(h){var i=h.readdirSync((__dirname||".")+"/extensions").filter(function(a){return~a.indexOf(".js")}).map(function(a){return a.replace(/\.js$/,"")});Showdown.forEach(i,function(a){var b=stdExtName(a);Showdown.extensions[b]=require("./extensions/"+a)})}}if(this.makeHtml=function(a){return b={},c={},d=[],a=a.replace(/~/g,"~T"),a=a.replace(/\$/g,"~D"),a=a.replace(/\r\n/g,"\n"),a=a.replace(/\r/g,"\n"),a="\n\n"+a+"\n\n",a=M(a),a=a.replace(/^[ \t]+$/gm,""),Showdown.forEach(f,function(b){a=l(b,a)}),a=z(a),a=n(a),a=m(a),a=p(a),a=K(a),a=a.replace(/~D/g,"$$"),a=a.replace(/~T/g,"~"),Showdown.forEach(g,function(b){a=l(b,a)}),a},a&&a.extensions){var j=this;Showdown.forEach(a.extensions,function(a){if("string"==typeof a&&(a=Showdown.extensions[stdExtName(a)]),"function"!=typeof a)throw"Extension '"+a+"' could not be loaded. It was either not found or is not a valid extension.";Showdown.forEach(a(j),function(a){a.type?"language"===a.type||"lang"===a.type?f.push(a):("output"===a.type||"html"===a.type)&&g.push(a):g.push(a)})})}var k,l=function(a,b){if(a.regex){var c=new RegExp(a.regex,"g");return b.replace(c,a.replace)}return a.filter?a.filter(b):void 0},m=function(a){return a+="~0",a=a.replace(/^[ ]{0,3}\[(.+)\]:[ \t]*\n?[ \t]*?[ \t]*\n?[ \t]*(?:(\n*)["(](.+?)[")][ \t]*)?(?:\n+|(?=~0))/gm,function(a,d,e,f,g){return d=d.toLowerCase(),b[d]=G(e),f?f+g:(g&&(c[d]=g.replace(/"/g,""")),"")}),a=a.replace(/~0/,"")},n=function(a){a=a.replace(/\n/g,"\n\n");return a=a.replace(/^(<(p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|script|noscript|form|fieldset|iframe|math|ins|del)\b[^\r]*?\n<\/\2>[ \t]*(?=\n+))/gm,o),a=a.replace(/^(<(p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|script|noscript|form|fieldset|iframe|math|style|section|header|footer|nav|article|aside)\b[^\r]*?<\/\2>[ \t]*(?=\n+)\n)/gm,o),a=a.replace(/(\n[ ]{0,3}(<(hr)\b([^<>])*?\/?>)[ \t]*(?=\n{2,}))/g,o),a=a.replace(/(\n\n[ ]{0,3}[ \t]*(?=\n{2,}))/g,o),a=a.replace(/(?:\n\n)([ ]{0,3}(?:<([?%])[^\r]*?\2>)[ \t]*(?=\n{2,}))/g,o),a=a.replace(/\n\n/g,"\n")},o=function(a,b){var c=b;return c=c.replace(/\n\n/g,"\n"),c=c.replace(/^\n/,""),c=c.replace(/\n+$/g,""),c="\n\n~K"+(d.push(c)-1)+"K\n\n"},p=function(a){a=w(a);var b=A("
    ");return a=a.replace(/^[ ]{0,2}([ ]?\*[ ]?){3,}[ \t]*$/gm,b),a=a.replace(/^[ ]{0,2}([ ]?\-[ ]?){3,}[ \t]*$/gm,b),a=a.replace(/^[ ]{0,2}([ ]?\_[ ]?){3,}[ \t]*$/gm,b),a=x(a),a=y(a),a=E(a),a=n(a),a=F(a)},q=function(a){return a=B(a),a=r(a),a=H(a),a=u(a),a=s(a),a=I(a),a=G(a),a=D(a),a=a.replace(/ +\n/g,"
    \n")},r=function(a){var b=/(<[a-z\/!$]("[^"]*"|'[^']*'|[^'">])*>|)/gi;return a=a.replace(b,function(a){var b=a.replace(/(.)<\/?code>(?=.)/g,"$1`");return b=N(b,"\\`*_")})},s=function(a){return a=a.replace(/(\[((?:\[[^\]]*\]|[^\[\]])*)\][ ]?(?:\n[ ]*)?\[(.*?)\])()()()()/g,t),a=a.replace(/(\[((?:\[[^\]]*\]|[^\[\]])*)\]\([ \t]*()?[ \t]*((['"])(.*?)\6[ \t]*)?\))/g,t),a=a.replace(/(\[([^\[\]]+)\])()()()()()/g,t)},t=function(a,d,e,f,g,h,i,j){void 0==j&&(j="");var k=d,l=e,m=f.toLowerCase(),n=g,o=j;if(""==n)if(""==m&&(m=l.toLowerCase().replace(/ ?\n/g," ")),n="#"+m,void 0!=b[m])n=b[m],void 0!=c[m]&&(o=c[m]);else{if(!(k.search(/\(\s*\)$/m)>-1))return k;n=""}n=N(n,"*_");var p='"},u=function(a){return a=a.replace(/(!\[(.*?)\][ ]?(?:\n[ ]*)?\[(.*?)\])()()()()/g,v),a=a.replace(/(!\[(.*?)\]\s?\([ \t]*()?[ \t]*((['"])(.*?)\6[ \t]*)?\))/g,v)},v=function(a,d,e,f,g,h,i,j){var k=d,l=e,m=f.toLowerCase(),n=g,o=j;if(o||(o=""),""==n){if(""==m&&(m=l.toLowerCase().replace(/ ?\n/g," ")),n="#"+m,void 0==b[m])return k;n=b[m],void 0!=c[m]&&(o=c[m])}l=l.replace(/"/g,"""),n=N(n,"*_");var p=''+l+''+q(c)+"")}),a=a.replace(/^(.+)[ \t]*\n-+[ \t]*\n+/gm,function(a,c){return A('

    '+q(c)+"

    ")}),a=a.replace(/^(\#{1,6})[ \t]*(.+?)[ \t]*\#*\n+/gm,function(a,c,d){var e=c.length;return A("'+q(d)+"")})},x=function(a){a+="~0";var b=/^(([ ]{0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(~0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm;return e?a=a.replace(b,function(a,b,c){var d=b,e=c.search(/[*+-]/g)>-1?"ul":"ol";d=d.replace(/\n{2,}/g,"\n\n\n");var f=k(d);return f=f.replace(/\s+$/,""),f="<"+e+">"+f+"\n"}):(b=/(\n\n|^\n?)(([ ]{0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(~0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/g,a=a.replace(b,function(a,b,c,d){var e=b,f=c,g=d.search(/[*+-]/g)>-1?"ul":"ol",f=f.replace(/\n{2,}/g,"\n\n\n"),h=k(f);return h=e+"<"+g+">\n"+h+"\n"})),a=a.replace(/~0/,"")};k=function(a){return e++,a=a.replace(/\n{2,}$/,"\n"),a+="~0",a=a.replace(/(\n)?(^[ \t]*)([*+-]|\d+[.])[ \t]+([^\r]+?(\n{1,2}))(?=\n*(~0|\2([*+-]|\d+[.])[ \t]+))/gm,function(a,b,c,d,e){var f=e,g=b;return g||f.search(/\n{2,}/)>-1?f=p(L(f)):(f=x(L(f)),f=f.replace(/\n$/,""),f=q(f)),"
  • "+f+"
  • \n"}),a=a.replace(/~0/g,""),e--,a};var y=function(a){return a+="~0",a=a.replace(/(?:\n\n|^)((?:(?:[ ]{4}|\t).*\n+)+)(\n*[ ]{0,3}[^ \t\n]|(?=~0))/g,function(a,b,c){var d=b,e=c;return d=C(L(d)),d=M(d),d=d.replace(/^\n+/g,""),d=d.replace(/\n+$/g,""),d="
    "+d+"\n
    ",A(d)+e}),a=a.replace(/~0/,"")},z=function(a){return a+="~0",a=a.replace(/(?:^|\n)```(.*)\n([\s\S]*?)\n```/g,function(a,b,c){var d=b,e=c;return e=C(e),e=M(e),e=e.replace(/^\n+/g,""),e=e.replace(/\n+$/g,""),e="
    "+e+"\n
    ",A(e)}),a=a.replace(/~0/,"")},A=function(a){return a=a.replace(/(^\n+|\n+$)/g,""),"\n\n~K"+(d.push(a)-1)+"K\n\n"},B=function(a){return a=a.replace(/(^|[^\\])(`+)([^\r]*?[^`])\2(?!`)/gm,function(a,b,c,d){var e=d;return e=e.replace(/^([ \t]*)/g,""),e=e.replace(/[ \t]*$/g,""),e=C(e),b+""+e+""})},C=function(a){return a=a.replace(/&/g,"&"),a=a.replace(//g,">"),a=N(a,"*_{}[]\\",!1)},D=function(a){return a=a.replace(/(\*\*|__)(?=\S)([^\r]*?\S[*_]*)\1/g,"$2"),a=a.replace(/(\*|_)(?=\S)([^\r]*?\S)\1/g,"$2")},E=function(a){return a=a.replace(/((^[ \t]*>[ \t]?.+\n(.+\n)*\n*)+)/gm,function(a,b){var c=b;return c=c.replace(/^[ \t]*>[ \t]?/gm,"~0"),c=c.replace(/~0/g,""),c=c.replace(/^[ \t]+$/gm,""),c=p(c),c=c.replace(/(^|\n)/g,"$1 "),c=c.replace(/(\s*
    [^\r]+?<\/pre>)/gm,function(a,b){var c=b;return c=c.replace(/^  /gm,"~0"),c=c.replace(/~0/g,"")}),A("
    \n"+c+"\n
    ")})},F=function(a){a=a.replace(/^\n+/g,""),a=a.replace(/\n+$/g,"");for(var b=a.split(/\n{2,}/g),c=[],e=b.length,f=0;e>f;f++){var g=b[f];g.search(/~K(\d+)K/g)>=0?c.push(g):g.search(/\S/)>=0&&(g=q(g),g=g.replace(/^([ \t]*)/g,"

    "),g+="

    ",c.push(g))}e=c.length;for(var f=0;e>f;f++)for(;c[f].search(/~K(\d+)K/)>=0;){var h=d[RegExp.$1];h=h.replace(/\$/g,"$$$$"),c[f]=c[f].replace(/~K\d+K/,h)}return c.join("\n\n")},G=function(a){return a=a.replace(/&(?!#?[xX]?(?:[0-9a-fA-F]+|\w+);)/g,"&"),a=a.replace(/<(?![a-z\/?\$!])/gi,"<")},H=function(a){return a=a.replace(/\\(\\)/g,O),a=a.replace(/\\([`*_{}\[\]()>#+-.!])/g,O)},I=function(a){return a=a.replace(/<((https?|ftp|dict):[^'">\s]+)>/gi,'
    $1'),a=a.replace(/<(?:mailto:)?([-.\w]+\@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+)>/gi,function(a,b){return J(K(b))})},J=function(a){var b=[function(a){return"&#"+a.charCodeAt(0)+";"},function(a){return"&#x"+a.charCodeAt(0).toString(16)+";"},function(a){return a}];return a="mailto:"+a,a=a.replace(/./g,function(a){if("@"==a)a=b[Math.floor(2*Math.random())](a);else if(":"!=a){var c=Math.random();a=c>.9?b[2](a):c>.45?b[1](a):b[0](a)}return a}),a=''+a+"",a=a.replace(/">.+:/g,'">')},K=function(a){return a=a.replace(/~E(\d+)E/g,function(a,b){var c=parseInt(b);return String.fromCharCode(c)})},L=function(a){return a=a.replace(/^(\t|[ ]{1,4})/gm,"~0"),a=a.replace(/~0/g,"")},M=function(a){return a=a.replace(/\t(?=\t)/g," "),a=a.replace(/\t/g,"~A~B"),a=a.replace(/~B(.+?)~A/g,function(a,b){for(var c=b,d=4-c.length%4,e=0;d>e;e++)c+=" ";return c}),a=a.replace(/~A/g," "),a=a.replace(/~B/g,"")},N=function(a,b,c){var d="(["+b.replace(/([\[\]\\])/g,"\\$1")+"])";c&&(d="\\\\"+d);var e=new RegExp(d,"g");return a=a.replace(e,O)},O=function(a,b){var c=b.charCodeAt(0);return"~E"+c+"E"}},"undefined"!=typeof module&&(module.exports=Showdown),"function"==typeof define&&define.amd&&define("panels/text/lib/showdown",[],function(){return Showdown}),define("panels/text/module",["angular","app","underscore","require"],function(a,b,c,d){var e=a.module("kibana.panels.text",[]);b.useModule(e),e.controller("text",["$scope",function(a){a.panelMeta={description:"A static text panel that can use plain text, markdown, or (sanitized) HTML"};var b={mode:"markdown",content:"",style:{}};c.defaults(a.panel,b),a.init=function(){a.initBaseController(this,a),a.ready=!1},a.render=function(){a.$emit("render")},a.openEditor=function(){console.log("scope id",a.$id)}}]),e.directive("markdown",function(){return{restrict:"E",link:function(a,b){function c(){d(["./lib/showdown"],function(c){a.ready=!0;var d=new c.converter,e=a.panel.content.replace(/&/g,"&").replace(/>/g,">").replace(/")}}),e.filter("striphtml",function(){return function(a){return a.replace(/&/g,"&").replace(/>/g,">").replace(/{{panel.content}}

    '}),define("panels/timepicker/module",["angular","app","underscore","moment","kbn"],function(a,b,c,d,e){var f=a.module("kibana.panels.timepicker",[]);b.useModule(f),f.controller("timepicker",["$scope","$modal","$q",function(a,b,f){a.panelMeta={status:"Stable",description:"A panel for controlling the time range filters. If you have time based data, or if you're using time stamped indices, you need one of these"};var g={status:"Stable",time_options:["5m","15m","1h","6h","12h","24h","2d","7d","30d"],refresh_intervals:["5s","10s","30s","1m","5m","15m","30m","1h","2h","1d"]},h=null;c.defaults(a.panel,g),a.patterns={date:/^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/,hour:/^([01]?[0-9]|2[0-3])$/,minute:/^[0-5][0-9]$/,second:/^[0-5][0-9]$/,millisecond:/^[0-9]*$/},a.$on("refresh",function(){a.init()}),a.init=function(){var b=this.filter.timeRange(!0);b&&(a.panel.now="now"===this.filter.timeRange(!1).to?!0:!1,a.time=k(b.from,b.to))},a.customTime=function(){h||(h=b({template:"./app/panels/timepicker/custom.html",persist:!0,show:!1,scope:a,keyboard:!1})),a.input.$setValidity("dummy",!0),a.temptime=j(a.time),a.temptime.from.date.setHours(1,0,0,0),a.temptime.to.date.setHours(1,0,0,0),f.when(h).then(function(a){a.modal("show")})},a.validate=function(b){a.input.$setValidity("dummy",!0);var c=m(b.from.date),d=m(b.to.date),e=b;return a.input.$valid?(c.setHours(e.from.hour,e.from.minute,e.from.second,e.from.millisecond),d.setHours(e.to.hour,e.to.minute,e.to.second,e.to.millisecond),isNaN(c.getTime())||isNaN(d.getTime())||c.getTime()>=d.getTime()?(a.input.$setValidity("dummy",!1),!1):{from:c,to:d}):!1},a.setNow=function(){a.time.to=l(new Date)},a.setAbsoluteTimeFilter=function(b){var d=c.clone(b);a.panel.now&&(d.to="now"),a.panel.filter_id=a.filter.setTime(d),a.time=k(b.from,b.to)},a.setRelativeFilter=function(b){a.panel.now=!0;var c={from:"now-"+b,to:"now"};this.filter.setTime(c),a.time=k(e.parseDate(c.from),new Date)};var i=function(a,b,c){return c=c||"0",a=a.toString(),a.length>=b?a:new Array(b-a.length+1).join(c)+a},j=function(a){var b={from:c.clone(a.from),to:c.clone(a.to)};return b.from.date=new Date(b.from.date),b.to.date=new Date(b.to.date),b},k=function(a,b){return{from:l(a),to:l(b)}},l=function(a){return{date:new Date(a),hour:i(a.getHours(),2),minute:i(a.getMinutes(),2),second:i(a.getSeconds(),2),millisecond:i(a.getMilliseconds(),3)}},m=function(a){return a=d(a).clone().toDate(),d(new Date(a.getTime()+6e4*a.getTimezoneOffset())).toDate()}}])}),define("text!panels/timepicker/module.html",[],function(){return''}); diff --git a/app/dash/app/components/require.config.js b/app/dash/app/components/require.config.js deleted file mode 100644 index d421a23..0000000 --- a/app/dash/app/components/require.config.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! grafana - v1.6.1 - 2014-09-02 - * Copyright (c) 2014 Torkel Ödegaard; Licensed Apache License */ - -require.config({baseUrl:"app",paths:{config:["../config","../config.sample"],settings:"components/settings",kbn:"components/kbn",css:"../vendor/require/css",text:"../vendor/require/text",moment:"../vendor/moment",filesaver:"../vendor/filesaver",angular:"../vendor/angular/angular","angular-dragdrop":"../vendor/angular/angular-dragdrop","angular-strap":"../vendor/angular/angular-strap","angular-sanitize":"../vendor/angular/angular-sanitize",timepicker:"../vendor/angular/timepicker",datepicker:"../vendor/angular/datepicker",bindonce:"../vendor/angular/bindonce",crypto:"../vendor/crypto.min",spectrum:"../vendor/spectrum",underscore:"components/underscore.extended","underscore-src":"../vendor/underscore",bootstrap:"../vendor/bootstrap/bootstrap",jquery:"../vendor/jquery/jquery-1.8.0","jquery-ui":"../vendor/jquery/jquery-ui-1.10.3","extend-jquery":"components/extend-jquery","jquery.flot":"../vendor/jquery/jquery.flot","jquery.flot.pie":"../vendor/jquery/jquery.flot.pie","jquery.flot.events":"../vendor/jquery/jquery.flot.events","jquery.flot.selection":"../vendor/jquery/jquery.flot.selection","jquery.flot.stack":"../vendor/jquery/jquery.flot.stack","jquery.flot.stackpercent":"../vendor/jquery/jquery.flot.stackpercent","jquery.flot.time":"../vendor/jquery/jquery.flot.time","jquery.flot.byte":"../vendor/jquery/jquery.flot.byte",modernizr:"../vendor/modernizr-2.6.1",elasticjs:"../vendor/elasticjs/elastic-angular-client","bootstrap-tagsinput":"../vendor/tagsinput/bootstrap-tagsinput"},shim:{underscore:{exports:"_"},spectrum:{deps:["jquery"]},crypto:{exports:"Crypto"},angular:{deps:["jquery","config"],exports:"angular"},bootstrap:{deps:["jquery"]},modernizr:{exports:"Modernizr"},jquery:{exports:"jQuery"},"jquery-ui":["jquery"],"jquery.flot":["jquery"],"jquery.flot.byte":["jquery","jquery.flot"],"jquery.flot.pie":["jquery","jquery.flot"],"jquery.flot.events":["jquery","jquery.flot"],"jquery.flot.selection":["jquery","jquery.flot"],"jquery.flot.stack":["jquery","jquery.flot"],"jquery.flot.stackpercent":["jquery","jquery.flot"],"jquery.flot.time":["jquery","jquery.flot"],"angular-sanitize":["angular"],"angular-cookies":["angular"],"angular-dragdrop":["jquery","jquery-ui","angular"],"angular-loader":["angular"],"angular-mocks":["angular"],"angular-resource":["angular"],"angular-route":["angular"],"angular-touch":["angular"],bindonce:["angular"],"angular-strap":["angular","bootstrap","timepicker","datepicker"],timepicker:["jquery","bootstrap"],datepicker:["jquery","bootstrap"],elasticjs:["angular","../vendor/elasticjs/elastic"],"bootstrap-tagsinput":["jquery"]},waitSeconds:60}); \ No newline at end of file diff --git a/app/dash/app/dashboards/Compute b/app/dash/app/dashboards/Compute deleted file mode 100644 index 1645c47..0000000 --- a/app/dash/app/dashboards/Compute +++ /dev/null @@ -1,817 +0,0 @@ -{ - "title": "Compute", - "services": { - "filter": { - "list": [], - "time": { - "from": "now-1h", - "to": "now" - } - } - }, - "rows": [ - { - "title": "Row1", - "height": "250px", - "editable": true, - "collapse": false, - "collapsable": true, - "panels": [ - { - "error": false, - "span": 4, - "editable": true, - "type": "text", - "mode": "html", - "content": "

    OpenStack Nova Compute

    This dashboard provides information on the compute nodes and their OpenStack related processes.



    ", - "style": {}, - "title": "Compute" - }, - { - "span": 4, - "editable": true, - "type": "graph", - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "short", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 0, - "linewidth": 1, - "points": false, - "pointradius": 5, - "bars": false, - "stack": false, - "legend": { - "show": true, - "values": false, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": false - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-api.ps_cputime.user" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-compute.ps_cputime.user", - "hide": false - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-conductor.ps_cputime.user" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-cert.ps_cputime.user" - } - ], - "aliasColors": {}, - "aliasYAxis": {}, - "title": "Processes User" - }, - { - "span": 4, - "editable": true, - "type": "graph", - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "short", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 0, - "linewidth": 1, - "points": false, - "pointradius": 5, - "bars": false, - "stack": false, - "legend": { - "show": true, - "values": false, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": false - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-api.ps_cputime.syst" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-compute.ps_cputime.syst" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-conductor.ps_cputime.syst" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-cert.ps_cputime.syst" - } - ], - "aliasColors": {}, - "aliasYAxis": {}, - "title": "Processes System" - } - ], - "notice": false - }, - { - "title": "Disk Ops", - "height": "250px", - "editable": true, - "collapse": false, - "collapsable": true, - "panels": [ - { - "span": 6, - "editable": true, - "type": "graph", - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "short", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 0, - "linewidth": 1, - "points": false, - "pointradius": 5, - "bars": false, - "stack": false, - "legend": { - "show": true, - "values": false, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": false - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-api.ps_disk_ops.read" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-compute.ps_disk_ops.read" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-conductor.ps_disk_ops.read" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-cert.ps_disk_ops.read" - } - ], - "aliasColors": {}, - "aliasYAxis": {}, - "title": "Disk Read Ops" - }, - { - "span": 6, - "editable": true, - "type": "graph", - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "short", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 0, - "linewidth": 1, - "points": false, - "pointradius": 5, - "bars": false, - "stack": false, - "legend": { - "show": true, - "values": false, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": false - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-api.ps_disk_ops.write" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-compute.ps_disk_ops.write" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-conductor.ps_disk_ops.write" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-cert.ps_disk_ops.write" - } - ], - "aliasColors": {}, - "aliasYAxis": {}, - "title": "Disk Write Ops" - } - ], - "notice": false - }, - { - "title": "Disk Ops", - "height": "250px", - "editable": true, - "collapse": false, - "collapsable": true, - "panels": [ - { - "span": 6, - "editable": true, - "type": "graph", - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "short", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 0, - "linewidth": 1, - "points": false, - "pointradius": 5, - "bars": false, - "stack": false, - "legend": { - "show": true, - "values": false, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": false - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-api.ps_disk_octets.read" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-compute.ps_disk_octets.read" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-conductor.ps_disk_octets.read" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-cert.ps_disk_octets.read" - } - ], - "aliasColors": {}, - "aliasYAxis": {}, - "title": "Disk Read Octets" - }, - { - "span": 6, - "editable": true, - "type": "graph", - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "short", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 0, - "linewidth": 1, - "points": false, - "pointradius": 5, - "bars": false, - "stack": false, - "legend": { - "show": true, - "values": false, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": false - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-api.ps_disk_octets.write" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-compute.ps_disk_octets.write" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-conductor.ps_disk_octets.write" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-cert.ps_disk_octets.write" - } - ], - "aliasColors": {}, - "aliasYAxis": {}, - "title": "Disk Write Octets" - } - ], - "notice": false - } - ], - "editable": true, - "failover": false, - "panel_hints": true, - "style": "light", - "pulldowns": [ - { - "type": "filtering", - "collapse": false, - "notice": false, - "enable": false - }, - { - "type": "annotations", - "enable": false - } - ], - "nav": [ - { - "type": "timepicker", - "collapse": false, - "notice": false, - "enable": true, - "status": "Stable", - "time_options": [ - "5m", - "15m", - "1h", - "6h", - "12h", - "24h", - "2d", - "7d", - "30d" - ], - "refresh_intervals": [ - "5s", - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ], - "now": true - } - ], - "loader": { - "save_gist": false, - "save_elasticsearch": true, - "save_local": true, - "save_default": true, - "save_temp": true, - "save_temp_ttl_enable": true, - "save_temp_ttl": "30d", - "load_gist": false, - "load_elasticsearch": true, - "load_elasticsearch_size": 20, - "load_local": false, - "hide": false - }, - "refresh": false, - "tags": [], - "timezone": "browser" -} \ No newline at end of file diff --git a/app/dash/app/dashboards/Controller b/app/dash/app/dashboards/Controller deleted file mode 100644 index ac53670..0000000 --- a/app/dash/app/dashboards/Controller +++ /dev/null @@ -1,1173 +0,0 @@ -{ - "title": "Controller", - "services": { - "filter": { - "list": [], - "time": { - "from": "now-1h", - "to": "now" - } - } - }, - "rows": [ - { - "title": "Row1", - "height": "250px", - "editable": true, - "collapse": false, - "collapsable": true, - "panels": [ - { - "error": false, - "span": 4, - "editable": true, - "type": "text", - "mode": "html", - "content": "

    OpenStack Controller

    This dashboard provides process information specifically configured for the OpenStack Controller node.



    ", - "style": {}, - "title": "Controller" - }, - { - "span": 4, - "editable": true, - "type": "graph", - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "short", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 4, - "linewidth": 2, - "points": false, - "pointradius": 5, - "bars": false, - "stack": true, - "legend": { - "show": true, - "values": true, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": true - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-api.ps_cputime.user" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-cert.ps_cputime.user" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-conductor.ps_cputime.user" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-novncproxy.ps_cputime.user" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-scheduler.ps_cputime.user" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.keystone.ps_cputime.user" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.glance-api.ps_cputime.user" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.glance-registry.ps_cputime.user" - } - ], - "aliasColors": {}, - "aliasYAxis": {}, - "title": "Process User Time", - "leftYAxisLabel": "" - }, - { - "span": 4, - "editable": true, - "type": "graph", - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "short", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 4, - "linewidth": 2, - "points": false, - "pointradius": 5, - "bars": false, - "stack": true, - "legend": { - "show": true, - "values": true, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": true - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-api.ps_cputime.syst" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-cert.ps_cputime.syst" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-conductor.ps_cputime.syst" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-novncproxy.ps_cputime.syst" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-scheduler.ps_cputime.syst" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.keystone.ps_cputime.syst" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.glance-api.ps_cputime.syst" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.glance-registry.ps_cputime.syst" - } - ], - "aliasColors": {}, - "aliasYAxis": {}, - "title": "Process System Time", - "leftYAxisLabel": "" - } - ], - "notice": false - }, - { - "title": "Row1", - "height": "250px", - "editable": true, - "collapse": false, - "collapsable": true, - "panels": [ - { - "span": 6, - "editable": true, - "type": "graph", - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "short", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 4, - "linewidth": 2, - "points": false, - "pointradius": 5, - "bars": false, - "stack": true, - "legend": { - "show": true, - "values": true, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": true - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-api.ps_disk_ops.read" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-cert.ps_disk_ops.read" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-conductor.ps_disk_ops.read" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-novncproxy.ps_disk_ops.read" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-scheduler.ps_disk_ops.read" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.keystone.ps_disk_ops.read" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.glance-api.ps_disk_ops.read" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.glance-registry.ps_disk_ops.read" - } - ], - "aliasColors": {}, - "aliasYAxis": {}, - "title": "Disk Read Ops", - "leftYAxisLabel": "" - }, - { - "span": 6, - "editable": true, - "type": "graph", - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "short", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 4, - "linewidth": 2, - "points": false, - "pointradius": 5, - "bars": false, - "stack": true, - "legend": { - "show": true, - "values": true, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": true - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-api.ps_disk_ops.write" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-cert.ps_disk_ops.write" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-conductor.ps_disk_ops.write" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-novncproxy.ps_disk_ops.write" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-scheduler.ps_disk_ops.write" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.keystone.ps_disk_ops.write" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.glance-api.ps_disk_ops.write" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.glance-registry.ps_disk_ops.write" - } - ], - "aliasColors": {}, - "aliasYAxis": {}, - "title": "Disk Write Ops", - "leftYAxisLabel": "" - }, - { - "span": 6, - "editable": true, - "type": "graph", - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "short", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 4, - "linewidth": 2, - "points": false, - "pointradius": 5, - "bars": false, - "stack": true, - "legend": { - "show": true, - "values": true, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": true - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-api.ps_disk_octets.read" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-cert.ps_disk_octets.read" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-conductor.ps_disk_octets.read" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-novncproxy.ps_disk_octets.read" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-scheduler.ps_disk_octets.read" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.keystone.ps_disk_octets.read" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.glance-api.ps_disk_octets.read" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.glance-registry.ps_disk_octets.read" - } - ], - "aliasColors": {}, - "aliasYAxis": {}, - "title": "Disk Read Octets", - "leftYAxisLabel": "" - }, - { - "span": 6, - "editable": true, - "type": "graph", - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "short", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 4, - "linewidth": 2, - "points": false, - "pointradius": 5, - "bars": false, - "stack": true, - "legend": { - "show": true, - "values": true, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": true - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-api.ps_disk_octets.write" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-cert.ps_disk_octets.write" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-conductor.ps_disk_octets.write" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-novncproxy.ps_disk_octets.write" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-scheduler.ps_disk_octets.write" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.keystone.ps_disk_octets.write" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.glance-api.ps_disk_octets.write" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.glance-registry.ps_disk_octets.write" - } - ], - "aliasColors": {}, - "aliasYAxis": {}, - "title": "Disk Write Octets", - "leftYAxisLabel": "" - } - ], - "notice": false - } - ], - "editable": true, - "failover": false, - "panel_hints": true, - "style": "light", - "pulldowns": [ - { - "type": "filtering", - "collapse": false, - "notice": false, - "enable": false - }, - { - "type": "annotations", - "enable": false, - "annotations": [] - } - ], - "nav": [ - { - "type": "timepicker", - "collapse": false, - "notice": false, - "enable": true, - "status": "Stable", - "time_options": [ - "5m", - "15m", - "1h", - "6h", - "12h", - "24h", - "2d", - "7d", - "30d" - ], - "refresh_intervals": [ - "5s", - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ], - "now": true - } - ], - "loader": { - "save_gist": false, - "save_elasticsearch": true, - "save_local": true, - "save_default": true, - "save_temp": true, - "save_temp_ttl_enable": true, - "save_temp_ttl": "30d", - "load_gist": false, - "load_elasticsearch": true, - "load_elasticsearch_size": 20, - "load_local": true, - "hide": false - }, - "refresh": false, - "tags": [], - "timezone": "browser" -} diff --git a/app/dash/app/dashboards/Database b/app/dash/app/dashboards/Database deleted file mode 100644 index 5150996..0000000 --- a/app/dash/app/dashboards/Database +++ /dev/null @@ -1,492 +0,0 @@ -{ - "title": "Database", - "services": { - "filter": { - "list": [], - "time": { - "from": "now-1h", - "to": "now" - } - } - }, - "rows": [ - { - "title": "Row1", - "height": "450px", - "editable": true, - "collapse": false, - "collapsable": true, - "panels": [ - { - "error": false, - "span": 4, - "editable": true, - "type": "text", - "mode": "html", - "content": "

    Cluster Databases

    This dashboard is to show information that helps discern the state of supporting databases primarily MySQL or Postgres. This may additionally include information on Redis, Cassandra, Mongo and/or ElasticSearch.



    ", - "style": {}, - "title": "OS Database" - }, - { - "span": 4, - "editable": true, - "type": "graph", - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "short", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 2, - "linewidth": 1, - "points": false, - "pointradius": 5, - "bars": false, - "stack": true, - "legend": { - "show": true, - "values": true, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": true - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.mysqld.ps_cputime.user" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.mysqld.ps_cputime.syst" - } - ], - "aliasColors": {}, - "aliasYAxis": {}, - "title": "MySQL Process" - }, - { - "span": 4, - "editable": true, - "type": "graph", - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "short", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 2, - "linewidth": 1, - "points": false, - "pointradius": 5, - "bars": false, - "stack": false, - "legend": { - "show": true, - "values": true, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": true - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "minute", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.mysqld.ps_cputime.user", - "currentHorizontalAggregatorName": "rate" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "minute", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.mysqld.ps_cputime.syst", - "currentHorizontalAggregatorName": "rate" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "minute", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.mysqld.ps_code.value", - "currentHorizontalAggregatorName": "rate" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "minute", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.mysqld.ps_data.value", - "currentHorizontalAggregatorName": "rate" - } - ], - "aliasColors": {}, - "aliasYAxis": {}, - "title": "MySQL Process" - } - ], - "notice": false - }, - { - "title": "Row1", - "height": "450px", - "editable": true, - "collapse": false, - "collapsable": true, - "panels": [ - { - "span": 4, - "editable": true, - "type": "graph", - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "short", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 2, - "linewidth": 1, - "points": false, - "pointradius": 5, - "bars": false, - "stack": false, - "legend": { - "show": true, - "values": true, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": true - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "kairosdb.datastore.cassandra.key_query_time", - "currentHorizontalAggregatorName": "rate" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "kairosdb.http.query_time", - "currentHorizontalAggregatorName": "rate" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "kairosdb.http.request_time", - "currentHorizontalAggregatorName": "rate" - } - ], - "aliasColors": {}, - "aliasYAxis": {}, - "title": "KairosDB Process" - }, - { - "span": 4, - "editable": true, - "type": "graph", - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "short", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 2, - "linewidth": 1, - "points": false, - "pointradius": 5, - "bars": false, - "stack": false, - "legend": { - "show": true, - "values": true, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": true - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "kairosdb.metric_counters", - "currentHorizontalAggregatorName": "rate" - } - ], - "aliasColors": {}, - "aliasYAxis": {}, - "title": "Unique Metrics Collected" - } - ], - "notice": false - } - ], - "editable": true, - "failover": false, - "panel_hints": true, - "style": "light", - "pulldowns": [ - { - "type": "filtering", - "collapse": false, - "notice": false, - "enable": false - }, - { - "type": "annotations", - "enable": false - } - ], - "nav": [ - { - "type": "timepicker", - "collapse": false, - "notice": false, - "enable": true, - "status": "Stable", - "time_options": [ - "5m", - "15m", - "1h", - "6h", - "12h", - "24h", - "2d", - "7d", - "30d" - ], - "refresh_intervals": [ - "5s", - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ], - "now": true - } - ], - "loader": { - "save_gist": false, - "save_elasticsearch": true, - "save_local": true, - "save_default": true, - "save_temp": true, - "save_temp_ttl_enable": true, - "save_temp_ttl": "30d", - "load_gist": false, - "load_elasticsearch": true, - "load_elasticsearch_size": 20, - "load_local": false, - "hide": false - }, - "refresh": false, - "tags": [], - "timezone": "browser" -} \ No newline at end of file diff --git a/app/dash/app/dashboards/Image b/app/dash/app/dashboards/Image deleted file mode 100644 index 5b8f813..0000000 --- a/app/dash/app/dashboards/Image +++ /dev/null @@ -1,511 +0,0 @@ -{ - "title": "Image", - "services": { - "filter": { - "list": [], - "time": { - "from": "now-1h", - "to": "now" - } - } - }, - "rows": [ - { - "title": "Row1", - "height": "350px", - "editable": true, - "collapse": false, - "collapsable": true, - "panels": [ - { - "error": false, - "span": 4, - "editable": true, - "type": "text", - "mode": "html", - "content": "

    OpenStack Glance Image Service

    This dashboard provides information on the Glance image nodes and their OpenStack related processes.



    ", - "style": {}, - "title": "Image" - }, - { - "span": 4, - "editable": true, - "type": "graph", - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "short", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 2, - "linewidth": 1, - "points": false, - "pointradius": 5, - "bars": false, - "stack": true, - "legend": { - "show": true, - "values": false, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": false - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.glance-api.ps_cputime.user" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.glance-api.ps_cputime.syst" - } - ], - "aliasColors": {}, - "aliasYAxis": {}, - "title": "Glance Processes" - }, - { - "span": 4, - "editable": true, - "type": "graph", - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "short", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 2, - "linewidth": 1, - "points": false, - "pointradius": 5, - "bars": false, - "stack": false, - "legend": { - "show": true, - "values": false, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": false - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.glance-api.ps_disk_octets.read" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.glance-api.ps_disk_octets.write" - } - ], - "aliasColors": {}, - "aliasYAxis": {}, - "title": "Glance Disk Octets" - } - ], - "notice": false - }, - { - "title": "Row1", - "height": "350px", - "editable": true, - "collapse": false, - "collapsable": true, - "panels": [ - { - "span": 4, - "editable": true, - "type": "graph", - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "short", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 2, - "linewidth": 1, - "points": false, - "pointradius": 5, - "bars": false, - "stack": false, - "legend": { - "show": true, - "values": false, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": false - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.glance-registry.ps_cputime.user" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.glance-registry.ps_cputime.syst" - } - ], - "aliasColors": {}, - "aliasYAxis": {}, - "title": "Glance Registry Process" - }, - { - "span": 4, - "editable": true, - "type": "graph", - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "short", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 2, - "linewidth": 1, - "points": false, - "pointradius": 5, - "bars": false, - "stack": false, - "legend": { - "show": true, - "values": false, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": false - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.glance-registry.ps_vm.value" - } - ], - "aliasColors": {}, - "aliasYAxis": {}, - "title": "Glance Registry VM" - }, - { - "span": 4, - "editable": true, - "type": "graph", - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "short", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 2, - "linewidth": 1, - "points": false, - "pointradius": 5, - "bars": false, - "stack": false, - "legend": { - "show": true, - "values": false, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": false - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.glance-registry.ps_stacksize.value" - } - ], - "aliasColors": {}, - "aliasYAxis": {}, - "title": "Glance Registry Stack" - } - ], - "notice": false - } - ], - "editable": true, - "failover": false, - "panel_hints": true, - "style": "light", - "pulldowns": [ - { - "type": "filtering", - "collapse": false, - "notice": false, - "enable": false - }, - { - "type": "annotations", - "enable": false - } - ], - "nav": [ - { - "type": "timepicker", - "collapse": false, - "notice": false, - "enable": true, - "status": "Stable", - "time_options": [ - "5m", - "15m", - "1h", - "6h", - "12h", - "24h", - "2d", - "7d", - "30d" - ], - "refresh_intervals": [ - "5s", - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ], - "now": true - } - ], - "loader": { - "save_gist": false, - "save_elasticsearch": true, - "save_local": true, - "save_default": true, - "save_temp": true, - "save_temp_ttl_enable": true, - "save_temp_ttl": "30d", - "load_gist": false, - "load_elasticsearch": true, - "load_elasticsearch_size": 20, - "load_local": false, - "hide": false - }, - "refresh": false, - "tags": [], - "timezone": "browser" -} \ No newline at end of file diff --git a/app/dash/app/dashboards/Message Bus b/app/dash/app/dashboards/Message Bus deleted file mode 100644 index 4c37e15..0000000 --- a/app/dash/app/dashboards/Message Bus +++ /dev/null @@ -1,541 +0,0 @@ -{ - "title": "Message Bus", - "services": { - "filter": { - "list": [], - "time": { - "from": "now-1h", - "to": "now" - } - } - }, - "rows": [ - { - "title": "Summary", - "height": "350px", - "editable": true, - "collapse": false, - "collapsable": true, - "panels": [ - { - "error": false, - "span": 4, - "editable": true, - "type": "text", - "mode": "html", - "content": "

    Message Bus

    This dashboard provides information on RabbitMQ/AMPQ their OpenStack related processes.



    ", - "style": {}, - "title": "Message Bus" - }, - { - "span": 4, - "editable": true, - "type": "graph", - "loadingEditor": false, - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "short", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 0, - "linewidth": 1, - "points": false, - "pointradius": 5, - "bars": false, - "stack": false, - "legend": { - "show": true, - "values": false, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": false - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "rabbitmq_info.gauge.ctl_consumers.value" - } - ], - "aliasColors": {}, - "aliasYAxis": {}, - "title": "Consumers Value" - }, - { - "span": 4, - "editable": true, - "type": "graph", - "loadingEditor": false, - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "short", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 0, - "linewidth": 1, - "points": false, - "pointradius": 5, - "bars": false, - "stack": false, - "legend": { - "show": true, - "values": false, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": false - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "rabbitmq_info.gauge.ctl_consumers_cert.value" - } - ], - "aliasColors": {}, - "aliasYAxis": {}, - "title": "Cert Value" - } - ], - "notice": false - }, - { - "title": "New row", - "height": "250px", - "editable": true, - "collapse": false, - "collapsable": true, - "panels": [ - { - "span": 6, - "editable": true, - "type": "graph", - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "bytes", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 4, - "linewidth": 2, - "points": false, - "pointradius": 5, - "bars": false, - "stack": false, - "legend": { - "show": true, - "values": true, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": true - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.rabbitmq-server.ps_cputime.syst" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.rabbitmq-server.ps_cputime.user", - "hide": false - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.rabbitmq-server.ps_stacksize.value" - } - ], - "aliasColors": { - "rabbitmq_info.gauge.pmap_used.value ( ) ": "#447EBC", - "rabbitmq_info.gauge.pmap_mapped.value ( ) ": "#65C5DB" - }, - "aliasYAxis": {}, - "title": "Process Info" - }, - { - "span": 6, - "editable": true, - "type": "graph", - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "short", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 0, - "linewidth": 1, - "points": false, - "pointradius": 5, - "bars": false, - "stack": false, - "legend": { - "show": true, - "values": false, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": false - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.mysqld.ps_cputime.syst" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.mysqld.ps_cputime.user" - } - ], - "aliasColors": {}, - "aliasYAxis": {}, - "title": "MySQL" - } - ], - "notice": false - }, - { - "title": "New row", - "height": "250px", - "editable": true, - "collapse": false, - "collapsable": true, - "panels": [ - { - "span": 6, - "editable": true, - "type": "graph", - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "short", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 0, - "linewidth": 1, - "points": false, - "pointradius": 5, - "bars": false, - "stack": false, - "legend": { - "show": true, - "values": false, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": false - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "rabbitmq_info.gauge.ctl_consumers_compute.value" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "rabbitmq_info.gauge.ctl_consumers_conductor.value" - } - ], - "aliasColors": {}, - "aliasYAxis": {}, - "title": "Bus Consumers" - } - ], - "notice": false - } - ], - "editable": true, - "failover": false, - "panel_hints": true, - "style": "light", - "pulldowns": [ - { - "type": "filtering", - "collapse": false, - "notice": false, - "enable": false - }, - { - "type": "annotations", - "enable": false - } - ], - "nav": [ - { - "type": "timepicker", - "collapse": false, - "notice": false, - "enable": true, - "status": "Stable", - "time_options": [ - "5m", - "15m", - "1h", - "6h", - "12h", - "24h", - "2d", - "7d", - "30d" - ], - "refresh_intervals": [ - "5s", - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ], - "now": true - } - ], - "loader": { - "save_gist": false, - "save_elasticsearch": true, - "save_local": true, - "save_default": true, - "save_temp": true, - "save_temp_ttl_enable": true, - "save_temp_ttl": "30d", - "load_gist": false, - "load_elasticsearch": true, - "load_elasticsearch_size": 20, - "load_local": false, - "hide": false - }, - "refresh": false, - "tags": [], - "timezone": "browser" -} \ No newline at end of file diff --git a/app/dash/app/dashboards/Metrics Dashboard b/app/dash/app/dashboards/Metrics Dashboard deleted file mode 100644 index 15fc6ae..0000000 --- a/app/dash/app/dashboards/Metrics Dashboard +++ /dev/null @@ -1,953 +0,0 @@ -{ - "title": "Metrics Dasboard", - "services": { - "filter": { - "list": [], - "time": { - "from": "now-1h", - "to": "now" - } - } - }, - "rows": [ - { - "title": "Loads", - "height": "250px", - "editable": true, - "collapse": false, - "collapsable": true, - "panels": [ - { - "error": false, - "span": 4, - "editable": true, - "type": "text", - "loadingEditor": false, - "mode": "html", - "content": "

    Cluster Summary

    Provides a variety of general metrics to get a quick idea of what is going on with the system.



    ", - "style": {}, - "title": "Cluster Summary" - }, - { - "span": 4, - "editable": true, - "type": "graph", - "loadingEditor": false, - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "none", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)", - "thresholdLine": true - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 5, - "linewidth": 2, - "points": false, - "pointradius": 5, - "bars": false, - "stack": false, - "legend": { - "show": true, - "values": true, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": true - }, - "percentage": true, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "individual", - "query_as_alias": true - }, - "targets": [ - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "cpu.0.cpu.idle.value", - "hide": false, - "currentTagKey": "", - "currentGroupByType": "tag", - "sampling": "", - "currentHorizontalAggregatorName": "rate" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "cpu.0.cpu.nice.value", - "currentHorizontalAggregatorName": "rate" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "cpu.0.cpu.wait.value", - "currentHorizontalAggregatorName": "rate" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "cpu.0.cpu.softirq.value", - "currentHorizontalAggregatorName": "rate" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "cpu.0.cpu.interrupt.value", - "currentHorizontalAggregatorName": "rate" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "cpu.0.cpu.system.value", - "currentHorizontalAggregatorName": "rate" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "cpu.0.cpu.user.value", - "currentHorizontalAggregatorName": "rate" - } - ], - "aliasColors": { - "cpu.0.cpu.idle.value ( ) ": "#052B51", - "cpu.0.cpu.steal.value ( ) ": "#CFFAFF", - "cpu.0.cpu.user.value ( ) ": "#64B0C8", - "cpu.0.cpu.interrupt.value ( ) ": "#0A50A1" - }, - "aliasYAxis": {}, - "title": "cpu" - }, - { - "span": 4, - "editable": true, - "type": "graph", - "loadingEditor": false, - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "short", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 1, - "linewidth": 1, - "points": false, - "pointradius": 5, - "bars": false, - "stack": false, - "legend": { - "show": true, - "values": true, - "min": false, - "max": false, - "current": true, - "total": false, - "avg": false - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.cinder-api.ps_count.processes" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.cinder-scheduler.ps_count.processes" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-api.ps_count.processes" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-cert.ps_count.processes" - } - ], - "aliasColors": {}, - "aliasYAxis": {}, - "title": "Process" - } - ], - "notice": false - }, - { - "title": "Compass Monitoring", - "height": "450px", - "editable": true, - "collapse": false, - "collapsable": true, - "panels": [ - { - "span": 4, - "editable": true, - "type": "graph", - "loadingEditor": false, - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "short", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 5, - "linewidth": 1, - "points": false, - "pointradius": 5, - "bars": false, - "stack": false, - "legend": { - "show": true, - "values": true, - "min": false, - "max": false, - "current": true, - "total": false, - "avg": true - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "individual", - "query_as_alias": true - }, - "targets": [ - { - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "load.load.longterm" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "load.load.midterm" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "load.load.shortterm" - } - ], - "aliasColors": {}, - "aliasYAxis": {}, - "title": "Loads" - }, - { - "span": 4, - "editable": true, - "type": "graph", - "loadingEditor": false, - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "short", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 0, - "linewidth": 1, - "points": false, - "pointradius": 5, - "bars": false, - "stack": false, - "legend": { - "show": true, - "values": false, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": false - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "rabbitmq_info.gauge.ctl_consumers.value" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "rabbitmq_info.gauge.pmap_used.value" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "rabbitmq_info.gauge.pmap_mapped.value" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "rabbitmq_info.gauge.ctl_consumers_cert.value" - } - ], - "aliasColors": {}, - "aliasYAxis": {}, - "title": "Message Bus" - }, - { - "span": 4, - "editable": true, - "type": "graph", - "loadingEditor": false, - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "bytes", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 5, - "linewidth": 2, - "points": false, - "pointradius": 5, - "bars": false, - "stack": true, - "legend": { - "show": true, - "values": true, - "min": false, - "max": false, - "current": true, - "total": false, - "avg": true - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "target": "", - "downsampling": "sum", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "memory.memory.used.value" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "memory.memory.free.value" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "memory.memory.buffered.value" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "memory.memory.cached.value" - } - ], - "aliasColors": { - "memory.memory.used.value ( ) ": "#E5A8E2", - "memory.memory.buffered.value ( ) ": "#6D1F62", - "memory.memory.free.value ( ) ": "#D683CE", - "memory.memory.cached.value ( ) ": "#6D1F62" - }, - "aliasYAxis": {}, - "title": "Memory" - } - ], - "notice": false - }, - { - "title": "Networking", - "height": "250px", - "editable": true, - "collapse": false, - "collapsable": true, - "panels": [ - { - "span": 4, - "editable": true, - "type": "graph", - "loadingEditor": false, - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "short", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 2, - "linewidth": 2, - "points": false, - "pointradius": 5, - "bars": false, - "stack": false, - "legend": { - "show": true, - "values": true, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": true - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "individual", - "query_as_alias": true - }, - "targets": [ - { - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "interface.eth0.if_packets.rx", - "currentHorizontalAggregatorName": "rate" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "interface.eth0.if_packets.tx", - "currentHorizontalAggregatorName": "rate" - } - ], - "aliasColors": { - "interface.if_packets.eth1.rx ( ) ": "#3F6833", - "interface.if_packets.eth1.tx ( ) ": "#7EB26D" - }, - "aliasYAxis": {}, - "title": "Packet Rate" - }, - { - "span": 4, - "editable": true, - "type": "graph", - "loadingEditor": false, - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "short", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": 5000000, - "threshold2": 6000000, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 3, - "linewidth": 2, - "points": false, - "pointradius": 5, - "bars": false, - "stack": false, - "legend": { - "show": true, - "values": true, - "min": false, - "max": false, - "current": false, - "total": true, - "avg": false - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "disk.sda.disk_ops.read", - "currentHorizontalAggregatorName": "avg", - "currentTagKey": "cluster", - "tags": {}, - "currentTagValue": "1" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "disk.sda.disk_ops.write" - } - ], - "aliasColors": {}, - "aliasYAxis": {}, - "title": "Disk Ops" - }, - { - "error": false, - "span": 4, - "editable": true, - "type": "text", - "mode": "html", - "content": "

    The Interfaces and disk metrics names driving this chart may need to be adjusted according to the naming and configuration of devices on your system.

    ", - "style": {}, - "title": "Note" - } - ], - "notice": false - } - ], - "editable": true, - "failover": false, - "panel_hints": true, - "style": "light", - "pulldowns": [ - { - "type": "filtering", - "collapse": false, - "notice": false, - "enable": false - }, - { - "type": "annotations", - "enable": false - } - ], - "nav": [ - { - "type": "timepicker", - "collapse": false, - "notice": false, - "enable": true, - "status": "Stable", - "time_options": [ - "5m", - "15m", - "1h", - "6h", - "12h", - "24h", - "2d", - "7d", - "30d" - ], - "refresh_intervals": [ - "5s", - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ], - "now": false - } - ], - "loader": { - "save_gist": false, - "save_elasticsearch": true, - "save_local": true, - "save_default": true, - "save_temp": true, - "save_temp_ttl_enable": true, - "save_temp_ttl": "30d", - "load_gist": false, - "load_elasticsearch": true, - "load_elasticsearch_size": 20, - "load_local": false, - "hide": false - }, - "refresh": false, - "tags": [], - "timezone": "browser" -} diff --git a/app/dash/app/dashboards/Network b/app/dash/app/dashboards/Network deleted file mode 100644 index 65ad63b..0000000 --- a/app/dash/app/dashboards/Network +++ /dev/null @@ -1,546 +0,0 @@ -{ - "title": "Networking", - "services": { - "filter": { - "list": [], - "time": { - "from": "now-1h", - "to": "now" - } - } - }, - "rows": [ - { - "title": "Summary", - "height": "250px", - "editable": true, - "collapse": false, - "collapsable": true, - "panels": [ - { - "error": false, - "span": 4, - "editable": true, - "type": "text", - "mode": "html", - "content": "

    OpenStack Networking

    Find various information about Neutron processes running on OpenStack cluster in this dashboard.


    ", - "style": {}, - "title": "Nuetron Dashboard" - }, - { - "span": 4, - "editable": true, - "type": "graph", - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "short", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)", - "thresholdLine": false - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 2, - "linewidth": 2, - "points": false, - "pointradius": 5, - "bars": false, - "stack": false, - "legend": { - "show": true, - "values": true, - "min": false, - "max": false, - "current": false, - "total": true, - "avg": false - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.neutron-server.ps_count.processes" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.neutron-server.ps_count.threads" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.neutron-server.ps_pagefaults.majflt" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.neutron-server.ps_pagefaults.minflt" - } - ], - "aliasColors": {}, - "aliasYAxis": {}, - "title": "Neutron Proc Info", - "leftYAxisLabel": "Counts and Faults" - }, - { - "span": 4, - "editable": true, - "type": "graph", - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "short", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 2, - "linewidth": 2, - "points": false, - "pointradius": 5, - "bars": false, - "stack": false, - "legend": { - "show": true, - "values": true, - "min": false, - "max": false, - "current": true, - "total": true, - "avg": true - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.neutron-server.ps_data.value" - } - ], - "aliasColors": { - "processes.ps_state.sleeping.value ( ) ": "#705DA0" - }, - "aliasYAxis": {}, - "title": "Process Data Size", - "leftYAxisLabel": "" - } - ], - "notice": false - }, - { - "title": "Summary", - "height": "300px", - "editable": true, - "collapse": false, - "collapsable": true, - "panels": [ - { - "span": 4, - "editable": true, - "type": "graph", - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "short", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 2, - "linewidth": 2, - "points": false, - "pointradius": 5, - "bars": false, - "stack": false, - "legend": { - "show": true, - "values": true, - "min": false, - "max": false, - "current": true, - "total": true, - "avg": true - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.neutron-server.ps_disk_octets.read" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.neutron-server.ps_disk_octets.write" - } - ], - "aliasColors": { - "processes.ps_state.sleeping.value ( ) ": "#705DA0" - }, - "aliasYAxis": {}, - "title": "Disk I/O", - "leftYAxisLabel": "" - }, - { - "span": 4, - "editable": true, - "type": "graph", - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "short", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 2, - "linewidth": 2, - "points": false, - "pointradius": 5, - "bars": false, - "stack": false, - "legend": { - "show": true, - "values": true, - "min": false, - "max": false, - "current": true, - "total": true, - "avg": true - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.neutron-server.ps_stacksize.value" - } - ], - "aliasColors": { - "processes.ps_state.sleeping.value ( ) ": "#705DA0" - }, - "aliasYAxis": {}, - "title": "Process Stack Size", - "leftYAxisLabel": "" - }, - { - "span": 4, - "editable": true, - "type": "graph", - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "bytes", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 2, - "linewidth": 2, - "points": false, - "pointradius": 5, - "bars": false, - "stack": false, - "legend": { - "show": true, - "values": true, - "min": false, - "max": false, - "current": true, - "total": true, - "avg": true - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.neutron-server.ps_vm.value" - } - ], - "aliasColors": { - "processes.ps_state.sleeping.value ( ) ": "#705DA0" - }, - "aliasYAxis": {}, - "title": "Process VM Size", - "leftYAxisLabel": "" - } - ], - "notice": false - } - ], - "editable": true, - "failover": false, - "panel_hints": true, - "style": "light", - "pulldowns": [ - { - "type": "filtering", - "collapse": false, - "notice": false, - "enable": false - }, - { - "type": "annotations", - "enable": false - } - ], - "nav": [ - { - "type": "timepicker", - "collapse": false, - "notice": false, - "enable": true, - "status": "Stable", - "time_options": [ - "5m", - "15m", - "1h", - "6h", - "12h", - "24h", - "2d", - "7d", - "30d" - ], - "refresh_intervals": [ - "5s", - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ], - "now": true - } - ], - "loader": { - "save_gist": false, - "save_elasticsearch": true, - "save_local": true, - "save_default": true, - "save_temp": true, - "save_temp_ttl_enable": true, - "save_temp_ttl": "30d", - "load_gist": false, - "load_elasticsearch": true, - "load_elasticsearch_size": 20, - "load_local": false, - "hide": false - }, - "refresh": false, - "tags": [ - "processes", - "openstack" - ], - "timezone": "browser" -} diff --git a/app/dash/app/dashboards/Processes b/app/dash/app/dashboards/Processes deleted file mode 100644 index 78d5d35..0000000 --- a/app/dash/app/dashboards/Processes +++ /dev/null @@ -1,845 +0,0 @@ -{ - "title": "Processes", - "services": { - "filter": { - "list": [], - "time": { - "from": "now-1h", - "to": "now" - } - } - }, - "rows": [ - { - "title": "Summary", - "height": "450px", - "editable": true, - "collapse": false, - "collapsable": true, - "panels": [ - { - "error": false, - "span": 4, - "editable": true, - "type": "text", - "mode": "html", - "content": "

    Cluster Processes

    Find various information about process states running on your OpenStack cluster in this dashboard. This information includes:

    • Cluster Process Summary
      • \n
      • Note that process idle time is on a seperate graph so that other states are easily visible
    • OpenStack Key Process Metrics
      • Process Count
      • Process Memory Util
      • ...
    • Supporting Process Metrics
    • Process Fork Rate
    • Other Process Information
    • \n

    ", - "style": {}, - "title": "Process Dashboard" - }, - { - "span": 4, - "editable": true, - "type": "graph", - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "short", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": 5, - "threshold2": 10, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 2, - "linewidth": 2, - "points": false, - "pointradius": 5, - "bars": false, - "stack": false, - "legend": { - "show": true, - "values": true, - "min": false, - "max": false, - "current": false, - "total": true, - "avg": false - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.ps_state.running.value" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.ps_state.paging.value" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.ps_state.blocked.value" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.ps_state.stopped.value" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.ps_state.zombies.value" - } - ], - "aliasColors": {}, - "aliasYAxis": {}, - "title": "Ave Process States", - "leftYAxisLabel": "Smaller Value Process States" - }, - { - "span": 4, - "editable": true, - "type": "graph", - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "short", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 2, - "linewidth": 2, - "points": false, - "pointradius": 5, - "bars": false, - "stack": false, - "legend": { - "show": true, - "values": true, - "min": false, - "max": false, - "current": true, - "total": true, - "avg": true - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.ps_state.sleeping.value" - } - ], - "aliasColors": { - "processes.ps_state.sleeping.value ( ) ": "#705DA0" - }, - "aliasYAxis": {}, - "title": "Ave Process States", - "leftYAxisLabel": "Sleeping Processes Always Highest" - } - ], - "notice": false - }, - { - "title": "OpenStack Core", - "height": "250px", - "editable": true, - "collapse": false, - "collapsable": true, - "panels": [ - { - "span": 4, - "editable": true, - "type": "graph", - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "short", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 3, - "linewidth": 2, - "points": false, - "pointradius": 5, - "bars": false, - "stack": false, - "legend": { - "show": true, - "values": true, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": true - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-api.ps_count.processes" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.cinder-api.ps_count.processes" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.cinder-scheduler.ps_count.processes" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-cert.ps_count.processes" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-conductor.ps_count.processes" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-scheduler.ps_count.processes" - } - ], - "aliasColors": {}, - "aliasYAxis": {}, - "title": "OS Processes Count", - "leftYAxisLabel": "Process Count" - }, - { - "span": 4, - "editable": true, - "type": "graph", - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "bytes", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 2, - "linewidth": 2, - "points": false, - "pointradius": 5, - "bars": false, - "stack": false, - "legend": { - "show": true, - "values": true, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": true - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-api.ps_rss.value" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.cinder-api.ps_rss.value" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.cinder-scheduler.ps_rss.value" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-cert.ps_rss.value" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-conductor.ps_rss.value" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-scheduler.ps_rss.value" - } - ], - "aliasColors": {}, - "aliasYAxis": {}, - "title": "OS Processes RSS", - "leftYAxisLabel": "Process Resident Segment Size" - }, - { - "span": 4, - "editable": true, - "type": "graph", - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "bytes", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 1, - "linewidth": 2, - "points": false, - "pointradius": 5, - "bars": false, - "stack": false, - "legend": { - "show": true, - "values": true, - "min": false, - "max": false, - "current": true, - "total": false, - "avg": false - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-api.ps_code.value" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.cinder-api.ps_code.value" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.cinder-scheduler.ps_code.value" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-cert.ps_code.value" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-conductor.ps_code.value" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.nova-scheduler.ps_code.value" - } - ], - "aliasColors": {}, - "aliasYAxis": {}, - "title": "OS Processes Code Value", - "leftYAxisLabel": "Process Code Value" - } - ], - "notice": false - }, - { - "title": "Other", - "height": "250px", - "editable": true, - "collapse": false, - "collapsable": true, - "panels": [ - { - "span": 4, - "editable": true, - "type": "graph", - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "short", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 2, - "linewidth": 1, - "points": false, - "pointradius": 5, - "bars": false, - "stack": true, - "legend": { - "show": true, - "values": true, - "min": false, - "max": false, - "current": true, - "total": true, - "avg": true - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "individual", - "query_as_alias": true - }, - "targets": [ - { - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.fork_rate.value", - "currentHorizontalAggregatorName": "least_squares" - } - ], - "aliasColors": { - "processes.fork_rate.value ( ) ": "#0A50A1" - }, - "aliasYAxis": {}, - "title": "Cluster Fork Rate", - "leftYAxisLabel": "Ave" - } - ], - "notice": false - } - ], - "editable": true, - "failover": false, - "panel_hints": true, - "style": "light", - "pulldowns": [ - { - "type": "filtering", - "collapse": false, - "notice": false, - "enable": false - }, - { - "type": "annotations", - "enable": false - } - ], - "nav": [ - { - "type": "timepicker", - "collapse": false, - "notice": false, - "enable": true, - "status": "Stable", - "time_options": [ - "5m", - "15m", - "1h", - "6h", - "12h", - "24h", - "2d", - "7d", - "30d" - ], - "refresh_intervals": [ - "5s", - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ], - "now": true - } - ], - "loader": { - "save_gist": false, - "save_elasticsearch": true, - "save_local": true, - "save_default": true, - "save_temp": true, - "save_temp_ttl_enable": true, - "save_temp_ttl": "30d", - "load_gist": false, - "load_elasticsearch": true, - "load_elasticsearch_size": 20, - "load_local": false, - "hide": false - }, - "refresh": false, - "tags": [ - "processes", - "openstack" - ], - "timezone": "browser" -} \ No newline at end of file diff --git a/app/dash/app/dashboards/Security b/app/dash/app/dashboards/Security deleted file mode 100644 index b07291a..0000000 --- a/app/dash/app/dashboards/Security +++ /dev/null @@ -1,531 +0,0 @@ -{ - "title": "Security", - "services": { - "filter": { - "list": [], - "time": { - "from": "now-1h", - "to": "now" - } - } - }, - "rows": [ - { - "title": "Row1", - "height": "450px", - "editable": true, - "collapse": false, - "collapsable": true, - "panels": [ - { - "error": false, - "span": 4, - "editable": true, - "type": "text", - "mode": "html", - "content": "

    Security

    This dashboard presents information to help assess the authentication system in OpenStack. It will be enhanced to include other security metrics as they are collected.



    ", - "style": {}, - "title": "Security" - }, - { - "span": 4, - "editable": true, - "type": "graph", - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "short", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 5, - "linewidth": 1, - "points": false, - "pointradius": 5, - "bars": false, - "stack": true, - "legend": { - "show": true, - "values": true, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": true - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.keystone.ps_cputime.syst" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.keystone.ps_cputime.user" - }, - { - "target": "", - "downsampling": "avg", - "errors": { - "metric": "You must supply a metric name." - }, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - } - } - ], - "aliasColors": {}, - "aliasYAxis": {}, - "title": "Keystone Process" - }, - { - "span": 4, - "editable": true, - "type": "graph", - "loadingEditor": false, - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "short", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 1, - "linewidth": 2, - "points": false, - "pointradius": 5, - "bars": false, - "stack": true, - "legend": { - "show": true, - "values": false, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": false - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.httpd.ps_cputime.user" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.httpd.ps_cputime.syst" - } - ], - "aliasColors": {}, - "aliasYAxis": {}, - "title": "Web Processes" - } - ], - "notice": false - }, - { - "title": "Row1", - "height": "450px", - "editable": true, - "collapse": false, - "collapsable": true, - "panels": [ - { - "span": 4, - "editable": true, - "type": "graph", - "loadingEditor": false, - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "bytes", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 5, - "linewidth": 1, - "points": false, - "pointradius": 5, - "bars": false, - "stack": false, - "legend": { - "show": true, - "values": false, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": false - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.keystone.ps_data.value" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.httpd.ps_data.value" - } - ], - "aliasColors": {}, - "aliasYAxis": {}, - "title": "Process Data" - }, - { - "span": 4, - "editable": true, - "type": "graph", - "loadingEditor": false, - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "short", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 0, - "linewidth": 1, - "points": false, - "pointradius": 5, - "bars": false, - "stack": false, - "legend": { - "show": true, - "values": false, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": false - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.keystone.ps_stacksize.value", - "currentHorizontalAggregatorName": "rate" - } - ], - "aliasColors": {}, - "aliasYAxis": {}, - "title": "Keystone Stack Size" - }, - { - "span": 4, - "editable": true, - "type": "graph", - "loadingEditor": false, - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "short", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 0, - "linewidth": 1, - "points": false, - "pointradius": 5, - "bars": false, - "stack": false, - "legend": { - "show": true, - "values": false, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": false - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "users.value" - } - ], - "aliasColors": {}, - "aliasYAxis": {}, - "title": "Users" - } - ], - "notice": false - } - ], - "editable": true, - "failover": false, - "panel_hints": true, - "style": "light", - "pulldowns": [ - { - "type": "filtering", - "collapse": false, - "notice": false, - "enable": false - }, - { - "type": "annotations", - "enable": false - } - ], - "nav": [ - { - "type": "timepicker", - "collapse": false, - "notice": false, - "enable": true, - "status": "Stable", - "time_options": [ - "5m", - "15m", - "1h", - "6h", - "12h", - "24h", - "2d", - "7d", - "30d" - ], - "refresh_intervals": [ - "5s", - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ], - "now": true - } - ], - "loader": { - "save_gist": false, - "save_elasticsearch": true, - "save_local": true, - "save_default": true, - "save_temp": true, - "save_temp_ttl_enable": true, - "save_temp_ttl": "30d", - "load_gist": false, - "load_elasticsearch": true, - "load_elasticsearch_size": 20, - "load_local": false, - "hide": false - }, - "refresh": false, - "tags": [], - "timezone": "browser" -} \ No newline at end of file diff --git a/app/dash/app/dashboards/Storage b/app/dash/app/dashboards/Storage deleted file mode 100644 index e73dcde..0000000 --- a/app/dash/app/dashboards/Storage +++ /dev/null @@ -1,670 +0,0 @@ -{ - "title": "Storage", - "services": { - "filter": { - "list": [], - "time": { - "from": "now-1h", - "to": "now" - } - } - }, - "rows": [ - { - "title": "Row1", - "height": "350px", - "editable": true, - "collapse": false, - "collapsable": true, - "panels": [ - { - "error": false, - "span": 4, - "editable": true, - "type": "text", - "mode": "html", - "content": "

    OpenStack Block Store

    This dashboard provides information on the Cinder storage nodes and their OpenStack related processes.



    ", - "style": {}, - "title": "Store" - }, - { - "span": 8, - "editable": true, - "type": "graph", - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "short", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 3, - "linewidth": 1, - "points": false, - "pointradius": 5, - "bars": false, - "stack": true, - "legend": { - "show": true, - "values": true, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": true - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.cinder-api.ps_cputime.syst" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.cinder-scheduler.ps_cputime.syst" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.cinder-volume.ps_cputime.syst" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.cinder-api.ps_cputime.user" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.cinder-scheduler.ps_cputime.user" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.cinder-volume.ps_cputime.user" - } - ], - "aliasColors": {}, - "aliasYAxis": {}, - "title": "Cinder Processes" - } - ], - "notice": false - }, - { - "title": "New row", - "height": "250px", - "editable": true, - "collapse": false, - "collapsable": true, - "panels": [ - { - "span": 6, - "editable": true, - "type": "graph", - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "short", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 3, - "linewidth": 1, - "points": false, - "pointradius": 5, - "bars": false, - "stack": true, - "legend": { - "show": true, - "values": true, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": true - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.cinder-api.ps_disk_ops.read" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.cinder-scheduler.ps_disk_ops.read" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.cinder-volume.ps_disk_ops.read" - } - ], - "aliasColors": {}, - "aliasYAxis": {}, - "title": "Disk Read Ops" - }, - { - "span": 6, - "editable": true, - "type": "graph", - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "short", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 3, - "linewidth": 1, - "points": false, - "pointradius": 5, - "bars": false, - "stack": true, - "legend": { - "show": true, - "values": true, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": true - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.cinder-api.ps_disk_ops.write" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.cinder-scheduler.ps_disk_ops.write" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.cinder-volume.ps_disk_ops.write" - } - ], - "aliasColors": {}, - "aliasYAxis": {}, - "title": "Disk Write Ops" - } - ], - "notice": false - }, - { - "title": "New row", - "height": "250px", - "editable": true, - "collapse": false, - "collapsable": true, - "panels": [ - { - "span": 6, - "editable": true, - "type": "graph", - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "short", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 3, - "linewidth": 1, - "points": false, - "pointradius": 5, - "bars": false, - "stack": true, - "legend": { - "show": true, - "values": true, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": true - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.cinder-api.ps_disk_octets.read" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.cinder-scheduler.ps_disk_octets.read" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.cinder-volume.ps_disk_octets.read" - } - ], - "aliasColors": {}, - "aliasYAxis": {}, - "title": "Disk Read Octets" - }, - { - "span": 6, - "editable": true, - "type": "graph", - "datasource": null, - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": [ - "short", - "short" - ], - "grid": { - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "annotate": { - "enable": false - }, - "resolution": 100, - "lines": true, - "fill": 3, - "linewidth": 1, - "points": false, - "pointradius": 5, - "bars": false, - "stack": true, - "legend": { - "show": true, - "values": true, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": true - }, - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "query_as_alias": true - }, - "targets": [ - { - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.cinder-api.ps_disk_octets.write" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.cinder-scheduler.ps_disk_octets.write" - }, - { - "target": "", - "downsampling": "avg", - "errors": {}, - "groupBy": { - "timeInterval": "1s" - }, - "horAggregator": { - "samplingRate": "1s", - "unit": "millisecond", - "factor": "1", - "percentile": "0.75" - }, - "metric": "processes.cinder-volume.ps_disk_octets.write" - } - ], - "aliasColors": {}, - "aliasYAxis": {}, - "title": "Disk Write Octets" - } - ], - "notice": false - } - ], - "editable": true, - "failover": false, - "panel_hints": true, - "style": "light", - "pulldowns": [ - { - "type": "filtering", - "collapse": false, - "notice": false, - "enable": false - }, - { - "type": "annotations", - "enable": false - } - ], - "nav": [ - { - "type": "timepicker", - "collapse": false, - "notice": false, - "enable": true, - "status": "Stable", - "time_options": [ - "5m", - "15m", - "1h", - "6h", - "12h", - "24h", - "2d", - "7d", - "30d" - ], - "refresh_intervals": [ - "5s", - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ], - "now": true - } - ], - "loader": { - "save_gist": false, - "save_elasticsearch": true, - "save_local": true, - "save_default": true, - "save_temp": true, - "save_temp_ttl_enable": true, - "save_temp_ttl": "30d", - "load_gist": false, - "load_elasticsearch": true, - "load_elasticsearch_size": 20, - "load_local": false, - "hide": false - }, - "refresh": false, - "tags": [], - "timezone": "browser" -} \ No newline at end of file diff --git a/app/dash/app/dashboards/default.json b/app/dash/app/dashboards/default.json deleted file mode 100644 index 63dbcef..0000000 --- a/app/dash/app/dashboards/default.json +++ /dev/null @@ -1,153 +0,0 @@ -{ - "title": "Metrics Intro", - "services": { - "filter": { - "list": [], - "time": { - "from": "now-1h", - "to": "now" - } - } - }, - "rows": [ - { - "title": "Metrics", - "height": "150px", - "editable": true, - "collapse": false, - "collapsable": true, - "panels": [ - { - "error": false, - "span": 12, - "editable": true, - "type": "text", - "loadingEditor": false, - "mode": "markdown", - "content": "####Tips: \n\n- Ctrl+S saves the current dashboard\n- Ctrl+F Opens the dashboard finder (searches elastic search)\n- Ctrl+H Hide/show row controls \n- Click and drag graph title to move panel (only works when row controls are enabled)\n\nIf you do not see a graph in the panel below the browser cannot access your metrics database. Please make sure that datasources property in config.js is correctly set and that any urls are accessible from your browser.", - "style": {}, - "title": "Metrics" - } - ], - "notice": false - }, - { - "title": "test", - "height": "250px", - "editable": true, - "collapse": false, - "collapsable": true, - "panels": [ - { - "span": 12, - "editable": true, - "type": "graph", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": ["short", "short"], - "grid": { - "max": null, - "min": null - }, - "resolution": 100, - "lines": true, - "fill": 1, - "linewidth": 2, - "points": false, - "pointradius": 5, - "bars": false, - "stack": true, - "spyable": true, - "options": false, - "legend": true, - "interactive": true, - "legend_counts": true, - "timezone": "browser", - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative" - }, - "targets": [ - { - "target": "randomWalk('random walk')" - }, - { - "target": "randomWalk('random walk2')" - }, - { - "target": "randomWalk('random walk3')" - } - ], - "aliasColors": {}, - "aliasYAxis": {}, - "title": "Metrics test" - } - ], - "notice": false - } - ], - "editable": true, - "failover": false, - "panel_hints": true, - "style": "light", - "pulldowns": [ - { - "type": "filtering", - "collapse": false, - "notice": false, - "enable": false - } - ], - "nav": [ - { - "type": "timepicker", - "collapse": false, - "notice": false, - "enable": true, - "status": "Stable", - "time_options": [ - "5m", - "15m", - "1h", - "6h", - "12h", - "24h", - "2d", - "7d", - "30d" - ], - "refresh_intervals": [ - "5s", - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ], - "now": true - } - ], - "loader": { - "save_gist": false, - "save_elasticsearch": true, - "save_local": true, - "save_default": true, - "save_temp": true, - "save_temp_ttl_enable": true, - "save_temp_ttl": "30d", - "load_gist": false, - "load_elasticsearch": true, - "load_elasticsearch_size": 20, - "load_local": false, - "hide": false - }, - "refresh": false -} diff --git a/app/dash/app/dashboards/empty.json b/app/dash/app/dashboards/empty.json deleted file mode 100644 index 0a2150c..0000000 --- a/app/dash/app/dashboards/empty.json +++ /dev/null @@ -1,83 +0,0 @@ -{ - "title": "New Dashboard", - "services": { - "filter": { - "list": [], - "time": { - "from": "now-1h", - "to": "now" - } - } - }, - "rows": [ - { - "title": "Row1", - "height": "250px", - "editable": true, - "collapse": false, - "collapsable": true, - "panels": [], - "notice": false - } - ], - "editable": true, - "failover": false, - "panel_hints": true, - "style": "light", - "pulldowns": [ - { - "type": "filtering", - "collapse": false, - "notice": false, - "enable": false - } - ], - "nav": [ - { - "type": "timepicker", - "collapse": false, - "notice": false, - "enable": true, - "status": "Stable", - "time_options": [ - "5m", - "15m", - "1h", - "6h", - "12h", - "24h", - "2d", - "7d", - "30d" - ], - "refresh_intervals": [ - "5s", - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ], - "now": true - } - ], - "loader": { - "save_gist": false, - "save_elasticsearch": true, - "save_local": true, - "save_default": true, - "save_temp": true, - "save_temp_ttl_enable": true, - "save_temp_ttl": "30d", - "load_gist": false, - "load_elasticsearch": true, - "load_elasticsearch_size": 20, - "load_local": false, - "hide": false - }, - "refresh": false -} diff --git a/app/dash/app/dashboards/scripted.js b/app/dash/app/dashboards/scripted.js deleted file mode 100644 index 3779cdf..0000000 --- a/app/dash/app/dashboards/scripted.js +++ /dev/null @@ -1,80 +0,0 @@ -/* global _ */ - -/* - * Complex scripted dashboard - * This script generates a dashboard object that Grafana can load. It also takes a number of user - * supplied URL parameters (int ARGS variable) - * - * Return a dashboard object, or a function - * - * For async scripts, return a function, this function must take a single callback function as argument, - * call this callback function with the dashboard object (look at scripted_async.js for an example) - */ - - - -// accessable variables in this scope -var window, document, ARGS, $, jQuery, moment, kbn; - -// Setup some variables -var dashboard, timspan; - -// All url parameters are available via the ARGS object -var ARGS; - -// Set a default timespan if one isn't specified -timspan = '1d'; - -// Intialize a skeleton with nothing but a rows array and service object -dashboard = { - rows : [], - services : {} -}; - -// Set a title -dashboard.title = 'Scripted dash'; -dashboard.services.filter = { - time: { - from: "now-" + (ARGS.from || timspan), - to: "now" - } -}; - -var rows = 1; -var seriesName = 'argName'; - -if(!_.isUndefined(ARGS.rows)) { - rows = parseInt(ARGS.rows, 10); -} - -if(!_.isUndefined(ARGS.name)) { - seriesName = ARGS.name; -} - -for (var i = 0; i < rows; i++) { - - dashboard.rows.push({ - title: 'Chart', - height: '300px', - panels: [ - { - title: 'Events', - type: 'graphite', - span: 12, - fill: 1, - linewidth: 2, - targets: [ - { - 'target': "randomWalk('" + seriesName + "')" - }, - { - 'target': "randomWalk('random walk2')" - } - ], - } - ] - }); -} - - -return dashboard; \ No newline at end of file diff --git a/app/dash/app/dashboards/scripted_async.js b/app/dash/app/dashboards/scripted_async.js deleted file mode 100644 index 79ed49f..0000000 --- a/app/dash/app/dashboards/scripted_async.js +++ /dev/null @@ -1,81 +0,0 @@ -/* global _ */ - -/* - * Complex scripted dashboard - * This script generates a dashboard object that Grafana can load. It also takes a number of user - * supplied URL parameters (int ARGS variable) - * - * Global accessable variables - * window, document, $, jQuery, ARGS, moment - * - * Return a dashboard object, or a function - * - * For async scripts, return a function, this function must take a single callback function, - * call this function with the dasboard object - */ - - - -// accessable variables in this scope -var window, document, ARGS, $, jQuery, moment, kbn; - -return function(callback) { - - // Setup some variables - var dashboard, timspan; - - // Set a default timespan if one isn't specified - timspan = '1d'; - - // Intialize a skeleton with nothing but a rows array and service object - dashboard = { - rows : [], - services : {} - }; - - // Set a title - dashboard.title = 'Scripted dash'; - dashboard.services.filter = { - time: { - from: "now-" + (ARGS.from || timspan), - to: "now" - } - }; - - var rows = 1; - var seriesName = 'argName'; - - if(!_.isUndefined(ARGS.rows)) { - rows = parseInt(ARGS.rows, 10); - } - - if(!_.isUndefined(ARGS.name)) { - seriesName = ARGS.name; - } - - $.ajax({ - method: 'GET', - url: '/' - }) - .done(function(result) { - - dashboard.rows.push({ - title: 'Chart', - height: '300px', - panels: [ - { - title: 'Async dashboard test', - type: 'text', - span: 12, - fill: 1, - content: '# Async test' - } - ] - }); - - // when dashboard is composed call the callback - // function and pass the dashboard - callback(dashboard); - - }); -} \ No newline at end of file diff --git a/app/dash/app/panels/annotations/editor.html b/app/dash/app/panels/annotations/editor.html deleted file mode 100644 index d77a9c8..0000000 --- a/app/dash/app/panels/annotations/editor.html +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/app/dash/app/panels/annotations/module.html b/app/dash/app/panels/annotations/module.html deleted file mode 100644 index 01399d2..0000000 --- a/app/dash/app/panels/annotations/module.html +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/app/dash/app/panels/filtering/module.html b/app/dash/app/panels/filtering/module.html deleted file mode 100644 index bd519cc..0000000 --- a/app/dash/app/panels/filtering/module.html +++ /dev/null @@ -1 +0,0 @@ -
    • name:
    • filter.query:
    \ No newline at end of file diff --git a/app/dash/app/panels/graph/axisEditor.html b/app/dash/app/panels/graph/axisEditor.html deleted file mode 100644 index f78e61b..0000000 --- a/app/dash/app/panels/graph/axisEditor.html +++ /dev/null @@ -1 +0,0 @@ -
    Left Y Axis
    Right Y Axis
    Grid thresholds
    Legend
    Legend values
    Show Axes
    \ No newline at end of file diff --git a/app/dash/app/panels/graph/legend.html b/app/dash/app/panels/graph/legend.html deleted file mode 100644 index 0250f5c..0000000 --- a/app/dash/app/panels/graph/legend.html +++ /dev/null @@ -1,26 +0,0 @@ - {{series.alias}}   Current: {{series.current}}    Min: {{series.min}}    Max: {{series.max}}    Total: {{series.total}}    Avg: {{series.avg}}  \ No newline at end of file diff --git a/app/dash/app/panels/graph/module.html b/app/dash/app/panels/graph/module.html deleted file mode 100644 index afc405d..0000000 --- a/app/dash/app/panels/graph/module.html +++ /dev/null @@ -1 +0,0 @@ -
    No datapointsCan be caused by timezone mismatch between browser and graphite server Datapoints outside time rangeCan be caused by timezone mismatch between browser and graphite server
    \ No newline at end of file diff --git a/app/dash/app/panels/graph/styleEditor.html b/app/dash/app/panels/graph/styleEditor.html deleted file mode 100644 index ba4d228..0000000 --- a/app/dash/app/panels/graph/styleEditor.html +++ /dev/null @@ -1 +0,0 @@ -
    Chart Options
    Line options
    Multiple Series
    Rendering
    \ No newline at end of file diff --git a/app/dash/app/panels/text/editor.html b/app/dash/app/panels/text/editor.html deleted file mode 100644 index 9544fe8..0000000 --- a/app/dash/app/panels/text/editor.html +++ /dev/null @@ -1,2 +0,0 @@ -
    \ No newline at end of file diff --git a/app/dash/app/panels/text/module.html b/app/dash/app/panels/text/module.html deleted file mode 100644 index 6ed11aa..0000000 --- a/app/dash/app/panels/text/module.html +++ /dev/null @@ -1 +0,0 @@ -
    {{panel.content}}

    \ No newline at end of file diff --git a/app/dash/app/panels/timepicker/custom.html b/app/dash/app/panels/timepicker/custom.html deleted file mode 100644 index 4117e9f..0000000 --- a/app/dash/app/panels/timepicker/custom.html +++ /dev/null @@ -1,31 +0,0 @@ - \ No newline at end of file diff --git a/app/dash/app/panels/timepicker/editor.html b/app/dash/app/panels/timepicker/editor.html deleted file mode 100644 index f8b8831..0000000 --- a/app/dash/app/panels/timepicker/editor.html +++ /dev/null @@ -1 +0,0 @@ -
    \ No newline at end of file diff --git a/app/dash/app/panels/timepicker/module.html b/app/dash/app/panels/timepicker/module.html deleted file mode 100644 index 2603c06..0000000 --- a/app/dash/app/panels/timepicker/module.html +++ /dev/null @@ -1,8 +0,0 @@ - \ No newline at end of file diff --git a/app/dash/app/panels/timepicker/refreshctrl.html b/app/dash/app/panels/timepicker/refreshctrl.html deleted file mode 100644 index 5550689..0000000 --- a/app/dash/app/panels/timepicker/refreshctrl.html +++ /dev/null @@ -1 +0,0 @@ -

    \ No newline at end of file diff --git a/app/dash/app/partials/dashLoader.html b/app/dash/app/partials/dashLoader.html deleted file mode 100644 index f49a841..0000000 --- a/app/dash/app/partials/dashLoader.html +++ /dev/null @@ -1,3 +0,0 @@ -
  • Back to dashboard
  • Zoom Out
  • Stop playlist
  • \ No newline at end of file diff --git a/app/dash/app/partials/dashLoaderShare.html b/app/dash/app/partials/dashLoaderShare.html deleted file mode 100644 index b4989b1..0000000 --- a/app/dash/app/partials/dashLoaderShare.html +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/app/dash/app/partials/dashboard.html b/app/dash/app/partials/dashboard.html deleted file mode 100644 index db220ba..0000000 --- a/app/dash/app/partials/dashboard.html +++ /dev/null @@ -1 +0,0 @@ -
    \ No newline at end of file diff --git a/app/dash/app/partials/dasheditor.html b/app/dash/app/partials/dasheditor.html deleted file mode 100644 index 0167fa2..0000000 --- a/app/dash/app/partials/dasheditor.html +++ /dev/null @@ -1 +0,0 @@ - diff --git a/app/dash/app/partials/graphite/editor.html b/app/dash/app/partials/graphite/editor.html deleted file mode 100644 index 52f2d31..0000000 --- a/app/dash/app/partials/graphite/editor.html +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/app/dash/app/partials/import.html b/app/dash/app/partials/import.html deleted file mode 100644 index e804e31..0000000 --- a/app/dash/app/partials/import.html +++ /dev/null @@ -1 +0,0 @@ -
    Import dashboards from graphite web
    {{dash.name}}
    {{error}}
    \ No newline at end of file diff --git a/app/dash/app/partials/influxdb/editor.html b/app/dash/app/partials/influxdb/editor.html deleted file mode 100644 index 3d5a65f..0000000 --- a/app/dash/app/partials/influxdb/editor.html +++ /dev/null @@ -1 +0,0 @@ -
    \ No newline at end of file diff --git a/app/dash/app/partials/inspector.html b/app/dash/app/partials/inspector.html deleted file mode 100644 index b56b56f..0000000 --- a/app/dash/app/partials/inspector.html +++ /dev/null @@ -1,5 +0,0 @@ - \ No newline at end of file diff --git a/app/dash/app/partials/kairosdb/editor.html b/app/dash/app/partials/kairosdb/editor.html deleted file mode 100644 index dd56d39..0000000 --- a/app/dash/app/partials/kairosdb/editor.html +++ /dev/null @@ -1 +0,0 @@ -
    \ No newline at end of file diff --git a/app/dash/app/partials/load.html b/app/dash/app/partials/load.html deleted file mode 100644 index 0e1daab..0000000 --- a/app/dash/app/partials/load.html +++ /dev/null @@ -1 +0,0 @@ -
    type:{{type}}
    id:{{id}}
    \ No newline at end of file diff --git a/app/dash/app/partials/loadmetrics.html b/app/dash/app/partials/loadmetrics.html deleted file mode 100644 index 4a43439..0000000 --- a/app/dash/app/partials/loadmetrics.html +++ /dev/null @@ -1 +0,0 @@ -
    Load metrics keys into elastic search

    Work in progress...

    \ No newline at end of file diff --git a/app/dash/app/partials/metrics.html b/app/dash/app/partials/metrics.html deleted file mode 100644 index 27acc9e..0000000 --- a/app/dash/app/partials/metrics.html +++ /dev/null @@ -1 +0,0 @@ -
    \ No newline at end of file diff --git a/app/dash/app/partials/modal.html b/app/dash/app/partials/modal.html deleted file mode 100644 index b47ccc6..0000000 --- a/app/dash/app/partials/modal.html +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/app/dash/app/partials/opentsdb/editor.html b/app/dash/app/partials/opentsdb/editor.html deleted file mode 100644 index ecc445a..0000000 --- a/app/dash/app/partials/opentsdb/editor.html +++ /dev/null @@ -1 +0,0 @@ -
    \ No newline at end of file diff --git a/app/dash/app/partials/paneladd.html b/app/dash/app/partials/paneladd.html deleted file mode 100644 index d56fd72..0000000 --- a/app/dash/app/partials/paneladd.html +++ /dev/null @@ -1 +0,0 @@ -
    {{tab.title}}
    \ No newline at end of file diff --git a/app/dash/app/partials/paneleditor.html b/app/dash/app/partials/paneleditor.html deleted file mode 100644 index 329e64b..0000000 --- a/app/dash/app/partials/paneleditor.html +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/app/dash/app/partials/panelgeneral.html b/app/dash/app/partials/panelgeneral.html deleted file mode 100644 index 5d8528c..0000000 --- a/app/dash/app/partials/panelgeneral.html +++ /dev/null @@ -1 +0,0 @@ -
    General options
    \ No newline at end of file diff --git a/app/dash/app/partials/playlist.html b/app/dash/app/partials/playlist.html deleted file mode 100644 index b00998f..0000000 --- a/app/dash/app/partials/playlist.html +++ /dev/null @@ -1 +0,0 @@ -
    \ No newline at end of file diff --git a/app/dash/app/partials/roweditor.html b/app/dash/app/partials/roweditor.html deleted file mode 100644 index 799106d..0000000 --- a/app/dash/app/partials/roweditor.html +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/app/dash/app/partials/search.html b/app/dash/app/partials/search.html deleted file mode 100644 index 7ef9166..0000000 --- a/app/dash/app/partials/search.html +++ /dev/null @@ -1,11 +0,0 @@ - \ No newline at end of file diff --git a/app/dash/app/partials/unsaved-changes.html b/app/dash/app/partials/unsaved-changes.html deleted file mode 100644 index 9d4625e..0000000 --- a/app/dash/app/partials/unsaved-changes.html +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/app/dash/build.txt b/app/dash/build.txt deleted file mode 100644 index 62178f6..0000000 --- a/app/dash/build.txt +++ /dev/null @@ -1,106 +0,0 @@ - -app/app.js ----------------- -vendor/jquery/jquery-1.8.0.js -vendor/underscore.js -app/components/underscore.extended.js -vendor/crypto.min.js -app/components/settings.js -vendor/angular/angular.js -app/../vendor/elasticjs/elastic.js -vendor/elasticjs/elastic-angular-client.js -vendor/bootstrap/bootstrap.js -vendor/angular/angular-sanitize.js -vendor/angular/timepicker.js -vendor/angular/datepicker.js -vendor/angular/angular-strap.js -vendor/jquery/jquery-ui-1.10.3.js -vendor/angular/angular-dragdrop.js -app/components/extend-jquery.js -vendor/angular/bindonce.js -app/services/alertSrv.js -vendor/moment.js -app/components/kbn.js -vendor/modernizr-2.6.1.js -vendor/filesaver.js -app/services/dashboard.js -app/services/graphite/graphiteDatasource.js -app/services/influxdb/influxdbDatasource.js -app/services/opentsdb/opentsdbDatasource.js -app/services/kairosdb/kairosdbDatasource.js -app/services/datasourceSrv.js -app/services/filterSrv.js -app/services/timer.js -app/services/panelMove.js -app/services/keyboardManager.js -app/services/annotationsSrv.js -app/services/playlistSrv.js -app/services/unsavedChangesSrv.js -app/services/all.js -app/services/dashboard/dashboardKeyBindings.js -app/services/dashboard/all.js -app/controllers/dash.js -app/controllers/dashLoader.js -app/controllers/row.js -app/controllers/submenuCtrl.js -app/controllers/pulldown.js -app/controllers/search.js -app/controllers/metricKeys.js -app/services/graphite/gfunc.js -app/services/graphite/lexer.js -app/services/graphite/parser.js -app/controllers/graphiteTarget.js -app/controllers/graphiteImport.js -app/controllers/influxTargetCtrl.js -app/controllers/playlistCtrl.js -app/controllers/inspectCtrl.js -app/controllers/opentsdbTargetCtrl.js -app/controllers/kairosdbTargetCtrl.js -app/controllers/all.js -app/directives/addPanel.js -app/directives/arrayJoin.js -app/directives/dashUpload.js -app/controllers/panelBaseCtrl.js -app/directives/kibanaPanel.js -app/directives/kibanaSimplePanel.js -app/directives/ngBlur.js -app/directives/ngModelOnBlur.js -app/directives/tip.js -app/directives/confirmClick.js -app/directives/configModal.js -vendor/spectrum.js -app/directives/spectrumPicker.js -app/directives/grafanaGraph.js -vendor/tagsinput/bootstrap-tagsinput.js -app/directives/bootstrap-tagsinput.js -app/directives/bodyClass.js -app/directives/addGraphiteFunc.js -app/directives/graphiteFuncEditor.js -app/directives/grafanaVersionCheck.js -app/directives/influxdbFuncEditor.js -app/directives/all.js -app/filters/all.js -app/components/partials.js -app/app.js -vendor/require/css.js -vendor/require/text.js -vendor/jquery/jquery.flot.js -vendor/jquery/jquery.flot.pie.js -app/panels/annotations/module.js -text!panels/annotations/module.html -app/panels/filtering/module.js -text!panels/filtering/module.html -app/panels/graph/timeSeries.js -vendor/jquery/jquery.flot.events.js -vendor/jquery/jquery.flot.selection.js -vendor/jquery/jquery.flot.time.js -vendor/jquery/jquery.flot.byte.js -vendor/jquery/jquery.flot.stack.js -vendor/jquery/jquery.flot.stackpercent.js -app/panels/graph/module.js -text!panels/graph/module.html -app/panels/text/lib/showdown.js -app/panels/text/module.js -text!panels/text/module.html -app/panels/timepicker/module.js -text!panels/timepicker/module.html diff --git a/app/dash/config.js b/app/dash/config.js deleted file mode 100644 index 4673719..0000000 --- a/app/dash/config.js +++ /dev/null @@ -1,76 +0,0 @@ -///// @scratch /configuration/config.js/1 - // == Configuration - // config.js is where you will find the core Metrics configuration. This file contains parameter that - // must be set before Metrics is run for the first time. - /// -define(['settings'], -function (Settings) { - - - return new Settings({ - - // datasources, you can add multiple - datasources: { - metricsdb: { - type: 'kairosdb', - //url: "http://metrics:8080", - //url: "http://localhost", - url: "/monit/api/v1", - default: true - }, -/* - datasources: { - graphite: { - type: 'graphite', - url: "http://my.graphite.server.com:8080", - default: true - }, - influxdb: { - type: 'influxdb', - url: "http://my_influxdb_server:8086/db/database_name", - username: 'admin', - password: 'admin' - }, -*/ - }, - - // elasticsearch url - // used for storing and loading dashboards, optional - // For Basic authentication use: http://username:password@domain.com:9200 - elasticsearch: "http://"+window.location.hostname+":9200", - // elasticsearch: "http://elasticsearch:9200", - - // default start dashboard - default_route: '/dashboard/file/default.json', - - // Elasticsearch index for storing dashboards - grafana_index: "compass-met-dash", - - // timezoneOFfset: - // If you experiance problems with zoom, it is probably caused by timezone diff between - // your browser and the graphite-web application. timezoneOffset setting can be used to have Grafana - // translate absolute time ranges to the graphite-web timezone. - // Example: - // If TIME_ZONE in graphite-web config file local_settings.py is set to America/New_York, then set - // timezoneOffset to "-0500" (for UTC - 5 hours) - // Example: - // If TIME_ZONE is set to UTC, set this to "0000" - // - timezoneOffset: null, - - // set to false to disable unsaved changes warning - unsaved_changes_warning: true, - - // set the default timespan for the playlist feature - // Example: "1m", "1h" - playlist_timespan: "1m", - - // Add your own custom pannels - plugins: { - panels: [ - - ] - } - - }); -}); diff --git a/app/dash/config.sample.js b/app/dash/config.sample.js deleted file mode 100644 index a19a5e5..0000000 --- a/app/dash/config.sample.js +++ /dev/null @@ -1,63 +0,0 @@ -///// @scratch /configuration/config.js/1 - // == Configuration - // config.js is where you will find the core Grafana configuration. This file contains parameter that - // must be set before Grafana is run for the first time. - /// -define(['settings'], -function (Settings) { - - - return new Settings({ - - // datasources, you can add multiple - datasources: { - graphite: { - type: 'graphite', - url: "http://my.graphite.server.com:8080", - default: true - }, - influxdb: { - type: 'influxdb', - url: "http://my_influxdb_server:8086/db/database_name", - username: 'admin', - password: 'admin' - }, - }, - - // elasticsearch url - // used for storing and loading dashboards, optional - // For Basic authentication use: http://username:password@domain.com:9200 - elasticsearch: "http://"+window.location.hostname+":9200", - - // default start dashboard - default_route: '/dashboard/file/default.json', - - // Elasticsearch index for storing dashboards - grafana_index: "grafana-dash", - - // timezoneOFfset: - // If you experiance problems with zoom, it is probably caused by timezone diff between - // your browser and the graphite-web application. timezoneOffset setting can be used to have Grafana - // translate absolute time ranges to the graphite-web timezone. - // Example: - // If TIME_ZONE in graphite-web config file local_settings.py is set to America/New_York, then set - // timezoneOffset to "-0500" (for UTC - 5 hours) - // Example: - // If TIME_ZONE is set to UTC, set this to "0000" - // - timezoneOffset: null, - - // set to false to disable unsaved changes warning - unsaved_changes_warning: true, - - // set the default timespan for the playlist feature - // Example: "1m", "1h" - playlist_timespan: "1m", - - // Add your own custom pannels - plugins: { - panels: [] - } - - }); -}); diff --git a/app/dash/css/animate.min.css b/app/dash/css/animate.min.css deleted file mode 100644 index 9ffaf27..0000000 --- a/app/dash/css/animate.min.css +++ /dev/null @@ -1 +0,0 @@ -@charset "UTF-8";body{-webkit-backface-visibility:hidden}.animated{-webkit-animation-duration:1s;-moz-animation-duration:1s;-o-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;-moz-animation-fill-mode:both;-o-animation-fill-mode:both;animation-fill-mode:both}.infinite{-webkit-animation-iteration-count:infinite;-moz-animation-iteration-count:infinite;-o-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.hinge{-webkit-animation-duration:2s;-moz-animation-duration:2s;-o-animation-duration:2s;animation-duration:2s}@-webkit-keyframes flash{0%,50%,100%{opacity:1}25%,75%{opacity:0}}@-moz-keyframes flash{0%,50%,100%{opacity:1}25%,75%{opacity:0}}@-o-keyframes flash{0%,50%,100%{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,50%,100%{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;-moz-animation-name:flash;-o-animation-name:flash;animation-name:flash}@-webkit-keyframes shake{0%,100%{-webkit-transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px)}}@-moz-keyframes shake{0%,100%{-moz-transform:translateX(0)}10%,30%,50%,70%,90%{-moz-transform:translateX(-10px)}20%,40%,60%,80%{-moz-transform:translateX(10px)}}@-o-keyframes shake{0%,100%{-o-transform:translateX(0)}10%,30%,50%,70%,90%{-o-transform:translateX(-10px)}20%,40%,60%,80%{-o-transform:translateX(10px)}}@keyframes shake{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-10px)}20%,40%,60%,80%{transform:translateX(10px)}}.shake{-webkit-animation-name:shake;-moz-animation-name:shake;-o-animation-name:shake;animation-name:shake}@-webkit-keyframes bounce{0%,20%,50%,80%,100%{-webkit-transform:translateY(0)}40%{-webkit-transform:translateY(-30px)}60%{-webkit-transform:translateY(-15px)}}@-moz-keyframes bounce{0%,20%,50%,80%,100%{-moz-transform:translateY(0)}40%{-moz-transform:translateY(-30px)}60%{-moz-transform:translateY(-15px)}}@-o-keyframes bounce{0%,20%,50%,80%,100%{-o-transform:translateY(0)}40%{-o-transform:translateY(-30px)}60%{-o-transform:translateY(-15px)}}@keyframes bounce{0%,20%,50%,80%,100%{transform:translateY(0)}40%{transform:translateY(-30px)}60%{transform:translateY(-15px)}}.bounce{-webkit-animation-name:bounce;-moz-animation-name:bounce;-o-animation-name:bounce;animation-name:bounce}@-webkit-keyframes tada{0%{-webkit-transform:scale(1)}10%,20%{-webkit-transform:scale(0.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale(1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale(1.1) rotate(-3deg)}100%{-webkit-transform:scale(1) rotate(0)}}@-moz-keyframes tada{0%{-moz-transform:scale(1)}10%,20%{-moz-transform:scale(0.9) rotate(-3deg)}30%,50%,70%,90%{-moz-transform:scale(1.1) rotate(3deg)}40%,60%,80%{-moz-transform:scale(1.1) rotate(-3deg)}100%{-moz-transform:scale(1) rotate(0)}}@-o-keyframes tada{0%{-o-transform:scale(1)}10%,20%{-o-transform:scale(0.9) rotate(-3deg)}30%,50%,70%,90%{-o-transform:scale(1.1) rotate(3deg)}40%,60%,80%{-o-transform:scale(1.1) rotate(-3deg)}100%{-o-transform:scale(1) rotate(0)}}@keyframes tada{0%{transform:scale(1)}10%,20%{transform:scale(0.9) rotate(-3deg)}30%,50%,70%,90%{transform:scale(1.1) rotate(3deg)}40%,60%,80%{transform:scale(1.1) rotate(-3deg)}100%{transform:scale(1) rotate(0)}}.tada{-webkit-animation-name:tada;-moz-animation-name:tada;-o-animation-name:tada;animation-name:tada}@-webkit-keyframes swing{20%,40%,60%,80%,100%{-webkit-transform-origin:top center}20%{-webkit-transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg)}100%{-webkit-transform:rotate(0deg)}}@-moz-keyframes swing{20%{-moz-transform:rotate(15deg)}40%{-moz-transform:rotate(-10deg)}60%{-moz-transform:rotate(5deg)}80%{-moz-transform:rotate(-5deg)}100%{-moz-transform:rotate(0deg)}}@-o-keyframes swing{20%{-o-transform:rotate(15deg)}40%{-o-transform:rotate(-10deg)}60%{-o-transform:rotate(5deg)}80%{-o-transform:rotate(-5deg)}100%{-o-transform:rotate(0deg)}}@keyframes swing{20%{transform:rotate(15deg)}40%{transform:rotate(-10deg)}60%{transform:rotate(5deg)}80%{transform:rotate(-5deg)}100%{transform:rotate(0deg)}}.swing{-webkit-transform-origin:top center;-moz-transform-origin:top center;-o-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;-moz-animation-name:swing;-o-animation-name:swing;animation-name:swing}@-webkit-keyframes wobble{0%{-webkit-transform:translateX(0%)}15%{-webkit-transform:translateX(-25%) rotate(-5deg)}30%{-webkit-transform:translateX(20%) rotate(3deg)}45%{-webkit-transform:translateX(-15%) rotate(-3deg)}60%{-webkit-transform:translateX(10%) rotate(2deg)}75%{-webkit-transform:translateX(-5%) rotate(-1deg)}100%{-webkit-transform:translateX(0%)}}@-moz-keyframes wobble{0%{-moz-transform:translateX(0%)}15%{-moz-transform:translateX(-25%) rotate(-5deg)}30%{-moz-transform:translateX(20%) rotate(3deg)}45%{-moz-transform:translateX(-15%) rotate(-3deg)}60%{-moz-transform:translateX(10%) rotate(2deg)}75%{-moz-transform:translateX(-5%) rotate(-1deg)}100%{-moz-transform:translateX(0%)}}@-o-keyframes wobble{0%{-o-transform:translateX(0%)}15%{-o-transform:translateX(-25%) rotate(-5deg)}30%{-o-transform:translateX(20%) rotate(3deg)}45%{-o-transform:translateX(-15%) rotate(-3deg)}60%{-o-transform:translateX(10%) rotate(2deg)}75%{-o-transform:translateX(-5%) rotate(-1deg)}100%{-o-transform:translateX(0%)}}@keyframes wobble{0%{transform:translateX(0%)}15%{transform:translateX(-25%) rotate(-5deg)}30%{transform:translateX(20%) rotate(3deg)}45%{transform:translateX(-15%) rotate(-3deg)}60%{transform:translateX(10%) rotate(2deg)}75%{transform:translateX(-5%) rotate(-1deg)}100%{transform:translateX(0%)}}.wobble{-webkit-animation-name:wobble;-moz-animation-name:wobble;-o-animation-name:wobble;animation-name:wobble}@-webkit-keyframes pulse{0%{-webkit-transform:scale(1)}50%{-webkit-transform:scale(1.1)}100%{-webkit-transform:scale(1)}}@-moz-keyframes pulse{0%{-moz-transform:scale(1)}50%{-moz-transform:scale(1.1)}100%{-moz-transform:scale(1)}}@-o-keyframes pulse{0%{-o-transform:scale(1)}50%{-o-transform:scale(1.1)}100%{-o-transform:scale(1)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}100%{transform:scale(1)}}.pulse{-webkit-animation-name:pulse;-moz-animation-name:pulse;-o-animation-name:pulse;animation-name:pulse}@-webkit-keyframes flip{0%{-webkit-transform:perspective(400px) rotateY(0);-webkit-animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(170deg);-webkit-animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1);-webkit-animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) rotateY(360deg) scale(.95);-webkit-animation-timing-function:ease-in}100%{-webkit-transform:perspective(400px) scale(1);-webkit-animation-timing-function:ease-in}}@-moz-keyframes flip{0%{-moz-transform:perspective(400px) rotateY(0);-moz-animation-timing-function:ease-out}40%{-moz-transform:perspective(400px) translateZ(150px) rotateY(170deg);-moz-animation-timing-function:ease-out}50%{-moz-transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1);-moz-animation-timing-function:ease-in}80%{-moz-transform:perspective(400px) rotateY(360deg) scale(.95);-moz-animation-timing-function:ease-in}100%{-moz-transform:perspective(400px) scale(1);-moz-animation-timing-function:ease-in}}@-o-keyframes flip{0%{-o-transform:perspective(400px) rotateY(0);-o-animation-timing-function:ease-out}40%{-o-transform:perspective(400px) translateZ(150px) rotateY(170deg);-o-animation-timing-function:ease-out}50%{-o-transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1);-o-animation-timing-function:ease-in}80%{-o-transform:perspective(400px) rotateY(360deg) scale(.95);-o-animation-timing-function:ease-in}100%{-o-transform:perspective(400px) scale(1);-o-animation-timing-function:ease-in}}@keyframes flip{0%{transform:perspective(400px) rotateY(0);animation-timing-function:ease-out}40%{transform:perspective(400px) translateZ(150px) rotateY(170deg);animation-timing-function:ease-out}50%{transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1);animation-timing-function:ease-in}80%{transform:perspective(400px) rotateY(360deg) scale(.95);animation-timing-function:ease-in}100%{transform:perspective(400px) scale(1);animation-timing-function:ease-in}}.flip{-webkit-backface-visibility:visible!important;-webkit-animation-name:flip;-moz-backface-visibility:visible!important;-moz-animation-name:flip;-o-backface-visibility:visible!important;-o-animation-name:flip;backface-visibility:visible!important;animation-name:flip}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-10deg)}70%{-webkit-transform:perspective(400px) rotateX(10deg)}100%{-webkit-transform:perspective(400px) rotateX(0deg);opacity:1}}@-moz-keyframes flipInX{0%{-moz-transform:perspective(400px) rotateX(90deg);opacity:0}40%{-moz-transform:perspective(400px) rotateX(-10deg)}70%{-moz-transform:perspective(400px) rotateX(10deg)}100%{-moz-transform:perspective(400px) rotateX(0deg);opacity:1}}@-o-keyframes flipInX{0%{-o-transform:perspective(400px) rotateX(90deg);opacity:0}40%{-o-transform:perspective(400px) rotateX(-10deg)}70%{-o-transform:perspective(400px) rotateX(10deg)}100%{-o-transform:perspective(400px) rotateX(0deg);opacity:1}}@keyframes flipInX{0%{transform:perspective(400px) rotateX(90deg);opacity:0}40%{transform:perspective(400px) rotateX(-10deg)}70%{transform:perspective(400px) rotateX(10deg)}100%{transform:perspective(400px) rotateX(0deg);opacity:1}}.flipInX{-webkit-backface-visibility:visible!important;-webkit-animation-name:flipInX;-moz-backface-visibility:visible!important;-moz-animation-name:flipInX;-o-backface-visibility:visible!important;-o-animation-name:flipInX;backface-visibility:visible!important;animation-name:flipInX}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px) rotateX(0deg);opacity:1}100%{-webkit-transform:perspective(400px) rotateX(90deg);opacity:0}}@-moz-keyframes flipOutX{0%{-moz-transform:perspective(400px) rotateX(0deg);opacity:1}100%{-moz-transform:perspective(400px) rotateX(90deg);opacity:0}}@-o-keyframes flipOutX{0%{-o-transform:perspective(400px) rotateX(0deg);opacity:1}100%{-o-transform:perspective(400px) rotateX(90deg);opacity:0}}@keyframes flipOutX{0%{transform:perspective(400px) rotateX(0deg);opacity:1}100%{transform:perspective(400px) rotateX(90deg);opacity:0}}.flipOutX{-webkit-animation-name:flipOutX;-webkit-backface-visibility:visible!important;-moz-animation-name:flipOutX;-moz-backface-visibility:visible!important;-o-animation-name:flipOutX;-o-backface-visibility:visible!important;animation-name:flipOutX;backface-visibility:visible!important}@-webkit-keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);opacity:0}40%{-webkit-transform:perspective(400px) rotateY(-10deg)}70%{-webkit-transform:perspective(400px) rotateY(10deg)}100%{-webkit-transform:perspective(400px) rotateY(0deg);opacity:1}}@-moz-keyframes flipInY{0%{-moz-transform:perspective(400px) rotateY(90deg);opacity:0}40%{-moz-transform:perspective(400px) rotateY(-10deg)}70%{-moz-transform:perspective(400px) rotateY(10deg)}100%{-moz-transform:perspective(400px) rotateY(0deg);opacity:1}}@-o-keyframes flipInY{0%{-o-transform:perspective(400px) rotateY(90deg);opacity:0}40%{-o-transform:perspective(400px) rotateY(-10deg)}70%{-o-transform:perspective(400px) rotateY(10deg)}100%{-o-transform:perspective(400px) rotateY(0deg);opacity:1}}@keyframes flipInY{0%{transform:perspective(400px) rotateY(90deg);opacity:0}40%{transform:perspective(400px) rotateY(-10deg)}70%{transform:perspective(400px) rotateY(10deg)}100%{transform:perspective(400px) rotateY(0deg);opacity:1}}.flipInY{-webkit-backface-visibility:visible!important;-webkit-animation-name:flipInY;-moz-backface-visibility:visible!important;-moz-animation-name:flipInY;-o-backface-visibility:visible!important;-o-animation-name:flipInY;backface-visibility:visible!important;animation-name:flipInY}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px) rotateY(0deg);opacity:1}100%{-webkit-transform:perspective(400px) rotateY(90deg);opacity:0}}@-moz-keyframes flipOutY{0%{-moz-transform:perspective(400px) rotateY(0deg);opacity:1}100%{-moz-transform:perspective(400px) rotateY(90deg);opacity:0}}@-o-keyframes flipOutY{0%{-o-transform:perspective(400px) rotateY(0deg);opacity:1}100%{-o-transform:perspective(400px) rotateY(90deg);opacity:0}}@keyframes flipOutY{0%{transform:perspective(400px) rotateY(0deg);opacity:1}100%{transform:perspective(400px) rotateY(90deg);opacity:0}}.flipOutY{-webkit-backface-visibility:visible!important;-webkit-animation-name:flipOutY;-moz-backface-visibility:visible!important;-moz-animation-name:flipOutY;-o-backface-visibility:visible!important;-o-animation-name:flipOutY;backface-visibility:visible!important;animation-name:flipOutY}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-moz-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-o-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;-moz-animation-name:fadeIn;-o-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(20px)}100%{opacity:1;-webkit-transform:translateY(0)}}@-moz-keyframes fadeInUp{0%{opacity:0;-moz-transform:translateY(20px)}100%{opacity:1;-moz-transform:translateY(0)}}@-o-keyframes fadeInUp{0%{opacity:0;-o-transform:translateY(20px)}100%{opacity:1;-o-transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}100%{opacity:1;transform:translateY(0)}}.fadeInUp{-webkit-animation-name:fadeInUp;-moz-animation-name:fadeInUp;-o-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translateY(-20px)}100%{opacity:1;-webkit-transform:translateY(0)}}@-moz-keyframes fadeInDown{0%{opacity:0;-moz-transform:translateY(-20px)}100%{opacity:1;-moz-transform:translateY(0)}}@-o-keyframes fadeInDown{0%{opacity:0;-o-transform:translateY(-20px)}100%{opacity:1;-o-transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}100%{opacity:1;transform:translateY(0)}}.fadeInDown{-webkit-animation-name:fadeInDown;-moz-animation-name:fadeInDown;-o-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translateX(-20px)}100%{opacity:1;-webkit-transform:translateX(0)}}@-moz-keyframes fadeInLeft{0%{opacity:0;-moz-transform:translateX(-20px)}100%{opacity:1;-moz-transform:translateX(0)}}@-o-keyframes fadeInLeft{0%{opacity:0;-o-transform:translateX(-20px)}100%{opacity:1;-o-transform:translateX(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-20px)}100%{opacity:1;transform:translateX(0)}}.fadeInLeft{-webkit-animation-name:fadeInLeft;-moz-animation-name:fadeInLeft;-o-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translateX(20px)}100%{opacity:1;-webkit-transform:translateX(0)}}@-moz-keyframes fadeInRight{0%{opacity:0;-moz-transform:translateX(20px)}100%{opacity:1;-moz-transform:translateX(0)}}@-o-keyframes fadeInRight{0%{opacity:0;-o-transform:translateX(20px)}100%{opacity:1;-o-transform:translateX(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translateX(20px)}100%{opacity:1;transform:translateX(0)}}.fadeInRight{-webkit-animation-name:fadeInRight;-moz-animation-name:fadeInRight;-o-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0)}}@-moz-keyframes fadeInUpBig{0%{opacity:0;-moz-transform:translateY(2000px)}100%{opacity:1;-moz-transform:translateY(0)}}@-o-keyframes fadeInUpBig{0%{opacity:0;-o-transform:translateY(2000px)}100%{opacity:1;-o-transform:translateY(0)}}@keyframes fadeInUpBig{0%{opacity:0;transform:translateY(2000px)}100%{opacity:1;transform:translateY(0)}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;-moz-animation-name:fadeInUpBig;-o-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translateY(-2000px)}100%{opacity:1;-webkit-transform:translateY(0)}}@-moz-keyframes fadeInDownBig{0%{opacity:0;-moz-transform:translateY(-2000px)}100%{opacity:1;-moz-transform:translateY(0)}}@-o-keyframes fadeInDownBig{0%{opacity:0;-o-transform:translateY(-2000px)}100%{opacity:1;-o-transform:translateY(0)}}@keyframes fadeInDownBig{0%{opacity:0;transform:translateY(-2000px)}100%{opacity:1;transform:translateY(0)}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;-moz-animation-name:fadeInDownBig;-o-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translateX(-2000px)}100%{opacity:1;-webkit-transform:translateX(0)}}@-moz-keyframes fadeInLeftBig{0%{opacity:0;-moz-transform:translateX(-2000px)}100%{opacity:1;-moz-transform:translateX(0)}}@-o-keyframes fadeInLeftBig{0%{opacity:0;-o-transform:translateX(-2000px)}100%{opacity:1;-o-transform:translateX(0)}}@keyframes fadeInLeftBig{0%{opacity:0;transform:translateX(-2000px)}100%{opacity:1;transform:translateX(0)}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;-moz-animation-name:fadeInLeftBig;-o-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translateX(2000px)}100%{opacity:1;-webkit-transform:translateX(0)}}@-moz-keyframes fadeInRightBig{0%{opacity:0;-moz-transform:translateX(2000px)}100%{opacity:1;-moz-transform:translateX(0)}}@-o-keyframes fadeInRightBig{0%{opacity:0;-o-transform:translateX(2000px)}100%{opacity:1;-o-transform:translateX(0)}}@keyframes fadeInRightBig{0%{opacity:0;transform:translateX(2000px)}100%{opacity:1;transform:translateX(0)}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;-moz-animation-name:fadeInRightBig;-o-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@-moz-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@-o-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;-moz-animation-name:fadeOut;-o-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutUp{0%{opacity:1;-webkit-transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-20px)}}@-moz-keyframes fadeOutUp{0%{opacity:1;-moz-transform:translateY(0)}100%{opacity:0;-moz-transform:translateY(-20px)}}@-o-keyframes fadeOutUp{0%{opacity:1;-o-transform:translateY(0)}100%{opacity:0;-o-transform:translateY(-20px)}}@keyframes fadeOutUp{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-20px)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;-moz-animation-name:fadeOutUp;-o-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutDown{0%{opacity:1;-webkit-transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(20px)}}@-moz-keyframes fadeOutDown{0%{opacity:1;-moz-transform:translateY(0)}100%{opacity:0;-moz-transform:translateY(20px)}}@-o-keyframes fadeOutDown{0%{opacity:1;-o-transform:translateY(0)}100%{opacity:0;-o-transform:translateY(20px)}}@keyframes fadeOutDown{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(20px)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;-moz-animation-name:fadeOutDown;-o-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutLeft{0%{opacity:1;-webkit-transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-20px)}}@-moz-keyframes fadeOutLeft{0%{opacity:1;-moz-transform:translateX(0)}100%{opacity:0;-moz-transform:translateX(-20px)}}@-o-keyframes fadeOutLeft{0%{opacity:1;-o-transform:translateX(0)}100%{opacity:0;-o-transform:translateX(-20px)}}@keyframes fadeOutLeft{0%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(-20px)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;-moz-animation-name:fadeOutLeft;-o-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutRight{0%{opacity:1;-webkit-transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(20px)}}@-moz-keyframes fadeOutRight{0%{opacity:1;-moz-transform:translateX(0)}100%{opacity:0;-moz-transform:translateX(20px)}}@-o-keyframes fadeOutRight{0%{opacity:1;-o-transform:translateX(0)}100%{opacity:0;-o-transform:translateX(20px)}}@keyframes fadeOutRight{0%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(20px)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;-moz-animation-name:fadeOutRight;-o-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutUpBig{0%{opacity:1;-webkit-transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-2000px)}}@-moz-keyframes fadeOutUpBig{0%{opacity:1;-moz-transform:translateY(0)}100%{opacity:0;-moz-transform:translateY(-2000px)}}@-o-keyframes fadeOutUpBig{0%{opacity:1;-o-transform:translateY(0)}100%{opacity:0;-o-transform:translateY(-2000px)}}@keyframes fadeOutUpBig{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-2000px)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;-moz-animation-name:fadeOutUpBig;-o-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes fadeOutDownBig{0%{opacity:1;-webkit-transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(2000px)}}@-moz-keyframes fadeOutDownBig{0%{opacity:1;-moz-transform:translateY(0)}100%{opacity:0;-moz-transform:translateY(2000px)}}@-o-keyframes fadeOutDownBig{0%{opacity:1;-o-transform:translateY(0)}100%{opacity:0;-o-transform:translateY(2000px)}}@keyframes fadeOutDownBig{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(2000px)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;-moz-animation-name:fadeOutDownBig;-o-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1;-webkit-transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-2000px)}}@-moz-keyframes fadeOutLeftBig{0%{opacity:1;-moz-transform:translateX(0)}100%{opacity:0;-moz-transform:translateX(-2000px)}}@-o-keyframes fadeOutLeftBig{0%{opacity:1;-o-transform:translateX(0)}100%{opacity:0;-o-transform:translateX(-2000px)}}@keyframes fadeOutLeftBig{0%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(-2000px)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;-moz-animation-name:fadeOutLeftBig;-o-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRightBig{0%{opacity:1;-webkit-transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(2000px)}}@-moz-keyframes fadeOutRightBig{0%{opacity:1;-moz-transform:translateX(0)}100%{opacity:0;-moz-transform:translateX(2000px)}}@-o-keyframes fadeOutRightBig{0%{opacity:1;-o-transform:translateX(0)}100%{opacity:0;-o-transform:translateX(2000px)}}@keyframes fadeOutRightBig{0%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(2000px)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;-moz-animation-name:fadeOutRightBig;-o-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes bounceIn{0%{opacity:0;-webkit-transform:scale(.3)}50%{opacity:1;-webkit-transform:scale(1.05)}70%{-webkit-transform:scale(.9)}100%{-webkit-transform:scale(1)}}@-moz-keyframes bounceIn{0%{opacity:0;-moz-transform:scale(.3)}50%{opacity:1;-moz-transform:scale(1.05)}70%{-moz-transform:scale(.9)}100%{-moz-transform:scale(1)}}@-o-keyframes bounceIn{0%{opacity:0;-o-transform:scale(.3)}50%{opacity:1;-o-transform:scale(1.05)}70%{-o-transform:scale(.9)}100%{-o-transform:scale(1)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}100%{transform:scale(1)}}.bounceIn{-webkit-animation-name:bounceIn;-moz-animation-name:bounceIn;-o-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceInUp{0%{opacity:0;-webkit-transform:translateY(2000px)}60%{opacity:1;-webkit-transform:translateY(-30px)}80%{-webkit-transform:translateY(10px)}100%{-webkit-transform:translateY(0)}}@-moz-keyframes bounceInUp{0%{opacity:0;-moz-transform:translateY(2000px)}60%{opacity:1;-moz-transform:translateY(-30px)}80%{-moz-transform:translateY(10px)}100%{-moz-transform:translateY(0)}}@-o-keyframes bounceInUp{0%{opacity:0;-o-transform:translateY(2000px)}60%{opacity:1;-o-transform:translateY(-30px)}80%{-o-transform:translateY(10px)}100%{-o-transform:translateY(0)}}@keyframes bounceInUp{0%{opacity:0;transform:translateY(2000px)}60%{opacity:1;transform:translateY(-30px)}80%{transform:translateY(10px)}100%{transform:translateY(0)}}.bounceInUp{-webkit-animation-name:bounceInUp;-moz-animation-name:bounceInUp;-o-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceInDown{0%{opacity:0;-webkit-transform:translateY(-2000px)}60%{opacity:1;-webkit-transform:translateY(30px)}80%{-webkit-transform:translateY(-10px)}100%{-webkit-transform:translateY(0)}}@-moz-keyframes bounceInDown{0%{opacity:0;-moz-transform:translateY(-2000px)}60%{opacity:1;-moz-transform:translateY(30px)}80%{-moz-transform:translateY(-10px)}100%{-moz-transform:translateY(0)}}@-o-keyframes bounceInDown{0%{opacity:0;-o-transform:translateY(-2000px)}60%{opacity:1;-o-transform:translateY(30px)}80%{-o-transform:translateY(-10px)}100%{-o-transform:translateY(0)}}@keyframes bounceInDown{0%{opacity:0;transform:translateY(-2000px)}60%{opacity:1;transform:translateY(30px)}80%{transform:translateY(-10px)}100%{transform:translateY(0)}}.bounceInDown{-webkit-animation-name:bounceInDown;-moz-animation-name:bounceInDown;-o-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%{opacity:0;-webkit-transform:translateX(-2000px)}60%{opacity:1;-webkit-transform:translateX(30px)}80%{-webkit-transform:translateX(-10px)}100%{-webkit-transform:translateX(0)}}@-moz-keyframes bounceInLeft{0%{opacity:0;-moz-transform:translateX(-2000px)}60%{opacity:1;-moz-transform:translateX(30px)}80%{-moz-transform:translateX(-10px)}100%{-moz-transform:translateX(0)}}@-o-keyframes bounceInLeft{0%{opacity:0;-o-transform:translateX(-2000px)}60%{opacity:1;-o-transform:translateX(30px)}80%{-o-transform:translateX(-10px)}100%{-o-transform:translateX(0)}}@keyframes bounceInLeft{0%{opacity:0;transform:translateX(-2000px)}60%{opacity:1;transform:translateX(30px)}80%{transform:translateX(-10px)}100%{transform:translateX(0)}}.bounceInLeft{-webkit-animation-name:bounceInLeft;-moz-animation-name:bounceInLeft;-o-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%{opacity:0;-webkit-transform:translateX(2000px)}60%{opacity:1;-webkit-transform:translateX(-30px)}80%{-webkit-transform:translateX(10px)}100%{-webkit-transform:translateX(0)}}@-moz-keyframes bounceInRight{0%{opacity:0;-moz-transform:translateX(2000px)}60%{opacity:1;-moz-transform:translateX(-30px)}80%{-moz-transform:translateX(10px)}100%{-moz-transform:translateX(0)}}@-o-keyframes bounceInRight{0%{opacity:0;-o-transform:translateX(2000px)}60%{opacity:1;-o-transform:translateX(-30px)}80%{-o-transform:translateX(10px)}100%{-o-transform:translateX(0)}}@keyframes bounceInRight{0%{opacity:0;transform:translateX(2000px)}60%{opacity:1;transform:translateX(-30px)}80%{transform:translateX(10px)}100%{transform:translateX(0)}}.bounceInRight{-webkit-animation-name:bounceInRight;-moz-animation-name:bounceInRight;-o-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceOut{0%{-webkit-transform:scale(1)}25%{-webkit-transform:scale(.95)}50%{opacity:1;-webkit-transform:scale(1.1)}100%{opacity:0;-webkit-transform:scale(.3)}}@-moz-keyframes bounceOut{0%{-moz-transform:scale(1)}25%{-moz-transform:scale(.95)}50%{opacity:1;-moz-transform:scale(1.1)}100%{opacity:0;-moz-transform:scale(.3)}}@-o-keyframes bounceOut{0%{-o-transform:scale(1)}25%{-o-transform:scale(.95)}50%{opacity:1;-o-transform:scale(1.1)}100%{opacity:0;-o-transform:scale(.3)}}@keyframes bounceOut{0%{transform:scale(1)}25%{transform:scale(.95)}50%{opacity:1;transform:scale(1.1)}100%{opacity:0;transform:scale(.3)}}.bounceOut{-webkit-animation-name:bounceOut;-moz-animation-name:bounceOut;-o-animation-name:bounceOut;animation-name:bounceOut}@-webkit-keyframes bounceOutUp{0%{-webkit-transform:translateY(0)}20%{opacity:1;-webkit-transform:translateY(20px)}100%{opacity:0;-webkit-transform:translateY(-2000px)}}@-moz-keyframes bounceOutUp{0%{-moz-transform:translateY(0)}20%{opacity:1;-moz-transform:translateY(20px)}100%{opacity:0;-moz-transform:translateY(-2000px)}}@-o-keyframes bounceOutUp{0%{-o-transform:translateY(0)}20%{opacity:1;-o-transform:translateY(20px)}100%{opacity:0;-o-transform:translateY(-2000px)}}@keyframes bounceOutUp{0%{transform:translateY(0)}20%{opacity:1;transform:translateY(20px)}100%{opacity:0;transform:translateY(-2000px)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;-moz-animation-name:bounceOutUp;-o-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes bounceOutDown{0%{-webkit-transform:translateY(0)}20%{opacity:1;-webkit-transform:translateY(-20px)}100%{opacity:0;-webkit-transform:translateY(2000px)}}@-moz-keyframes bounceOutDown{0%{-moz-transform:translateY(0)}20%{opacity:1;-moz-transform:translateY(-20px)}100%{opacity:0;-moz-transform:translateY(2000px)}}@-o-keyframes bounceOutDown{0%{-o-transform:translateY(0)}20%{opacity:1;-o-transform:translateY(-20px)}100%{opacity:0;-o-transform:translateY(2000px)}}@keyframes bounceOutDown{0%{transform:translateY(0)}20%{opacity:1;transform:translateY(-20px)}100%{opacity:0;transform:translateY(2000px)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;-moz-animation-name:bounceOutDown;-o-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{0%{-webkit-transform:translateX(0)}20%{opacity:1;-webkit-transform:translateX(20px)}100%{opacity:0;-webkit-transform:translateX(-2000px)}}@-moz-keyframes bounceOutLeft{0%{-moz-transform:translateX(0)}20%{opacity:1;-moz-transform:translateX(20px)}100%{opacity:0;-moz-transform:translateX(-2000px)}}@-o-keyframes bounceOutLeft{0%{-o-transform:translateX(0)}20%{opacity:1;-o-transform:translateX(20px)}100%{opacity:0;-o-transform:translateX(-2000px)}}@keyframes bounceOutLeft{0%{transform:translateX(0)}20%{opacity:1;transform:translateX(20px)}100%{opacity:0;transform:translateX(-2000px)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;-moz-animation-name:bounceOutLeft;-o-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{0%{-webkit-transform:translateX(0)}20%{opacity:1;-webkit-transform:translateX(-20px)}100%{opacity:0;-webkit-transform:translateX(2000px)}}@-moz-keyframes bounceOutRight{0%{-moz-transform:translateX(0)}20%{opacity:1;-moz-transform:translateX(-20px)}100%{opacity:0;-moz-transform:translateX(2000px)}}@-o-keyframes bounceOutRight{0%{-o-transform:translateX(0)}20%{opacity:1;-o-transform:translateX(-20px)}100%{opacity:0;-o-transform:translateX(2000px)}}@keyframes bounceOutRight{0%{transform:translateX(0)}20%{opacity:1;transform:translateX(-20px)}100%{opacity:0;transform:translateX(2000px)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;-moz-animation-name:bounceOutRight;-o-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes rotateIn{0%{-webkit-transform-origin:center center;-webkit-transform:rotate(-200deg);opacity:0}100%{-webkit-transform-origin:center center;-webkit-transform:rotate(0);opacity:1}}@-moz-keyframes rotateIn{0%{-moz-transform-origin:center center;-moz-transform:rotate(-200deg);opacity:0}100%{-moz-transform-origin:center center;-moz-transform:rotate(0);opacity:1}}@-o-keyframes rotateIn{0%{-o-transform-origin:center center;-o-transform:rotate(-200deg);opacity:0}100%{-o-transform-origin:center center;-o-transform:rotate(0);opacity:1}}@keyframes rotateIn{0%{transform-origin:center center;transform:rotate(-200deg);opacity:0}100%{transform-origin:center center;transform:rotate(0);opacity:1}}.rotateIn{-webkit-animation-name:rotateIn;-moz-animation-name:rotateIn;-o-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInUpLeft{0%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(90deg);opacity:0}100%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(0);opacity:1}}@-moz-keyframes rotateInUpLeft{0%{-moz-transform-origin:left bottom;-moz-transform:rotate(90deg);opacity:0}100%{-moz-transform-origin:left bottom;-moz-transform:rotate(0);opacity:1}}@-o-keyframes rotateInUpLeft{0%{-o-transform-origin:left bottom;-o-transform:rotate(90deg);opacity:0}100%{-o-transform-origin:left bottom;-o-transform:rotate(0);opacity:1}}@keyframes rotateInUpLeft{0%{transform-origin:left bottom;transform:rotate(90deg);opacity:0}100%{transform-origin:left bottom;transform:rotate(0);opacity:1}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;-moz-animation-name:rotateInUpLeft;-o-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInDownLeft{0%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(-90deg);opacity:0}100%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(0);opacity:1}}@-moz-keyframes rotateInDownLeft{0%{-moz-transform-origin:left bottom;-moz-transform:rotate(-90deg);opacity:0}100%{-moz-transform-origin:left bottom;-moz-transform:rotate(0);opacity:1}}@-o-keyframes rotateInDownLeft{0%{-o-transform-origin:left bottom;-o-transform:rotate(-90deg);opacity:0}100%{-o-transform-origin:left bottom;-o-transform:rotate(0);opacity:1}}@keyframes rotateInDownLeft{0%{transform-origin:left bottom;transform:rotate(-90deg);opacity:0}100%{transform-origin:left bottom;transform:rotate(0);opacity:1}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;-moz-animation-name:rotateInDownLeft;-o-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInUpRight{0%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(-90deg);opacity:0}100%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(0);opacity:1}}@-moz-keyframes rotateInUpRight{0%{-moz-transform-origin:right bottom;-moz-transform:rotate(-90deg);opacity:0}100%{-moz-transform-origin:right bottom;-moz-transform:rotate(0);opacity:1}}@-o-keyframes rotateInUpRight{0%{-o-transform-origin:right bottom;-o-transform:rotate(-90deg);opacity:0}100%{-o-transform-origin:right bottom;-o-transform:rotate(0);opacity:1}}@keyframes rotateInUpRight{0%{transform-origin:right bottom;transform:rotate(-90deg);opacity:0}100%{transform-origin:right bottom;transform:rotate(0);opacity:1}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;-moz-animation-name:rotateInUpRight;-o-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateInDownRight{0%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(90deg);opacity:0}100%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(0);opacity:1}}@-moz-keyframes rotateInDownRight{0%{-moz-transform-origin:right bottom;-moz-transform:rotate(90deg);opacity:0}100%{-moz-transform-origin:right bottom;-moz-transform:rotate(0);opacity:1}}@-o-keyframes rotateInDownRight{0%{-o-transform-origin:right bottom;-o-transform:rotate(90deg);opacity:0}100%{-o-transform-origin:right bottom;-o-transform:rotate(0);opacity:1}}@keyframes rotateInDownRight{0%{transform-origin:right bottom;transform:rotate(90deg);opacity:0}100%{transform-origin:right bottom;transform:rotate(0);opacity:1}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;-moz-animation-name:rotateInDownRight;-o-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateOut{0%{-webkit-transform-origin:center center;-webkit-transform:rotate(0);opacity:1}100%{-webkit-transform-origin:center center;-webkit-transform:rotate(200deg);opacity:0}}@-moz-keyframes rotateOut{0%{-moz-transform-origin:center center;-moz-transform:rotate(0);opacity:1}100%{-moz-transform-origin:center center;-moz-transform:rotate(200deg);opacity:0}}@-o-keyframes rotateOut{0%{-o-transform-origin:center center;-o-transform:rotate(0);opacity:1}100%{-o-transform-origin:center center;-o-transform:rotate(200deg);opacity:0}}@keyframes rotateOut{0%{transform-origin:center center;transform:rotate(0);opacity:1}100%{transform-origin:center center;transform:rotate(200deg);opacity:0}}.rotateOut{-webkit-animation-name:rotateOut;-moz-animation-name:rotateOut;-o-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(0);opacity:1}100%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(-90deg);opacity:0}}@-moz-keyframes rotateOutUpLeft{0%{-moz-transform-origin:left bottom;-moz-transform:rotate(0);opacity:1}100%{-moz-transform-origin:left bottom;-moz-transform:rotate(-90deg);opacity:0}}@-o-keyframes rotateOutUpLeft{0%{-o-transform-origin:left bottom;-o-transform:rotate(0);opacity:1}100%{-o-transform-origin:left bottom;-o-transform:rotate(-90deg);opacity:0}}@keyframes rotateOutUpLeft{0%{transform-origin:left bottom;transform:rotate(0);opacity:1}100%{transform-origin:left bottom;transform:rotate(-90deg);opacity:0}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;-moz-animation-name:rotateOutUpLeft;-o-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(0);opacity:1}100%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(90deg);opacity:0}}@-moz-keyframes rotateOutDownLeft{0%{-moz-transform-origin:left bottom;-moz-transform:rotate(0);opacity:1}100%{-moz-transform-origin:left bottom;-moz-transform:rotate(90deg);opacity:0}}@-o-keyframes rotateOutDownLeft{0%{-o-transform-origin:left bottom;-o-transform:rotate(0);opacity:1}100%{-o-transform-origin:left bottom;-o-transform:rotate(90deg);opacity:0}}@keyframes rotateOutDownLeft{0%{transform-origin:left bottom;transform:rotate(0);opacity:1}100%{transform-origin:left bottom;transform:rotate(90deg);opacity:0}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;-moz-animation-name:rotateOutDownLeft;-o-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(0);opacity:1}100%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(90deg);opacity:0}}@-moz-keyframes rotateOutUpRight{0%{-moz-transform-origin:right bottom;-moz-transform:rotate(0);opacity:1}100%{-moz-transform-origin:right bottom;-moz-transform:rotate(90deg);opacity:0}}@-o-keyframes rotateOutUpRight{0%{-o-transform-origin:right bottom;-o-transform:rotate(0);opacity:1}100%{-o-transform-origin:right bottom;-o-transform:rotate(90deg);opacity:0}}@keyframes rotateOutUpRight{0%{transform-origin:right bottom;transform:rotate(0);opacity:1}100%{transform-origin:right bottom;transform:rotate(90deg);opacity:0}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;-moz-animation-name:rotateOutUpRight;-o-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(0);opacity:1}100%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(-90deg);opacity:0}}@-moz-keyframes rotateOutDownRight{0%{-moz-transform-origin:right bottom;-moz-transform:rotate(0);opacity:1}100%{-moz-transform-origin:right bottom;-moz-transform:rotate(-90deg);opacity:0}}@-o-keyframes rotateOutDownRight{0%{-o-transform-origin:right bottom;-o-transform:rotate(0);opacity:1}100%{-o-transform-origin:right bottom;-o-transform:rotate(-90deg);opacity:0}}@keyframes rotateOutDownRight{0%{transform-origin:right bottom;transform:rotate(0);opacity:1}100%{transform-origin:right bottom;transform:rotate(-90deg);opacity:0}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;-moz-animation-name:rotateOutDownRight;-o-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes hinge{0%{-webkit-transform:rotate(0);-webkit-transform-origin:top left;-webkit-animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);-webkit-transform-origin:top left;-webkit-animation-timing-function:ease-in-out}40%{-webkit-transform:rotate(60deg);-webkit-transform-origin:top left;-webkit-animation-timing-function:ease-in-out}80%{-webkit-transform:rotate(60deg) translateY(0);opacity:1;-webkit-transform-origin:top left;-webkit-animation-timing-function:ease-in-out}100%{-webkit-transform:translateY(700px);opacity:0}}@-moz-keyframes hinge{0%{-moz-transform:rotate(0);-moz-transform-origin:top left;-moz-animation-timing-function:ease-in-out}20%,60%{-moz-transform:rotate(80deg);-moz-transform-origin:top left;-moz-animation-timing-function:ease-in-out}40%{-moz-transform:rotate(60deg);-moz-transform-origin:top left;-moz-animation-timing-function:ease-in-out}80%{-moz-transform:rotate(60deg) translateY(0);opacity:1;-moz-transform-origin:top left;-moz-animation-timing-function:ease-in-out}100%{-moz-transform:translateY(700px);opacity:0}}@-o-keyframes hinge{0%{-o-transform:rotate(0);-o-transform-origin:top left;-o-animation-timing-function:ease-in-out}20%,60%{-o-transform:rotate(80deg);-o-transform-origin:top left;-o-animation-timing-function:ease-in-out}40%{-o-transform:rotate(60deg);-o-transform-origin:top left;-o-animation-timing-function:ease-in-out}80%{-o-transform:rotate(60deg) translateY(0);opacity:1;-o-transform-origin:top left;-o-animation-timing-function:ease-in-out}100%{-o-transform:translateY(700px);opacity:0}}@keyframes hinge{0%{transform:rotate(0);transform-origin:top left;animation-timing-function:ease-in-out}20%,60%{transform:rotate(80deg);transform-origin:top left;animation-timing-function:ease-in-out}40%{transform:rotate(60deg);transform-origin:top left;animation-timing-function:ease-in-out}80%{transform:rotate(60deg) translateY(0);opacity:1;transform-origin:top left;animation-timing-function:ease-in-out}100%{transform:translateY(700px);opacity:0}}.hinge{-webkit-animation-name:hinge;-moz-animation-name:hinge;-o-animation-name:hinge;animation-name:hinge}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0px) rotate(0deg)}}@-moz-keyframes rollIn{0%{opacity:0;-moz-transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-moz-transform:translateX(0px) rotate(0deg)}}@-o-keyframes rollIn{0%{opacity:0;-o-transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-o-transform:translateX(0px) rotate(0deg)}}@keyframes rollIn{0%{opacity:0;transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;transform:translateX(0px) rotate(0deg)}}.rollIn{-webkit-animation-name:rollIn;-moz-animation-name:rollIn;-o-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1;-webkit-transform:translateX(0px) rotate(0deg)}100%{opacity:0;-webkit-transform:translateX(100%) rotate(120deg)}}@-moz-keyframes rollOut{0%{opacity:1;-moz-transform:translateX(0px) rotate(0deg)}100%{opacity:0;-moz-transform:translateX(100%) rotate(120deg)}}@-o-keyframes rollOut{0%{opacity:1;-o-transform:translateX(0px) rotate(0deg)}100%{opacity:0;-o-transform:translateX(100%) rotate(120deg)}}@keyframes rollOut{0%{opacity:1;transform:translateX(0px) rotate(0deg)}100%{opacity:0;transform:translateX(100%) rotate(120deg)}}.rollOut{-webkit-animation-name:rollOut;-moz-animation-name:rollOut;-o-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes lightSpeedIn{0%{-webkit-transform:translateX(100%) skewX(-30deg);opacity:0}60%{-webkit-transform:translateX(-20%) skewX(30deg);opacity:1}80%{-webkit-transform:translateX(0%) skewX(-15deg);opacity:1}100%{-webkit-transform:translateX(0%) skewX(0deg);opacity:1}}@-moz-keyframes lightSpeedIn{0%{-moz-transform:translateX(100%) skewX(-30deg);opacity:0}60%{-moz-transform:translateX(-20%) skewX(30deg);opacity:1}80%{-moz-transform:translateX(0%) skewX(-15deg);opacity:1}100%{-moz-transform:translateX(0%) skewX(0deg);opacity:1}}@-o-keyframes lightSpeedIn{0%{-o-transform:translateX(100%) skewX(-30deg);opacity:0}60%{-o-transform:translateX(-20%) skewX(30deg);opacity:1}80%{-o-transform:translateX(0%) skewX(-15deg);opacity:1}100%{-o-transform:translateX(0%) skewX(0deg);opacity:1}}@keyframes lightSpeedIn{0%{transform:translateX(100%) skewX(-30deg);opacity:0}60%{transform:translateX(-20%) skewX(30deg);opacity:1}80%{transform:translateX(0%) skewX(-15deg);opacity:1}100%{transform:translateX(0%) skewX(0deg);opacity:1}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;-moz-animation-name:lightSpeedIn;-o-animation-name:lightSpeedIn;animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;-moz-animation-timing-function:ease-out;-o-animation-timing-function:ease-out;animation-timing-function:ease-out}.animated.lightSpeedIn{-webkit-animation-duration:.5s;-moz-animation-duration:.5s;-o-animation-duration:.5s;animation-duration:.5s}@-webkit-keyframes lightSpeedOut{0%{-webkit-transform:translateX(0%) skewX(0deg);opacity:1}100%{-webkit-transform:translateX(100%) skewX(-30deg);opacity:0}}@-moz-keyframes lightSpeedOut{0%{-moz-transform:translateX(0%) skewX(0deg);opacity:1}100%{-moz-transform:translateX(100%) skewX(-30deg);opacity:0}}@-o-keyframes lightSpeedOut{0%{-o-transform:translateX(0%) skewX(0deg);opacity:1}100%{-o-transform:translateX(100%) skewX(-30deg);opacity:0}}@keyframes lightSpeedOut{0%{transform:translateX(0%) skewX(0deg);opacity:1}100%{transform:translateX(100%) skewX(-30deg);opacity:0}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;-moz-animation-name:lightSpeedOut;-o-animation-name:lightSpeedOut;animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;-moz-animation-timing-function:ease-in;-o-animation-timing-function:ease-in;animation-timing-function:ease-in}.animated.lightSpeedOut{-webkit-animation-duration:.25s;-moz-animation-duration:.25s;-o-animation-duration:.25s;animation-duration:.25s}@-webkit-keyframes wiggle{0%{-webkit-transform:skewX(9deg)}10%{-webkit-transform:skewX(-8deg)}20%{-webkit-transform:skewX(7deg)}30%{-webkit-transform:skewX(-6deg)}40%{-webkit-transform:skewX(5deg)}50%{-webkit-transform:skewX(-4deg)}60%{-webkit-transform:skewX(3deg)}70%{-webkit-transform:skewX(-2deg)}80%{-webkit-transform:skewX(1deg)}90%{-webkit-transform:skewX(0deg)}100%{-webkit-transform:skewX(0deg)}}@-moz-keyframes wiggle{0%{-moz-transform:skewX(9deg)}10%{-moz-transform:skewX(-8deg)}20%{-moz-transform:skewX(7deg)}30%{-moz-transform:skewX(-6deg)}40%{-moz-transform:skewX(5deg)}50%{-moz-transform:skewX(-4deg)}60%{-moz-transform:skewX(3deg)}70%{-moz-transform:skewX(-2deg)}80%{-moz-transform:skewX(1deg)}90%{-moz-transform:skewX(0deg)}100%{-moz-transform:skewX(0deg)}}@-o-keyframes wiggle{0%{-o-transform:skewX(9deg)}10%{-o-transform:skewX(-8deg)}20%{-o-transform:skewX(7deg)}30%{-o-transform:skewX(-6deg)}40%{-o-transform:skewX(5deg)}50%{-o-transform:skewX(-4deg)}60%{-o-transform:skewX(3deg)}70%{-o-transform:skewX(-2deg)}80%{-o-transform:skewX(1deg)}90%{-o-transform:skewX(0deg)}100%{-o-transform:skewX(0deg)}}@keyframes wiggle{0%{transform:skewX(9deg)}10%{transform:skewX(-8deg)}20%{transform:skewX(7deg)}30%{transform:skewX(-6deg)}40%{transform:skewX(5deg)}50%{transform:skewX(-4deg)}60%{transform:skewX(3deg)}70%{transform:skewX(-2deg)}80%{transform:skewX(1deg)}90%{transform:skewX(0deg)}100%{transform:skewX(0deg)}}.wiggle{-webkit-animation-name:wiggle;-moz-animation-name:wiggle;-o-animation-name:wiggle;animation-name:wiggle;-webkit-animation-timing-function:ease-in;-moz-animation-timing-function:ease-in;-o-animation-timing-function:ease-in;animation-timing-function:ease-in}.animated.wiggle{-webkit-animation-duration:.75s;-moz-animation-duration:.75s;-o-animation-duration:.75s;animation-duration:.75s} \ No newline at end of file diff --git a/app/dash/css/bootstrap-responsive.min.css b/app/dash/css/bootstrap-responsive.min.css deleted file mode 100644 index 26905e7..0000000 --- a/app/dash/css/bootstrap-responsive.min.css +++ /dev/null @@ -1,9 +0,0 @@ -/*! - * Bootstrap Responsive v2.3.2 - * - * Copyright 2013 Twitter, Inc - * Licensed under the Apache License v2.0 - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Designed and built with all the love in the world by @mdo and @fat. - */.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;content:"";line-height:0}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}@-ms-viewport{width:device-width}.hidden{display:none;visibility:hidden}.visible-phone{display:none!important}.visible-tablet{display:none!important}.hidden-desktop{display:none!important}.visible-desktop{display:inherit!important}@media(min-width:768px) and (max-width:979px){.hidden-desktop{display:inherit!important}.visible-desktop{display:none!important}.visible-tablet{display:inherit!important}.hidden-tablet{display:none!important}}@media(max-width:767px){.hidden-desktop{display:inherit!important}.visible-desktop{display:none!important}.visible-phone{display:inherit!important}.hidden-phone{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:inherit!important}.hidden-print{display:none!important}}@media(min-width:1200px){.row{margin-left:-10px;*zoom:1}.row:before,.row:after{display:table;content:"";line-height:0}.row:after{clear:both}[class*=span]{float:left;min-height:1px;margin-left:10px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:1190px}.span12{width:1190px}.span11{width:1090px}.span10{width:990px}.span9{width:890px}.span8{width:790px}.span7{width:690px}.span6{width:590px}.span5{width:490px}.span4{width:390px}.span3{width:290px}.span2{width:190px}.span1{width:90px}.offset12{margin-left:1210px}.offset11{margin-left:1110px}.offset10{margin-left:1010px}.offset9{margin-left:910px}.offset8{margin-left:810px}.offset7{margin-left:710px}.offset6{margin-left:610px}.offset5{margin-left:510px}.offset4{margin-left:410px}.offset3{margin-left:310px}.offset2{margin-left:210px}.offset1{margin-left:110px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;content:"";line-height:0}.row-fluid:after{clear:both}.row-fluid [class*=span]{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;margin-left:.8403361344537815%;*margin-left:.787704555506413%}.row-fluid [class*=span]:first-child{margin-left:0}.row-fluid .controls-row [class*=span]+[class*=span]{margin-left:.8403361344537815%}.row-fluid .span12{width:99.99999999999999%;*width:99.94736842105262%}.row-fluid .span11{width:91.59663865546219%;*width:91.54400707651482%}.row-fluid .span10{width:83.19327731092437%;*width:83.140645731977%}.row-fluid .span9{width:74.78991596638656%;*width:74.73728438743919%}.row-fluid .span8{width:66.38655462184875%;*width:66.33392304290138%}.row-fluid .span7{width:57.98319327731092%;*width:57.93056169836355%}.row-fluid .span6{width:49.579831932773104%;*width:49.527200353825734%}.row-fluid .span5{width:41.1764705882353%;*width:41.12383900928793%}.row-fluid .span4{width:32.773109243697476%;*width:32.720477664750106%}.row-fluid .span3{width:24.369747899159663%;*width:24.317116320212293%}.row-fluid .span2{width:15.966386554621849%;*width:15.91375497567448%}.row-fluid .span1{width:7.563025210084033%;*width:7.510393631136665%}.row-fluid .offset12{margin-left:101.68067226890754%;*margin-left:101.5754091110128%}.row-fluid .offset12:first-child{margin-left:100.84033613445376%;*margin-left:100.73507297655902%}.row-fluid .offset11{margin-left:93.27731092436974%;*margin-left:93.172047766475%}.row-fluid .offset11:first-child{margin-left:92.43697478991596%;*margin-left:92.33171163202123%}.row-fluid .offset10{margin-left:84.87394957983193%;*margin-left:84.76868642193719%}.row-fluid .offset10:first-child{margin-left:84.03361344537815%;*margin-left:83.92835028748341%}.row-fluid .offset9{margin-left:76.47058823529412%;*margin-left:76.36532507739938%}.row-fluid .offset9:first-child{margin-left:75.63025210084034%;*margin-left:75.5249889429456%}.row-fluid .offset8{margin-left:68.0672268907563%;*margin-left:67.96196373286156%}.row-fluid .offset8:first-child{margin-left:67.22689075630252%;*margin-left:67.12162759840778%}.row-fluid .offset7{margin-left:59.66386554621848%;*margin-left:59.55860238832374%}.row-fluid .offset7:first-child{margin-left:58.823529411764696%;*margin-left:58.718266253869956%}.row-fluid .offset6{margin-left:51.26050420168067%;*margin-left:51.15524104378593%}.row-fluid .offset6:first-child{margin-left:50.42016806722688%;*margin-left:50.31490490933214%}.row-fluid .offset5{margin-left:42.85714285714286%;*margin-left:42.75187969924812%}.row-fluid .offset5:first-child{margin-left:42.016806722689076%;*margin-left:41.911543564794336%}.row-fluid .offset4{margin-left:34.45378151260504%;*margin-left:34.3485183547103%}.row-fluid .offset4:first-child{margin-left:33.613445378151255%;*margin-left:33.508182220256515%}.row-fluid .offset3{margin-left:26.050420168067227%;*margin-left:25.945157010172487%}.row-fluid .offset3:first-child{margin-left:25.210084033613445%;*margin-left:25.104820875718705%}.row-fluid .offset2{margin-left:17.647058823529413%;*margin-left:17.541795665634673%}.row-fluid .offset2:first-child{margin-left:16.80672268907563%;*margin-left:16.70145953118089%}.row-fluid .offset1{margin-left:9.243697478991596%;*margin-left:9.13843432109686%}.row-fluid .offset1:first-child{margin-left:8.403361344537815%;*margin-left:8.29809818664308%}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*=span]+[class*=span]{margin-left:10px}input.span12,textarea.span12,.uneditable-input.span12{width:1176px}input.span11,textarea.span11,.uneditable-input.span11{width:1076px}input.span10,textarea.span10,.uneditable-input.span10{width:976px}input.span9,textarea.span9,.uneditable-input.span9{width:876px}input.span8,textarea.span8,.uneditable-input.span8{width:776px}input.span7,textarea.span7,.uneditable-input.span7{width:676px}input.span6,textarea.span6,.uneditable-input.span6{width:576px}input.span5,textarea.span5,.uneditable-input.span5{width:476px}input.span4,textarea.span4,.uneditable-input.span4{width:376px}input.span3,textarea.span3,.uneditable-input.span3{width:276px}input.span2,textarea.span2,.uneditable-input.span2{width:176px}input.span1,textarea.span1,.uneditable-input.span1{width:76px}.thumbnails{margin-left:-10px}.thumbnails>li{margin-left:10px}.row-fluid .thumbnails{margin-left:0}}@media(min-width:768px) and (max-width:979px){.row{margin-left:-10px;*zoom:1}.row:before,.row:after{display:table;content:"";line-height:0}.row:after{clear:both}[class*=span]{float:left;min-height:1px;margin-left:10px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:734px}.span12{width:734px}.span11{width:672px}.span10{width:610px}.span9{width:548px}.span8{width:486px}.span7{width:424px}.span6{width:362px}.span5{width:300px}.span4{width:238px}.span3{width:176px}.span2{width:114px}.span1{width:52px}.offset12{margin-left:754px}.offset11{margin-left:692px}.offset10{margin-left:630px}.offset9{margin-left:568px}.offset8{margin-left:506px}.offset7{margin-left:444px}.offset6{margin-left:382px}.offset5{margin-left:320px}.offset4{margin-left:258px}.offset3{margin-left:196px}.offset2{margin-left:134px}.offset1{margin-left:72px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;content:"";line-height:0}.row-fluid:after{clear:both}.row-fluid [class*=span]{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;margin-left:1.3623978201634876%;*margin-left:1.3097662412161193%}.row-fluid [class*=span]:first-child{margin-left:0}.row-fluid .controls-row [class*=span]+[class*=span]{margin-left:1.3623978201634876%}.row-fluid .span12{width:100.00000000000001%;*width:99.94736842105264%}.row-fluid .span11{width:91.55313351498637%;*width:91.500501936039%}.row-fluid .span10{width:83.10626702997276%;*width:83.05363545102539%}.row-fluid .span9{width:74.65940054495913%;*width:74.60676896601176%}.row-fluid .span8{width:66.21253405994551%;*width:66.15990248099814%}.row-fluid .span7{width:57.76566757493188%;*width:57.71303599598451%}.row-fluid .span6{width:49.31880108991827%;*width:49.2661695109709%}.row-fluid .span5{width:40.87193460490463%;*width:40.81930302595726%}.row-fluid .span4{width:32.42506811989101%;*width:32.37243654094364%}.row-fluid .span3{width:23.978201634877387%;*width:23.925570055930017%}.row-fluid .span2{width:15.53133514986376%;*width:15.478703570916393%}.row-fluid .span1{width:7.084468664850137%;*width:7.031837085902769%}.row-fluid .offset12{margin-left:102.72479564032699%;*margin-left:102.61953248243225%}.row-fluid .offset12:first-child{margin-left:101.36239782016351%;*margin-left:101.25713466226877%}.row-fluid .offset11{margin-left:94.27792915531334%;*margin-left:94.1726659974186%}.row-fluid .offset11:first-child{margin-left:92.91553133514986%;*margin-left:92.81026817725513%}.row-fluid .offset10{margin-left:85.83106267029973%;*margin-left:85.72579951240499%}.row-fluid .offset10:first-child{margin-left:84.46866485013625%;*margin-left:84.36340169224151%}.row-fluid .offset9{margin-left:77.3841961852861%;*margin-left:77.27893302739136%}.row-fluid .offset9:first-child{margin-left:76.02179836512262%;*margin-left:75.91653520722788%}.row-fluid .offset8{margin-left:68.93732970027249%;*margin-left:68.83206654237775%}.row-fluid .offset8:first-child{margin-left:67.574931880109%;*margin-left:67.46966872221427%}.row-fluid .offset7{margin-left:60.490463215258856%;*margin-left:60.385200057364116%}.row-fluid .offset7:first-child{margin-left:59.12806539509537%;*margin-left:59.02280223720063%}.row-fluid .offset6{margin-left:52.04359673024524%;*margin-left:51.9383335723505%}.row-fluid .offset6:first-child{margin-left:50.681198910081754%;*margin-left:50.575935752187014%}.row-fluid .offset5{margin-left:43.596730245231605%;*margin-left:43.491467087336865%}.row-fluid .offset5:first-child{margin-left:42.23433242506812%;*margin-left:42.12906926717338%}.row-fluid .offset4{margin-left:35.14986376021798%;*margin-left:35.04460060232324%}.row-fluid .offset4:first-child{margin-left:33.787465940054496%;*margin-left:33.682202782159756%}.row-fluid .offset3{margin-left:26.70299727520436%;*margin-left:26.59773411730962%}.row-fluid .offset3:first-child{margin-left:25.340599455040874%;*margin-left:25.235336297146134%}.row-fluid .offset2{margin-left:18.256130790190735%;*margin-left:18.150867632296%}.row-fluid .offset2:first-child{margin-left:16.893732970027248%;*margin-left:16.78846981213251%}.row-fluid .offset1{margin-left:9.809264305177113%;*margin-left:9.704001147282376%}.row-fluid .offset1:first-child{margin-left:8.446866485013624%;*margin-left:8.341603327118888%}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*=span]+[class*=span]{margin-left:10px}input.span12,textarea.span12,.uneditable-input.span12{width:720px}input.span11,textarea.span11,.uneditable-input.span11{width:658px}input.span10,textarea.span10,.uneditable-input.span10{width:596px}input.span9,textarea.span9,.uneditable-input.span9{width:534px}input.span8,textarea.span8,.uneditable-input.span8{width:472px}input.span7,textarea.span7,.uneditable-input.span7{width:410px}input.span6,textarea.span6,.uneditable-input.span6{width:348px}input.span5,textarea.span5,.uneditable-input.span5{width:286px}input.span4,textarea.span4,.uneditable-input.span4{width:224px}input.span3,textarea.span3,.uneditable-input.span3{width:162px}input.span2,textarea.span2,.uneditable-input.span2{width:100px}input.span1,textarea.span1,.uneditable-input.span1{width:38px}}@media(max-width:767px){body{padding-left:20px;padding-right:20px}.navbar-fixed-top,.navbar-fixed-bottom,.navbar-static-top{margin-left:-20px;margin-right:-20px}.container-fluid{padding:0}.dl-horizontal dt{float:none;clear:none;width:auto;text-align:left}.dl-horizontal dd{margin-left:0}.container{width:auto}.row-fluid{width:100%}.row,.thumbnails{margin-left:0}.thumbnails>li{float:none;margin-left:0}[class*=span],.uneditable-input[class*=span],.row-fluid [class*=span]{float:none;display:block;width:100%;margin-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.span12,.row-fluid .span12{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*=offset]:first-child{margin-left:0}.input-large,.input-xlarge,.input-xxlarge,input[class*=span],select[class*=span],textarea[class*=span],.uneditable-input{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.input-prepend input,.input-append input,.input-prepend input[class*=span],.input-append input[class*=span]{display:inline-block;width:auto}.controls-row [class*=span]+[class*=span]{margin-left:0}.modal{position:fixed;top:20px;left:20px;right:20px;width:auto;margin:0}.modal.fade{top:-100px}.modal.fade.in{top:20px}}@media(max-width:480px){.nav-collapse{-webkit-transform:translate3d(0,0,0)}.page-header h1 small{display:block;line-height:20px}input[type=checkbox],input[type=radio]{border:1px solid #ccc}.form-horizontal .control-label{float:none;width:auto;padding-top:0;text-align:left}.form-horizontal .controls{margin-left:0}.form-horizontal .control-list{padding-top:0}.form-horizontal .form-actions{padding-left:10px;padding-right:10px}.media .pull-left,.media .pull-right{float:none;display:block;margin-bottom:10px}.media-object{margin-right:0;margin-left:0}.modal{top:10px;left:10px;right:10px}.modal-header .close{padding:10px;margin:-10px}.carousel-caption{position:static}}@media(max-width:979px){body{padding-top:0}.navbar-fixed-top,.navbar-fixed-bottom{position:static}.navbar-fixed-top{margin-bottom:20px}.navbar-fixed-bottom{margin-top:20px}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding:5px}.navbar .container{width:auto;padding:0}.navbar .brand{padding-left:10px;padding-right:10px;margin:0 0 0 -5px}.nav-collapse{clear:both}.nav-collapse .nav{float:none;margin:0 0 10px}.nav-collapse .nav>li{float:none}.nav-collapse .nav>li>a{margin-bottom:2px}.nav-collapse .nav>.divider-vertical{display:none}.nav-collapse .nav .nav-header{color:#777;text-shadow:none}.nav-collapse .nav>li>a,.nav-collapse .dropdown-menu a{padding:9px 15px;font-weight:700;color:#777;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.nav-collapse .btn{padding:4px 10px;font-weight:400;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.nav-collapse .dropdown-menu li+li a{margin-bottom:2px}.nav-collapse .nav>li>a:hover,.nav-collapse .nav>li>a:focus,.nav-collapse .dropdown-menu a:hover,.nav-collapse .dropdown-menu a:focus{background-color:#f2f2f2}.navbar-inverse .nav-collapse .nav>li>a,.navbar-inverse .nav-collapse .dropdown-menu a{color:#999}.navbar-inverse .nav-collapse .nav>li>a:hover,.navbar-inverse .nav-collapse .nav>li>a:focus,.navbar-inverse .nav-collapse .dropdown-menu a:hover,.navbar-inverse .nav-collapse .dropdown-menu a:focus{background-color:#111}.nav-collapse.in .btn-group{margin-top:5px;padding:0}.nav-collapse .dropdown-menu{position:static;top:auto;left:auto;float:none;display:none;max-width:none;margin:0 15px;padding:0;background-color:transparent;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.nav-collapse .open>.dropdown-menu{display:block}.nav-collapse .dropdown-menu:before,.nav-collapse .dropdown-menu:after{display:none}.nav-collapse .dropdown-menu .divider{display:none}.nav-collapse .nav>li>.dropdown-menu:before,.nav-collapse .nav>li>.dropdown-menu:after{display:none}.nav-collapse .navbar-form,.nav-collapse .navbar-search{float:none;padding:10px 15px;margin:10px 0;border-top:1px solid #f2f2f2;border-bottom:1px solid #f2f2f2;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);-moz-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)}.navbar-inverse .nav-collapse .navbar-form,.navbar-inverse .nav-collapse .navbar-search{border-top-color:#111;border-bottom-color:#111}.navbar .nav-collapse .nav.pull-right{float:none;margin-left:0}.nav-collapse,.nav-collapse.collapse{overflow:hidden;height:0}.navbar .btn-navbar{display:block}.navbar-static .navbar-inner{padding-left:10px;padding-right:10px}}@media(min-width:979px+1){.nav-collapse.collapse{height:auto!important;overflow:visible!important}}@media(max-width:767px){div.panel{width:100%!important;padding:0!important}body{padding:0}} \ No newline at end of file diff --git a/app/dash/css/bootstrap.dark.min.css b/app/dash/css/bootstrap.dark.min.css deleted file mode 100644 index be6fa57..0000000 --- a/app/dash/css/bootstrap.dark.min.css +++ /dev/null @@ -1,9 +0,0 @@ -/*! - * Bootstrap v2.3.2 - * - * Copyright 2013 Twitter, Inc - * Licensed under the Apache License v2.0 - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Designed and built with all the love in the world by @mdo and @fat. - */.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;content:"";line-height:0}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:hover,a:active{outline:0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{max-width:100%;width:auto\9;height:auto;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic}#map_canvas img,.google-maps img{max-width:none}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle}button,input{*overflow:visible;line-height:normal}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}label,select,button,input[type=button],input[type=reset],input[type=submit],input[type=radio],input[type=checkbox]{cursor:pointer}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-decoration,input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}textarea{overflow:auto;vertical-align:top}@media print{*{text-shadow:none!important;color:#000!important;background:transparent!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]: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}@page{margin:.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;color:#bbbfc2;background-color:#161616}a{color:#f2f2f2;text-decoration:none}a:hover,a:focus{color:#fff;text-decoration:underline}.img-rounded{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.img-polaroid{padding:4px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);-moz-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.img-circle{-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px}.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;content:"";line-height:0}.row:after{clear:both}[class*=span]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.span12{width:940px}.span11{width:860px}.span10{width:780px}.span9{width:700px}.span8{width:620px}.span7{width:540px}.span6{width:460px}.span5{width:380px}.span4{width:300px}.span3{width:220px}.span2{width:140px}.span1{width:60px}.offset12{margin-left:980px}.offset11{margin-left:900px}.offset10{margin-left:820px}.offset9{margin-left:740px}.offset8{margin-left:660px}.offset7{margin-left:580px}.offset6{margin-left:500px}.offset5{margin-left:420px}.offset4{margin-left:340px}.offset3{margin-left:260px}.offset2{margin-left:180px}.offset1{margin-left:100px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;content:"";line-height:0}.row-fluid:after{clear:both}.row-fluid [class*=span]{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;margin-left:2.127659574468085%;*margin-left:2.074468085106383%}.row-fluid [class*=span]:first-child{margin-left:0}.row-fluid .controls-row [class*=span]+[class*=span]{margin-left:2.127659574468085%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.48936170212765%;*width:91.43617021276594%}.row-fluid .span10{width:82.97872340425532%;*width:82.92553191489361%}.row-fluid .span9{width:74.46808510638297%;*width:74.41489361702126%}.row-fluid .span8{width:65.95744680851064%;*width:65.90425531914893%}.row-fluid .span7{width:57.44680851063829%;*width:57.39361702127659%}.row-fluid .span6{width:48.93617021276595%;*width:48.88297872340425%}.row-fluid .span5{width:40.42553191489362%;*width:40.37234042553192%}.row-fluid .span4{width:31.914893617021278%;*width:31.861702127659576%}.row-fluid .span3{width:23.404255319148934%;*width:23.351063829787233%}.row-fluid .span2{width:14.893617021276595%;*width:14.840425531914894%}.row-fluid .span1{width:6.382978723404255%;*width:6.329787234042553%}.row-fluid .offset12{margin-left:104.25531914893617%;*margin-left:104.14893617021275%}.row-fluid .offset12:first-child{margin-left:102.12765957446808%;*margin-left:102.02127659574467%}.row-fluid .offset11{margin-left:95.74468085106382%;*margin-left:95.6382978723404%}.row-fluid .offset11:first-child{margin-left:93.61702127659574%;*margin-left:93.51063829787232%}.row-fluid .offset10{margin-left:87.23404255319149%;*margin-left:87.12765957446807%}.row-fluid .offset10:first-child{margin-left:85.1063829787234%;*margin-left:84.99999999999999%}.row-fluid .offset9{margin-left:78.72340425531914%;*margin-left:78.61702127659572%}.row-fluid .offset9:first-child{margin-left:76.59574468085106%;*margin-left:76.48936170212764%}.row-fluid .offset8{margin-left:70.2127659574468%;*margin-left:70.10638297872339%}.row-fluid .offset8:first-child{margin-left:68.08510638297872%;*margin-left:67.9787234042553%}.row-fluid .offset7{margin-left:61.70212765957446%;*margin-left:61.59574468085106%}.row-fluid .offset7:first-child{margin-left:59.574468085106375%;*margin-left:59.46808510638297%}.row-fluid .offset6{margin-left:53.191489361702125%;*margin-left:53.085106382978715%}.row-fluid .offset6:first-child{margin-left:51.063829787234035%;*margin-left:50.95744680851063%}.row-fluid .offset5{margin-left:44.68085106382979%;*margin-left:44.57446808510638%}.row-fluid .offset5:first-child{margin-left:42.5531914893617%;*margin-left:42.4468085106383%}.row-fluid .offset4{margin-left:36.170212765957444%;*margin-left:36.06382978723405%}.row-fluid .offset4:first-child{margin-left:34.04255319148936%;*margin-left:33.93617021276596%}.row-fluid .offset3{margin-left:27.659574468085104%;*margin-left:27.5531914893617%}.row-fluid .offset3:first-child{margin-left:25.53191489361702%;*margin-left:25.425531914893618%}.row-fluid .offset2{margin-left:19.148936170212764%;*margin-left:19.04255319148936%}.row-fluid .offset2:first-child{margin-left:17.02127659574468%;*margin-left:16.914893617021278%}.row-fluid .offset1{margin-left:10.638297872340425%;*margin-left:10.53191489361702%}.row-fluid .offset1:first-child{margin-left:8.51063829787234%;*margin-left:8.404255319148938%}[class*=span].hide,.row-fluid [class*=span].hide{display:none}[class*=span].pull-right,.row-fluid [class*=span].pull-right{float:right}.container{margin-right:auto;margin-left:auto;*zoom:1}.container:before,.container:after{display:table;content:"";line-height:0}.container:after{clear:both}.container-fluid{padding-right:20px;padding-left:20px;*zoom:1}.container-fluid:before,.container-fluid:after{display:table;content:"";line-height:0}.container-fluid:after{clear:both}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:21px;font-weight:200;line-height:30px}small{font-size:85%}strong{font-weight:700}em{font-style:italic}cite{font-style:normal}.muted{color:#adafae}a.muted:hover,a.muted:focus{color:#939695}.text-warning{color:#a47e3c}a.text-warning:hover,a.text-warning:focus{color:#7f612e}.text-error{color:#b94a48}a.text-error:hover,a.text-error:focus{color:#953b39}.text-info{color:#09c}a.text-info:hover,a.text-info:focus{color:#007399}.text-success{color:#468847}a.text-success:hover,a.text-success:focus{color:#356635}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}h1,h2,h3,h4,h5,h6{margin:10px 0;font-family:inherit;font-weight:700;line-height:20px;color:#fff;text-rendering:optimizelegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:400;line-height:1;color:#adafae}h1,h2,h3{line-height:40px}h1{font-size:38.5px}h2{font-size:31.5px}h3{font-size:24.5px}h4{font-size:17.5px}h5{font-size:14px}h6{font-size:11.9px}h1 small{font-size:24.5px}h2 small{font-size:17.5px}h3 small{font-size:14px}h4 small{font-size:14px}.page-header{padding-bottom:9px;margin:20px 0 30px;border-bottom:1px solid #bbbfc2}ul,ol{padding:0;margin:0 0 10px 25px}ul ul,ul ol,ol ol,ol ul{margin-bottom:0}li{line-height:20px}ul.unstyled,ol.unstyled{margin-left:0;list-style:none}ul.inline,ol.inline{margin-left:0;list-style:none}ul.inline>li,ol.inline>li{display:inline-block;*display:inline;*zoom:1;padding-left:5px;padding-right:5px}dl{margin-bottom:20px}dt,dd{line-height:20px}dt{font-weight:700}dd{margin-left:10px}.dl-horizontal{*zoom:1}.dl-horizontal:before,.dl-horizontal:after{display:table;content:"";line-height:0}.dl-horizontal:after{clear:both}.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}hr{margin:20px 0;border:0;border-top:1px solid #303030;border-bottom:1px solid #fff}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #adafae}abbr.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid #bbbfc2}blockquote p{margin-bottom:0;font-size:17.5px;font-weight:300;line-height:1.25}blockquote small{display:block;line-height:20px;color:#adafae}blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid #bbbfc2;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}blockquote.pull-right small:before{content:''}blockquote.pull-right small:after{content:'\00A0 \2014'}q:before,q:after,blockquote:before,blockquote:after{content:""}address{display:block;margin-bottom:20px;font-style:normal;line-height:20px}code,pre{padding:0 3px 2px;font-family:Menlo,Monaco,Consolas,"Courier New",monospace;font-size:12px;color:#303030;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}code{padding:2px 4px;color:#d14;background-color:#f7f7f9;border:1px solid #e1e1e8;white-space:nowrap}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:20px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}pre.prettyprint{margin-bottom:20px}pre code{padding:0;color:inherit;white-space:pre;white-space:pre-wrap;background-color:transparent;border:0}.pre-scrollable{max-height:340px;overflow-y:scroll}form{margin:0 0 20px}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:40px;color:#303030;border:0;border-bottom:1px solid #e5e5e5}legend small{font-size:15px;color:#adafae}label,input,button,select,textarea{font-size:14px;font-weight:400;line-height:20px}input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}label{display:block;margin-bottom:5px}select,textarea,input[type=text],input[type=password],input[type=datetime],input[type=datetime-local],input[type=date],input[type=month],input[type=time],input[type=week],input[type=number],input[type=email],input[type=url],input[type=search],input[type=tel],input[type=color],.uneditable-input{display:inline-block;height:20px;padding:4px 6px;margin-bottom:10px;font-size:14px;line-height:20px;color:#000;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;vertical-align:middle}input,textarea,.uneditable-input{width:206px}textarea{height:auto}textarea,input[type=text],input[type=password],input[type=datetime],input[type=datetime-local],input[type=date],input[type=month],input[type=time],input[type=week],input[type=number],input[type=email],input[type=url],input[type=search],input[type=tel],input[type=color],.uneditable-input{background-color:#4a4a4a;border:1px solid #636363;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-moz-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 linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}textarea:focus,input[type=text]:focus,input[type=password]:focus,input[type=datetime]:focus,input[type=datetime-local]:focus,input[type=date]:focus,input[type=month]:focus,input[type=time]:focus,input[type=week]:focus,input[type=number]:focus,input[type=email]:focus,input[type=url]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=color]:focus,.uneditable-input:focus{border-color:rgba(82,168,236,.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(82,168,236,.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(82,168,236,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(82,168,236,.6)}input[type=radio],input[type=checkbox]{margin:4px 0 0;*margin-top:0;margin-top:1px \9;line-height:normal}input[type=file],input[type=image],input[type=submit],input[type=reset],input[type=button],input[type=radio],input[type=checkbox]{width:auto}select,input[type=file]{height:30px;*margin-top:4px;line-height:30px}select{width:220px;border:1px solid #636363;background-color:#4a4a4a}select[multiple],select[size]{height:auto}select:focus,input[type=file]:focus,input[type=radio]:focus,input[type=checkbox]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.uneditable-input,.uneditable-textarea{color:#adafae;background-color:#474747;border-color:#636363;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.025);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.025);box-shadow:inset 0 1px 2px rgba(0,0,0,.025);cursor:not-allowed}.uneditable-input{overflow:hidden;white-space:nowrap}.uneditable-textarea{width:auto;height:auto}input:-moz-placeholder,textarea:-moz-placeholder{color:#788086}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#788086}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#788086}.radio,.checkbox{min-height:20px;padding-left:20px}.radio input[type=radio],.checkbox input[type=checkbox]{float:left;margin-left:-20px}.controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:5px}.radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle}.radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px}.input-mini{width:60px}.input-small{width:90px}.input-medium{width:150px}.input-large{width:210px}.input-xlarge{width:270px}.input-xxlarge{width:530px}input[class*=span],select[class*=span],textarea[class*=span],.uneditable-input[class*=span],.row-fluid input[class*=span],.row-fluid select[class*=span],.row-fluid textarea[class*=span],.row-fluid .uneditable-input[class*=span]{float:none;margin-left:0}.input-append input[class*=span],.input-append .uneditable-input[class*=span],.input-prepend input[class*=span],.input-prepend .uneditable-input[class*=span],.row-fluid input[class*=span],.row-fluid select[class*=span],.row-fluid textarea[class*=span],.row-fluid .uneditable-input[class*=span],.row-fluid .input-prepend [class*=span],.row-fluid .input-append [class*=span]{display:inline-block}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*=span]+[class*=span]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:926px}input.span11,textarea.span11,.uneditable-input.span11{width:846px}input.span10,textarea.span10,.uneditable-input.span10{width:766px}input.span9,textarea.span9,.uneditable-input.span9{width:686px}input.span8,textarea.span8,.uneditable-input.span8{width:606px}input.span7,textarea.span7,.uneditable-input.span7{width:526px}input.span6,textarea.span6,.uneditable-input.span6{width:446px}input.span5,textarea.span5,.uneditable-input.span5{width:366px}input.span4,textarea.span4,.uneditable-input.span4{width:286px}input.span3,textarea.span3,.uneditable-input.span3{width:206px}input.span2,textarea.span2,.uneditable-input.span2{width:126px}input.span1,textarea.span1,.uneditable-input.span1{width:46px}.controls-row{*zoom:1}.controls-row:before,.controls-row:after{display:table;content:"";line-height:0}.controls-row:after{clear:both}.controls-row [class*=span],.row-fluid .controls-row [class*=span]{float:left}.controls-row .checkbox[class*=span],.controls-row .radio[class*=span]{padding-top:5px}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#555}input[type=radio][disabled],input[type=checkbox][disabled],input[type=radio][readonly],input[type=checkbox][readonly]{background-color:transparent}.control-group.warning .control-label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#a47e3c}.control-group.warning .checkbox,.control-group.warning .radio,.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#a47e3c}.control-group.warning input,.control-group.warning select,.control-group.warning textarea{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#7f612e;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ceae78;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ceae78;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ceae78}.control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#a47e3c;background-color:#bbbfc2;border-color:#a47e3c}.control-group.error .control-label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48}.control-group.error .checkbox,.control-group.error .radio,.control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48}.control-group.error input,.control-group.error select,.control-group.error textarea{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #d59392;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #d59392}.control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#bbbfc2;border-color:#b94a48}.control-group.success .control-label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847}.control-group.success .checkbox,.control-group.success .radio,.control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847}.control-group.success input,.control-group.success select,.control-group.success textarea{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #7aba7b;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #7aba7b}.control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#bbbfc2;border-color:#468847}.control-group.info .control-label,.control-group.info .help-block,.control-group.info .help-inline{color:#09c}.control-group.info .checkbox,.control-group.info .radio,.control-group.info input,.control-group.info select,.control-group.info textarea{color:#09c}.control-group.info input,.control-group.info select,.control-group.info textarea{border-color:#09c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.control-group.info input:focus,.control-group.info select:focus,.control-group.info textarea:focus{border-color:#007399;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #3cf;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #3cf;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #3cf}.control-group.info .input-prepend .add-on,.control-group.info .input-append .add-on{color:#09c;background-color:#bbbfc2;border-color:#09c}input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#b94a48;border-color:#ee5f5b}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7}.form-actions{padding:19px 20px 20px;margin-top:20px;margin-bottom:20px;background-color:transparent;border-top:1px solid #e5e5e5;*zoom:1}.form-actions:before,.form-actions:after{display:table;content:"";line-height:0}.form-actions:after{clear:both}.help-block,.help-inline{color:#e3e5e6}.help-block{display:block;margin-bottom:10px}.help-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle;padding-left:5px}.input-append,.input-prepend{display:inline-block;margin-bottom:10px;vertical-align:middle;font-size:0;white-space:nowrap}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input,.input-append .dropdown-menu,.input-prepend .dropdown-menu,.input-append .popover,.input-prepend .popover{font-size:14px}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input{position:relative;margin-bottom:0;*margin-left:0;vertical-align:top;-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-append input:focus,.input-prepend input:focus,.input-append select:focus,.input-prepend select:focus,.input-append .uneditable-input:focus,.input-prepend .uneditable-input:focus{z-index:2}.input-append .add-on,.input-prepend .add-on{display:inline-block;width:auto;height:20px;min-width:16px;padding:4px 5px;font-size:14px;font-weight:400;line-height:20px;text-align:center;text-shadow:0 1px 0 #fff;background-color:#bbbfc2;border:1px solid #ccc}.input-append .add-on,.input-prepend .add-on,.input-append .btn,.input-prepend .btn,.input-append .btn-group>.dropdown-toggle,.input-prepend .btn-group>.dropdown-toggle{vertical-align:top;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-append .active,.input-prepend .active{background-color:#bf3;border-color:#690}.input-prepend .add-on,.input-prepend .btn{margin-right:-1px}.input-prepend .add-on:first-child,.input-prepend .btn:first-child{-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-append input,.input-append select,.input-append .uneditable-input{-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-append input+.btn-group .btn:last-child,.input-append select+.btn-group .btn:last-child,.input-append .uneditable-input+.btn-group .btn:last-child{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-append .add-on,.input-append .btn,.input-append .btn-group{margin-left:-1px}.input-append .add-on:last-child,.input-append .btn:last-child,.input-append .btn-group:last-child>.dropdown-toggle{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-prepend.input-append input,.input-prepend.input-append select,.input-prepend.input-append .uneditable-input{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-prepend.input-append input+.btn-group .btn,.input-prepend.input-append select+.btn-group .btn,.input-prepend.input-append .uneditable-input+.btn-group .btn{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-prepend.input-append .add-on:first-child,.input-prepend.input-append .btn:first-child{margin-right:-1px;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-prepend.input-append .add-on:last-child,.input-prepend.input-append .btn:last-child{margin-left:-1px;-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-prepend.input-append .btn-group:first-child{margin-left:0}input.search-query{padding-right:14px;padding-right:4px \9;padding-left:14px;padding-left:4px \9;margin-bottom:0;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.form-search .input-append .search-query,.form-search .input-prepend .search-query{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.form-search .input-append .search-query{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search .input-append .btn{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .search-query{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .btn{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input,.form-search .input-prepend,.form-inline .input-prepend,.form-horizontal .input-prepend,.form-search .input-append,.form-inline .input-append,.form-horizontal .input-append{display:inline-block;*display:inline;*zoom:1;margin-bottom:0;vertical-align:middle}.form-search .hide,.form-inline .hide,.form-horizontal .hide{display:none}.form-search label,.form-inline label,.form-search .btn-group,.form-inline .btn-group{display:inline-block}.form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{margin-bottom:0}.form-search .radio,.form-search .checkbox,.form-inline .radio,.form-inline .checkbox{padding-left:0;margin-bottom:0;vertical-align:middle}.form-search .radio input[type=radio],.form-search .checkbox input[type=checkbox],.form-inline .radio input[type=radio],.form-inline .checkbox input[type=checkbox]{float:left;margin-right:3px;margin-left:0}.control-group{margin-bottom:10px}legend+.control-group{margin-top:20px;-webkit-margin-top-collapse:separate}.form-horizontal .control-group{margin-bottom:20px;*zoom:1}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;content:"";line-height:0}.form-horizontal .control-group:after{clear:both}.form-horizontal .control-label{float:left;width:160px;padding-top:5px;text-align:right}.form-horizontal .controls{*display:inline-block;*padding-left:20px;margin-left:180px;*margin-left:0}.form-horizontal .controls:first-child{*padding-left:180px}.form-horizontal .help-block{margin-bottom:0}.form-horizontal input+.help-block,.form-horizontal select+.help-block,.form-horizontal textarea+.help-block,.form-horizontal .uneditable-input+.help-block,.form-horizontal .input-prepend+.help-block,.form-horizontal .input-append+.help-block{margin-top:10px}.form-horizontal .form-actions{padding-left:180px}table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0}.table{width:100%;margin-bottom:20px}.table th,.table td{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid #303030}.table th{font-weight:700}.table thead th{vertical-align:bottom}.table caption+thead tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child th,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0}.table tbody+tbody{border-top:2px solid #303030}.table .table{background-color:#161616}.table-condensed th,.table-condensed td{padding:4px 5px}.table-bordered{border:1px solid #303030;border-collapse:separate;*border-collapse:collapse;border-left:0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.table-bordered th,.table-bordered td{border-left:1px solid #303030}.table-bordered caption+thead tr:first-child th,.table-bordered caption+tbody tr:first-child th,.table-bordered caption+tbody tr:first-child td,.table-bordered colgroup+thead tr:first-child th,.table-bordered colgroup+tbody tr:first-child th,.table-bordered colgroup+tbody tr:first-child td,.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0}.table-bordered thead:first-child tr:first-child>th:first-child,.table-bordered tbody:first-child tr:first-child>td:first-child,.table-bordered tbody:first-child tr:first-child>th:first-child{-webkit-border-top-left-radius:3px;-moz-border-radius-topleft:3px;border-top-left-radius:3px}.table-bordered thead:first-child tr:first-child>th:last-child,.table-bordered tbody:first-child tr:first-child>td:last-child,.table-bordered tbody:first-child tr:first-child>th:last-child{-webkit-border-top-right-radius:3px;-moz-border-radius-topright:3px;border-top-right-radius:3px}.table-bordered thead:last-child tr:last-child>th:first-child,.table-bordered tbody:last-child tr:last-child>td:first-child,.table-bordered tbody:last-child tr:last-child>th:first-child,.table-bordered tfoot:last-child tr:last-child>td:first-child,.table-bordered tfoot:last-child tr:last-child>th:first-child{-webkit-border-bottom-left-radius:3px;-moz-border-radius-bottomleft:3px;border-bottom-left-radius:3px}.table-bordered thead:last-child tr:last-child>th:last-child,.table-bordered tbody:last-child tr:last-child>td:last-child,.table-bordered tbody:last-child tr:last-child>th:last-child,.table-bordered tfoot:last-child tr:last-child>td:last-child,.table-bordered tfoot:last-child tr:last-child>th:last-child{-webkit-border-bottom-right-radius:3px;-moz-border-radius-bottomright:3px;border-bottom-right-radius:3px}.table-bordered tfoot+tbody:last-child tr:last-child td:first-child{-webkit-border-bottom-left-radius:0;-moz-border-radius-bottomleft:0;border-bottom-left-radius:0}.table-bordered tfoot+tbody:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:0;-moz-border-radius-bottomright:0;border-bottom-right-radius:0}.table-bordered caption+thead tr:first-child th:first-child,.table-bordered caption+tbody tr:first-child td:first-child,.table-bordered colgroup+thead tr:first-child th:first-child,.table-bordered colgroup+tbody tr:first-child td:first-child{-webkit-border-top-left-radius:3px;-moz-border-radius-topleft:3px;border-top-left-radius:3px}.table-bordered caption+thead tr:first-child th:last-child,.table-bordered caption+tbody tr:first-child td:last-child,.table-bordered colgroup+thead tr:first-child th:last-child,.table-bordered colgroup+tbody tr:first-child td:last-child{-webkit-border-top-right-radius:3px;-moz-border-radius-topright:3px;border-top-right-radius:3px}.table-striped tbody>tr:nth-child(odd)>td,.table-striped tbody>tr:nth-child(odd)>th{background-color:rgba(100,100,100,.3)}.table-hover tbody tr:hover>td,.table-hover tbody tr:hover>th{background-color:#303030}table td[class*=span],table th[class*=span],.row-fluid table td[class*=span],.row-fluid table th[class*=span]{display:table-cell;float:none;margin-left:0}.table td.span1,.table th.span1{float:none;width:44px;margin-left:0}.table td.span2,.table th.span2{float:none;width:124px;margin-left:0}.table td.span3,.table th.span3{float:none;width:204px;margin-left:0}.table td.span4,.table th.span4{float:none;width:284px;margin-left:0}.table td.span5,.table th.span5{float:none;width:364px;margin-left:0}.table td.span6,.table th.span6{float:none;width:444px;margin-left:0}.table td.span7,.table th.span7{float:none;width:524px;margin-left:0}.table td.span8,.table th.span8{float:none;width:604px;margin-left:0}.table td.span9,.table th.span9{float:none;width:684px;margin-left:0}.table td.span10,.table th.span10{float:none;width:764px;margin-left:0}.table td.span11,.table th.span11{float:none;width:844px;margin-left:0}.table td.span12,.table th.span12{float:none;width:924px;margin-left:0}.table tbody tr.success>td{background-color:#bbbfc2}.table tbody tr.error>td{background-color:#bbbfc2}.table tbody tr.warning>td{background-color:#bbbfc2}.table tbody tr.info>td{background-color:#bbbfc2}.table-hover tbody tr.success:hover>td{background-color:#aeb2b6}.table-hover tbody tr.error:hover>td{background-color:#aeb2b6}.table-hover tbody tr.warning:hover>td{background-color:#aeb2b6}.table-hover tbody tr.info:hover>td{background-color:#aeb2b6}[class^=icon-],[class*=" icon-"]{display:inline-block;width:14px;height:14px;*margin-right:.3em;line-height:14px;vertical-align:text-top;background-image:url(../img/glyphicons-halflings.png);background-position:14px 14px;background-repeat:no-repeat;margin-top:1px}.icon-white,.nav-pills>.active>a>[class^=icon-],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^=icon-],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^=icon-],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^=icon-],.dropdown-menu>li>a:focus>[class^=icon-],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>li>a:focus>[class*=" icon-"],.dropdown-menu>.active>a>[class^=icon-],.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^=icon-],.dropdown-submenu:focus>a>[class^=icon-],.dropdown-submenu:hover>a>[class*=" icon-"],.dropdown-submenu:focus>a>[class*=" icon-"]{background-image:url(../img/glyphicons-halflings-white.png)}.icon-glass{background-position:0 0}.icon-music{background-position:-24px 0}.icon-search{background-position:-48px 0}.icon-envelope{background-position:-72px 0}.icon-heart{background-position:-96px 0}.icon-star{background-position:-120px 0}.icon-star-empty{background-position:-144px 0}.icon-user{background-position:-168px 0}.icon-film{background-position:-192px 0}.icon-th-large{background-position:-216px 0}.icon-th{background-position:-240px 0}.icon-th-list{background-position:-264px 0}.icon-ok{background-position:-288px 0}.icon-remove{background-position:-312px 0}.icon-zoom-in{background-position:-336px 0}.icon-zoom-out{background-position:-360px 0}.icon-off{background-position:-384px 0}.icon-signal{background-position:-408px 0}.icon-cog{background-position:-432px 0}.icon-trash{background-position:-456px 0}.icon-home{background-position:0 -24px}.icon-file{background-position:-24px -24px}.icon-time{background-position:-48px -24px}.icon-road{background-position:-72px -24px}.icon-download-alt{background-position:-96px -24px}.icon-download{background-position:-120px -24px}.icon-upload{background-position:-144px -24px}.icon-inbox{background-position:-168px -24px}.icon-play-circle{background-position:-192px -24px}.icon-repeat{background-position:-216px -24px}.icon-refresh{background-position:-240px -24px}.icon-list-alt{background-position:-264px -24px}.icon-lock{background-position:-287px -24px}.icon-flag{background-position:-312px -24px}.icon-headphones{background-position:-336px -24px}.icon-volume-off{background-position:-360px -24px}.icon-volume-down{background-position:-384px -24px}.icon-volume-up{background-position:-408px -24px}.icon-qrcode{background-position:-432px -24px}.icon-barcode{background-position:-456px -24px}.icon-tag{background-position:0 -48px}.icon-tags{background-position:-25px -48px}.icon-book{background-position:-48px -48px}.icon-bookmark{background-position:-72px -48px}.icon-print{background-position:-96px -48px}.icon-camera{background-position:-120px -48px}.icon-font{background-position:-144px -48px}.icon-bold{background-position:-167px -48px}.icon-italic{background-position:-192px -48px}.icon-text-height{background-position:-216px -48px}.icon-text-width{background-position:-240px -48px}.icon-align-left{background-position:-264px -48px}.icon-align-center{background-position:-288px -48px}.icon-align-right{background-position:-312px -48px}.icon-align-justify{background-position:-336px -48px}.icon-list{background-position:-360px -48px}.icon-indent-left{background-position:-384px -48px}.icon-indent-right{background-position:-408px -48px}.icon-facetime-video{background-position:-432px -48px}.icon-picture{background-position:-456px -48px}.icon-pencil{background-position:0 -72px}.icon-map-marker{background-position:-24px -72px}.icon-adjust{background-position:-48px -72px}.icon-tint{background-position:-72px -72px}.icon-edit{background-position:-96px -72px}.icon-share{background-position:-120px -72px}.icon-check{background-position:-144px -72px}.icon-move{background-position:-168px -72px}.icon-step-backward{background-position:-192px -72px}.icon-fast-backward{background-position:-216px -72px}.icon-backward{background-position:-240px -72px}.icon-play{background-position:-264px -72px}.icon-pause{background-position:-288px -72px}.icon-stop{background-position:-312px -72px}.icon-forward{background-position:-336px -72px}.icon-fast-forward{background-position:-360px -72px}.icon-step-forward{background-position:-384px -72px}.icon-eject{background-position:-408px -72px}.icon-chevron-left{background-position:-432px -72px}.icon-chevron-right{background-position:-456px -72px}.icon-plus-sign{background-position:0 -96px}.icon-minus-sign{background-position:-24px -96px}.icon-remove-sign{background-position:-48px -96px}.icon-ok-sign{background-position:-72px -96px}.icon-question-sign{background-position:-96px -96px}.icon-info-sign{background-position:-120px -96px}.icon-screenshot{background-position:-144px -96px}.icon-remove-circle{background-position:-168px -96px}.icon-ok-circle{background-position:-192px -96px}.icon-ban-circle{background-position:-216px -96px}.icon-arrow-left{background-position:-240px -96px}.icon-arrow-right{background-position:-264px -96px}.icon-arrow-up{background-position:-289px -96px}.icon-arrow-down{background-position:-312px -96px}.icon-share-alt{background-position:-336px -96px}.icon-resize-full{background-position:-360px -96px}.icon-resize-small{background-position:-384px -96px}.icon-plus{background-position:-408px -96px}.icon-minus{background-position:-433px -96px}.icon-asterisk{background-position:-456px -96px}.icon-exclamation-sign{background-position:0 -120px}.icon-gift{background-position:-24px -120px}.icon-leaf{background-position:-48px -120px}.icon-fire{background-position:-72px -120px}.icon-eye-open{background-position:-96px -120px}.icon-eye-close{background-position:-120px -120px}.icon-warning-sign{background-position:-144px -120px}.icon-plane{background-position:-168px -120px}.icon-calendar{background-position:-192px -120px}.icon-random{background-position:-216px -120px;width:16px}.icon-comment{background-position:-240px -120px}.icon-magnet{background-position:-264px -120px}.icon-chevron-up{background-position:-288px -120px}.icon-chevron-down{background-position:-313px -119px}.icon-retweet{background-position:-336px -120px}.icon-shopping-cart{background-position:-360px -120px}.icon-folder-close{background-position:-384px -120px;width:16px}.icon-folder-open{background-position:-408px -120px;width:16px}.icon-resize-vertical{background-position:-432px -119px}.icon-resize-horizontal{background-position:-456px -118px}.icon-hdd{background-position:0 -144px}.icon-bullhorn{background-position:-24px -144px}.icon-bell{background-position:-48px -144px}.icon-certificate{background-position:-72px -144px}.icon-thumbs-up{background-position:-96px -144px}.icon-thumbs-down{background-position:-120px -144px}.icon-hand-right{background-position:-144px -144px}.icon-hand-left{background-position:-168px -144px}.icon-hand-up{background-position:-192px -144px}.icon-hand-down{background-position:-216px -144px}.icon-circle-arrow-right{background-position:-240px -144px}.icon-circle-arrow-left{background-position:-264px -144px}.icon-circle-arrow-up{background-position:-288px -144px}.icon-circle-arrow-down{background-position:-312px -144px}.icon-globe{background-position:-336px -144px}.icon-wrench{background-position:-360px -144px}.icon-tasks{background-position:-384px -144px}.icon-filter{background-position:-408px -144px}.icon-briefcase{background-position:-432px -144px}.icon-fullscreen{background-position:-456px -144px}.dropup,.dropdown{position:relative}.dropdown-toggle{*margin-bottom:-3px}.dropdown-toggle:active,.open .dropdown-toggle{outline:0}.caret{display:inline-block;width:0;height:0;vertical-align:top;border-top:4px solid #000;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.dropdown .caret{margin-top:8px;margin-left:2px}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;background-color:#303030;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);*border-right-width:2px;*border-bottom-width:2px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:transparent;border-bottom:1px solid #222}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:20px;color:#bbbfc2;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus,.dropdown-submenu:hover>a,.dropdown-submenu:focus>a{text-decoration:none;color:#fff;background-color:#2ab2e4;background-image:-moz-linear-gradient(top,#33b5e5,#1dade2);background-image:-webkit-gradient(linear,0 0,0 100%,from(#33b5e5),to(#1dade2));background-image:-webkit-linear-gradient(top,#33b5e5,#1dade2);background-image:-o-linear-gradient(top,#33b5e5,#1dade2);background-image:linear-gradient(to bottom,#33b5e5,#1dade2);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff33b5e5', endColorstr='#ff1dade2', GradientType=0)}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;outline:0;background-color:#2ab2e4;background-image:-moz-linear-gradient(top,#33b5e5,#1dade2);background-image:-webkit-gradient(linear,0 0,0 100%,from(#33b5e5),to(#1dade2));background-image:-webkit-linear-gradient(top,#33b5e5,#1dade2);background-image:-o-linear-gradient(top,#33b5e5,#1dade2);background-image:linear-gradient(to bottom,#33b5e5,#1dade2);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff33b5e5', endColorstr='#ff1dade2', GradientType=0)}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#adafae}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);cursor:default}.open{*z-index:1000}.open>.dropdown-menu{display:block}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid #000;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;-webkit-border-radius:0 6px 6px;-moz-border-radius:0 6px 6px;border-radius:0 6px 6px}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropup .dropdown-submenu>.dropdown-menu{top:auto;bottom:0;margin-top:0;margin-bottom:-2px;-webkit-border-radius:5px 5px 5px 0;-moz-border-radius:5px 5px 5px 0;border-radius:5px 5px 5px 0}.dropdown-submenu>a:after{display:block;content:" ";float:right;width:0;height:0;border-color:transparent;border-style:solid;border-width:5px 0 5px 5px;border-left-color:#000;margin-top:5px;margin-right:-10px}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.dropdown .dropdown-menu .nav-header{padding-left:20px;padding-right:20px}.typeahead{z-index:1051;margin-top:2px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#131517;border:1px solid #030303;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);-moz-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-large{padding:24px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.well-small{padding:9px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.fade{opacity:0;-webkit-transition:opacity .15s linear;-moz-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-moz-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.collapse.in{height:auto}.close{float:right;font-size:20px;font-weight:700;line-height:20px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.btn{display:inline-block;*display:inline;*zoom:1;padding:4px 12px;margin-bottom:0;font-size:14px;line-height:20px;text-align:center;vertical-align:middle;cursor:pointer;color:#303030;text-shadow:0 1px 1px rgba(255,255,255,.75);background-color:#9ea09f;background-image:-moz-linear-gradient(top,#adafae,#868988);background-image:-webkit-gradient(linear,0 0,0 100%,from(#adafae),to(#868988));background-image:-webkit-linear-gradient(top,#adafae,#868988);background-image:-o-linear-gradient(top,#adafae,#868988);background-image:linear-gradient(to bottom,#adafae,#868988);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffadafae', endColorstr='#ff868988', GradientType=0);border-color:#868988 #868988 #606362;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);*background-color:#868988;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);border:1px solid #bbb;*border:0;border-bottom-color:#a2a2a2;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;*margin-left:.3em;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05)}.btn:hover,.btn:focus,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{color:#303030;background-color:#868988;*background-color:#797d7b}.btn:active,.btn.active{background-color:#6d706e \9}.btn:first-child{*margin-left:0}.btn:hover,.btn:focus{color:#303030;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05)}.btn.disabled,.btn[disabled]{cursor:default;background-image:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-large{padding:11px 19px;font-size:17.5px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.btn-large [class^=icon-],.btn-large [class*=" icon-"]{margin-top:4px}.btn-small{padding:2px 10px;font-size:11.9px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.btn-small [class^=icon-],.btn-small [class*=" icon-"]{margin-top:0}.btn-mini [class^=icon-],.btn-mini [class*=" icon-"]{margin-top:-1px}.btn-mini{padding:0 6px;font-size:10.5px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.btn-block{display:block;width:100%;padding-left:0;padding-right:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.btn-block+.btn-block{margin-top:5px}input[type=submit].btn-block,input[type=reset].btn-block,input[type=button].btn-block{width:100%}.btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active,.btn-inverse.active{color:rgba(255,255,255,.75)}.btn-primary{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#38b7e5;background-image:-moz-linear-gradient(top,#4abde8,#1dade2);background-image:-webkit-gradient(linear,0 0,0 100%,from(#4abde8),to(#1dade2));background-image:-webkit-linear-gradient(top,#4abde8,#1dade2);background-image:-o-linear-gradient(top,#4abde8,#1dade2);background-image:linear-gradient(to bottom,#4abde8,#1dade2);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff4abde8', endColorstr='#ff1dade2', GradientType=0);border-color:#1dade2 #1dade2 #14799e;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);*background-color:#1dade2;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{color:#fff;background-color:#1dade2;*background-color:#1a9bcb}.btn-primary:active,.btn-primary.active{background-color:#178ab4 \9}.btn-warning{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#f58a0f;background-image:-moz-linear-gradient(top,#ff941a,#e67a00);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ff941a),to(#e67a00));background-image:-webkit-linear-gradient(top,#ff941a,#e67a00);background-image:-o-linear-gradient(top,#ff941a,#e67a00);background-image:linear-gradient(to bottom,#ff941a,#e67a00);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff941a', endColorstr='#ffe67a00', GradientType=0);border-color:#e67a00 #e67a00 #995200;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);*background-color:#e67a00;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{color:#fff;background-color:#e67a00;*background-color:#cc6d00}.btn-warning:active,.btn-warning.active{background-color:#b35f00 \9}.btn-danger{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#d10000;background-image:-moz-linear-gradient(top,#e60000,#b30000);background-image:-webkit-gradient(linear,0 0,0 100%,from(#e60000),to(#b30000));background-image:-webkit-linear-gradient(top,#e60000,#b30000);background-image:-o-linear-gradient(top,#e60000,#b30000);background-image:linear-gradient(to bottom,#e60000,#b30000);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe60000', endColorstr='#ffb30000', GradientType=0);border-color:#b30000 #b30000 #600;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);*background-color:#b30000;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{color:#fff;background-color:#b30000;*background-color:#900}.btn-danger:active,.btn-danger.active{background-color:maroon \9}.btn-success{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#699e00;background-image:-moz-linear-gradient(top,#77b300,#558000);background-image:-webkit-gradient(linear,0 0,0 100%,from(#77b300),to(#558000));background-image:-webkit-linear-gradient(top,#77b300,#558000);background-image:-o-linear-gradient(top,#77b300,#558000);background-image:linear-gradient(to bottom,#77b300,#558000);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff77b300', endColorstr='#ff558000', GradientType=0);border-color:#558000 #558000 #230;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);*background-color:#558000;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{color:#fff;background-color:#558000;*background-color:#460}.btn-success:active,.btn-success.active{background-color:#334d00 \9}.btn-info{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#993dc7;background-image:-moz-linear-gradient(top,#a347d1,#8a2eb8);background-image:-webkit-gradient(linear,0 0,0 100%,from(#a347d1),to(#8a2eb8));background-image:-webkit-linear-gradient(top,#a347d1,#8a2eb8);background-image:-o-linear-gradient(top,#a347d1,#8a2eb8);background-image:linear-gradient(to bottom,#a347d1,#8a2eb8);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffa347d1', endColorstr='#ff8a2eb8', GradientType=0);border-color:#8a2eb8 #8a2eb8 #5c1f7a;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);*background-color:#8a2eb8;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{color:#fff;background-color:#8a2eb8;*background-color:#7a29a3}.btn-info:active,.btn-info.active{background-color:#6b248f \9}.btn-inverse{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#080808;background-image:-moz-linear-gradient(top,#0d0d0d,#000);background-image:-webkit-gradient(linear,0 0,0 100%,from(#0d0d0d),to(#000));background-image:-webkit-linear-gradient(top,#0d0d0d,#000);background-image:-o-linear-gradient(top,#0d0d0d,#000);background-image:linear-gradient(to bottom,#0d0d0d,#000);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0d0d0d', endColorstr='#ff000000', GradientType=0);border-color:#000;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);*background-color:#000;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-inverse:hover,.btn-inverse:focus,.btn-inverse:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{color:#fff;background-color:#000;*background-color:#000}.btn-inverse:active,.btn-inverse.active{background-color:#000 \9}button.btn,input[type=submit].btn{*padding-top:3px;*padding-bottom:3px}button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;border:0}button.btn.btn-large,input[type=submit].btn.btn-large{*padding-top:7px;*padding-bottom:7px}button.btn.btn-small,input[type=submit].btn.btn-small{*padding-top:3px;*padding-bottom:3px}button.btn.btn-mini,input[type=submit].btn.btn-mini{*padding-top:1px;*padding-bottom:1px}.btn-link,.btn-link:active,.btn-link[disabled]{background-color:transparent;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-link{border-color:transparent;cursor:pointer;color:#f2f2f2;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-link:hover,.btn-link:focus{color:#fff;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,.btn-link[disabled]:focus{color:#303030;text-decoration:none}.btn-group{position:relative;display:inline-block;*display:inline;*zoom:1;font-size:0;vertical-align:middle;white-space:nowrap;*margin-left:.3em}.btn-group:first-child{*margin-left:0}.btn-group+.btn-group{margin-left:5px}.btn-toolbar{font-size:0;margin-top:10px;margin-bottom:10px}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group{margin-left:5px}.btn-group>.btn{position:relative;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group>.btn+.btn{margin-left:-1px}.btn-group>.btn,.btn-group>.dropdown-menu,.btn-group>.popover{font-size:14px}.btn-group>.btn-mini{font-size:10.5px}.btn-group>.btn-small{font-size:11.9px}.btn-group>.btn-large{font-size:17.5px}.btn-group>.btn:first-child{margin-left:0;-webkit-border-top-left-radius:3px;-moz-border-radius-topleft:3px;border-top-left-radius:3px;-webkit-border-bottom-left-radius:3px;-moz-border-radius-bottomleft:3px;border-bottom-left-radius:3px}.btn-group>.btn:last-child,.btn-group>.dropdown-toggle{-webkit-border-top-right-radius:3px;-moz-border-radius-topright:3px;border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;-moz-border-radius-bottomright:3px;border-bottom-right-radius:3px}.btn-group>.btn.large:first-child{margin-left:0;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px}.btn-group>.btn.large:last-child,.btn-group>.large.dropdown-toggle{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active{z-index:2}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,.125),inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,.125),inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 1px 0 0 rgba(255,255,255,.125),inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);*padding-top:5px;*padding-bottom:5px}.btn-group>.btn-mini+.dropdown-toggle{padding-left:5px;padding-right:5px;*padding-top:2px;*padding-bottom:2px}.btn-group>.btn-small+.dropdown-toggle{*padding-top:5px;*padding-bottom:4px}.btn-group>.btn-large+.dropdown-toggle{padding-left:12px;padding-right:12px;*padding-top:7px;*padding-bottom:7px}.btn-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05)}.btn-group.open .btn.dropdown-toggle{background-color:#868988}.btn-group.open .btn-primary.dropdown-toggle{background-color:#1dade2}.btn-group.open .btn-warning.dropdown-toggle{background-color:#e67a00}.btn-group.open .btn-danger.dropdown-toggle{background-color:#b30000}.btn-group.open .btn-success.dropdown-toggle{background-color:#558000}.btn-group.open .btn-info.dropdown-toggle{background-color:#8a2eb8}.btn-group.open .btn-inverse.dropdown-toggle{background-color:#000}.btn .caret{margin-top:8px;margin-left:0}.btn-large .caret{margin-top:6px}.btn-large .caret{border-left-width:5px;border-right-width:5px;border-top-width:5px}.btn-mini .caret,.btn-small .caret{margin-top:8px}.dropup .btn-large .caret{border-bottom-width:5px}.btn-primary .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret,.btn-inverse .caret{border-top-color:#fff;border-bottom-color:#fff}.btn-group-vertical{display:inline-block;*display:inline;*zoom:1}.btn-group-vertical>.btn{display:block;float:none;max-width:100%;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group-vertical>.btn+.btn{margin-left:0;margin-top:-1px}.btn-group-vertical>.btn:first-child{-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0}.btn-group-vertical>.btn:last-child{-webkit-border-radius:0 0 3px 3px;-moz-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px}.btn-group-vertical>.btn-large:first-child{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.btn-group-vertical>.btn-large:last-child{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.alert{padding:8px 35px 8px 14px;margin-bottom:20px;text-shadow:0 1px 0 rgba(255,255,255,.5);background-color:#bbbfc2;border:1px solid transparent;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.alert,.alert h4{color:#a47e3c}.alert h4{margin:0}.alert .close{position:relative;top:-2px;right:-21px;line-height:20px}.alert-success{background-color:#bbbfc2;border-color:#aeb4b6;color:#468847}.alert-success h4{color:#468847}.alert-danger,.alert-error{background-color:#bbbfc2;border-color:#b3b9bb;color:#b94a48}.alert-danger h4,.alert-error h4{color:#b94a48}.alert-info{background-color:#bbbfc2;border-color:#a8afb1;color:#09c}.alert-info h4{color:#09c}.alert-block{padding-top:14px;padding-bottom:14px}.alert-block>p,.alert-block>ul{margin-bottom:0}.alert-block p+p{margin-top:5px}.nav{margin-left:0;margin-bottom:20px;list-style:none}.nav>li>a{display:block}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#bbbfc2}.nav>li>a>img{max-width:none}.nav>.pull-right{float:right}.nav-header{display:block;padding:3px 15px;font-size:11px;font-weight:700;line-height:20px;color:#adafae;text-shadow:0 1px 0 rgba(255,255,255,.5);text-transform:uppercase}.nav li+.nav-header{margin-top:9px}.nav-list{padding-left:15px;padding-right:15px;margin-bottom:0}.nav-list>li>a,.nav-list .nav-header{margin-left:-15px;margin-right:-15px;text-shadow:0 1px 0 rgba(255,255,255,.5)}.nav-list>li>a{padding:3px 15px}.nav-list>.active>a,.nav-list>.active>a:hover,.nav-list>.active>a:focus{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.2);background-color:#f2f2f2}.nav-list [class^=icon-],.nav-list [class*=" icon-"]{margin-right:2px}.nav-list .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.nav-tabs,.nav-pills{*zoom:1}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;content:"";line-height:0}.nav-tabs:after,.nav-pills:after{clear:both}.nav-tabs>li,.nav-pills>li{float:left}.nav-tabs>li>a,.nav-pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{margin-bottom:-1px}.nav-tabs>li>a{padding-top:8px;padding-bottom:8px;line-height:20px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover,.nav-tabs>li>a:focus{border-color:#bbbfc2 #bbbfc2 #ddd}.nav-tabs>.active>a,.nav-tabs>.active>a:hover,.nav-tabs>.active>a:focus{color:#bbb;background-color:#161616;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.nav-pills>li>a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.nav-pills>.active>a,.nav-pills>.active>a:hover,.nav-pills>.active>a:focus{color:#fff;background-color:#f2f2f2}.nav-stacked>li{float:none}.nav-stacked>li>a{margin-right:0}.nav-tabs.nav-stacked{border-bottom:0}.nav-tabs.nav-stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.nav-tabs.nav-stacked>li:first-child>a{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px}.nav-tabs.nav-stacked>li:last-child>a{-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px}.nav-tabs.nav-stacked>li>a:hover,.nav-tabs.nav-stacked>li>a:focus{border-color:#ddd;z-index:2}.nav-pills.nav-stacked>li>a{margin-bottom:3px}.nav-pills.nav-stacked>li:last-child>a{margin-bottom:1px}.nav-tabs .dropdown-menu{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.nav-pills .dropdown-menu{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.nav .dropdown-toggle .caret{border-top-color:#f2f2f2;border-bottom-color:#f2f2f2;margin-top:6px}.nav .dropdown-toggle:hover .caret,.nav .dropdown-toggle:focus .caret{border-top-color:#fff;border-bottom-color:#fff}.nav-tabs .dropdown-toggle .caret{margin-top:8px}.nav .active .dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.nav-tabs .active .dropdown-toggle .caret{border-top-color:#bbb;border-bottom-color:#bbb}.nav>.dropdown.active>a:hover,.nav>.dropdown.active>a:focus{cursor:pointer}.nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav>li.dropdown.open.active>a:hover,.nav>li.dropdown.open.active>a:focus{color:#fff;background-color:#adafae;border-color:#adafae}.nav li.dropdown.open .caret,.nav li.dropdown.open.active .caret,.nav li.dropdown.open a:hover .caret,.nav li.dropdown.open a:focus .caret{border-top-color:#fff;border-bottom-color:#fff;opacity:1;filter:alpha(opacity=100)}.tabs-stacked .open>a:hover,.tabs-stacked .open>a:focus{border-color:#adafae}.tabbable{*zoom:1}.tabbable:before,.tabbable:after{display:table;content:"";line-height:0}.tabbable:after{clear:both}.tab-content{overflow:auto}.tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs{border-bottom:0}.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}.tab-content>.active,.pill-content>.active{display:block}.tabs-below>.nav-tabs{border-top:1px solid #ddd}.tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0}.tabs-below>.nav-tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.tabs-below>.nav-tabs>li>a:hover,.tabs-below>.nav-tabs>li>a:focus{border-bottom-color:transparent;border-top-color:#ddd}.tabs-below>.nav-tabs>.active>a,.tabs-below>.nav-tabs>.active>a:hover,.tabs-below>.nav-tabs>.active>a:focus{border-color:transparent #ddd #ddd}.tabs-left>.nav-tabs>li,.tabs-right>.nav-tabs>li{float:none}.tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px}.tabs-left>.nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd}.tabs-left>.nav-tabs>li>a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.tabs-left>.nav-tabs>li>a:hover,.tabs-left>.nav-tabs>li>a:focus{border-color:#bbbfc2 #ddd #bbbfc2 #bbbfc2}.tabs-left>.nav-tabs .active>a,.tabs-left>.nav-tabs .active>a:hover,.tabs-left>.nav-tabs .active>a:focus{border-color:#ddd transparent #ddd #ddd;*border-right-color:#fff}.tabs-right>.nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd}.tabs-right>.nav-tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.tabs-right>.nav-tabs>li>a:hover,.tabs-right>.nav-tabs>li>a:focus{border-color:#bbbfc2 #bbbfc2 #bbbfc2 #ddd}.tabs-right>.nav-tabs .active>a,.tabs-right>.nav-tabs .active>a:hover,.tabs-right>.nav-tabs .active>a:focus{border-color:#ddd #ddd #ddd transparent;*border-left-color:#fff}.nav>.disabled>a{color:#adafae}.nav>.disabled>a:hover,.nav>.disabled>a:focus{text-decoration:none;background-color:transparent;cursor:default}.navbar{overflow:visible;margin-bottom:20px;*position:relative;*z-index:2}.navbar-inner{min-height:50px;padding-left:20px;padding-right:20px;background-color:#1f1f1f;background-image:-moz-linear-gradient(top,#1f1f1f,#1f1f1f);background-image:-webkit-gradient(linear,0 0,0 100%,from(#1f1f1f),to(#1f1f1f));background-image:-webkit-linear-gradient(top,#1f1f1f,#1f1f1f);background-image:-o-linear-gradient(top,#1f1f1f,#1f1f1f);background-image:linear-gradient(to bottom,#1f1f1f,#1f1f1f);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff1f1f1f', endColorstr='#ff1f1f1f', GradientType=0);border:1px solid #000;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 4px rgba(0,0,0,.065);-moz-box-shadow:0 1px 4px rgba(0,0,0,.065);box-shadow:0 1px 4px rgba(0,0,0,.065);*zoom:1}.navbar-inner:before,.navbar-inner:after{display:table;content:"";line-height:0}.navbar-inner:after{clear:both}.navbar .container{width:auto}.nav-collapse.collapse{height:auto;overflow:visible}.navbar .brand{float:left;display:block;padding:15px 20px;margin-left:-20px;font-size:20px;font-weight:200;color:#adafae;text-shadow:0 1px 0 #1f1f1f}.navbar .brand:hover,.navbar .brand:focus{text-decoration:none}.navbar-text{margin-bottom:0;line-height:50px;color:#adafae}.navbar-link{color:#adafae}.navbar-link:hover,.navbar-link:focus{color:#fff}.navbar .divider-vertical{height:50px;margin:0 9px;border-left:1px solid #1f1f1f;border-right:1px solid #1f1f1f}.navbar .btn,.navbar .btn-group{margin-top:10px}.navbar .btn-group .btn,.navbar .input-prepend .btn,.navbar .input-append .btn,.navbar .input-prepend .btn-group,.navbar .input-append .btn-group{margin-top:0}.navbar-form{margin-bottom:0;*zoom:1}.navbar-form:before,.navbar-form:after{display:table;content:"";line-height:0}.navbar-form:after{clear:both}.navbar-form input,.navbar-form select,.navbar-form .radio,.navbar-form .checkbox{margin-top:10px}.navbar-form input,.navbar-form select,.navbar-form .btn{display:inline-block;margin-bottom:0}.navbar-form input[type=image],.navbar-form input[type=checkbox],.navbar-form input[type=radio]{margin-top:3px}.navbar-form .input-append,.navbar-form .input-prepend{margin-top:5px;white-space:nowrap}.navbar-form .input-append input,.navbar-form .input-prepend input{margin-top:0}.navbar-search{position:relative;float:left;margin-top:10px;margin-bottom:0}.navbar-search .search-query{margin-bottom:0;padding:4px 14px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:400;line-height:1;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.navbar-static-top{position:static;margin-bottom:0}.navbar-static-top .navbar-inner{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;margin-bottom:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{border-width:0 0 1px}.navbar-fixed-bottom .navbar-inner{border-width:1px 0 0}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding-left:0;padding-right:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.navbar-fixed-top{top:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{-webkit-box-shadow:0 1px 10px rgba(0,0,0,.1);-moz-box-shadow:0 1px 10px rgba(0,0,0,.1);box-shadow:0 1px 10px rgba(0,0,0,.1)}.navbar-fixed-bottom{bottom:0}.navbar-fixed-bottom .navbar-inner{-webkit-box-shadow:0 -1px 10px rgba(0,0,0,.1);-moz-box-shadow:0 -1px 10px rgba(0,0,0,.1);box-shadow:0 -1px 10px rgba(0,0,0,.1)}.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0}.navbar .nav.pull-right{float:right;margin-right:0}.navbar .nav>li{float:left}.navbar .nav>li>a{float:none;padding:15px;color:#adafae;text-decoration:none;text-shadow:0 1px 0 #1f1f1f}.navbar .nav .dropdown-toggle .caret{margin-top:8px}.navbar .nav>li>a:focus,.navbar .nav>li>a:hover{background-color:transparent;color:#fff;text-decoration:none}.navbar .nav>.active>a,.navbar .nav>.active>a:hover,.navbar .nav>.active>a:focus{color:#fff;text-decoration:none;background-color:#1f1f1f;-webkit-box-shadow:inset 0 3px 8px rgba(0,0,0,.125);-moz-box-shadow:inset 0 3px 8px rgba(0,0,0,.125);box-shadow:inset 0 3px 8px rgba(0,0,0,.125)}.navbar .btn-navbar{display:none;float:right;padding:7px 10px;margin-left:5px;margin-right:5px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#121212;background-image:-moz-linear-gradient(top,#121212,#121212);background-image:-webkit-gradient(linear,0 0,0 100%,from(#121212),to(#121212));background-image:-webkit-linear-gradient(top,#121212,#121212);background-image:-o-linear-gradient(top,#121212,#121212);background-image:linear-gradient(to bottom,#121212,#121212);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff121212', endColorstr='#ff121212', GradientType=0);border-color:#121212 #121212 #000;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);*background-color:#121212;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.075);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.075)}.navbar .btn-navbar:hover,.navbar .btn-navbar:focus,.navbar .btn-navbar:active,.navbar .btn-navbar.active,.navbar .btn-navbar.disabled,.navbar .btn-navbar[disabled]{color:#fff;background-color:#121212;*background-color:#050505}.navbar .btn-navbar:active,.navbar .btn-navbar.active{background-color:#000 \9}.navbar .btn-navbar .icon-bar{display:block;width:18px;height:2px;background-color:#f5f5f5;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.25);-moz-box-shadow:0 1px 0 rgba(0,0,0,.25);box-shadow:0 1px 0 rgba(0,0,0,.25)}.btn-navbar .icon-bar+.icon-bar{margin-top:3px}.navbar .nav>li>.dropdown-menu:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0,0,0,.2);position:absolute;top:-7px;left:9px}.navbar .nav>li>.dropdown-menu:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #303030;position:absolute;top:-6px;left:10px}.navbar-fixed-bottom .nav>li>.dropdown-menu:before{border-top:7px solid #ccc;border-top-color:rgba(0,0,0,.2);border-bottom:0;bottom:-7px;top:auto}.navbar-fixed-bottom .nav>li>.dropdown-menu:after{border-top:6px solid #303030;border-bottom:0;bottom:-6px;top:auto}.navbar .nav li.dropdown>a:hover .caret,.navbar .nav li.dropdown>a:focus .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar .nav li.dropdown.open>.dropdown-toggle,.navbar .nav li.dropdown.active>.dropdown-toggle,.navbar .nav li.dropdown.open.active>.dropdown-toggle{background-color:#1f1f1f;color:#fff}.navbar .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#adafae;border-bottom-color:#adafae}.navbar .nav li.dropdown.open>.dropdown-toggle .caret,.navbar .nav li.dropdown.active>.dropdown-toggle .caret,.navbar .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar .pull-right>li>.dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right{left:auto;right:0}.navbar .pull-right>li>.dropdown-menu:before,.navbar .nav>li>.dropdown-menu.pull-right:before{left:auto;right:12px}.navbar .pull-right>li>.dropdown-menu:after,.navbar .nav>li>.dropdown-menu.pull-right:after{left:auto;right:13px}.navbar .pull-right>li>.dropdown-menu .dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right .dropdown-menu{left:auto;right:100%;margin-left:0;margin-right:-1px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.navbar-inverse .navbar-inner{background-color:#252a30;background-image:-moz-linear-gradient(top,#252a30,#252a30);background-image:-webkit-gradient(linear,0 0,0 100%,from(#252a30),to(#252a30));background-image:-webkit-linear-gradient(top,#252a30,#252a30);background-image:-o-linear-gradient(top,#252a30,#252a30);background-image:linear-gradient(to bottom,#252a30,#252a30);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff252a30', endColorstr='#ff252a30', GradientType=0);border-color:transparent}.navbar-inverse .brand,.navbar-inverse .nav>li>a{color:#adafae;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.navbar-inverse .brand:hover,.navbar-inverse .nav>li>a:hover,.navbar-inverse .brand:focus,.navbar-inverse .nav>li>a:focus{color:#fff}.navbar-inverse .brand{color:#adafae}.navbar-inverse .navbar-text{color:#adafae}.navbar-inverse .nav>li>a:focus,.navbar-inverse .nav>li>a:hover{background-color:#242a31;color:#fff}.navbar-inverse .nav .active>a,.navbar-inverse .nav .active>a:hover,.navbar-inverse .nav .active>a:focus{color:#fff;background-color:#242a31}.navbar-inverse .navbar-link{color:#adafae}.navbar-inverse .navbar-link:hover,.navbar-inverse .navbar-link:focus{color:#fff}.navbar-inverse .divider-vertical{border-left-color:#252a30;border-right-color:#252a30}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle{background-color:#242a31;color:#fff}.navbar-inverse .nav li.dropdown>a:hover .caret,.navbar-inverse .nav li.dropdown>a:focus .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#adafae;border-bottom-color:#adafae}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .navbar-search .search-query{color:#fff;background-color:#5d6978;border-color:#252a30;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1),0 1px 0 rgba(255,255,255,.15);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.1),0 1px 0 rgba(255,255,255,.15);box-shadow:inset 0 1px 2px rgba(0,0,0,.1),0 1px 0 rgba(255,255,255,.15);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.navbar-inverse .navbar-search .search-query:-moz-placeholder{color:#fff}.navbar-inverse .navbar-search .search-query:-ms-input-placeholder{color:#fff}.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder{color:#fff}.navbar-inverse .navbar-search .search-query:focus,.navbar-inverse .navbar-search .search-query.focused{padding:5px 15px;color:#303030;text-shadow:0 1px 0 #fff;background-color:#fff;border:0;-webkit-box-shadow:0 0 3px rgba(0,0,0,.15);-moz-box-shadow:0 0 3px rgba(0,0,0,.15);box-shadow:0 0 3px rgba(0,0,0,.15);outline:0}.navbar-inverse .btn-navbar{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#1a1d22;background-image:-moz-linear-gradient(top,#1a1d22,#1a1d22);background-image:-webkit-gradient(linear,0 0,0 100%,from(#1a1d22),to(#1a1d22));background-image:-webkit-linear-gradient(top,#1a1d22,#1a1d22);background-image:-o-linear-gradient(top,#1a1d22,#1a1d22);background-image:linear-gradient(to bottom,#1a1d22,#1a1d22);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff1a1d22', endColorstr='#ff1a1d22', GradientType=0);border-color:#1a1d22 #1a1d22 #000;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);*background-color:#1a1d22;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.navbar-inverse .btn-navbar:hover,.navbar-inverse .btn-navbar:focus,.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active,.navbar-inverse .btn-navbar.disabled,.navbar-inverse .btn-navbar[disabled]{color:#fff;background-color:#1a1d22;*background-color:#0f1113}.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active{background-color:#040405 \9}.breadcrumb{padding:8px 15px;margin:0 0 20px;list-style:none;background-color:#f5f5f5;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.breadcrumb>li{display:inline-block;*display:inline;*zoom:1;text-shadow:0 1px 0 #fff}.breadcrumb>li>.divider{padding:0 5px;color:#ccc}.breadcrumb>.active{color:#adafae}.pagination{margin:20px 0}.pagination ul{display:inline-block;*display:inline;*zoom:1;margin-left:0;margin-bottom:0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.pagination ul>li{display:inline}.pagination ul>li>a,.pagination ul>li>span{float:left;padding:4px 12px;line-height:20px;text-decoration:none;background-color:#161616;border:1px solid transparent;border-left-width:0}.pagination ul>li>a:hover,.pagination ul>li>a:focus,.pagination ul>.active>a,.pagination ul>.active>span{background-color:#33b5e5}.pagination ul>.active>a,.pagination ul>.active>span{color:#adafae;cursor:default}.pagination ul>.disabled>span,.pagination ul>.disabled>a,.pagination ul>.disabled>a:hover,.pagination ul>.disabled>a:focus{color:#adafae;background-color:transparent;cursor:default}.pagination ul>li:first-child>a,.pagination ul>li:first-child>span{border-left-width:1px;-webkit-border-top-left-radius:3px;-moz-border-radius-topleft:3px;border-top-left-radius:3px;-webkit-border-bottom-left-radius:3px;-moz-border-radius-bottomleft:3px;border-bottom-left-radius:3px}.pagination ul>li:last-child>a,.pagination ul>li:last-child>span{-webkit-border-top-right-radius:3px;-moz-border-radius-topright:3px;border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;-moz-border-radius-bottomright:3px;border-bottom-right-radius:3px}.pagination-centered{text-align:center}.pagination-right{text-align:right}.pagination-large ul>li>a,.pagination-large ul>li>span{padding:11px 19px;font-size:17.5px}.pagination-large ul>li:first-child>a,.pagination-large ul>li:first-child>span{-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px}.pagination-large ul>li:last-child>a,.pagination-large ul>li:last-child>span{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px}.pagination-mini ul>li:first-child>a,.pagination-small ul>li:first-child>a,.pagination-mini ul>li:first-child>span,.pagination-small ul>li:first-child>span{-webkit-border-top-left-radius:2px;-moz-border-radius-topleft:2px;border-top-left-radius:2px;-webkit-border-bottom-left-radius:2px;-moz-border-radius-bottomleft:2px;border-bottom-left-radius:2px}.pagination-mini ul>li:last-child>a,.pagination-small ul>li:last-child>a,.pagination-mini ul>li:last-child>span,.pagination-small ul>li:last-child>span{-webkit-border-top-right-radius:2px;-moz-border-radius-topright:2px;border-top-right-radius:2px;-webkit-border-bottom-right-radius:2px;-moz-border-radius-bottomright:2px;border-bottom-right-radius:2px}.pagination-small ul>li>a,.pagination-small ul>li>span{padding:2px 10px;font-size:11.9px}.pagination-mini ul>li>a,.pagination-mini ul>li>span{padding:0 6px;font-size:10.5px}.pager{margin:20px 0;list-style:none;text-align:center;*zoom:1}.pager:before,.pager:after{display:table;content:"";line-height:0}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#f5f5f5}.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:#adafae;background-color:#fff;cursor:default}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop,.modal-backdrop.fade.in{opacity:.8;filter:alpha(opacity=80)}.modal{position:absolute;z-index:1050;width:100%;background-color:#fff;-webkit-box-shadow:0 3px 7px rgba(0,0,0,.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,.3);box-shadow:0 3px 7px rgba(0,0,0,.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;outline:0}.modal.fade{-webkit-transition:opacity .3s linear,top .3s ease-out;-moz-transition:opacity .3s linear,top .3s ease-out;-o-transition:opacity .3s linear,top .3s ease-out;transition:opacity .3s linear,top .3s ease-out;top:-25%}.modal.fade.in{top:10%}.modal-header{padding:9px 15px;border-bottom:1px solid #eee}.modal-header .close{margin-top:2px}.modal-header h3{margin:0;line-height:30px}.modal-body{position:relative;overflow-y:auto;padding:15px}.modal-form{margin-bottom:0}.modal-footer{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-box-shadow:inset 0 1px 0 #fff;-moz-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff;*zoom:1}.modal-footer:before,.modal-footer:after{display:table;content:"";line-height:0}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.tooltip{position:absolute;z-index:1020;display:block;visibility:visible;font-size:11px;line-height:1.4;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.8;filter:alpha(opacity=80)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:8px;color:#fff;text-align:center;text-decoration:none;background-color:#303030;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.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:#303030}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#303030}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#303030}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#303030}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;background-color:#303030;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);white-space:normal}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:14px;font-weight:400;line-height:18px;background-color:#303030;border-bottom:1px solid #232323;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.popover-title:empty{display:none}.popover-content{padding:9px 14px}.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow{border-width:11px}.popover .arrow:after{border-width:10px;content:""}.popover.top .arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,.25);bottom:-11px}.popover.top .arrow:after{bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#303030}.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,.25)}.popover.right .arrow:after{left:1px;bottom:-10px;border-left-width:0;border-right-color:#303030}.popover.bottom .arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);top:-11px}.popover.bottom .arrow:after{top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#303030}.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;border-right-width:0;border-left-color:#303030;bottom:-10px}.thumbnails{margin-left:-20px;list-style:none;*zoom:1}.thumbnails:before,.thumbnails:after{display:table;content:"";line-height:0}.thumbnails:after{clear:both}.row-fluid .thumbnails{margin-left:0}.thumbnails>li{float:left;margin-bottom:20px;margin-left:20px}.thumbnail{display:block;padding:4px;line-height:20px;border:1px solid #ddd;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.055);-moz-box-shadow:0 1px 3px rgba(0,0,0,.055);box-shadow:0 1px 3px rgba(0,0,0,.055);-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}a.thumbnail:hover,a.thumbnail:focus{border-color:#f2f2f2;-webkit-box-shadow:0 1px 4px rgba(0,105,214,.25);-moz-box-shadow:0 1px 4px rgba(0,105,214,.25);box-shadow:0 1px 4px rgba(0,105,214,.25)}.thumbnail>img{display:block;max-width:100%;margin-left:auto;margin-right:auto}.thumbnail .caption{padding:9px;color:#bbb}.media,.media-body{overflow:hidden;*overflow:visible;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{margin-left:0;list-style:none}.label,.badge{display:inline-block;padding:2px 4px;font-size:11.844px;font-weight:700;line-height:14px;color:#fff;vertical-align:baseline;white-space:nowrap;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#adafae}.label{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.badge{padding-left:9px;padding-right:9px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px}.label:empty,.badge:empty{display:none}a.label:hover,a.label:focus,a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.label-important,.badge-important{background-color:#b94a48}.label-important[href],.badge-important[href]{background-color:#953b39}.label-warning,.badge-warning{background-color:#f80}.label-warning[href],.badge-warning[href]{background-color:#cc6d00}.label-success,.badge-success{background-color:#468847}.label-success[href],.badge-success[href]{background-color:#356635}.label-info,.badge-info{background-color:#09c}.label-info[href],.badge-info[href]{background-color:#007399}.label-inverse,.badge-inverse{background-color:#303030}.label-inverse[href],.badge-inverse[href]{background-color:#161616}.btn .label,.btn .badge{position:relative;top:-1px}.btn-mini .label,.btn-mini .badge{top:0}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-ms-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f7f7f7;background-image:-moz-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f5f5f5),to(#f9f9f9));background-image:-webkit-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-o-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:linear-gradient(to bottom,#f5f5f5,#f9f9f9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.progress .bar{width:0;height:100%;color:#fff;float:left;font-size:12px;text-align:center;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#0e90d2;background-image:-moz-linear-gradient(top,#149bdf,#0480be);background-image:-webkit-gradient(linear,0 0,0 100%,from(#149bdf),to(#0480be));background-image:-webkit-linear-gradient(top,#149bdf,#0480be);background-image:-o-linear-gradient(top,#149bdf,#0480be);background-image:linear-gradient(to bottom,#149bdf,#0480be);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-moz-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width .6s ease;-moz-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress .bar+.bar{-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,.15),inset 0 -1px 0 rgba(0,0,0,.15);-moz-box-shadow:inset 1px 0 0 rgba(0,0,0,.15),inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 1px 0 0 rgba(0,0,0,.15),inset 0 -1px 0 rgba(0,0,0,.15)}.progress-striped .bar{background-color:#149bdf;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,.15)),color-stop(0.75,rgba(255,255,255,.15)),color-stop(0.75,transparent),to(transparent));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:-moz-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;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px}.progress.active .bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-danger .bar,.progress .bar-danger{background-color:#dd514c;background-image:-moz-linear-gradient(top,#ee5f5b,#c43c35);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#c43c35));background-image:-webkit-linear-gradient(top,#ee5f5b,#c43c35);background-image:-o-linear-gradient(top,#ee5f5b,#c43c35);background-image:linear-gradient(to bottom,#ee5f5b,#c43c35);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffc43c35', GradientType=0)}.progress-danger.progress-striped .bar,.progress-striped .bar-danger{background-color:#ee5f5b;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,.15)),color-stop(0.75,rgba(255,255,255,.15)),color-stop(0.75,transparent),to(transparent));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:-moz-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-success .bar,.progress .bar-success{background-color:#5eb95e;background-image:-moz-linear-gradient(top,#62c462,#57a957);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#57a957));background-image:-webkit-linear-gradient(top,#62c462,#57a957);background-image:-o-linear-gradient(top,#62c462,#57a957);background-image:linear-gradient(to bottom,#62c462,#57a957);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff57a957', GradientType=0)}.progress-success.progress-striped .bar,.progress-striped .bar-success{background-color:#62c462;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,.15)),color-stop(0.75,rgba(255,255,255,.15)),color-stop(0.75,transparent),to(transparent));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:-moz-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-info .bar,.progress .bar-info{background-color:#4bb1cf;background-image:-moz-linear-gradient(top,#5bc0de,#339bb9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#339bb9));background-image:-webkit-linear-gradient(top,#5bc0de,#339bb9);background-image:-o-linear-gradient(top,#5bc0de,#339bb9);background-image:linear-gradient(to bottom,#5bc0de,#339bb9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff339bb9', GradientType=0)}.progress-info.progress-striped .bar,.progress-striped .bar-info{background-color:#5bc0de;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,.15)),color-stop(0.75,rgba(255,255,255,.15)),color-stop(0.75,transparent),to(transparent));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:-moz-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-warning .bar,.progress .bar-warning{background-color:#ff9d2e;background-image:-moz-linear-gradient(top,#ffac4d,#f80);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ffac4d),to(#f80));background-image:-webkit-linear-gradient(top,#ffac4d,#f80);background-image:-o-linear-gradient(top,#ffac4d,#f80);background-image:linear-gradient(to bottom,#ffac4d,#f80);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffac4d', endColorstr='#ffff8800', GradientType=0)}.progress-warning.progress-striped .bar,.progress-striped .bar-warning{background-color:#ffac4d;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,.15)),color-stop(0.75,rgba(255,255,255,.15)),color-stop(0.75,transparent),to(transparent));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:-moz-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)}.accordion{margin-bottom:20px}.accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.accordion-heading{border-bottom:0}.accordion-heading .accordion-toggle{display:block;padding:8px 15px}.accordion-toggle{cursor:pointer}.accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5}.carousel{position:relative;margin-bottom:20px;line-height:1}.carousel-inner{overflow:hidden;width:100%;position:relative}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;-moz-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{display:block;line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#fff;text-align:center;background:#1f1f1f;border:3px solid #fff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:.5;filter:alpha(opacity=50)}.carousel-control.right{left:auto;right:15px}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-indicators{position:absolute;top:15px;right:15px;z-index:5;margin:0;list-style:none}.carousel-indicators li{display:block;float:left;width:10px;height:10px;margin-left:5px;text-indent:-999px;background-color:#ccc;background-color:rgba(255,255,255,.25);border-radius:5px}.carousel-indicators .active{background-color:#fff}.carousel-caption{position:absolute;left:0;right:0;bottom:0;padding:15px;background:#303030;background:rgba(0,0,0,.75)}.carousel-caption h4,.carousel-caption p{color:#fff;line-height:20px}.carousel-caption h4{margin:0 0 5px}.carousel-caption p{margin-bottom:0}.hero-unit{padding:60px;margin-bottom:30px;font-size:18px;font-weight:200;line-height:30px;color:inherit;background-color:#303030;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;color:inherit;letter-spacing:-1px}.hero-unit li{line-height:30px}.pull-right{float:right}.pull-left{float:left}.hide{display:none}.show{display:block}.invisible{visibility:hidden}.affix{position:fixed}label,input,button,select,textarea,.navbar .search-query:-moz-placeholder,.navbar .search-query::-webkit-input-placeholder{font-family:'Droid Sans',sans-serif;color:#bbb}blockquote{border-left:5px solid #303030}blockquote.pull-right{border-right:5px solid #303030}html{min-height:100%}body{min-height:100%;background:#161616}.page-header{border-bottom:1px solid #303030}hr{border-bottom:0}.navbar .navbar-inner{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.navbar .brand{padding:15px 20px;color:#bbbfc2;font-weight:400;text-shadow:none}.navbar .nav>li>a{padding:15px 15px 14px;border-bottom:1px solid transparent}.navbar .nav>li>a:hover,.navbar .nav>.active>a,.navbar .nav>.active>a:hover{border-bottom:1px solid #33b5e5}.navbar .nav>.active>a,.navbar .nav>.active>a:hover,.navbar .nav>.active>a:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.navbar .navbar-text{margin-bottom:1px;padding:15px 15px 14px;line-height:inherit}.navbar .divider-vertical{margin:0;border-left:1px solid #303030;border-right-width:0}.navbar .search-query,.navbar .search-query:focus,.navbar .search-query.focused{-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;background-color:#303030;line-height:normal;color:#adafae;text-shadow:none}.navbar .search-query:-moz-placeholder,.navbar .search-query:focus:-moz-placeholder,.navbar .search-query.focused:-moz-placeholder{color:#bbb}.navbar .search-query:-ms-input-placeholder,.navbar .search-query:focus:-ms-input-placeholder,.navbar .search-query.focused:-ms-input-placeholder{color:#bbb}.navbar .search-query::-webkit-input-placeholder,.navbar .search-query:focus::-webkit-input-placeholder,.navbar .search-query.focused::-webkit-input-placeholder{color:#bbb}@media(max-width:979px){.navbar .nav-collapse .nav li>a{border:0;color:#bbbfc2;font-weight:400;text-shadow:none}.navbar .nav-collapse .nav li>a:hover{border:0;background-color:#33b5e5}.navbar .nav-collapse .nav .active>a{border:0;background-color:#33b5e5}.navbar .nav-collapse .dropdown-menu a:hover{background-color:#33b5e5}.navbar .nav-collapse .navbar-form,.navbar .nav-collapse .navbar-search{border-top:0;border-bottom:0}.navbar .nav-collapse .nav-header{color:rgba(128,128,128,.6)}.navbar-inverse .nav-collapse .nav li>a:hover{background-color:#111}.navbar-inverse .nav-collapse .nav .active>a{background-color:#111}.navbar-inverse .nav-collapse .nav li.dropdown.open>.dropdown-toggle,.navbar-inverse .nav-collapse .nav li.dropdown.active>.dropdown-toggle,.navbar-inverse .nav-collapse .nav li.dropdown.open.active>.dropdown-toggle{background-color:#111}}.dropdown-menu{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}div.subnav{margin:0 1px;background-color:#1f1f1f;background-image:none;border:0;border-bottom:1px solid #303030}div.subnav .nav>li>a,div.subnav .nav>li:first-child>a,div.subnav .nav>li:first-child>a:hover{padding:11px 12px;border:0;background-color:#1f1f1f;color:#adafae}div.subnav .nav>li>a:hover,div.subnav .nav>li.active>a,div.subnav .nav>li.active>a:hover,div.subnav .nav>li:first-child>a:hover{padding:11px 12px;background:transparent;border:0;border-bottom:1px solid #33b5e5;color:#fff}div.subnav .nav li.nav-header{text-shadow:none}div.subnav-fixed{top:50px;margin:0}.nav-tabs{border-bottom:1px solid #303030}.nav-tabs>li>a{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.nav-tabs li>a:hover,.nav-tabs li.active>a,.nav-tabs li.active>a:hover{border-color:transparent;background-color:#33b5e5;color:#fff}.nav-tabs li.disabled>a{color:#bbbfc2}.nav-tabs .open .dropdown-toggle{background-color:#060606;border-color:transparent}.nav-pills li>a:hover{background-color:#33b5e5;color:#fff}.nav-pills li.disabled>a{color:#bbbfc2}.nav-pills .open .dropdown-toggle{background-color:#060606}.nav-pills .dropdown-menu li>a:hover{border:0}.nav-list li>a{text-shadow:none}.nav-list li>a:hover{background-color:#33b5e5;color:#fff}.nav-list .nav-header{text-shadow:none}.nav-list .divider{background-color:transparent;border-bottom:1px solid #303030}.nav-stacked li>a{border:1px solid #303030!important}.nav-stacked li>a:hover,.nav-stacked li.active>a{background-color:#33b5e5;color:#fff}.tabbable .nav-tabs,.tabbable .nav-tabs li.active>a{border-color:#303030}.breadcrumb{background-color:transparent;background-image:none;border-width:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;font-size:14px}.breadcrumb li{text-shadow:none}.breadcrumb li>a{color:#33b5e5;text-shadow:none}.pagination ul{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.pagination ul>.disabled>a,.pagination ul>.disabled>a:hover,.pagination ul>.disabled>span,.pagination ul>.disabled>span:hover{background-color:rgba(0,0,0,.2)}.pager li>a,.pager li>span{background-color:#161616;border:0}.pager li>a:hover,.pager li>span:hover{background-color:#33b5e5}.pager .disabled a,.pager .disabled a:hover{background-color:#161616}.btn{padding:5px 12px;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;text-shadow:none}.btn.disabled{box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05)}.btn-large{padding:22px 30px}.btn-small{padding:2px 10px}.btn-mini{padding:2px 6px}.btn-group>.btn:first-child,.btn-group>.btn:last-child,.btn-group>.dropdown-toggle{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group>.btn+.dropdown-toggle{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}input,textarea,select{border-width:2px;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}select,textarea,input[type=text],input[type=password],input[type=datetime],input[type=datetime-local],input[type=date],input[type=month],input[type=time],input[type=week],input[type=number],input[type=email],input[type=url],input[type=search],input[type=tel],input[type=color],.uneditable-input{color:#adafae}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly],.uneditable-input{border-color:#444}input:focus,textarea:focus,input.focused,textarea.focused{border-color:#52a8ec;outline:0;outline:thin dotted \9}input[type=file]:focus,input[type=radio]:focus,input[type=checkbox]:focus,select:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}legend,label{color:#bbbfc2;border-bottom:0 solid #222}.form-actions{border-top:1px solid #222}.table{-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.table tbody tr.success td{background-color:#690;color:#fff}.table tbody tr.error td{background-color:#c00;color:#fff}.table tbody tr.info td{background-color:#33b5e5;color:#fff}.alert,.alert .alert-heading,.alert-success,.alert-success .alert-heading,.alert-danger,.alert-error,.alert-danger .alert-heading,.alert-error .alert-heading,.alert-info,.alert-info .alert-heading{color:#bbbfc2;text-shadow:none;border:0}.label{color:#bbbfc2}.badge{border-radius:0;font-weight:200}.label,.alert{background-color:#888}.label:hover{background-color:#6e6e6e}.label-important,.alert-danger,.alert-error{background-color:#c00}.label-important:hover{background-color:#900}.label-warning{background-color:#cc6d00}.label-warning:hover{background-color:#995200}.label-success,.alert-success{background-color:#5c8a00}.label-success:hover{background-color:#3a5700}.label-info,.alert-info{background-color:#007399}.label-info:hover{background-color:#004d66}a:hover{text-decoration:none}.well,.hero-unit{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.well,.hero-unit{border-top:solid 1px #3d3d3d;-webkit-box-shadow:0 2px 4px rgba(0,0,0,.8);-moz-box-shadow:0 2px 4px rgba(0,0,0,.8);box-shadow:0 2px 4px rgba(0,0,0,.8)}.thumbnail{border-color:#303030}.progress{background-color:#060606;background-image:none;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.modal{-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;border-top:solid 1px #3d3d3d;background-color:#303030}.modal-header{border-bottom:1px solid #303030}.modal-footer{background-color:#303030;border-top:1px solid #303030;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.popover{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.popover-title{border-bottom:0;color:#fff}.footer{border-top:1px solid #303030}@media(max-width:767px){div.panel{width:100%!important;padding:0!important}}.container-fluid{padding-left:0;padding-right:0}.container.grafana-container{padding:5px 10px;width:100%;box-sizing:border-box}.bgNav{background:#1f1f1f}.bgPrimary{background:#4abde8;color:rgba(255,255,255,.9)}.bgInfo{background:#a347d1;color:rgba(255,255,255,.9)}.bgSuccess{background:#77b300;color:rgba(255,255,255,.9)}.bgWarning{background:#ff941a;color:rgba(255,255,255,.9)}.bgDanger{background:#e60000;color:rgba(255,255,255,.9)}.bgInverse{background:#0d0d0d;color:rgba(255,255,255,.9)}code,pre{background-color:#bbbfc2}.panel{display:inline-table;vertical-align:top}.panel-container{padding:0;background:#1f1f1f;margin:5px}.panel-content{padding:0 10px 5px}.panel-title{border:0;font-weight:700}.panel-loading{position:absolute;top:0;right:4px;z-index:800}.panel div.panel-extra div.panel-extra-container{margin-right:-10px;margin-top:3px;text-align:center}.panel div.panel-extra div.panel-extra-container ul{text-align:left}.panel div.panel-extra{font-size:.9em;margin-bottom:0}.panel div.panel-extra .extra{float:right!important}.panel-error{color:#fff;padding:5px 10px 0}.panel-error-inspector-link{float:right;margin-right:10px}div.editor-row{vertical-align:top}div.editor-row div.section{margin-right:20px;vertical-align:top;display:inline-block}div.editor-option{vertical-align:top;display:inline-block;margin-right:10px}div.editor-option label{display:block}#events{font-size:12px}.version{font-size:85%}.legend{color:#000}div.fake-input{background-color:#4a4a4a;border:1px solid #636363;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}hr.small{margin:5px 0}form input.ng-invalid{color:#b94a48}.editor-title{margin-right:10px;font-size:1.7em;font-weight:700;text-transform:capitalize}.editor-title small{opacity:.5;font-size:.7em;font-weight:400}.bordered{border:1px solid #303030}.table-unpadded th,.table-unpadded td{padding:0 2px}.spy{position:absolute;right:0;top:0}.navbar-inner{border-width:0}.kibana-row{margin-bottom:5px}.row-tab .dropdown-menu-right{top:0;left:33px}.row-tab-button{padding:0;cursor:pointer;vertical-align:middle;width:30px;height:30px;text-align:center;display:inline-block;line-height:30px}.row-button{width:30px;text-align:center;float:left;cursor:pointer}.row-text{white-space:nowrap;text-transform:uppercase;font-weight:700;font-size:.9em;margin:0 10px}.row-close{padding:0;margin:0;min-height:30px!important;line-height:30px;background:#1f1f1f}.row-open{margin-top:5px;left:-34px;position:absolute;z-index:100;transition:.25s left;transition-delay:.25s;-webkit-transition-delay:.25s}.row-open:hover{left:-12px}.odd{background-color:rgba(100,100,100,.3)}.nomargin{margin:0}[ng\:cloak],[ng-cloak],.ng-cloak{display:none!important}.table tbody+tbody{border-top:0}.ui-draggable-dragging{display:block;z-index:9999}.dragInProgress .panel-container{border:3px solid rgba(100,100,100,.5)}.link{color:#f2f2f2;cursor:pointer}.link:hover{color:#fff}.pointer{cursor:pointer}.popover{max-width:480px}.modal{width:100%;top:0!important}.tiny{font-size:50%}.smaller{font-size:70%}.small{font-size:85%}.large{font-size:120%}.strong{font-weight:700}a{cursor:pointer}.normal{font-weight:400}.light{font-weight:200}.input-smaller{width:75px}.string{color:#c8ccce}.number{color:#00ace6}.boolean{color:#b78c43}.key{color:#c05c5a}.btn-active{background-color:#e6e6e6;background-image:none;box-shadow:0 2px 4px rgba(0,0,0,.15) inset,0 1px 2px rgba(0,0,0,.05);outline:0 none}.remove:hover{background-color:#b30000}.faded{opacity:.2}div.flot-text{color:#bbbfc2!important}.dashboard-notice{z-index:8000;margin-left:0;padding:3px 0;width:100%;padding-left:20px;color:#fff}.alert-warning{background-color:#bbbfc2;border-color:transparent;color:#a47e3c}.popover.topLeft{margin-top:-10px}.popover.topLeft .arrow{bottom:-10px;left:25%;margin-left:-10px;border-width:10px 10px 0;border-top-color:#303030}.popover.topLeft .arrow:after{border-width:11px 11px 0;border-top-color:rgba(0,0,0,.25);bottom:-1px;left:-11px}.popover.topRight{margin-top:-10px}.popover.topRight .arrow{bottom:-10px;left:75%;margin-left:-10px;border-width:10px 10px 0;border-top-color:#303030}.popover.topRight .arrow:after{border-width:11px 11px 0;border-top-color:rgba(0,0,0,.25);bottom:-1px;left:-11px}.popover.rightTop .arrow{top:10%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,.25)}.popover.rightTop .arrow:after{left:1px;bottom:-10px;border-left-width:0;border-right-color:#303030}.popover.rightBottom .arrow{top:90%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,.25)}.popover.rightBottom .arrow:after{left:1px;bottom:-10px;border-left-width:0;border-right-color:#303030}.popover.bottomLeft .arrow{left:10%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);top:-11px}.popover.bottomLeft .arrow:after{top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#303030}.popover.bottomRight .arrow{left:90%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);top:-11px}.popover.bottomRight .arrow:after{top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#303030}.popover.leftTop .arrow{top:10%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.leftTop .arrow:after{right:1px;border-right-width:0;border-left-color:#303030;bottom:-10px}.popover.leftBottom .arrow{top:90%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.leftBottom .arrow:after{right:1px;border-right-width:0;border-left-color:#303030;bottom:-10px}.popover.topLeft .arrow{left:10%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,.25);bottom:-11px}.popover.topLeft .arrow:after{bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#303030}.popover.topRight .arrow{left:90%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,.25);bottom:-11px}.popover.topRight .arrow:after{bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#303030}.label-tag{background-color:#93c;color:#f2f2f2}.label-tag:hover{background-color:#7a29a3;color:#fff}.annotation-editor-table td{white-space:nowrap}.save-dashboard-dropdown{padding:10px}.save-dashboard-dropdown li>a{padding-left:5px}.save-dashboard-dropdown-save-form{margin-bottom:5px}.inspector-request-table td{padding:5px}.inspector-request-table td:first-child{white-space:nowrap}code,pre{background-color:#1f1f1f;color:#bbbfc2}.submenu-controls{background:#292929;font-size:inherit}.submenu-controls label{margin:0;padding-right:4px;display:inline}.submenu-controls input[type=checkbox]{margin:0}.submenu-controls-visible:not(.hide-controls) .panel-fullscreen{top:82px}.submenu-panel{padding:0 4px 0 8px;border-right:1px solid #202020;float:left}.submenu-panel:first-child{padding-left:17px}.submenu-panel-title{float:left;text-transform:uppercase;padding:4px 10px 3px 0}.submenu-panel-wrapper{float:left}.submenu-toggle{padding:4px 0 3px 8px;float:left}.submenu-toggle .annotation-color-icon{position:relative;top:2px}.submenu-toggle:first-child{padding-left:0}.submenu-control-edit{padding:4px 4px 3px 8px;float:right;border-left:1px solid #202020;margin-left:8px}.annotation-disabled,.annotation-disabled a{color:#788086}.filtering-container{float:left}.filtering-container label{float:left}.filtering-container input[type=checkbox]{margin:0}.filter-panel-filter{display:inline-block;vertical-align:top;padding:4px 10px 3px;border-right:1px solid #202020}.filter-panel-filter:first-child{padding-left:0}.filter-panel-filter ul{margin-bottom:0}.filter-deselected{opacity:.5}.filtering-container .filter-action{float:right;padding-right:2px;margin-bottom:0!important;margin-left:0;margin-top:4px}.add-filter-action{padding:3px 5px 0;position:relative;top:4px}.filter-mandate{text-decoration:underline;cursor:pointer}.filter-apply{float:right}.bootstrap-tagsinput{display:inline-block;padding:4px 6px;margin-bottom:10px;color:#555;vertical-align:middle;border-radius:4px;max-width:100%;line-height:22px;background-color:#4a4a4a;border:1px solid #636363;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-moz-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 linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}.bootstrap-tagsinput input{border:0;box-shadow:none;outline:0;background-color:transparent;padding:0;padding-left:5px;margin:0;width:auto!important;max-width:inherit}.bootstrap-tagsinput input:focus{border:0;box-shadow:none}.bootstrap-tagsinput .tag{margin-right:2px;color:#fff}.bootstrap-tagsinput .tag [data-role=remove]{margin-left:8px;cursor:pointer}.bootstrap-tagsinput .tag [data-role=remove]:after{content:"x";padding:0 2px}.bootstrap-tagsinput .tag [data-role=remove]:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05)}.bootstrap-tagsinput .tag [data-role=remove]:hover:active{box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.hide-controls{padding:0}.hide-controls .grafana-row{display:none}.hide-controls .submenu-controls{display:none}.hide-controls .add-row-panel-hint{display:none}.playlist-active .grafana-menu-zoom-out,.playlist-active .grafana-menu-save,.playlist-active .grafana-menu-load,.playlist-active .add-row-panel-hint,.playlist-active .grafana-menu-home,.playlist-active .grafana-menu-refresh,.playlist-active .grafana-menu-edit{display:none}.playlist-active .grafana-menu-stop-playlist{display:list-item}.grafana-search-panel{padding:6px 10px}.grafana-search-panel .search-field-wrapper input{width:100%}.grafana-search-panel .search-field-wrapper button{margin:0 2px 0 0}.grafana-search-panel .search-field-wrapper>span{display:block;overflow:hidden;padding-right:25px}.grafana-search-panel .selected td,.grafana-search-panel tr.selected:nth-child(odd)>td{background:#33b5e5;color:#fff;text-shadow:-1px -1px 1px rgba(0,0,0,.3)}.grafana-search-panel .selected td a,.grafana-search-panel tr.selected:nth-child(odd)>td a{color:#fff}.grafana-search-panel .selected-tag .label-tag{background-color:#33b5e5}.search-tagview-switch{position:absolute;top:15px;right:263px;color:#a6a6a6}.search-tagview-switch.active{color:#f2f2f2}.row-button{width:24px}.modal{margin:5%;width:90%}.grafana-search-metric-actions{visibility:hidden;padding-left:20px}.grafana-search-metric-name{white-space:nowrap}.grafana-search-metric-result:hover .grafana-search-metric-actions{visibility:visible}.grafana-search-metric-result:hover .grafana-search-metric-name{color:#33b5e5}.yaxisLabel{top:50%;left:-20px;transform:rotate(-90deg);-o-transform:rotate(-90deg);-ms-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-webkit-transform:rotate(-90deg);transform-origin:0 0;-o-transform-origin:0 0;-ms-transform-origin:0 0;-moz-transform-origin:0 0;-webkit-transform-origin:0 0}.axisLabel{color:#bbbfc2;font-size:11.9px;position:absolute;text-align:center;font-size:12px}.hidden-series a{color:#7f7f7f}.panel-fullscreen{z-index:100;display:block!important;position:fixed;left:0;right:0;top:54px;padding:0 10px;background:#1f1f1f;overflow-y:scroll;height:100%}.panel-fullscreen .panel-content{padding-bottom:130px}.dashboard-fullscreen .container-fluid.main{height:0;width:0;position:fixed;right:-10000px}.grafana-legend-container{margin:0 15px;text-align:left;position:relative;top:2px}.grafana-legend-container .popover-content{padding:0}.histogram-legend{display:inline-block;padding:0 4px}.histogram-legend i{position:relative;top:2px}.histogram-legend-item{display:inline-block}.histogram-chart{position:relative}.histogram-legend-popover{width:200px}.histogram-legend-popover label{display:inline-block}.histogram-legend-popover .btn{padding:1px 3px;margin-right:0;line-height:initial}.histogram-legend-popover .close{margin-right:5px;color:#f2f2f2;opacity:.7;text-shadow:none}.histogram-legend-popover .editor-row{padding:5px}.panel-full-edit-tabs{margin-top:10px;min-height:250px;margin-left:-10px;margin-right:-10px;background-color:transparent;border-top:1px solid #000}.panel-full-edit-tabs .tabs .nav-tabs{margin:0;background:#303030;border-top:1px solid #555}.panel-full-edit-tabs .tabs .tab-content{display:none}.panel-full-edit-tabs .tab-content{overflow:visible;padding:15px}.panel-full-edit-tabs .nav-tabs>li>a{line-height:15px;padding-top:6px;padding-bottom:6px;font-size:.8rem}.grafana-target:last-child{border-bottom:1px solid #000}.grafana-target-inner{border-top:1px solid #000;border-left:1px solid #000;border-right:1px solid #000;background:#303030;width:100%}.grafana-target-onoff{padding:5px 7px;display:inline-block}.grafana-segment-list{list-style:none;margin:0;margin-right:90px;margin-left:30px}.grafana-segment-list>li{float:left}.grafana-segment-dropdown-menu{margin-bottom:70px}.grafana-target-segment{padding:8px 7px;font-weight:400;border-right:1px solid #050505;color:#c8c8c8;display:inline-block}.has-open-function .grafana-target-segment{padding-top:25px}.grafana-target-hidden .grafana-target-segment{color:#888}.grafana-target-segment:hover,.grafana-target-segment:focus{text-decoration:none}.grafana-target-segmenta:hover{background:#444}.grafana-target-function{background:#444}.grafana-target-function>a{color:#c8c8c8}.grafana-target-function>a:hover{color:#f2f2f2}.grafana-target-function.show-function-controls{padding-top:5px;min-width:100px;text-align:center}input[type=text].grafana-function-param-input{background:transparent;border:0;margin:0;padding:0}.grafana-target-controls-left{list-style:none;float:left;width:30px;margin:0}.grafana-target-controls{width:120px;float:right;list-style:none;margin:0;text-align:right}.grafana-target-controls>li{display:inline-block;white-space:nowrap}.grafana-target-controls a{padding:8px 7px;position:relative;top:8px;color:#c8c8c8;font-size:16px}.grafana-target-hidden .grafana-target-controls a{color:#888}.grafana-target-controls a:hover,.grafana-target-controls a:focus{text-decoration:none}input[type=text].grafana-target-text-input{padding:8px 7px;border:0;margin:0;background:transparent;float:left;color:#c8c8c8;border-radius:0}input[type=text].grafana-target-segment-input{border:0;border-right:1px solid #050505;margin:0;border-radius:0;padding:8px 4px}input[type=checkbox].grafana-target-option-checkbox{margin:0}select.grafana-target-segment-input{border:0;border-right:1px solid #050505;margin:0;border-radius:0;height:36px;padding:8px 5px}.grafana-target .dropdown{padding:0;margin:0}.graphite-func-controls{display:none;text-align:center}.graphite-func-controls .icon-arrow-left{float:left;position:relative;top:2px}.graphite-func-controls .icon-arrow-right{float:right;position:relative;top:2px}.graphite-func-controls .icon-remove{margin-left:10px}.grafana-target .popover-content{padding:0}.scrollable{max-height:300px;overflow:auto}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar:hover{height:8px}::-webkit-scrollbar-button:start:decrement,::-webkit-scrollbar-button:end:increment{display:none}::-webkit-scrollbar-button:horizontal:decrement{display:none}::-webkit-scrollbar-button:horizontal:increment{display:none}::-webkit-scrollbar-button:vertical:decrement{display:none}::-webkit-scrollbar-button:vertical:increment{display:none}::-webkit-scrollbar-button:horizontal:decrement:active{background-image:none}::-webkit-scrollbar-button:horizontal:increment:active{background-image:none}::-webkit-scrollbar-button:vertical:decrement:active{background-image:none}::-webkit-scrollbar-button:vertical:increment:active{background-image:none}::-webkit-scrollbar-track-piece{background-color:grayDark}::-webkit-scrollbar-thumb:vertical{height:50px;background:-webkit-gradient(linear,left top,right top,color-stop(0%,#3a3a3a),color-stop(100%,#222));border:1px solid #0d0d0d;border-top:1px solid #666;border-left:1px solid #666}::-webkit-scrollbar-thumb:horizontal{width:50px;background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#3a3a3a),color-stop(100%,#222));border:1px solid #1f1f1f;border-top:1px solid #666;border-left:1px solid #666}.sp-replacer{background:inherit;border:0;color:inherit}.sp-replacer:hover,.sp-replacer.sp-active{border-color:inherit;color:inherit}.sp-container{border-radius:0;background-color:#303030;border:0;padding:0}.sp-palette-container,.sp-picker-container{border:0}.sp-dd{display:none}.sp-preview{position:relative;width:15px;height:15px;border:0;margin-right:5px;float:left;z-index:0}.datapoints-warning{pointer:none;position:absolute;top:50%;left:50%;z-index:10;margin-top:-50px;margin-left:-100px;width:200px;text-align:center;cursor:auto;padding:10px}.grafana-version-footer{padding-top:15px;text-align:left} \ No newline at end of file diff --git a/app/dash/css/bootstrap.light.min.css b/app/dash/css/bootstrap.light.min.css deleted file mode 100644 index e34ec12..0000000 --- a/app/dash/css/bootstrap.light.min.css +++ /dev/null @@ -1,9 +0,0 @@ -/*! - * Bootstrap v2.3.2 - * - * Copyright 2013 Twitter, Inc - * Licensed under the Apache License v2.0 - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Designed and built with all the love in the world by @mdo and @fat. - */.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;content:"";line-height:0}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:hover,a:active{outline:0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{max-width:100%;width:auto\9;height:auto;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic}#map_canvas img,.google-maps img{max-width:none}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle}button,input{*overflow:visible;line-height:normal}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}label,select,button,input[type=button],input[type=reset],input[type=submit],input[type=radio],input[type=checkbox]{cursor:pointer}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-decoration,input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}textarea{overflow:auto;vertical-align:top}@media print{*{text-shadow:none!important;color:#000!important;background:transparent!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]: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}@page{margin:.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;color:#555;background-color:#eee}a{color:#01a6e6;text-decoration:none}a:hover,a:focus{color:#0181b3;text-decoration:underline}.img-rounded{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.img-polaroid{padding:4px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);-moz-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.img-circle{-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px}.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;content:"";line-height:0}.row:after{clear:both}[class*=span]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.span12{width:940px}.span11{width:860px}.span10{width:780px}.span9{width:700px}.span8{width:620px}.span7{width:540px}.span6{width:460px}.span5{width:380px}.span4{width:300px}.span3{width:220px}.span2{width:140px}.span1{width:60px}.offset12{margin-left:980px}.offset11{margin-left:900px}.offset10{margin-left:820px}.offset9{margin-left:740px}.offset8{margin-left:660px}.offset7{margin-left:580px}.offset6{margin-left:500px}.offset5{margin-left:420px}.offset4{margin-left:340px}.offset3{margin-left:260px}.offset2{margin-left:180px}.offset1{margin-left:100px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;content:"";line-height:0}.row-fluid:after{clear:both}.row-fluid [class*=span]{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;margin-left:2.127659574468085%;*margin-left:2.074468085106383%}.row-fluid [class*=span]:first-child{margin-left:0}.row-fluid .controls-row [class*=span]+[class*=span]{margin-left:2.127659574468085%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.48936170212765%;*width:91.43617021276594%}.row-fluid .span10{width:82.97872340425532%;*width:82.92553191489361%}.row-fluid .span9{width:74.46808510638297%;*width:74.41489361702126%}.row-fluid .span8{width:65.95744680851064%;*width:65.90425531914893%}.row-fluid .span7{width:57.44680851063829%;*width:57.39361702127659%}.row-fluid .span6{width:48.93617021276595%;*width:48.88297872340425%}.row-fluid .span5{width:40.42553191489362%;*width:40.37234042553192%}.row-fluid .span4{width:31.914893617021278%;*width:31.861702127659576%}.row-fluid .span3{width:23.404255319148934%;*width:23.351063829787233%}.row-fluid .span2{width:14.893617021276595%;*width:14.840425531914894%}.row-fluid .span1{width:6.382978723404255%;*width:6.329787234042553%}.row-fluid .offset12{margin-left:104.25531914893617%;*margin-left:104.14893617021275%}.row-fluid .offset12:first-child{margin-left:102.12765957446808%;*margin-left:102.02127659574467%}.row-fluid .offset11{margin-left:95.74468085106382%;*margin-left:95.6382978723404%}.row-fluid .offset11:first-child{margin-left:93.61702127659574%;*margin-left:93.51063829787232%}.row-fluid .offset10{margin-left:87.23404255319149%;*margin-left:87.12765957446807%}.row-fluid .offset10:first-child{margin-left:85.1063829787234%;*margin-left:84.99999999999999%}.row-fluid .offset9{margin-left:78.72340425531914%;*margin-left:78.61702127659572%}.row-fluid .offset9:first-child{margin-left:76.59574468085106%;*margin-left:76.48936170212764%}.row-fluid .offset8{margin-left:70.2127659574468%;*margin-left:70.10638297872339%}.row-fluid .offset8:first-child{margin-left:68.08510638297872%;*margin-left:67.9787234042553%}.row-fluid .offset7{margin-left:61.70212765957446%;*margin-left:61.59574468085106%}.row-fluid .offset7:first-child{margin-left:59.574468085106375%;*margin-left:59.46808510638297%}.row-fluid .offset6{margin-left:53.191489361702125%;*margin-left:53.085106382978715%}.row-fluid .offset6:first-child{margin-left:51.063829787234035%;*margin-left:50.95744680851063%}.row-fluid .offset5{margin-left:44.68085106382979%;*margin-left:44.57446808510638%}.row-fluid .offset5:first-child{margin-left:42.5531914893617%;*margin-left:42.4468085106383%}.row-fluid .offset4{margin-left:36.170212765957444%;*margin-left:36.06382978723405%}.row-fluid .offset4:first-child{margin-left:34.04255319148936%;*margin-left:33.93617021276596%}.row-fluid .offset3{margin-left:27.659574468085104%;*margin-left:27.5531914893617%}.row-fluid .offset3:first-child{margin-left:25.53191489361702%;*margin-left:25.425531914893618%}.row-fluid .offset2{margin-left:19.148936170212764%;*margin-left:19.04255319148936%}.row-fluid .offset2:first-child{margin-left:17.02127659574468%;*margin-left:16.914893617021278%}.row-fluid .offset1{margin-left:10.638297872340425%;*margin-left:10.53191489361702%}.row-fluid .offset1:first-child{margin-left:8.51063829787234%;*margin-left:8.404255319148938%}[class*=span].hide,.row-fluid [class*=span].hide{display:none}[class*=span].pull-right,.row-fluid [class*=span].pull-right{float:right}.container{margin-right:auto;margin-left:auto;*zoom:1}.container:before,.container:after{display:table;content:"";line-height:0}.container:after{clear:both}.container-fluid{padding-right:20px;padding-left:20px;*zoom:1}.container-fluid:before,.container-fluid:after{display:table;content:"";line-height:0}.container-fluid:after{clear:both}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:21px;font-weight:200;line-height:30px}small{font-size:85%}strong{font-weight:700}em{font-style:italic}cite{font-style:normal}.muted{color:#999}a.muted:hover,a.muted:focus{color:gray}.text-warning{color:#ff934b}a.text-warning:hover,a.text-warning:focus{color:#ff7518}.text-error{color:#ff7169}a.text-error:hover,a.text-error:focus{color:#ff4136}.text-info{color:#af78ca}a.text-info:hover,a.text-info:focus{color:#9954bb}.text-success{color:#3dd441}a.text-success:hover,a.text-success:focus{color:#28b62c}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}h1,h2,h3,h4,h5,h6{margin:10px 0;font-family:inherit;font-weight:700;line-height:20px;color:#222;text-rendering:optimizelegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:400;line-height:1;color:#999}h1,h2,h3{line-height:40px}h1{font-size:38.5px}h2{font-size:31.5px}h3{font-size:24.5px}h4{font-size:17.5px}h5{font-size:14px}h6{font-size:11.9px}h1 small{font-size:24.5px}h2 small{font-size:17.5px}h3 small{font-size:14px}h4 small{font-size:14px}.page-header{padding-bottom:9px;margin:20px 0 30px;border-bottom:1px solid #eee}ul,ol{padding:0;margin:0 0 10px 25px}ul ul,ul ol,ol ol,ol ul{margin-bottom:0}li{line-height:20px}ul.unstyled,ol.unstyled{margin-left:0;list-style:none}ul.inline,ol.inline{margin-left:0;list-style:none}ul.inline>li,ol.inline>li{display:inline-block;*display:inline;*zoom:1;padding-left:5px;padding-right:5px}dl{margin-bottom:20px}dt,dd{line-height:20px}dt{font-weight:700}dd{margin-left:10px}.dl-horizontal{*zoom:1}.dl-horizontal:before,.dl-horizontal:after{display:table;content:"";line-height:0}.dl-horizontal:after{clear:both}.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}hr{margin:20px 0;border:0;border-top:1px solid #eee;border-bottom:1px solid #fff}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999}abbr.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid #eee}blockquote p{margin-bottom:0;font-size:17.5px;font-weight:300;line-height:1.25}blockquote small{display:block;line-height:20px;color:#999}blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}blockquote.pull-right small:before{content:''}blockquote.pull-right small:after{content:'\00A0 \2014'}q:before,q:after,blockquote:before,blockquote:after{content:""}address{display:block;margin-bottom:20px;font-style:normal;line-height:20px}code,pre{padding:0 3px 2px;font-family:Menlo,Monaco,Consolas,"Courier New",monospace;font-size:12px;color:#333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}code{padding:2px 4px;color:#d14;background-color:#f7f7f9;border:1px solid #e1e1e8;white-space:nowrap}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:20px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}pre.prettyprint{margin-bottom:20px}pre code{padding:0;color:inherit;white-space:pre;white-space:pre-wrap;background-color:transparent;border:0}.pre-scrollable{max-height:340px;overflow-y:scroll}form{margin:0 0 20px}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:40px;color:#333;border:0;border-bottom:1px solid #e5e5e5}legend small{font-size:15px;color:#999}label,input,button,select,textarea{font-size:14px;font-weight:400;line-height:20px}input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}label{display:block;margin-bottom:5px}select,textarea,input[type=text],input[type=password],input[type=datetime],input[type=datetime-local],input[type=date],input[type=month],input[type=time],input[type=week],input[type=number],input[type=email],input[type=url],input[type=search],input[type=tel],input[type=color],.uneditable-input{display:inline-block;height:20px;padding:4px 6px;margin-bottom:10px;font-size:14px;line-height:20px;color:#020202;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;vertical-align:middle}input,textarea,.uneditable-input{width:206px}textarea{height:auto}textarea,input[type=text],input[type=password],input[type=datetime],input[type=datetime-local],input[type=date],input[type=month],input[type=time],input[type=week],input[type=number],input[type=email],input[type=url],input[type=search],input[type=tel],input[type=color],.uneditable-input{background-color:#fff;border:1px solid #999;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-moz-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 linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}textarea:focus,input[type=text]:focus,input[type=password]:focus,input[type=datetime]:focus,input[type=datetime-local]:focus,input[type=date]:focus,input[type=month]:focus,input[type=time]:focus,input[type=week]:focus,input[type=number]:focus,input[type=email]:focus,input[type=url]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=color]:focus,.uneditable-input:focus{border-color:rgba(82,168,236,.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(82,168,236,.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(82,168,236,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(82,168,236,.6)}input[type=radio],input[type=checkbox]{margin:4px 0 0;*margin-top:0;margin-top:1px \9;line-height:normal}input[type=file],input[type=image],input[type=submit],input[type=reset],input[type=button],input[type=radio],input[type=checkbox]{width:auto}select,input[type=file]{height:30px;*margin-top:4px;line-height:30px}select{width:220px;border:1px solid #999;background-color:#fff}select[multiple],select[size]{height:auto}select:focus,input[type=file]:focus,input[type=radio]:focus,input[type=checkbox]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.uneditable-input,.uneditable-textarea{color:#999;background-color:#fcfcfc;border-color:#999;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.025);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.025);box-shadow:inset 0 1px 2px rgba(0,0,0,.025);cursor:not-allowed}.uneditable-input{overflow:hidden;white-space:nowrap}.uneditable-textarea{width:auto;height:auto}input:-moz-placeholder,textarea:-moz-placeholder{color:#555}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#555}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#555}.radio,.checkbox{min-height:20px;padding-left:20px}.radio input[type=radio],.checkbox input[type=checkbox]{float:left;margin-left:-20px}.controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:5px}.radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle}.radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px}.input-mini{width:60px}.input-small{width:90px}.input-medium{width:150px}.input-large{width:210px}.input-xlarge{width:270px}.input-xxlarge{width:530px}input[class*=span],select[class*=span],textarea[class*=span],.uneditable-input[class*=span],.row-fluid input[class*=span],.row-fluid select[class*=span],.row-fluid textarea[class*=span],.row-fluid .uneditable-input[class*=span]{float:none;margin-left:0}.input-append input[class*=span],.input-append .uneditable-input[class*=span],.input-prepend input[class*=span],.input-prepend .uneditable-input[class*=span],.row-fluid input[class*=span],.row-fluid select[class*=span],.row-fluid textarea[class*=span],.row-fluid .uneditable-input[class*=span],.row-fluid .input-prepend [class*=span],.row-fluid .input-append [class*=span]{display:inline-block}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*=span]+[class*=span]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:926px}input.span11,textarea.span11,.uneditable-input.span11{width:846px}input.span10,textarea.span10,.uneditable-input.span10{width:766px}input.span9,textarea.span9,.uneditable-input.span9{width:686px}input.span8,textarea.span8,.uneditable-input.span8{width:606px}input.span7,textarea.span7,.uneditable-input.span7{width:526px}input.span6,textarea.span6,.uneditable-input.span6{width:446px}input.span5,textarea.span5,.uneditable-input.span5{width:366px}input.span4,textarea.span4,.uneditable-input.span4{width:286px}input.span3,textarea.span3,.uneditable-input.span3{width:206px}input.span2,textarea.span2,.uneditable-input.span2{width:126px}input.span1,textarea.span1,.uneditable-input.span1{width:46px}.controls-row{*zoom:1}.controls-row:before,.controls-row:after{display:table;content:"";line-height:0}.controls-row:after{clear:both}.controls-row [class*=span],.row-fluid .controls-row [class*=span]{float:left}.controls-row .checkbox[class*=span],.controls-row .radio[class*=span]{padding-top:5px}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#eee}input[type=radio][disabled],input[type=checkbox][disabled],input[type=radio][readonly],input[type=checkbox][readonly]{background-color:transparent}.control-group.warning .control-label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#ff934b}.control-group.warning .checkbox,.control-group.warning .radio,.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#ff934b}.control-group.warning input,.control-group.warning select,.control-group.warning textarea{border-color:#ff934b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#ff7518;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ffd0b1;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ffd0b1;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ffd0b1}.control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#ff934b;background-color:#ff7518;border-color:#ff934b}.control-group.error .control-label,.control-group.error .help-block,.control-group.error .help-inline{color:#ff7169}.control-group.error .checkbox,.control-group.error .radio,.control-group.error input,.control-group.error select,.control-group.error textarea{color:#ff7169}.control-group.error input,.control-group.error select,.control-group.error textarea{border-color:#ff7169;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#ff4136;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ffd2cf;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ffd2cf;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ffd2cf}.control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#ff7169;background-color:#ff4136;border-color:#ff7169}.control-group.success .control-label,.control-group.success .help-block,.control-group.success .help-inline{color:#3dd441}.control-group.success .checkbox,.control-group.success .radio,.control-group.success input,.control-group.success select,.control-group.success textarea{color:#3dd441}.control-group.success input,.control-group.success select,.control-group.success textarea{border-color:#3dd441;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#28b62c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #90e793;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #90e793;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #90e793}.control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#3dd441;background-color:#28b62c;border-color:#3dd441}.control-group.info .control-label,.control-group.info .help-block,.control-group.info .help-inline{color:#af78ca}.control-group.info .checkbox,.control-group.info .radio,.control-group.info input,.control-group.info select,.control-group.info textarea{color:#af78ca}.control-group.info input,.control-group.info select,.control-group.info textarea{border-color:#af78ca;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.control-group.info input:focus,.control-group.info select:focus,.control-group.info textarea:focus{border-color:#9954bb;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #dac1e7;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #dac1e7;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #dac1e7}.control-group.info .input-prepend .add-on,.control-group.info .input-append .add-on{color:#af78ca;background-color:#9954bb;border-color:#af78ca}input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#b94a48;border-color:#ee5f5b}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7}.form-actions{padding:19px 20px 20px;margin-top:20px;margin-bottom:20px;background-color:#f5f5f5;border-top:1px solid #e5e5e5;*zoom:1}.form-actions:before,.form-actions:after{display:table;content:"";line-height:0}.form-actions:after{clear:both}.help-block,.help-inline{color:#7b7b7b}.help-block{display:block;margin-bottom:10px}.help-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle;padding-left:5px}.input-append,.input-prepend{display:inline-block;margin-bottom:10px;vertical-align:middle;font-size:0;white-space:nowrap}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input,.input-append .dropdown-menu,.input-prepend .dropdown-menu,.input-append .popover,.input-prepend .popover{font-size:14px}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input{position:relative;margin-bottom:0;*margin-left:0;vertical-align:top;-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-append input:focus,.input-prepend input:focus,.input-append select:focus,.input-prepend select:focus,.input-append .uneditable-input:focus,.input-prepend .uneditable-input:focus{z-index:2}.input-append .add-on,.input-prepend .add-on{display:inline-block;width:auto;height:20px;min-width:16px;padding:4px 5px;font-size:14px;font-weight:400;line-height:20px;text-align:center;text-shadow:0 1px 0 #fff;background-color:#eee;border:1px solid #ccc}.input-append .add-on,.input-prepend .add-on,.input-append .btn,.input-prepend .btn,.input-append .btn-group>.dropdown-toggle,.input-prepend .btn-group>.dropdown-toggle{vertical-align:top;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-append .active,.input-prepend .active{background-color:#90e793;border-color:#28b62c}.input-prepend .add-on,.input-prepend .btn{margin-right:-1px}.input-prepend .add-on:first-child,.input-prepend .btn:first-child{-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-append input,.input-append select,.input-append .uneditable-input{-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-append input+.btn-group .btn:last-child,.input-append select+.btn-group .btn:last-child,.input-append .uneditable-input+.btn-group .btn:last-child{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-append .add-on,.input-append .btn,.input-append .btn-group{margin-left:-1px}.input-append .add-on:last-child,.input-append .btn:last-child,.input-append .btn-group:last-child>.dropdown-toggle{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-prepend.input-append input,.input-prepend.input-append select,.input-prepend.input-append .uneditable-input{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-prepend.input-append input+.btn-group .btn,.input-prepend.input-append select+.btn-group .btn,.input-prepend.input-append .uneditable-input+.btn-group .btn{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-prepend.input-append .add-on:first-child,.input-prepend.input-append .btn:first-child{margin-right:-1px;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-prepend.input-append .add-on:last-child,.input-prepend.input-append .btn:last-child{margin-left:-1px;-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-prepend.input-append .btn-group:first-child{margin-left:0}input.search-query{padding-right:14px;padding-right:4px \9;padding-left:14px;padding-left:4px \9;margin-bottom:0;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.form-search .input-append .search-query,.form-search .input-prepend .search-query{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.form-search .input-append .search-query{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search .input-append .btn{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .search-query{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .btn{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input,.form-search .input-prepend,.form-inline .input-prepend,.form-horizontal .input-prepend,.form-search .input-append,.form-inline .input-append,.form-horizontal .input-append{display:inline-block;*display:inline;*zoom:1;margin-bottom:0;vertical-align:middle}.form-search .hide,.form-inline .hide,.form-horizontal .hide{display:none}.form-search label,.form-inline label,.form-search .btn-group,.form-inline .btn-group{display:inline-block}.form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{margin-bottom:0}.form-search .radio,.form-search .checkbox,.form-inline .radio,.form-inline .checkbox{padding-left:0;margin-bottom:0;vertical-align:middle}.form-search .radio input[type=radio],.form-search .checkbox input[type=checkbox],.form-inline .radio input[type=radio],.form-inline .checkbox input[type=checkbox]{float:left;margin-right:3px;margin-left:0}.control-group{margin-bottom:10px}legend+.control-group{margin-top:20px;-webkit-margin-top-collapse:separate}.form-horizontal .control-group{margin-bottom:20px;*zoom:1}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;content:"";line-height:0}.form-horizontal .control-group:after{clear:both}.form-horizontal .control-label{float:left;width:160px;padding-top:5px;text-align:right}.form-horizontal .controls{*display:inline-block;*padding-left:20px;margin-left:180px;*margin-left:0}.form-horizontal .controls:first-child{*padding-left:180px}.form-horizontal .help-block{margin-bottom:0}.form-horizontal input+.help-block,.form-horizontal select+.help-block,.form-horizontal textarea+.help-block,.form-horizontal .uneditable-input+.help-block,.form-horizontal .input-prepend+.help-block,.form-horizontal .input-append+.help-block{margin-top:10px}.form-horizontal .form-actions{padding-left:180px}table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0}.table{width:100%;margin-bottom:20px}.table th,.table td{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid #ddd}.table th{font-weight:700}.table thead th{vertical-align:bottom}.table caption+thead tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child th,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0}.table tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#eee}.table-condensed th,.table-condensed td{padding:4px 5px}.table-bordered{border:1px solid #ddd;border-collapse:separate;*border-collapse:collapse;border-left:0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.table-bordered th,.table-bordered td{border-left:1px solid #ddd}.table-bordered caption+thead tr:first-child th,.table-bordered caption+tbody tr:first-child th,.table-bordered caption+tbody tr:first-child td,.table-bordered colgroup+thead tr:first-child th,.table-bordered colgroup+tbody tr:first-child th,.table-bordered colgroup+tbody tr:first-child td,.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0}.table-bordered thead:first-child tr:first-child>th:first-child,.table-bordered tbody:first-child tr:first-child>td:first-child,.table-bordered tbody:first-child tr:first-child>th:first-child{-webkit-border-top-left-radius:3px;-moz-border-radius-topleft:3px;border-top-left-radius:3px}.table-bordered thead:first-child tr:first-child>th:last-child,.table-bordered tbody:first-child tr:first-child>td:last-child,.table-bordered tbody:first-child tr:first-child>th:last-child{-webkit-border-top-right-radius:3px;-moz-border-radius-topright:3px;border-top-right-radius:3px}.table-bordered thead:last-child tr:last-child>th:first-child,.table-bordered tbody:last-child tr:last-child>td:first-child,.table-bordered tbody:last-child tr:last-child>th:first-child,.table-bordered tfoot:last-child tr:last-child>td:first-child,.table-bordered tfoot:last-child tr:last-child>th:first-child{-webkit-border-bottom-left-radius:3px;-moz-border-radius-bottomleft:3px;border-bottom-left-radius:3px}.table-bordered thead:last-child tr:last-child>th:last-child,.table-bordered tbody:last-child tr:last-child>td:last-child,.table-bordered tbody:last-child tr:last-child>th:last-child,.table-bordered tfoot:last-child tr:last-child>td:last-child,.table-bordered tfoot:last-child tr:last-child>th:last-child{-webkit-border-bottom-right-radius:3px;-moz-border-radius-bottomright:3px;border-bottom-right-radius:3px}.table-bordered tfoot+tbody:last-child tr:last-child td:first-child{-webkit-border-bottom-left-radius:0;-moz-border-radius-bottomleft:0;border-bottom-left-radius:0}.table-bordered tfoot+tbody:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:0;-moz-border-radius-bottomright:0;border-bottom-right-radius:0}.table-bordered caption+thead tr:first-child th:first-child,.table-bordered caption+tbody tr:first-child td:first-child,.table-bordered colgroup+thead tr:first-child th:first-child,.table-bordered colgroup+tbody tr:first-child td:first-child{-webkit-border-top-left-radius:3px;-moz-border-radius-topleft:3px;border-top-left-radius:3px}.table-bordered caption+thead tr:first-child th:last-child,.table-bordered caption+tbody tr:first-child td:last-child,.table-bordered colgroup+thead tr:first-child th:last-child,.table-bordered colgroup+tbody tr:first-child td:last-child{-webkit-border-top-right-radius:3px;-moz-border-radius-topright:3px;border-top-right-radius:3px}.table-striped tbody>tr:nth-child(odd)>td,.table-striped tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover tbody tr:hover>td,.table-hover tbody tr:hover>th{background-color:#e8f8fd}table td[class*=span],table th[class*=span],.row-fluid table td[class*=span],.row-fluid table th[class*=span]{display:table-cell;float:none;margin-left:0}.table td.span1,.table th.span1{float:none;width:44px;margin-left:0}.table td.span2,.table th.span2{float:none;width:124px;margin-left:0}.table td.span3,.table th.span3{float:none;width:204px;margin-left:0}.table td.span4,.table th.span4{float:none;width:284px;margin-left:0}.table td.span5,.table th.span5{float:none;width:364px;margin-left:0}.table td.span6,.table th.span6{float:none;width:444px;margin-left:0}.table td.span7,.table th.span7{float:none;width:524px;margin-left:0}.table td.span8,.table th.span8{float:none;width:604px;margin-left:0}.table td.span9,.table th.span9{float:none;width:684px;margin-left:0}.table td.span10,.table th.span10{float:none;width:764px;margin-left:0}.table td.span11,.table th.span11{float:none;width:844px;margin-left:0}.table td.span12,.table th.span12{float:none;width:924px;margin-left:0}.table tbody tr.success>td{background-color:#28b62c}.table tbody tr.error>td{background-color:#ff4136}.table tbody tr.warning>td{background-color:#ff7518}.table tbody tr.info>td{background-color:#9954bb}.table-hover tbody tr.success:hover>td{background-color:#23a127}.table-hover tbody tr.error:hover>td{background-color:#ff291c}.table-hover tbody tr.warning:hover>td{background-color:#fe6600}.table-hover tbody tr.info:hover>td{background-color:#8d46b0}[class^=icon-],[class*=" icon-"]{display:inline-block;width:14px;height:14px;*margin-right:.3em;line-height:14px;vertical-align:text-top;background-image:url(../img/glyphicons-halflings.png);background-position:14px 14px;background-repeat:no-repeat;margin-top:1px}.icon-white,.nav-pills>.active>a>[class^=icon-],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^=icon-],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^=icon-],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^=icon-],.dropdown-menu>li>a:focus>[class^=icon-],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>li>a:focus>[class*=" icon-"],.dropdown-menu>.active>a>[class^=icon-],.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^=icon-],.dropdown-submenu:focus>a>[class^=icon-],.dropdown-submenu:hover>a>[class*=" icon-"],.dropdown-submenu:focus>a>[class*=" icon-"]{background-image:url(../img/glyphicons-halflings-white.png)}.icon-glass{background-position:0 0}.icon-music{background-position:-24px 0}.icon-search{background-position:-48px 0}.icon-envelope{background-position:-72px 0}.icon-heart{background-position:-96px 0}.icon-star{background-position:-120px 0}.icon-star-empty{background-position:-144px 0}.icon-user{background-position:-168px 0}.icon-film{background-position:-192px 0}.icon-th-large{background-position:-216px 0}.icon-th{background-position:-240px 0}.icon-th-list{background-position:-264px 0}.icon-ok{background-position:-288px 0}.icon-remove{background-position:-312px 0}.icon-zoom-in{background-position:-336px 0}.icon-zoom-out{background-position:-360px 0}.icon-off{background-position:-384px 0}.icon-signal{background-position:-408px 0}.icon-cog{background-position:-432px 0}.icon-trash{background-position:-456px 0}.icon-home{background-position:0 -24px}.icon-file{background-position:-24px -24px}.icon-time{background-position:-48px -24px}.icon-road{background-position:-72px -24px}.icon-download-alt{background-position:-96px -24px}.icon-download{background-position:-120px -24px}.icon-upload{background-position:-144px -24px}.icon-inbox{background-position:-168px -24px}.icon-play-circle{background-position:-192px -24px}.icon-repeat{background-position:-216px -24px}.icon-refresh{background-position:-240px -24px}.icon-list-alt{background-position:-264px -24px}.icon-lock{background-position:-287px -24px}.icon-flag{background-position:-312px -24px}.icon-headphones{background-position:-336px -24px}.icon-volume-off{background-position:-360px -24px}.icon-volume-down{background-position:-384px -24px}.icon-volume-up{background-position:-408px -24px}.icon-qrcode{background-position:-432px -24px}.icon-barcode{background-position:-456px -24px}.icon-tag{background-position:0 -48px}.icon-tags{background-position:-25px -48px}.icon-book{background-position:-48px -48px}.icon-bookmark{background-position:-72px -48px}.icon-print{background-position:-96px -48px}.icon-camera{background-position:-120px -48px}.icon-font{background-position:-144px -48px}.icon-bold{background-position:-167px -48px}.icon-italic{background-position:-192px -48px}.icon-text-height{background-position:-216px -48px}.icon-text-width{background-position:-240px -48px}.icon-align-left{background-position:-264px -48px}.icon-align-center{background-position:-288px -48px}.icon-align-right{background-position:-312px -48px}.icon-align-justify{background-position:-336px -48px}.icon-list{background-position:-360px -48px}.icon-indent-left{background-position:-384px -48px}.icon-indent-right{background-position:-408px -48px}.icon-facetime-video{background-position:-432px -48px}.icon-picture{background-position:-456px -48px}.icon-pencil{background-position:0 -72px}.icon-map-marker{background-position:-24px -72px}.icon-adjust{background-position:-48px -72px}.icon-tint{background-position:-72px -72px}.icon-edit{background-position:-96px -72px}.icon-share{background-position:-120px -72px}.icon-check{background-position:-144px -72px}.icon-move{background-position:-168px -72px}.icon-step-backward{background-position:-192px -72px}.icon-fast-backward{background-position:-216px -72px}.icon-backward{background-position:-240px -72px}.icon-play{background-position:-264px -72px}.icon-pause{background-position:-288px -72px}.icon-stop{background-position:-312px -72px}.icon-forward{background-position:-336px -72px}.icon-fast-forward{background-position:-360px -72px}.icon-step-forward{background-position:-384px -72px}.icon-eject{background-position:-408px -72px}.icon-chevron-left{background-position:-432px -72px}.icon-chevron-right{background-position:-456px -72px}.icon-plus-sign{background-position:0 -96px}.icon-minus-sign{background-position:-24px -96px}.icon-remove-sign{background-position:-48px -96px}.icon-ok-sign{background-position:-72px -96px}.icon-question-sign{background-position:-96px -96px}.icon-info-sign{background-position:-120px -96px}.icon-screenshot{background-position:-144px -96px}.icon-remove-circle{background-position:-168px -96px}.icon-ok-circle{background-position:-192px -96px}.icon-ban-circle{background-position:-216px -96px}.icon-arrow-left{background-position:-240px -96px}.icon-arrow-right{background-position:-264px -96px}.icon-arrow-up{background-position:-289px -96px}.icon-arrow-down{background-position:-312px -96px}.icon-share-alt{background-position:-336px -96px}.icon-resize-full{background-position:-360px -96px}.icon-resize-small{background-position:-384px -96px}.icon-plus{background-position:-408px -96px}.icon-minus{background-position:-433px -96px}.icon-asterisk{background-position:-456px -96px}.icon-exclamation-sign{background-position:0 -120px}.icon-gift{background-position:-24px -120px}.icon-leaf{background-position:-48px -120px}.icon-fire{background-position:-72px -120px}.icon-eye-open{background-position:-96px -120px}.icon-eye-close{background-position:-120px -120px}.icon-warning-sign{background-position:-144px -120px}.icon-plane{background-position:-168px -120px}.icon-calendar{background-position:-192px -120px}.icon-random{background-position:-216px -120px;width:16px}.icon-comment{background-position:-240px -120px}.icon-magnet{background-position:-264px -120px}.icon-chevron-up{background-position:-288px -120px}.icon-chevron-down{background-position:-313px -119px}.icon-retweet{background-position:-336px -120px}.icon-shopping-cart{background-position:-360px -120px}.icon-folder-close{background-position:-384px -120px;width:16px}.icon-folder-open{background-position:-408px -120px;width:16px}.icon-resize-vertical{background-position:-432px -119px}.icon-resize-horizontal{background-position:-456px -118px}.icon-hdd{background-position:0 -144px}.icon-bullhorn{background-position:-24px -144px}.icon-bell{background-position:-48px -144px}.icon-certificate{background-position:-72px -144px}.icon-thumbs-up{background-position:-96px -144px}.icon-thumbs-down{background-position:-120px -144px}.icon-hand-right{background-position:-144px -144px}.icon-hand-left{background-position:-168px -144px}.icon-hand-up{background-position:-192px -144px}.icon-hand-down{background-position:-216px -144px}.icon-circle-arrow-right{background-position:-240px -144px}.icon-circle-arrow-left{background-position:-264px -144px}.icon-circle-arrow-up{background-position:-288px -144px}.icon-circle-arrow-down{background-position:-312px -144px}.icon-globe{background-position:-336px -144px}.icon-wrench{background-position:-360px -144px}.icon-tasks{background-position:-384px -144px}.icon-filter{background-position:-408px -144px}.icon-briefcase{background-position:-432px -144px}.icon-fullscreen{background-position:-456px -144px}.dropup,.dropdown{position:relative}.dropdown-toggle{*margin-bottom:-3px}.dropdown-toggle:active,.open .dropdown-toggle{outline:0}.caret{display:inline-block;width:0;height:0;vertical-align:top;border-top:4px solid #000;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.dropdown .caret{margin-top:8px;margin-left:2px}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);*border-right-width:2px;*border-bottom-width:2px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:20px;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus,.dropdown-submenu:hover>a,.dropdown-submenu:focus>a{text-decoration:none;color:#fff;background-color:#019fdc;background-image:-moz-linear-gradient(top,#01a6e6,#0194cd);background-image:-webkit-gradient(linear,0 0,0 100%,from(#01a6e6),to(#0194cd));background-image:-webkit-linear-gradient(top,#01a6e6,#0194cd);background-image:-o-linear-gradient(top,#01a6e6,#0194cd);background-image:linear-gradient(to bottom,#01a6e6,#0194cd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff01a6e6', endColorstr='#ff0194cd', GradientType=0)}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;outline:0;background-color:#019fdc;background-image:-moz-linear-gradient(top,#01a6e6,#0194cd);background-image:-webkit-gradient(linear,0 0,0 100%,from(#01a6e6),to(#0194cd));background-image:-webkit-linear-gradient(top,#01a6e6,#0194cd);background-image:-o-linear-gradient(top,#01a6e6,#0194cd);background-image:linear-gradient(to bottom,#01a6e6,#0194cd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff01a6e6', endColorstr='#ff0194cd', GradientType=0)}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#999}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);cursor:default}.open{*z-index:1000}.open>.dropdown-menu{display:block}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid #000;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;-webkit-border-radius:0 6px 6px;-moz-border-radius:0 6px 6px;border-radius:0 6px 6px}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropup .dropdown-submenu>.dropdown-menu{top:auto;bottom:0;margin-top:0;margin-bottom:-2px;-webkit-border-radius:5px 5px 5px 0;-moz-border-radius:5px 5px 5px 0;border-radius:5px 5px 5px 0}.dropdown-submenu>a:after{display:block;content:" ";float:right;width:0;height:0;border-color:transparent;border-style:solid;border-width:5px 0 5px 5px;border-left-color:#ccc;margin-top:5px;margin-right:-10px}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.dropdown .dropdown-menu .nav-header{padding-left:20px;padding-right:20px}.typeahead{z-index:1051;margin-top:2px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#eee;border:1px solid #ddd;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);-moz-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-large{padding:24px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.well-small{padding:9px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.fade{opacity:0;-webkit-transition:opacity .15s linear;-moz-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-moz-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.collapse.in{height:auto}.close{float:right;font-size:20px;font-weight:700;line-height:20px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.btn{display:inline-block;*display:inline;*zoom:1;padding:4px 12px;margin-bottom:0;font-size:14px;line-height:20px;text-align:center;vertical-align:middle;cursor:pointer;color:#333;text-shadow:0 1px 1px rgba(255,255,255,.75);background-color:#dfdfdf;background-image:-moz-linear-gradient(top,#eee,#c8c8c8);background-image:-webkit-gradient(linear,0 0,0 100%,from(#eee),to(#c8c8c8));background-image:-webkit-linear-gradient(top,#eee,#c8c8c8);background-image:-o-linear-gradient(top,#eee,#c8c8c8);background-image:linear-gradient(to bottom,#eee,#c8c8c8);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffeeeeee', endColorstr='#ffc8c8c8', GradientType=0);border-color:#c8c8c8 #c8c8c8 #a2a2a2;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);*background-color:#c8c8c8;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);border:1px solid #bbb;*border:0;border-bottom-color:#a2a2a2;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;*margin-left:.3em;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05)}.btn:hover,.btn:focus,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{color:#333;background-color:#c8c8c8;*background-color:#bbb}.btn:active,.btn.active{background-color:#afafaf \9}.btn:first-child{*margin-left:0}.btn:hover,.btn:focus{color:#333;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05)}.btn.disabled,.btn[disabled]{cursor:default;background-image:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-large{padding:22px 30px;font-size:17.5px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.btn-large [class^=icon-],.btn-large [class*=" icon-"]{margin-top:4px}.btn-small{padding:2px 10px;font-size:11.9px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.btn-small [class^=icon-],.btn-small [class*=" icon-"]{margin-top:0}.btn-mini [class^=icon-],.btn-mini [class*=" icon-"]{margin-top:-1px}.btn-mini{padding:2px 6px;font-size:10.5px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.btn-block{display:block;width:100%;padding-left:0;padding-right:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.btn-block+.btn-block{margin-top:5px}input[type=submit].btn-block,input[type=reset].btn-block,input[type=button].btn-block{width:100%}.btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active,.btn-inverse.active{color:rgba(255,255,255,.75)}.btn-primary{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#02a9ea;background-image:-moz-linear-gradient(top,#03b8fe,#0194cd);background-image:-webkit-gradient(linear,0 0,0 100%,from(#03b8fe),to(#0194cd));background-image:-webkit-linear-gradient(top,#03b8fe,#0194cd);background-image:-o-linear-gradient(top,#03b8fe,#0194cd);background-image:linear-gradient(to bottom,#03b8fe,#0194cd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff03b8fe', endColorstr='#ff0194cd', GradientType=0);border-color:#0194cd #0194cd #015d80;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);*background-color:#0194cd;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{color:#fff;background-color:#0194cd;*background-color:#0181b3}.btn-primary:active,.btn-primary.active{background-color:#016f9a \9}.btn-warning{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#fe781e;background-image:-moz-linear-gradient(top,#ff8432,#fe6600);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ff8432),to(#fe6600));background-image:-webkit-linear-gradient(top,#ff8432,#fe6600);background-image:-o-linear-gradient(top,#ff8432,#fe6600);background-image:linear-gradient(to bottom,#ff8432,#fe6600);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff8432', endColorstr='#fffe6600', GradientType=0);border-color:#fe6600 #fe6600 #b14700;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);*background-color:#fe6600;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{color:#fff;background-color:#fe6600;*background-color:#e45c00}.btn-warning:active,.btn-warning.active{background-color:#cb5200 \9}.btn-danger{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#ff463b;background-image:-moz-linear-gradient(top,#ff5950,#ff291c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ff5950),to(#ff291c));background-image:-webkit-linear-gradient(top,#ff5950,#ff291c);background-image:-o-linear-gradient(top,#ff5950,#ff291c);background-image:linear-gradient(to bottom,#ff5950,#ff291c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff5950', endColorstr='#ffff291c', GradientType=0);border-color:#ff291c #ff291c #cf0b00;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);*background-color:#ff291c;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{color:#fff;background-color:#ff291c;*background-color:#ff1103}.btn-danger:active,.btn-danger.active{background-color:#e80d00 \9}.btn-success{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#29ba2d;background-image:-moz-linear-gradient(top,#2dcb31,#23a127);background-image:-webkit-gradient(linear,0 0,0 100%,from(#2dcb31),to(#23a127));background-image:-webkit-linear-gradient(top,#2dcb31,#23a127);background-image:-o-linear-gradient(top,#2dcb31,#23a127);background-image:linear-gradient(to bottom,#2dcb31,#23a127);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff2dcb31', endColorstr='#ff23a127', GradientType=0);border-color:#23a127 #23a127 #166218;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);*background-color:#23a127;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{color:#fff;background-color:#23a127;*background-color:#1f8c22}.btn-success:active,.btn-success.active{background-color:#1a771d \9}.btn-info{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#9b59bb;background-image:-moz-linear-gradient(top,#a466c2,#8d46b0);background-image:-webkit-gradient(linear,0 0,0 100%,from(#a466c2),to(#8d46b0));background-image:-webkit-linear-gradient(top,#a466c2,#8d46b0);background-image:-o-linear-gradient(top,#a466c2,#8d46b0);background-image:linear-gradient(to bottom,#a466c2,#8d46b0);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffa466c2', endColorstr='#ff8d46b0', GradientType=0);border-color:#8d46b0 #8d46b0 #613079;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);*background-color:#8d46b0;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{color:#fff;background-color:#8d46b0;*background-color:#7e3f9d}.btn-info:active,.btn-info.active{background-color:#6f378b \9}.btn-inverse{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#080808;background-image:-moz-linear-gradient(top,#0d0d0d,#000);background-image:-webkit-gradient(linear,0 0,0 100%,from(#0d0d0d),to(#000));background-image:-webkit-linear-gradient(top,#0d0d0d,#000);background-image:-o-linear-gradient(top,#0d0d0d,#000);background-image:linear-gradient(to bottom,#0d0d0d,#000);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0d0d0d', endColorstr='#ff000000', GradientType=0);border-color:#000;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);*background-color:#000;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-inverse:hover,.btn-inverse:focus,.btn-inverse:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{color:#fff;background-color:#000;*background-color:#000}.btn-inverse:active,.btn-inverse.active{background-color:#000 \9}button.btn,input[type=submit].btn{*padding-top:3px;*padding-bottom:3px}button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;border:0}button.btn.btn-large,input[type=submit].btn.btn-large{*padding-top:7px;*padding-bottom:7px}button.btn.btn-small,input[type=submit].btn.btn-small{*padding-top:3px;*padding-bottom:3px}button.btn.btn-mini,input[type=submit].btn.btn-mini{*padding-top:1px;*padding-bottom:1px}.btn-link,.btn-link:active,.btn-link[disabled]{background-color:transparent;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-link{border-color:transparent;cursor:pointer;color:#01a6e6;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-link:hover,.btn-link:focus{color:#0181b3;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,.btn-link[disabled]:focus{color:#333;text-decoration:none}.btn-group{position:relative;display:inline-block;*display:inline;*zoom:1;font-size:0;vertical-align:middle;white-space:nowrap;*margin-left:.3em}.btn-group:first-child{*margin-left:0}.btn-group+.btn-group{margin-left:5px}.btn-toolbar{font-size:0;margin-top:10px;margin-bottom:10px}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group{margin-left:5px}.btn-group>.btn{position:relative;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group>.btn+.btn{margin-left:-1px}.btn-group>.btn,.btn-group>.dropdown-menu,.btn-group>.popover{font-size:14px}.btn-group>.btn-mini{font-size:10.5px}.btn-group>.btn-small{font-size:11.9px}.btn-group>.btn-large{font-size:17.5px}.btn-group>.btn:first-child{margin-left:0;-webkit-border-top-left-radius:3px;-moz-border-radius-topleft:3px;border-top-left-radius:3px;-webkit-border-bottom-left-radius:3px;-moz-border-radius-bottomleft:3px;border-bottom-left-radius:3px}.btn-group>.btn:last-child,.btn-group>.dropdown-toggle{-webkit-border-top-right-radius:3px;-moz-border-radius-topright:3px;border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;-moz-border-radius-bottomright:3px;border-bottom-right-radius:3px}.btn-group>.btn.large:first-child{margin-left:0;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px}.btn-group>.btn.large:last-child,.btn-group>.large.dropdown-toggle{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active{z-index:2}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,.125),inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,.125),inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 1px 0 0 rgba(255,255,255,.125),inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);*padding-top:5px;*padding-bottom:5px}.btn-group>.btn-mini+.dropdown-toggle{padding-left:5px;padding-right:5px;*padding-top:2px;*padding-bottom:2px}.btn-group>.btn-small+.dropdown-toggle{*padding-top:5px;*padding-bottom:4px}.btn-group>.btn-large+.dropdown-toggle{padding-left:12px;padding-right:12px;*padding-top:7px;*padding-bottom:7px}.btn-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05)}.btn-group.open .btn.dropdown-toggle{background-color:#c8c8c8}.btn-group.open .btn-primary.dropdown-toggle{background-color:#0194cd}.btn-group.open .btn-warning.dropdown-toggle{background-color:#fe6600}.btn-group.open .btn-danger.dropdown-toggle{background-color:#ff291c}.btn-group.open .btn-success.dropdown-toggle{background-color:#23a127}.btn-group.open .btn-info.dropdown-toggle{background-color:#8d46b0}.btn-group.open .btn-inverse.dropdown-toggle{background-color:#000}.btn .caret{margin-top:8px;margin-left:0}.btn-large .caret{margin-top:6px}.btn-large .caret{border-left-width:5px;border-right-width:5px;border-top-width:5px}.btn-mini .caret,.btn-small .caret{margin-top:8px}.dropup .btn-large .caret{border-bottom-width:5px}.btn-primary .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret,.btn-inverse .caret{border-top-color:#fff;border-bottom-color:#fff}.btn-group-vertical{display:inline-block;*display:inline;*zoom:1}.btn-group-vertical>.btn{display:block;float:none;max-width:100%;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group-vertical>.btn+.btn{margin-left:0;margin-top:-1px}.btn-group-vertical>.btn:first-child{-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0}.btn-group-vertical>.btn:last-child{-webkit-border-radius:0 0 3px 3px;-moz-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px}.btn-group-vertical>.btn-large:first-child{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.btn-group-vertical>.btn-large:last-child{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.alert{padding:8px 35px 8px 14px;margin-bottom:20px;text-shadow:0 1px 0 rgba(255,255,255,.5);background-color:#ff7518;border:1px solid transparent;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.alert,.alert h4{color:#ff934b}.alert h4{margin:0}.alert .close{position:relative;top:-2px;right:-21px;line-height:20px}.alert-success{background-color:#28b62c;border-color:transparent;color:#3dd441}.alert-success h4{color:#3dd441}.alert-danger,.alert-error{background-color:#ff4136;border-color:transparent;color:#ff7169}.alert-danger h4,.alert-error h4{color:#ff7169}.alert-info{background-color:#9954bb;border-color:transparent;color:#af78ca}.alert-info h4{color:#af78ca}.alert-block{padding-top:14px;padding-bottom:14px}.alert-block>p,.alert-block>ul{margin-bottom:0}.alert-block p+p{margin-top:5px}.nav{margin-left:0;margin-bottom:20px;list-style:none}.nav>li>a{display:block}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li>a>img{max-width:none}.nav>.pull-right{float:right}.nav-header{display:block;padding:3px 15px;font-size:11px;font-weight:700;line-height:20px;color:#999;text-shadow:0 1px 0 rgba(255,255,255,.5);text-transform:uppercase}.nav li+.nav-header{margin-top:9px}.nav-list{padding-left:15px;padding-right:15px;margin-bottom:0}.nav-list>li>a,.nav-list .nav-header{margin-left:-15px;margin-right:-15px;text-shadow:0 1px 0 rgba(255,255,255,.5)}.nav-list>li>a{padding:3px 15px}.nav-list>.active>a,.nav-list>.active>a:hover,.nav-list>.active>a:focus{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.2);background-color:#01a6e6}.nav-list [class^=icon-],.nav-list [class*=" icon-"]{margin-right:2px}.nav-list .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.nav-tabs,.nav-pills{*zoom:1}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;content:"";line-height:0}.nav-tabs:after,.nav-pills:after{clear:both}.nav-tabs>li,.nav-pills>li{float:left}.nav-tabs>li>a,.nav-pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{margin-bottom:-1px}.nav-tabs>li>a{padding-top:8px;padding-bottom:8px;line-height:20px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover,.nav-tabs>li>a:focus{border-color:#eee #eee #ddd}.nav-tabs>.active>a,.nav-tabs>.active>a:hover,.nav-tabs>.active>a:focus{color:#555;background-color:#eee;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.nav-pills>li>a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.nav-pills>.active>a,.nav-pills>.active>a:hover,.nav-pills>.active>a:focus{color:#fff;background-color:#01a6e6}.nav-stacked>li{float:none}.nav-stacked>li>a{margin-right:0}.nav-tabs.nav-stacked{border-bottom:0}.nav-tabs.nav-stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.nav-tabs.nav-stacked>li:first-child>a{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px}.nav-tabs.nav-stacked>li:last-child>a{-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px}.nav-tabs.nav-stacked>li>a:hover,.nav-tabs.nav-stacked>li>a:focus{border-color:#ddd;z-index:2}.nav-pills.nav-stacked>li>a{margin-bottom:3px}.nav-pills.nav-stacked>li:last-child>a{margin-bottom:1px}.nav-tabs .dropdown-menu{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.nav-pills .dropdown-menu{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.nav .dropdown-toggle .caret{border-top-color:#01a6e6;border-bottom-color:#01a6e6;margin-top:6px}.nav .dropdown-toggle:hover .caret,.nav .dropdown-toggle:focus .caret{border-top-color:#0181b3;border-bottom-color:#0181b3}.nav-tabs .dropdown-toggle .caret{margin-top:8px}.nav .active .dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.nav-tabs .active .dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.nav>.dropdown.active>a:hover,.nav>.dropdown.active>a:focus{cursor:pointer}.nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav>li.dropdown.open.active>a:hover,.nav>li.dropdown.open.active>a:focus{color:#fff;background-color:#999;border-color:#999}.nav li.dropdown.open .caret,.nav li.dropdown.open.active .caret,.nav li.dropdown.open a:hover .caret,.nav li.dropdown.open a:focus .caret{border-top-color:#fff;border-bottom-color:#fff;opacity:1;filter:alpha(opacity=100)}.tabs-stacked .open>a:hover,.tabs-stacked .open>a:focus{border-color:#999}.tabbable{*zoom:1}.tabbable:before,.tabbable:after{display:table;content:"";line-height:0}.tabbable:after{clear:both}.tab-content{overflow:auto}.tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs{border-bottom:0}.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}.tab-content>.active,.pill-content>.active{display:block}.tabs-below>.nav-tabs{border-top:1px solid #ddd}.tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0}.tabs-below>.nav-tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.tabs-below>.nav-tabs>li>a:hover,.tabs-below>.nav-tabs>li>a:focus{border-bottom-color:transparent;border-top-color:#ddd}.tabs-below>.nav-tabs>.active>a,.tabs-below>.nav-tabs>.active>a:hover,.tabs-below>.nav-tabs>.active>a:focus{border-color:transparent #ddd #ddd}.tabs-left>.nav-tabs>li,.tabs-right>.nav-tabs>li{float:none}.tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px}.tabs-left>.nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd}.tabs-left>.nav-tabs>li>a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.tabs-left>.nav-tabs>li>a:hover,.tabs-left>.nav-tabs>li>a:focus{border-color:#eee #ddd #eee #eee}.tabs-left>.nav-tabs .active>a,.tabs-left>.nav-tabs .active>a:hover,.tabs-left>.nav-tabs .active>a:focus{border-color:#ddd transparent #ddd #ddd;*border-right-color:#fff}.tabs-right>.nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd}.tabs-right>.nav-tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.tabs-right>.nav-tabs>li>a:hover,.tabs-right>.nav-tabs>li>a:focus{border-color:#eee #eee #eee #ddd}.tabs-right>.nav-tabs .active>a,.tabs-right>.nav-tabs .active>a:hover,.tabs-right>.nav-tabs .active>a:focus{border-color:#ddd #ddd #ddd transparent;*border-left-color:#fff}.nav>.disabled>a{color:#999}.nav>.disabled>a:hover,.nav>.disabled>a:focus{text-decoration:none;background-color:transparent;cursor:default}.navbar{overflow:visible;margin-bottom:20px;*position:relative;*z-index:2}.navbar-inner{min-height:50px;padding-left:20px;padding-right:20px;background-color:#f8f8f8;background-image:-moz-linear-gradient(top,#f8f8f8,#f8f8f8);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f8f8f8),to(#f8f8f8));background-image:-webkit-linear-gradient(top,#f8f8f8,#f8f8f8);background-image:-o-linear-gradient(top,#f8f8f8,#f8f8f8);background-image:linear-gradient(to bottom,#f8f8f8,#f8f8f8);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff8f8f8', endColorstr='#fff8f8f8', GradientType=0);border:1px solid #e7e7e7;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 4px rgba(0,0,0,.065);-moz-box-shadow:0 1px 4px rgba(0,0,0,.065);box-shadow:0 1px 4px rgba(0,0,0,.065);*zoom:1}.navbar-inner:before,.navbar-inner:after{display:table;content:"";line-height:0}.navbar-inner:after{clear:both}.navbar .container{width:auto}.nav-collapse.collapse{height:auto;overflow:visible}.navbar .brand{float:left;display:block;padding:15px 20px;margin-left:-20px;font-size:20px;font-weight:200;color:#666;text-shadow:0 1px 0 #f8f8f8}.navbar .brand:hover,.navbar .brand:focus{text-decoration:none}.navbar-text{margin-bottom:0;line-height:50px;color:#666}.navbar-link{color:#666}.navbar-link:hover,.navbar-link:focus{color:#333}.navbar .divider-vertical{height:50px;margin:0 9px;border-left:1px solid #f8f8f8;border-right:1px solid #f8f8f8}.navbar .btn,.navbar .btn-group{margin-top:10px}.navbar .btn-group .btn,.navbar .input-prepend .btn,.navbar .input-append .btn,.navbar .input-prepend .btn-group,.navbar .input-append .btn-group{margin-top:0}.navbar-form{margin-bottom:0;*zoom:1}.navbar-form:before,.navbar-form:after{display:table;content:"";line-height:0}.navbar-form:after{clear:both}.navbar-form input,.navbar-form select,.navbar-form .radio,.navbar-form .checkbox{margin-top:10px}.navbar-form input,.navbar-form select,.navbar-form .btn{display:inline-block;margin-bottom:0}.navbar-form input[type=image],.navbar-form input[type=checkbox],.navbar-form input[type=radio]{margin-top:3px}.navbar-form .input-append,.navbar-form .input-prepend{margin-top:5px;white-space:nowrap}.navbar-form .input-append input,.navbar-form .input-prepend input{margin-top:0}.navbar-search{position:relative;float:left;margin-top:10px;margin-bottom:0}.navbar-search .search-query{margin-bottom:0;padding:4px 14px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:400;line-height:1;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.navbar-static-top{position:static;margin-bottom:0}.navbar-static-top .navbar-inner{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;margin-bottom:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{border-width:0 0 1px}.navbar-fixed-bottom .navbar-inner{border-width:1px 0 0}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding-left:0;padding-right:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.navbar-fixed-top{top:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{-webkit-box-shadow:0 1px 10px rgba(0,0,0,.1);-moz-box-shadow:0 1px 10px rgba(0,0,0,.1);box-shadow:0 1px 10px rgba(0,0,0,.1)}.navbar-fixed-bottom{bottom:0}.navbar-fixed-bottom .navbar-inner{-webkit-box-shadow:0 -1px 10px rgba(0,0,0,.1);-moz-box-shadow:0 -1px 10px rgba(0,0,0,.1);box-shadow:0 -1px 10px rgba(0,0,0,.1)}.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0}.navbar .nav.pull-right{float:right;margin-right:0}.navbar .nav>li{float:left}.navbar .nav>li>a{float:none;padding:15px;color:#666;text-decoration:none;text-shadow:0 1px 0 #f8f8f8}.navbar .nav .dropdown-toggle .caret{margin-top:8px}.navbar .nav>li>a:focus,.navbar .nav>li>a:hover{background-color:transparent;color:#333;text-decoration:none}.navbar .nav>.active>a,.navbar .nav>.active>a:hover,.navbar .nav>.active>a:focus{color:#555;text-decoration:none;background-color:#e7e7e7;-webkit-box-shadow:inset 0 3px 8px rgba(0,0,0,.125);-moz-box-shadow:inset 0 3px 8px rgba(0,0,0,.125);box-shadow:inset 0 3px 8px rgba(0,0,0,.125)}.navbar .btn-navbar{display:none;float:right;padding:7px 10px;margin-left:5px;margin-right:5px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#ebebeb;background-image:-moz-linear-gradient(top,#ebebeb,#ebebeb);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ebebeb),to(#ebebeb));background-image:-webkit-linear-gradient(top,#ebebeb,#ebebeb);background-image:-o-linear-gradient(top,#ebebeb,#ebebeb);background-image:linear-gradient(to bottom,#ebebeb,#ebebeb);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#ffebebeb', GradientType=0);border-color:#ebebeb #ebebeb #c5c5c5;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);*background-color:#ebebeb;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.075);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.075)}.navbar .btn-navbar:hover,.navbar .btn-navbar:focus,.navbar .btn-navbar:active,.navbar .btn-navbar.active,.navbar .btn-navbar.disabled,.navbar .btn-navbar[disabled]{color:#fff;background-color:#ebebeb;*background-color:#dedede}.navbar .btn-navbar:active,.navbar .btn-navbar.active{background-color:#d2d2d2 \9}.navbar .btn-navbar .icon-bar{display:block;width:18px;height:2px;background-color:#f5f5f5;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.25);-moz-box-shadow:0 1px 0 rgba(0,0,0,.25);box-shadow:0 1px 0 rgba(0,0,0,.25)}.btn-navbar .icon-bar+.icon-bar{margin-top:3px}.navbar .nav>li>.dropdown-menu:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0,0,0,.2);position:absolute;top:-7px;left:9px}.navbar .nav>li>.dropdown-menu:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;position:absolute;top:-6px;left:10px}.navbar-fixed-bottom .nav>li>.dropdown-menu:before{border-top:7px solid #ccc;border-top-color:rgba(0,0,0,.2);border-bottom:0;bottom:-7px;top:auto}.navbar-fixed-bottom .nav>li>.dropdown-menu:after{border-top:6px solid #fff;border-bottom:0;bottom:-6px;top:auto}.navbar .nav li.dropdown>a:hover .caret,.navbar .nav li.dropdown>a:focus .caret{border-top-color:#333;border-bottom-color:#333}.navbar .nav li.dropdown.open>.dropdown-toggle,.navbar .nav li.dropdown.active>.dropdown-toggle,.navbar .nav li.dropdown.open.active>.dropdown-toggle{background-color:#e7e7e7;color:#555}.navbar .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#666;border-bottom-color:#666}.navbar .nav li.dropdown.open>.dropdown-toggle .caret,.navbar .nav li.dropdown.active>.dropdown-toggle .caret,.navbar .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.navbar .pull-right>li>.dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right{left:auto;right:0}.navbar .pull-right>li>.dropdown-menu:before,.navbar .nav>li>.dropdown-menu.pull-right:before{left:auto;right:12px}.navbar .pull-right>li>.dropdown-menu:after,.navbar .nav>li>.dropdown-menu.pull-right:after{left:auto;right:13px}.navbar .pull-right>li>.dropdown-menu .dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right .dropdown-menu{left:auto;right:100%;margin-left:0;margin-right:-1px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.navbar-inverse .navbar-inner{background-color:#01a6e6;background-image:-moz-linear-gradient(top,#01a6e6,#01a6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#01a6e6),to(#01a6e6));background-image:-webkit-linear-gradient(top,#01a6e6,#01a6e6);background-image:-o-linear-gradient(top,#01a6e6,#01a6e6);background-image:linear-gradient(to bottom,#01a6e6,#01a6e6);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff01a6e6', endColorstr='#ff01a6e6', GradientType=0);border-color:transparent}.navbar-inverse .brand,.navbar-inverse .nav>li>a{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.navbar-inverse .brand:hover,.navbar-inverse .nav>li>a:hover,.navbar-inverse .brand:focus,.navbar-inverse .nav>li>a:focus{color:#fff}.navbar-inverse .brand{color:#fff}.navbar-inverse .navbar-text{color:#fff}.navbar-inverse .nav>li>a:focus,.navbar-inverse .nav>li>a:hover{background-color:rgba(0,0,0,.05);color:#fff}.navbar-inverse .nav .active>a,.navbar-inverse .nav .active>a:hover,.navbar-inverse .nav .active>a:focus{color:#fff;background-color:#01a6e6}.navbar-inverse .navbar-link{color:#fff}.navbar-inverse .navbar-link:hover,.navbar-inverse .navbar-link:focus{color:#fff}.navbar-inverse .divider-vertical{border-left-color:#01a6e6;border-right-color:#01a6e6}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle{background-color:#01a6e6;color:#fff}.navbar-inverse .nav li.dropdown>a:hover .caret,.navbar-inverse .nav li.dropdown>a:focus .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .navbar-search .search-query{color:#fff;background-color:#68d4fe;border-color:#01a6e6;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1),0 1px 0 rgba(255,255,255,.15);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.1),0 1px 0 rgba(255,255,255,.15);box-shadow:inset 0 1px 2px rgba(0,0,0,.1),0 1px 0 rgba(255,255,255,.15);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.navbar-inverse .navbar-search .search-query:-moz-placeholder{color:#333}.navbar-inverse .navbar-search .search-query:-ms-input-placeholder{color:#333}.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder{color:#333}.navbar-inverse .navbar-search .search-query:focus,.navbar-inverse .navbar-search .search-query.focused{padding:5px 15px;color:#333;text-shadow:0 1px 0 #fff;background-color:#fff;border:0;-webkit-box-shadow:0 0 3px rgba(0,0,0,.15);-moz-box-shadow:0 0 3px rgba(0,0,0,.15);box-shadow:0 0 3px rgba(0,0,0,.15);outline:0}.navbar-inverse .btn-navbar{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#0194cd;background-image:-moz-linear-gradient(top,#0194cd,#0194cd);background-image:-webkit-gradient(linear,0 0,0 100%,from(#0194cd),to(#0194cd));background-image:-webkit-linear-gradient(top,#0194cd,#0194cd);background-image:-o-linear-gradient(top,#0194cd,#0194cd);background-image:linear-gradient(to bottom,#0194cd,#0194cd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0194cd', endColorstr='#ff0194cd', GradientType=0);border-color:#0194cd #0194cd #015d80;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);*background-color:#0194cd;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.navbar-inverse .btn-navbar:hover,.navbar-inverse .btn-navbar:focus,.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active,.navbar-inverse .btn-navbar.disabled,.navbar-inverse .btn-navbar[disabled]{color:#fff;background-color:#0194cd;*background-color:#0181b3}.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active{background-color:#016f9a \9}.breadcrumb{padding:8px 15px;margin:0 0 20px;list-style:none;background-color:#f5f5f5;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.breadcrumb>li{display:inline-block;*display:inline;*zoom:1;text-shadow:0 1px 0 #fff}.breadcrumb>li>.divider{padding:0 5px;color:#ccc}.breadcrumb>.active{color:#999}.pagination{margin:20px 0}.pagination ul{display:inline-block;*display:inline;*zoom:1;margin-left:0;margin-bottom:0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.pagination ul>li{display:inline}.pagination ul>li>a,.pagination ul>li>span{float:left;padding:4px 12px;line-height:20px;text-decoration:none;background-color:#999;border:1px solid transparent;border-left-width:0}.pagination ul>li>a:hover,.pagination ul>li>a:focus,.pagination ul>.active>a,.pagination ul>.active>span{background-color:#01a6e6}.pagination ul>.active>a,.pagination ul>.active>span{color:#999;cursor:default}.pagination ul>.disabled>span,.pagination ul>.disabled>a,.pagination ul>.disabled>a:hover,.pagination ul>.disabled>a:focus{color:#999;background-color:transparent;cursor:default}.pagination ul>li:first-child>a,.pagination ul>li:first-child>span{border-left-width:1px;-webkit-border-top-left-radius:3px;-moz-border-radius-topleft:3px;border-top-left-radius:3px;-webkit-border-bottom-left-radius:3px;-moz-border-radius-bottomleft:3px;border-bottom-left-radius:3px}.pagination ul>li:last-child>a,.pagination ul>li:last-child>span{-webkit-border-top-right-radius:3px;-moz-border-radius-topright:3px;border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;-moz-border-radius-bottomright:3px;border-bottom-right-radius:3px}.pagination-centered{text-align:center}.pagination-right{text-align:right}.pagination-large ul>li>a,.pagination-large ul>li>span{padding:22px 30px;font-size:17.5px}.pagination-large ul>li:first-child>a,.pagination-large ul>li:first-child>span{-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px}.pagination-large ul>li:last-child>a,.pagination-large ul>li:last-child>span{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px}.pagination-mini ul>li:first-child>a,.pagination-small ul>li:first-child>a,.pagination-mini ul>li:first-child>span,.pagination-small ul>li:first-child>span{-webkit-border-top-left-radius:2px;-moz-border-radius-topleft:2px;border-top-left-radius:2px;-webkit-border-bottom-left-radius:2px;-moz-border-radius-bottomleft:2px;border-bottom-left-radius:2px}.pagination-mini ul>li:last-child>a,.pagination-small ul>li:last-child>a,.pagination-mini ul>li:last-child>span,.pagination-small ul>li:last-child>span{-webkit-border-top-right-radius:2px;-moz-border-radius-topright:2px;border-top-right-radius:2px;-webkit-border-bottom-right-radius:2px;-moz-border-radius-bottomright:2px;border-bottom-right-radius:2px}.pagination-small ul>li>a,.pagination-small ul>li>span{padding:2px 10px;font-size:11.9px}.pagination-mini ul>li>a,.pagination-mini ul>li>span{padding:2px 6px;font-size:10.5px}.pager{margin:20px 0;list-style:none;text-align:center;*zoom:1}.pager:before,.pager:after{display:table;content:"";line-height:0}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#f5f5f5}.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:#999;background-color:#fff;cursor:default}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop,.modal-backdrop.fade.in{opacity:.8;filter:alpha(opacity=80)}.modal{position:absolute;z-index:1050;width:100%;background-color:#fff;-webkit-box-shadow:0 3px 7px rgba(0,0,0,.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,.3);box-shadow:0 3px 7px rgba(0,0,0,.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;outline:0}.modal.fade{-webkit-transition:opacity .3s linear,top .3s ease-out;-moz-transition:opacity .3s linear,top .3s ease-out;-o-transition:opacity .3s linear,top .3s ease-out;transition:opacity .3s linear,top .3s ease-out;top:-25%}.modal.fade.in{top:10%}.modal-header{padding:9px 15px;border-bottom:1px solid #eee}.modal-header .close{margin-top:2px}.modal-header h3{margin:0;line-height:30px}.modal-body{position:relative;overflow-y:auto;padding:15px}.modal-form{margin-bottom:0}.modal-footer{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-box-shadow:inset 0 1px 0 #fff;-moz-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff;*zoom:1}.modal-footer:before,.modal-footer:after{display:table;content:"";line-height:0}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.tooltip{position:absolute;z-index:1030;display:block;visibility:visible;font-size:11px;line-height:1.4;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.8;filter:alpha(opacity=80)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.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.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}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;background-color:#fff;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);white-space:normal}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:14px;font-weight:400;line-height:18px;background-color:#fff;border-bottom:1px solid #f2f2f2;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.popover-title:empty{display:none}.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:16px}.popover .arrow:after{border-width:15px;content:""}.popover.top .arrow{left:50%;margin-left:-16px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,.25);bottom:-16px}.popover.top .arrow:after{bottom:1px;margin-left:-15px;border-bottom-width:0;border-top-color:#fff}.popover.right .arrow{top:50%;left:-16px;margin-top:-16px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,.25)}.popover.right .arrow:after{left:1px;bottom:-15px;border-left-width:0;border-right-color:#fff}.popover.bottom .arrow{left:50%;margin-left:-16px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);top:-16px}.popover.bottom .arrow:after{top:1px;margin-left:-15px;border-top-width:0;border-bottom-color:#fff}.popover.left .arrow{top:50%;right:-16px;margin-top:-16px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left .arrow:after{right:1px;border-right-width:0;border-left-color:#fff;bottom:-15px}.thumbnails{margin-left:-20px;list-style:none;*zoom:1}.thumbnails:before,.thumbnails:after{display:table;content:"";line-height:0}.thumbnails:after{clear:both}.row-fluid .thumbnails{margin-left:0}.thumbnails>li{float:left;margin-bottom:20px;margin-left:20px}.thumbnail{display:block;padding:4px;line-height:20px;border:1px solid #ddd;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.055);-moz-box-shadow:0 1px 3px rgba(0,0,0,.055);box-shadow:0 1px 3px rgba(0,0,0,.055);-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}a.thumbnail:hover,a.thumbnail:focus{border-color:#01a6e6;-webkit-box-shadow:0 1px 4px rgba(0,105,214,.25);-moz-box-shadow:0 1px 4px rgba(0,105,214,.25);box-shadow:0 1px 4px rgba(0,105,214,.25)}.thumbnail>img{display:block;max-width:100%;margin-left:auto;margin-right:auto}.thumbnail .caption{padding:9px;color:#555}.media,.media-body{overflow:hidden;*overflow:visible;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{margin-left:0;list-style:none}.label,.badge{display:inline-block;padding:2px 4px;font-size:11.844px;font-weight:700;line-height:14px;color:#fff;vertical-align:baseline;white-space:nowrap;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#999}.label{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.badge{padding-left:9px;padding-right:9px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px}.label:empty,.badge:empty{display:none}a.label:hover,a.label:focus,a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.label-important,.badge-important{background-color:#ff7169}.label-important[href],.badge-important[href]{background-color:#ff4136}.label-warning,.badge-warning{background-color:#ff7518}.label-warning[href],.badge-warning[href]{background-color:#e45c00}.label-success,.badge-success{background-color:#3dd441}.label-success[href],.badge-success[href]{background-color:#28b62c}.label-info,.badge-info{background-color:#af78ca}.label-info[href],.badge-info[href]{background-color:#9954bb}.label-inverse,.badge-inverse{background-color:#333}.label-inverse[href],.badge-inverse[href]{background-color:#1a1a1a}.btn .label,.btn .badge{position:relative;top:-1px}.btn-mini .label,.btn-mini .badge{top:0}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-ms-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f7f7f7;background-image:-moz-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f5f5f5),to(#f9f9f9));background-image:-webkit-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-o-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:linear-gradient(to bottom,#f5f5f5,#f9f9f9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.progress .bar{width:0;height:100%;color:#fff;float:left;font-size:12px;text-align:center;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#0e90d2;background-image:-moz-linear-gradient(top,#149bdf,#0480be);background-image:-webkit-gradient(linear,0 0,0 100%,from(#149bdf),to(#0480be));background-image:-webkit-linear-gradient(top,#149bdf,#0480be);background-image:-o-linear-gradient(top,#149bdf,#0480be);background-image:linear-gradient(to bottom,#149bdf,#0480be);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-moz-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width .6s ease;-moz-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress .bar+.bar{-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,.15),inset 0 -1px 0 rgba(0,0,0,.15);-moz-box-shadow:inset 1px 0 0 rgba(0,0,0,.15),inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 1px 0 0 rgba(0,0,0,.15),inset 0 -1px 0 rgba(0,0,0,.15)}.progress-striped .bar{background-color:#149bdf;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,.15)),color-stop(0.75,rgba(255,255,255,.15)),color-stop(0.75,transparent),to(transparent));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:-moz-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;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px}.progress.active .bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-danger .bar,.progress .bar-danger{background-color:#dd514c;background-image:-moz-linear-gradient(top,#ee5f5b,#c43c35);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#c43c35));background-image:-webkit-linear-gradient(top,#ee5f5b,#c43c35);background-image:-o-linear-gradient(top,#ee5f5b,#c43c35);background-image:linear-gradient(to bottom,#ee5f5b,#c43c35);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffc43c35', GradientType=0)}.progress-danger.progress-striped .bar,.progress-striped .bar-danger{background-color:#ee5f5b;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,.15)),color-stop(0.75,rgba(255,255,255,.15)),color-stop(0.75,transparent),to(transparent));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:-moz-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-success .bar,.progress .bar-success{background-color:#5eb95e;background-image:-moz-linear-gradient(top,#62c462,#57a957);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#57a957));background-image:-webkit-linear-gradient(top,#62c462,#57a957);background-image:-o-linear-gradient(top,#62c462,#57a957);background-image:linear-gradient(to bottom,#62c462,#57a957);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff57a957', GradientType=0)}.progress-success.progress-striped .bar,.progress-striped .bar-success{background-color:#62c462;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,.15)),color-stop(0.75,rgba(255,255,255,.15)),color-stop(0.75,transparent),to(transparent));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:-moz-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-info .bar,.progress .bar-info{background-color:#4bb1cf;background-image:-moz-linear-gradient(top,#5bc0de,#339bb9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#339bb9));background-image:-webkit-linear-gradient(top,#5bc0de,#339bb9);background-image:-o-linear-gradient(top,#5bc0de,#339bb9);background-image:linear-gradient(to bottom,#5bc0de,#339bb9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff339bb9', GradientType=0)}.progress-info.progress-striped .bar,.progress-striped .bar-info{background-color:#5bc0de;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,.15)),color-stop(0.75,rgba(255,255,255,.15)),color-stop(0.75,transparent),to(transparent));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:-moz-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-warning .bar,.progress .bar-warning{background-color:#ff9046;background-image:-moz-linear-gradient(top,#ffa365,#ff7518);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ffa365),to(#ff7518));background-image:-webkit-linear-gradient(top,#ffa365,#ff7518);background-image:-o-linear-gradient(top,#ffa365,#ff7518);background-image:linear-gradient(to bottom,#ffa365,#ff7518);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffa365', endColorstr='#ffff7518', GradientType=0)}.progress-warning.progress-striped .bar,.progress-striped .bar-warning{background-color:#ffa365;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,.15)),color-stop(0.75,rgba(255,255,255,.15)),color-stop(0.75,transparent),to(transparent));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:-moz-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)}.accordion{margin-bottom:20px}.accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.accordion-heading{border-bottom:0}.accordion-heading .accordion-toggle{display:block;padding:8px 15px}.accordion-toggle{cursor:pointer}.accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5}.carousel{position:relative;margin-bottom:20px;line-height:1}.carousel-inner{overflow:hidden;width:100%;position:relative}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;-moz-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{display:block;line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#fff;text-align:center;background:#222;border:3px solid #fff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:.5;filter:alpha(opacity=50)}.carousel-control.right{left:auto;right:15px}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-indicators{position:absolute;top:15px;right:15px;z-index:5;margin:0;list-style:none}.carousel-indicators li{display:block;float:left;width:10px;height:10px;margin-left:5px;text-indent:-999px;background-color:#ccc;background-color:rgba(255,255,255,.25);border-radius:5px}.carousel-indicators .active{background-color:#fff}.carousel-caption{position:absolute;left:0;right:0;bottom:0;padding:15px;background:#333;background:rgba(0,0,0,.75)}.carousel-caption h4,.carousel-caption p{color:#fff;line-height:20px}.carousel-caption h4{margin:0 0 5px}.carousel-caption p{margin-bottom:0}.hero-unit{padding:60px;margin-bottom:30px;font-size:18px;font-weight:200;line-height:30px;color:inherit;background-color:#eee;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;color:inherit;letter-spacing:-1px}.hero-unit li{line-height:30px}.pull-right{float:right}.pull-left{float:left}.hide{display:none}.show{display:block}.invisible{visibility:hidden}.affix{position:fixed}body{font-weight:300;background:#eee}h1{font-size:50px}h2,h3{font-size:26px}h4{font-size:14px}h5,h6{font-size:11px}blockquote{padding:10px 15px;background-color:#eee;border-left-color:#555}blockquote.pull-right{padding:10px 15px;border-right-color:#555}blockquote small{color:#555}.muted{color:#555}.text-warning{color:#ff7518}a.text-warning:hover{color:#e45c00}.text-error{color:#ff4136}a.text-error:hover{color:#ff1103}.text-info{color:#9954bb}a.text-info:hover{color:#7e3f9d}.text-success{color:#28b62c}a.text-success:hover{color:#1f8c22}.navbar .navbar-inner{background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar .brand:hover{color:#333}.navbar .nav>.active>a,.navbar .nav>.active>a:hover,.navbar .nav>.active>a:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;background-color:transparent}.navbar .nav li.dropdown.open>.dropdown-toggle,.navbar .nav li.dropdown.active>.dropdown-toggle,.navbar .nav li.dropdown.open.active>.dropdown-toggle{color:#555}.navbar .nav li.dropdown.open>.dropdown-toggle:hover,.navbar .nav li.dropdown.active>.dropdown-toggle:hover,.navbar .nav li.dropdown.open.active>.dropdown-toggle:hover{color:#eee}.navbar .navbar-search .search-query{line-height:normal}.navbar-inverse .brand,.navbar-inverse .nav>li>a{text-shadow:none}.navbar-inverse .brand:hover,.navbar-inverse .nav>.active>a,.navbar-inverse .nav>.active>a:hover,.navbar-inverse .nav>.active>a:focus{background-color:rgba(0,0,0,.05);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;color:#fff}.navbar-inverse .navbar-search .search-query{color:#222}div.subnav{margin:0 1px;background:#999 none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}div.subnav .nav{background-color:transparent}div.subnav .nav>li>a{border-color:transparent}div.subnav .nav>.active>a,div.subnav .nav>.active>a:hover{border-color:transparent;background-color:#000;color:#fff;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}div.subnav-fixed{top:51px;margin:0}.nav .open .dropdown-toggle,.nav>li.dropdown.open.active>a:hover{color:#01a6e6}.nav-tabs>li>a{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.nav-tabs li>a:hover,.nav-tabs li.active>a,.nav-tabs li.active>a:hover{border-color:transparent;background-color:#01a6e6;color:#fff}.nav-tabs li.disabled>a{color:#555}.nav-tabs .open .dropdown-toggle{background-color:#060606;border-color:transparent}.tabs-below>.nav-tabs>li>a,.tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;border:0}.nav-pills>li>a{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;color:#000}.nav-pills>li>a:hover{background-color:#000;color:#fff}.nav-pills>.disabled>a,.nav-pills>.disabled>a:hover{background-color:#eee;color:#333}.nav-list>li>a{color:#222}.nav-list>li>a:hover{background-color:#01a6e6;color:#fff;text-shadow:none}.nav-list .nav-header{color:#222}.nav-list .divider{background-color:#555;border-bottom:0}.pagination ul{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.pagination ul>li>a,.pagination ul>li>span{margin-right:6px;color:#222}.pagination ul>li>a:hover,.pagination ul>li>span:hover{background-color:#222;color:#fff}.pagination ul>li:last-child>a,.pagination ul>li:last-child>span{margin-right:0}.pagination ul>.active>a,.pagination ul>.active>span{color:#fff}.pagination ul>.disabled>span,.pagination ul>.disabled>a,.pagination ul>.disabled>a:hover{background-color:#eee;color:#333}.pager li>a,.pager li>span{background-color:#999;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;color:#222}.pager li>a:hover,.pager li>span:hover{background-color:#222;color:#fff}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>span{background-color:#eee;color:#333}.breadcrumb{background-color:#999}.breadcrumb li{text-shadow:none}.breadcrumb .divider,.breadcrumb .active{color:#222;text-shadow:none}.btn{padding:5px 12px;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;text-shadow:none}.btn.disabled{box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05)}.btn-large{padding:22px 30px}.btn-small{padding:2px 10px}.btn-mini{padding:2px 6px}.btn-group>.btn:first-child,.btn-group>.btn:last-child,.btn-group>.dropdown-toggle{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group>.btn+.dropdown-toggle{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}legend,label{color:#555;border-bottom:0 solid #222}.table tbody tr.success td{color:#fff}.table tbody tr.error td{color:#fff}.table tbody tr.info td{color:#fff}.table-bordered{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.table-bordered thead:first-child tr:first-child th:first-child,.table-bordered tbody:first-child tr:first-child td:first-child{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.table-bordered thead:last-child tr:last-child th:first-child,.table-bordered tbody:last-child tr:last-child td:first-child,.table-bordered tfoot:last-child tr:last-child td:first-child{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}select,textarea,input[type=text],input[type=password],input[type=datetime],input[type=datetime-local],input[type=date],input[type=month],input[type=time],input[type=week],input[type=number],input[type=email],input[type=url],input[type=search],input[type=tel],input[type=color]{color:#222}.control-group.warning .control-label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#ff7518}.control-group.warning input,.control-group.warning select,.control-group.warning textarea{border-color:#ff7518;color:#222}.control-group.error .control-label,.control-group.error .help-block,.control-group.error .help-inline{color:#ff4136}.control-group.error input,.control-group.error select,.control-group.error textarea{border-color:#ff4136;color:#222}.control-group.success .control-label,.control-group.success .help-block,.control-group.success .help-inline{color:#28b62c}.control-group.success input,.control-group.success select,.control-group.success textarea{border-color:#28b62c;color:#222}legend{border-bottom:0;color:#222}.form-actions{border-top:0;background-color:#eee}.dropdown-menu{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.alert{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;text-shadow:none}.alert-heading,.alert h1,.alert h2,.alert h3,.alert h4,.alert h5,.alert h6{color:#fff}.label-success{background-color:#28b62c}.label-important{background-color:#ff4136}.label-info{background-color:#9954bb}.label-inverse{background-color:#000}.badge{border-radius:0;font-weight:200}a:hover{text-decoration:none}.hero-unit{border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.well{border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}[class^=icon-],[class*=" icon-"]{margin:0 2px;vertical-align:-2px}a.thumbnail{background-color:#999}a.thumbnail:hover{background-color:#555;border-color:transparent}.progress{background-color:#eee;background-image:none;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.modal{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;background-color:#eee}.modal-header{border-bottom:0}.modal-footer{border-top:0;background-color:transparent}.popover{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.popover-title{border-bottom:0;color:#fff}@media(max-width:767px){div.panel{width:100%!important;padding:0!important}}.container-fluid{padding-left:0;padding-right:0}.container.grafana-container{padding:5px 10px;width:100%;box-sizing:border-box}.bgNav{background:#f8f8f8}.bgPrimary{background:#03b8fe;color:rgba(255,255,255,.9)}.bgInfo{background:#a466c2;color:rgba(255,255,255,.9)}.bgSuccess{background:#2dcb31;color:rgba(255,255,255,.9)}.bgWarning{background:#ff8432;color:rgba(255,255,255,.9)}.bgDanger{background:#ff5950;color:rgba(255,255,255,.9)}.bgInverse{background:#0d0d0d;color:rgba(255,255,255,.9)}code,pre{background-color:#eee}.panel{display:inline-table;vertical-align:top}.panel-container{padding:0;background:#fff;margin:5px}.panel-content{padding:0 10px 5px}.panel-title{border:0;font-weight:700}.panel-loading{position:absolute;top:0;right:4px;z-index:800}.panel div.panel-extra div.panel-extra-container{margin-right:-10px;margin-top:3px;text-align:center}.panel div.panel-extra div.panel-extra-container ul{text-align:left}.panel div.panel-extra{font-size:.9em;margin-bottom:0}.panel div.panel-extra .extra{float:right!important}.panel-error{color:#fff;padding:5px 10px 0}.panel-error-inspector-link{float:right;margin-right:10px}div.editor-row{vertical-align:top}div.editor-row div.section{margin-right:20px;vertical-align:top;display:inline-block}div.editor-option{vertical-align:top;display:inline-block;margin-right:10px}div.editor-option label{display:block}#events{font-size:12px}.version{font-size:85%}.legend{color:#000}div.fake-input{background-color:#fff;border:1px solid #999;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}hr.small{margin:5px 0}form input.ng-invalid{color:#ff7169}.editor-title{margin-right:10px;font-size:1.7em;font-weight:700;text-transform:capitalize}.editor-title small{opacity:.5;font-size:.7em;font-weight:400}.bordered{border:1px solid #ddd}.table-unpadded th,.table-unpadded td{padding:0 2px}.spy{position:absolute;right:0;top:0}.navbar-inner{border-width:0}.kibana-row{margin-bottom:5px}.row-tab .dropdown-menu-right{top:0;left:33px}.row-tab-button{padding:0;cursor:pointer;vertical-align:middle;width:30px;height:30px;text-align:center;display:inline-block;line-height:30px}.row-button{width:30px;text-align:center;float:left;cursor:pointer}.row-text{white-space:nowrap;text-transform:uppercase;font-weight:700;font-size:.9em;margin:0 10px}.row-close{padding:0;margin:0;min-height:30px!important;line-height:30px;background:#fff}.row-open{margin-top:5px;left:-34px;position:absolute;z-index:100;transition:.25s left;transition-delay:.25s;-webkit-transition-delay:.25s}.row-open:hover{left:-12px}.odd{background-color:#f9f9f9}.nomargin{margin:0}[ng\:cloak],[ng-cloak],.ng-cloak{display:none!important}.table tbody+tbody{border-top:0}.ui-draggable-dragging{display:block;z-index:9999}.dragInProgress .panel-container{border:3px solid rgba(100,100,100,.5)}.link{color:#01a6e6;cursor:pointer}.link:hover{color:#0181b3}.pointer{cursor:pointer}.popover{max-width:480px}.modal{width:100%;top:0!important}.tiny{font-size:50%}.smaller{font-size:70%}.small{font-size:85%}.large{font-size:120%}.strong{font-weight:700}a{cursor:pointer}.normal{font-weight:400}.light{font-weight:200}.input-smaller{width:75px}.string{color:#626262}.number{color:#ba8bd1}.boolean{color:#ffa365}.key{color:#ff8983}.btn-active{background-color:#e6e6e6;background-image:none;box-shadow:0 2px 4px rgba(0,0,0,.15) inset,0 1px 2px rgba(0,0,0,.05);outline:0 none}.remove:hover{background-color:#ff291c}.faded{opacity:.2}div.flot-text{color:#555!important}.dashboard-notice{z-index:8000;margin-left:0;padding:3px 0;width:100%;padding-left:20px;color:#fff}.alert-warning{background-color:#ff7518;border-color:transparent;color:#ff934b}.popover.topLeft{margin-top:-10px}.popover.topLeft .arrow{bottom:-10px;left:25%;margin-left:-10px;border-width:10px 10px 0;border-top-color:#fff}.popover.topLeft .arrow:after{border-width:11px 11px 0;border-top-color:rgba(0,0,0,.25);bottom:-1px;left:-11px}.popover.topRight{margin-top:-10px}.popover.topRight .arrow{bottom:-10px;left:75%;margin-left:-10px;border-width:10px 10px 0;border-top-color:#fff}.popover.topRight .arrow:after{border-width:11px 11px 0;border-top-color:rgba(0,0,0,.25);bottom:-1px;left:-11px}.popover.rightTop .arrow{top:10%;left:-16px;margin-top:-16px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,.25)}.popover.rightTop .arrow:after{left:1px;bottom:-15px;border-left-width:0;border-right-color:#fff}.popover.rightBottom .arrow{top:90%;left:-16px;margin-top:-16px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,.25)}.popover.rightBottom .arrow:after{left:1px;bottom:-15px;border-left-width:0;border-right-color:#fff}.popover.bottomLeft .arrow{left:10%;margin-left:-16px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);top:-16px}.popover.bottomLeft .arrow:after{top:1px;margin-left:-15px;border-top-width:0;border-bottom-color:#fff}.popover.bottomRight .arrow{left:90%;margin-left:-16px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);top:-16px}.popover.bottomRight .arrow:after{top:1px;margin-left:-15px;border-top-width:0;border-bottom-color:#fff}.popover.leftTop .arrow{top:10%;right:-16px;margin-top:-16px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.leftTop .arrow:after{right:1px;border-right-width:0;border-left-color:#fff;bottom:-15px}.popover.leftBottom .arrow{top:90%;right:-16px;margin-top:-16px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.leftBottom .arrow:after{right:1px;border-right-width:0;border-left-color:#fff;bottom:-15px}.popover.topLeft .arrow{left:10%;margin-left:-16px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,.25);bottom:-16px}.popover.topLeft .arrow:after{bottom:1px;margin-left:-15px;border-bottom-width:0;border-top-color:#fff}.popover.topRight .arrow{left:90%;margin-left:-16px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,.25);bottom:-16px}.popover.topRight .arrow:after{bottom:1px;margin-left:-15px;border-bottom-width:0;border-top-color:#fff}.label-tag{background-color:#9954bb;color:#f2f2f2}.label-tag:hover{background-color:#7e3f9d;color:#fff}.annotation-editor-table td{white-space:nowrap}.save-dashboard-dropdown{padding:10px}.save-dashboard-dropdown li>a{padding-left:5px}.save-dashboard-dropdown-save-form{margin-bottom:5px}.inspector-request-table td{padding:5px}.inspector-request-table td:first-child{white-space:nowrap}code,pre{background-color:#fff;color:#555}.submenu-controls{background:#dad9d9;font-size:inherit}.submenu-controls label{margin:0;padding-right:4px;display:inline}.submenu-controls input[type=checkbox]{margin:0}.submenu-controls-visible:not(.hide-controls) .panel-fullscreen{top:82px}.submenu-panel{padding:0 4px 0 8px;border-right:1px solid #fff;float:left}.submenu-panel:first-child{padding-left:17px}.submenu-panel-title{float:left;text-transform:uppercase;padding:4px 10px 3px 0}.submenu-panel-wrapper{float:left}.submenu-toggle{padding:4px 0 3px 8px;float:left}.submenu-toggle .annotation-color-icon{position:relative;top:2px}.submenu-toggle:first-child{padding-left:0}.submenu-control-edit{padding:4px 4px 3px 8px;float:right;border-left:1px solid #fff;margin-left:8px}.annotation-disabled,.annotation-disabled a{color:#151515}.filtering-container{float:left}.filtering-container label{float:left}.filtering-container input[type=checkbox]{margin:0}.filter-panel-filter{display:inline-block;vertical-align:top;padding:4px 10px 3px;border-right:1px solid #fff}.filter-panel-filter:first-child{padding-left:0}.filter-panel-filter ul{margin-bottom:0}.filter-deselected{opacity:.5}.filtering-container .filter-action{float:right;padding-right:2px;margin-bottom:0!important;margin-left:0;margin-top:4px}.add-filter-action{padding:3px 5px 0;position:relative;top:4px}.filter-mandate{text-decoration:underline;cursor:pointer}.filter-apply{float:right}.bootstrap-tagsinput{display:inline-block;padding:4px 6px;margin-bottom:10px;color:#555;vertical-align:middle;border-radius:4px;max-width:100%;line-height:22px;background-color:#fff;border:1px solid #999;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-moz-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 linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}.bootstrap-tagsinput input{border:0;box-shadow:none;outline:0;background-color:transparent;padding:0;padding-left:5px;margin:0;width:auto!important;max-width:inherit}.bootstrap-tagsinput input:focus{border:0;box-shadow:none}.bootstrap-tagsinput .tag{margin-right:2px;color:#fff}.bootstrap-tagsinput .tag [data-role=remove]{margin-left:8px;cursor:pointer}.bootstrap-tagsinput .tag [data-role=remove]:after{content:"x";padding:0 2px}.bootstrap-tagsinput .tag [data-role=remove]:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05)}.bootstrap-tagsinput .tag [data-role=remove]:hover:active{box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.hide-controls{padding:0}.hide-controls .grafana-row{display:none}.hide-controls .submenu-controls{display:none}.hide-controls .add-row-panel-hint{display:none}.playlist-active .grafana-menu-zoom-out,.playlist-active .grafana-menu-save,.playlist-active .grafana-menu-load,.playlist-active .add-row-panel-hint,.playlist-active .grafana-menu-home,.playlist-active .grafana-menu-refresh,.playlist-active .grafana-menu-edit{display:none}.playlist-active .grafana-menu-stop-playlist{display:list-item}.grafana-search-panel{padding:6px 10px}.grafana-search-panel .search-field-wrapper input{width:100%}.grafana-search-panel .search-field-wrapper button{margin:0 2px 0 0}.grafana-search-panel .search-field-wrapper>span{display:block;overflow:hidden;padding-right:25px}.grafana-search-panel .selected td,.grafana-search-panel tr.selected:nth-child(odd)>td{background:#01a6e6;color:#fff;text-shadow:-1px -1px 1px rgba(0,0,0,.3)}.grafana-search-panel .selected td a,.grafana-search-panel tr.selected:nth-child(odd)>td a{color:#fff}.grafana-search-panel .selected-tag .label-tag{background-color:#01a6e6}.search-tagview-switch{position:absolute;top:15px;right:263px;color:#00384e}.search-tagview-switch.active{color:#01a6e6}.row-button{width:24px}.modal{margin:5%;width:90%}.grafana-search-metric-actions{visibility:hidden;padding-left:20px}.grafana-search-metric-name{white-space:nowrap}.grafana-search-metric-result:hover .grafana-search-metric-actions{visibility:visible}.grafana-search-metric-result:hover .grafana-search-metric-name{color:#01a6e6}.yaxisLabel{top:50%;left:-20px;transform:rotate(-90deg);-o-transform:rotate(-90deg);-ms-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-webkit-transform:rotate(-90deg);transform-origin:0 0;-o-transform-origin:0 0;-ms-transform-origin:0 0;-moz-transform-origin:0 0;-webkit-transform-origin:0 0}.axisLabel{color:#555;font-size:11.9px;position:absolute;text-align:center;font-size:12px}.hidden-series a{color:#000101}.panel-fullscreen{z-index:100;display:block!important;position:fixed;left:0;right:0;top:54px;padding:0 10px;background:#fff;overflow-y:scroll;height:100%}.panel-fullscreen .panel-content{padding-bottom:130px}.dashboard-fullscreen .container-fluid.main{height:0;width:0;position:fixed;right:-10000px}.grafana-legend-container{margin:0 15px;text-align:left;position:relative;top:2px}.grafana-legend-container .popover-content{padding:0}.histogram-legend{display:inline-block;padding:0 4px}.histogram-legend i{position:relative;top:2px}.histogram-legend-item{display:inline-block}.histogram-chart{position:relative}.histogram-legend-popover{width:200px}.histogram-legend-popover label{display:inline-block}.histogram-legend-popover .btn{padding:1px 3px;margin-right:0;line-height:initial}.histogram-legend-popover .close{margin-right:5px;color:#01a6e6;opacity:.7;text-shadow:none}.histogram-legend-popover .editor-row{padding:5px}.panel-full-edit-tabs{margin-top:10px;min-height:250px;margin-left:-10px;margin-right:-10px;background-color:#f8f8f8;border-top:1px solid #fff}.panel-full-edit-tabs .tabs .nav-tabs{margin:0;background:#fff;border-top:1px solid #fff}.panel-full-edit-tabs .tabs .tab-content{display:none}.panel-full-edit-tabs .tab-content{overflow:visible;padding:15px}.panel-full-edit-tabs .nav-tabs>li>a{line-height:15px;padding-top:6px;padding-bottom:6px;font-size:.8rem}.grafana-target:last-child{border-bottom:1px solid #dad9d9}.grafana-target-inner{border-top:1px solid #dad9d9;border-left:1px solid #dad9d9;border-right:1px solid #dad9d9;background:#fff;width:100%}.grafana-target-onoff{padding:5px 7px;display:inline-block}.grafana-segment-list{list-style:none;margin:0;margin-right:90px;margin-left:30px}.grafana-segment-list>li{float:left}.grafana-segment-dropdown-menu{margin-bottom:70px}.grafana-target-segment{padding:8px 7px;font-weight:400;border-right:1px solid #dad9d9;color:#555;display:inline-block}.has-open-function .grafana-target-segment{padding-top:25px}.grafana-target-hidden .grafana-target-segment{color:#959595}.grafana-target-segment:hover,.grafana-target-segment:focus{text-decoration:none}.grafana-target-segmenta:hover{background:#f2f2f2}.grafana-target-function{background:#f2f2f2}.grafana-target-function>a{color:#555}.grafana-target-function>a:hover{color:#01a6e6}.grafana-target-function.show-function-controls{padding-top:5px;min-width:100px;text-align:center}input[type=text].grafana-function-param-input{background:transparent;border:0;margin:0;padding:0}.grafana-target-controls-left{list-style:none;float:left;width:30px;margin:0}.grafana-target-controls{width:120px;float:right;list-style:none;margin:0;text-align:right}.grafana-target-controls>li{display:inline-block;white-space:nowrap}.grafana-target-controls a{padding:8px 7px;position:relative;top:8px;color:#555;font-size:16px}.grafana-target-hidden .grafana-target-controls a{color:#959595}.grafana-target-controls a:hover,.grafana-target-controls a:focus{text-decoration:none}input[type=text].grafana-target-text-input{padding:8px 7px;border:0;margin:0;background:transparent;float:left;color:#555;border-radius:0}input[type=text].grafana-target-segment-input{border:0;border-right:1px solid #dad9d9;margin:0;border-radius:0;padding:8px 4px}input[type=checkbox].grafana-target-option-checkbox{margin:0}select.grafana-target-segment-input{border:0;border-right:1px solid #dad9d9;margin:0;border-radius:0;height:36px;padding:8px 5px}.grafana-target .dropdown{padding:0;margin:0}.graphite-func-controls{display:none;text-align:center}.graphite-func-controls .icon-arrow-left{float:left;position:relative;top:2px}.graphite-func-controls .icon-arrow-right{float:right;position:relative;top:2px}.graphite-func-controls .icon-remove{margin-left:10px}.grafana-target .popover-content{padding:0}.scrollable{max-height:300px;overflow:auto}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar:hover{height:8px}::-webkit-scrollbar-button:start:decrement,::-webkit-scrollbar-button:end:increment{display:none}::-webkit-scrollbar-button:horizontal:decrement{display:none}::-webkit-scrollbar-button:horizontal:increment{display:none}::-webkit-scrollbar-button:vertical:decrement{display:none}::-webkit-scrollbar-button:vertical:increment{display:none}::-webkit-scrollbar-button:horizontal:decrement:active{background-image:none}::-webkit-scrollbar-button:horizontal:increment:active{background-image:none}::-webkit-scrollbar-button:vertical:decrement:active{background-image:none}::-webkit-scrollbar-button:vertical:increment:active{background-image:none}::-webkit-scrollbar-track-piece{background-color:grayDark}::-webkit-scrollbar-thumb:vertical{height:50px;background:-webkit-gradient(linear,left top,right top,color-stop(0%,#3a3a3a),color-stop(100%,#222));border:1px solid #0d0d0d;border-top:1px solid #666;border-left:1px solid #666}::-webkit-scrollbar-thumb:horizontal{width:50px;background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#3a3a3a),color-stop(100%,#222));border:1px solid #1f1f1f;border-top:1px solid #666;border-left:1px solid #666}.sp-replacer{background:inherit;border:0;color:inherit}.sp-replacer:hover,.sp-replacer.sp-active{border-color:inherit;color:inherit}.sp-container{border-radius:0;background-color:#eee;border:0;padding:0}.sp-palette-container,.sp-picker-container{border:0}.sp-dd{display:none}.sp-preview{position:relative;width:15px;height:15px;border:0;margin-right:5px;float:left;z-index:0}.datapoints-warning{pointer:none;position:absolute;top:50%;left:50%;z-index:10;margin-top:-50px;margin-left:-100px;width:200px;text-align:center;cursor:auto;padding:10px}.grafana-version-footer{padding-top:15px;text-align:left} \ No newline at end of file diff --git a/app/dash/css/default.min.a9bd22e8.css b/app/dash/css/default.min.a9bd22e8.css deleted file mode 100644 index d7e511c..0000000 --- a/app/dash/css/default.min.a9bd22e8.css +++ /dev/null @@ -1,26 +0,0 @@ -@charset "UTF-8";/*! normalize.css v1.0.1 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,nav,section,summary{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}html,button,input,select,textarea{font-family:sans-serif}body{margin:0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{font-size:2em;margin:.67em 0}h2{font-size:1.5em;margin:.83em 0}h3{font-size:1.17em;margin:1em 0}h4{font-size:1em;margin:1.33em 0}h5{font-size:.83em;margin:1.67em 0}h6{font-size:.75em;margin:2.33em 0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}blockquote{margin:1em 40px}dfn{font-style:italic}mark{background:#ff0;color:#000}p,pre{margin:1em 0}code,kbd,pre,samp{font-family:monospace,serif;_font-family:'courier new',monospace;font-size:1em}pre{white-space:pre;white-space:pre-wrap;word-wrap:break-word}q{quotes:none}q:before,q:after{content:'';content:none}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}dl,menu,ol,ul{margin:1em 0}dd{margin:0 0 0 40px}menu,ol,ul{padding:0 0 0 40px}nav ul,nav ol{list-style:none;list-style-image:none}img{border:0;-ms-interpolation-mode:bicubic}svg:not(:root){overflow:hidden}figure{margin:0}form{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0;white-space:normal;*margin-left:-7px}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}button,input{line-height:normal}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer;*overflow:visible}button[disabled],input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0;*height:13px;*width:13px}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}/*! - * Bootstrap v2.3.2 - * - * Copyright 2013 Twitter, Inc - * Licensed under the Apache License v2.0 - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Designed and built with all the love in the world by @mdo and @fat. - */.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;content:"";line-height:0}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:hover,a:active{outline:0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{max-width:100%;width:auto\9;height:auto;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic}#map_canvas img,.google-maps img{max-width:none}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle}button,input{*overflow:visible;line-height:normal}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}label,select,button,input[type=button],input[type=reset],input[type=submit],input[type=radio],input[type=checkbox]{cursor:pointer}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-decoration,input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}textarea{overflow:auto;vertical-align:top}@media print{*{text-shadow:none!important;color:#000!important;background:transparent!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]: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}@page{margin:.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;color:#bbbfc2;background-color:#161616}a{color:#f2f2f2;text-decoration:none}a:hover,a:focus{color:#fff;text-decoration:underline}.img-rounded{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.img-polaroid{padding:4px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);-moz-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.img-circle{-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px}.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;content:"";line-height:0}.row:after{clear:both}[class*=span]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.span12{width:940px}.span11{width:860px}.span10{width:780px}.span9{width:700px}.span8{width:620px}.span7{width:540px}.span6{width:460px}.span5{width:380px}.span4{width:300px}.span3{width:220px}.span2{width:140px}.span1{width:60px}.offset12{margin-left:980px}.offset11{margin-left:900px}.offset10{margin-left:820px}.offset9{margin-left:740px}.offset8{margin-left:660px}.offset7{margin-left:580px}.offset6{margin-left:500px}.offset5{margin-left:420px}.offset4{margin-left:340px}.offset3{margin-left:260px}.offset2{margin-left:180px}.offset1{margin-left:100px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;content:"";line-height:0}.row-fluid:after{clear:both}.row-fluid [class*=span]{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;margin-left:2.127659574468085%;*margin-left:2.074468085106383%}.row-fluid [class*=span]:first-child{margin-left:0}.row-fluid .controls-row [class*=span]+[class*=span]{margin-left:2.127659574468085%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.48936170212765%;*width:91.43617021276594%}.row-fluid .span10{width:82.97872340425532%;*width:82.92553191489361%}.row-fluid .span9{width:74.46808510638297%;*width:74.41489361702126%}.row-fluid .span8{width:65.95744680851064%;*width:65.90425531914893%}.row-fluid .span7{width:57.44680851063829%;*width:57.39361702127659%}.row-fluid .span6{width:48.93617021276595%;*width:48.88297872340425%}.row-fluid .span5{width:40.42553191489362%;*width:40.37234042553192%}.row-fluid .span4{width:31.914893617021278%;*width:31.861702127659576%}.row-fluid .span3{width:23.404255319148934%;*width:23.351063829787233%}.row-fluid .span2{width:14.893617021276595%;*width:14.840425531914894%}.row-fluid .span1{width:6.382978723404255%;*width:6.329787234042553%}.row-fluid .offset12{margin-left:104.25531914893617%;*margin-left:104.14893617021275%}.row-fluid .offset12:first-child{margin-left:102.12765957446808%;*margin-left:102.02127659574467%}.row-fluid .offset11{margin-left:95.74468085106382%;*margin-left:95.6382978723404%}.row-fluid .offset11:first-child{margin-left:93.61702127659574%;*margin-left:93.51063829787232%}.row-fluid .offset10{margin-left:87.23404255319149%;*margin-left:87.12765957446807%}.row-fluid .offset10:first-child{margin-left:85.1063829787234%;*margin-left:84.99999999999999%}.row-fluid .offset9{margin-left:78.72340425531914%;*margin-left:78.61702127659572%}.row-fluid .offset9:first-child{margin-left:76.59574468085106%;*margin-left:76.48936170212764%}.row-fluid .offset8{margin-left:70.2127659574468%;*margin-left:70.10638297872339%}.row-fluid .offset8:first-child{margin-left:68.08510638297872%;*margin-left:67.9787234042553%}.row-fluid .offset7{margin-left:61.70212765957446%;*margin-left:61.59574468085106%}.row-fluid .offset7:first-child{margin-left:59.574468085106375%;*margin-left:59.46808510638297%}.row-fluid .offset6{margin-left:53.191489361702125%;*margin-left:53.085106382978715%}.row-fluid .offset6:first-child{margin-left:51.063829787234035%;*margin-left:50.95744680851063%}.row-fluid .offset5{margin-left:44.68085106382979%;*margin-left:44.57446808510638%}.row-fluid .offset5:first-child{margin-left:42.5531914893617%;*margin-left:42.4468085106383%}.row-fluid .offset4{margin-left:36.170212765957444%;*margin-left:36.06382978723405%}.row-fluid .offset4:first-child{margin-left:34.04255319148936%;*margin-left:33.93617021276596%}.row-fluid .offset3{margin-left:27.659574468085104%;*margin-left:27.5531914893617%}.row-fluid .offset3:first-child{margin-left:25.53191489361702%;*margin-left:25.425531914893618%}.row-fluid .offset2{margin-left:19.148936170212764%;*margin-left:19.04255319148936%}.row-fluid .offset2:first-child{margin-left:17.02127659574468%;*margin-left:16.914893617021278%}.row-fluid .offset1{margin-left:10.638297872340425%;*margin-left:10.53191489361702%}.row-fluid .offset1:first-child{margin-left:8.51063829787234%;*margin-left:8.404255319148938%}[class*=span].hide,.row-fluid [class*=span].hide{display:none}[class*=span].pull-right,.row-fluid [class*=span].pull-right{float:right}.container{margin-right:auto;margin-left:auto;*zoom:1}.container:before,.container:after{display:table;content:"";line-height:0}.container:after{clear:both}.container-fluid{padding-right:20px;padding-left:20px;*zoom:1}.container-fluid:before,.container-fluid:after{display:table;content:"";line-height:0}.container-fluid:after{clear:both}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:21px;font-weight:200;line-height:30px}small{font-size:85%}strong{font-weight:700}em{font-style:italic}cite{font-style:normal}.muted{color:#adafae}a.muted:hover,a.muted:focus{color:#939695}.text-warning{color:#a47e3c}a.text-warning:hover,a.text-warning:focus{color:#7f612e}.text-error{color:#b94a48}a.text-error:hover,a.text-error:focus{color:#953b39}.text-info{color:#09c}a.text-info:hover,a.text-info:focus{color:#007399}.text-success{color:#468847}a.text-success:hover,a.text-success:focus{color:#356635}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}h1,h2,h3,h4,h5,h6{margin:10px 0;font-family:inherit;font-weight:700;line-height:20px;color:#fff;text-rendering:optimizelegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:400;line-height:1;color:#adafae}h1,h2,h3{line-height:40px}h1{font-size:38.5px}h2{font-size:31.5px}h3{font-size:24.5px}h4{font-size:17.5px}h5{font-size:14px}h6{font-size:11.9px}h1 small{font-size:24.5px}h2 small{font-size:17.5px}h3 small{font-size:14px}h4 small{font-size:14px}.page-header{padding-bottom:9px;margin:20px 0 30px;border-bottom:1px solid #bbbfc2}ul,ol{padding:0;margin:0 0 10px 25px}ul ul,ul ol,ol ol,ol ul{margin-bottom:0}li{line-height:20px}ul.unstyled,ol.unstyled{margin-left:0;list-style:none}ul.inline,ol.inline{margin-left:0;list-style:none}ul.inline>li,ol.inline>li{display:inline-block;*display:inline;*zoom:1;padding-left:5px;padding-right:5px}dl{margin-bottom:20px}dt,dd{line-height:20px}dt{font-weight:700}dd{margin-left:10px}.dl-horizontal{*zoom:1}.dl-horizontal:before,.dl-horizontal:after{display:table;content:"";line-height:0}.dl-horizontal:after{clear:both}.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}hr{margin:20px 0;border:0;border-top:1px solid #303030;border-bottom:1px solid #fff}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #adafae}abbr.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid #bbbfc2}blockquote p{margin-bottom:0;font-size:17.5px;font-weight:300;line-height:1.25}blockquote small{display:block;line-height:20px;color:#adafae}blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid #bbbfc2;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}blockquote.pull-right small:before{content:''}blockquote.pull-right small:after{content:'\00A0 \2014'}q:before,q:after,blockquote:before,blockquote:after{content:""}address{display:block;margin-bottom:20px;font-style:normal;line-height:20px}code,pre{padding:0 3px 2px;font-family:Menlo,Monaco,Consolas,"Courier New",monospace;font-size:12px;color:#303030;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}code{padding:2px 4px;color:#d14;background-color:#f7f7f9;border:1px solid #e1e1e8;white-space:nowrap}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:20px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}pre.prettyprint{margin-bottom:20px}pre code{padding:0;color:inherit;white-space:pre;white-space:pre-wrap;background-color:transparent;border:0}.pre-scrollable{max-height:340px;overflow-y:scroll}form{margin:0 0 20px}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:40px;color:#303030;border:0;border-bottom:1px solid #e5e5e5}legend small{font-size:15px;color:#adafae}label,input,button,select,textarea{font-size:14px;font-weight:400;line-height:20px}input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}label{display:block;margin-bottom:5px}select,textarea,input[type=text],input[type=password],input[type=datetime],input[type=datetime-local],input[type=date],input[type=month],input[type=time],input[type=week],input[type=number],input[type=email],input[type=url],input[type=search],input[type=tel],input[type=color],.uneditable-input{display:inline-block;height:20px;padding:4px 6px;margin-bottom:10px;font-size:14px;line-height:20px;color:#000;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;vertical-align:middle}input,textarea,.uneditable-input{width:206px}textarea{height:auto}textarea,input[type=text],input[type=password],input[type=datetime],input[type=datetime-local],input[type=date],input[type=month],input[type=time],input[type=week],input[type=number],input[type=email],input[type=url],input[type=search],input[type=tel],input[type=color],.uneditable-input{background-color:#4a4a4a;border:1px solid #636363;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-moz-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 linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}textarea:focus,input[type=text]:focus,input[type=password]:focus,input[type=datetime]:focus,input[type=datetime-local]:focus,input[type=date]:focus,input[type=month]:focus,input[type=time]:focus,input[type=week]:focus,input[type=number]:focus,input[type=email]:focus,input[type=url]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=color]:focus,.uneditable-input:focus{border-color:rgba(82,168,236,.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(82,168,236,.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(82,168,236,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(82,168,236,.6)}input[type=radio],input[type=checkbox]{margin:4px 0 0;*margin-top:0;margin-top:1px \9;line-height:normal}input[type=file],input[type=image],input[type=submit],input[type=reset],input[type=button],input[type=radio],input[type=checkbox]{width:auto}select,input[type=file]{height:30px;*margin-top:4px;line-height:30px}select{width:220px;border:1px solid #636363;background-color:#4a4a4a}select[multiple],select[size]{height:auto}select:focus,input[type=file]:focus,input[type=radio]:focus,input[type=checkbox]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.uneditable-input,.uneditable-textarea{color:#adafae;background-color:#474747;border-color:#636363;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.025);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.025);box-shadow:inset 0 1px 2px rgba(0,0,0,.025);cursor:not-allowed}.uneditable-input{overflow:hidden;white-space:nowrap}.uneditable-textarea{width:auto;height:auto}input:-moz-placeholder,textarea:-moz-placeholder{color:#788086}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#788086}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#788086}.radio,.checkbox{min-height:20px;padding-left:20px}.radio input[type=radio],.checkbox input[type=checkbox]{float:left;margin-left:-20px}.controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:5px}.radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle}.radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px}.input-mini{width:60px}.input-small{width:90px}.input-medium{width:150px}.input-large{width:210px}.input-xlarge{width:270px}.input-xxlarge{width:530px}input[class*=span],select[class*=span],textarea[class*=span],.uneditable-input[class*=span],.row-fluid input[class*=span],.row-fluid select[class*=span],.row-fluid textarea[class*=span],.row-fluid .uneditable-input[class*=span]{float:none;margin-left:0}.input-append input[class*=span],.input-append .uneditable-input[class*=span],.input-prepend input[class*=span],.input-prepend .uneditable-input[class*=span],.row-fluid input[class*=span],.row-fluid select[class*=span],.row-fluid textarea[class*=span],.row-fluid .uneditable-input[class*=span],.row-fluid .input-prepend [class*=span],.row-fluid .input-append [class*=span]{display:inline-block}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*=span]+[class*=span]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:926px}input.span11,textarea.span11,.uneditable-input.span11{width:846px}input.span10,textarea.span10,.uneditable-input.span10{width:766px}input.span9,textarea.span9,.uneditable-input.span9{width:686px}input.span8,textarea.span8,.uneditable-input.span8{width:606px}input.span7,textarea.span7,.uneditable-input.span7{width:526px}input.span6,textarea.span6,.uneditable-input.span6{width:446px}input.span5,textarea.span5,.uneditable-input.span5{width:366px}input.span4,textarea.span4,.uneditable-input.span4{width:286px}input.span3,textarea.span3,.uneditable-input.span3{width:206px}input.span2,textarea.span2,.uneditable-input.span2{width:126px}input.span1,textarea.span1,.uneditable-input.span1{width:46px}.controls-row{*zoom:1}.controls-row:before,.controls-row:after{display:table;content:"";line-height:0}.controls-row:after{clear:both}.controls-row [class*=span],.row-fluid .controls-row [class*=span]{float:left}.controls-row .checkbox[class*=span],.controls-row .radio[class*=span]{padding-top:5px}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#555}input[type=radio][disabled],input[type=checkbox][disabled],input[type=radio][readonly],input[type=checkbox][readonly]{background-color:transparent}.control-group.warning .control-label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#a47e3c}.control-group.warning .checkbox,.control-group.warning .radio,.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#a47e3c}.control-group.warning input,.control-group.warning select,.control-group.warning textarea{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#7f612e;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ceae78;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ceae78;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ceae78}.control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#a47e3c;background-color:#bbbfc2;border-color:#a47e3c}.control-group.error .control-label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48}.control-group.error .checkbox,.control-group.error .radio,.control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48}.control-group.error input,.control-group.error select,.control-group.error textarea{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #d59392;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #d59392}.control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#bbbfc2;border-color:#b94a48}.control-group.success .control-label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847}.control-group.success .checkbox,.control-group.success .radio,.control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847}.control-group.success input,.control-group.success select,.control-group.success textarea{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #7aba7b;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #7aba7b}.control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#bbbfc2;border-color:#468847}.control-group.info .control-label,.control-group.info .help-block,.control-group.info .help-inline{color:#09c}.control-group.info .checkbox,.control-group.info .radio,.control-group.info input,.control-group.info select,.control-group.info textarea{color:#09c}.control-group.info input,.control-group.info select,.control-group.info textarea{border-color:#09c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.control-group.info input:focus,.control-group.info select:focus,.control-group.info textarea:focus{border-color:#007399;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #3cf;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #3cf;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #3cf}.control-group.info .input-prepend .add-on,.control-group.info .input-append .add-on{color:#09c;background-color:#bbbfc2;border-color:#09c}input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#b94a48;border-color:#ee5f5b}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7}.form-actions{padding:19px 20px 20px;margin-top:20px;margin-bottom:20px;background-color:transparent;border-top:1px solid #e5e5e5;*zoom:1}.form-actions:before,.form-actions:after{display:table;content:"";line-height:0}.form-actions:after{clear:both}.help-block,.help-inline{color:#e3e5e6}.help-block{display:block;margin-bottom:10px}.help-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle;padding-left:5px}.input-append,.input-prepend{display:inline-block;margin-bottom:10px;vertical-align:middle;font-size:0;white-space:nowrap}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input,.input-append .dropdown-menu,.input-prepend .dropdown-menu,.input-append .popover,.input-prepend .popover{font-size:14px}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input{position:relative;margin-bottom:0;*margin-left:0;vertical-align:top;-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-append input:focus,.input-prepend input:focus,.input-append select:focus,.input-prepend select:focus,.input-append .uneditable-input:focus,.input-prepend .uneditable-input:focus{z-index:2}.input-append .add-on,.input-prepend .add-on{display:inline-block;width:auto;height:20px;min-width:16px;padding:4px 5px;font-size:14px;font-weight:400;line-height:20px;text-align:center;text-shadow:0 1px 0 #fff;background-color:#bbbfc2;border:1px solid #ccc}.input-append .add-on,.input-prepend .add-on,.input-append .btn,.input-prepend .btn,.input-append .btn-group>.dropdown-toggle,.input-prepend .btn-group>.dropdown-toggle{vertical-align:top;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-append .active,.input-prepend .active{background-color:#bf3;border-color:#690}.input-prepend .add-on,.input-prepend .btn{margin-right:-1px}.input-prepend .add-on:first-child,.input-prepend .btn:first-child{-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-append input,.input-append select,.input-append .uneditable-input{-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-append input+.btn-group .btn:last-child,.input-append select+.btn-group .btn:last-child,.input-append .uneditable-input+.btn-group .btn:last-child{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-append .add-on,.input-append .btn,.input-append .btn-group{margin-left:-1px}.input-append .add-on:last-child,.input-append .btn:last-child,.input-append .btn-group:last-child>.dropdown-toggle{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-prepend.input-append input,.input-prepend.input-append select,.input-prepend.input-append .uneditable-input{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-prepend.input-append input+.btn-group .btn,.input-prepend.input-append select+.btn-group .btn,.input-prepend.input-append .uneditable-input+.btn-group .btn{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-prepend.input-append .add-on:first-child,.input-prepend.input-append .btn:first-child{margin-right:-1px;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-prepend.input-append .add-on:last-child,.input-prepend.input-append .btn:last-child{margin-left:-1px;-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-prepend.input-append .btn-group:first-child{margin-left:0}input.search-query{padding-right:14px;padding-right:4px \9;padding-left:14px;padding-left:4px \9;margin-bottom:0;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.form-search .input-append .search-query,.form-search .input-prepend .search-query{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.form-search .input-append .search-query{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search .input-append .btn{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .search-query{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .btn{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input,.form-search .input-prepend,.form-inline .input-prepend,.form-horizontal .input-prepend,.form-search .input-append,.form-inline .input-append,.form-horizontal .input-append{display:inline-block;*display:inline;*zoom:1;margin-bottom:0;vertical-align:middle}.form-search .hide,.form-inline .hide,.form-horizontal .hide{display:none}.form-search label,.form-inline label,.form-search .btn-group,.form-inline .btn-group{display:inline-block}.form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{margin-bottom:0}.form-search .radio,.form-search .checkbox,.form-inline .radio,.form-inline .checkbox{padding-left:0;margin-bottom:0;vertical-align:middle}.form-search .radio input[type=radio],.form-search .checkbox input[type=checkbox],.form-inline .radio input[type=radio],.form-inline .checkbox input[type=checkbox]{float:left;margin-right:3px;margin-left:0}.control-group{margin-bottom:10px}legend+.control-group{margin-top:20px;-webkit-margin-top-collapse:separate}.form-horizontal .control-group{margin-bottom:20px;*zoom:1}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;content:"";line-height:0}.form-horizontal .control-group:after{clear:both}.form-horizontal .control-label{float:left;width:160px;padding-top:5px;text-align:right}.form-horizontal .controls{*display:inline-block;*padding-left:20px;margin-left:180px;*margin-left:0}.form-horizontal .controls:first-child{*padding-left:180px}.form-horizontal .help-block{margin-bottom:0}.form-horizontal input+.help-block,.form-horizontal select+.help-block,.form-horizontal textarea+.help-block,.form-horizontal .uneditable-input+.help-block,.form-horizontal .input-prepend+.help-block,.form-horizontal .input-append+.help-block{margin-top:10px}.form-horizontal .form-actions{padding-left:180px}table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0}.table{width:100%;margin-bottom:20px}.table th,.table td{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid #303030}.table th{font-weight:700}.table thead th{vertical-align:bottom}.table caption+thead tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child th,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0}.table tbody+tbody{border-top:2px solid #303030}.table .table{background-color:#161616}.table-condensed th,.table-condensed td{padding:4px 5px}.table-bordered{border:1px solid #303030;border-collapse:separate;*border-collapse:collapse;border-left:0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.table-bordered th,.table-bordered td{border-left:1px solid #303030}.table-bordered caption+thead tr:first-child th,.table-bordered caption+tbody tr:first-child th,.table-bordered caption+tbody tr:first-child td,.table-bordered colgroup+thead tr:first-child th,.table-bordered colgroup+tbody tr:first-child th,.table-bordered colgroup+tbody tr:first-child td,.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0}.table-bordered thead:first-child tr:first-child>th:first-child,.table-bordered tbody:first-child tr:first-child>td:first-child,.table-bordered tbody:first-child tr:first-child>th:first-child{-webkit-border-top-left-radius:3px;-moz-border-radius-topleft:3px;border-top-left-radius:3px}.table-bordered thead:first-child tr:first-child>th:last-child,.table-bordered tbody:first-child tr:first-child>td:last-child,.table-bordered tbody:first-child tr:first-child>th:last-child{-webkit-border-top-right-radius:3px;-moz-border-radius-topright:3px;border-top-right-radius:3px}.table-bordered thead:last-child tr:last-child>th:first-child,.table-bordered tbody:last-child tr:last-child>td:first-child,.table-bordered tbody:last-child tr:last-child>th:first-child,.table-bordered tfoot:last-child tr:last-child>td:first-child,.table-bordered tfoot:last-child tr:last-child>th:first-child{-webkit-border-bottom-left-radius:3px;-moz-border-radius-bottomleft:3px;border-bottom-left-radius:3px}.table-bordered thead:last-child tr:last-child>th:last-child,.table-bordered tbody:last-child tr:last-child>td:last-child,.table-bordered tbody:last-child tr:last-child>th:last-child,.table-bordered tfoot:last-child tr:last-child>td:last-child,.table-bordered tfoot:last-child tr:last-child>th:last-child{-webkit-border-bottom-right-radius:3px;-moz-border-radius-bottomright:3px;border-bottom-right-radius:3px}.table-bordered tfoot+tbody:last-child tr:last-child td:first-child{-webkit-border-bottom-left-radius:0;-moz-border-radius-bottomleft:0;border-bottom-left-radius:0}.table-bordered tfoot+tbody:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:0;-moz-border-radius-bottomright:0;border-bottom-right-radius:0}.table-bordered caption+thead tr:first-child th:first-child,.table-bordered caption+tbody tr:first-child td:first-child,.table-bordered colgroup+thead tr:first-child th:first-child,.table-bordered colgroup+tbody tr:first-child td:first-child{-webkit-border-top-left-radius:3px;-moz-border-radius-topleft:3px;border-top-left-radius:3px}.table-bordered caption+thead tr:first-child th:last-child,.table-bordered caption+tbody tr:first-child td:last-child,.table-bordered colgroup+thead tr:first-child th:last-child,.table-bordered colgroup+tbody tr:first-child td:last-child{-webkit-border-top-right-radius:3px;-moz-border-radius-topright:3px;border-top-right-radius:3px}.table-striped tbody>tr:nth-child(odd)>td,.table-striped tbody>tr:nth-child(odd)>th{background-color:rgba(100,100,100,.3)}.table-hover tbody tr:hover>td,.table-hover tbody tr:hover>th{background-color:#303030}table td[class*=span],table th[class*=span],.row-fluid table td[class*=span],.row-fluid table th[class*=span]{display:table-cell;float:none;margin-left:0}.table td.span1,.table th.span1{float:none;width:44px;margin-left:0}.table td.span2,.table th.span2{float:none;width:124px;margin-left:0}.table td.span3,.table th.span3{float:none;width:204px;margin-left:0}.table td.span4,.table th.span4{float:none;width:284px;margin-left:0}.table td.span5,.table th.span5{float:none;width:364px;margin-left:0}.table td.span6,.table th.span6{float:none;width:444px;margin-left:0}.table td.span7,.table th.span7{float:none;width:524px;margin-left:0}.table td.span8,.table th.span8{float:none;width:604px;margin-left:0}.table td.span9,.table th.span9{float:none;width:684px;margin-left:0}.table td.span10,.table th.span10{float:none;width:764px;margin-left:0}.table td.span11,.table th.span11{float:none;width:844px;margin-left:0}.table td.span12,.table th.span12{float:none;width:924px;margin-left:0}.table tbody tr.success>td{background-color:#bbbfc2}.table tbody tr.error>td{background-color:#bbbfc2}.table tbody tr.warning>td{background-color:#bbbfc2}.table tbody tr.info>td{background-color:#bbbfc2}.table-hover tbody tr.success:hover>td{background-color:#aeb2b6}.table-hover tbody tr.error:hover>td{background-color:#aeb2b6}.table-hover tbody tr.warning:hover>td{background-color:#aeb2b6}.table-hover tbody tr.info:hover>td{background-color:#aeb2b6}[class^=icon-],[class*=" icon-"]{display:inline-block;width:14px;height:14px;*margin-right:.3em;line-height:14px;vertical-align:text-top;background-image:url(../img/glyphicons-halflings.png);background-position:14px 14px;background-repeat:no-repeat;margin-top:1px}.icon-white,.nav-pills>.active>a>[class^=icon-],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^=icon-],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^=icon-],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^=icon-],.dropdown-menu>li>a:focus>[class^=icon-],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>li>a:focus>[class*=" icon-"],.dropdown-menu>.active>a>[class^=icon-],.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^=icon-],.dropdown-submenu:focus>a>[class^=icon-],.dropdown-submenu:hover>a>[class*=" icon-"],.dropdown-submenu:focus>a>[class*=" icon-"]{background-image:url(../img/glyphicons-halflings-white.png)}.icon-glass{background-position:0 0}.icon-music{background-position:-24px 0}.icon-search{background-position:-48px 0}.icon-envelope{background-position:-72px 0}.icon-heart{background-position:-96px 0}.icon-star{background-position:-120px 0}.icon-star-empty{background-position:-144px 0}.icon-user{background-position:-168px 0}.icon-film{background-position:-192px 0}.icon-th-large{background-position:-216px 0}.icon-th{background-position:-240px 0}.icon-th-list{background-position:-264px 0}.icon-ok{background-position:-288px 0}.icon-remove{background-position:-312px 0}.icon-zoom-in{background-position:-336px 0}.icon-zoom-out{background-position:-360px 0}.icon-off{background-position:-384px 0}.icon-signal{background-position:-408px 0}.icon-cog{background-position:-432px 0}.icon-trash{background-position:-456px 0}.icon-home{background-position:0 -24px}.icon-file{background-position:-24px -24px}.icon-time{background-position:-48px -24px}.icon-road{background-position:-72px -24px}.icon-download-alt{background-position:-96px -24px}.icon-download{background-position:-120px -24px}.icon-upload{background-position:-144px -24px}.icon-inbox{background-position:-168px -24px}.icon-play-circle{background-position:-192px -24px}.icon-repeat{background-position:-216px -24px}.icon-refresh{background-position:-240px -24px}.icon-list-alt{background-position:-264px -24px}.icon-lock{background-position:-287px -24px}.icon-flag{background-position:-312px -24px}.icon-headphones{background-position:-336px -24px}.icon-volume-off{background-position:-360px -24px}.icon-volume-down{background-position:-384px -24px}.icon-volume-up{background-position:-408px -24px}.icon-qrcode{background-position:-432px -24px}.icon-barcode{background-position:-456px -24px}.icon-tag{background-position:0 -48px}.icon-tags{background-position:-25px -48px}.icon-book{background-position:-48px -48px}.icon-bookmark{background-position:-72px -48px}.icon-print{background-position:-96px -48px}.icon-camera{background-position:-120px -48px}.icon-font{background-position:-144px -48px}.icon-bold{background-position:-167px -48px}.icon-italic{background-position:-192px -48px}.icon-text-height{background-position:-216px -48px}.icon-text-width{background-position:-240px -48px}.icon-align-left{background-position:-264px -48px}.icon-align-center{background-position:-288px -48px}.icon-align-right{background-position:-312px -48px}.icon-align-justify{background-position:-336px -48px}.icon-list{background-position:-360px -48px}.icon-indent-left{background-position:-384px -48px}.icon-indent-right{background-position:-408px -48px}.icon-facetime-video{background-position:-432px -48px}.icon-picture{background-position:-456px -48px}.icon-pencil{background-position:0 -72px}.icon-map-marker{background-position:-24px -72px}.icon-adjust{background-position:-48px -72px}.icon-tint{background-position:-72px -72px}.icon-edit{background-position:-96px -72px}.icon-share{background-position:-120px -72px}.icon-check{background-position:-144px -72px}.icon-move{background-position:-168px -72px}.icon-step-backward{background-position:-192px -72px}.icon-fast-backward{background-position:-216px -72px}.icon-backward{background-position:-240px -72px}.icon-play{background-position:-264px -72px}.icon-pause{background-position:-288px -72px}.icon-stop{background-position:-312px -72px}.icon-forward{background-position:-336px -72px}.icon-fast-forward{background-position:-360px -72px}.icon-step-forward{background-position:-384px -72px}.icon-eject{background-position:-408px -72px}.icon-chevron-left{background-position:-432px -72px}.icon-chevron-right{background-position:-456px -72px}.icon-plus-sign{background-position:0 -96px}.icon-minus-sign{background-position:-24px -96px}.icon-remove-sign{background-position:-48px -96px}.icon-ok-sign{background-position:-72px -96px}.icon-question-sign{background-position:-96px -96px}.icon-info-sign{background-position:-120px -96px}.icon-screenshot{background-position:-144px -96px}.icon-remove-circle{background-position:-168px -96px}.icon-ok-circle{background-position:-192px -96px}.icon-ban-circle{background-position:-216px -96px}.icon-arrow-left{background-position:-240px -96px}.icon-arrow-right{background-position:-264px -96px}.icon-arrow-up{background-position:-289px -96px}.icon-arrow-down{background-position:-312px -96px}.icon-share-alt{background-position:-336px -96px}.icon-resize-full{background-position:-360px -96px}.icon-resize-small{background-position:-384px -96px}.icon-plus{background-position:-408px -96px}.icon-minus{background-position:-433px -96px}.icon-asterisk{background-position:-456px -96px}.icon-exclamation-sign{background-position:0 -120px}.icon-gift{background-position:-24px -120px}.icon-leaf{background-position:-48px -120px}.icon-fire{background-position:-72px -120px}.icon-eye-open{background-position:-96px -120px}.icon-eye-close{background-position:-120px -120px}.icon-warning-sign{background-position:-144px -120px}.icon-plane{background-position:-168px -120px}.icon-calendar{background-position:-192px -120px}.icon-random{background-position:-216px -120px;width:16px}.icon-comment{background-position:-240px -120px}.icon-magnet{background-position:-264px -120px}.icon-chevron-up{background-position:-288px -120px}.icon-chevron-down{background-position:-313px -119px}.icon-retweet{background-position:-336px -120px}.icon-shopping-cart{background-position:-360px -120px}.icon-folder-close{background-position:-384px -120px;width:16px}.icon-folder-open{background-position:-408px -120px;width:16px}.icon-resize-vertical{background-position:-432px -119px}.icon-resize-horizontal{background-position:-456px -118px}.icon-hdd{background-position:0 -144px}.icon-bullhorn{background-position:-24px -144px}.icon-bell{background-position:-48px -144px}.icon-certificate{background-position:-72px -144px}.icon-thumbs-up{background-position:-96px -144px}.icon-thumbs-down{background-position:-120px -144px}.icon-hand-right{background-position:-144px -144px}.icon-hand-left{background-position:-168px -144px}.icon-hand-up{background-position:-192px -144px}.icon-hand-down{background-position:-216px -144px}.icon-circle-arrow-right{background-position:-240px -144px}.icon-circle-arrow-left{background-position:-264px -144px}.icon-circle-arrow-up{background-position:-288px -144px}.icon-circle-arrow-down{background-position:-312px -144px}.icon-globe{background-position:-336px -144px}.icon-wrench{background-position:-360px -144px}.icon-tasks{background-position:-384px -144px}.icon-filter{background-position:-408px -144px}.icon-briefcase{background-position:-432px -144px}.icon-fullscreen{background-position:-456px -144px}.dropup,.dropdown{position:relative}.dropdown-toggle{*margin-bottom:-3px}.dropdown-toggle:active,.open .dropdown-toggle{outline:0}.caret{display:inline-block;width:0;height:0;vertical-align:top;border-top:4px solid #000;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.dropdown .caret{margin-top:8px;margin-left:2px}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;background-color:#303030;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);*border-right-width:2px;*border-bottom-width:2px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:transparent;border-bottom:1px solid #222}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:20px;color:#bbbfc2;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus,.dropdown-submenu:hover>a,.dropdown-submenu:focus>a{text-decoration:none;color:#fff;background-color:#2ab2e4;background-image:-moz-linear-gradient(top,#33b5e5,#1dade2);background-image:-webkit-gradient(linear,0 0,0 100%,from(#33b5e5),to(#1dade2));background-image:-webkit-linear-gradient(top,#33b5e5,#1dade2);background-image:-o-linear-gradient(top,#33b5e5,#1dade2);background-image:linear-gradient(to bottom,#33b5e5,#1dade2);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff33b5e5', endColorstr='#ff1dade2', GradientType=0)}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;outline:0;background-color:#2ab2e4;background-image:-moz-linear-gradient(top,#33b5e5,#1dade2);background-image:-webkit-gradient(linear,0 0,0 100%,from(#33b5e5),to(#1dade2));background-image:-webkit-linear-gradient(top,#33b5e5,#1dade2);background-image:-o-linear-gradient(top,#33b5e5,#1dade2);background-image:linear-gradient(to bottom,#33b5e5,#1dade2);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff33b5e5', endColorstr='#ff1dade2', GradientType=0)}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#adafae}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);cursor:default}.open{*z-index:1000}.open>.dropdown-menu{display:block}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid #000;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;-webkit-border-radius:0 6px 6px;-moz-border-radius:0 6px 6px;border-radius:0 6px 6px}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropup .dropdown-submenu>.dropdown-menu{top:auto;bottom:0;margin-top:0;margin-bottom:-2px;-webkit-border-radius:5px 5px 5px 0;-moz-border-radius:5px 5px 5px 0;border-radius:5px 5px 5px 0}.dropdown-submenu>a:after{display:block;content:" ";float:right;width:0;height:0;border-color:transparent;border-style:solid;border-width:5px 0 5px 5px;border-left-color:#000;margin-top:5px;margin-right:-10px}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.dropdown .dropdown-menu .nav-header{padding-left:20px;padding-right:20px}.typeahead{z-index:1051;margin-top:2px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#131517;border:1px solid #030303;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);-moz-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-large{padding:24px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.well-small{padding:9px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.fade{opacity:0;-webkit-transition:opacity .15s linear;-moz-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-moz-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.collapse.in{height:auto}.close{float:right;font-size:20px;font-weight:700;line-height:20px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.btn{display:inline-block;*display:inline;*zoom:1;padding:4px 12px;margin-bottom:0;font-size:14px;line-height:20px;text-align:center;vertical-align:middle;cursor:pointer;color:#303030;text-shadow:0 1px 1px rgba(255,255,255,.75);background-color:#9ea09f;background-image:-moz-linear-gradient(top,#adafae,#868988);background-image:-webkit-gradient(linear,0 0,0 100%,from(#adafae),to(#868988));background-image:-webkit-linear-gradient(top,#adafae,#868988);background-image:-o-linear-gradient(top,#adafae,#868988);background-image:linear-gradient(to bottom,#adafae,#868988);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffadafae', endColorstr='#ff868988', GradientType=0);border-color:#868988 #868988 #606362;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);*background-color:#868988;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);border:1px solid #bbb;*border:0;border-bottom-color:#a2a2a2;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;*margin-left:.3em;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05)}.btn:hover,.btn:focus,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{color:#303030;background-color:#868988;*background-color:#797d7b}.btn:active,.btn.active{background-color:#6d706e \9}.btn:first-child{*margin-left:0}.btn:hover,.btn:focus{color:#303030;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05)}.btn.disabled,.btn[disabled]{cursor:default;background-image:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-large{padding:11px 19px;font-size:17.5px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.btn-large [class^=icon-],.btn-large [class*=" icon-"]{margin-top:4px}.btn-small{padding:2px 10px;font-size:11.9px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.btn-small [class^=icon-],.btn-small [class*=" icon-"]{margin-top:0}.btn-mini [class^=icon-],.btn-mini [class*=" icon-"]{margin-top:-1px}.btn-mini{padding:0 6px;font-size:10.5px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.btn-block{display:block;width:100%;padding-left:0;padding-right:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.btn-block+.btn-block{margin-top:5px}input[type=submit].btn-block,input[type=reset].btn-block,input[type=button].btn-block{width:100%}.btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active,.btn-inverse.active{color:rgba(255,255,255,.75)}.btn-primary{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#38b7e5;background-image:-moz-linear-gradient(top,#4abde8,#1dade2);background-image:-webkit-gradient(linear,0 0,0 100%,from(#4abde8),to(#1dade2));background-image:-webkit-linear-gradient(top,#4abde8,#1dade2);background-image:-o-linear-gradient(top,#4abde8,#1dade2);background-image:linear-gradient(to bottom,#4abde8,#1dade2);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff4abde8', endColorstr='#ff1dade2', GradientType=0);border-color:#1dade2 #1dade2 #14799e;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);*background-color:#1dade2;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{color:#fff;background-color:#1dade2;*background-color:#1a9bcb}.btn-primary:active,.btn-primary.active{background-color:#178ab4 \9}.btn-warning{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#f58a0f;background-image:-moz-linear-gradient(top,#ff941a,#e67a00);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ff941a),to(#e67a00));background-image:-webkit-linear-gradient(top,#ff941a,#e67a00);background-image:-o-linear-gradient(top,#ff941a,#e67a00);background-image:linear-gradient(to bottom,#ff941a,#e67a00);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff941a', endColorstr='#ffe67a00', GradientType=0);border-color:#e67a00 #e67a00 #995200;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);*background-color:#e67a00;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{color:#fff;background-color:#e67a00;*background-color:#cc6d00}.btn-warning:active,.btn-warning.active{background-color:#b35f00 \9}.btn-danger{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#d10000;background-image:-moz-linear-gradient(top,#e60000,#b30000);background-image:-webkit-gradient(linear,0 0,0 100%,from(#e60000),to(#b30000));background-image:-webkit-linear-gradient(top,#e60000,#b30000);background-image:-o-linear-gradient(top,#e60000,#b30000);background-image:linear-gradient(to bottom,#e60000,#b30000);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe60000', endColorstr='#ffb30000', GradientType=0);border-color:#b30000 #b30000 #600;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);*background-color:#b30000;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{color:#fff;background-color:#b30000;*background-color:#900}.btn-danger:active,.btn-danger.active{background-color:maroon \9}.btn-success{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#699e00;background-image:-moz-linear-gradient(top,#77b300,#558000);background-image:-webkit-gradient(linear,0 0,0 100%,from(#77b300),to(#558000));background-image:-webkit-linear-gradient(top,#77b300,#558000);background-image:-o-linear-gradient(top,#77b300,#558000);background-image:linear-gradient(to bottom,#77b300,#558000);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff77b300', endColorstr='#ff558000', GradientType=0);border-color:#558000 #558000 #230;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);*background-color:#558000;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{color:#fff;background-color:#558000;*background-color:#460}.btn-success:active,.btn-success.active{background-color:#334d00 \9}.btn-info{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#993dc7;background-image:-moz-linear-gradient(top,#a347d1,#8a2eb8);background-image:-webkit-gradient(linear,0 0,0 100%,from(#a347d1),to(#8a2eb8));background-image:-webkit-linear-gradient(top,#a347d1,#8a2eb8);background-image:-o-linear-gradient(top,#a347d1,#8a2eb8);background-image:linear-gradient(to bottom,#a347d1,#8a2eb8);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffa347d1', endColorstr='#ff8a2eb8', GradientType=0);border-color:#8a2eb8 #8a2eb8 #5c1f7a;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);*background-color:#8a2eb8;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{color:#fff;background-color:#8a2eb8;*background-color:#7a29a3}.btn-info:active,.btn-info.active{background-color:#6b248f \9}.btn-inverse{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#080808;background-image:-moz-linear-gradient(top,#0d0d0d,#000);background-image:-webkit-gradient(linear,0 0,0 100%,from(#0d0d0d),to(#000));background-image:-webkit-linear-gradient(top,#0d0d0d,#000);background-image:-o-linear-gradient(top,#0d0d0d,#000);background-image:linear-gradient(to bottom,#0d0d0d,#000);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0d0d0d', endColorstr='#ff000000', GradientType=0);border-color:#000;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);*background-color:#000;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-inverse:hover,.btn-inverse:focus,.btn-inverse:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{color:#fff;background-color:#000;*background-color:#000}.btn-inverse:active,.btn-inverse.active{background-color:#000 \9}button.btn,input[type=submit].btn{*padding-top:3px;*padding-bottom:3px}button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;border:0}button.btn.btn-large,input[type=submit].btn.btn-large{*padding-top:7px;*padding-bottom:7px}button.btn.btn-small,input[type=submit].btn.btn-small{*padding-top:3px;*padding-bottom:3px}button.btn.btn-mini,input[type=submit].btn.btn-mini{*padding-top:1px;*padding-bottom:1px}.btn-link,.btn-link:active,.btn-link[disabled]{background-color:transparent;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-link{border-color:transparent;cursor:pointer;color:#f2f2f2;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-link:hover,.btn-link:focus{color:#fff;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,.btn-link[disabled]:focus{color:#303030;text-decoration:none}.btn-group{position:relative;display:inline-block;*display:inline;*zoom:1;font-size:0;vertical-align:middle;white-space:nowrap;*margin-left:.3em}.btn-group:first-child{*margin-left:0}.btn-group+.btn-group{margin-left:5px}.btn-toolbar{font-size:0;margin-top:10px;margin-bottom:10px}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group{margin-left:5px}.btn-group>.btn{position:relative;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group>.btn+.btn{margin-left:-1px}.btn-group>.btn,.btn-group>.dropdown-menu,.btn-group>.popover{font-size:14px}.btn-group>.btn-mini{font-size:10.5px}.btn-group>.btn-small{font-size:11.9px}.btn-group>.btn-large{font-size:17.5px}.btn-group>.btn:first-child{margin-left:0;-webkit-border-top-left-radius:3px;-moz-border-radius-topleft:3px;border-top-left-radius:3px;-webkit-border-bottom-left-radius:3px;-moz-border-radius-bottomleft:3px;border-bottom-left-radius:3px}.btn-group>.btn:last-child,.btn-group>.dropdown-toggle{-webkit-border-top-right-radius:3px;-moz-border-radius-topright:3px;border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;-moz-border-radius-bottomright:3px;border-bottom-right-radius:3px}.btn-group>.btn.large:first-child{margin-left:0;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px}.btn-group>.btn.large:last-child,.btn-group>.large.dropdown-toggle{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active{z-index:2}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,.125),inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,.125),inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 1px 0 0 rgba(255,255,255,.125),inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);*padding-top:5px;*padding-bottom:5px}.btn-group>.btn-mini+.dropdown-toggle{padding-left:5px;padding-right:5px;*padding-top:2px;*padding-bottom:2px}.btn-group>.btn-small+.dropdown-toggle{*padding-top:5px;*padding-bottom:4px}.btn-group>.btn-large+.dropdown-toggle{padding-left:12px;padding-right:12px;*padding-top:7px;*padding-bottom:7px}.btn-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05)}.btn-group.open .btn.dropdown-toggle{background-color:#868988}.btn-group.open .btn-primary.dropdown-toggle{background-color:#1dade2}.btn-group.open .btn-warning.dropdown-toggle{background-color:#e67a00}.btn-group.open .btn-danger.dropdown-toggle{background-color:#b30000}.btn-group.open .btn-success.dropdown-toggle{background-color:#558000}.btn-group.open .btn-info.dropdown-toggle{background-color:#8a2eb8}.btn-group.open .btn-inverse.dropdown-toggle{background-color:#000}.btn .caret{margin-top:8px;margin-left:0}.btn-large .caret{margin-top:6px}.btn-large .caret{border-left-width:5px;border-right-width:5px;border-top-width:5px}.btn-mini .caret,.btn-small .caret{margin-top:8px}.dropup .btn-large .caret{border-bottom-width:5px}.btn-primary .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret,.btn-inverse .caret{border-top-color:#fff;border-bottom-color:#fff}.btn-group-vertical{display:inline-block;*display:inline;*zoom:1}.btn-group-vertical>.btn{display:block;float:none;max-width:100%;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group-vertical>.btn+.btn{margin-left:0;margin-top:-1px}.btn-group-vertical>.btn:first-child{-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0}.btn-group-vertical>.btn:last-child{-webkit-border-radius:0 0 3px 3px;-moz-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px}.btn-group-vertical>.btn-large:first-child{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.btn-group-vertical>.btn-large:last-child{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.alert{padding:8px 35px 8px 14px;margin-bottom:20px;text-shadow:0 1px 0 rgba(255,255,255,.5);background-color:#bbbfc2;border:1px solid transparent;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.alert,.alert h4{color:#a47e3c}.alert h4{margin:0}.alert .close{position:relative;top:-2px;right:-21px;line-height:20px}.alert-success{background-color:#bbbfc2;border-color:#aeb4b6;color:#468847}.alert-success h4{color:#468847}.alert-danger,.alert-error{background-color:#bbbfc2;border-color:#b3b9bb;color:#b94a48}.alert-danger h4,.alert-error h4{color:#b94a48}.alert-info{background-color:#bbbfc2;border-color:#a8afb1;color:#09c}.alert-info h4{color:#09c}.alert-block{padding-top:14px;padding-bottom:14px}.alert-block>p,.alert-block>ul{margin-bottom:0}.alert-block p+p{margin-top:5px}.nav{margin-left:0;margin-bottom:20px;list-style:none}.nav>li>a{display:block}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#bbbfc2}.nav>li>a>img{max-width:none}.nav>.pull-right{float:right}.nav-header{display:block;padding:3px 15px;font-size:11px;font-weight:700;line-height:20px;color:#adafae;text-shadow:0 1px 0 rgba(255,255,255,.5);text-transform:uppercase}.nav li+.nav-header{margin-top:9px}.nav-list{padding-left:15px;padding-right:15px;margin-bottom:0}.nav-list>li>a,.nav-list .nav-header{margin-left:-15px;margin-right:-15px;text-shadow:0 1px 0 rgba(255,255,255,.5)}.nav-list>li>a{padding:3px 15px}.nav-list>.active>a,.nav-list>.active>a:hover,.nav-list>.active>a:focus{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.2);background-color:#f2f2f2}.nav-list [class^=icon-],.nav-list [class*=" icon-"]{margin-right:2px}.nav-list .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.nav-tabs,.nav-pills{*zoom:1}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;content:"";line-height:0}.nav-tabs:after,.nav-pills:after{clear:both}.nav-tabs>li,.nav-pills>li{float:left}.nav-tabs>li>a,.nav-pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{margin-bottom:-1px}.nav-tabs>li>a{padding-top:8px;padding-bottom:8px;line-height:20px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover,.nav-tabs>li>a:focus{border-color:#bbbfc2 #bbbfc2 #ddd}.nav-tabs>.active>a,.nav-tabs>.active>a:hover,.nav-tabs>.active>a:focus{color:#bbb;background-color:#161616;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.nav-pills>li>a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.nav-pills>.active>a,.nav-pills>.active>a:hover,.nav-pills>.active>a:focus{color:#fff;background-color:#f2f2f2}.nav-stacked>li{float:none}.nav-stacked>li>a{margin-right:0}.nav-tabs.nav-stacked{border-bottom:0}.nav-tabs.nav-stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.nav-tabs.nav-stacked>li:first-child>a{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px}.nav-tabs.nav-stacked>li:last-child>a{-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px}.nav-tabs.nav-stacked>li>a:hover,.nav-tabs.nav-stacked>li>a:focus{border-color:#ddd;z-index:2}.nav-pills.nav-stacked>li>a{margin-bottom:3px}.nav-pills.nav-stacked>li:last-child>a{margin-bottom:1px}.nav-tabs .dropdown-menu{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.nav-pills .dropdown-menu{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.nav .dropdown-toggle .caret{border-top-color:#f2f2f2;border-bottom-color:#f2f2f2;margin-top:6px}.nav .dropdown-toggle:hover .caret,.nav .dropdown-toggle:focus .caret{border-top-color:#fff;border-bottom-color:#fff}.nav-tabs .dropdown-toggle .caret{margin-top:8px}.nav .active .dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.nav-tabs .active .dropdown-toggle .caret{border-top-color:#bbb;border-bottom-color:#bbb}.nav>.dropdown.active>a:hover,.nav>.dropdown.active>a:focus{cursor:pointer}.nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav>li.dropdown.open.active>a:hover,.nav>li.dropdown.open.active>a:focus{color:#fff;background-color:#adafae;border-color:#adafae}.nav li.dropdown.open .caret,.nav li.dropdown.open.active .caret,.nav li.dropdown.open a:hover .caret,.nav li.dropdown.open a:focus .caret{border-top-color:#fff;border-bottom-color:#fff;opacity:1;filter:alpha(opacity=100)}.tabs-stacked .open>a:hover,.tabs-stacked .open>a:focus{border-color:#adafae}.tabbable{*zoom:1}.tabbable:before,.tabbable:after{display:table;content:"";line-height:0}.tabbable:after{clear:both}.tab-content{overflow:auto}.tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs{border-bottom:0}.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}.tab-content>.active,.pill-content>.active{display:block}.tabs-below>.nav-tabs{border-top:1px solid #ddd}.tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0}.tabs-below>.nav-tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.tabs-below>.nav-tabs>li>a:hover,.tabs-below>.nav-tabs>li>a:focus{border-bottom-color:transparent;border-top-color:#ddd}.tabs-below>.nav-tabs>.active>a,.tabs-below>.nav-tabs>.active>a:hover,.tabs-below>.nav-tabs>.active>a:focus{border-color:transparent #ddd #ddd}.tabs-left>.nav-tabs>li,.tabs-right>.nav-tabs>li{float:none}.tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px}.tabs-left>.nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd}.tabs-left>.nav-tabs>li>a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.tabs-left>.nav-tabs>li>a:hover,.tabs-left>.nav-tabs>li>a:focus{border-color:#bbbfc2 #ddd #bbbfc2 #bbbfc2}.tabs-left>.nav-tabs .active>a,.tabs-left>.nav-tabs .active>a:hover,.tabs-left>.nav-tabs .active>a:focus{border-color:#ddd transparent #ddd #ddd;*border-right-color:#fff}.tabs-right>.nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd}.tabs-right>.nav-tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.tabs-right>.nav-tabs>li>a:hover,.tabs-right>.nav-tabs>li>a:focus{border-color:#bbbfc2 #bbbfc2 #bbbfc2 #ddd}.tabs-right>.nav-tabs .active>a,.tabs-right>.nav-tabs .active>a:hover,.tabs-right>.nav-tabs .active>a:focus{border-color:#ddd #ddd #ddd transparent;*border-left-color:#fff}.nav>.disabled>a{color:#adafae}.nav>.disabled>a:hover,.nav>.disabled>a:focus{text-decoration:none;background-color:transparent;cursor:default}.navbar{overflow:visible;margin-bottom:20px;*position:relative;*z-index:2}.navbar-inner{min-height:50px;padding-left:20px;padding-right:20px;background-color:#1f1f1f;background-image:-moz-linear-gradient(top,#1f1f1f,#1f1f1f);background-image:-webkit-gradient(linear,0 0,0 100%,from(#1f1f1f),to(#1f1f1f));background-image:-webkit-linear-gradient(top,#1f1f1f,#1f1f1f);background-image:-o-linear-gradient(top,#1f1f1f,#1f1f1f);background-image:linear-gradient(to bottom,#1f1f1f,#1f1f1f);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff1f1f1f', endColorstr='#ff1f1f1f', GradientType=0);border:1px solid #000;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 4px rgba(0,0,0,.065);-moz-box-shadow:0 1px 4px rgba(0,0,0,.065);box-shadow:0 1px 4px rgba(0,0,0,.065);*zoom:1}.navbar-inner:before,.navbar-inner:after{display:table;content:"";line-height:0}.navbar-inner:after{clear:both}.navbar .container{width:auto}.nav-collapse.collapse{height:auto;overflow:visible}.navbar .brand{float:left;display:block;padding:15px 20px;margin-left:-20px;font-size:20px;font-weight:200;color:#adafae;text-shadow:0 1px 0 #1f1f1f}.navbar .brand:hover,.navbar .brand:focus{text-decoration:none}.navbar-text{margin-bottom:0;line-height:50px;color:#adafae}.navbar-link{color:#adafae}.navbar-link:hover,.navbar-link:focus{color:#fff}.navbar .divider-vertical{height:50px;margin:0 9px;border-left:1px solid #1f1f1f;border-right:1px solid #1f1f1f}.navbar .btn,.navbar .btn-group{margin-top:10px}.navbar .btn-group .btn,.navbar .input-prepend .btn,.navbar .input-append .btn,.navbar .input-prepend .btn-group,.navbar .input-append .btn-group{margin-top:0}.navbar-form{margin-bottom:0;*zoom:1}.navbar-form:before,.navbar-form:after{display:table;content:"";line-height:0}.navbar-form:after{clear:both}.navbar-form input,.navbar-form select,.navbar-form .radio,.navbar-form .checkbox{margin-top:10px}.navbar-form input,.navbar-form select,.navbar-form .btn{display:inline-block;margin-bottom:0}.navbar-form input[type=image],.navbar-form input[type=checkbox],.navbar-form input[type=radio]{margin-top:3px}.navbar-form .input-append,.navbar-form .input-prepend{margin-top:5px;white-space:nowrap}.navbar-form .input-append input,.navbar-form .input-prepend input{margin-top:0}.navbar-search{position:relative;float:left;margin-top:10px;margin-bottom:0}.navbar-search .search-query{margin-bottom:0;padding:4px 14px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:400;line-height:1;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.navbar-static-top{position:static;margin-bottom:0}.navbar-static-top .navbar-inner{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;margin-bottom:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{border-width:0 0 1px}.navbar-fixed-bottom .navbar-inner{border-width:1px 0 0}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding-left:0;padding-right:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.navbar-fixed-top{top:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{-webkit-box-shadow:0 1px 10px rgba(0,0,0,.1);-moz-box-shadow:0 1px 10px rgba(0,0,0,.1);box-shadow:0 1px 10px rgba(0,0,0,.1)}.navbar-fixed-bottom{bottom:0}.navbar-fixed-bottom .navbar-inner{-webkit-box-shadow:0 -1px 10px rgba(0,0,0,.1);-moz-box-shadow:0 -1px 10px rgba(0,0,0,.1);box-shadow:0 -1px 10px rgba(0,0,0,.1)}.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0}.navbar .nav.pull-right{float:right;margin-right:0}.navbar .nav>li{float:left}.navbar .nav>li>a{float:none;padding:15px;color:#adafae;text-decoration:none;text-shadow:0 1px 0 #1f1f1f}.navbar .nav .dropdown-toggle .caret{margin-top:8px}.navbar .nav>li>a:focus,.navbar .nav>li>a:hover{background-color:transparent;color:#fff;text-decoration:none}.navbar .nav>.active>a,.navbar .nav>.active>a:hover,.navbar .nav>.active>a:focus{color:#fff;text-decoration:none;background-color:#1f1f1f;-webkit-box-shadow:inset 0 3px 8px rgba(0,0,0,.125);-moz-box-shadow:inset 0 3px 8px rgba(0,0,0,.125);box-shadow:inset 0 3px 8px rgba(0,0,0,.125)}.navbar .btn-navbar{display:none;float:right;padding:7px 10px;margin-left:5px;margin-right:5px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#121212;background-image:-moz-linear-gradient(top,#121212,#121212);background-image:-webkit-gradient(linear,0 0,0 100%,from(#121212),to(#121212));background-image:-webkit-linear-gradient(top,#121212,#121212);background-image:-o-linear-gradient(top,#121212,#121212);background-image:linear-gradient(to bottom,#121212,#121212);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff121212', endColorstr='#ff121212', GradientType=0);border-color:#121212 #121212 #000;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);*background-color:#121212;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.075);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.075)}.navbar .btn-navbar:hover,.navbar .btn-navbar:focus,.navbar .btn-navbar:active,.navbar .btn-navbar.active,.navbar .btn-navbar.disabled,.navbar .btn-navbar[disabled]{color:#fff;background-color:#121212;*background-color:#050505}.navbar .btn-navbar:active,.navbar .btn-navbar.active{background-color:#000 \9}.navbar .btn-navbar .icon-bar{display:block;width:18px;height:2px;background-color:#f5f5f5;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.25);-moz-box-shadow:0 1px 0 rgba(0,0,0,.25);box-shadow:0 1px 0 rgba(0,0,0,.25)}.btn-navbar .icon-bar+.icon-bar{margin-top:3px}.navbar .nav>li>.dropdown-menu:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0,0,0,.2);position:absolute;top:-7px;left:9px}.navbar .nav>li>.dropdown-menu:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #303030;position:absolute;top:-6px;left:10px}.navbar-fixed-bottom .nav>li>.dropdown-menu:before{border-top:7px solid #ccc;border-top-color:rgba(0,0,0,.2);border-bottom:0;bottom:-7px;top:auto}.navbar-fixed-bottom .nav>li>.dropdown-menu:after{border-top:6px solid #303030;border-bottom:0;bottom:-6px;top:auto}.navbar .nav li.dropdown>a:hover .caret,.navbar .nav li.dropdown>a:focus .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar .nav li.dropdown.open>.dropdown-toggle,.navbar .nav li.dropdown.active>.dropdown-toggle,.navbar .nav li.dropdown.open.active>.dropdown-toggle{background-color:#1f1f1f;color:#fff}.navbar .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#adafae;border-bottom-color:#adafae}.navbar .nav li.dropdown.open>.dropdown-toggle .caret,.navbar .nav li.dropdown.active>.dropdown-toggle .caret,.navbar .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar .pull-right>li>.dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right{left:auto;right:0}.navbar .pull-right>li>.dropdown-menu:before,.navbar .nav>li>.dropdown-menu.pull-right:before{left:auto;right:12px}.navbar .pull-right>li>.dropdown-menu:after,.navbar .nav>li>.dropdown-menu.pull-right:after{left:auto;right:13px}.navbar .pull-right>li>.dropdown-menu .dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right .dropdown-menu{left:auto;right:100%;margin-left:0;margin-right:-1px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.navbar-inverse .navbar-inner{background-color:#252a30;background-image:-moz-linear-gradient(top,#252a30,#252a30);background-image:-webkit-gradient(linear,0 0,0 100%,from(#252a30),to(#252a30));background-image:-webkit-linear-gradient(top,#252a30,#252a30);background-image:-o-linear-gradient(top,#252a30,#252a30);background-image:linear-gradient(to bottom,#252a30,#252a30);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff252a30', endColorstr='#ff252a30', GradientType=0);border-color:transparent}.navbar-inverse .brand,.navbar-inverse .nav>li>a{color:#adafae;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.navbar-inverse .brand:hover,.navbar-inverse .nav>li>a:hover,.navbar-inverse .brand:focus,.navbar-inverse .nav>li>a:focus{color:#fff}.navbar-inverse .brand{color:#adafae}.navbar-inverse .navbar-text{color:#adafae}.navbar-inverse .nav>li>a:focus,.navbar-inverse .nav>li>a:hover{background-color:#242a31;color:#fff}.navbar-inverse .nav .active>a,.navbar-inverse .nav .active>a:hover,.navbar-inverse .nav .active>a:focus{color:#fff;background-color:#242a31}.navbar-inverse .navbar-link{color:#adafae}.navbar-inverse .navbar-link:hover,.navbar-inverse .navbar-link:focus{color:#fff}.navbar-inverse .divider-vertical{border-left-color:#252a30;border-right-color:#252a30}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle{background-color:#242a31;color:#fff}.navbar-inverse .nav li.dropdown>a:hover .caret,.navbar-inverse .nav li.dropdown>a:focus .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#adafae;border-bottom-color:#adafae}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .navbar-search .search-query{color:#fff;background-color:#5d6978;border-color:#252a30;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1),0 1px 0 rgba(255,255,255,.15);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.1),0 1px 0 rgba(255,255,255,.15);box-shadow:inset 0 1px 2px rgba(0,0,0,.1),0 1px 0 rgba(255,255,255,.15);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.navbar-inverse .navbar-search .search-query:-moz-placeholder{color:#fff}.navbar-inverse .navbar-search .search-query:-ms-input-placeholder{color:#fff}.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder{color:#fff}.navbar-inverse .navbar-search .search-query:focus,.navbar-inverse .navbar-search .search-query.focused{padding:5px 15px;color:#303030;text-shadow:0 1px 0 #fff;background-color:#fff;border:0;-webkit-box-shadow:0 0 3px rgba(0,0,0,.15);-moz-box-shadow:0 0 3px rgba(0,0,0,.15);box-shadow:0 0 3px rgba(0,0,0,.15);outline:0}.navbar-inverse .btn-navbar{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#1a1d22;background-image:-moz-linear-gradient(top,#1a1d22,#1a1d22);background-image:-webkit-gradient(linear,0 0,0 100%,from(#1a1d22),to(#1a1d22));background-image:-webkit-linear-gradient(top,#1a1d22,#1a1d22);background-image:-o-linear-gradient(top,#1a1d22,#1a1d22);background-image:linear-gradient(to bottom,#1a1d22,#1a1d22);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff1a1d22', endColorstr='#ff1a1d22', GradientType=0);border-color:#1a1d22 #1a1d22 #000;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);*background-color:#1a1d22;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.navbar-inverse .btn-navbar:hover,.navbar-inverse .btn-navbar:focus,.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active,.navbar-inverse .btn-navbar.disabled,.navbar-inverse .btn-navbar[disabled]{color:#fff;background-color:#1a1d22;*background-color:#0f1113}.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active{background-color:#040405 \9}.breadcrumb{padding:8px 15px;margin:0 0 20px;list-style:none;background-color:#f5f5f5;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.breadcrumb>li{display:inline-block;*display:inline;*zoom:1;text-shadow:0 1px 0 #fff}.breadcrumb>li>.divider{padding:0 5px;color:#ccc}.breadcrumb>.active{color:#adafae}.pagination{margin:20px 0}.pagination ul{display:inline-block;*display:inline;*zoom:1;margin-left:0;margin-bottom:0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.pagination ul>li{display:inline}.pagination ul>li>a,.pagination ul>li>span{float:left;padding:4px 12px;line-height:20px;text-decoration:none;background-color:#161616;border:1px solid transparent;border-left-width:0}.pagination ul>li>a:hover,.pagination ul>li>a:focus,.pagination ul>.active>a,.pagination ul>.active>span{background-color:#33b5e5}.pagination ul>.active>a,.pagination ul>.active>span{color:#adafae;cursor:default}.pagination ul>.disabled>span,.pagination ul>.disabled>a,.pagination ul>.disabled>a:hover,.pagination ul>.disabled>a:focus{color:#adafae;background-color:transparent;cursor:default}.pagination ul>li:first-child>a,.pagination ul>li:first-child>span{border-left-width:1px;-webkit-border-top-left-radius:3px;-moz-border-radius-topleft:3px;border-top-left-radius:3px;-webkit-border-bottom-left-radius:3px;-moz-border-radius-bottomleft:3px;border-bottom-left-radius:3px}.pagination ul>li:last-child>a,.pagination ul>li:last-child>span{-webkit-border-top-right-radius:3px;-moz-border-radius-topright:3px;border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;-moz-border-radius-bottomright:3px;border-bottom-right-radius:3px}.pagination-centered{text-align:center}.pagination-right{text-align:right}.pagination-large ul>li>a,.pagination-large ul>li>span{padding:11px 19px;font-size:17.5px}.pagination-large ul>li:first-child>a,.pagination-large ul>li:first-child>span{-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px}.pagination-large ul>li:last-child>a,.pagination-large ul>li:last-child>span{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px}.pagination-mini ul>li:first-child>a,.pagination-small ul>li:first-child>a,.pagination-mini ul>li:first-child>span,.pagination-small ul>li:first-child>span{-webkit-border-top-left-radius:2px;-moz-border-radius-topleft:2px;border-top-left-radius:2px;-webkit-border-bottom-left-radius:2px;-moz-border-radius-bottomleft:2px;border-bottom-left-radius:2px}.pagination-mini ul>li:last-child>a,.pagination-small ul>li:last-child>a,.pagination-mini ul>li:last-child>span,.pagination-small ul>li:last-child>span{-webkit-border-top-right-radius:2px;-moz-border-radius-topright:2px;border-top-right-radius:2px;-webkit-border-bottom-right-radius:2px;-moz-border-radius-bottomright:2px;border-bottom-right-radius:2px}.pagination-small ul>li>a,.pagination-small ul>li>span{padding:2px 10px;font-size:11.9px}.pagination-mini ul>li>a,.pagination-mini ul>li>span{padding:0 6px;font-size:10.5px}.pager{margin:20px 0;list-style:none;text-align:center;*zoom:1}.pager:before,.pager:after{display:table;content:"";line-height:0}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#f5f5f5}.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:#adafae;background-color:#fff;cursor:default}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop,.modal-backdrop.fade.in{opacity:.8;filter:alpha(opacity=80)}.modal{position:absolute;z-index:1050;width:100%;background-color:#fff;-webkit-box-shadow:0 3px 7px rgba(0,0,0,.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,.3);box-shadow:0 3px 7px rgba(0,0,0,.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;outline:0}.modal.fade{-webkit-transition:opacity .3s linear,top .3s ease-out;-moz-transition:opacity .3s linear,top .3s ease-out;-o-transition:opacity .3s linear,top .3s ease-out;transition:opacity .3s linear,top .3s ease-out;top:-25%}.modal.fade.in{top:10%}.modal-header{padding:9px 15px;border-bottom:1px solid #eee}.modal-header .close{margin-top:2px}.modal-header h3{margin:0;line-height:30px}.modal-body{position:relative;overflow-y:auto;padding:15px}.modal-form{margin-bottom:0}.modal-footer{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-box-shadow:inset 0 1px 0 #fff;-moz-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff;*zoom:1}.modal-footer:before,.modal-footer:after{display:table;content:"";line-height:0}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.tooltip{position:absolute;z-index:1020;display:block;visibility:visible;font-size:11px;line-height:1.4;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.8;filter:alpha(opacity=80)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:8px;color:#fff;text-align:center;text-decoration:none;background-color:#303030;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.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:#303030}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#303030}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#303030}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#303030}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;background-color:#303030;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);white-space:normal}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:14px;font-weight:400;line-height:18px;background-color:#303030;border-bottom:1px solid #232323;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.popover-title:empty{display:none}.popover-content{padding:9px 14px}.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow{border-width:11px}.popover .arrow:after{border-width:10px;content:""}.popover.top .arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,.25);bottom:-11px}.popover.top .arrow:after{bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#303030}.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,.25)}.popover.right .arrow:after{left:1px;bottom:-10px;border-left-width:0;border-right-color:#303030}.popover.bottom .arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);top:-11px}.popover.bottom .arrow:after{top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#303030}.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;border-right-width:0;border-left-color:#303030;bottom:-10px}.thumbnails{margin-left:-20px;list-style:none;*zoom:1}.thumbnails:before,.thumbnails:after{display:table;content:"";line-height:0}.thumbnails:after{clear:both}.row-fluid .thumbnails{margin-left:0}.thumbnails>li{float:left;margin-bottom:20px;margin-left:20px}.thumbnail{display:block;padding:4px;line-height:20px;border:1px solid #ddd;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.055);-moz-box-shadow:0 1px 3px rgba(0,0,0,.055);box-shadow:0 1px 3px rgba(0,0,0,.055);-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}a.thumbnail:hover,a.thumbnail:focus{border-color:#f2f2f2;-webkit-box-shadow:0 1px 4px rgba(0,105,214,.25);-moz-box-shadow:0 1px 4px rgba(0,105,214,.25);box-shadow:0 1px 4px rgba(0,105,214,.25)}.thumbnail>img{display:block;max-width:100%;margin-left:auto;margin-right:auto}.thumbnail .caption{padding:9px;color:#bbb}.media,.media-body{overflow:hidden;*overflow:visible;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{margin-left:0;list-style:none}.label,.badge{display:inline-block;padding:2px 4px;font-size:11.844px;font-weight:700;line-height:14px;color:#fff;vertical-align:baseline;white-space:nowrap;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#adafae}.label{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.badge{padding-left:9px;padding-right:9px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px}.label:empty,.badge:empty{display:none}a.label:hover,a.label:focus,a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.label-important,.badge-important{background-color:#b94a48}.label-important[href],.badge-important[href]{background-color:#953b39}.label-warning,.badge-warning{background-color:#f80}.label-warning[href],.badge-warning[href]{background-color:#cc6d00}.label-success,.badge-success{background-color:#468847}.label-success[href],.badge-success[href]{background-color:#356635}.label-info,.badge-info{background-color:#09c}.label-info[href],.badge-info[href]{background-color:#007399}.label-inverse,.badge-inverse{background-color:#303030}.label-inverse[href],.badge-inverse[href]{background-color:#161616}.btn .label,.btn .badge{position:relative;top:-1px}.btn-mini .label,.btn-mini .badge{top:0}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-ms-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f7f7f7;background-image:-moz-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f5f5f5),to(#f9f9f9));background-image:-webkit-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-o-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:linear-gradient(to bottom,#f5f5f5,#f9f9f9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.progress .bar{width:0;height:100%;color:#fff;float:left;font-size:12px;text-align:center;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#0e90d2;background-image:-moz-linear-gradient(top,#149bdf,#0480be);background-image:-webkit-gradient(linear,0 0,0 100%,from(#149bdf),to(#0480be));background-image:-webkit-linear-gradient(top,#149bdf,#0480be);background-image:-o-linear-gradient(top,#149bdf,#0480be);background-image:linear-gradient(to bottom,#149bdf,#0480be);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-moz-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width .6s ease;-moz-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress .bar+.bar{-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,.15),inset 0 -1px 0 rgba(0,0,0,.15);-moz-box-shadow:inset 1px 0 0 rgba(0,0,0,.15),inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 1px 0 0 rgba(0,0,0,.15),inset 0 -1px 0 rgba(0,0,0,.15)}.progress-striped .bar{background-color:#149bdf;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,.15)),color-stop(0.75,rgba(255,255,255,.15)),color-stop(0.75,transparent),to(transparent));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:-moz-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;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px}.progress.active .bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-danger .bar,.progress .bar-danger{background-color:#dd514c;background-image:-moz-linear-gradient(top,#ee5f5b,#c43c35);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#c43c35));background-image:-webkit-linear-gradient(top,#ee5f5b,#c43c35);background-image:-o-linear-gradient(top,#ee5f5b,#c43c35);background-image:linear-gradient(to bottom,#ee5f5b,#c43c35);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffc43c35', GradientType=0)}.progress-danger.progress-striped .bar,.progress-striped .bar-danger{background-color:#ee5f5b;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,.15)),color-stop(0.75,rgba(255,255,255,.15)),color-stop(0.75,transparent),to(transparent));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:-moz-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-success .bar,.progress .bar-success{background-color:#5eb95e;background-image:-moz-linear-gradient(top,#62c462,#57a957);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#57a957));background-image:-webkit-linear-gradient(top,#62c462,#57a957);background-image:-o-linear-gradient(top,#62c462,#57a957);background-image:linear-gradient(to bottom,#62c462,#57a957);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff57a957', GradientType=0)}.progress-success.progress-striped .bar,.progress-striped .bar-success{background-color:#62c462;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,.15)),color-stop(0.75,rgba(255,255,255,.15)),color-stop(0.75,transparent),to(transparent));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:-moz-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-info .bar,.progress .bar-info{background-color:#4bb1cf;background-image:-moz-linear-gradient(top,#5bc0de,#339bb9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#339bb9));background-image:-webkit-linear-gradient(top,#5bc0de,#339bb9);background-image:-o-linear-gradient(top,#5bc0de,#339bb9);background-image:linear-gradient(to bottom,#5bc0de,#339bb9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff339bb9', GradientType=0)}.progress-info.progress-striped .bar,.progress-striped .bar-info{background-color:#5bc0de;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,.15)),color-stop(0.75,rgba(255,255,255,.15)),color-stop(0.75,transparent),to(transparent));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:-moz-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-warning .bar,.progress .bar-warning{background-color:#ff9d2e;background-image:-moz-linear-gradient(top,#ffac4d,#f80);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ffac4d),to(#f80));background-image:-webkit-linear-gradient(top,#ffac4d,#f80);background-image:-o-linear-gradient(top,#ffac4d,#f80);background-image:linear-gradient(to bottom,#ffac4d,#f80);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffac4d', endColorstr='#ffff8800', GradientType=0)}.progress-warning.progress-striped .bar,.progress-striped .bar-warning{background-color:#ffac4d;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,.15)),color-stop(0.75,rgba(255,255,255,.15)),color-stop(0.75,transparent),to(transparent));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:-moz-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)}.accordion{margin-bottom:20px}.accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.accordion-heading{border-bottom:0}.accordion-heading .accordion-toggle{display:block;padding:8px 15px}.accordion-toggle{cursor:pointer}.accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5}.carousel{position:relative;margin-bottom:20px;line-height:1}.carousel-inner{overflow:hidden;width:100%;position:relative}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;-moz-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{display:block;line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#fff;text-align:center;background:#1f1f1f;border:3px solid #fff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:.5;filter:alpha(opacity=50)}.carousel-control.right{left:auto;right:15px}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-indicators{position:absolute;top:15px;right:15px;z-index:5;margin:0;list-style:none}.carousel-indicators li{display:block;float:left;width:10px;height:10px;margin-left:5px;text-indent:-999px;background-color:#ccc;background-color:rgba(255,255,255,.25);border-radius:5px}.carousel-indicators .active{background-color:#fff}.carousel-caption{position:absolute;left:0;right:0;bottom:0;padding:15px;background:#303030;background:rgba(0,0,0,.75)}.carousel-caption h4,.carousel-caption p{color:#fff;line-height:20px}.carousel-caption h4{margin:0 0 5px}.carousel-caption p{margin-bottom:0}.hero-unit{padding:60px;margin-bottom:30px;font-size:18px;font-weight:200;line-height:30px;color:inherit;background-color:#303030;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;color:inherit;letter-spacing:-1px}.hero-unit li{line-height:30px}.pull-right{float:right}.pull-left{float:left}.hide{display:none}.show{display:block}.invisible{visibility:hidden}.affix{position:fixed}label,input,button,select,textarea,.navbar .search-query:-moz-placeholder,.navbar .search-query::-webkit-input-placeholder{font-family:'Droid Sans',sans-serif;color:#bbb}blockquote{border-left:5px solid #303030}blockquote.pull-right{border-right:5px solid #303030}html{min-height:100%}body{min-height:100%;background:#161616}.page-header{border-bottom:1px solid #303030}hr{border-bottom:0}.navbar .navbar-inner{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.navbar .brand{padding:15px 20px;color:#bbbfc2;font-weight:400;text-shadow:none}.navbar .nav>li>a{padding:15px 15px 14px;border-bottom:1px solid transparent}.navbar .nav>li>a:hover,.navbar .nav>.active>a,.navbar .nav>.active>a:hover{border-bottom:1px solid #33b5e5}.navbar .nav>.active>a,.navbar .nav>.active>a:hover,.navbar .nav>.active>a:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.navbar .navbar-text{margin-bottom:1px;padding:15px 15px 14px;line-height:inherit}.navbar .divider-vertical{margin:0;border-left:1px solid #303030;border-right-width:0}.navbar .search-query,.navbar .search-query:focus,.navbar .search-query.focused{-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;background-color:#303030;line-height:normal;color:#adafae;text-shadow:none}.navbar .search-query:-moz-placeholder,.navbar .search-query:focus:-moz-placeholder,.navbar .search-query.focused:-moz-placeholder{color:#bbb}.navbar .search-query:-ms-input-placeholder,.navbar .search-query:focus:-ms-input-placeholder,.navbar .search-query.focused:-ms-input-placeholder{color:#bbb}.navbar .search-query::-webkit-input-placeholder,.navbar .search-query:focus::-webkit-input-placeholder,.navbar .search-query.focused::-webkit-input-placeholder{color:#bbb}@media(max-width:979px){.navbar .nav-collapse .nav li>a{border:0;color:#bbbfc2;font-weight:400;text-shadow:none}.navbar .nav-collapse .nav li>a:hover{border:0;background-color:#33b5e5}.navbar .nav-collapse .nav .active>a{border:0;background-color:#33b5e5}.navbar .nav-collapse .dropdown-menu a:hover{background-color:#33b5e5}.navbar .nav-collapse .navbar-form,.navbar .nav-collapse .navbar-search{border-top:0;border-bottom:0}.navbar .nav-collapse .nav-header{color:rgba(128,128,128,.6)}.navbar-inverse .nav-collapse .nav li>a:hover{background-color:#111}.navbar-inverse .nav-collapse .nav .active>a{background-color:#111}.navbar-inverse .nav-collapse .nav li.dropdown.open>.dropdown-toggle,.navbar-inverse .nav-collapse .nav li.dropdown.active>.dropdown-toggle,.navbar-inverse .nav-collapse .nav li.dropdown.open.active>.dropdown-toggle{background-color:#111}}.dropdown-menu{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}div.subnav{margin:0 1px;background-color:#1f1f1f;background-image:none;border:0;border-bottom:1px solid #303030}div.subnav .nav>li>a,div.subnav .nav>li:first-child>a,div.subnav .nav>li:first-child>a:hover{padding:11px 12px;border:0;background-color:#1f1f1f;color:#adafae}div.subnav .nav>li>a:hover,div.subnav .nav>li.active>a,div.subnav .nav>li.active>a:hover,div.subnav .nav>li:first-child>a:hover{padding:11px 12px;background:transparent;border:0;border-bottom:1px solid #33b5e5;color:#fff}div.subnav .nav li.nav-header{text-shadow:none}div.subnav-fixed{top:50px;margin:0}.nav-tabs{border-bottom:1px solid #303030}.nav-tabs>li>a{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.nav-tabs li>a:hover,.nav-tabs li.active>a,.nav-tabs li.active>a:hover{border-color:transparent;background-color:#33b5e5;color:#fff}.nav-tabs li.disabled>a{color:#bbbfc2}.nav-tabs .open .dropdown-toggle{background-color:#060606;border-color:transparent}.nav-pills li>a:hover{background-color:#33b5e5;color:#fff}.nav-pills li.disabled>a{color:#bbbfc2}.nav-pills .open .dropdown-toggle{background-color:#060606}.nav-pills .dropdown-menu li>a:hover{border:0}.nav-list li>a{text-shadow:none}.nav-list li>a:hover{background-color:#33b5e5;color:#fff}.nav-list .nav-header{text-shadow:none}.nav-list .divider{background-color:transparent;border-bottom:1px solid #303030}.nav-stacked li>a{border:1px solid #303030!important}.nav-stacked li>a:hover,.nav-stacked li.active>a{background-color:#33b5e5;color:#fff}.tabbable .nav-tabs,.tabbable .nav-tabs li.active>a{border-color:#303030}.breadcrumb{background-color:transparent;background-image:none;border-width:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;font-size:14px}.breadcrumb li{text-shadow:none}.breadcrumb li>a{color:#33b5e5;text-shadow:none}.pagination ul{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.pagination ul>.disabled>a,.pagination ul>.disabled>a:hover,.pagination ul>.disabled>span,.pagination ul>.disabled>span:hover{background-color:rgba(0,0,0,.2)}.pager li>a,.pager li>span{background-color:#161616;border:0}.pager li>a:hover,.pager li>span:hover{background-color:#33b5e5}.pager .disabled a,.pager .disabled a:hover{background-color:#161616}.btn{padding:5px 12px;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;text-shadow:none}.btn.disabled{box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05)}.btn-large{padding:22px 30px}.btn-small{padding:2px 10px}.btn-mini{padding:2px 6px}.btn-group>.btn:first-child,.btn-group>.btn:last-child,.btn-group>.dropdown-toggle{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group>.btn+.dropdown-toggle{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}input,textarea,select{border-width:2px;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}select,textarea,input[type=text],input[type=password],input[type=datetime],input[type=datetime-local],input[type=date],input[type=month],input[type=time],input[type=week],input[type=number],input[type=email],input[type=url],input[type=search],input[type=tel],input[type=color],.uneditable-input{color:#adafae}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly],.uneditable-input{border-color:#444}input:focus,textarea:focus,input.focused,textarea.focused{border-color:#52a8ec;outline:0;outline:thin dotted \9}input[type=file]:focus,input[type=radio]:focus,input[type=checkbox]:focus,select:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}legend,label{color:#bbbfc2;border-bottom:0 solid #222}.form-actions{border-top:1px solid #222}.table{-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.table tbody tr.success td{background-color:#690;color:#fff}.table tbody tr.error td{background-color:#c00;color:#fff}.table tbody tr.info td{background-color:#33b5e5;color:#fff}.alert,.alert .alert-heading,.alert-success,.alert-success .alert-heading,.alert-danger,.alert-error,.alert-danger .alert-heading,.alert-error .alert-heading,.alert-info,.alert-info .alert-heading{color:#bbbfc2;text-shadow:none;border:0}.label{color:#bbbfc2}.badge{border-radius:0;font-weight:200}.label,.alert{background-color:#888}.label:hover{background-color:#6e6e6e}.label-important,.alert-danger,.alert-error{background-color:#c00}.label-important:hover{background-color:#900}.label-warning{background-color:#cc6d00}.label-warning:hover{background-color:#995200}.label-success,.alert-success{background-color:#5c8a00}.label-success:hover{background-color:#3a5700}.label-info,.alert-info{background-color:#007399}.label-info:hover{background-color:#004d66}a:hover{text-decoration:none}.well,.hero-unit{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.well,.hero-unit{border-top:solid 1px #3d3d3d;-webkit-box-shadow:0 2px 4px rgba(0,0,0,.8);-moz-box-shadow:0 2px 4px rgba(0,0,0,.8);box-shadow:0 2px 4px rgba(0,0,0,.8)}.thumbnail{border-color:#303030}.progress{background-color:#060606;background-image:none;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.modal{-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;border-top:solid 1px #3d3d3d;background-color:#303030}.modal-header{border-bottom:1px solid #303030}.modal-footer{background-color:#303030;border-top:1px solid #303030;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.popover{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.popover-title{border-bottom:0;color:#fff}.footer{border-top:1px solid #303030}@media(max-width:767px){div.panel{width:100%!important;padding:0!important}}.container-fluid{padding-left:0;padding-right:0}.container.grafana-container{padding:5px 10px;width:100%;box-sizing:border-box}.bgNav{background:#1f1f1f}.bgPrimary{background:#4abde8;color:rgba(255,255,255,.9)}.bgInfo{background:#a347d1;color:rgba(255,255,255,.9)}.bgSuccess{background:#77b300;color:rgba(255,255,255,.9)}.bgWarning{background:#ff941a;color:rgba(255,255,255,.9)}.bgDanger{background:#e60000;color:rgba(255,255,255,.9)}.bgInverse{background:#0d0d0d;color:rgba(255,255,255,.9)}code,pre{background-color:#bbbfc2}.panel{display:inline-table;vertical-align:top}.panel-container{padding:0;background:#1f1f1f;margin:5px}.panel-content{padding:0 10px 5px}.panel-title{border:0;font-weight:700}.panel-loading{position:absolute;top:0;right:4px;z-index:800}.panel div.panel-extra div.panel-extra-container{margin-right:-10px;margin-top:3px;text-align:center}.panel div.panel-extra div.panel-extra-container ul{text-align:left}.panel div.panel-extra{font-size:.9em;margin-bottom:0}.panel div.panel-extra .extra{float:right!important}.panel-error{color:#fff;padding:5px 10px 0}.panel-error-inspector-link{float:right;margin-right:10px}div.editor-row{vertical-align:top}div.editor-row div.section{margin-right:20px;vertical-align:top;display:inline-block}div.editor-option{vertical-align:top;display:inline-block;margin-right:10px}div.editor-option label{display:block}#events{font-size:12px}.version{font-size:85%}.legend{color:#000}div.fake-input{background-color:#4a4a4a;border:1px solid #636363;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}hr.small{margin:5px 0}form input.ng-invalid{color:#b94a48}.editor-title{margin-right:10px;font-size:1.7em;font-weight:700;text-transform:capitalize}.editor-title small{opacity:.5;font-size:.7em;font-weight:400}.bordered{border:1px solid #303030}.table-unpadded th,.table-unpadded td{padding:0 2px}.spy{position:absolute;right:0;top:0}.navbar-inner{border-width:0}.kibana-row{margin-bottom:5px}.row-tab .dropdown-menu-right{top:0;left:33px}.row-tab-button{padding:0;cursor:pointer;vertical-align:middle;width:30px;height:30px;text-align:center;display:inline-block;line-height:30px}.row-button{width:30px;text-align:center;float:left;cursor:pointer}.row-text{white-space:nowrap;text-transform:uppercase;font-weight:700;font-size:.9em;margin:0 10px}.row-close{padding:0;margin:0;min-height:30px!important;line-height:30px;background:#1f1f1f}.row-open{margin-top:5px;left:-34px;position:absolute;z-index:100;transition:.25s left;transition-delay:.25s;-webkit-transition-delay:.25s}.row-open:hover{left:-12px}.odd{background-color:rgba(100,100,100,.3)}.nomargin{margin:0}[ng\:cloak],[ng-cloak],.ng-cloak{display:none!important}.table tbody+tbody{border-top:0}.ui-draggable-dragging{display:block;z-index:9999}.dragInProgress .panel-container{border:3px solid rgba(100,100,100,.5)}.link{color:#f2f2f2;cursor:pointer}.link:hover{color:#fff}.pointer{cursor:pointer}.popover{max-width:480px}.modal{width:100%;top:0!important}.tiny{font-size:50%}.smaller{font-size:70%}.small{font-size:85%}.large{font-size:120%}.strong{font-weight:700}a{cursor:pointer}.normal{font-weight:400}.light{font-weight:200}.input-smaller{width:75px}.string{color:#c8ccce}.number{color:#00ace6}.boolean{color:#b78c43}.key{color:#c05c5a}.btn-active{background-color:#e6e6e6;background-image:none;box-shadow:0 2px 4px rgba(0,0,0,.15) inset,0 1px 2px rgba(0,0,0,.05);outline:0 none}.remove:hover{background-color:#b30000}.faded{opacity:.2}div.flot-text{color:#bbbfc2!important}.dashboard-notice{z-index:8000;margin-left:0;padding:3px 0;width:100%;padding-left:20px;color:#fff}.alert-warning{background-color:#bbbfc2;border-color:transparent;color:#a47e3c}.popover.topLeft{margin-top:-10px}.popover.topLeft .arrow{bottom:-10px;left:25%;margin-left:-10px;border-width:10px 10px 0;border-top-color:#303030}.popover.topLeft .arrow:after{border-width:11px 11px 0;border-top-color:rgba(0,0,0,.25);bottom:-1px;left:-11px}.popover.topRight{margin-top:-10px}.popover.topRight .arrow{bottom:-10px;left:75%;margin-left:-10px;border-width:10px 10px 0;border-top-color:#303030}.popover.topRight .arrow:after{border-width:11px 11px 0;border-top-color:rgba(0,0,0,.25);bottom:-1px;left:-11px}.popover.rightTop .arrow{top:10%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,.25)}.popover.rightTop .arrow:after{left:1px;bottom:-10px;border-left-width:0;border-right-color:#303030}.popover.rightBottom .arrow{top:90%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,.25)}.popover.rightBottom .arrow:after{left:1px;bottom:-10px;border-left-width:0;border-right-color:#303030}.popover.bottomLeft .arrow{left:10%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);top:-11px}.popover.bottomLeft .arrow:after{top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#303030}.popover.bottomRight .arrow{left:90%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);top:-11px}.popover.bottomRight .arrow:after{top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#303030}.popover.leftTop .arrow{top:10%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.leftTop .arrow:after{right:1px;border-right-width:0;border-left-color:#303030;bottom:-10px}.popover.leftBottom .arrow{top:90%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.leftBottom .arrow:after{right:1px;border-right-width:0;border-left-color:#303030;bottom:-10px}.popover.topLeft .arrow{left:10%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,.25);bottom:-11px}.popover.topLeft .arrow:after{bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#303030}.popover.topRight .arrow{left:90%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,.25);bottom:-11px}.popover.topRight .arrow:after{bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#303030}.label-tag{background-color:#93c;color:#f2f2f2}.label-tag:hover{background-color:#7a29a3;color:#fff}.annotation-editor-table td{white-space:nowrap}.save-dashboard-dropdown{padding:10px}.save-dashboard-dropdown li>a{padding-left:5px}.save-dashboard-dropdown-save-form{margin-bottom:5px}.inspector-request-table td{padding:5px}.inspector-request-table td:first-child{white-space:nowrap}code,pre{background-color:#1f1f1f;color:#bbbfc2}.submenu-controls{background:#292929;font-size:inherit}.submenu-controls label{margin:0;padding-right:4px;display:inline}.submenu-controls input[type=checkbox]{margin:0}.submenu-controls-visible:not(.hide-controls) .panel-fullscreen{top:82px}.submenu-panel{padding:0 4px 0 8px;border-right:1px solid #202020;float:left}.submenu-panel:first-child{padding-left:17px}.submenu-panel-title{float:left;text-transform:uppercase;padding:4px 10px 3px 0}.submenu-panel-wrapper{float:left}.submenu-toggle{padding:4px 0 3px 8px;float:left}.submenu-toggle .annotation-color-icon{position:relative;top:2px}.submenu-toggle:first-child{padding-left:0}.submenu-control-edit{padding:4px 4px 3px 8px;float:right;border-left:1px solid #202020;margin-left:8px}.annotation-disabled,.annotation-disabled a{color:#788086}.filtering-container{float:left}.filtering-container label{float:left}.filtering-container input[type=checkbox]{margin:0}.filter-panel-filter{display:inline-block;vertical-align:top;padding:4px 10px 3px;border-right:1px solid #202020}.filter-panel-filter:first-child{padding-left:0}.filter-panel-filter ul{margin-bottom:0}.filter-deselected{opacity:.5}.filtering-container .filter-action{float:right;padding-right:2px;margin-bottom:0!important;margin-left:0;margin-top:4px}.add-filter-action{padding:3px 5px 0;position:relative;top:4px}.filter-mandate{text-decoration:underline;cursor:pointer}.filter-apply{float:right}.bootstrap-tagsinput{display:inline-block;padding:4px 6px;margin-bottom:10px;color:#555;vertical-align:middle;border-radius:4px;max-width:100%;line-height:22px;background-color:#4a4a4a;border:1px solid #636363;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-moz-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 linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}.bootstrap-tagsinput input{border:0;box-shadow:none;outline:0;background-color:transparent;padding:0;padding-left:5px;margin:0;width:auto!important;max-width:inherit}.bootstrap-tagsinput input:focus{border:0;box-shadow:none}.bootstrap-tagsinput .tag{margin-right:2px;color:#fff}.bootstrap-tagsinput .tag [data-role=remove]{margin-left:8px;cursor:pointer}.bootstrap-tagsinput .tag [data-role=remove]:after{content:"x";padding:0 2px}.bootstrap-tagsinput .tag [data-role=remove]:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05)}.bootstrap-tagsinput .tag [data-role=remove]:hover:active{box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.hide-controls{padding:0}.hide-controls .grafana-row{display:none}.hide-controls .submenu-controls{display:none}.hide-controls .add-row-panel-hint{display:none}.playlist-active .grafana-menu-zoom-out,.playlist-active .grafana-menu-save,.playlist-active .grafana-menu-load,.playlist-active .add-row-panel-hint,.playlist-active .grafana-menu-home,.playlist-active .grafana-menu-refresh,.playlist-active .grafana-menu-edit{display:none}.playlist-active .grafana-menu-stop-playlist{display:list-item}.grafana-search-panel{padding:6px 10px}.grafana-search-panel .search-field-wrapper input{width:100%}.grafana-search-panel .search-field-wrapper button{margin:0 2px 0 0}.grafana-search-panel .search-field-wrapper>span{display:block;overflow:hidden;padding-right:25px}.grafana-search-panel .selected td,.grafana-search-panel tr.selected:nth-child(odd)>td{background:#33b5e5;color:#fff;text-shadow:-1px -1px 1px rgba(0,0,0,.3)}.grafana-search-panel .selected td a,.grafana-search-panel tr.selected:nth-child(odd)>td a{color:#fff}.grafana-search-panel .selected-tag .label-tag{background-color:#33b5e5}.search-tagview-switch{position:absolute;top:15px;right:263px;color:#a6a6a6}.search-tagview-switch.active{color:#f2f2f2}.row-button{width:24px}.modal{margin:5%;width:90%}.grafana-search-metric-actions{visibility:hidden;padding-left:20px}.grafana-search-metric-name{white-space:nowrap}.grafana-search-metric-result:hover .grafana-search-metric-actions{visibility:visible}.grafana-search-metric-result:hover .grafana-search-metric-name{color:#33b5e5}.yaxisLabel{top:50%;left:-20px;transform:rotate(-90deg);-o-transform:rotate(-90deg);-ms-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-webkit-transform:rotate(-90deg);transform-origin:0 0;-o-transform-origin:0 0;-ms-transform-origin:0 0;-moz-transform-origin:0 0;-webkit-transform-origin:0 0}.axisLabel{color:#bbbfc2;font-size:11.9px;position:absolute;text-align:center;font-size:12px}.hidden-series a{color:#7f7f7f}.panel-fullscreen{z-index:100;display:block!important;position:fixed;left:0;right:0;top:54px;padding:0 10px;background:#1f1f1f;overflow-y:scroll;height:100%}.panel-fullscreen .panel-content{padding-bottom:130px}.dashboard-fullscreen .container-fluid.main{height:0;width:0;position:fixed;right:-10000px}.grafana-legend-container{margin:0 15px;text-align:left;position:relative;top:2px}.grafana-legend-container .popover-content{padding:0}.histogram-legend{display:inline-block;padding:0 4px}.histogram-legend i{position:relative;top:2px}.histogram-legend-item{display:inline-block}.histogram-chart{position:relative}.histogram-legend-popover{width:200px}.histogram-legend-popover label{display:inline-block}.histogram-legend-popover .btn{padding:1px 3px;margin-right:0;line-height:initial}.histogram-legend-popover .close{margin-right:5px;color:#f2f2f2;opacity:.7;text-shadow:none}.histogram-legend-popover .editor-row{padding:5px}.panel-full-edit-tabs{margin-top:10px;min-height:250px;margin-left:-10px;margin-right:-10px;background-color:transparent;border-top:1px solid #000}.panel-full-edit-tabs .tabs .nav-tabs{margin:0;background:#303030;border-top:1px solid #555}.panel-full-edit-tabs .tabs .tab-content{display:none}.panel-full-edit-tabs .tab-content{overflow:visible;padding:15px}.panel-full-edit-tabs .nav-tabs>li>a{line-height:15px;padding-top:6px;padding-bottom:6px;font-size:.8rem}.grafana-target:last-child{border-bottom:1px solid #000}.grafana-target-inner{border-top:1px solid #000;border-left:1px solid #000;border-right:1px solid #000;background:#303030;width:100%}.grafana-target-onoff{padding:5px 7px;display:inline-block}.grafana-segment-list{list-style:none;margin:0;margin-right:90px;margin-left:30px}.grafana-segment-list>li{float:left}.grafana-segment-dropdown-menu{margin-bottom:70px}.grafana-target-segment{padding:8px 7px;font-weight:400;border-right:1px solid #050505;color:#c8c8c8;display:inline-block}.has-open-function .grafana-target-segment{padding-top:25px}.grafana-target-hidden .grafana-target-segment{color:#888}.grafana-target-segment:hover,.grafana-target-segment:focus{text-decoration:none}.grafana-target-segmenta:hover{background:#444}.grafana-target-function{background:#444}.grafana-target-function>a{color:#c8c8c8}.grafana-target-function>a:hover{color:#f2f2f2}.grafana-target-function.show-function-controls{padding-top:5px;min-width:100px;text-align:center}input[type=text].grafana-function-param-input{background:transparent;border:0;margin:0;padding:0}.grafana-target-controls-left{list-style:none;float:left;width:30px;margin:0}.grafana-target-controls{width:120px;float:right;list-style:none;margin:0;text-align:right}.grafana-target-controls>li{display:inline-block;white-space:nowrap}.grafana-target-controls a{padding:8px 7px;position:relative;top:8px;color:#c8c8c8;font-size:16px}.grafana-target-hidden .grafana-target-controls a{color:#888}.grafana-target-controls a:hover,.grafana-target-controls a:focus{text-decoration:none}input[type=text].grafana-target-text-input{padding:8px 7px;border:0;margin:0;background:transparent;float:left;color:#c8c8c8;border-radius:0}input[type=text].grafana-target-segment-input{border:0;border-right:1px solid #050505;margin:0;border-radius:0;padding:8px 4px}input[type=checkbox].grafana-target-option-checkbox{margin:0}select.grafana-target-segment-input{border:0;border-right:1px solid #050505;margin:0;border-radius:0;height:36px;padding:8px 5px}.grafana-target .dropdown{padding:0;margin:0}.graphite-func-controls{display:none;text-align:center}.graphite-func-controls .icon-arrow-left{float:left;position:relative;top:2px}.graphite-func-controls .icon-arrow-right{float:right;position:relative;top:2px}.graphite-func-controls .icon-remove{margin-left:10px}.grafana-target .popover-content{padding:0}.scrollable{max-height:300px;overflow:auto}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar:hover{height:8px}::-webkit-scrollbar-button:start:decrement,::-webkit-scrollbar-button:end:increment{display:none}::-webkit-scrollbar-button:horizontal:decrement{display:none}::-webkit-scrollbar-button:horizontal:increment{display:none}::-webkit-scrollbar-button:vertical:decrement{display:none}::-webkit-scrollbar-button:vertical:increment{display:none}::-webkit-scrollbar-button:horizontal:decrement:active{background-image:none}::-webkit-scrollbar-button:horizontal:increment:active{background-image:none}::-webkit-scrollbar-button:vertical:decrement:active{background-image:none}::-webkit-scrollbar-button:vertical:increment:active{background-image:none}::-webkit-scrollbar-track-piece{background-color:grayDark}::-webkit-scrollbar-thumb:vertical{height:50px;background:-webkit-gradient(linear,left top,right top,color-stop(0%,#3a3a3a),color-stop(100%,#222));border:1px solid #0d0d0d;border-top:1px solid #666;border-left:1px solid #666}::-webkit-scrollbar-thumb:horizontal{width:50px;background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#3a3a3a),color-stop(100%,#222));border:1px solid #1f1f1f;border-top:1px solid #666;border-left:1px solid #666}.sp-replacer{background:inherit;border:0;color:inherit}.sp-replacer:hover,.sp-replacer.sp-active{border-color:inherit;color:inherit}.sp-container{border-radius:0;background-color:#303030;border:0;padding:0}.sp-palette-container,.sp-picker-container{border:0}.sp-dd{display:none}.sp-preview{position:relative;width:15px;height:15px;border:0;margin-right:5px;float:left;z-index:0}.datapoints-warning{pointer:none;position:absolute;top:50%;left:50%;z-index:10;margin-top:-50px;margin-left:-100px;width:200px;text-align:center;cursor:auto;padding:10px}.grafana-version-footer{padding-top:15px;text-align:left}/*! - * Datepicker for Bootstrap - * - * Copyright 2012 Stefan Petre - * Improvements by Andrew Rowls - * Licensed under the Apache License v2.0 - * http://www.apache.org/licenses/LICENSE-2.0 - * - */.datepicker{padding:4px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;direction:ltr}.datepicker-inline{width:220px}.datepicker.datepicker-rtl{direction:rtl}.datepicker.datepicker-rtl table tr td span{float:right}.datepicker-dropdown{top:0;left:0}.datepicker-dropdown:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0,0,0,.2);position:absolute;top:-7px;left:6px}.datepicker-dropdown:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;position:absolute;top:-6px;left:7px}.datepicker>div{display:none}.datepicker.days div.datepicker-days{display:block}.datepicker.months div.datepicker-months{display:block}.datepicker.years div.datepicker-years{display:block}.datepicker table{margin:0}.datepicker td,.datepicker th{text-align:center;width:20px;height:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;border:0}.table-striped .datepicker table tr td,.table-striped .datepicker table tr th{background-color:transparent}.datepicker table tr td.day:hover{background:#eee;cursor:pointer}.datepicker table tr td.old,.datepicker table tr td.new{color:#999}.datepicker table tr td.disabled,.datepicker table tr td.disabled:hover{background:0 0;color:#999;cursor:default}.datepicker table tr td.today,.datepicker table tr td.today:hover,.datepicker table tr td.today.disabled,.datepicker table tr td.today.disabled:hover{background-color:#fde19a;background-image:-moz-linear-gradient(top,#fdd49a,#fdf59a);background-image:-ms-linear-gradient(top,#fdd49a,#fdf59a);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fdd49a),to(#fdf59a));background-image:-webkit-linear-gradient(top,#fdd49a,#fdf59a);background-image:-o-linear-gradient(top,#fdd49a,#fdf59a);background-image:linear-gradient(top,#fdd49a,#fdf59a);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0);border-color:#fdf59a #fdf59a #fbed50;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#000!important}.datepicker table tr td.today:hover,.datepicker table tr td.today:hover:hover,.datepicker table tr td.today.disabled:hover,.datepicker table tr td.today.disabled:hover:hover,.datepicker table tr td.today:active,.datepicker table tr td.today:hover:active,.datepicker table tr td.today.disabled:active,.datepicker table tr td.today.disabled:hover:active,.datepicker table tr td.today.active,.datepicker table tr td.today:hover.active,.datepicker table tr td.today.disabled.active,.datepicker table tr td.today.disabled:hover.active,.datepicker table tr td.today.disabled,.datepicker table tr td.today:hover.disabled,.datepicker table tr td.today.disabled.disabled,.datepicker table tr td.today.disabled:hover.disabled,.datepicker table tr td.today[disabled],.datepicker table tr td.today:hover[disabled],.datepicker table tr td.today.disabled[disabled],.datepicker table tr td.today.disabled:hover[disabled]{background-color:#fdf59a}.datepicker table tr td.today:active,.datepicker table tr td.today:hover:active,.datepicker table tr td.today.disabled:active,.datepicker table tr td.today.disabled:hover:active,.datepicker table tr td.today.active,.datepicker table tr td.today:hover.active,.datepicker table tr td.today.disabled.active,.datepicker table tr td.today.disabled:hover.active{background-color:#fbf069 \9}.datepicker table tr td.active,.datepicker table tr td.active:hover,.datepicker table tr td.active.disabled,.datepicker table tr td.active.disabled:hover{background-color:#006dcc;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-ms-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(top,#08c,#04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);border-color:#04c #04c #002a80;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td.active:hover,.datepicker table tr td.active:hover:hover,.datepicker table tr td.active.disabled:hover,.datepicker table tr td.active.disabled:hover:hover,.datepicker table tr td.active:active,.datepicker table tr td.active:hover:active,.datepicker table tr td.active.disabled:active,.datepicker table tr td.active.disabled:hover:active,.datepicker table tr td.active.active,.datepicker table tr td.active:hover.active,.datepicker table tr td.active.disabled.active,.datepicker table tr td.active.disabled:hover.active,.datepicker table tr td.active.disabled,.datepicker table tr td.active:hover.disabled,.datepicker table tr td.active.disabled.disabled,.datepicker table tr td.active.disabled:hover.disabled,.datepicker table tr td.active[disabled],.datepicker table tr td.active:hover[disabled],.datepicker table tr td.active.disabled[disabled],.datepicker table tr td.active.disabled:hover[disabled]{background-color:#04c}.datepicker table tr td.active:active,.datepicker table tr td.active:hover:active,.datepicker table tr td.active.disabled:active,.datepicker table tr td.active.disabled:hover:active,.datepicker table tr td.active.active,.datepicker table tr td.active:hover.active,.datepicker table tr td.active.disabled.active,.datepicker table tr td.active.disabled:hover.active{background-color:#039 \9}.datepicker table tr td span{display:block;width:23%;height:54px;line-height:54px;float:left;margin:1%;cursor:pointer;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.datepicker table tr td span:hover{background:#eee}.datepicker table tr td span.disabled,.datepicker table tr td span.disabled:hover{background:0 0;color:#999;cursor:default}.datepicker table tr td span.active,.datepicker table tr td span.active:hover,.datepicker table tr td span.active.disabled,.datepicker table tr td span.active.disabled:hover{background-color:#006dcc;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-ms-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(top,#08c,#04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);border-color:#04c #04c #002a80;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td span.active:hover,.datepicker table tr td span.active:hover:hover,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active.disabled:hover:hover,.datepicker table tr td span.active:active,.datepicker table tr td span.active:hover:active,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:hover:active,.datepicker table tr td span.active.active,.datepicker table tr td span.active:hover.active,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled:hover.active,.datepicker table tr td span.active.disabled,.datepicker table tr td span.active:hover.disabled,.datepicker table tr td span.active.disabled.disabled,.datepicker table tr td span.active.disabled:hover.disabled,.datepicker table tr td span.active[disabled],.datepicker table tr td span.active:hover[disabled],.datepicker table tr td span.active.disabled[disabled],.datepicker table tr td span.active.disabled:hover[disabled]{background-color:#04c}.datepicker table tr td span.active:active,.datepicker table tr td span.active:hover:active,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:hover:active,.datepicker table tr td span.active.active,.datepicker table tr td span.active:hover.active,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled:hover.active{background-color:#039 \9}.datepicker table tr td span.old{color:#999}.datepicker th.switch{width:145px}.datepicker thead tr:first-child th,.datepicker tfoot tr:first-child th{cursor:pointer}.datepicker thead tr:first-child th:hover,.datepicker tfoot tr:first-child th:hover{background:#eee}.datepicker .cw{font-size:10px;width:12px;padding:0 2px 0 5px;vertical-align:middle}.datepicker thead tr:first-child th.cw{cursor:default;background-color:transparent}.input-append.date .add-on i,.input-prepend.date .add-on i{display:block;cursor:pointer;width:16px;height:16px}/*! - * Timepicker Component for Twitter Bootstrap - * - * Copyright 2013 Joris de Wit - * - * Contributors https://github.com/jdewit/bootstrap-timepicker/graphs/contributors - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */.bootstrap-timepicker{position:relative}.bootstrap-timepicker.pull-right .bootstrap-timepicker-widget.dropdown-menu{left:auto;right:0}.bootstrap-timepicker.pull-right .bootstrap-timepicker-widget.dropdown-menu:before{left:auto;right:12px}.bootstrap-timepicker.pull-right .bootstrap-timepicker-widget.dropdown-menu:after{left:auto;right:13px}.bootstrap-timepicker .add-on{cursor:pointer}.bootstrap-timepicker .add-on i{display:inline-block;width:16px;height:16px}.bootstrap-timepicker-widget.dropdown-menu{padding:2px 3px 2px 2px}.bootstrap-timepicker-widget.dropdown-menu.open{display:inline-block}.bootstrap-timepicker-widget.dropdown-menu:before{border-bottom:7px solid rgba(0,0,0,.2);border-left:7px solid transparent;border-right:7px solid transparent;content:"";display:inline-block;left:9px;position:absolute;top:-7px}.bootstrap-timepicker-widget.dropdown-menu:after{border-bottom:6px solid #FFF;border-left:6px solid transparent;border-right:6px solid transparent;content:"";display:inline-block;left:10px;position:absolute;top:-6px}.bootstrap-timepicker-widget a.btn,.bootstrap-timepicker-widget input{border-radius:4px}.bootstrap-timepicker-widget table{width:100%;margin:0}.bootstrap-timepicker-widget table td{text-align:center;height:30px;margin:0;padding:2px}.bootstrap-timepicker-widget table td:not(.separator){min-width:30px}.bootstrap-timepicker-widget table td span{width:100%}.bootstrap-timepicker-widget table td a{border:1px transparent solid;width:100%;display:inline-block;margin:0;padding:8px 0;outline:0;color:#333}.bootstrap-timepicker-widget table td a:hover{text-decoration:none;background-color:#eee;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;border-color:#ddd}.bootstrap-timepicker-widget table td a i{margin-top:2px}.bootstrap-timepicker-widget table td input{width:25px;margin:0;text-align:center}.bootstrap-timepicker-widget .modal-content{padding:4px}@media (min-width:767px){.bootstrap-timepicker-widget.modal{width:200px;margin-left:-100px}}@media (max-width:767px){.bootstrap-timepicker{width:100%}.bootstrap-timepicker .dropdown-menu{width:100%}}.sp-container{position:absolute;top:0;left:0;display:inline-block;*display:inline;*zoom:1;z-index:9999994;overflow:hidden}.sp-container.sp-flat{position:relative}.sp-container,.sp-container *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.sp-top{position:relative;width:100%;display:inline-block}.sp-top-inner{position:absolute;top:0;left:0;bottom:0;right:0}.sp-color{position:absolute;top:0;left:0;bottom:0;right:20%}.sp-hue{position:absolute;top:0;right:0;bottom:0;left:84%;height:100%}.sp-clear-enabled .sp-hue{top:33px;height:77.5%}.sp-fill{padding-top:80%}.sp-sat,.sp-val{position:absolute;top:0;left:0;right:0;bottom:0}.sp-alpha-enabled .sp-top{margin-bottom:18px}.sp-alpha-enabled .sp-alpha{display:block}.sp-alpha-handle{position:absolute;top:-4px;bottom:-4px;width:6px;left:50%;cursor:pointer;border:1px solid #000;background:#fff;opacity:.8}.sp-alpha{display:none;position:absolute;bottom:-14px;right:0;left:0;height:8px}.sp-alpha-inner{border:solid 1px #333}.sp-clear{display:none}.sp-clear.sp-clear-display{background-position:center}.sp-clear-enabled .sp-clear{display:block;position:absolute;top:0;right:0;bottom:0;left:84%;height:28px}.sp-container,.sp-replacer,.sp-preview,.sp-dragger,.sp-slider,.sp-alpha,.sp-clear,.sp-alpha-handle,.sp-container.sp-dragging .sp-input,.sp-container button{-webkit-user-select:none;-moz-user-select:-moz-none;-o-user-select:none;user-select:none}.sp-container.sp-input-disabled .sp-input-container{display:none}.sp-container.sp-buttons-disabled .sp-button-container{display:none}.sp-palette-only .sp-picker-container{display:none}.sp-palette-disabled .sp-palette-container{display:none}.sp-initial-disabled .sp-initial{display:none}.sp-sat{background-image:-webkit-gradient(linear,0 0,100% 0,from(#FFF),to(rgba(204,154,129,0)));background-image:-webkit-linear-gradient(left,#FFF,rgba(204,154,129,0));background-image:-moz-linear-gradient(left,#fff,rgba(204,154,129,0));background-image:-o-linear-gradient(left,#fff,rgba(204,154,129,0));background-image:-ms-linear-gradient(left,#fff,rgba(204,154,129,0));background-image:linear-gradient(to right,#fff,rgba(204,154,129,0));-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType = 1, startColorstr=#FFFFFFFF, endColorstr=#00CC9A81)";filter:progid:DXImageTransform.Microsoft.gradient(GradientType=1, startColorstr='#FFFFFFFF', endColorstr='#00CC9A81')}.sp-val{background-image:-webkit-gradient(linear,0 100%,0 0,from(#000),to(rgba(204,154,129,0)));background-image:-webkit-linear-gradient(bottom,#000,rgba(204,154,129,0));background-image:-moz-linear-gradient(bottom,#000,rgba(204,154,129,0));background-image:-o-linear-gradient(bottom,#000,rgba(204,154,129,0));background-image:-ms-linear-gradient(bottom,#000,rgba(204,154,129,0));background-image:linear-gradient(to top,#000,rgba(204,154,129,0));-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#00CC9A81, endColorstr=#FF000000)";filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00CC9A81', endColorstr='#FF000000')}.sp-hue{background:-moz-linear-gradient(top,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);background:-ms-linear-gradient(top,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);background:-o-linear-gradient(top,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);background:-webkit-gradient(linear,left top,left bottom,from(red),color-stop(0.17,#ff0),color-stop(0.33,#0f0),color-stop(0.5,#0ff),color-stop(0.67,#00f),color-stop(0.83,#f0f),to(red));background:-webkit-linear-gradient(top,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}.sp-1{height:17%;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0000', endColorstr='#ffff00')}.sp-2{height:16%;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff00', endColorstr='#00ff00')}.sp-3{height:17%;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ff00', endColorstr='#00ffff')}.sp-4{height:17%;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ffff', endColorstr='#0000ff')}.sp-5{height:16%;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0000ff', endColorstr='#ff00ff')}.sp-6{height:17%;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff00ff', endColorstr='#ff0000')}.sp-hidden{display:none!important}.sp-cf:before,.sp-cf:after{content:"";display:table}.sp-cf:after{clear:both}.sp-cf{*zoom:1}@media (max-device-width:480px){.sp-color{right:40%}.sp-hue{left:63%}.sp-fill{padding-top:60%}}.sp-dragger{border-radius:5px;height:5px;width:5px;border:1px solid #fff;background:#000;cursor:pointer;position:absolute;top:0;left:0}.sp-slider{position:absolute;top:0;cursor:pointer;height:3px;left:-1px;right:-1px;border:1px solid #000;background:#fff;opacity:.8}.sp-container{border-radius:0;background-color:#ECECEC;border:solid 1px #f0c49B;padding:0}.sp-container,.sp-container button,.sp-container input,.sp-color,.sp-hue,.sp-clear{font:400 12px "Lucida Grande","Lucida Sans Unicode","Lucida Sans",Geneva,Verdana,sans-serif;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.sp-top{margin-bottom:3px}.sp-color,.sp-hue,.sp-clear{border:solid 1px #666}.sp-input-container{float:right;width:100px;margin-bottom:4px}.sp-initial-disabled .sp-input-container{width:100%}.sp-input{font-size:12px!important;border:1px inset;padding:4px 5px;margin:0;width:100%;background:transparent;border-radius:3px;color:#222}.sp-input:focus{border:1px solid orange}.sp-input.sp-validation-error{border:1px solid red;background:#fdd}.sp-picker-container,.sp-palette-container{float:left;position:relative;padding:10px;padding-bottom:300px;margin-bottom:-290px}.sp-picker-container{width:172px;border-left:solid 1px #fff}.sp-palette-container{border-right:solid 1px #ccc}.sp-palette .sp-thumb-el{display:block;position:relative;float:left;width:24px;height:15px;margin:3px;cursor:pointer;border:solid 2px transparent}.sp-palette .sp-thumb-el:hover,.sp-palette .sp-thumb-el.sp-thumb-active{border-color:orange}.sp-thumb-el{position:relative}.sp-initial{float:left;border:solid 1px #333}.sp-initial span{width:30px;height:25px;border:0;display:block;float:left;margin:0}.sp-initial .sp-clear-display{background-position:center}.sp-button-container{float:right}.sp-replacer{margin:0;overflow:hidden;cursor:pointer;padding:4px;display:inline-block;*zoom:1;*display:inline;border:solid 1px #91765d;background:#eee;color:#333;vertical-align:middle}.sp-replacer:hover,.sp-replacer.sp-active{border-color:#F0C49B;color:#111}.sp-replacer.sp-disabled{cursor:default;border-color:silver;color:silver}.sp-dd{padding:2px 0;height:16px;line-height:16px;float:left;font-size:10px}.sp-preview{position:relative;width:25px;height:20px;border:solid 1px #222;margin-right:5px;float:left;z-index:0}.sp-palette{*width:220px;max-width:220px}.sp-palette .sp-thumb-el{width:16px;height:16px;margin:2px 1px;border:solid 1px #d0d0d0}.sp-container{padding-bottom:0}.sp-container button{background-color:#eee;background-image:-webkit-linear-gradient(top,#eee,#ccc);background-image:-moz-linear-gradient(top,#eee,#ccc);background-image:-ms-linear-gradient(top,#eee,#ccc);background-image:-o-linear-gradient(top,#eee,#ccc);background-image:linear-gradient(to bottom,#eee,#ccc);border:1px solid #ccc;border-bottom:1px solid #bbb;border-radius:3px;color:#333;font-size:14px;line-height:1;padding:5px 4px;text-align:center;text-shadow:0 1px 0 #eee;vertical-align:middle}.sp-container button:hover{background-color:#ddd;background-image:-webkit-linear-gradient(top,#ddd,#bbb);background-image:-moz-linear-gradient(top,#ddd,#bbb);background-image:-ms-linear-gradient(top,#ddd,#bbb);background-image:-o-linear-gradient(top,#ddd,#bbb);background-image:linear-gradient(to bottom,#ddd,#bbb);border:1px solid #bbb;border-bottom:1px solid #999;cursor:pointer;text-shadow:0 1px 0 #ddd}.sp-container button:active{border:1px solid #aaa;border-bottom:1px solid #888;-webkit-box-shadow:inset 0 0 5px 2px #aaa,0 1px 0 0 #eee;-moz-box-shadow:inset 0 0 5px 2px #aaa,0 1px 0 0 #eee;-ms-box-shadow:inset 0 0 5px 2px #aaa,0 1px 0 0 #eee;-o-box-shadow:inset 0 0 5px 2px #aaa,0 1px 0 0 #eee;box-shadow:inset 0 0 5px 2px #aaa,0 1px 0 0 #eee}.sp-cancel{font-size:11px;color:#d93f3f!important;margin:0;padding:2px;margin-right:5px;vertical-align:middle;text-decoration:none}.sp-cancel:hover{color:#d93f3f!important;text-decoration:underline}.sp-palette span:hover,.sp-palette span.sp-thumb-active{border-color:#000}.sp-preview,.sp-alpha,.sp-thumb-el{position:relative;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.sp-preview-inner,.sp-alpha-inner,.sp-thumb-inner{display:block;position:absolute;top:0;left:0;bottom:0;right:0}.sp-palette .sp-thumb-inner{background-position:50% 50%;background-repeat:no-repeat}.sp-palette .sp-thumb-light.sp-thumb-active .sp-thumb-inner{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIVJREFUeNpiYBhsgJFMffxAXABlN5JruT4Q3wfi/0DsT64h8UD8HmpIPCWG/KemIfOJCUB+Aoacx6EGBZyHBqI+WsDCwuQ9mhxeg2A210Ntfo8klk9sOMijaURm7yc1UP2RNCMbKE9ODK1HM6iegYLkfx8pligC9lCD7KmRof0ZhjQACDAAceovrtpVBRkAAAAASUVORK5CYII=)}.sp-palette .sp-thumb-dark.sp-thumb-active .sp-thumb-inner{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAAMdJREFUOE+tkgsNwzAMRMugEAahEAahEAZhEAqlEAZhEAohEAYh81X2dIm8fKpEspLGvudPOsUYpxE2BIJCroJmEW9qJ+MKaBFhEMNabSy9oIcIPwrB+afvAUFoK4H0tMaQ3XtlrggDhOVVMuT4E5MMG0FBbCEYzjYT7OxLEvIHQLY2zWwQ3D+9luyOQTfKDiFD3iUIfPk8VqrKjgAiSfGFPecrg6HN6m/iBcwiDAo7WiBeawa+Kwh7tZoSCGLMqwlSAzVDhoK+6vH4G0P5wdkAAAAASUVORK5CYII=)}.sp-clear-display{background-repeat:no-repeat;background-position:center;background-image:url(data:image/gif;base64,R0lGODlhFAAUAPcAAAAAAJmZmZ2dnZ6enqKioqOjo6SkpKWlpaampqenp6ioqKmpqaqqqqurq/Hx8fLy8vT09PX19ff39/j4+Pn5+fr6+vv7+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAP8ALAAAAAAUABQAAAihAP9FoPCvoMGDBy08+EdhQAIJCCMybCDAAYUEARBAlFiQQoMABQhKUJBxY0SPICEYHBnggEmDKAuoPMjS5cGYMxHW3IiT478JJA8M/CjTZ0GgLRekNGpwAsYABHIypcAgQMsITDtWJYBR6NSqMico9cqR6tKfY7GeBCuVwlipDNmefAtTrkSzB1RaIAoXodsABiZAEFB06gIBWC1mLVgBa0AAOw==)}body{-webkit-backface-visibility:hidden}.animated{-webkit-animation-duration:1s;-moz-animation-duration:1s;-o-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;-moz-animation-fill-mode:both;-o-animation-fill-mode:both;animation-fill-mode:both}.infinite{-webkit-animation-iteration-count:infinite;-moz-animation-iteration-count:infinite;-o-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.hinge{-webkit-animation-duration:2s;-moz-animation-duration:2s;-o-animation-duration:2s;animation-duration:2s}@-webkit-keyframes flash{0%,50%,100%{opacity:1}25%,75%{opacity:0}}@-moz-keyframes flash{0%,50%,100%{opacity:1}25%,75%{opacity:0}}@-o-keyframes flash{0%,50%,100%{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,50%,100%{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;-moz-animation-name:flash;-o-animation-name:flash;animation-name:flash}@-webkit-keyframes shake{0%,100%{-webkit-transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px)}}@-moz-keyframes shake{0%,100%{-moz-transform:translateX(0)}10%,30%,50%,70%,90%{-moz-transform:translateX(-10px)}20%,40%,60%,80%{-moz-transform:translateX(10px)}}@-o-keyframes shake{0%,100%{-o-transform:translateX(0)}10%,30%,50%,70%,90%{-o-transform:translateX(-10px)}20%,40%,60%,80%{-o-transform:translateX(10px)}}@keyframes shake{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-10px)}20%,40%,60%,80%{transform:translateX(10px)}}.shake{-webkit-animation-name:shake;-moz-animation-name:shake;-o-animation-name:shake;animation-name:shake}@-webkit-keyframes bounce{0%,20%,50%,80%,100%{-webkit-transform:translateY(0)}40%{-webkit-transform:translateY(-30px)}60%{-webkit-transform:translateY(-15px)}}@-moz-keyframes bounce{0%,20%,50%,80%,100%{-moz-transform:translateY(0)}40%{-moz-transform:translateY(-30px)}60%{-moz-transform:translateY(-15px)}}@-o-keyframes bounce{0%,20%,50%,80%,100%{-o-transform:translateY(0)}40%{-o-transform:translateY(-30px)}60%{-o-transform:translateY(-15px)}}@keyframes bounce{0%,20%,50%,80%,100%{transform:translateY(0)}40%{transform:translateY(-30px)}60%{transform:translateY(-15px)}}.bounce{-webkit-animation-name:bounce;-moz-animation-name:bounce;-o-animation-name:bounce;animation-name:bounce}@-webkit-keyframes tada{0%{-webkit-transform:scale(1)}10%,20%{-webkit-transform:scale(0.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale(1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale(1.1) rotate(-3deg)}100%{-webkit-transform:scale(1) rotate(0)}}@-moz-keyframes tada{0%{-moz-transform:scale(1)}10%,20%{-moz-transform:scale(0.9) rotate(-3deg)}30%,50%,70%,90%{-moz-transform:scale(1.1) rotate(3deg)}40%,60%,80%{-moz-transform:scale(1.1) rotate(-3deg)}100%{-moz-transform:scale(1) rotate(0)}}@-o-keyframes tada{0%{-o-transform:scale(1)}10%,20%{-o-transform:scale(0.9) rotate(-3deg)}30%,50%,70%,90%{-o-transform:scale(1.1) rotate(3deg)}40%,60%,80%{-o-transform:scale(1.1) rotate(-3deg)}100%{-o-transform:scale(1) rotate(0)}}@keyframes tada{0%{transform:scale(1)}10%,20%{transform:scale(0.9) rotate(-3deg)}30%,50%,70%,90%{transform:scale(1.1) rotate(3deg)}40%,60%,80%{transform:scale(1.1) rotate(-3deg)}100%{transform:scale(1) rotate(0)}}.tada{-webkit-animation-name:tada;-moz-animation-name:tada;-o-animation-name:tada;animation-name:tada}@-webkit-keyframes swing{20%,40%,60%,80%,100%{-webkit-transform-origin:top center}20%{-webkit-transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg)}100%{-webkit-transform:rotate(0deg)}}@-moz-keyframes swing{20%{-moz-transform:rotate(15deg)}40%{-moz-transform:rotate(-10deg)}60%{-moz-transform:rotate(5deg)}80%{-moz-transform:rotate(-5deg)}100%{-moz-transform:rotate(0deg)}}@-o-keyframes swing{20%{-o-transform:rotate(15deg)}40%{-o-transform:rotate(-10deg)}60%{-o-transform:rotate(5deg)}80%{-o-transform:rotate(-5deg)}100%{-o-transform:rotate(0deg)}}@keyframes swing{20%{transform:rotate(15deg)}40%{transform:rotate(-10deg)}60%{transform:rotate(5deg)}80%{transform:rotate(-5deg)}100%{transform:rotate(0deg)}}.swing{-webkit-transform-origin:top center;-moz-transform-origin:top center;-o-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;-moz-animation-name:swing;-o-animation-name:swing;animation-name:swing}@-webkit-keyframes wobble{0%{-webkit-transform:translateX(0%)}15%{-webkit-transform:translateX(-25%) rotate(-5deg)}30%{-webkit-transform:translateX(20%) rotate(3deg)}45%{-webkit-transform:translateX(-15%) rotate(-3deg)}60%{-webkit-transform:translateX(10%) rotate(2deg)}75%{-webkit-transform:translateX(-5%) rotate(-1deg)}100%{-webkit-transform:translateX(0%)}}@-moz-keyframes wobble{0%{-moz-transform:translateX(0%)}15%{-moz-transform:translateX(-25%) rotate(-5deg)}30%{-moz-transform:translateX(20%) rotate(3deg)}45%{-moz-transform:translateX(-15%) rotate(-3deg)}60%{-moz-transform:translateX(10%) rotate(2deg)}75%{-moz-transform:translateX(-5%) rotate(-1deg)}100%{-moz-transform:translateX(0%)}}@-o-keyframes wobble{0%{-o-transform:translateX(0%)}15%{-o-transform:translateX(-25%) rotate(-5deg)}30%{-o-transform:translateX(20%) rotate(3deg)}45%{-o-transform:translateX(-15%) rotate(-3deg)}60%{-o-transform:translateX(10%) rotate(2deg)}75%{-o-transform:translateX(-5%) rotate(-1deg)}100%{-o-transform:translateX(0%)}}@keyframes wobble{0%{transform:translateX(0%)}15%{transform:translateX(-25%) rotate(-5deg)}30%{transform:translateX(20%) rotate(3deg)}45%{transform:translateX(-15%) rotate(-3deg)}60%{transform:translateX(10%) rotate(2deg)}75%{transform:translateX(-5%) rotate(-1deg)}100%{transform:translateX(0%)}}.wobble{-webkit-animation-name:wobble;-moz-animation-name:wobble;-o-animation-name:wobble;animation-name:wobble}@-webkit-keyframes pulse{0%{-webkit-transform:scale(1)}50%{-webkit-transform:scale(1.1)}100%{-webkit-transform:scale(1)}}@-moz-keyframes pulse{0%{-moz-transform:scale(1)}50%{-moz-transform:scale(1.1)}100%{-moz-transform:scale(1)}}@-o-keyframes pulse{0%{-o-transform:scale(1)}50%{-o-transform:scale(1.1)}100%{-o-transform:scale(1)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}100%{transform:scale(1)}}.pulse{-webkit-animation-name:pulse;-moz-animation-name:pulse;-o-animation-name:pulse;animation-name:pulse}@-webkit-keyframes flip{0%{-webkit-transform:perspective(400px) rotateY(0);-webkit-animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(170deg);-webkit-animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1);-webkit-animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) rotateY(360deg) scale(.95);-webkit-animation-timing-function:ease-in}100%{-webkit-transform:perspective(400px) scale(1);-webkit-animation-timing-function:ease-in}}@-moz-keyframes flip{0%{-moz-transform:perspective(400px) rotateY(0);-moz-animation-timing-function:ease-out}40%{-moz-transform:perspective(400px) translateZ(150px) rotateY(170deg);-moz-animation-timing-function:ease-out}50%{-moz-transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1);-moz-animation-timing-function:ease-in}80%{-moz-transform:perspective(400px) rotateY(360deg) scale(.95);-moz-animation-timing-function:ease-in}100%{-moz-transform:perspective(400px) scale(1);-moz-animation-timing-function:ease-in}}@-o-keyframes flip{0%{-o-transform:perspective(400px) rotateY(0);-o-animation-timing-function:ease-out}40%{-o-transform:perspective(400px) translateZ(150px) rotateY(170deg);-o-animation-timing-function:ease-out}50%{-o-transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1);-o-animation-timing-function:ease-in}80%{-o-transform:perspective(400px) rotateY(360deg) scale(.95);-o-animation-timing-function:ease-in}100%{-o-transform:perspective(400px) scale(1);-o-animation-timing-function:ease-in}}@keyframes flip{0%{transform:perspective(400px) rotateY(0);animation-timing-function:ease-out}40%{transform:perspective(400px) translateZ(150px) rotateY(170deg);animation-timing-function:ease-out}50%{transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1);animation-timing-function:ease-in}80%{transform:perspective(400px) rotateY(360deg) scale(.95);animation-timing-function:ease-in}100%{transform:perspective(400px) scale(1);animation-timing-function:ease-in}}.flip{-webkit-backface-visibility:visible!important;-webkit-animation-name:flip;-moz-backface-visibility:visible!important;-moz-animation-name:flip;-o-backface-visibility:visible!important;-o-animation-name:flip;backface-visibility:visible!important;animation-name:flip}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-10deg)}70%{-webkit-transform:perspective(400px) rotateX(10deg)}100%{-webkit-transform:perspective(400px) rotateX(0deg);opacity:1}}@-moz-keyframes flipInX{0%{-moz-transform:perspective(400px) rotateX(90deg);opacity:0}40%{-moz-transform:perspective(400px) rotateX(-10deg)}70%{-moz-transform:perspective(400px) rotateX(10deg)}100%{-moz-transform:perspective(400px) rotateX(0deg);opacity:1}}@-o-keyframes flipInX{0%{-o-transform:perspective(400px) rotateX(90deg);opacity:0}40%{-o-transform:perspective(400px) rotateX(-10deg)}70%{-o-transform:perspective(400px) rotateX(10deg)}100%{-o-transform:perspective(400px) rotateX(0deg);opacity:1}}@keyframes flipInX{0%{transform:perspective(400px) rotateX(90deg);opacity:0}40%{transform:perspective(400px) rotateX(-10deg)}70%{transform:perspective(400px) rotateX(10deg)}100%{transform:perspective(400px) rotateX(0deg);opacity:1}}.flipInX{-webkit-backface-visibility:visible!important;-webkit-animation-name:flipInX;-moz-backface-visibility:visible!important;-moz-animation-name:flipInX;-o-backface-visibility:visible!important;-o-animation-name:flipInX;backface-visibility:visible!important;animation-name:flipInX}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px) rotateX(0deg);opacity:1}100%{-webkit-transform:perspective(400px) rotateX(90deg);opacity:0}}@-moz-keyframes flipOutX{0%{-moz-transform:perspective(400px) rotateX(0deg);opacity:1}100%{-moz-transform:perspective(400px) rotateX(90deg);opacity:0}}@-o-keyframes flipOutX{0%{-o-transform:perspective(400px) rotateX(0deg);opacity:1}100%{-o-transform:perspective(400px) rotateX(90deg);opacity:0}}@keyframes flipOutX{0%{transform:perspective(400px) rotateX(0deg);opacity:1}100%{transform:perspective(400px) rotateX(90deg);opacity:0}}.flipOutX{-webkit-animation-name:flipOutX;-webkit-backface-visibility:visible!important;-moz-animation-name:flipOutX;-moz-backface-visibility:visible!important;-o-animation-name:flipOutX;-o-backface-visibility:visible!important;animation-name:flipOutX;backface-visibility:visible!important}@-webkit-keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);opacity:0}40%{-webkit-transform:perspective(400px) rotateY(-10deg)}70%{-webkit-transform:perspective(400px) rotateY(10deg)}100%{-webkit-transform:perspective(400px) rotateY(0deg);opacity:1}}@-moz-keyframes flipInY{0%{-moz-transform:perspective(400px) rotateY(90deg);opacity:0}40%{-moz-transform:perspective(400px) rotateY(-10deg)}70%{-moz-transform:perspective(400px) rotateY(10deg)}100%{-moz-transform:perspective(400px) rotateY(0deg);opacity:1}}@-o-keyframes flipInY{0%{-o-transform:perspective(400px) rotateY(90deg);opacity:0}40%{-o-transform:perspective(400px) rotateY(-10deg)}70%{-o-transform:perspective(400px) rotateY(10deg)}100%{-o-transform:perspective(400px) rotateY(0deg);opacity:1}}@keyframes flipInY{0%{transform:perspective(400px) rotateY(90deg);opacity:0}40%{transform:perspective(400px) rotateY(-10deg)}70%{transform:perspective(400px) rotateY(10deg)}100%{transform:perspective(400px) rotateY(0deg);opacity:1}}.flipInY{-webkit-backface-visibility:visible!important;-webkit-animation-name:flipInY;-moz-backface-visibility:visible!important;-moz-animation-name:flipInY;-o-backface-visibility:visible!important;-o-animation-name:flipInY;backface-visibility:visible!important;animation-name:flipInY}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px) rotateY(0deg);opacity:1}100%{-webkit-transform:perspective(400px) rotateY(90deg);opacity:0}}@-moz-keyframes flipOutY{0%{-moz-transform:perspective(400px) rotateY(0deg);opacity:1}100%{-moz-transform:perspective(400px) rotateY(90deg);opacity:0}}@-o-keyframes flipOutY{0%{-o-transform:perspective(400px) rotateY(0deg);opacity:1}100%{-o-transform:perspective(400px) rotateY(90deg);opacity:0}}@keyframes flipOutY{0%{transform:perspective(400px) rotateY(0deg);opacity:1}100%{transform:perspective(400px) rotateY(90deg);opacity:0}}.flipOutY{-webkit-backface-visibility:visible!important;-webkit-animation-name:flipOutY;-moz-backface-visibility:visible!important;-moz-animation-name:flipOutY;-o-backface-visibility:visible!important;-o-animation-name:flipOutY;backface-visibility:visible!important;animation-name:flipOutY}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-moz-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-o-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;-moz-animation-name:fadeIn;-o-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(20px)}100%{opacity:1;-webkit-transform:translateY(0)}}@-moz-keyframes fadeInUp{0%{opacity:0;-moz-transform:translateY(20px)}100%{opacity:1;-moz-transform:translateY(0)}}@-o-keyframes fadeInUp{0%{opacity:0;-o-transform:translateY(20px)}100%{opacity:1;-o-transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}100%{opacity:1;transform:translateY(0)}}.fadeInUp{-webkit-animation-name:fadeInUp;-moz-animation-name:fadeInUp;-o-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translateY(-20px)}100%{opacity:1;-webkit-transform:translateY(0)}}@-moz-keyframes fadeInDown{0%{opacity:0;-moz-transform:translateY(-20px)}100%{opacity:1;-moz-transform:translateY(0)}}@-o-keyframes fadeInDown{0%{opacity:0;-o-transform:translateY(-20px)}100%{opacity:1;-o-transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}100%{opacity:1;transform:translateY(0)}}.fadeInDown{-webkit-animation-name:fadeInDown;-moz-animation-name:fadeInDown;-o-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translateX(-20px)}100%{opacity:1;-webkit-transform:translateX(0)}}@-moz-keyframes fadeInLeft{0%{opacity:0;-moz-transform:translateX(-20px)}100%{opacity:1;-moz-transform:translateX(0)}}@-o-keyframes fadeInLeft{0%{opacity:0;-o-transform:translateX(-20px)}100%{opacity:1;-o-transform:translateX(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-20px)}100%{opacity:1;transform:translateX(0)}}.fadeInLeft{-webkit-animation-name:fadeInLeft;-moz-animation-name:fadeInLeft;-o-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translateX(20px)}100%{opacity:1;-webkit-transform:translateX(0)}}@-moz-keyframes fadeInRight{0%{opacity:0;-moz-transform:translateX(20px)}100%{opacity:1;-moz-transform:translateX(0)}}@-o-keyframes fadeInRight{0%{opacity:0;-o-transform:translateX(20px)}100%{opacity:1;-o-transform:translateX(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translateX(20px)}100%{opacity:1;transform:translateX(0)}}.fadeInRight{-webkit-animation-name:fadeInRight;-moz-animation-name:fadeInRight;-o-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0)}}@-moz-keyframes fadeInUpBig{0%{opacity:0;-moz-transform:translateY(2000px)}100%{opacity:1;-moz-transform:translateY(0)}}@-o-keyframes fadeInUpBig{0%{opacity:0;-o-transform:translateY(2000px)}100%{opacity:1;-o-transform:translateY(0)}}@keyframes fadeInUpBig{0%{opacity:0;transform:translateY(2000px)}100%{opacity:1;transform:translateY(0)}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;-moz-animation-name:fadeInUpBig;-o-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translateY(-2000px)}100%{opacity:1;-webkit-transform:translateY(0)}}@-moz-keyframes fadeInDownBig{0%{opacity:0;-moz-transform:translateY(-2000px)}100%{opacity:1;-moz-transform:translateY(0)}}@-o-keyframes fadeInDownBig{0%{opacity:0;-o-transform:translateY(-2000px)}100%{opacity:1;-o-transform:translateY(0)}}@keyframes fadeInDownBig{0%{opacity:0;transform:translateY(-2000px)}100%{opacity:1;transform:translateY(0)}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;-moz-animation-name:fadeInDownBig;-o-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translateX(-2000px)}100%{opacity:1;-webkit-transform:translateX(0)}}@-moz-keyframes fadeInLeftBig{0%{opacity:0;-moz-transform:translateX(-2000px)}100%{opacity:1;-moz-transform:translateX(0)}}@-o-keyframes fadeInLeftBig{0%{opacity:0;-o-transform:translateX(-2000px)}100%{opacity:1;-o-transform:translateX(0)}}@keyframes fadeInLeftBig{0%{opacity:0;transform:translateX(-2000px)}100%{opacity:1;transform:translateX(0)}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;-moz-animation-name:fadeInLeftBig;-o-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translateX(2000px)}100%{opacity:1;-webkit-transform:translateX(0)}}@-moz-keyframes fadeInRightBig{0%{opacity:0;-moz-transform:translateX(2000px)}100%{opacity:1;-moz-transform:translateX(0)}}@-o-keyframes fadeInRightBig{0%{opacity:0;-o-transform:translateX(2000px)}100%{opacity:1;-o-transform:translateX(0)}}@keyframes fadeInRightBig{0%{opacity:0;transform:translateX(2000px)}100%{opacity:1;transform:translateX(0)}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;-moz-animation-name:fadeInRightBig;-o-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@-moz-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@-o-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;-moz-animation-name:fadeOut;-o-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutUp{0%{opacity:1;-webkit-transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-20px)}}@-moz-keyframes fadeOutUp{0%{opacity:1;-moz-transform:translateY(0)}100%{opacity:0;-moz-transform:translateY(-20px)}}@-o-keyframes fadeOutUp{0%{opacity:1;-o-transform:translateY(0)}100%{opacity:0;-o-transform:translateY(-20px)}}@keyframes fadeOutUp{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-20px)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;-moz-animation-name:fadeOutUp;-o-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutDown{0%{opacity:1;-webkit-transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(20px)}}@-moz-keyframes fadeOutDown{0%{opacity:1;-moz-transform:translateY(0)}100%{opacity:0;-moz-transform:translateY(20px)}}@-o-keyframes fadeOutDown{0%{opacity:1;-o-transform:translateY(0)}100%{opacity:0;-o-transform:translateY(20px)}}@keyframes fadeOutDown{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(20px)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;-moz-animation-name:fadeOutDown;-o-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutLeft{0%{opacity:1;-webkit-transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-20px)}}@-moz-keyframes fadeOutLeft{0%{opacity:1;-moz-transform:translateX(0)}100%{opacity:0;-moz-transform:translateX(-20px)}}@-o-keyframes fadeOutLeft{0%{opacity:1;-o-transform:translateX(0)}100%{opacity:0;-o-transform:translateX(-20px)}}@keyframes fadeOutLeft{0%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(-20px)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;-moz-animation-name:fadeOutLeft;-o-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutRight{0%{opacity:1;-webkit-transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(20px)}}@-moz-keyframes fadeOutRight{0%{opacity:1;-moz-transform:translateX(0)}100%{opacity:0;-moz-transform:translateX(20px)}}@-o-keyframes fadeOutRight{0%{opacity:1;-o-transform:translateX(0)}100%{opacity:0;-o-transform:translateX(20px)}}@keyframes fadeOutRight{0%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(20px)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;-moz-animation-name:fadeOutRight;-o-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutUpBig{0%{opacity:1;-webkit-transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-2000px)}}@-moz-keyframes fadeOutUpBig{0%{opacity:1;-moz-transform:translateY(0)}100%{opacity:0;-moz-transform:translateY(-2000px)}}@-o-keyframes fadeOutUpBig{0%{opacity:1;-o-transform:translateY(0)}100%{opacity:0;-o-transform:translateY(-2000px)}}@keyframes fadeOutUpBig{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-2000px)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;-moz-animation-name:fadeOutUpBig;-o-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes fadeOutDownBig{0%{opacity:1;-webkit-transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(2000px)}}@-moz-keyframes fadeOutDownBig{0%{opacity:1;-moz-transform:translateY(0)}100%{opacity:0;-moz-transform:translateY(2000px)}}@-o-keyframes fadeOutDownBig{0%{opacity:1;-o-transform:translateY(0)}100%{opacity:0;-o-transform:translateY(2000px)}}@keyframes fadeOutDownBig{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(2000px)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;-moz-animation-name:fadeOutDownBig;-o-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1;-webkit-transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-2000px)}}@-moz-keyframes fadeOutLeftBig{0%{opacity:1;-moz-transform:translateX(0)}100%{opacity:0;-moz-transform:translateX(-2000px)}}@-o-keyframes fadeOutLeftBig{0%{opacity:1;-o-transform:translateX(0)}100%{opacity:0;-o-transform:translateX(-2000px)}}@keyframes fadeOutLeftBig{0%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(-2000px)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;-moz-animation-name:fadeOutLeftBig;-o-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRightBig{0%{opacity:1;-webkit-transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(2000px)}}@-moz-keyframes fadeOutRightBig{0%{opacity:1;-moz-transform:translateX(0)}100%{opacity:0;-moz-transform:translateX(2000px)}}@-o-keyframes fadeOutRightBig{0%{opacity:1;-o-transform:translateX(0)}100%{opacity:0;-o-transform:translateX(2000px)}}@keyframes fadeOutRightBig{0%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(2000px)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;-moz-animation-name:fadeOutRightBig;-o-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes bounceIn{0%{opacity:0;-webkit-transform:scale(.3)}50%{opacity:1;-webkit-transform:scale(1.05)}70%{-webkit-transform:scale(.9)}100%{-webkit-transform:scale(1)}}@-moz-keyframes bounceIn{0%{opacity:0;-moz-transform:scale(.3)}50%{opacity:1;-moz-transform:scale(1.05)}70%{-moz-transform:scale(.9)}100%{-moz-transform:scale(1)}}@-o-keyframes bounceIn{0%{opacity:0;-o-transform:scale(.3)}50%{opacity:1;-o-transform:scale(1.05)}70%{-o-transform:scale(.9)}100%{-o-transform:scale(1)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}100%{transform:scale(1)}}.bounceIn{-webkit-animation-name:bounceIn;-moz-animation-name:bounceIn;-o-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceInUp{0%{opacity:0;-webkit-transform:translateY(2000px)}60%{opacity:1;-webkit-transform:translateY(-30px)}80%{-webkit-transform:translateY(10px)}100%{-webkit-transform:translateY(0)}}@-moz-keyframes bounceInUp{0%{opacity:0;-moz-transform:translateY(2000px)}60%{opacity:1;-moz-transform:translateY(-30px)}80%{-moz-transform:translateY(10px)}100%{-moz-transform:translateY(0)}}@-o-keyframes bounceInUp{0%{opacity:0;-o-transform:translateY(2000px)}60%{opacity:1;-o-transform:translateY(-30px)}80%{-o-transform:translateY(10px)}100%{-o-transform:translateY(0)}}@keyframes bounceInUp{0%{opacity:0;transform:translateY(2000px)}60%{opacity:1;transform:translateY(-30px)}80%{transform:translateY(10px)}100%{transform:translateY(0)}}.bounceInUp{-webkit-animation-name:bounceInUp;-moz-animation-name:bounceInUp;-o-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceInDown{0%{opacity:0;-webkit-transform:translateY(-2000px)}60%{opacity:1;-webkit-transform:translateY(30px)}80%{-webkit-transform:translateY(-10px)}100%{-webkit-transform:translateY(0)}}@-moz-keyframes bounceInDown{0%{opacity:0;-moz-transform:translateY(-2000px)}60%{opacity:1;-moz-transform:translateY(30px)}80%{-moz-transform:translateY(-10px)}100%{-moz-transform:translateY(0)}}@-o-keyframes bounceInDown{0%{opacity:0;-o-transform:translateY(-2000px)}60%{opacity:1;-o-transform:translateY(30px)}80%{-o-transform:translateY(-10px)}100%{-o-transform:translateY(0)}}@keyframes bounceInDown{0%{opacity:0;transform:translateY(-2000px)}60%{opacity:1;transform:translateY(30px)}80%{transform:translateY(-10px)}100%{transform:translateY(0)}}.bounceInDown{-webkit-animation-name:bounceInDown;-moz-animation-name:bounceInDown;-o-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%{opacity:0;-webkit-transform:translateX(-2000px)}60%{opacity:1;-webkit-transform:translateX(30px)}80%{-webkit-transform:translateX(-10px)}100%{-webkit-transform:translateX(0)}}@-moz-keyframes bounceInLeft{0%{opacity:0;-moz-transform:translateX(-2000px)}60%{opacity:1;-moz-transform:translateX(30px)}80%{-moz-transform:translateX(-10px)}100%{-moz-transform:translateX(0)}}@-o-keyframes bounceInLeft{0%{opacity:0;-o-transform:translateX(-2000px)}60%{opacity:1;-o-transform:translateX(30px)}80%{-o-transform:translateX(-10px)}100%{-o-transform:translateX(0)}}@keyframes bounceInLeft{0%{opacity:0;transform:translateX(-2000px)}60%{opacity:1;transform:translateX(30px)}80%{transform:translateX(-10px)}100%{transform:translateX(0)}}.bounceInLeft{-webkit-animation-name:bounceInLeft;-moz-animation-name:bounceInLeft;-o-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%{opacity:0;-webkit-transform:translateX(2000px)}60%{opacity:1;-webkit-transform:translateX(-30px)}80%{-webkit-transform:translateX(10px)}100%{-webkit-transform:translateX(0)}}@-moz-keyframes bounceInRight{0%{opacity:0;-moz-transform:translateX(2000px)}60%{opacity:1;-moz-transform:translateX(-30px)}80%{-moz-transform:translateX(10px)}100%{-moz-transform:translateX(0)}}@-o-keyframes bounceInRight{0%{opacity:0;-o-transform:translateX(2000px)}60%{opacity:1;-o-transform:translateX(-30px)}80%{-o-transform:translateX(10px)}100%{-o-transform:translateX(0)}}@keyframes bounceInRight{0%{opacity:0;transform:translateX(2000px)}60%{opacity:1;transform:translateX(-30px)}80%{transform:translateX(10px)}100%{transform:translateX(0)}}.bounceInRight{-webkit-animation-name:bounceInRight;-moz-animation-name:bounceInRight;-o-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceOut{0%{-webkit-transform:scale(1)}25%{-webkit-transform:scale(.95)}50%{opacity:1;-webkit-transform:scale(1.1)}100%{opacity:0;-webkit-transform:scale(.3)}}@-moz-keyframes bounceOut{0%{-moz-transform:scale(1)}25%{-moz-transform:scale(.95)}50%{opacity:1;-moz-transform:scale(1.1)}100%{opacity:0;-moz-transform:scale(.3)}}@-o-keyframes bounceOut{0%{-o-transform:scale(1)}25%{-o-transform:scale(.95)}50%{opacity:1;-o-transform:scale(1.1)}100%{opacity:0;-o-transform:scale(.3)}}@keyframes bounceOut{0%{transform:scale(1)}25%{transform:scale(.95)}50%{opacity:1;transform:scale(1.1)}100%{opacity:0;transform:scale(.3)}}.bounceOut{-webkit-animation-name:bounceOut;-moz-animation-name:bounceOut;-o-animation-name:bounceOut;animation-name:bounceOut}@-webkit-keyframes bounceOutUp{0%{-webkit-transform:translateY(0)}20%{opacity:1;-webkit-transform:translateY(20px)}100%{opacity:0;-webkit-transform:translateY(-2000px)}}@-moz-keyframes bounceOutUp{0%{-moz-transform:translateY(0)}20%{opacity:1;-moz-transform:translateY(20px)}100%{opacity:0;-moz-transform:translateY(-2000px)}}@-o-keyframes bounceOutUp{0%{-o-transform:translateY(0)}20%{opacity:1;-o-transform:translateY(20px)}100%{opacity:0;-o-transform:translateY(-2000px)}}@keyframes bounceOutUp{0%{transform:translateY(0)}20%{opacity:1;transform:translateY(20px)}100%{opacity:0;transform:translateY(-2000px)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;-moz-animation-name:bounceOutUp;-o-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes bounceOutDown{0%{-webkit-transform:translateY(0)}20%{opacity:1;-webkit-transform:translateY(-20px)}100%{opacity:0;-webkit-transform:translateY(2000px)}}@-moz-keyframes bounceOutDown{0%{-moz-transform:translateY(0)}20%{opacity:1;-moz-transform:translateY(-20px)}100%{opacity:0;-moz-transform:translateY(2000px)}}@-o-keyframes bounceOutDown{0%{-o-transform:translateY(0)}20%{opacity:1;-o-transform:translateY(-20px)}100%{opacity:0;-o-transform:translateY(2000px)}}@keyframes bounceOutDown{0%{transform:translateY(0)}20%{opacity:1;transform:translateY(-20px)}100%{opacity:0;transform:translateY(2000px)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;-moz-animation-name:bounceOutDown;-o-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{0%{-webkit-transform:translateX(0)}20%{opacity:1;-webkit-transform:translateX(20px)}100%{opacity:0;-webkit-transform:translateX(-2000px)}}@-moz-keyframes bounceOutLeft{0%{-moz-transform:translateX(0)}20%{opacity:1;-moz-transform:translateX(20px)}100%{opacity:0;-moz-transform:translateX(-2000px)}}@-o-keyframes bounceOutLeft{0%{-o-transform:translateX(0)}20%{opacity:1;-o-transform:translateX(20px)}100%{opacity:0;-o-transform:translateX(-2000px)}}@keyframes bounceOutLeft{0%{transform:translateX(0)}20%{opacity:1;transform:translateX(20px)}100%{opacity:0;transform:translateX(-2000px)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;-moz-animation-name:bounceOutLeft;-o-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{0%{-webkit-transform:translateX(0)}20%{opacity:1;-webkit-transform:translateX(-20px)}100%{opacity:0;-webkit-transform:translateX(2000px)}}@-moz-keyframes bounceOutRight{0%{-moz-transform:translateX(0)}20%{opacity:1;-moz-transform:translateX(-20px)}100%{opacity:0;-moz-transform:translateX(2000px)}}@-o-keyframes bounceOutRight{0%{-o-transform:translateX(0)}20%{opacity:1;-o-transform:translateX(-20px)}100%{opacity:0;-o-transform:translateX(2000px)}}@keyframes bounceOutRight{0%{transform:translateX(0)}20%{opacity:1;transform:translateX(-20px)}100%{opacity:0;transform:translateX(2000px)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;-moz-animation-name:bounceOutRight;-o-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes rotateIn{0%{-webkit-transform-origin:center center;-webkit-transform:rotate(-200deg);opacity:0}100%{-webkit-transform-origin:center center;-webkit-transform:rotate(0);opacity:1}}@-moz-keyframes rotateIn{0%{-moz-transform-origin:center center;-moz-transform:rotate(-200deg);opacity:0}100%{-moz-transform-origin:center center;-moz-transform:rotate(0);opacity:1}}@-o-keyframes rotateIn{0%{-o-transform-origin:center center;-o-transform:rotate(-200deg);opacity:0}100%{-o-transform-origin:center center;-o-transform:rotate(0);opacity:1}}@keyframes rotateIn{0%{transform-origin:center center;transform:rotate(-200deg);opacity:0}100%{transform-origin:center center;transform:rotate(0);opacity:1}}.rotateIn{-webkit-animation-name:rotateIn;-moz-animation-name:rotateIn;-o-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInUpLeft{0%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(90deg);opacity:0}100%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(0);opacity:1}}@-moz-keyframes rotateInUpLeft{0%{-moz-transform-origin:left bottom;-moz-transform:rotate(90deg);opacity:0}100%{-moz-transform-origin:left bottom;-moz-transform:rotate(0);opacity:1}}@-o-keyframes rotateInUpLeft{0%{-o-transform-origin:left bottom;-o-transform:rotate(90deg);opacity:0}100%{-o-transform-origin:left bottom;-o-transform:rotate(0);opacity:1}}@keyframes rotateInUpLeft{0%{transform-origin:left bottom;transform:rotate(90deg);opacity:0}100%{transform-origin:left bottom;transform:rotate(0);opacity:1}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;-moz-animation-name:rotateInUpLeft;-o-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInDownLeft{0%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(-90deg);opacity:0}100%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(0);opacity:1}}@-moz-keyframes rotateInDownLeft{0%{-moz-transform-origin:left bottom;-moz-transform:rotate(-90deg);opacity:0}100%{-moz-transform-origin:left bottom;-moz-transform:rotate(0);opacity:1}}@-o-keyframes rotateInDownLeft{0%{-o-transform-origin:left bottom;-o-transform:rotate(-90deg);opacity:0}100%{-o-transform-origin:left bottom;-o-transform:rotate(0);opacity:1}}@keyframes rotateInDownLeft{0%{transform-origin:left bottom;transform:rotate(-90deg);opacity:0}100%{transform-origin:left bottom;transform:rotate(0);opacity:1}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;-moz-animation-name:rotateInDownLeft;-o-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInUpRight{0%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(-90deg);opacity:0}100%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(0);opacity:1}}@-moz-keyframes rotateInUpRight{0%{-moz-transform-origin:right bottom;-moz-transform:rotate(-90deg);opacity:0}100%{-moz-transform-origin:right bottom;-moz-transform:rotate(0);opacity:1}}@-o-keyframes rotateInUpRight{0%{-o-transform-origin:right bottom;-o-transform:rotate(-90deg);opacity:0}100%{-o-transform-origin:right bottom;-o-transform:rotate(0);opacity:1}}@keyframes rotateInUpRight{0%{transform-origin:right bottom;transform:rotate(-90deg);opacity:0}100%{transform-origin:right bottom;transform:rotate(0);opacity:1}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;-moz-animation-name:rotateInUpRight;-o-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateInDownRight{0%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(90deg);opacity:0}100%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(0);opacity:1}}@-moz-keyframes rotateInDownRight{0%{-moz-transform-origin:right bottom;-moz-transform:rotate(90deg);opacity:0}100%{-moz-transform-origin:right bottom;-moz-transform:rotate(0);opacity:1}}@-o-keyframes rotateInDownRight{0%{-o-transform-origin:right bottom;-o-transform:rotate(90deg);opacity:0}100%{-o-transform-origin:right bottom;-o-transform:rotate(0);opacity:1}}@keyframes rotateInDownRight{0%{transform-origin:right bottom;transform:rotate(90deg);opacity:0}100%{transform-origin:right bottom;transform:rotate(0);opacity:1}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;-moz-animation-name:rotateInDownRight;-o-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateOut{0%{-webkit-transform-origin:center center;-webkit-transform:rotate(0);opacity:1}100%{-webkit-transform-origin:center center;-webkit-transform:rotate(200deg);opacity:0}}@-moz-keyframes rotateOut{0%{-moz-transform-origin:center center;-moz-transform:rotate(0);opacity:1}100%{-moz-transform-origin:center center;-moz-transform:rotate(200deg);opacity:0}}@-o-keyframes rotateOut{0%{-o-transform-origin:center center;-o-transform:rotate(0);opacity:1}100%{-o-transform-origin:center center;-o-transform:rotate(200deg);opacity:0}}@keyframes rotateOut{0%{transform-origin:center center;transform:rotate(0);opacity:1}100%{transform-origin:center center;transform:rotate(200deg);opacity:0}}.rotateOut{-webkit-animation-name:rotateOut;-moz-animation-name:rotateOut;-o-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(0);opacity:1}100%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(-90deg);opacity:0}}@-moz-keyframes rotateOutUpLeft{0%{-moz-transform-origin:left bottom;-moz-transform:rotate(0);opacity:1}100%{-moz-transform-origin:left bottom;-moz-transform:rotate(-90deg);opacity:0}}@-o-keyframes rotateOutUpLeft{0%{-o-transform-origin:left bottom;-o-transform:rotate(0);opacity:1}100%{-o-transform-origin:left bottom;-o-transform:rotate(-90deg);opacity:0}}@keyframes rotateOutUpLeft{0%{transform-origin:left bottom;transform:rotate(0);opacity:1}100%{transform-origin:left bottom;transform:rotate(-90deg);opacity:0}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;-moz-animation-name:rotateOutUpLeft;-o-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(0);opacity:1}100%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(90deg);opacity:0}}@-moz-keyframes rotateOutDownLeft{0%{-moz-transform-origin:left bottom;-moz-transform:rotate(0);opacity:1}100%{-moz-transform-origin:left bottom;-moz-transform:rotate(90deg);opacity:0}}@-o-keyframes rotateOutDownLeft{0%{-o-transform-origin:left bottom;-o-transform:rotate(0);opacity:1}100%{-o-transform-origin:left bottom;-o-transform:rotate(90deg);opacity:0}}@keyframes rotateOutDownLeft{0%{transform-origin:left bottom;transform:rotate(0);opacity:1}100%{transform-origin:left bottom;transform:rotate(90deg);opacity:0}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;-moz-animation-name:rotateOutDownLeft;-o-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(0);opacity:1}100%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(90deg);opacity:0}}@-moz-keyframes rotateOutUpRight{0%{-moz-transform-origin:right bottom;-moz-transform:rotate(0);opacity:1}100%{-moz-transform-origin:right bottom;-moz-transform:rotate(90deg);opacity:0}}@-o-keyframes rotateOutUpRight{0%{-o-transform-origin:right bottom;-o-transform:rotate(0);opacity:1}100%{-o-transform-origin:right bottom;-o-transform:rotate(90deg);opacity:0}}@keyframes rotateOutUpRight{0%{transform-origin:right bottom;transform:rotate(0);opacity:1}100%{transform-origin:right bottom;transform:rotate(90deg);opacity:0}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;-moz-animation-name:rotateOutUpRight;-o-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(0);opacity:1}100%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(-90deg);opacity:0}}@-moz-keyframes rotateOutDownRight{0%{-moz-transform-origin:right bottom;-moz-transform:rotate(0);opacity:1}100%{-moz-transform-origin:right bottom;-moz-transform:rotate(-90deg);opacity:0}}@-o-keyframes rotateOutDownRight{0%{-o-transform-origin:right bottom;-o-transform:rotate(0);opacity:1}100%{-o-transform-origin:right bottom;-o-transform:rotate(-90deg);opacity:0}}@keyframes rotateOutDownRight{0%{transform-origin:right bottom;transform:rotate(0);opacity:1}100%{transform-origin:right bottom;transform:rotate(-90deg);opacity:0}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;-moz-animation-name:rotateOutDownRight;-o-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes hinge{0%{-webkit-transform:rotate(0);-webkit-transform-origin:top left;-webkit-animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);-webkit-transform-origin:top left;-webkit-animation-timing-function:ease-in-out}40%{-webkit-transform:rotate(60deg);-webkit-transform-origin:top left;-webkit-animation-timing-function:ease-in-out}80%{-webkit-transform:rotate(60deg) translateY(0);opacity:1;-webkit-transform-origin:top left;-webkit-animation-timing-function:ease-in-out}100%{-webkit-transform:translateY(700px);opacity:0}}@-moz-keyframes hinge{0%{-moz-transform:rotate(0);-moz-transform-origin:top left;-moz-animation-timing-function:ease-in-out}20%,60%{-moz-transform:rotate(80deg);-moz-transform-origin:top left;-moz-animation-timing-function:ease-in-out}40%{-moz-transform:rotate(60deg);-moz-transform-origin:top left;-moz-animation-timing-function:ease-in-out}80%{-moz-transform:rotate(60deg) translateY(0);opacity:1;-moz-transform-origin:top left;-moz-animation-timing-function:ease-in-out}100%{-moz-transform:translateY(700px);opacity:0}}@-o-keyframes hinge{0%{-o-transform:rotate(0);-o-transform-origin:top left;-o-animation-timing-function:ease-in-out}20%,60%{-o-transform:rotate(80deg);-o-transform-origin:top left;-o-animation-timing-function:ease-in-out}40%{-o-transform:rotate(60deg);-o-transform-origin:top left;-o-animation-timing-function:ease-in-out}80%{-o-transform:rotate(60deg) translateY(0);opacity:1;-o-transform-origin:top left;-o-animation-timing-function:ease-in-out}100%{-o-transform:translateY(700px);opacity:0}}@keyframes hinge{0%{transform:rotate(0);transform-origin:top left;animation-timing-function:ease-in-out}20%,60%{transform:rotate(80deg);transform-origin:top left;animation-timing-function:ease-in-out}40%{transform:rotate(60deg);transform-origin:top left;animation-timing-function:ease-in-out}80%{transform:rotate(60deg) translateY(0);opacity:1;transform-origin:top left;animation-timing-function:ease-in-out}100%{transform:translateY(700px);opacity:0}}.hinge{-webkit-animation-name:hinge;-moz-animation-name:hinge;-o-animation-name:hinge;animation-name:hinge}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0px) rotate(0deg)}}@-moz-keyframes rollIn{0%{opacity:0;-moz-transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-moz-transform:translateX(0px) rotate(0deg)}}@-o-keyframes rollIn{0%{opacity:0;-o-transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-o-transform:translateX(0px) rotate(0deg)}}@keyframes rollIn{0%{opacity:0;transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;transform:translateX(0px) rotate(0deg)}}.rollIn{-webkit-animation-name:rollIn;-moz-animation-name:rollIn;-o-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1;-webkit-transform:translateX(0px) rotate(0deg)}100%{opacity:0;-webkit-transform:translateX(100%) rotate(120deg)}}@-moz-keyframes rollOut{0%{opacity:1;-moz-transform:translateX(0px) rotate(0deg)}100%{opacity:0;-moz-transform:translateX(100%) rotate(120deg)}}@-o-keyframes rollOut{0%{opacity:1;-o-transform:translateX(0px) rotate(0deg)}100%{opacity:0;-o-transform:translateX(100%) rotate(120deg)}}@keyframes rollOut{0%{opacity:1;transform:translateX(0px) rotate(0deg)}100%{opacity:0;transform:translateX(100%) rotate(120deg)}}.rollOut{-webkit-animation-name:rollOut;-moz-animation-name:rollOut;-o-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes lightSpeedIn{0%{-webkit-transform:translateX(100%) skewX(-30deg);opacity:0}60%{-webkit-transform:translateX(-20%) skewX(30deg);opacity:1}80%{-webkit-transform:translateX(0%) skewX(-15deg);opacity:1}100%{-webkit-transform:translateX(0%) skewX(0deg);opacity:1}}@-moz-keyframes lightSpeedIn{0%{-moz-transform:translateX(100%) skewX(-30deg);opacity:0}60%{-moz-transform:translateX(-20%) skewX(30deg);opacity:1}80%{-moz-transform:translateX(0%) skewX(-15deg);opacity:1}100%{-moz-transform:translateX(0%) skewX(0deg);opacity:1}}@-o-keyframes lightSpeedIn{0%{-o-transform:translateX(100%) skewX(-30deg);opacity:0}60%{-o-transform:translateX(-20%) skewX(30deg);opacity:1}80%{-o-transform:translateX(0%) skewX(-15deg);opacity:1}100%{-o-transform:translateX(0%) skewX(0deg);opacity:1}}@keyframes lightSpeedIn{0%{transform:translateX(100%) skewX(-30deg);opacity:0}60%{transform:translateX(-20%) skewX(30deg);opacity:1}80%{transform:translateX(0%) skewX(-15deg);opacity:1}100%{transform:translateX(0%) skewX(0deg);opacity:1}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;-moz-animation-name:lightSpeedIn;-o-animation-name:lightSpeedIn;animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;-moz-animation-timing-function:ease-out;-o-animation-timing-function:ease-out;animation-timing-function:ease-out}.animated.lightSpeedIn{-webkit-animation-duration:.5s;-moz-animation-duration:.5s;-o-animation-duration:.5s;animation-duration:.5s}@-webkit-keyframes lightSpeedOut{0%{-webkit-transform:translateX(0%) skewX(0deg);opacity:1}100%{-webkit-transform:translateX(100%) skewX(-30deg);opacity:0}}@-moz-keyframes lightSpeedOut{0%{-moz-transform:translateX(0%) skewX(0deg);opacity:1}100%{-moz-transform:translateX(100%) skewX(-30deg);opacity:0}}@-o-keyframes lightSpeedOut{0%{-o-transform:translateX(0%) skewX(0deg);opacity:1}100%{-o-transform:translateX(100%) skewX(-30deg);opacity:0}}@keyframes lightSpeedOut{0%{transform:translateX(0%) skewX(0deg);opacity:1}100%{transform:translateX(100%) skewX(-30deg);opacity:0}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;-moz-animation-name:lightSpeedOut;-o-animation-name:lightSpeedOut;animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;-moz-animation-timing-function:ease-in;-o-animation-timing-function:ease-in;animation-timing-function:ease-in}.animated.lightSpeedOut{-webkit-animation-duration:.25s;-moz-animation-duration:.25s;-o-animation-duration:.25s;animation-duration:.25s}@-webkit-keyframes wiggle{0%{-webkit-transform:skewX(9deg)}10%{-webkit-transform:skewX(-8deg)}20%{-webkit-transform:skewX(7deg)}30%{-webkit-transform:skewX(-6deg)}40%{-webkit-transform:skewX(5deg)}50%{-webkit-transform:skewX(-4deg)}60%{-webkit-transform:skewX(3deg)}70%{-webkit-transform:skewX(-2deg)}80%{-webkit-transform:skewX(1deg)}90%{-webkit-transform:skewX(0deg)}100%{-webkit-transform:skewX(0deg)}}@-moz-keyframes wiggle{0%{-moz-transform:skewX(9deg)}10%{-moz-transform:skewX(-8deg)}20%{-moz-transform:skewX(7deg)}30%{-moz-transform:skewX(-6deg)}40%{-moz-transform:skewX(5deg)}50%{-moz-transform:skewX(-4deg)}60%{-moz-transform:skewX(3deg)}70%{-moz-transform:skewX(-2deg)}80%{-moz-transform:skewX(1deg)}90%{-moz-transform:skewX(0deg)}100%{-moz-transform:skewX(0deg)}}@-o-keyframes wiggle{0%{-o-transform:skewX(9deg)}10%{-o-transform:skewX(-8deg)}20%{-o-transform:skewX(7deg)}30%{-o-transform:skewX(-6deg)}40%{-o-transform:skewX(5deg)}50%{-o-transform:skewX(-4deg)}60%{-o-transform:skewX(3deg)}70%{-o-transform:skewX(-2deg)}80%{-o-transform:skewX(1deg)}90%{-o-transform:skewX(0deg)}100%{-o-transform:skewX(0deg)}}@keyframes wiggle{0%{transform:skewX(9deg)}10%{transform:skewX(-8deg)}20%{transform:skewX(7deg)}30%{transform:skewX(-6deg)}40%{transform:skewX(5deg)}50%{transform:skewX(-4deg)}60%{transform:skewX(3deg)}70%{transform:skewX(-2deg)}80%{transform:skewX(1deg)}90%{transform:skewX(0deg)}100%{transform:skewX(0deg)}}.wiggle{-webkit-animation-name:wiggle;-moz-animation-name:wiggle;-o-animation-name:wiggle;animation-name:wiggle;-webkit-animation-timing-function:ease-in;-moz-animation-timing-function:ease-in;-o-animation-timing-function:ease-in;animation-timing-function:ease-in}.animated.wiggle{-webkit-animation-duration:.75s;-moz-animation-duration:.75s;-o-animation-duration:.75s;animation-duration:.75s} \ No newline at end of file diff --git a/app/dash/css/default.min.css b/app/dash/css/default.min.css deleted file mode 100644 index d7e511c..0000000 --- a/app/dash/css/default.min.css +++ /dev/null @@ -1,26 +0,0 @@ -@charset "UTF-8";/*! normalize.css v1.0.1 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,nav,section,summary{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}html,button,input,select,textarea{font-family:sans-serif}body{margin:0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{font-size:2em;margin:.67em 0}h2{font-size:1.5em;margin:.83em 0}h3{font-size:1.17em;margin:1em 0}h4{font-size:1em;margin:1.33em 0}h5{font-size:.83em;margin:1.67em 0}h6{font-size:.75em;margin:2.33em 0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}blockquote{margin:1em 40px}dfn{font-style:italic}mark{background:#ff0;color:#000}p,pre{margin:1em 0}code,kbd,pre,samp{font-family:monospace,serif;_font-family:'courier new',monospace;font-size:1em}pre{white-space:pre;white-space:pre-wrap;word-wrap:break-word}q{quotes:none}q:before,q:after{content:'';content:none}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}dl,menu,ol,ul{margin:1em 0}dd{margin:0 0 0 40px}menu,ol,ul{padding:0 0 0 40px}nav ul,nav ol{list-style:none;list-style-image:none}img{border:0;-ms-interpolation-mode:bicubic}svg:not(:root){overflow:hidden}figure{margin:0}form{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0;white-space:normal;*margin-left:-7px}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}button,input{line-height:normal}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer;*overflow:visible}button[disabled],input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0;*height:13px;*width:13px}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}/*! - * Bootstrap v2.3.2 - * - * Copyright 2013 Twitter, Inc - * Licensed under the Apache License v2.0 - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Designed and built with all the love in the world by @mdo and @fat. - */.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;content:"";line-height:0}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:hover,a:active{outline:0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{max-width:100%;width:auto\9;height:auto;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic}#map_canvas img,.google-maps img{max-width:none}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle}button,input{*overflow:visible;line-height:normal}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}label,select,button,input[type=button],input[type=reset],input[type=submit],input[type=radio],input[type=checkbox]{cursor:pointer}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-decoration,input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}textarea{overflow:auto;vertical-align:top}@media print{*{text-shadow:none!important;color:#000!important;background:transparent!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]: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}@page{margin:.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;color:#bbbfc2;background-color:#161616}a{color:#f2f2f2;text-decoration:none}a:hover,a:focus{color:#fff;text-decoration:underline}.img-rounded{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.img-polaroid{padding:4px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);-moz-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.img-circle{-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px}.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;content:"";line-height:0}.row:after{clear:both}[class*=span]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.span12{width:940px}.span11{width:860px}.span10{width:780px}.span9{width:700px}.span8{width:620px}.span7{width:540px}.span6{width:460px}.span5{width:380px}.span4{width:300px}.span3{width:220px}.span2{width:140px}.span1{width:60px}.offset12{margin-left:980px}.offset11{margin-left:900px}.offset10{margin-left:820px}.offset9{margin-left:740px}.offset8{margin-left:660px}.offset7{margin-left:580px}.offset6{margin-left:500px}.offset5{margin-left:420px}.offset4{margin-left:340px}.offset3{margin-left:260px}.offset2{margin-left:180px}.offset1{margin-left:100px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;content:"";line-height:0}.row-fluid:after{clear:both}.row-fluid [class*=span]{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;margin-left:2.127659574468085%;*margin-left:2.074468085106383%}.row-fluid [class*=span]:first-child{margin-left:0}.row-fluid .controls-row [class*=span]+[class*=span]{margin-left:2.127659574468085%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.48936170212765%;*width:91.43617021276594%}.row-fluid .span10{width:82.97872340425532%;*width:82.92553191489361%}.row-fluid .span9{width:74.46808510638297%;*width:74.41489361702126%}.row-fluid .span8{width:65.95744680851064%;*width:65.90425531914893%}.row-fluid .span7{width:57.44680851063829%;*width:57.39361702127659%}.row-fluid .span6{width:48.93617021276595%;*width:48.88297872340425%}.row-fluid .span5{width:40.42553191489362%;*width:40.37234042553192%}.row-fluid .span4{width:31.914893617021278%;*width:31.861702127659576%}.row-fluid .span3{width:23.404255319148934%;*width:23.351063829787233%}.row-fluid .span2{width:14.893617021276595%;*width:14.840425531914894%}.row-fluid .span1{width:6.382978723404255%;*width:6.329787234042553%}.row-fluid .offset12{margin-left:104.25531914893617%;*margin-left:104.14893617021275%}.row-fluid .offset12:first-child{margin-left:102.12765957446808%;*margin-left:102.02127659574467%}.row-fluid .offset11{margin-left:95.74468085106382%;*margin-left:95.6382978723404%}.row-fluid .offset11:first-child{margin-left:93.61702127659574%;*margin-left:93.51063829787232%}.row-fluid .offset10{margin-left:87.23404255319149%;*margin-left:87.12765957446807%}.row-fluid .offset10:first-child{margin-left:85.1063829787234%;*margin-left:84.99999999999999%}.row-fluid .offset9{margin-left:78.72340425531914%;*margin-left:78.61702127659572%}.row-fluid .offset9:first-child{margin-left:76.59574468085106%;*margin-left:76.48936170212764%}.row-fluid .offset8{margin-left:70.2127659574468%;*margin-left:70.10638297872339%}.row-fluid .offset8:first-child{margin-left:68.08510638297872%;*margin-left:67.9787234042553%}.row-fluid .offset7{margin-left:61.70212765957446%;*margin-left:61.59574468085106%}.row-fluid .offset7:first-child{margin-left:59.574468085106375%;*margin-left:59.46808510638297%}.row-fluid .offset6{margin-left:53.191489361702125%;*margin-left:53.085106382978715%}.row-fluid .offset6:first-child{margin-left:51.063829787234035%;*margin-left:50.95744680851063%}.row-fluid .offset5{margin-left:44.68085106382979%;*margin-left:44.57446808510638%}.row-fluid .offset5:first-child{margin-left:42.5531914893617%;*margin-left:42.4468085106383%}.row-fluid .offset4{margin-left:36.170212765957444%;*margin-left:36.06382978723405%}.row-fluid .offset4:first-child{margin-left:34.04255319148936%;*margin-left:33.93617021276596%}.row-fluid .offset3{margin-left:27.659574468085104%;*margin-left:27.5531914893617%}.row-fluid .offset3:first-child{margin-left:25.53191489361702%;*margin-left:25.425531914893618%}.row-fluid .offset2{margin-left:19.148936170212764%;*margin-left:19.04255319148936%}.row-fluid .offset2:first-child{margin-left:17.02127659574468%;*margin-left:16.914893617021278%}.row-fluid .offset1{margin-left:10.638297872340425%;*margin-left:10.53191489361702%}.row-fluid .offset1:first-child{margin-left:8.51063829787234%;*margin-left:8.404255319148938%}[class*=span].hide,.row-fluid [class*=span].hide{display:none}[class*=span].pull-right,.row-fluid [class*=span].pull-right{float:right}.container{margin-right:auto;margin-left:auto;*zoom:1}.container:before,.container:after{display:table;content:"";line-height:0}.container:after{clear:both}.container-fluid{padding-right:20px;padding-left:20px;*zoom:1}.container-fluid:before,.container-fluid:after{display:table;content:"";line-height:0}.container-fluid:after{clear:both}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:21px;font-weight:200;line-height:30px}small{font-size:85%}strong{font-weight:700}em{font-style:italic}cite{font-style:normal}.muted{color:#adafae}a.muted:hover,a.muted:focus{color:#939695}.text-warning{color:#a47e3c}a.text-warning:hover,a.text-warning:focus{color:#7f612e}.text-error{color:#b94a48}a.text-error:hover,a.text-error:focus{color:#953b39}.text-info{color:#09c}a.text-info:hover,a.text-info:focus{color:#007399}.text-success{color:#468847}a.text-success:hover,a.text-success:focus{color:#356635}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}h1,h2,h3,h4,h5,h6{margin:10px 0;font-family:inherit;font-weight:700;line-height:20px;color:#fff;text-rendering:optimizelegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:400;line-height:1;color:#adafae}h1,h2,h3{line-height:40px}h1{font-size:38.5px}h2{font-size:31.5px}h3{font-size:24.5px}h4{font-size:17.5px}h5{font-size:14px}h6{font-size:11.9px}h1 small{font-size:24.5px}h2 small{font-size:17.5px}h3 small{font-size:14px}h4 small{font-size:14px}.page-header{padding-bottom:9px;margin:20px 0 30px;border-bottom:1px solid #bbbfc2}ul,ol{padding:0;margin:0 0 10px 25px}ul ul,ul ol,ol ol,ol ul{margin-bottom:0}li{line-height:20px}ul.unstyled,ol.unstyled{margin-left:0;list-style:none}ul.inline,ol.inline{margin-left:0;list-style:none}ul.inline>li,ol.inline>li{display:inline-block;*display:inline;*zoom:1;padding-left:5px;padding-right:5px}dl{margin-bottom:20px}dt,dd{line-height:20px}dt{font-weight:700}dd{margin-left:10px}.dl-horizontal{*zoom:1}.dl-horizontal:before,.dl-horizontal:after{display:table;content:"";line-height:0}.dl-horizontal:after{clear:both}.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}hr{margin:20px 0;border:0;border-top:1px solid #303030;border-bottom:1px solid #fff}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #adafae}abbr.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid #bbbfc2}blockquote p{margin-bottom:0;font-size:17.5px;font-weight:300;line-height:1.25}blockquote small{display:block;line-height:20px;color:#adafae}blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid #bbbfc2;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}blockquote.pull-right small:before{content:''}blockquote.pull-right small:after{content:'\00A0 \2014'}q:before,q:after,blockquote:before,blockquote:after{content:""}address{display:block;margin-bottom:20px;font-style:normal;line-height:20px}code,pre{padding:0 3px 2px;font-family:Menlo,Monaco,Consolas,"Courier New",monospace;font-size:12px;color:#303030;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}code{padding:2px 4px;color:#d14;background-color:#f7f7f9;border:1px solid #e1e1e8;white-space:nowrap}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:20px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}pre.prettyprint{margin-bottom:20px}pre code{padding:0;color:inherit;white-space:pre;white-space:pre-wrap;background-color:transparent;border:0}.pre-scrollable{max-height:340px;overflow-y:scroll}form{margin:0 0 20px}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:40px;color:#303030;border:0;border-bottom:1px solid #e5e5e5}legend small{font-size:15px;color:#adafae}label,input,button,select,textarea{font-size:14px;font-weight:400;line-height:20px}input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}label{display:block;margin-bottom:5px}select,textarea,input[type=text],input[type=password],input[type=datetime],input[type=datetime-local],input[type=date],input[type=month],input[type=time],input[type=week],input[type=number],input[type=email],input[type=url],input[type=search],input[type=tel],input[type=color],.uneditable-input{display:inline-block;height:20px;padding:4px 6px;margin-bottom:10px;font-size:14px;line-height:20px;color:#000;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;vertical-align:middle}input,textarea,.uneditable-input{width:206px}textarea{height:auto}textarea,input[type=text],input[type=password],input[type=datetime],input[type=datetime-local],input[type=date],input[type=month],input[type=time],input[type=week],input[type=number],input[type=email],input[type=url],input[type=search],input[type=tel],input[type=color],.uneditable-input{background-color:#4a4a4a;border:1px solid #636363;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-moz-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 linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}textarea:focus,input[type=text]:focus,input[type=password]:focus,input[type=datetime]:focus,input[type=datetime-local]:focus,input[type=date]:focus,input[type=month]:focus,input[type=time]:focus,input[type=week]:focus,input[type=number]:focus,input[type=email]:focus,input[type=url]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=color]:focus,.uneditable-input:focus{border-color:rgba(82,168,236,.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(82,168,236,.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(82,168,236,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(82,168,236,.6)}input[type=radio],input[type=checkbox]{margin:4px 0 0;*margin-top:0;margin-top:1px \9;line-height:normal}input[type=file],input[type=image],input[type=submit],input[type=reset],input[type=button],input[type=radio],input[type=checkbox]{width:auto}select,input[type=file]{height:30px;*margin-top:4px;line-height:30px}select{width:220px;border:1px solid #636363;background-color:#4a4a4a}select[multiple],select[size]{height:auto}select:focus,input[type=file]:focus,input[type=radio]:focus,input[type=checkbox]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.uneditable-input,.uneditable-textarea{color:#adafae;background-color:#474747;border-color:#636363;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.025);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.025);box-shadow:inset 0 1px 2px rgba(0,0,0,.025);cursor:not-allowed}.uneditable-input{overflow:hidden;white-space:nowrap}.uneditable-textarea{width:auto;height:auto}input:-moz-placeholder,textarea:-moz-placeholder{color:#788086}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#788086}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#788086}.radio,.checkbox{min-height:20px;padding-left:20px}.radio input[type=radio],.checkbox input[type=checkbox]{float:left;margin-left:-20px}.controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:5px}.radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle}.radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px}.input-mini{width:60px}.input-small{width:90px}.input-medium{width:150px}.input-large{width:210px}.input-xlarge{width:270px}.input-xxlarge{width:530px}input[class*=span],select[class*=span],textarea[class*=span],.uneditable-input[class*=span],.row-fluid input[class*=span],.row-fluid select[class*=span],.row-fluid textarea[class*=span],.row-fluid .uneditable-input[class*=span]{float:none;margin-left:0}.input-append input[class*=span],.input-append .uneditable-input[class*=span],.input-prepend input[class*=span],.input-prepend .uneditable-input[class*=span],.row-fluid input[class*=span],.row-fluid select[class*=span],.row-fluid textarea[class*=span],.row-fluid .uneditable-input[class*=span],.row-fluid .input-prepend [class*=span],.row-fluid .input-append [class*=span]{display:inline-block}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*=span]+[class*=span]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:926px}input.span11,textarea.span11,.uneditable-input.span11{width:846px}input.span10,textarea.span10,.uneditable-input.span10{width:766px}input.span9,textarea.span9,.uneditable-input.span9{width:686px}input.span8,textarea.span8,.uneditable-input.span8{width:606px}input.span7,textarea.span7,.uneditable-input.span7{width:526px}input.span6,textarea.span6,.uneditable-input.span6{width:446px}input.span5,textarea.span5,.uneditable-input.span5{width:366px}input.span4,textarea.span4,.uneditable-input.span4{width:286px}input.span3,textarea.span3,.uneditable-input.span3{width:206px}input.span2,textarea.span2,.uneditable-input.span2{width:126px}input.span1,textarea.span1,.uneditable-input.span1{width:46px}.controls-row{*zoom:1}.controls-row:before,.controls-row:after{display:table;content:"";line-height:0}.controls-row:after{clear:both}.controls-row [class*=span],.row-fluid .controls-row [class*=span]{float:left}.controls-row .checkbox[class*=span],.controls-row .radio[class*=span]{padding-top:5px}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#555}input[type=radio][disabled],input[type=checkbox][disabled],input[type=radio][readonly],input[type=checkbox][readonly]{background-color:transparent}.control-group.warning .control-label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#a47e3c}.control-group.warning .checkbox,.control-group.warning .radio,.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#a47e3c}.control-group.warning input,.control-group.warning select,.control-group.warning textarea{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#7f612e;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ceae78;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ceae78;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ceae78}.control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#a47e3c;background-color:#bbbfc2;border-color:#a47e3c}.control-group.error .control-label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48}.control-group.error .checkbox,.control-group.error .radio,.control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48}.control-group.error input,.control-group.error select,.control-group.error textarea{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #d59392;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #d59392}.control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#bbbfc2;border-color:#b94a48}.control-group.success .control-label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847}.control-group.success .checkbox,.control-group.success .radio,.control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847}.control-group.success input,.control-group.success select,.control-group.success textarea{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #7aba7b;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #7aba7b}.control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#bbbfc2;border-color:#468847}.control-group.info .control-label,.control-group.info .help-block,.control-group.info .help-inline{color:#09c}.control-group.info .checkbox,.control-group.info .radio,.control-group.info input,.control-group.info select,.control-group.info textarea{color:#09c}.control-group.info input,.control-group.info select,.control-group.info textarea{border-color:#09c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.control-group.info input:focus,.control-group.info select:focus,.control-group.info textarea:focus{border-color:#007399;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #3cf;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #3cf;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #3cf}.control-group.info .input-prepend .add-on,.control-group.info .input-append .add-on{color:#09c;background-color:#bbbfc2;border-color:#09c}input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#b94a48;border-color:#ee5f5b}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7}.form-actions{padding:19px 20px 20px;margin-top:20px;margin-bottom:20px;background-color:transparent;border-top:1px solid #e5e5e5;*zoom:1}.form-actions:before,.form-actions:after{display:table;content:"";line-height:0}.form-actions:after{clear:both}.help-block,.help-inline{color:#e3e5e6}.help-block{display:block;margin-bottom:10px}.help-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle;padding-left:5px}.input-append,.input-prepend{display:inline-block;margin-bottom:10px;vertical-align:middle;font-size:0;white-space:nowrap}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input,.input-append .dropdown-menu,.input-prepend .dropdown-menu,.input-append .popover,.input-prepend .popover{font-size:14px}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input{position:relative;margin-bottom:0;*margin-left:0;vertical-align:top;-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-append input:focus,.input-prepend input:focus,.input-append select:focus,.input-prepend select:focus,.input-append .uneditable-input:focus,.input-prepend .uneditable-input:focus{z-index:2}.input-append .add-on,.input-prepend .add-on{display:inline-block;width:auto;height:20px;min-width:16px;padding:4px 5px;font-size:14px;font-weight:400;line-height:20px;text-align:center;text-shadow:0 1px 0 #fff;background-color:#bbbfc2;border:1px solid #ccc}.input-append .add-on,.input-prepend .add-on,.input-append .btn,.input-prepend .btn,.input-append .btn-group>.dropdown-toggle,.input-prepend .btn-group>.dropdown-toggle{vertical-align:top;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-append .active,.input-prepend .active{background-color:#bf3;border-color:#690}.input-prepend .add-on,.input-prepend .btn{margin-right:-1px}.input-prepend .add-on:first-child,.input-prepend .btn:first-child{-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-append input,.input-append select,.input-append .uneditable-input{-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-append input+.btn-group .btn:last-child,.input-append select+.btn-group .btn:last-child,.input-append .uneditable-input+.btn-group .btn:last-child{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-append .add-on,.input-append .btn,.input-append .btn-group{margin-left:-1px}.input-append .add-on:last-child,.input-append .btn:last-child,.input-append .btn-group:last-child>.dropdown-toggle{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-prepend.input-append input,.input-prepend.input-append select,.input-prepend.input-append .uneditable-input{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-prepend.input-append input+.btn-group .btn,.input-prepend.input-append select+.btn-group .btn,.input-prepend.input-append .uneditable-input+.btn-group .btn{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-prepend.input-append .add-on:first-child,.input-prepend.input-append .btn:first-child{margin-right:-1px;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-prepend.input-append .add-on:last-child,.input-prepend.input-append .btn:last-child{margin-left:-1px;-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-prepend.input-append .btn-group:first-child{margin-left:0}input.search-query{padding-right:14px;padding-right:4px \9;padding-left:14px;padding-left:4px \9;margin-bottom:0;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.form-search .input-append .search-query,.form-search .input-prepend .search-query{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.form-search .input-append .search-query{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search .input-append .btn{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .search-query{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .btn{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input,.form-search .input-prepend,.form-inline .input-prepend,.form-horizontal .input-prepend,.form-search .input-append,.form-inline .input-append,.form-horizontal .input-append{display:inline-block;*display:inline;*zoom:1;margin-bottom:0;vertical-align:middle}.form-search .hide,.form-inline .hide,.form-horizontal .hide{display:none}.form-search label,.form-inline label,.form-search .btn-group,.form-inline .btn-group{display:inline-block}.form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{margin-bottom:0}.form-search .radio,.form-search .checkbox,.form-inline .radio,.form-inline .checkbox{padding-left:0;margin-bottom:0;vertical-align:middle}.form-search .radio input[type=radio],.form-search .checkbox input[type=checkbox],.form-inline .radio input[type=radio],.form-inline .checkbox input[type=checkbox]{float:left;margin-right:3px;margin-left:0}.control-group{margin-bottom:10px}legend+.control-group{margin-top:20px;-webkit-margin-top-collapse:separate}.form-horizontal .control-group{margin-bottom:20px;*zoom:1}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;content:"";line-height:0}.form-horizontal .control-group:after{clear:both}.form-horizontal .control-label{float:left;width:160px;padding-top:5px;text-align:right}.form-horizontal .controls{*display:inline-block;*padding-left:20px;margin-left:180px;*margin-left:0}.form-horizontal .controls:first-child{*padding-left:180px}.form-horizontal .help-block{margin-bottom:0}.form-horizontal input+.help-block,.form-horizontal select+.help-block,.form-horizontal textarea+.help-block,.form-horizontal .uneditable-input+.help-block,.form-horizontal .input-prepend+.help-block,.form-horizontal .input-append+.help-block{margin-top:10px}.form-horizontal .form-actions{padding-left:180px}table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0}.table{width:100%;margin-bottom:20px}.table th,.table td{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid #303030}.table th{font-weight:700}.table thead th{vertical-align:bottom}.table caption+thead tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child th,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0}.table tbody+tbody{border-top:2px solid #303030}.table .table{background-color:#161616}.table-condensed th,.table-condensed td{padding:4px 5px}.table-bordered{border:1px solid #303030;border-collapse:separate;*border-collapse:collapse;border-left:0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.table-bordered th,.table-bordered td{border-left:1px solid #303030}.table-bordered caption+thead tr:first-child th,.table-bordered caption+tbody tr:first-child th,.table-bordered caption+tbody tr:first-child td,.table-bordered colgroup+thead tr:first-child th,.table-bordered colgroup+tbody tr:first-child th,.table-bordered colgroup+tbody tr:first-child td,.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0}.table-bordered thead:first-child tr:first-child>th:first-child,.table-bordered tbody:first-child tr:first-child>td:first-child,.table-bordered tbody:first-child tr:first-child>th:first-child{-webkit-border-top-left-radius:3px;-moz-border-radius-topleft:3px;border-top-left-radius:3px}.table-bordered thead:first-child tr:first-child>th:last-child,.table-bordered tbody:first-child tr:first-child>td:last-child,.table-bordered tbody:first-child tr:first-child>th:last-child{-webkit-border-top-right-radius:3px;-moz-border-radius-topright:3px;border-top-right-radius:3px}.table-bordered thead:last-child tr:last-child>th:first-child,.table-bordered tbody:last-child tr:last-child>td:first-child,.table-bordered tbody:last-child tr:last-child>th:first-child,.table-bordered tfoot:last-child tr:last-child>td:first-child,.table-bordered tfoot:last-child tr:last-child>th:first-child{-webkit-border-bottom-left-radius:3px;-moz-border-radius-bottomleft:3px;border-bottom-left-radius:3px}.table-bordered thead:last-child tr:last-child>th:last-child,.table-bordered tbody:last-child tr:last-child>td:last-child,.table-bordered tbody:last-child tr:last-child>th:last-child,.table-bordered tfoot:last-child tr:last-child>td:last-child,.table-bordered tfoot:last-child tr:last-child>th:last-child{-webkit-border-bottom-right-radius:3px;-moz-border-radius-bottomright:3px;border-bottom-right-radius:3px}.table-bordered tfoot+tbody:last-child tr:last-child td:first-child{-webkit-border-bottom-left-radius:0;-moz-border-radius-bottomleft:0;border-bottom-left-radius:0}.table-bordered tfoot+tbody:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:0;-moz-border-radius-bottomright:0;border-bottom-right-radius:0}.table-bordered caption+thead tr:first-child th:first-child,.table-bordered caption+tbody tr:first-child td:first-child,.table-bordered colgroup+thead tr:first-child th:first-child,.table-bordered colgroup+tbody tr:first-child td:first-child{-webkit-border-top-left-radius:3px;-moz-border-radius-topleft:3px;border-top-left-radius:3px}.table-bordered caption+thead tr:first-child th:last-child,.table-bordered caption+tbody tr:first-child td:last-child,.table-bordered colgroup+thead tr:first-child th:last-child,.table-bordered colgroup+tbody tr:first-child td:last-child{-webkit-border-top-right-radius:3px;-moz-border-radius-topright:3px;border-top-right-radius:3px}.table-striped tbody>tr:nth-child(odd)>td,.table-striped tbody>tr:nth-child(odd)>th{background-color:rgba(100,100,100,.3)}.table-hover tbody tr:hover>td,.table-hover tbody tr:hover>th{background-color:#303030}table td[class*=span],table th[class*=span],.row-fluid table td[class*=span],.row-fluid table th[class*=span]{display:table-cell;float:none;margin-left:0}.table td.span1,.table th.span1{float:none;width:44px;margin-left:0}.table td.span2,.table th.span2{float:none;width:124px;margin-left:0}.table td.span3,.table th.span3{float:none;width:204px;margin-left:0}.table td.span4,.table th.span4{float:none;width:284px;margin-left:0}.table td.span5,.table th.span5{float:none;width:364px;margin-left:0}.table td.span6,.table th.span6{float:none;width:444px;margin-left:0}.table td.span7,.table th.span7{float:none;width:524px;margin-left:0}.table td.span8,.table th.span8{float:none;width:604px;margin-left:0}.table td.span9,.table th.span9{float:none;width:684px;margin-left:0}.table td.span10,.table th.span10{float:none;width:764px;margin-left:0}.table td.span11,.table th.span11{float:none;width:844px;margin-left:0}.table td.span12,.table th.span12{float:none;width:924px;margin-left:0}.table tbody tr.success>td{background-color:#bbbfc2}.table tbody tr.error>td{background-color:#bbbfc2}.table tbody tr.warning>td{background-color:#bbbfc2}.table tbody tr.info>td{background-color:#bbbfc2}.table-hover tbody tr.success:hover>td{background-color:#aeb2b6}.table-hover tbody tr.error:hover>td{background-color:#aeb2b6}.table-hover tbody tr.warning:hover>td{background-color:#aeb2b6}.table-hover tbody tr.info:hover>td{background-color:#aeb2b6}[class^=icon-],[class*=" icon-"]{display:inline-block;width:14px;height:14px;*margin-right:.3em;line-height:14px;vertical-align:text-top;background-image:url(../img/glyphicons-halflings.png);background-position:14px 14px;background-repeat:no-repeat;margin-top:1px}.icon-white,.nav-pills>.active>a>[class^=icon-],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^=icon-],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^=icon-],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^=icon-],.dropdown-menu>li>a:focus>[class^=icon-],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>li>a:focus>[class*=" icon-"],.dropdown-menu>.active>a>[class^=icon-],.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^=icon-],.dropdown-submenu:focus>a>[class^=icon-],.dropdown-submenu:hover>a>[class*=" icon-"],.dropdown-submenu:focus>a>[class*=" icon-"]{background-image:url(../img/glyphicons-halflings-white.png)}.icon-glass{background-position:0 0}.icon-music{background-position:-24px 0}.icon-search{background-position:-48px 0}.icon-envelope{background-position:-72px 0}.icon-heart{background-position:-96px 0}.icon-star{background-position:-120px 0}.icon-star-empty{background-position:-144px 0}.icon-user{background-position:-168px 0}.icon-film{background-position:-192px 0}.icon-th-large{background-position:-216px 0}.icon-th{background-position:-240px 0}.icon-th-list{background-position:-264px 0}.icon-ok{background-position:-288px 0}.icon-remove{background-position:-312px 0}.icon-zoom-in{background-position:-336px 0}.icon-zoom-out{background-position:-360px 0}.icon-off{background-position:-384px 0}.icon-signal{background-position:-408px 0}.icon-cog{background-position:-432px 0}.icon-trash{background-position:-456px 0}.icon-home{background-position:0 -24px}.icon-file{background-position:-24px -24px}.icon-time{background-position:-48px -24px}.icon-road{background-position:-72px -24px}.icon-download-alt{background-position:-96px -24px}.icon-download{background-position:-120px -24px}.icon-upload{background-position:-144px -24px}.icon-inbox{background-position:-168px -24px}.icon-play-circle{background-position:-192px -24px}.icon-repeat{background-position:-216px -24px}.icon-refresh{background-position:-240px -24px}.icon-list-alt{background-position:-264px -24px}.icon-lock{background-position:-287px -24px}.icon-flag{background-position:-312px -24px}.icon-headphones{background-position:-336px -24px}.icon-volume-off{background-position:-360px -24px}.icon-volume-down{background-position:-384px -24px}.icon-volume-up{background-position:-408px -24px}.icon-qrcode{background-position:-432px -24px}.icon-barcode{background-position:-456px -24px}.icon-tag{background-position:0 -48px}.icon-tags{background-position:-25px -48px}.icon-book{background-position:-48px -48px}.icon-bookmark{background-position:-72px -48px}.icon-print{background-position:-96px -48px}.icon-camera{background-position:-120px -48px}.icon-font{background-position:-144px -48px}.icon-bold{background-position:-167px -48px}.icon-italic{background-position:-192px -48px}.icon-text-height{background-position:-216px -48px}.icon-text-width{background-position:-240px -48px}.icon-align-left{background-position:-264px -48px}.icon-align-center{background-position:-288px -48px}.icon-align-right{background-position:-312px -48px}.icon-align-justify{background-position:-336px -48px}.icon-list{background-position:-360px -48px}.icon-indent-left{background-position:-384px -48px}.icon-indent-right{background-position:-408px -48px}.icon-facetime-video{background-position:-432px -48px}.icon-picture{background-position:-456px -48px}.icon-pencil{background-position:0 -72px}.icon-map-marker{background-position:-24px -72px}.icon-adjust{background-position:-48px -72px}.icon-tint{background-position:-72px -72px}.icon-edit{background-position:-96px -72px}.icon-share{background-position:-120px -72px}.icon-check{background-position:-144px -72px}.icon-move{background-position:-168px -72px}.icon-step-backward{background-position:-192px -72px}.icon-fast-backward{background-position:-216px -72px}.icon-backward{background-position:-240px -72px}.icon-play{background-position:-264px -72px}.icon-pause{background-position:-288px -72px}.icon-stop{background-position:-312px -72px}.icon-forward{background-position:-336px -72px}.icon-fast-forward{background-position:-360px -72px}.icon-step-forward{background-position:-384px -72px}.icon-eject{background-position:-408px -72px}.icon-chevron-left{background-position:-432px -72px}.icon-chevron-right{background-position:-456px -72px}.icon-plus-sign{background-position:0 -96px}.icon-minus-sign{background-position:-24px -96px}.icon-remove-sign{background-position:-48px -96px}.icon-ok-sign{background-position:-72px -96px}.icon-question-sign{background-position:-96px -96px}.icon-info-sign{background-position:-120px -96px}.icon-screenshot{background-position:-144px -96px}.icon-remove-circle{background-position:-168px -96px}.icon-ok-circle{background-position:-192px -96px}.icon-ban-circle{background-position:-216px -96px}.icon-arrow-left{background-position:-240px -96px}.icon-arrow-right{background-position:-264px -96px}.icon-arrow-up{background-position:-289px -96px}.icon-arrow-down{background-position:-312px -96px}.icon-share-alt{background-position:-336px -96px}.icon-resize-full{background-position:-360px -96px}.icon-resize-small{background-position:-384px -96px}.icon-plus{background-position:-408px -96px}.icon-minus{background-position:-433px -96px}.icon-asterisk{background-position:-456px -96px}.icon-exclamation-sign{background-position:0 -120px}.icon-gift{background-position:-24px -120px}.icon-leaf{background-position:-48px -120px}.icon-fire{background-position:-72px -120px}.icon-eye-open{background-position:-96px -120px}.icon-eye-close{background-position:-120px -120px}.icon-warning-sign{background-position:-144px -120px}.icon-plane{background-position:-168px -120px}.icon-calendar{background-position:-192px -120px}.icon-random{background-position:-216px -120px;width:16px}.icon-comment{background-position:-240px -120px}.icon-magnet{background-position:-264px -120px}.icon-chevron-up{background-position:-288px -120px}.icon-chevron-down{background-position:-313px -119px}.icon-retweet{background-position:-336px -120px}.icon-shopping-cart{background-position:-360px -120px}.icon-folder-close{background-position:-384px -120px;width:16px}.icon-folder-open{background-position:-408px -120px;width:16px}.icon-resize-vertical{background-position:-432px -119px}.icon-resize-horizontal{background-position:-456px -118px}.icon-hdd{background-position:0 -144px}.icon-bullhorn{background-position:-24px -144px}.icon-bell{background-position:-48px -144px}.icon-certificate{background-position:-72px -144px}.icon-thumbs-up{background-position:-96px -144px}.icon-thumbs-down{background-position:-120px -144px}.icon-hand-right{background-position:-144px -144px}.icon-hand-left{background-position:-168px -144px}.icon-hand-up{background-position:-192px -144px}.icon-hand-down{background-position:-216px -144px}.icon-circle-arrow-right{background-position:-240px -144px}.icon-circle-arrow-left{background-position:-264px -144px}.icon-circle-arrow-up{background-position:-288px -144px}.icon-circle-arrow-down{background-position:-312px -144px}.icon-globe{background-position:-336px -144px}.icon-wrench{background-position:-360px -144px}.icon-tasks{background-position:-384px -144px}.icon-filter{background-position:-408px -144px}.icon-briefcase{background-position:-432px -144px}.icon-fullscreen{background-position:-456px -144px}.dropup,.dropdown{position:relative}.dropdown-toggle{*margin-bottom:-3px}.dropdown-toggle:active,.open .dropdown-toggle{outline:0}.caret{display:inline-block;width:0;height:0;vertical-align:top;border-top:4px solid #000;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.dropdown .caret{margin-top:8px;margin-left:2px}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;background-color:#303030;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);*border-right-width:2px;*border-bottom-width:2px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:transparent;border-bottom:1px solid #222}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:20px;color:#bbbfc2;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus,.dropdown-submenu:hover>a,.dropdown-submenu:focus>a{text-decoration:none;color:#fff;background-color:#2ab2e4;background-image:-moz-linear-gradient(top,#33b5e5,#1dade2);background-image:-webkit-gradient(linear,0 0,0 100%,from(#33b5e5),to(#1dade2));background-image:-webkit-linear-gradient(top,#33b5e5,#1dade2);background-image:-o-linear-gradient(top,#33b5e5,#1dade2);background-image:linear-gradient(to bottom,#33b5e5,#1dade2);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff33b5e5', endColorstr='#ff1dade2', GradientType=0)}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;outline:0;background-color:#2ab2e4;background-image:-moz-linear-gradient(top,#33b5e5,#1dade2);background-image:-webkit-gradient(linear,0 0,0 100%,from(#33b5e5),to(#1dade2));background-image:-webkit-linear-gradient(top,#33b5e5,#1dade2);background-image:-o-linear-gradient(top,#33b5e5,#1dade2);background-image:linear-gradient(to bottom,#33b5e5,#1dade2);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff33b5e5', endColorstr='#ff1dade2', GradientType=0)}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#adafae}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);cursor:default}.open{*z-index:1000}.open>.dropdown-menu{display:block}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid #000;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;-webkit-border-radius:0 6px 6px;-moz-border-radius:0 6px 6px;border-radius:0 6px 6px}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropup .dropdown-submenu>.dropdown-menu{top:auto;bottom:0;margin-top:0;margin-bottom:-2px;-webkit-border-radius:5px 5px 5px 0;-moz-border-radius:5px 5px 5px 0;border-radius:5px 5px 5px 0}.dropdown-submenu>a:after{display:block;content:" ";float:right;width:0;height:0;border-color:transparent;border-style:solid;border-width:5px 0 5px 5px;border-left-color:#000;margin-top:5px;margin-right:-10px}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.dropdown .dropdown-menu .nav-header{padding-left:20px;padding-right:20px}.typeahead{z-index:1051;margin-top:2px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#131517;border:1px solid #030303;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);-moz-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-large{padding:24px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.well-small{padding:9px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.fade{opacity:0;-webkit-transition:opacity .15s linear;-moz-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-moz-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.collapse.in{height:auto}.close{float:right;font-size:20px;font-weight:700;line-height:20px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.btn{display:inline-block;*display:inline;*zoom:1;padding:4px 12px;margin-bottom:0;font-size:14px;line-height:20px;text-align:center;vertical-align:middle;cursor:pointer;color:#303030;text-shadow:0 1px 1px rgba(255,255,255,.75);background-color:#9ea09f;background-image:-moz-linear-gradient(top,#adafae,#868988);background-image:-webkit-gradient(linear,0 0,0 100%,from(#adafae),to(#868988));background-image:-webkit-linear-gradient(top,#adafae,#868988);background-image:-o-linear-gradient(top,#adafae,#868988);background-image:linear-gradient(to bottom,#adafae,#868988);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffadafae', endColorstr='#ff868988', GradientType=0);border-color:#868988 #868988 #606362;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);*background-color:#868988;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);border:1px solid #bbb;*border:0;border-bottom-color:#a2a2a2;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;*margin-left:.3em;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05)}.btn:hover,.btn:focus,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{color:#303030;background-color:#868988;*background-color:#797d7b}.btn:active,.btn.active{background-color:#6d706e \9}.btn:first-child{*margin-left:0}.btn:hover,.btn:focus{color:#303030;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05)}.btn.disabled,.btn[disabled]{cursor:default;background-image:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-large{padding:11px 19px;font-size:17.5px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.btn-large [class^=icon-],.btn-large [class*=" icon-"]{margin-top:4px}.btn-small{padding:2px 10px;font-size:11.9px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.btn-small [class^=icon-],.btn-small [class*=" icon-"]{margin-top:0}.btn-mini [class^=icon-],.btn-mini [class*=" icon-"]{margin-top:-1px}.btn-mini{padding:0 6px;font-size:10.5px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.btn-block{display:block;width:100%;padding-left:0;padding-right:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.btn-block+.btn-block{margin-top:5px}input[type=submit].btn-block,input[type=reset].btn-block,input[type=button].btn-block{width:100%}.btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active,.btn-inverse.active{color:rgba(255,255,255,.75)}.btn-primary{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#38b7e5;background-image:-moz-linear-gradient(top,#4abde8,#1dade2);background-image:-webkit-gradient(linear,0 0,0 100%,from(#4abde8),to(#1dade2));background-image:-webkit-linear-gradient(top,#4abde8,#1dade2);background-image:-o-linear-gradient(top,#4abde8,#1dade2);background-image:linear-gradient(to bottom,#4abde8,#1dade2);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff4abde8', endColorstr='#ff1dade2', GradientType=0);border-color:#1dade2 #1dade2 #14799e;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);*background-color:#1dade2;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{color:#fff;background-color:#1dade2;*background-color:#1a9bcb}.btn-primary:active,.btn-primary.active{background-color:#178ab4 \9}.btn-warning{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#f58a0f;background-image:-moz-linear-gradient(top,#ff941a,#e67a00);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ff941a),to(#e67a00));background-image:-webkit-linear-gradient(top,#ff941a,#e67a00);background-image:-o-linear-gradient(top,#ff941a,#e67a00);background-image:linear-gradient(to bottom,#ff941a,#e67a00);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff941a', endColorstr='#ffe67a00', GradientType=0);border-color:#e67a00 #e67a00 #995200;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);*background-color:#e67a00;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{color:#fff;background-color:#e67a00;*background-color:#cc6d00}.btn-warning:active,.btn-warning.active{background-color:#b35f00 \9}.btn-danger{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#d10000;background-image:-moz-linear-gradient(top,#e60000,#b30000);background-image:-webkit-gradient(linear,0 0,0 100%,from(#e60000),to(#b30000));background-image:-webkit-linear-gradient(top,#e60000,#b30000);background-image:-o-linear-gradient(top,#e60000,#b30000);background-image:linear-gradient(to bottom,#e60000,#b30000);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe60000', endColorstr='#ffb30000', GradientType=0);border-color:#b30000 #b30000 #600;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);*background-color:#b30000;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{color:#fff;background-color:#b30000;*background-color:#900}.btn-danger:active,.btn-danger.active{background-color:maroon \9}.btn-success{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#699e00;background-image:-moz-linear-gradient(top,#77b300,#558000);background-image:-webkit-gradient(linear,0 0,0 100%,from(#77b300),to(#558000));background-image:-webkit-linear-gradient(top,#77b300,#558000);background-image:-o-linear-gradient(top,#77b300,#558000);background-image:linear-gradient(to bottom,#77b300,#558000);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff77b300', endColorstr='#ff558000', GradientType=0);border-color:#558000 #558000 #230;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);*background-color:#558000;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{color:#fff;background-color:#558000;*background-color:#460}.btn-success:active,.btn-success.active{background-color:#334d00 \9}.btn-info{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#993dc7;background-image:-moz-linear-gradient(top,#a347d1,#8a2eb8);background-image:-webkit-gradient(linear,0 0,0 100%,from(#a347d1),to(#8a2eb8));background-image:-webkit-linear-gradient(top,#a347d1,#8a2eb8);background-image:-o-linear-gradient(top,#a347d1,#8a2eb8);background-image:linear-gradient(to bottom,#a347d1,#8a2eb8);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffa347d1', endColorstr='#ff8a2eb8', GradientType=0);border-color:#8a2eb8 #8a2eb8 #5c1f7a;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);*background-color:#8a2eb8;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{color:#fff;background-color:#8a2eb8;*background-color:#7a29a3}.btn-info:active,.btn-info.active{background-color:#6b248f \9}.btn-inverse{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#080808;background-image:-moz-linear-gradient(top,#0d0d0d,#000);background-image:-webkit-gradient(linear,0 0,0 100%,from(#0d0d0d),to(#000));background-image:-webkit-linear-gradient(top,#0d0d0d,#000);background-image:-o-linear-gradient(top,#0d0d0d,#000);background-image:linear-gradient(to bottom,#0d0d0d,#000);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0d0d0d', endColorstr='#ff000000', GradientType=0);border-color:#000;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);*background-color:#000;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-inverse:hover,.btn-inverse:focus,.btn-inverse:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{color:#fff;background-color:#000;*background-color:#000}.btn-inverse:active,.btn-inverse.active{background-color:#000 \9}button.btn,input[type=submit].btn{*padding-top:3px;*padding-bottom:3px}button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;border:0}button.btn.btn-large,input[type=submit].btn.btn-large{*padding-top:7px;*padding-bottom:7px}button.btn.btn-small,input[type=submit].btn.btn-small{*padding-top:3px;*padding-bottom:3px}button.btn.btn-mini,input[type=submit].btn.btn-mini{*padding-top:1px;*padding-bottom:1px}.btn-link,.btn-link:active,.btn-link[disabled]{background-color:transparent;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-link{border-color:transparent;cursor:pointer;color:#f2f2f2;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-link:hover,.btn-link:focus{color:#fff;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,.btn-link[disabled]:focus{color:#303030;text-decoration:none}.btn-group{position:relative;display:inline-block;*display:inline;*zoom:1;font-size:0;vertical-align:middle;white-space:nowrap;*margin-left:.3em}.btn-group:first-child{*margin-left:0}.btn-group+.btn-group{margin-left:5px}.btn-toolbar{font-size:0;margin-top:10px;margin-bottom:10px}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group{margin-left:5px}.btn-group>.btn{position:relative;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group>.btn+.btn{margin-left:-1px}.btn-group>.btn,.btn-group>.dropdown-menu,.btn-group>.popover{font-size:14px}.btn-group>.btn-mini{font-size:10.5px}.btn-group>.btn-small{font-size:11.9px}.btn-group>.btn-large{font-size:17.5px}.btn-group>.btn:first-child{margin-left:0;-webkit-border-top-left-radius:3px;-moz-border-radius-topleft:3px;border-top-left-radius:3px;-webkit-border-bottom-left-radius:3px;-moz-border-radius-bottomleft:3px;border-bottom-left-radius:3px}.btn-group>.btn:last-child,.btn-group>.dropdown-toggle{-webkit-border-top-right-radius:3px;-moz-border-radius-topright:3px;border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;-moz-border-radius-bottomright:3px;border-bottom-right-radius:3px}.btn-group>.btn.large:first-child{margin-left:0;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px}.btn-group>.btn.large:last-child,.btn-group>.large.dropdown-toggle{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active{z-index:2}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,.125),inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,.125),inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 1px 0 0 rgba(255,255,255,.125),inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);*padding-top:5px;*padding-bottom:5px}.btn-group>.btn-mini+.dropdown-toggle{padding-left:5px;padding-right:5px;*padding-top:2px;*padding-bottom:2px}.btn-group>.btn-small+.dropdown-toggle{*padding-top:5px;*padding-bottom:4px}.btn-group>.btn-large+.dropdown-toggle{padding-left:12px;padding-right:12px;*padding-top:7px;*padding-bottom:7px}.btn-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05)}.btn-group.open .btn.dropdown-toggle{background-color:#868988}.btn-group.open .btn-primary.dropdown-toggle{background-color:#1dade2}.btn-group.open .btn-warning.dropdown-toggle{background-color:#e67a00}.btn-group.open .btn-danger.dropdown-toggle{background-color:#b30000}.btn-group.open .btn-success.dropdown-toggle{background-color:#558000}.btn-group.open .btn-info.dropdown-toggle{background-color:#8a2eb8}.btn-group.open .btn-inverse.dropdown-toggle{background-color:#000}.btn .caret{margin-top:8px;margin-left:0}.btn-large .caret{margin-top:6px}.btn-large .caret{border-left-width:5px;border-right-width:5px;border-top-width:5px}.btn-mini .caret,.btn-small .caret{margin-top:8px}.dropup .btn-large .caret{border-bottom-width:5px}.btn-primary .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret,.btn-inverse .caret{border-top-color:#fff;border-bottom-color:#fff}.btn-group-vertical{display:inline-block;*display:inline;*zoom:1}.btn-group-vertical>.btn{display:block;float:none;max-width:100%;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group-vertical>.btn+.btn{margin-left:0;margin-top:-1px}.btn-group-vertical>.btn:first-child{-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0}.btn-group-vertical>.btn:last-child{-webkit-border-radius:0 0 3px 3px;-moz-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px}.btn-group-vertical>.btn-large:first-child{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.btn-group-vertical>.btn-large:last-child{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.alert{padding:8px 35px 8px 14px;margin-bottom:20px;text-shadow:0 1px 0 rgba(255,255,255,.5);background-color:#bbbfc2;border:1px solid transparent;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.alert,.alert h4{color:#a47e3c}.alert h4{margin:0}.alert .close{position:relative;top:-2px;right:-21px;line-height:20px}.alert-success{background-color:#bbbfc2;border-color:#aeb4b6;color:#468847}.alert-success h4{color:#468847}.alert-danger,.alert-error{background-color:#bbbfc2;border-color:#b3b9bb;color:#b94a48}.alert-danger h4,.alert-error h4{color:#b94a48}.alert-info{background-color:#bbbfc2;border-color:#a8afb1;color:#09c}.alert-info h4{color:#09c}.alert-block{padding-top:14px;padding-bottom:14px}.alert-block>p,.alert-block>ul{margin-bottom:0}.alert-block p+p{margin-top:5px}.nav{margin-left:0;margin-bottom:20px;list-style:none}.nav>li>a{display:block}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#bbbfc2}.nav>li>a>img{max-width:none}.nav>.pull-right{float:right}.nav-header{display:block;padding:3px 15px;font-size:11px;font-weight:700;line-height:20px;color:#adafae;text-shadow:0 1px 0 rgba(255,255,255,.5);text-transform:uppercase}.nav li+.nav-header{margin-top:9px}.nav-list{padding-left:15px;padding-right:15px;margin-bottom:0}.nav-list>li>a,.nav-list .nav-header{margin-left:-15px;margin-right:-15px;text-shadow:0 1px 0 rgba(255,255,255,.5)}.nav-list>li>a{padding:3px 15px}.nav-list>.active>a,.nav-list>.active>a:hover,.nav-list>.active>a:focus{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.2);background-color:#f2f2f2}.nav-list [class^=icon-],.nav-list [class*=" icon-"]{margin-right:2px}.nav-list .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.nav-tabs,.nav-pills{*zoom:1}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;content:"";line-height:0}.nav-tabs:after,.nav-pills:after{clear:both}.nav-tabs>li,.nav-pills>li{float:left}.nav-tabs>li>a,.nav-pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{margin-bottom:-1px}.nav-tabs>li>a{padding-top:8px;padding-bottom:8px;line-height:20px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover,.nav-tabs>li>a:focus{border-color:#bbbfc2 #bbbfc2 #ddd}.nav-tabs>.active>a,.nav-tabs>.active>a:hover,.nav-tabs>.active>a:focus{color:#bbb;background-color:#161616;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.nav-pills>li>a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.nav-pills>.active>a,.nav-pills>.active>a:hover,.nav-pills>.active>a:focus{color:#fff;background-color:#f2f2f2}.nav-stacked>li{float:none}.nav-stacked>li>a{margin-right:0}.nav-tabs.nav-stacked{border-bottom:0}.nav-tabs.nav-stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.nav-tabs.nav-stacked>li:first-child>a{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px}.nav-tabs.nav-stacked>li:last-child>a{-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px}.nav-tabs.nav-stacked>li>a:hover,.nav-tabs.nav-stacked>li>a:focus{border-color:#ddd;z-index:2}.nav-pills.nav-stacked>li>a{margin-bottom:3px}.nav-pills.nav-stacked>li:last-child>a{margin-bottom:1px}.nav-tabs .dropdown-menu{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.nav-pills .dropdown-menu{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.nav .dropdown-toggle .caret{border-top-color:#f2f2f2;border-bottom-color:#f2f2f2;margin-top:6px}.nav .dropdown-toggle:hover .caret,.nav .dropdown-toggle:focus .caret{border-top-color:#fff;border-bottom-color:#fff}.nav-tabs .dropdown-toggle .caret{margin-top:8px}.nav .active .dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.nav-tabs .active .dropdown-toggle .caret{border-top-color:#bbb;border-bottom-color:#bbb}.nav>.dropdown.active>a:hover,.nav>.dropdown.active>a:focus{cursor:pointer}.nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav>li.dropdown.open.active>a:hover,.nav>li.dropdown.open.active>a:focus{color:#fff;background-color:#adafae;border-color:#adafae}.nav li.dropdown.open .caret,.nav li.dropdown.open.active .caret,.nav li.dropdown.open a:hover .caret,.nav li.dropdown.open a:focus .caret{border-top-color:#fff;border-bottom-color:#fff;opacity:1;filter:alpha(opacity=100)}.tabs-stacked .open>a:hover,.tabs-stacked .open>a:focus{border-color:#adafae}.tabbable{*zoom:1}.tabbable:before,.tabbable:after{display:table;content:"";line-height:0}.tabbable:after{clear:both}.tab-content{overflow:auto}.tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs{border-bottom:0}.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}.tab-content>.active,.pill-content>.active{display:block}.tabs-below>.nav-tabs{border-top:1px solid #ddd}.tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0}.tabs-below>.nav-tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.tabs-below>.nav-tabs>li>a:hover,.tabs-below>.nav-tabs>li>a:focus{border-bottom-color:transparent;border-top-color:#ddd}.tabs-below>.nav-tabs>.active>a,.tabs-below>.nav-tabs>.active>a:hover,.tabs-below>.nav-tabs>.active>a:focus{border-color:transparent #ddd #ddd}.tabs-left>.nav-tabs>li,.tabs-right>.nav-tabs>li{float:none}.tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px}.tabs-left>.nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd}.tabs-left>.nav-tabs>li>a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.tabs-left>.nav-tabs>li>a:hover,.tabs-left>.nav-tabs>li>a:focus{border-color:#bbbfc2 #ddd #bbbfc2 #bbbfc2}.tabs-left>.nav-tabs .active>a,.tabs-left>.nav-tabs .active>a:hover,.tabs-left>.nav-tabs .active>a:focus{border-color:#ddd transparent #ddd #ddd;*border-right-color:#fff}.tabs-right>.nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd}.tabs-right>.nav-tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.tabs-right>.nav-tabs>li>a:hover,.tabs-right>.nav-tabs>li>a:focus{border-color:#bbbfc2 #bbbfc2 #bbbfc2 #ddd}.tabs-right>.nav-tabs .active>a,.tabs-right>.nav-tabs .active>a:hover,.tabs-right>.nav-tabs .active>a:focus{border-color:#ddd #ddd #ddd transparent;*border-left-color:#fff}.nav>.disabled>a{color:#adafae}.nav>.disabled>a:hover,.nav>.disabled>a:focus{text-decoration:none;background-color:transparent;cursor:default}.navbar{overflow:visible;margin-bottom:20px;*position:relative;*z-index:2}.navbar-inner{min-height:50px;padding-left:20px;padding-right:20px;background-color:#1f1f1f;background-image:-moz-linear-gradient(top,#1f1f1f,#1f1f1f);background-image:-webkit-gradient(linear,0 0,0 100%,from(#1f1f1f),to(#1f1f1f));background-image:-webkit-linear-gradient(top,#1f1f1f,#1f1f1f);background-image:-o-linear-gradient(top,#1f1f1f,#1f1f1f);background-image:linear-gradient(to bottom,#1f1f1f,#1f1f1f);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff1f1f1f', endColorstr='#ff1f1f1f', GradientType=0);border:1px solid #000;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 4px rgba(0,0,0,.065);-moz-box-shadow:0 1px 4px rgba(0,0,0,.065);box-shadow:0 1px 4px rgba(0,0,0,.065);*zoom:1}.navbar-inner:before,.navbar-inner:after{display:table;content:"";line-height:0}.navbar-inner:after{clear:both}.navbar .container{width:auto}.nav-collapse.collapse{height:auto;overflow:visible}.navbar .brand{float:left;display:block;padding:15px 20px;margin-left:-20px;font-size:20px;font-weight:200;color:#adafae;text-shadow:0 1px 0 #1f1f1f}.navbar .brand:hover,.navbar .brand:focus{text-decoration:none}.navbar-text{margin-bottom:0;line-height:50px;color:#adafae}.navbar-link{color:#adafae}.navbar-link:hover,.navbar-link:focus{color:#fff}.navbar .divider-vertical{height:50px;margin:0 9px;border-left:1px solid #1f1f1f;border-right:1px solid #1f1f1f}.navbar .btn,.navbar .btn-group{margin-top:10px}.navbar .btn-group .btn,.navbar .input-prepend .btn,.navbar .input-append .btn,.navbar .input-prepend .btn-group,.navbar .input-append .btn-group{margin-top:0}.navbar-form{margin-bottom:0;*zoom:1}.navbar-form:before,.navbar-form:after{display:table;content:"";line-height:0}.navbar-form:after{clear:both}.navbar-form input,.navbar-form select,.navbar-form .radio,.navbar-form .checkbox{margin-top:10px}.navbar-form input,.navbar-form select,.navbar-form .btn{display:inline-block;margin-bottom:0}.navbar-form input[type=image],.navbar-form input[type=checkbox],.navbar-form input[type=radio]{margin-top:3px}.navbar-form .input-append,.navbar-form .input-prepend{margin-top:5px;white-space:nowrap}.navbar-form .input-append input,.navbar-form .input-prepend input{margin-top:0}.navbar-search{position:relative;float:left;margin-top:10px;margin-bottom:0}.navbar-search .search-query{margin-bottom:0;padding:4px 14px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:400;line-height:1;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.navbar-static-top{position:static;margin-bottom:0}.navbar-static-top .navbar-inner{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;margin-bottom:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{border-width:0 0 1px}.navbar-fixed-bottom .navbar-inner{border-width:1px 0 0}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding-left:0;padding-right:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.navbar-fixed-top{top:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{-webkit-box-shadow:0 1px 10px rgba(0,0,0,.1);-moz-box-shadow:0 1px 10px rgba(0,0,0,.1);box-shadow:0 1px 10px rgba(0,0,0,.1)}.navbar-fixed-bottom{bottom:0}.navbar-fixed-bottom .navbar-inner{-webkit-box-shadow:0 -1px 10px rgba(0,0,0,.1);-moz-box-shadow:0 -1px 10px rgba(0,0,0,.1);box-shadow:0 -1px 10px rgba(0,0,0,.1)}.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0}.navbar .nav.pull-right{float:right;margin-right:0}.navbar .nav>li{float:left}.navbar .nav>li>a{float:none;padding:15px;color:#adafae;text-decoration:none;text-shadow:0 1px 0 #1f1f1f}.navbar .nav .dropdown-toggle .caret{margin-top:8px}.navbar .nav>li>a:focus,.navbar .nav>li>a:hover{background-color:transparent;color:#fff;text-decoration:none}.navbar .nav>.active>a,.navbar .nav>.active>a:hover,.navbar .nav>.active>a:focus{color:#fff;text-decoration:none;background-color:#1f1f1f;-webkit-box-shadow:inset 0 3px 8px rgba(0,0,0,.125);-moz-box-shadow:inset 0 3px 8px rgba(0,0,0,.125);box-shadow:inset 0 3px 8px rgba(0,0,0,.125)}.navbar .btn-navbar{display:none;float:right;padding:7px 10px;margin-left:5px;margin-right:5px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#121212;background-image:-moz-linear-gradient(top,#121212,#121212);background-image:-webkit-gradient(linear,0 0,0 100%,from(#121212),to(#121212));background-image:-webkit-linear-gradient(top,#121212,#121212);background-image:-o-linear-gradient(top,#121212,#121212);background-image:linear-gradient(to bottom,#121212,#121212);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff121212', endColorstr='#ff121212', GradientType=0);border-color:#121212 #121212 #000;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);*background-color:#121212;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.075);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.075)}.navbar .btn-navbar:hover,.navbar .btn-navbar:focus,.navbar .btn-navbar:active,.navbar .btn-navbar.active,.navbar .btn-navbar.disabled,.navbar .btn-navbar[disabled]{color:#fff;background-color:#121212;*background-color:#050505}.navbar .btn-navbar:active,.navbar .btn-navbar.active{background-color:#000 \9}.navbar .btn-navbar .icon-bar{display:block;width:18px;height:2px;background-color:#f5f5f5;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.25);-moz-box-shadow:0 1px 0 rgba(0,0,0,.25);box-shadow:0 1px 0 rgba(0,0,0,.25)}.btn-navbar .icon-bar+.icon-bar{margin-top:3px}.navbar .nav>li>.dropdown-menu:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0,0,0,.2);position:absolute;top:-7px;left:9px}.navbar .nav>li>.dropdown-menu:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #303030;position:absolute;top:-6px;left:10px}.navbar-fixed-bottom .nav>li>.dropdown-menu:before{border-top:7px solid #ccc;border-top-color:rgba(0,0,0,.2);border-bottom:0;bottom:-7px;top:auto}.navbar-fixed-bottom .nav>li>.dropdown-menu:after{border-top:6px solid #303030;border-bottom:0;bottom:-6px;top:auto}.navbar .nav li.dropdown>a:hover .caret,.navbar .nav li.dropdown>a:focus .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar .nav li.dropdown.open>.dropdown-toggle,.navbar .nav li.dropdown.active>.dropdown-toggle,.navbar .nav li.dropdown.open.active>.dropdown-toggle{background-color:#1f1f1f;color:#fff}.navbar .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#adafae;border-bottom-color:#adafae}.navbar .nav li.dropdown.open>.dropdown-toggle .caret,.navbar .nav li.dropdown.active>.dropdown-toggle .caret,.navbar .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar .pull-right>li>.dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right{left:auto;right:0}.navbar .pull-right>li>.dropdown-menu:before,.navbar .nav>li>.dropdown-menu.pull-right:before{left:auto;right:12px}.navbar .pull-right>li>.dropdown-menu:after,.navbar .nav>li>.dropdown-menu.pull-right:after{left:auto;right:13px}.navbar .pull-right>li>.dropdown-menu .dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right .dropdown-menu{left:auto;right:100%;margin-left:0;margin-right:-1px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.navbar-inverse .navbar-inner{background-color:#252a30;background-image:-moz-linear-gradient(top,#252a30,#252a30);background-image:-webkit-gradient(linear,0 0,0 100%,from(#252a30),to(#252a30));background-image:-webkit-linear-gradient(top,#252a30,#252a30);background-image:-o-linear-gradient(top,#252a30,#252a30);background-image:linear-gradient(to bottom,#252a30,#252a30);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff252a30', endColorstr='#ff252a30', GradientType=0);border-color:transparent}.navbar-inverse .brand,.navbar-inverse .nav>li>a{color:#adafae;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.navbar-inverse .brand:hover,.navbar-inverse .nav>li>a:hover,.navbar-inverse .brand:focus,.navbar-inverse .nav>li>a:focus{color:#fff}.navbar-inverse .brand{color:#adafae}.navbar-inverse .navbar-text{color:#adafae}.navbar-inverse .nav>li>a:focus,.navbar-inverse .nav>li>a:hover{background-color:#242a31;color:#fff}.navbar-inverse .nav .active>a,.navbar-inverse .nav .active>a:hover,.navbar-inverse .nav .active>a:focus{color:#fff;background-color:#242a31}.navbar-inverse .navbar-link{color:#adafae}.navbar-inverse .navbar-link:hover,.navbar-inverse .navbar-link:focus{color:#fff}.navbar-inverse .divider-vertical{border-left-color:#252a30;border-right-color:#252a30}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle{background-color:#242a31;color:#fff}.navbar-inverse .nav li.dropdown>a:hover .caret,.navbar-inverse .nav li.dropdown>a:focus .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#adafae;border-bottom-color:#adafae}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .navbar-search .search-query{color:#fff;background-color:#5d6978;border-color:#252a30;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1),0 1px 0 rgba(255,255,255,.15);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.1),0 1px 0 rgba(255,255,255,.15);box-shadow:inset 0 1px 2px rgba(0,0,0,.1),0 1px 0 rgba(255,255,255,.15);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.navbar-inverse .navbar-search .search-query:-moz-placeholder{color:#fff}.navbar-inverse .navbar-search .search-query:-ms-input-placeholder{color:#fff}.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder{color:#fff}.navbar-inverse .navbar-search .search-query:focus,.navbar-inverse .navbar-search .search-query.focused{padding:5px 15px;color:#303030;text-shadow:0 1px 0 #fff;background-color:#fff;border:0;-webkit-box-shadow:0 0 3px rgba(0,0,0,.15);-moz-box-shadow:0 0 3px rgba(0,0,0,.15);box-shadow:0 0 3px rgba(0,0,0,.15);outline:0}.navbar-inverse .btn-navbar{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#1a1d22;background-image:-moz-linear-gradient(top,#1a1d22,#1a1d22);background-image:-webkit-gradient(linear,0 0,0 100%,from(#1a1d22),to(#1a1d22));background-image:-webkit-linear-gradient(top,#1a1d22,#1a1d22);background-image:-o-linear-gradient(top,#1a1d22,#1a1d22);background-image:linear-gradient(to bottom,#1a1d22,#1a1d22);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff1a1d22', endColorstr='#ff1a1d22', GradientType=0);border-color:#1a1d22 #1a1d22 #000;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);*background-color:#1a1d22;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.navbar-inverse .btn-navbar:hover,.navbar-inverse .btn-navbar:focus,.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active,.navbar-inverse .btn-navbar.disabled,.navbar-inverse .btn-navbar[disabled]{color:#fff;background-color:#1a1d22;*background-color:#0f1113}.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active{background-color:#040405 \9}.breadcrumb{padding:8px 15px;margin:0 0 20px;list-style:none;background-color:#f5f5f5;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.breadcrumb>li{display:inline-block;*display:inline;*zoom:1;text-shadow:0 1px 0 #fff}.breadcrumb>li>.divider{padding:0 5px;color:#ccc}.breadcrumb>.active{color:#adafae}.pagination{margin:20px 0}.pagination ul{display:inline-block;*display:inline;*zoom:1;margin-left:0;margin-bottom:0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.pagination ul>li{display:inline}.pagination ul>li>a,.pagination ul>li>span{float:left;padding:4px 12px;line-height:20px;text-decoration:none;background-color:#161616;border:1px solid transparent;border-left-width:0}.pagination ul>li>a:hover,.pagination ul>li>a:focus,.pagination ul>.active>a,.pagination ul>.active>span{background-color:#33b5e5}.pagination ul>.active>a,.pagination ul>.active>span{color:#adafae;cursor:default}.pagination ul>.disabled>span,.pagination ul>.disabled>a,.pagination ul>.disabled>a:hover,.pagination ul>.disabled>a:focus{color:#adafae;background-color:transparent;cursor:default}.pagination ul>li:first-child>a,.pagination ul>li:first-child>span{border-left-width:1px;-webkit-border-top-left-radius:3px;-moz-border-radius-topleft:3px;border-top-left-radius:3px;-webkit-border-bottom-left-radius:3px;-moz-border-radius-bottomleft:3px;border-bottom-left-radius:3px}.pagination ul>li:last-child>a,.pagination ul>li:last-child>span{-webkit-border-top-right-radius:3px;-moz-border-radius-topright:3px;border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;-moz-border-radius-bottomright:3px;border-bottom-right-radius:3px}.pagination-centered{text-align:center}.pagination-right{text-align:right}.pagination-large ul>li>a,.pagination-large ul>li>span{padding:11px 19px;font-size:17.5px}.pagination-large ul>li:first-child>a,.pagination-large ul>li:first-child>span{-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px}.pagination-large ul>li:last-child>a,.pagination-large ul>li:last-child>span{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px}.pagination-mini ul>li:first-child>a,.pagination-small ul>li:first-child>a,.pagination-mini ul>li:first-child>span,.pagination-small ul>li:first-child>span{-webkit-border-top-left-radius:2px;-moz-border-radius-topleft:2px;border-top-left-radius:2px;-webkit-border-bottom-left-radius:2px;-moz-border-radius-bottomleft:2px;border-bottom-left-radius:2px}.pagination-mini ul>li:last-child>a,.pagination-small ul>li:last-child>a,.pagination-mini ul>li:last-child>span,.pagination-small ul>li:last-child>span{-webkit-border-top-right-radius:2px;-moz-border-radius-topright:2px;border-top-right-radius:2px;-webkit-border-bottom-right-radius:2px;-moz-border-radius-bottomright:2px;border-bottom-right-radius:2px}.pagination-small ul>li>a,.pagination-small ul>li>span{padding:2px 10px;font-size:11.9px}.pagination-mini ul>li>a,.pagination-mini ul>li>span{padding:0 6px;font-size:10.5px}.pager{margin:20px 0;list-style:none;text-align:center;*zoom:1}.pager:before,.pager:after{display:table;content:"";line-height:0}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#f5f5f5}.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:#adafae;background-color:#fff;cursor:default}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop,.modal-backdrop.fade.in{opacity:.8;filter:alpha(opacity=80)}.modal{position:absolute;z-index:1050;width:100%;background-color:#fff;-webkit-box-shadow:0 3px 7px rgba(0,0,0,.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,.3);box-shadow:0 3px 7px rgba(0,0,0,.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;outline:0}.modal.fade{-webkit-transition:opacity .3s linear,top .3s ease-out;-moz-transition:opacity .3s linear,top .3s ease-out;-o-transition:opacity .3s linear,top .3s ease-out;transition:opacity .3s linear,top .3s ease-out;top:-25%}.modal.fade.in{top:10%}.modal-header{padding:9px 15px;border-bottom:1px solid #eee}.modal-header .close{margin-top:2px}.modal-header h3{margin:0;line-height:30px}.modal-body{position:relative;overflow-y:auto;padding:15px}.modal-form{margin-bottom:0}.modal-footer{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-box-shadow:inset 0 1px 0 #fff;-moz-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff;*zoom:1}.modal-footer:before,.modal-footer:after{display:table;content:"";line-height:0}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.tooltip{position:absolute;z-index:1020;display:block;visibility:visible;font-size:11px;line-height:1.4;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.8;filter:alpha(opacity=80)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:8px;color:#fff;text-align:center;text-decoration:none;background-color:#303030;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.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:#303030}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#303030}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#303030}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#303030}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;background-color:#303030;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);white-space:normal}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:14px;font-weight:400;line-height:18px;background-color:#303030;border-bottom:1px solid #232323;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.popover-title:empty{display:none}.popover-content{padding:9px 14px}.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow{border-width:11px}.popover .arrow:after{border-width:10px;content:""}.popover.top .arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,.25);bottom:-11px}.popover.top .arrow:after{bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#303030}.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,.25)}.popover.right .arrow:after{left:1px;bottom:-10px;border-left-width:0;border-right-color:#303030}.popover.bottom .arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);top:-11px}.popover.bottom .arrow:after{top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#303030}.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;border-right-width:0;border-left-color:#303030;bottom:-10px}.thumbnails{margin-left:-20px;list-style:none;*zoom:1}.thumbnails:before,.thumbnails:after{display:table;content:"";line-height:0}.thumbnails:after{clear:both}.row-fluid .thumbnails{margin-left:0}.thumbnails>li{float:left;margin-bottom:20px;margin-left:20px}.thumbnail{display:block;padding:4px;line-height:20px;border:1px solid #ddd;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.055);-moz-box-shadow:0 1px 3px rgba(0,0,0,.055);box-shadow:0 1px 3px rgba(0,0,0,.055);-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}a.thumbnail:hover,a.thumbnail:focus{border-color:#f2f2f2;-webkit-box-shadow:0 1px 4px rgba(0,105,214,.25);-moz-box-shadow:0 1px 4px rgba(0,105,214,.25);box-shadow:0 1px 4px rgba(0,105,214,.25)}.thumbnail>img{display:block;max-width:100%;margin-left:auto;margin-right:auto}.thumbnail .caption{padding:9px;color:#bbb}.media,.media-body{overflow:hidden;*overflow:visible;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{margin-left:0;list-style:none}.label,.badge{display:inline-block;padding:2px 4px;font-size:11.844px;font-weight:700;line-height:14px;color:#fff;vertical-align:baseline;white-space:nowrap;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#adafae}.label{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.badge{padding-left:9px;padding-right:9px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px}.label:empty,.badge:empty{display:none}a.label:hover,a.label:focus,a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.label-important,.badge-important{background-color:#b94a48}.label-important[href],.badge-important[href]{background-color:#953b39}.label-warning,.badge-warning{background-color:#f80}.label-warning[href],.badge-warning[href]{background-color:#cc6d00}.label-success,.badge-success{background-color:#468847}.label-success[href],.badge-success[href]{background-color:#356635}.label-info,.badge-info{background-color:#09c}.label-info[href],.badge-info[href]{background-color:#007399}.label-inverse,.badge-inverse{background-color:#303030}.label-inverse[href],.badge-inverse[href]{background-color:#161616}.btn .label,.btn .badge{position:relative;top:-1px}.btn-mini .label,.btn-mini .badge{top:0}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-ms-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f7f7f7;background-image:-moz-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f5f5f5),to(#f9f9f9));background-image:-webkit-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-o-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:linear-gradient(to bottom,#f5f5f5,#f9f9f9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.progress .bar{width:0;height:100%;color:#fff;float:left;font-size:12px;text-align:center;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#0e90d2;background-image:-moz-linear-gradient(top,#149bdf,#0480be);background-image:-webkit-gradient(linear,0 0,0 100%,from(#149bdf),to(#0480be));background-image:-webkit-linear-gradient(top,#149bdf,#0480be);background-image:-o-linear-gradient(top,#149bdf,#0480be);background-image:linear-gradient(to bottom,#149bdf,#0480be);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-moz-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width .6s ease;-moz-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress .bar+.bar{-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,.15),inset 0 -1px 0 rgba(0,0,0,.15);-moz-box-shadow:inset 1px 0 0 rgba(0,0,0,.15),inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 1px 0 0 rgba(0,0,0,.15),inset 0 -1px 0 rgba(0,0,0,.15)}.progress-striped .bar{background-color:#149bdf;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,.15)),color-stop(0.75,rgba(255,255,255,.15)),color-stop(0.75,transparent),to(transparent));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:-moz-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;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px}.progress.active .bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-danger .bar,.progress .bar-danger{background-color:#dd514c;background-image:-moz-linear-gradient(top,#ee5f5b,#c43c35);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#c43c35));background-image:-webkit-linear-gradient(top,#ee5f5b,#c43c35);background-image:-o-linear-gradient(top,#ee5f5b,#c43c35);background-image:linear-gradient(to bottom,#ee5f5b,#c43c35);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffc43c35', GradientType=0)}.progress-danger.progress-striped .bar,.progress-striped .bar-danger{background-color:#ee5f5b;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,.15)),color-stop(0.75,rgba(255,255,255,.15)),color-stop(0.75,transparent),to(transparent));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:-moz-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-success .bar,.progress .bar-success{background-color:#5eb95e;background-image:-moz-linear-gradient(top,#62c462,#57a957);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#57a957));background-image:-webkit-linear-gradient(top,#62c462,#57a957);background-image:-o-linear-gradient(top,#62c462,#57a957);background-image:linear-gradient(to bottom,#62c462,#57a957);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff57a957', GradientType=0)}.progress-success.progress-striped .bar,.progress-striped .bar-success{background-color:#62c462;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,.15)),color-stop(0.75,rgba(255,255,255,.15)),color-stop(0.75,transparent),to(transparent));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:-moz-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-info .bar,.progress .bar-info{background-color:#4bb1cf;background-image:-moz-linear-gradient(top,#5bc0de,#339bb9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#339bb9));background-image:-webkit-linear-gradient(top,#5bc0de,#339bb9);background-image:-o-linear-gradient(top,#5bc0de,#339bb9);background-image:linear-gradient(to bottom,#5bc0de,#339bb9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff339bb9', GradientType=0)}.progress-info.progress-striped .bar,.progress-striped .bar-info{background-color:#5bc0de;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,.15)),color-stop(0.75,rgba(255,255,255,.15)),color-stop(0.75,transparent),to(transparent));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:-moz-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-warning .bar,.progress .bar-warning{background-color:#ff9d2e;background-image:-moz-linear-gradient(top,#ffac4d,#f80);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ffac4d),to(#f80));background-image:-webkit-linear-gradient(top,#ffac4d,#f80);background-image:-o-linear-gradient(top,#ffac4d,#f80);background-image:linear-gradient(to bottom,#ffac4d,#f80);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffac4d', endColorstr='#ffff8800', GradientType=0)}.progress-warning.progress-striped .bar,.progress-striped .bar-warning{background-color:#ffac4d;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,.15)),color-stop(0.75,rgba(255,255,255,.15)),color-stop(0.75,transparent),to(transparent));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:-moz-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)}.accordion{margin-bottom:20px}.accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.accordion-heading{border-bottom:0}.accordion-heading .accordion-toggle{display:block;padding:8px 15px}.accordion-toggle{cursor:pointer}.accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5}.carousel{position:relative;margin-bottom:20px;line-height:1}.carousel-inner{overflow:hidden;width:100%;position:relative}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;-moz-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{display:block;line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#fff;text-align:center;background:#1f1f1f;border:3px solid #fff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:.5;filter:alpha(opacity=50)}.carousel-control.right{left:auto;right:15px}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-indicators{position:absolute;top:15px;right:15px;z-index:5;margin:0;list-style:none}.carousel-indicators li{display:block;float:left;width:10px;height:10px;margin-left:5px;text-indent:-999px;background-color:#ccc;background-color:rgba(255,255,255,.25);border-radius:5px}.carousel-indicators .active{background-color:#fff}.carousel-caption{position:absolute;left:0;right:0;bottom:0;padding:15px;background:#303030;background:rgba(0,0,0,.75)}.carousel-caption h4,.carousel-caption p{color:#fff;line-height:20px}.carousel-caption h4{margin:0 0 5px}.carousel-caption p{margin-bottom:0}.hero-unit{padding:60px;margin-bottom:30px;font-size:18px;font-weight:200;line-height:30px;color:inherit;background-color:#303030;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;color:inherit;letter-spacing:-1px}.hero-unit li{line-height:30px}.pull-right{float:right}.pull-left{float:left}.hide{display:none}.show{display:block}.invisible{visibility:hidden}.affix{position:fixed}label,input,button,select,textarea,.navbar .search-query:-moz-placeholder,.navbar .search-query::-webkit-input-placeholder{font-family:'Droid Sans',sans-serif;color:#bbb}blockquote{border-left:5px solid #303030}blockquote.pull-right{border-right:5px solid #303030}html{min-height:100%}body{min-height:100%;background:#161616}.page-header{border-bottom:1px solid #303030}hr{border-bottom:0}.navbar .navbar-inner{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.navbar .brand{padding:15px 20px;color:#bbbfc2;font-weight:400;text-shadow:none}.navbar .nav>li>a{padding:15px 15px 14px;border-bottom:1px solid transparent}.navbar .nav>li>a:hover,.navbar .nav>.active>a,.navbar .nav>.active>a:hover{border-bottom:1px solid #33b5e5}.navbar .nav>.active>a,.navbar .nav>.active>a:hover,.navbar .nav>.active>a:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.navbar .navbar-text{margin-bottom:1px;padding:15px 15px 14px;line-height:inherit}.navbar .divider-vertical{margin:0;border-left:1px solid #303030;border-right-width:0}.navbar .search-query,.navbar .search-query:focus,.navbar .search-query.focused{-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;background-color:#303030;line-height:normal;color:#adafae;text-shadow:none}.navbar .search-query:-moz-placeholder,.navbar .search-query:focus:-moz-placeholder,.navbar .search-query.focused:-moz-placeholder{color:#bbb}.navbar .search-query:-ms-input-placeholder,.navbar .search-query:focus:-ms-input-placeholder,.navbar .search-query.focused:-ms-input-placeholder{color:#bbb}.navbar .search-query::-webkit-input-placeholder,.navbar .search-query:focus::-webkit-input-placeholder,.navbar .search-query.focused::-webkit-input-placeholder{color:#bbb}@media(max-width:979px){.navbar .nav-collapse .nav li>a{border:0;color:#bbbfc2;font-weight:400;text-shadow:none}.navbar .nav-collapse .nav li>a:hover{border:0;background-color:#33b5e5}.navbar .nav-collapse .nav .active>a{border:0;background-color:#33b5e5}.navbar .nav-collapse .dropdown-menu a:hover{background-color:#33b5e5}.navbar .nav-collapse .navbar-form,.navbar .nav-collapse .navbar-search{border-top:0;border-bottom:0}.navbar .nav-collapse .nav-header{color:rgba(128,128,128,.6)}.navbar-inverse .nav-collapse .nav li>a:hover{background-color:#111}.navbar-inverse .nav-collapse .nav .active>a{background-color:#111}.navbar-inverse .nav-collapse .nav li.dropdown.open>.dropdown-toggle,.navbar-inverse .nav-collapse .nav li.dropdown.active>.dropdown-toggle,.navbar-inverse .nav-collapse .nav li.dropdown.open.active>.dropdown-toggle{background-color:#111}}.dropdown-menu{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}div.subnav{margin:0 1px;background-color:#1f1f1f;background-image:none;border:0;border-bottom:1px solid #303030}div.subnav .nav>li>a,div.subnav .nav>li:first-child>a,div.subnav .nav>li:first-child>a:hover{padding:11px 12px;border:0;background-color:#1f1f1f;color:#adafae}div.subnav .nav>li>a:hover,div.subnav .nav>li.active>a,div.subnav .nav>li.active>a:hover,div.subnav .nav>li:first-child>a:hover{padding:11px 12px;background:transparent;border:0;border-bottom:1px solid #33b5e5;color:#fff}div.subnav .nav li.nav-header{text-shadow:none}div.subnav-fixed{top:50px;margin:0}.nav-tabs{border-bottom:1px solid #303030}.nav-tabs>li>a{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.nav-tabs li>a:hover,.nav-tabs li.active>a,.nav-tabs li.active>a:hover{border-color:transparent;background-color:#33b5e5;color:#fff}.nav-tabs li.disabled>a{color:#bbbfc2}.nav-tabs .open .dropdown-toggle{background-color:#060606;border-color:transparent}.nav-pills li>a:hover{background-color:#33b5e5;color:#fff}.nav-pills li.disabled>a{color:#bbbfc2}.nav-pills .open .dropdown-toggle{background-color:#060606}.nav-pills .dropdown-menu li>a:hover{border:0}.nav-list li>a{text-shadow:none}.nav-list li>a:hover{background-color:#33b5e5;color:#fff}.nav-list .nav-header{text-shadow:none}.nav-list .divider{background-color:transparent;border-bottom:1px solid #303030}.nav-stacked li>a{border:1px solid #303030!important}.nav-stacked li>a:hover,.nav-stacked li.active>a{background-color:#33b5e5;color:#fff}.tabbable .nav-tabs,.tabbable .nav-tabs li.active>a{border-color:#303030}.breadcrumb{background-color:transparent;background-image:none;border-width:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;font-size:14px}.breadcrumb li{text-shadow:none}.breadcrumb li>a{color:#33b5e5;text-shadow:none}.pagination ul{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.pagination ul>.disabled>a,.pagination ul>.disabled>a:hover,.pagination ul>.disabled>span,.pagination ul>.disabled>span:hover{background-color:rgba(0,0,0,.2)}.pager li>a,.pager li>span{background-color:#161616;border:0}.pager li>a:hover,.pager li>span:hover{background-color:#33b5e5}.pager .disabled a,.pager .disabled a:hover{background-color:#161616}.btn{padding:5px 12px;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;text-shadow:none}.btn.disabled{box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05)}.btn-large{padding:22px 30px}.btn-small{padding:2px 10px}.btn-mini{padding:2px 6px}.btn-group>.btn:first-child,.btn-group>.btn:last-child,.btn-group>.dropdown-toggle{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group>.btn+.dropdown-toggle{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}input,textarea,select{border-width:2px;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}select,textarea,input[type=text],input[type=password],input[type=datetime],input[type=datetime-local],input[type=date],input[type=month],input[type=time],input[type=week],input[type=number],input[type=email],input[type=url],input[type=search],input[type=tel],input[type=color],.uneditable-input{color:#adafae}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly],.uneditable-input{border-color:#444}input:focus,textarea:focus,input.focused,textarea.focused{border-color:#52a8ec;outline:0;outline:thin dotted \9}input[type=file]:focus,input[type=radio]:focus,input[type=checkbox]:focus,select:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}legend,label{color:#bbbfc2;border-bottom:0 solid #222}.form-actions{border-top:1px solid #222}.table{-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.table tbody tr.success td{background-color:#690;color:#fff}.table tbody tr.error td{background-color:#c00;color:#fff}.table tbody tr.info td{background-color:#33b5e5;color:#fff}.alert,.alert .alert-heading,.alert-success,.alert-success .alert-heading,.alert-danger,.alert-error,.alert-danger .alert-heading,.alert-error .alert-heading,.alert-info,.alert-info .alert-heading{color:#bbbfc2;text-shadow:none;border:0}.label{color:#bbbfc2}.badge{border-radius:0;font-weight:200}.label,.alert{background-color:#888}.label:hover{background-color:#6e6e6e}.label-important,.alert-danger,.alert-error{background-color:#c00}.label-important:hover{background-color:#900}.label-warning{background-color:#cc6d00}.label-warning:hover{background-color:#995200}.label-success,.alert-success{background-color:#5c8a00}.label-success:hover{background-color:#3a5700}.label-info,.alert-info{background-color:#007399}.label-info:hover{background-color:#004d66}a:hover{text-decoration:none}.well,.hero-unit{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.well,.hero-unit{border-top:solid 1px #3d3d3d;-webkit-box-shadow:0 2px 4px rgba(0,0,0,.8);-moz-box-shadow:0 2px 4px rgba(0,0,0,.8);box-shadow:0 2px 4px rgba(0,0,0,.8)}.thumbnail{border-color:#303030}.progress{background-color:#060606;background-image:none;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.modal{-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;border-top:solid 1px #3d3d3d;background-color:#303030}.modal-header{border-bottom:1px solid #303030}.modal-footer{background-color:#303030;border-top:1px solid #303030;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.popover{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.popover-title{border-bottom:0;color:#fff}.footer{border-top:1px solid #303030}@media(max-width:767px){div.panel{width:100%!important;padding:0!important}}.container-fluid{padding-left:0;padding-right:0}.container.grafana-container{padding:5px 10px;width:100%;box-sizing:border-box}.bgNav{background:#1f1f1f}.bgPrimary{background:#4abde8;color:rgba(255,255,255,.9)}.bgInfo{background:#a347d1;color:rgba(255,255,255,.9)}.bgSuccess{background:#77b300;color:rgba(255,255,255,.9)}.bgWarning{background:#ff941a;color:rgba(255,255,255,.9)}.bgDanger{background:#e60000;color:rgba(255,255,255,.9)}.bgInverse{background:#0d0d0d;color:rgba(255,255,255,.9)}code,pre{background-color:#bbbfc2}.panel{display:inline-table;vertical-align:top}.panel-container{padding:0;background:#1f1f1f;margin:5px}.panel-content{padding:0 10px 5px}.panel-title{border:0;font-weight:700}.panel-loading{position:absolute;top:0;right:4px;z-index:800}.panel div.panel-extra div.panel-extra-container{margin-right:-10px;margin-top:3px;text-align:center}.panel div.panel-extra div.panel-extra-container ul{text-align:left}.panel div.panel-extra{font-size:.9em;margin-bottom:0}.panel div.panel-extra .extra{float:right!important}.panel-error{color:#fff;padding:5px 10px 0}.panel-error-inspector-link{float:right;margin-right:10px}div.editor-row{vertical-align:top}div.editor-row div.section{margin-right:20px;vertical-align:top;display:inline-block}div.editor-option{vertical-align:top;display:inline-block;margin-right:10px}div.editor-option label{display:block}#events{font-size:12px}.version{font-size:85%}.legend{color:#000}div.fake-input{background-color:#4a4a4a;border:1px solid #636363;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}hr.small{margin:5px 0}form input.ng-invalid{color:#b94a48}.editor-title{margin-right:10px;font-size:1.7em;font-weight:700;text-transform:capitalize}.editor-title small{opacity:.5;font-size:.7em;font-weight:400}.bordered{border:1px solid #303030}.table-unpadded th,.table-unpadded td{padding:0 2px}.spy{position:absolute;right:0;top:0}.navbar-inner{border-width:0}.kibana-row{margin-bottom:5px}.row-tab .dropdown-menu-right{top:0;left:33px}.row-tab-button{padding:0;cursor:pointer;vertical-align:middle;width:30px;height:30px;text-align:center;display:inline-block;line-height:30px}.row-button{width:30px;text-align:center;float:left;cursor:pointer}.row-text{white-space:nowrap;text-transform:uppercase;font-weight:700;font-size:.9em;margin:0 10px}.row-close{padding:0;margin:0;min-height:30px!important;line-height:30px;background:#1f1f1f}.row-open{margin-top:5px;left:-34px;position:absolute;z-index:100;transition:.25s left;transition-delay:.25s;-webkit-transition-delay:.25s}.row-open:hover{left:-12px}.odd{background-color:rgba(100,100,100,.3)}.nomargin{margin:0}[ng\:cloak],[ng-cloak],.ng-cloak{display:none!important}.table tbody+tbody{border-top:0}.ui-draggable-dragging{display:block;z-index:9999}.dragInProgress .panel-container{border:3px solid rgba(100,100,100,.5)}.link{color:#f2f2f2;cursor:pointer}.link:hover{color:#fff}.pointer{cursor:pointer}.popover{max-width:480px}.modal{width:100%;top:0!important}.tiny{font-size:50%}.smaller{font-size:70%}.small{font-size:85%}.large{font-size:120%}.strong{font-weight:700}a{cursor:pointer}.normal{font-weight:400}.light{font-weight:200}.input-smaller{width:75px}.string{color:#c8ccce}.number{color:#00ace6}.boolean{color:#b78c43}.key{color:#c05c5a}.btn-active{background-color:#e6e6e6;background-image:none;box-shadow:0 2px 4px rgba(0,0,0,.15) inset,0 1px 2px rgba(0,0,0,.05);outline:0 none}.remove:hover{background-color:#b30000}.faded{opacity:.2}div.flot-text{color:#bbbfc2!important}.dashboard-notice{z-index:8000;margin-left:0;padding:3px 0;width:100%;padding-left:20px;color:#fff}.alert-warning{background-color:#bbbfc2;border-color:transparent;color:#a47e3c}.popover.topLeft{margin-top:-10px}.popover.topLeft .arrow{bottom:-10px;left:25%;margin-left:-10px;border-width:10px 10px 0;border-top-color:#303030}.popover.topLeft .arrow:after{border-width:11px 11px 0;border-top-color:rgba(0,0,0,.25);bottom:-1px;left:-11px}.popover.topRight{margin-top:-10px}.popover.topRight .arrow{bottom:-10px;left:75%;margin-left:-10px;border-width:10px 10px 0;border-top-color:#303030}.popover.topRight .arrow:after{border-width:11px 11px 0;border-top-color:rgba(0,0,0,.25);bottom:-1px;left:-11px}.popover.rightTop .arrow{top:10%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,.25)}.popover.rightTop .arrow:after{left:1px;bottom:-10px;border-left-width:0;border-right-color:#303030}.popover.rightBottom .arrow{top:90%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,.25)}.popover.rightBottom .arrow:after{left:1px;bottom:-10px;border-left-width:0;border-right-color:#303030}.popover.bottomLeft .arrow{left:10%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);top:-11px}.popover.bottomLeft .arrow:after{top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#303030}.popover.bottomRight .arrow{left:90%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);top:-11px}.popover.bottomRight .arrow:after{top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#303030}.popover.leftTop .arrow{top:10%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.leftTop .arrow:after{right:1px;border-right-width:0;border-left-color:#303030;bottom:-10px}.popover.leftBottom .arrow{top:90%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.leftBottom .arrow:after{right:1px;border-right-width:0;border-left-color:#303030;bottom:-10px}.popover.topLeft .arrow{left:10%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,.25);bottom:-11px}.popover.topLeft .arrow:after{bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#303030}.popover.topRight .arrow{left:90%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,.25);bottom:-11px}.popover.topRight .arrow:after{bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#303030}.label-tag{background-color:#93c;color:#f2f2f2}.label-tag:hover{background-color:#7a29a3;color:#fff}.annotation-editor-table td{white-space:nowrap}.save-dashboard-dropdown{padding:10px}.save-dashboard-dropdown li>a{padding-left:5px}.save-dashboard-dropdown-save-form{margin-bottom:5px}.inspector-request-table td{padding:5px}.inspector-request-table td:first-child{white-space:nowrap}code,pre{background-color:#1f1f1f;color:#bbbfc2}.submenu-controls{background:#292929;font-size:inherit}.submenu-controls label{margin:0;padding-right:4px;display:inline}.submenu-controls input[type=checkbox]{margin:0}.submenu-controls-visible:not(.hide-controls) .panel-fullscreen{top:82px}.submenu-panel{padding:0 4px 0 8px;border-right:1px solid #202020;float:left}.submenu-panel:first-child{padding-left:17px}.submenu-panel-title{float:left;text-transform:uppercase;padding:4px 10px 3px 0}.submenu-panel-wrapper{float:left}.submenu-toggle{padding:4px 0 3px 8px;float:left}.submenu-toggle .annotation-color-icon{position:relative;top:2px}.submenu-toggle:first-child{padding-left:0}.submenu-control-edit{padding:4px 4px 3px 8px;float:right;border-left:1px solid #202020;margin-left:8px}.annotation-disabled,.annotation-disabled a{color:#788086}.filtering-container{float:left}.filtering-container label{float:left}.filtering-container input[type=checkbox]{margin:0}.filter-panel-filter{display:inline-block;vertical-align:top;padding:4px 10px 3px;border-right:1px solid #202020}.filter-panel-filter:first-child{padding-left:0}.filter-panel-filter ul{margin-bottom:0}.filter-deselected{opacity:.5}.filtering-container .filter-action{float:right;padding-right:2px;margin-bottom:0!important;margin-left:0;margin-top:4px}.add-filter-action{padding:3px 5px 0;position:relative;top:4px}.filter-mandate{text-decoration:underline;cursor:pointer}.filter-apply{float:right}.bootstrap-tagsinput{display:inline-block;padding:4px 6px;margin-bottom:10px;color:#555;vertical-align:middle;border-radius:4px;max-width:100%;line-height:22px;background-color:#4a4a4a;border:1px solid #636363;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-moz-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 linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}.bootstrap-tagsinput input{border:0;box-shadow:none;outline:0;background-color:transparent;padding:0;padding-left:5px;margin:0;width:auto!important;max-width:inherit}.bootstrap-tagsinput input:focus{border:0;box-shadow:none}.bootstrap-tagsinput .tag{margin-right:2px;color:#fff}.bootstrap-tagsinput .tag [data-role=remove]{margin-left:8px;cursor:pointer}.bootstrap-tagsinput .tag [data-role=remove]:after{content:"x";padding:0 2px}.bootstrap-tagsinput .tag [data-role=remove]:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05)}.bootstrap-tagsinput .tag [data-role=remove]:hover:active{box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.hide-controls{padding:0}.hide-controls .grafana-row{display:none}.hide-controls .submenu-controls{display:none}.hide-controls .add-row-panel-hint{display:none}.playlist-active .grafana-menu-zoom-out,.playlist-active .grafana-menu-save,.playlist-active .grafana-menu-load,.playlist-active .add-row-panel-hint,.playlist-active .grafana-menu-home,.playlist-active .grafana-menu-refresh,.playlist-active .grafana-menu-edit{display:none}.playlist-active .grafana-menu-stop-playlist{display:list-item}.grafana-search-panel{padding:6px 10px}.grafana-search-panel .search-field-wrapper input{width:100%}.grafana-search-panel .search-field-wrapper button{margin:0 2px 0 0}.grafana-search-panel .search-field-wrapper>span{display:block;overflow:hidden;padding-right:25px}.grafana-search-panel .selected td,.grafana-search-panel tr.selected:nth-child(odd)>td{background:#33b5e5;color:#fff;text-shadow:-1px -1px 1px rgba(0,0,0,.3)}.grafana-search-panel .selected td a,.grafana-search-panel tr.selected:nth-child(odd)>td a{color:#fff}.grafana-search-panel .selected-tag .label-tag{background-color:#33b5e5}.search-tagview-switch{position:absolute;top:15px;right:263px;color:#a6a6a6}.search-tagview-switch.active{color:#f2f2f2}.row-button{width:24px}.modal{margin:5%;width:90%}.grafana-search-metric-actions{visibility:hidden;padding-left:20px}.grafana-search-metric-name{white-space:nowrap}.grafana-search-metric-result:hover .grafana-search-metric-actions{visibility:visible}.grafana-search-metric-result:hover .grafana-search-metric-name{color:#33b5e5}.yaxisLabel{top:50%;left:-20px;transform:rotate(-90deg);-o-transform:rotate(-90deg);-ms-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-webkit-transform:rotate(-90deg);transform-origin:0 0;-o-transform-origin:0 0;-ms-transform-origin:0 0;-moz-transform-origin:0 0;-webkit-transform-origin:0 0}.axisLabel{color:#bbbfc2;font-size:11.9px;position:absolute;text-align:center;font-size:12px}.hidden-series a{color:#7f7f7f}.panel-fullscreen{z-index:100;display:block!important;position:fixed;left:0;right:0;top:54px;padding:0 10px;background:#1f1f1f;overflow-y:scroll;height:100%}.panel-fullscreen .panel-content{padding-bottom:130px}.dashboard-fullscreen .container-fluid.main{height:0;width:0;position:fixed;right:-10000px}.grafana-legend-container{margin:0 15px;text-align:left;position:relative;top:2px}.grafana-legend-container .popover-content{padding:0}.histogram-legend{display:inline-block;padding:0 4px}.histogram-legend i{position:relative;top:2px}.histogram-legend-item{display:inline-block}.histogram-chart{position:relative}.histogram-legend-popover{width:200px}.histogram-legend-popover label{display:inline-block}.histogram-legend-popover .btn{padding:1px 3px;margin-right:0;line-height:initial}.histogram-legend-popover .close{margin-right:5px;color:#f2f2f2;opacity:.7;text-shadow:none}.histogram-legend-popover .editor-row{padding:5px}.panel-full-edit-tabs{margin-top:10px;min-height:250px;margin-left:-10px;margin-right:-10px;background-color:transparent;border-top:1px solid #000}.panel-full-edit-tabs .tabs .nav-tabs{margin:0;background:#303030;border-top:1px solid #555}.panel-full-edit-tabs .tabs .tab-content{display:none}.panel-full-edit-tabs .tab-content{overflow:visible;padding:15px}.panel-full-edit-tabs .nav-tabs>li>a{line-height:15px;padding-top:6px;padding-bottom:6px;font-size:.8rem}.grafana-target:last-child{border-bottom:1px solid #000}.grafana-target-inner{border-top:1px solid #000;border-left:1px solid #000;border-right:1px solid #000;background:#303030;width:100%}.grafana-target-onoff{padding:5px 7px;display:inline-block}.grafana-segment-list{list-style:none;margin:0;margin-right:90px;margin-left:30px}.grafana-segment-list>li{float:left}.grafana-segment-dropdown-menu{margin-bottom:70px}.grafana-target-segment{padding:8px 7px;font-weight:400;border-right:1px solid #050505;color:#c8c8c8;display:inline-block}.has-open-function .grafana-target-segment{padding-top:25px}.grafana-target-hidden .grafana-target-segment{color:#888}.grafana-target-segment:hover,.grafana-target-segment:focus{text-decoration:none}.grafana-target-segmenta:hover{background:#444}.grafana-target-function{background:#444}.grafana-target-function>a{color:#c8c8c8}.grafana-target-function>a:hover{color:#f2f2f2}.grafana-target-function.show-function-controls{padding-top:5px;min-width:100px;text-align:center}input[type=text].grafana-function-param-input{background:transparent;border:0;margin:0;padding:0}.grafana-target-controls-left{list-style:none;float:left;width:30px;margin:0}.grafana-target-controls{width:120px;float:right;list-style:none;margin:0;text-align:right}.grafana-target-controls>li{display:inline-block;white-space:nowrap}.grafana-target-controls a{padding:8px 7px;position:relative;top:8px;color:#c8c8c8;font-size:16px}.grafana-target-hidden .grafana-target-controls a{color:#888}.grafana-target-controls a:hover,.grafana-target-controls a:focus{text-decoration:none}input[type=text].grafana-target-text-input{padding:8px 7px;border:0;margin:0;background:transparent;float:left;color:#c8c8c8;border-radius:0}input[type=text].grafana-target-segment-input{border:0;border-right:1px solid #050505;margin:0;border-radius:0;padding:8px 4px}input[type=checkbox].grafana-target-option-checkbox{margin:0}select.grafana-target-segment-input{border:0;border-right:1px solid #050505;margin:0;border-radius:0;height:36px;padding:8px 5px}.grafana-target .dropdown{padding:0;margin:0}.graphite-func-controls{display:none;text-align:center}.graphite-func-controls .icon-arrow-left{float:left;position:relative;top:2px}.graphite-func-controls .icon-arrow-right{float:right;position:relative;top:2px}.graphite-func-controls .icon-remove{margin-left:10px}.grafana-target .popover-content{padding:0}.scrollable{max-height:300px;overflow:auto}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar:hover{height:8px}::-webkit-scrollbar-button:start:decrement,::-webkit-scrollbar-button:end:increment{display:none}::-webkit-scrollbar-button:horizontal:decrement{display:none}::-webkit-scrollbar-button:horizontal:increment{display:none}::-webkit-scrollbar-button:vertical:decrement{display:none}::-webkit-scrollbar-button:vertical:increment{display:none}::-webkit-scrollbar-button:horizontal:decrement:active{background-image:none}::-webkit-scrollbar-button:horizontal:increment:active{background-image:none}::-webkit-scrollbar-button:vertical:decrement:active{background-image:none}::-webkit-scrollbar-button:vertical:increment:active{background-image:none}::-webkit-scrollbar-track-piece{background-color:grayDark}::-webkit-scrollbar-thumb:vertical{height:50px;background:-webkit-gradient(linear,left top,right top,color-stop(0%,#3a3a3a),color-stop(100%,#222));border:1px solid #0d0d0d;border-top:1px solid #666;border-left:1px solid #666}::-webkit-scrollbar-thumb:horizontal{width:50px;background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#3a3a3a),color-stop(100%,#222));border:1px solid #1f1f1f;border-top:1px solid #666;border-left:1px solid #666}.sp-replacer{background:inherit;border:0;color:inherit}.sp-replacer:hover,.sp-replacer.sp-active{border-color:inherit;color:inherit}.sp-container{border-radius:0;background-color:#303030;border:0;padding:0}.sp-palette-container,.sp-picker-container{border:0}.sp-dd{display:none}.sp-preview{position:relative;width:15px;height:15px;border:0;margin-right:5px;float:left;z-index:0}.datapoints-warning{pointer:none;position:absolute;top:50%;left:50%;z-index:10;margin-top:-50px;margin-left:-100px;width:200px;text-align:center;cursor:auto;padding:10px}.grafana-version-footer{padding-top:15px;text-align:left}/*! - * Datepicker for Bootstrap - * - * Copyright 2012 Stefan Petre - * Improvements by Andrew Rowls - * Licensed under the Apache License v2.0 - * http://www.apache.org/licenses/LICENSE-2.0 - * - */.datepicker{padding:4px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;direction:ltr}.datepicker-inline{width:220px}.datepicker.datepicker-rtl{direction:rtl}.datepicker.datepicker-rtl table tr td span{float:right}.datepicker-dropdown{top:0;left:0}.datepicker-dropdown:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0,0,0,.2);position:absolute;top:-7px;left:6px}.datepicker-dropdown:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;position:absolute;top:-6px;left:7px}.datepicker>div{display:none}.datepicker.days div.datepicker-days{display:block}.datepicker.months div.datepicker-months{display:block}.datepicker.years div.datepicker-years{display:block}.datepicker table{margin:0}.datepicker td,.datepicker th{text-align:center;width:20px;height:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;border:0}.table-striped .datepicker table tr td,.table-striped .datepicker table tr th{background-color:transparent}.datepicker table tr td.day:hover{background:#eee;cursor:pointer}.datepicker table tr td.old,.datepicker table tr td.new{color:#999}.datepicker table tr td.disabled,.datepicker table tr td.disabled:hover{background:0 0;color:#999;cursor:default}.datepicker table tr td.today,.datepicker table tr td.today:hover,.datepicker table tr td.today.disabled,.datepicker table tr td.today.disabled:hover{background-color:#fde19a;background-image:-moz-linear-gradient(top,#fdd49a,#fdf59a);background-image:-ms-linear-gradient(top,#fdd49a,#fdf59a);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fdd49a),to(#fdf59a));background-image:-webkit-linear-gradient(top,#fdd49a,#fdf59a);background-image:-o-linear-gradient(top,#fdd49a,#fdf59a);background-image:linear-gradient(top,#fdd49a,#fdf59a);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0);border-color:#fdf59a #fdf59a #fbed50;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#000!important}.datepicker table tr td.today:hover,.datepicker table tr td.today:hover:hover,.datepicker table tr td.today.disabled:hover,.datepicker table tr td.today.disabled:hover:hover,.datepicker table tr td.today:active,.datepicker table tr td.today:hover:active,.datepicker table tr td.today.disabled:active,.datepicker table tr td.today.disabled:hover:active,.datepicker table tr td.today.active,.datepicker table tr td.today:hover.active,.datepicker table tr td.today.disabled.active,.datepicker table tr td.today.disabled:hover.active,.datepicker table tr td.today.disabled,.datepicker table tr td.today:hover.disabled,.datepicker table tr td.today.disabled.disabled,.datepicker table tr td.today.disabled:hover.disabled,.datepicker table tr td.today[disabled],.datepicker table tr td.today:hover[disabled],.datepicker table tr td.today.disabled[disabled],.datepicker table tr td.today.disabled:hover[disabled]{background-color:#fdf59a}.datepicker table tr td.today:active,.datepicker table tr td.today:hover:active,.datepicker table tr td.today.disabled:active,.datepicker table tr td.today.disabled:hover:active,.datepicker table tr td.today.active,.datepicker table tr td.today:hover.active,.datepicker table tr td.today.disabled.active,.datepicker table tr td.today.disabled:hover.active{background-color:#fbf069 \9}.datepicker table tr td.active,.datepicker table tr td.active:hover,.datepicker table tr td.active.disabled,.datepicker table tr td.active.disabled:hover{background-color:#006dcc;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-ms-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(top,#08c,#04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);border-color:#04c #04c #002a80;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td.active:hover,.datepicker table tr td.active:hover:hover,.datepicker table tr td.active.disabled:hover,.datepicker table tr td.active.disabled:hover:hover,.datepicker table tr td.active:active,.datepicker table tr td.active:hover:active,.datepicker table tr td.active.disabled:active,.datepicker table tr td.active.disabled:hover:active,.datepicker table tr td.active.active,.datepicker table tr td.active:hover.active,.datepicker table tr td.active.disabled.active,.datepicker table tr td.active.disabled:hover.active,.datepicker table tr td.active.disabled,.datepicker table tr td.active:hover.disabled,.datepicker table tr td.active.disabled.disabled,.datepicker table tr td.active.disabled:hover.disabled,.datepicker table tr td.active[disabled],.datepicker table tr td.active:hover[disabled],.datepicker table tr td.active.disabled[disabled],.datepicker table tr td.active.disabled:hover[disabled]{background-color:#04c}.datepicker table tr td.active:active,.datepicker table tr td.active:hover:active,.datepicker table tr td.active.disabled:active,.datepicker table tr td.active.disabled:hover:active,.datepicker table tr td.active.active,.datepicker table tr td.active:hover.active,.datepicker table tr td.active.disabled.active,.datepicker table tr td.active.disabled:hover.active{background-color:#039 \9}.datepicker table tr td span{display:block;width:23%;height:54px;line-height:54px;float:left;margin:1%;cursor:pointer;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.datepicker table tr td span:hover{background:#eee}.datepicker table tr td span.disabled,.datepicker table tr td span.disabled:hover{background:0 0;color:#999;cursor:default}.datepicker table tr td span.active,.datepicker table tr td span.active:hover,.datepicker table tr td span.active.disabled,.datepicker table tr td span.active.disabled:hover{background-color:#006dcc;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-ms-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(top,#08c,#04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);border-color:#04c #04c #002a80;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td span.active:hover,.datepicker table tr td span.active:hover:hover,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active.disabled:hover:hover,.datepicker table tr td span.active:active,.datepicker table tr td span.active:hover:active,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:hover:active,.datepicker table tr td span.active.active,.datepicker table tr td span.active:hover.active,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled:hover.active,.datepicker table tr td span.active.disabled,.datepicker table tr td span.active:hover.disabled,.datepicker table tr td span.active.disabled.disabled,.datepicker table tr td span.active.disabled:hover.disabled,.datepicker table tr td span.active[disabled],.datepicker table tr td span.active:hover[disabled],.datepicker table tr td span.active.disabled[disabled],.datepicker table tr td span.active.disabled:hover[disabled]{background-color:#04c}.datepicker table tr td span.active:active,.datepicker table tr td span.active:hover:active,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:hover:active,.datepicker table tr td span.active.active,.datepicker table tr td span.active:hover.active,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled:hover.active{background-color:#039 \9}.datepicker table tr td span.old{color:#999}.datepicker th.switch{width:145px}.datepicker thead tr:first-child th,.datepicker tfoot tr:first-child th{cursor:pointer}.datepicker thead tr:first-child th:hover,.datepicker tfoot tr:first-child th:hover{background:#eee}.datepicker .cw{font-size:10px;width:12px;padding:0 2px 0 5px;vertical-align:middle}.datepicker thead tr:first-child th.cw{cursor:default;background-color:transparent}.input-append.date .add-on i,.input-prepend.date .add-on i{display:block;cursor:pointer;width:16px;height:16px}/*! - * Timepicker Component for Twitter Bootstrap - * - * Copyright 2013 Joris de Wit - * - * Contributors https://github.com/jdewit/bootstrap-timepicker/graphs/contributors - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */.bootstrap-timepicker{position:relative}.bootstrap-timepicker.pull-right .bootstrap-timepicker-widget.dropdown-menu{left:auto;right:0}.bootstrap-timepicker.pull-right .bootstrap-timepicker-widget.dropdown-menu:before{left:auto;right:12px}.bootstrap-timepicker.pull-right .bootstrap-timepicker-widget.dropdown-menu:after{left:auto;right:13px}.bootstrap-timepicker .add-on{cursor:pointer}.bootstrap-timepicker .add-on i{display:inline-block;width:16px;height:16px}.bootstrap-timepicker-widget.dropdown-menu{padding:2px 3px 2px 2px}.bootstrap-timepicker-widget.dropdown-menu.open{display:inline-block}.bootstrap-timepicker-widget.dropdown-menu:before{border-bottom:7px solid rgba(0,0,0,.2);border-left:7px solid transparent;border-right:7px solid transparent;content:"";display:inline-block;left:9px;position:absolute;top:-7px}.bootstrap-timepicker-widget.dropdown-menu:after{border-bottom:6px solid #FFF;border-left:6px solid transparent;border-right:6px solid transparent;content:"";display:inline-block;left:10px;position:absolute;top:-6px}.bootstrap-timepicker-widget a.btn,.bootstrap-timepicker-widget input{border-radius:4px}.bootstrap-timepicker-widget table{width:100%;margin:0}.bootstrap-timepicker-widget table td{text-align:center;height:30px;margin:0;padding:2px}.bootstrap-timepicker-widget table td:not(.separator){min-width:30px}.bootstrap-timepicker-widget table td span{width:100%}.bootstrap-timepicker-widget table td a{border:1px transparent solid;width:100%;display:inline-block;margin:0;padding:8px 0;outline:0;color:#333}.bootstrap-timepicker-widget table td a:hover{text-decoration:none;background-color:#eee;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;border-color:#ddd}.bootstrap-timepicker-widget table td a i{margin-top:2px}.bootstrap-timepicker-widget table td input{width:25px;margin:0;text-align:center}.bootstrap-timepicker-widget .modal-content{padding:4px}@media (min-width:767px){.bootstrap-timepicker-widget.modal{width:200px;margin-left:-100px}}@media (max-width:767px){.bootstrap-timepicker{width:100%}.bootstrap-timepicker .dropdown-menu{width:100%}}.sp-container{position:absolute;top:0;left:0;display:inline-block;*display:inline;*zoom:1;z-index:9999994;overflow:hidden}.sp-container.sp-flat{position:relative}.sp-container,.sp-container *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.sp-top{position:relative;width:100%;display:inline-block}.sp-top-inner{position:absolute;top:0;left:0;bottom:0;right:0}.sp-color{position:absolute;top:0;left:0;bottom:0;right:20%}.sp-hue{position:absolute;top:0;right:0;bottom:0;left:84%;height:100%}.sp-clear-enabled .sp-hue{top:33px;height:77.5%}.sp-fill{padding-top:80%}.sp-sat,.sp-val{position:absolute;top:0;left:0;right:0;bottom:0}.sp-alpha-enabled .sp-top{margin-bottom:18px}.sp-alpha-enabled .sp-alpha{display:block}.sp-alpha-handle{position:absolute;top:-4px;bottom:-4px;width:6px;left:50%;cursor:pointer;border:1px solid #000;background:#fff;opacity:.8}.sp-alpha{display:none;position:absolute;bottom:-14px;right:0;left:0;height:8px}.sp-alpha-inner{border:solid 1px #333}.sp-clear{display:none}.sp-clear.sp-clear-display{background-position:center}.sp-clear-enabled .sp-clear{display:block;position:absolute;top:0;right:0;bottom:0;left:84%;height:28px}.sp-container,.sp-replacer,.sp-preview,.sp-dragger,.sp-slider,.sp-alpha,.sp-clear,.sp-alpha-handle,.sp-container.sp-dragging .sp-input,.sp-container button{-webkit-user-select:none;-moz-user-select:-moz-none;-o-user-select:none;user-select:none}.sp-container.sp-input-disabled .sp-input-container{display:none}.sp-container.sp-buttons-disabled .sp-button-container{display:none}.sp-palette-only .sp-picker-container{display:none}.sp-palette-disabled .sp-palette-container{display:none}.sp-initial-disabled .sp-initial{display:none}.sp-sat{background-image:-webkit-gradient(linear,0 0,100% 0,from(#FFF),to(rgba(204,154,129,0)));background-image:-webkit-linear-gradient(left,#FFF,rgba(204,154,129,0));background-image:-moz-linear-gradient(left,#fff,rgba(204,154,129,0));background-image:-o-linear-gradient(left,#fff,rgba(204,154,129,0));background-image:-ms-linear-gradient(left,#fff,rgba(204,154,129,0));background-image:linear-gradient(to right,#fff,rgba(204,154,129,0));-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType = 1, startColorstr=#FFFFFFFF, endColorstr=#00CC9A81)";filter:progid:DXImageTransform.Microsoft.gradient(GradientType=1, startColorstr='#FFFFFFFF', endColorstr='#00CC9A81')}.sp-val{background-image:-webkit-gradient(linear,0 100%,0 0,from(#000),to(rgba(204,154,129,0)));background-image:-webkit-linear-gradient(bottom,#000,rgba(204,154,129,0));background-image:-moz-linear-gradient(bottom,#000,rgba(204,154,129,0));background-image:-o-linear-gradient(bottom,#000,rgba(204,154,129,0));background-image:-ms-linear-gradient(bottom,#000,rgba(204,154,129,0));background-image:linear-gradient(to top,#000,rgba(204,154,129,0));-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#00CC9A81, endColorstr=#FF000000)";filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00CC9A81', endColorstr='#FF000000')}.sp-hue{background:-moz-linear-gradient(top,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);background:-ms-linear-gradient(top,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);background:-o-linear-gradient(top,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);background:-webkit-gradient(linear,left top,left bottom,from(red),color-stop(0.17,#ff0),color-stop(0.33,#0f0),color-stop(0.5,#0ff),color-stop(0.67,#00f),color-stop(0.83,#f0f),to(red));background:-webkit-linear-gradient(top,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}.sp-1{height:17%;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0000', endColorstr='#ffff00')}.sp-2{height:16%;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff00', endColorstr='#00ff00')}.sp-3{height:17%;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ff00', endColorstr='#00ffff')}.sp-4{height:17%;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ffff', endColorstr='#0000ff')}.sp-5{height:16%;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0000ff', endColorstr='#ff00ff')}.sp-6{height:17%;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff00ff', endColorstr='#ff0000')}.sp-hidden{display:none!important}.sp-cf:before,.sp-cf:after{content:"";display:table}.sp-cf:after{clear:both}.sp-cf{*zoom:1}@media (max-device-width:480px){.sp-color{right:40%}.sp-hue{left:63%}.sp-fill{padding-top:60%}}.sp-dragger{border-radius:5px;height:5px;width:5px;border:1px solid #fff;background:#000;cursor:pointer;position:absolute;top:0;left:0}.sp-slider{position:absolute;top:0;cursor:pointer;height:3px;left:-1px;right:-1px;border:1px solid #000;background:#fff;opacity:.8}.sp-container{border-radius:0;background-color:#ECECEC;border:solid 1px #f0c49B;padding:0}.sp-container,.sp-container button,.sp-container input,.sp-color,.sp-hue,.sp-clear{font:400 12px "Lucida Grande","Lucida Sans Unicode","Lucida Sans",Geneva,Verdana,sans-serif;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.sp-top{margin-bottom:3px}.sp-color,.sp-hue,.sp-clear{border:solid 1px #666}.sp-input-container{float:right;width:100px;margin-bottom:4px}.sp-initial-disabled .sp-input-container{width:100%}.sp-input{font-size:12px!important;border:1px inset;padding:4px 5px;margin:0;width:100%;background:transparent;border-radius:3px;color:#222}.sp-input:focus{border:1px solid orange}.sp-input.sp-validation-error{border:1px solid red;background:#fdd}.sp-picker-container,.sp-palette-container{float:left;position:relative;padding:10px;padding-bottom:300px;margin-bottom:-290px}.sp-picker-container{width:172px;border-left:solid 1px #fff}.sp-palette-container{border-right:solid 1px #ccc}.sp-palette .sp-thumb-el{display:block;position:relative;float:left;width:24px;height:15px;margin:3px;cursor:pointer;border:solid 2px transparent}.sp-palette .sp-thumb-el:hover,.sp-palette .sp-thumb-el.sp-thumb-active{border-color:orange}.sp-thumb-el{position:relative}.sp-initial{float:left;border:solid 1px #333}.sp-initial span{width:30px;height:25px;border:0;display:block;float:left;margin:0}.sp-initial .sp-clear-display{background-position:center}.sp-button-container{float:right}.sp-replacer{margin:0;overflow:hidden;cursor:pointer;padding:4px;display:inline-block;*zoom:1;*display:inline;border:solid 1px #91765d;background:#eee;color:#333;vertical-align:middle}.sp-replacer:hover,.sp-replacer.sp-active{border-color:#F0C49B;color:#111}.sp-replacer.sp-disabled{cursor:default;border-color:silver;color:silver}.sp-dd{padding:2px 0;height:16px;line-height:16px;float:left;font-size:10px}.sp-preview{position:relative;width:25px;height:20px;border:solid 1px #222;margin-right:5px;float:left;z-index:0}.sp-palette{*width:220px;max-width:220px}.sp-palette .sp-thumb-el{width:16px;height:16px;margin:2px 1px;border:solid 1px #d0d0d0}.sp-container{padding-bottom:0}.sp-container button{background-color:#eee;background-image:-webkit-linear-gradient(top,#eee,#ccc);background-image:-moz-linear-gradient(top,#eee,#ccc);background-image:-ms-linear-gradient(top,#eee,#ccc);background-image:-o-linear-gradient(top,#eee,#ccc);background-image:linear-gradient(to bottom,#eee,#ccc);border:1px solid #ccc;border-bottom:1px solid #bbb;border-radius:3px;color:#333;font-size:14px;line-height:1;padding:5px 4px;text-align:center;text-shadow:0 1px 0 #eee;vertical-align:middle}.sp-container button:hover{background-color:#ddd;background-image:-webkit-linear-gradient(top,#ddd,#bbb);background-image:-moz-linear-gradient(top,#ddd,#bbb);background-image:-ms-linear-gradient(top,#ddd,#bbb);background-image:-o-linear-gradient(top,#ddd,#bbb);background-image:linear-gradient(to bottom,#ddd,#bbb);border:1px solid #bbb;border-bottom:1px solid #999;cursor:pointer;text-shadow:0 1px 0 #ddd}.sp-container button:active{border:1px solid #aaa;border-bottom:1px solid #888;-webkit-box-shadow:inset 0 0 5px 2px #aaa,0 1px 0 0 #eee;-moz-box-shadow:inset 0 0 5px 2px #aaa,0 1px 0 0 #eee;-ms-box-shadow:inset 0 0 5px 2px #aaa,0 1px 0 0 #eee;-o-box-shadow:inset 0 0 5px 2px #aaa,0 1px 0 0 #eee;box-shadow:inset 0 0 5px 2px #aaa,0 1px 0 0 #eee}.sp-cancel{font-size:11px;color:#d93f3f!important;margin:0;padding:2px;margin-right:5px;vertical-align:middle;text-decoration:none}.sp-cancel:hover{color:#d93f3f!important;text-decoration:underline}.sp-palette span:hover,.sp-palette span.sp-thumb-active{border-color:#000}.sp-preview,.sp-alpha,.sp-thumb-el{position:relative;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.sp-preview-inner,.sp-alpha-inner,.sp-thumb-inner{display:block;position:absolute;top:0;left:0;bottom:0;right:0}.sp-palette .sp-thumb-inner{background-position:50% 50%;background-repeat:no-repeat}.sp-palette .sp-thumb-light.sp-thumb-active .sp-thumb-inner{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIVJREFUeNpiYBhsgJFMffxAXABlN5JruT4Q3wfi/0DsT64h8UD8HmpIPCWG/KemIfOJCUB+Aoacx6EGBZyHBqI+WsDCwuQ9mhxeg2A210Ntfo8klk9sOMijaURm7yc1UP2RNCMbKE9ODK1HM6iegYLkfx8pligC9lCD7KmRof0ZhjQACDAAceovrtpVBRkAAAAASUVORK5CYII=)}.sp-palette .sp-thumb-dark.sp-thumb-active .sp-thumb-inner{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAAMdJREFUOE+tkgsNwzAMRMugEAahEAahEAZhEAqlEAZhEAohEAYh81X2dIm8fKpEspLGvudPOsUYpxE2BIJCroJmEW9qJ+MKaBFhEMNabSy9oIcIPwrB+afvAUFoK4H0tMaQ3XtlrggDhOVVMuT4E5MMG0FBbCEYzjYT7OxLEvIHQLY2zWwQ3D+9luyOQTfKDiFD3iUIfPk8VqrKjgAiSfGFPecrg6HN6m/iBcwiDAo7WiBeawa+Kwh7tZoSCGLMqwlSAzVDhoK+6vH4G0P5wdkAAAAASUVORK5CYII=)}.sp-clear-display{background-repeat:no-repeat;background-position:center;background-image:url(data:image/gif;base64,R0lGODlhFAAUAPcAAAAAAJmZmZ2dnZ6enqKioqOjo6SkpKWlpaampqenp6ioqKmpqaqqqqurq/Hx8fLy8vT09PX19ff39/j4+Pn5+fr6+vv7+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAP8ALAAAAAAUABQAAAihAP9FoPCvoMGDBy08+EdhQAIJCCMybCDAAYUEARBAlFiQQoMABQhKUJBxY0SPICEYHBnggEmDKAuoPMjS5cGYMxHW3IiT478JJA8M/CjTZ0GgLRekNGpwAsYABHIypcAgQMsITDtWJYBR6NSqMico9cqR6tKfY7GeBCuVwlipDNmefAtTrkSzB1RaIAoXodsABiZAEFB06gIBWC1mLVgBa0AAOw==)}body{-webkit-backface-visibility:hidden}.animated{-webkit-animation-duration:1s;-moz-animation-duration:1s;-o-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;-moz-animation-fill-mode:both;-o-animation-fill-mode:both;animation-fill-mode:both}.infinite{-webkit-animation-iteration-count:infinite;-moz-animation-iteration-count:infinite;-o-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.hinge{-webkit-animation-duration:2s;-moz-animation-duration:2s;-o-animation-duration:2s;animation-duration:2s}@-webkit-keyframes flash{0%,50%,100%{opacity:1}25%,75%{opacity:0}}@-moz-keyframes flash{0%,50%,100%{opacity:1}25%,75%{opacity:0}}@-o-keyframes flash{0%,50%,100%{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,50%,100%{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;-moz-animation-name:flash;-o-animation-name:flash;animation-name:flash}@-webkit-keyframes shake{0%,100%{-webkit-transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px)}}@-moz-keyframes shake{0%,100%{-moz-transform:translateX(0)}10%,30%,50%,70%,90%{-moz-transform:translateX(-10px)}20%,40%,60%,80%{-moz-transform:translateX(10px)}}@-o-keyframes shake{0%,100%{-o-transform:translateX(0)}10%,30%,50%,70%,90%{-o-transform:translateX(-10px)}20%,40%,60%,80%{-o-transform:translateX(10px)}}@keyframes shake{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-10px)}20%,40%,60%,80%{transform:translateX(10px)}}.shake{-webkit-animation-name:shake;-moz-animation-name:shake;-o-animation-name:shake;animation-name:shake}@-webkit-keyframes bounce{0%,20%,50%,80%,100%{-webkit-transform:translateY(0)}40%{-webkit-transform:translateY(-30px)}60%{-webkit-transform:translateY(-15px)}}@-moz-keyframes bounce{0%,20%,50%,80%,100%{-moz-transform:translateY(0)}40%{-moz-transform:translateY(-30px)}60%{-moz-transform:translateY(-15px)}}@-o-keyframes bounce{0%,20%,50%,80%,100%{-o-transform:translateY(0)}40%{-o-transform:translateY(-30px)}60%{-o-transform:translateY(-15px)}}@keyframes bounce{0%,20%,50%,80%,100%{transform:translateY(0)}40%{transform:translateY(-30px)}60%{transform:translateY(-15px)}}.bounce{-webkit-animation-name:bounce;-moz-animation-name:bounce;-o-animation-name:bounce;animation-name:bounce}@-webkit-keyframes tada{0%{-webkit-transform:scale(1)}10%,20%{-webkit-transform:scale(0.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale(1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale(1.1) rotate(-3deg)}100%{-webkit-transform:scale(1) rotate(0)}}@-moz-keyframes tada{0%{-moz-transform:scale(1)}10%,20%{-moz-transform:scale(0.9) rotate(-3deg)}30%,50%,70%,90%{-moz-transform:scale(1.1) rotate(3deg)}40%,60%,80%{-moz-transform:scale(1.1) rotate(-3deg)}100%{-moz-transform:scale(1) rotate(0)}}@-o-keyframes tada{0%{-o-transform:scale(1)}10%,20%{-o-transform:scale(0.9) rotate(-3deg)}30%,50%,70%,90%{-o-transform:scale(1.1) rotate(3deg)}40%,60%,80%{-o-transform:scale(1.1) rotate(-3deg)}100%{-o-transform:scale(1) rotate(0)}}@keyframes tada{0%{transform:scale(1)}10%,20%{transform:scale(0.9) rotate(-3deg)}30%,50%,70%,90%{transform:scale(1.1) rotate(3deg)}40%,60%,80%{transform:scale(1.1) rotate(-3deg)}100%{transform:scale(1) rotate(0)}}.tada{-webkit-animation-name:tada;-moz-animation-name:tada;-o-animation-name:tada;animation-name:tada}@-webkit-keyframes swing{20%,40%,60%,80%,100%{-webkit-transform-origin:top center}20%{-webkit-transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg)}100%{-webkit-transform:rotate(0deg)}}@-moz-keyframes swing{20%{-moz-transform:rotate(15deg)}40%{-moz-transform:rotate(-10deg)}60%{-moz-transform:rotate(5deg)}80%{-moz-transform:rotate(-5deg)}100%{-moz-transform:rotate(0deg)}}@-o-keyframes swing{20%{-o-transform:rotate(15deg)}40%{-o-transform:rotate(-10deg)}60%{-o-transform:rotate(5deg)}80%{-o-transform:rotate(-5deg)}100%{-o-transform:rotate(0deg)}}@keyframes swing{20%{transform:rotate(15deg)}40%{transform:rotate(-10deg)}60%{transform:rotate(5deg)}80%{transform:rotate(-5deg)}100%{transform:rotate(0deg)}}.swing{-webkit-transform-origin:top center;-moz-transform-origin:top center;-o-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;-moz-animation-name:swing;-o-animation-name:swing;animation-name:swing}@-webkit-keyframes wobble{0%{-webkit-transform:translateX(0%)}15%{-webkit-transform:translateX(-25%) rotate(-5deg)}30%{-webkit-transform:translateX(20%) rotate(3deg)}45%{-webkit-transform:translateX(-15%) rotate(-3deg)}60%{-webkit-transform:translateX(10%) rotate(2deg)}75%{-webkit-transform:translateX(-5%) rotate(-1deg)}100%{-webkit-transform:translateX(0%)}}@-moz-keyframes wobble{0%{-moz-transform:translateX(0%)}15%{-moz-transform:translateX(-25%) rotate(-5deg)}30%{-moz-transform:translateX(20%) rotate(3deg)}45%{-moz-transform:translateX(-15%) rotate(-3deg)}60%{-moz-transform:translateX(10%) rotate(2deg)}75%{-moz-transform:translateX(-5%) rotate(-1deg)}100%{-moz-transform:translateX(0%)}}@-o-keyframes wobble{0%{-o-transform:translateX(0%)}15%{-o-transform:translateX(-25%) rotate(-5deg)}30%{-o-transform:translateX(20%) rotate(3deg)}45%{-o-transform:translateX(-15%) rotate(-3deg)}60%{-o-transform:translateX(10%) rotate(2deg)}75%{-o-transform:translateX(-5%) rotate(-1deg)}100%{-o-transform:translateX(0%)}}@keyframes wobble{0%{transform:translateX(0%)}15%{transform:translateX(-25%) rotate(-5deg)}30%{transform:translateX(20%) rotate(3deg)}45%{transform:translateX(-15%) rotate(-3deg)}60%{transform:translateX(10%) rotate(2deg)}75%{transform:translateX(-5%) rotate(-1deg)}100%{transform:translateX(0%)}}.wobble{-webkit-animation-name:wobble;-moz-animation-name:wobble;-o-animation-name:wobble;animation-name:wobble}@-webkit-keyframes pulse{0%{-webkit-transform:scale(1)}50%{-webkit-transform:scale(1.1)}100%{-webkit-transform:scale(1)}}@-moz-keyframes pulse{0%{-moz-transform:scale(1)}50%{-moz-transform:scale(1.1)}100%{-moz-transform:scale(1)}}@-o-keyframes pulse{0%{-o-transform:scale(1)}50%{-o-transform:scale(1.1)}100%{-o-transform:scale(1)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}100%{transform:scale(1)}}.pulse{-webkit-animation-name:pulse;-moz-animation-name:pulse;-o-animation-name:pulse;animation-name:pulse}@-webkit-keyframes flip{0%{-webkit-transform:perspective(400px) rotateY(0);-webkit-animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(170deg);-webkit-animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1);-webkit-animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) rotateY(360deg) scale(.95);-webkit-animation-timing-function:ease-in}100%{-webkit-transform:perspective(400px) scale(1);-webkit-animation-timing-function:ease-in}}@-moz-keyframes flip{0%{-moz-transform:perspective(400px) rotateY(0);-moz-animation-timing-function:ease-out}40%{-moz-transform:perspective(400px) translateZ(150px) rotateY(170deg);-moz-animation-timing-function:ease-out}50%{-moz-transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1);-moz-animation-timing-function:ease-in}80%{-moz-transform:perspective(400px) rotateY(360deg) scale(.95);-moz-animation-timing-function:ease-in}100%{-moz-transform:perspective(400px) scale(1);-moz-animation-timing-function:ease-in}}@-o-keyframes flip{0%{-o-transform:perspective(400px) rotateY(0);-o-animation-timing-function:ease-out}40%{-o-transform:perspective(400px) translateZ(150px) rotateY(170deg);-o-animation-timing-function:ease-out}50%{-o-transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1);-o-animation-timing-function:ease-in}80%{-o-transform:perspective(400px) rotateY(360deg) scale(.95);-o-animation-timing-function:ease-in}100%{-o-transform:perspective(400px) scale(1);-o-animation-timing-function:ease-in}}@keyframes flip{0%{transform:perspective(400px) rotateY(0);animation-timing-function:ease-out}40%{transform:perspective(400px) translateZ(150px) rotateY(170deg);animation-timing-function:ease-out}50%{transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1);animation-timing-function:ease-in}80%{transform:perspective(400px) rotateY(360deg) scale(.95);animation-timing-function:ease-in}100%{transform:perspective(400px) scale(1);animation-timing-function:ease-in}}.flip{-webkit-backface-visibility:visible!important;-webkit-animation-name:flip;-moz-backface-visibility:visible!important;-moz-animation-name:flip;-o-backface-visibility:visible!important;-o-animation-name:flip;backface-visibility:visible!important;animation-name:flip}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-10deg)}70%{-webkit-transform:perspective(400px) rotateX(10deg)}100%{-webkit-transform:perspective(400px) rotateX(0deg);opacity:1}}@-moz-keyframes flipInX{0%{-moz-transform:perspective(400px) rotateX(90deg);opacity:0}40%{-moz-transform:perspective(400px) rotateX(-10deg)}70%{-moz-transform:perspective(400px) rotateX(10deg)}100%{-moz-transform:perspective(400px) rotateX(0deg);opacity:1}}@-o-keyframes flipInX{0%{-o-transform:perspective(400px) rotateX(90deg);opacity:0}40%{-o-transform:perspective(400px) rotateX(-10deg)}70%{-o-transform:perspective(400px) rotateX(10deg)}100%{-o-transform:perspective(400px) rotateX(0deg);opacity:1}}@keyframes flipInX{0%{transform:perspective(400px) rotateX(90deg);opacity:0}40%{transform:perspective(400px) rotateX(-10deg)}70%{transform:perspective(400px) rotateX(10deg)}100%{transform:perspective(400px) rotateX(0deg);opacity:1}}.flipInX{-webkit-backface-visibility:visible!important;-webkit-animation-name:flipInX;-moz-backface-visibility:visible!important;-moz-animation-name:flipInX;-o-backface-visibility:visible!important;-o-animation-name:flipInX;backface-visibility:visible!important;animation-name:flipInX}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px) rotateX(0deg);opacity:1}100%{-webkit-transform:perspective(400px) rotateX(90deg);opacity:0}}@-moz-keyframes flipOutX{0%{-moz-transform:perspective(400px) rotateX(0deg);opacity:1}100%{-moz-transform:perspective(400px) rotateX(90deg);opacity:0}}@-o-keyframes flipOutX{0%{-o-transform:perspective(400px) rotateX(0deg);opacity:1}100%{-o-transform:perspective(400px) rotateX(90deg);opacity:0}}@keyframes flipOutX{0%{transform:perspective(400px) rotateX(0deg);opacity:1}100%{transform:perspective(400px) rotateX(90deg);opacity:0}}.flipOutX{-webkit-animation-name:flipOutX;-webkit-backface-visibility:visible!important;-moz-animation-name:flipOutX;-moz-backface-visibility:visible!important;-o-animation-name:flipOutX;-o-backface-visibility:visible!important;animation-name:flipOutX;backface-visibility:visible!important}@-webkit-keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);opacity:0}40%{-webkit-transform:perspective(400px) rotateY(-10deg)}70%{-webkit-transform:perspective(400px) rotateY(10deg)}100%{-webkit-transform:perspective(400px) rotateY(0deg);opacity:1}}@-moz-keyframes flipInY{0%{-moz-transform:perspective(400px) rotateY(90deg);opacity:0}40%{-moz-transform:perspective(400px) rotateY(-10deg)}70%{-moz-transform:perspective(400px) rotateY(10deg)}100%{-moz-transform:perspective(400px) rotateY(0deg);opacity:1}}@-o-keyframes flipInY{0%{-o-transform:perspective(400px) rotateY(90deg);opacity:0}40%{-o-transform:perspective(400px) rotateY(-10deg)}70%{-o-transform:perspective(400px) rotateY(10deg)}100%{-o-transform:perspective(400px) rotateY(0deg);opacity:1}}@keyframes flipInY{0%{transform:perspective(400px) rotateY(90deg);opacity:0}40%{transform:perspective(400px) rotateY(-10deg)}70%{transform:perspective(400px) rotateY(10deg)}100%{transform:perspective(400px) rotateY(0deg);opacity:1}}.flipInY{-webkit-backface-visibility:visible!important;-webkit-animation-name:flipInY;-moz-backface-visibility:visible!important;-moz-animation-name:flipInY;-o-backface-visibility:visible!important;-o-animation-name:flipInY;backface-visibility:visible!important;animation-name:flipInY}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px) rotateY(0deg);opacity:1}100%{-webkit-transform:perspective(400px) rotateY(90deg);opacity:0}}@-moz-keyframes flipOutY{0%{-moz-transform:perspective(400px) rotateY(0deg);opacity:1}100%{-moz-transform:perspective(400px) rotateY(90deg);opacity:0}}@-o-keyframes flipOutY{0%{-o-transform:perspective(400px) rotateY(0deg);opacity:1}100%{-o-transform:perspective(400px) rotateY(90deg);opacity:0}}@keyframes flipOutY{0%{transform:perspective(400px) rotateY(0deg);opacity:1}100%{transform:perspective(400px) rotateY(90deg);opacity:0}}.flipOutY{-webkit-backface-visibility:visible!important;-webkit-animation-name:flipOutY;-moz-backface-visibility:visible!important;-moz-animation-name:flipOutY;-o-backface-visibility:visible!important;-o-animation-name:flipOutY;backface-visibility:visible!important;animation-name:flipOutY}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-moz-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-o-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;-moz-animation-name:fadeIn;-o-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(20px)}100%{opacity:1;-webkit-transform:translateY(0)}}@-moz-keyframes fadeInUp{0%{opacity:0;-moz-transform:translateY(20px)}100%{opacity:1;-moz-transform:translateY(0)}}@-o-keyframes fadeInUp{0%{opacity:0;-o-transform:translateY(20px)}100%{opacity:1;-o-transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}100%{opacity:1;transform:translateY(0)}}.fadeInUp{-webkit-animation-name:fadeInUp;-moz-animation-name:fadeInUp;-o-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translateY(-20px)}100%{opacity:1;-webkit-transform:translateY(0)}}@-moz-keyframes fadeInDown{0%{opacity:0;-moz-transform:translateY(-20px)}100%{opacity:1;-moz-transform:translateY(0)}}@-o-keyframes fadeInDown{0%{opacity:0;-o-transform:translateY(-20px)}100%{opacity:1;-o-transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}100%{opacity:1;transform:translateY(0)}}.fadeInDown{-webkit-animation-name:fadeInDown;-moz-animation-name:fadeInDown;-o-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translateX(-20px)}100%{opacity:1;-webkit-transform:translateX(0)}}@-moz-keyframes fadeInLeft{0%{opacity:0;-moz-transform:translateX(-20px)}100%{opacity:1;-moz-transform:translateX(0)}}@-o-keyframes fadeInLeft{0%{opacity:0;-o-transform:translateX(-20px)}100%{opacity:1;-o-transform:translateX(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-20px)}100%{opacity:1;transform:translateX(0)}}.fadeInLeft{-webkit-animation-name:fadeInLeft;-moz-animation-name:fadeInLeft;-o-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translateX(20px)}100%{opacity:1;-webkit-transform:translateX(0)}}@-moz-keyframes fadeInRight{0%{opacity:0;-moz-transform:translateX(20px)}100%{opacity:1;-moz-transform:translateX(0)}}@-o-keyframes fadeInRight{0%{opacity:0;-o-transform:translateX(20px)}100%{opacity:1;-o-transform:translateX(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translateX(20px)}100%{opacity:1;transform:translateX(0)}}.fadeInRight{-webkit-animation-name:fadeInRight;-moz-animation-name:fadeInRight;-o-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0)}}@-moz-keyframes fadeInUpBig{0%{opacity:0;-moz-transform:translateY(2000px)}100%{opacity:1;-moz-transform:translateY(0)}}@-o-keyframes fadeInUpBig{0%{opacity:0;-o-transform:translateY(2000px)}100%{opacity:1;-o-transform:translateY(0)}}@keyframes fadeInUpBig{0%{opacity:0;transform:translateY(2000px)}100%{opacity:1;transform:translateY(0)}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;-moz-animation-name:fadeInUpBig;-o-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translateY(-2000px)}100%{opacity:1;-webkit-transform:translateY(0)}}@-moz-keyframes fadeInDownBig{0%{opacity:0;-moz-transform:translateY(-2000px)}100%{opacity:1;-moz-transform:translateY(0)}}@-o-keyframes fadeInDownBig{0%{opacity:0;-o-transform:translateY(-2000px)}100%{opacity:1;-o-transform:translateY(0)}}@keyframes fadeInDownBig{0%{opacity:0;transform:translateY(-2000px)}100%{opacity:1;transform:translateY(0)}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;-moz-animation-name:fadeInDownBig;-o-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translateX(-2000px)}100%{opacity:1;-webkit-transform:translateX(0)}}@-moz-keyframes fadeInLeftBig{0%{opacity:0;-moz-transform:translateX(-2000px)}100%{opacity:1;-moz-transform:translateX(0)}}@-o-keyframes fadeInLeftBig{0%{opacity:0;-o-transform:translateX(-2000px)}100%{opacity:1;-o-transform:translateX(0)}}@keyframes fadeInLeftBig{0%{opacity:0;transform:translateX(-2000px)}100%{opacity:1;transform:translateX(0)}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;-moz-animation-name:fadeInLeftBig;-o-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translateX(2000px)}100%{opacity:1;-webkit-transform:translateX(0)}}@-moz-keyframes fadeInRightBig{0%{opacity:0;-moz-transform:translateX(2000px)}100%{opacity:1;-moz-transform:translateX(0)}}@-o-keyframes fadeInRightBig{0%{opacity:0;-o-transform:translateX(2000px)}100%{opacity:1;-o-transform:translateX(0)}}@keyframes fadeInRightBig{0%{opacity:0;transform:translateX(2000px)}100%{opacity:1;transform:translateX(0)}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;-moz-animation-name:fadeInRightBig;-o-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@-moz-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@-o-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;-moz-animation-name:fadeOut;-o-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutUp{0%{opacity:1;-webkit-transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-20px)}}@-moz-keyframes fadeOutUp{0%{opacity:1;-moz-transform:translateY(0)}100%{opacity:0;-moz-transform:translateY(-20px)}}@-o-keyframes fadeOutUp{0%{opacity:1;-o-transform:translateY(0)}100%{opacity:0;-o-transform:translateY(-20px)}}@keyframes fadeOutUp{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-20px)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;-moz-animation-name:fadeOutUp;-o-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutDown{0%{opacity:1;-webkit-transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(20px)}}@-moz-keyframes fadeOutDown{0%{opacity:1;-moz-transform:translateY(0)}100%{opacity:0;-moz-transform:translateY(20px)}}@-o-keyframes fadeOutDown{0%{opacity:1;-o-transform:translateY(0)}100%{opacity:0;-o-transform:translateY(20px)}}@keyframes fadeOutDown{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(20px)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;-moz-animation-name:fadeOutDown;-o-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutLeft{0%{opacity:1;-webkit-transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-20px)}}@-moz-keyframes fadeOutLeft{0%{opacity:1;-moz-transform:translateX(0)}100%{opacity:0;-moz-transform:translateX(-20px)}}@-o-keyframes fadeOutLeft{0%{opacity:1;-o-transform:translateX(0)}100%{opacity:0;-o-transform:translateX(-20px)}}@keyframes fadeOutLeft{0%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(-20px)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;-moz-animation-name:fadeOutLeft;-o-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutRight{0%{opacity:1;-webkit-transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(20px)}}@-moz-keyframes fadeOutRight{0%{opacity:1;-moz-transform:translateX(0)}100%{opacity:0;-moz-transform:translateX(20px)}}@-o-keyframes fadeOutRight{0%{opacity:1;-o-transform:translateX(0)}100%{opacity:0;-o-transform:translateX(20px)}}@keyframes fadeOutRight{0%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(20px)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;-moz-animation-name:fadeOutRight;-o-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutUpBig{0%{opacity:1;-webkit-transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-2000px)}}@-moz-keyframes fadeOutUpBig{0%{opacity:1;-moz-transform:translateY(0)}100%{opacity:0;-moz-transform:translateY(-2000px)}}@-o-keyframes fadeOutUpBig{0%{opacity:1;-o-transform:translateY(0)}100%{opacity:0;-o-transform:translateY(-2000px)}}@keyframes fadeOutUpBig{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-2000px)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;-moz-animation-name:fadeOutUpBig;-o-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes fadeOutDownBig{0%{opacity:1;-webkit-transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(2000px)}}@-moz-keyframes fadeOutDownBig{0%{opacity:1;-moz-transform:translateY(0)}100%{opacity:0;-moz-transform:translateY(2000px)}}@-o-keyframes fadeOutDownBig{0%{opacity:1;-o-transform:translateY(0)}100%{opacity:0;-o-transform:translateY(2000px)}}@keyframes fadeOutDownBig{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(2000px)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;-moz-animation-name:fadeOutDownBig;-o-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1;-webkit-transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-2000px)}}@-moz-keyframes fadeOutLeftBig{0%{opacity:1;-moz-transform:translateX(0)}100%{opacity:0;-moz-transform:translateX(-2000px)}}@-o-keyframes fadeOutLeftBig{0%{opacity:1;-o-transform:translateX(0)}100%{opacity:0;-o-transform:translateX(-2000px)}}@keyframes fadeOutLeftBig{0%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(-2000px)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;-moz-animation-name:fadeOutLeftBig;-o-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRightBig{0%{opacity:1;-webkit-transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(2000px)}}@-moz-keyframes fadeOutRightBig{0%{opacity:1;-moz-transform:translateX(0)}100%{opacity:0;-moz-transform:translateX(2000px)}}@-o-keyframes fadeOutRightBig{0%{opacity:1;-o-transform:translateX(0)}100%{opacity:0;-o-transform:translateX(2000px)}}@keyframes fadeOutRightBig{0%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(2000px)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;-moz-animation-name:fadeOutRightBig;-o-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes bounceIn{0%{opacity:0;-webkit-transform:scale(.3)}50%{opacity:1;-webkit-transform:scale(1.05)}70%{-webkit-transform:scale(.9)}100%{-webkit-transform:scale(1)}}@-moz-keyframes bounceIn{0%{opacity:0;-moz-transform:scale(.3)}50%{opacity:1;-moz-transform:scale(1.05)}70%{-moz-transform:scale(.9)}100%{-moz-transform:scale(1)}}@-o-keyframes bounceIn{0%{opacity:0;-o-transform:scale(.3)}50%{opacity:1;-o-transform:scale(1.05)}70%{-o-transform:scale(.9)}100%{-o-transform:scale(1)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}100%{transform:scale(1)}}.bounceIn{-webkit-animation-name:bounceIn;-moz-animation-name:bounceIn;-o-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceInUp{0%{opacity:0;-webkit-transform:translateY(2000px)}60%{opacity:1;-webkit-transform:translateY(-30px)}80%{-webkit-transform:translateY(10px)}100%{-webkit-transform:translateY(0)}}@-moz-keyframes bounceInUp{0%{opacity:0;-moz-transform:translateY(2000px)}60%{opacity:1;-moz-transform:translateY(-30px)}80%{-moz-transform:translateY(10px)}100%{-moz-transform:translateY(0)}}@-o-keyframes bounceInUp{0%{opacity:0;-o-transform:translateY(2000px)}60%{opacity:1;-o-transform:translateY(-30px)}80%{-o-transform:translateY(10px)}100%{-o-transform:translateY(0)}}@keyframes bounceInUp{0%{opacity:0;transform:translateY(2000px)}60%{opacity:1;transform:translateY(-30px)}80%{transform:translateY(10px)}100%{transform:translateY(0)}}.bounceInUp{-webkit-animation-name:bounceInUp;-moz-animation-name:bounceInUp;-o-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceInDown{0%{opacity:0;-webkit-transform:translateY(-2000px)}60%{opacity:1;-webkit-transform:translateY(30px)}80%{-webkit-transform:translateY(-10px)}100%{-webkit-transform:translateY(0)}}@-moz-keyframes bounceInDown{0%{opacity:0;-moz-transform:translateY(-2000px)}60%{opacity:1;-moz-transform:translateY(30px)}80%{-moz-transform:translateY(-10px)}100%{-moz-transform:translateY(0)}}@-o-keyframes bounceInDown{0%{opacity:0;-o-transform:translateY(-2000px)}60%{opacity:1;-o-transform:translateY(30px)}80%{-o-transform:translateY(-10px)}100%{-o-transform:translateY(0)}}@keyframes bounceInDown{0%{opacity:0;transform:translateY(-2000px)}60%{opacity:1;transform:translateY(30px)}80%{transform:translateY(-10px)}100%{transform:translateY(0)}}.bounceInDown{-webkit-animation-name:bounceInDown;-moz-animation-name:bounceInDown;-o-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%{opacity:0;-webkit-transform:translateX(-2000px)}60%{opacity:1;-webkit-transform:translateX(30px)}80%{-webkit-transform:translateX(-10px)}100%{-webkit-transform:translateX(0)}}@-moz-keyframes bounceInLeft{0%{opacity:0;-moz-transform:translateX(-2000px)}60%{opacity:1;-moz-transform:translateX(30px)}80%{-moz-transform:translateX(-10px)}100%{-moz-transform:translateX(0)}}@-o-keyframes bounceInLeft{0%{opacity:0;-o-transform:translateX(-2000px)}60%{opacity:1;-o-transform:translateX(30px)}80%{-o-transform:translateX(-10px)}100%{-o-transform:translateX(0)}}@keyframes bounceInLeft{0%{opacity:0;transform:translateX(-2000px)}60%{opacity:1;transform:translateX(30px)}80%{transform:translateX(-10px)}100%{transform:translateX(0)}}.bounceInLeft{-webkit-animation-name:bounceInLeft;-moz-animation-name:bounceInLeft;-o-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%{opacity:0;-webkit-transform:translateX(2000px)}60%{opacity:1;-webkit-transform:translateX(-30px)}80%{-webkit-transform:translateX(10px)}100%{-webkit-transform:translateX(0)}}@-moz-keyframes bounceInRight{0%{opacity:0;-moz-transform:translateX(2000px)}60%{opacity:1;-moz-transform:translateX(-30px)}80%{-moz-transform:translateX(10px)}100%{-moz-transform:translateX(0)}}@-o-keyframes bounceInRight{0%{opacity:0;-o-transform:translateX(2000px)}60%{opacity:1;-o-transform:translateX(-30px)}80%{-o-transform:translateX(10px)}100%{-o-transform:translateX(0)}}@keyframes bounceInRight{0%{opacity:0;transform:translateX(2000px)}60%{opacity:1;transform:translateX(-30px)}80%{transform:translateX(10px)}100%{transform:translateX(0)}}.bounceInRight{-webkit-animation-name:bounceInRight;-moz-animation-name:bounceInRight;-o-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceOut{0%{-webkit-transform:scale(1)}25%{-webkit-transform:scale(.95)}50%{opacity:1;-webkit-transform:scale(1.1)}100%{opacity:0;-webkit-transform:scale(.3)}}@-moz-keyframes bounceOut{0%{-moz-transform:scale(1)}25%{-moz-transform:scale(.95)}50%{opacity:1;-moz-transform:scale(1.1)}100%{opacity:0;-moz-transform:scale(.3)}}@-o-keyframes bounceOut{0%{-o-transform:scale(1)}25%{-o-transform:scale(.95)}50%{opacity:1;-o-transform:scale(1.1)}100%{opacity:0;-o-transform:scale(.3)}}@keyframes bounceOut{0%{transform:scale(1)}25%{transform:scale(.95)}50%{opacity:1;transform:scale(1.1)}100%{opacity:0;transform:scale(.3)}}.bounceOut{-webkit-animation-name:bounceOut;-moz-animation-name:bounceOut;-o-animation-name:bounceOut;animation-name:bounceOut}@-webkit-keyframes bounceOutUp{0%{-webkit-transform:translateY(0)}20%{opacity:1;-webkit-transform:translateY(20px)}100%{opacity:0;-webkit-transform:translateY(-2000px)}}@-moz-keyframes bounceOutUp{0%{-moz-transform:translateY(0)}20%{opacity:1;-moz-transform:translateY(20px)}100%{opacity:0;-moz-transform:translateY(-2000px)}}@-o-keyframes bounceOutUp{0%{-o-transform:translateY(0)}20%{opacity:1;-o-transform:translateY(20px)}100%{opacity:0;-o-transform:translateY(-2000px)}}@keyframes bounceOutUp{0%{transform:translateY(0)}20%{opacity:1;transform:translateY(20px)}100%{opacity:0;transform:translateY(-2000px)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;-moz-animation-name:bounceOutUp;-o-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes bounceOutDown{0%{-webkit-transform:translateY(0)}20%{opacity:1;-webkit-transform:translateY(-20px)}100%{opacity:0;-webkit-transform:translateY(2000px)}}@-moz-keyframes bounceOutDown{0%{-moz-transform:translateY(0)}20%{opacity:1;-moz-transform:translateY(-20px)}100%{opacity:0;-moz-transform:translateY(2000px)}}@-o-keyframes bounceOutDown{0%{-o-transform:translateY(0)}20%{opacity:1;-o-transform:translateY(-20px)}100%{opacity:0;-o-transform:translateY(2000px)}}@keyframes bounceOutDown{0%{transform:translateY(0)}20%{opacity:1;transform:translateY(-20px)}100%{opacity:0;transform:translateY(2000px)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;-moz-animation-name:bounceOutDown;-o-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{0%{-webkit-transform:translateX(0)}20%{opacity:1;-webkit-transform:translateX(20px)}100%{opacity:0;-webkit-transform:translateX(-2000px)}}@-moz-keyframes bounceOutLeft{0%{-moz-transform:translateX(0)}20%{opacity:1;-moz-transform:translateX(20px)}100%{opacity:0;-moz-transform:translateX(-2000px)}}@-o-keyframes bounceOutLeft{0%{-o-transform:translateX(0)}20%{opacity:1;-o-transform:translateX(20px)}100%{opacity:0;-o-transform:translateX(-2000px)}}@keyframes bounceOutLeft{0%{transform:translateX(0)}20%{opacity:1;transform:translateX(20px)}100%{opacity:0;transform:translateX(-2000px)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;-moz-animation-name:bounceOutLeft;-o-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{0%{-webkit-transform:translateX(0)}20%{opacity:1;-webkit-transform:translateX(-20px)}100%{opacity:0;-webkit-transform:translateX(2000px)}}@-moz-keyframes bounceOutRight{0%{-moz-transform:translateX(0)}20%{opacity:1;-moz-transform:translateX(-20px)}100%{opacity:0;-moz-transform:translateX(2000px)}}@-o-keyframes bounceOutRight{0%{-o-transform:translateX(0)}20%{opacity:1;-o-transform:translateX(-20px)}100%{opacity:0;-o-transform:translateX(2000px)}}@keyframes bounceOutRight{0%{transform:translateX(0)}20%{opacity:1;transform:translateX(-20px)}100%{opacity:0;transform:translateX(2000px)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;-moz-animation-name:bounceOutRight;-o-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes rotateIn{0%{-webkit-transform-origin:center center;-webkit-transform:rotate(-200deg);opacity:0}100%{-webkit-transform-origin:center center;-webkit-transform:rotate(0);opacity:1}}@-moz-keyframes rotateIn{0%{-moz-transform-origin:center center;-moz-transform:rotate(-200deg);opacity:0}100%{-moz-transform-origin:center center;-moz-transform:rotate(0);opacity:1}}@-o-keyframes rotateIn{0%{-o-transform-origin:center center;-o-transform:rotate(-200deg);opacity:0}100%{-o-transform-origin:center center;-o-transform:rotate(0);opacity:1}}@keyframes rotateIn{0%{transform-origin:center center;transform:rotate(-200deg);opacity:0}100%{transform-origin:center center;transform:rotate(0);opacity:1}}.rotateIn{-webkit-animation-name:rotateIn;-moz-animation-name:rotateIn;-o-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInUpLeft{0%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(90deg);opacity:0}100%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(0);opacity:1}}@-moz-keyframes rotateInUpLeft{0%{-moz-transform-origin:left bottom;-moz-transform:rotate(90deg);opacity:0}100%{-moz-transform-origin:left bottom;-moz-transform:rotate(0);opacity:1}}@-o-keyframes rotateInUpLeft{0%{-o-transform-origin:left bottom;-o-transform:rotate(90deg);opacity:0}100%{-o-transform-origin:left bottom;-o-transform:rotate(0);opacity:1}}@keyframes rotateInUpLeft{0%{transform-origin:left bottom;transform:rotate(90deg);opacity:0}100%{transform-origin:left bottom;transform:rotate(0);opacity:1}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;-moz-animation-name:rotateInUpLeft;-o-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInDownLeft{0%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(-90deg);opacity:0}100%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(0);opacity:1}}@-moz-keyframes rotateInDownLeft{0%{-moz-transform-origin:left bottom;-moz-transform:rotate(-90deg);opacity:0}100%{-moz-transform-origin:left bottom;-moz-transform:rotate(0);opacity:1}}@-o-keyframes rotateInDownLeft{0%{-o-transform-origin:left bottom;-o-transform:rotate(-90deg);opacity:0}100%{-o-transform-origin:left bottom;-o-transform:rotate(0);opacity:1}}@keyframes rotateInDownLeft{0%{transform-origin:left bottom;transform:rotate(-90deg);opacity:0}100%{transform-origin:left bottom;transform:rotate(0);opacity:1}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;-moz-animation-name:rotateInDownLeft;-o-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInUpRight{0%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(-90deg);opacity:0}100%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(0);opacity:1}}@-moz-keyframes rotateInUpRight{0%{-moz-transform-origin:right bottom;-moz-transform:rotate(-90deg);opacity:0}100%{-moz-transform-origin:right bottom;-moz-transform:rotate(0);opacity:1}}@-o-keyframes rotateInUpRight{0%{-o-transform-origin:right bottom;-o-transform:rotate(-90deg);opacity:0}100%{-o-transform-origin:right bottom;-o-transform:rotate(0);opacity:1}}@keyframes rotateInUpRight{0%{transform-origin:right bottom;transform:rotate(-90deg);opacity:0}100%{transform-origin:right bottom;transform:rotate(0);opacity:1}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;-moz-animation-name:rotateInUpRight;-o-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateInDownRight{0%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(90deg);opacity:0}100%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(0);opacity:1}}@-moz-keyframes rotateInDownRight{0%{-moz-transform-origin:right bottom;-moz-transform:rotate(90deg);opacity:0}100%{-moz-transform-origin:right bottom;-moz-transform:rotate(0);opacity:1}}@-o-keyframes rotateInDownRight{0%{-o-transform-origin:right bottom;-o-transform:rotate(90deg);opacity:0}100%{-o-transform-origin:right bottom;-o-transform:rotate(0);opacity:1}}@keyframes rotateInDownRight{0%{transform-origin:right bottom;transform:rotate(90deg);opacity:0}100%{transform-origin:right bottom;transform:rotate(0);opacity:1}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;-moz-animation-name:rotateInDownRight;-o-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateOut{0%{-webkit-transform-origin:center center;-webkit-transform:rotate(0);opacity:1}100%{-webkit-transform-origin:center center;-webkit-transform:rotate(200deg);opacity:0}}@-moz-keyframes rotateOut{0%{-moz-transform-origin:center center;-moz-transform:rotate(0);opacity:1}100%{-moz-transform-origin:center center;-moz-transform:rotate(200deg);opacity:0}}@-o-keyframes rotateOut{0%{-o-transform-origin:center center;-o-transform:rotate(0);opacity:1}100%{-o-transform-origin:center center;-o-transform:rotate(200deg);opacity:0}}@keyframes rotateOut{0%{transform-origin:center center;transform:rotate(0);opacity:1}100%{transform-origin:center center;transform:rotate(200deg);opacity:0}}.rotateOut{-webkit-animation-name:rotateOut;-moz-animation-name:rotateOut;-o-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(0);opacity:1}100%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(-90deg);opacity:0}}@-moz-keyframes rotateOutUpLeft{0%{-moz-transform-origin:left bottom;-moz-transform:rotate(0);opacity:1}100%{-moz-transform-origin:left bottom;-moz-transform:rotate(-90deg);opacity:0}}@-o-keyframes rotateOutUpLeft{0%{-o-transform-origin:left bottom;-o-transform:rotate(0);opacity:1}100%{-o-transform-origin:left bottom;-o-transform:rotate(-90deg);opacity:0}}@keyframes rotateOutUpLeft{0%{transform-origin:left bottom;transform:rotate(0);opacity:1}100%{transform-origin:left bottom;transform:rotate(-90deg);opacity:0}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;-moz-animation-name:rotateOutUpLeft;-o-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(0);opacity:1}100%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(90deg);opacity:0}}@-moz-keyframes rotateOutDownLeft{0%{-moz-transform-origin:left bottom;-moz-transform:rotate(0);opacity:1}100%{-moz-transform-origin:left bottom;-moz-transform:rotate(90deg);opacity:0}}@-o-keyframes rotateOutDownLeft{0%{-o-transform-origin:left bottom;-o-transform:rotate(0);opacity:1}100%{-o-transform-origin:left bottom;-o-transform:rotate(90deg);opacity:0}}@keyframes rotateOutDownLeft{0%{transform-origin:left bottom;transform:rotate(0);opacity:1}100%{transform-origin:left bottom;transform:rotate(90deg);opacity:0}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;-moz-animation-name:rotateOutDownLeft;-o-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(0);opacity:1}100%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(90deg);opacity:0}}@-moz-keyframes rotateOutUpRight{0%{-moz-transform-origin:right bottom;-moz-transform:rotate(0);opacity:1}100%{-moz-transform-origin:right bottom;-moz-transform:rotate(90deg);opacity:0}}@-o-keyframes rotateOutUpRight{0%{-o-transform-origin:right bottom;-o-transform:rotate(0);opacity:1}100%{-o-transform-origin:right bottom;-o-transform:rotate(90deg);opacity:0}}@keyframes rotateOutUpRight{0%{transform-origin:right bottom;transform:rotate(0);opacity:1}100%{transform-origin:right bottom;transform:rotate(90deg);opacity:0}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;-moz-animation-name:rotateOutUpRight;-o-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(0);opacity:1}100%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(-90deg);opacity:0}}@-moz-keyframes rotateOutDownRight{0%{-moz-transform-origin:right bottom;-moz-transform:rotate(0);opacity:1}100%{-moz-transform-origin:right bottom;-moz-transform:rotate(-90deg);opacity:0}}@-o-keyframes rotateOutDownRight{0%{-o-transform-origin:right bottom;-o-transform:rotate(0);opacity:1}100%{-o-transform-origin:right bottom;-o-transform:rotate(-90deg);opacity:0}}@keyframes rotateOutDownRight{0%{transform-origin:right bottom;transform:rotate(0);opacity:1}100%{transform-origin:right bottom;transform:rotate(-90deg);opacity:0}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;-moz-animation-name:rotateOutDownRight;-o-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes hinge{0%{-webkit-transform:rotate(0);-webkit-transform-origin:top left;-webkit-animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);-webkit-transform-origin:top left;-webkit-animation-timing-function:ease-in-out}40%{-webkit-transform:rotate(60deg);-webkit-transform-origin:top left;-webkit-animation-timing-function:ease-in-out}80%{-webkit-transform:rotate(60deg) translateY(0);opacity:1;-webkit-transform-origin:top left;-webkit-animation-timing-function:ease-in-out}100%{-webkit-transform:translateY(700px);opacity:0}}@-moz-keyframes hinge{0%{-moz-transform:rotate(0);-moz-transform-origin:top left;-moz-animation-timing-function:ease-in-out}20%,60%{-moz-transform:rotate(80deg);-moz-transform-origin:top left;-moz-animation-timing-function:ease-in-out}40%{-moz-transform:rotate(60deg);-moz-transform-origin:top left;-moz-animation-timing-function:ease-in-out}80%{-moz-transform:rotate(60deg) translateY(0);opacity:1;-moz-transform-origin:top left;-moz-animation-timing-function:ease-in-out}100%{-moz-transform:translateY(700px);opacity:0}}@-o-keyframes hinge{0%{-o-transform:rotate(0);-o-transform-origin:top left;-o-animation-timing-function:ease-in-out}20%,60%{-o-transform:rotate(80deg);-o-transform-origin:top left;-o-animation-timing-function:ease-in-out}40%{-o-transform:rotate(60deg);-o-transform-origin:top left;-o-animation-timing-function:ease-in-out}80%{-o-transform:rotate(60deg) translateY(0);opacity:1;-o-transform-origin:top left;-o-animation-timing-function:ease-in-out}100%{-o-transform:translateY(700px);opacity:0}}@keyframes hinge{0%{transform:rotate(0);transform-origin:top left;animation-timing-function:ease-in-out}20%,60%{transform:rotate(80deg);transform-origin:top left;animation-timing-function:ease-in-out}40%{transform:rotate(60deg);transform-origin:top left;animation-timing-function:ease-in-out}80%{transform:rotate(60deg) translateY(0);opacity:1;transform-origin:top left;animation-timing-function:ease-in-out}100%{transform:translateY(700px);opacity:0}}.hinge{-webkit-animation-name:hinge;-moz-animation-name:hinge;-o-animation-name:hinge;animation-name:hinge}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0px) rotate(0deg)}}@-moz-keyframes rollIn{0%{opacity:0;-moz-transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-moz-transform:translateX(0px) rotate(0deg)}}@-o-keyframes rollIn{0%{opacity:0;-o-transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-o-transform:translateX(0px) rotate(0deg)}}@keyframes rollIn{0%{opacity:0;transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;transform:translateX(0px) rotate(0deg)}}.rollIn{-webkit-animation-name:rollIn;-moz-animation-name:rollIn;-o-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1;-webkit-transform:translateX(0px) rotate(0deg)}100%{opacity:0;-webkit-transform:translateX(100%) rotate(120deg)}}@-moz-keyframes rollOut{0%{opacity:1;-moz-transform:translateX(0px) rotate(0deg)}100%{opacity:0;-moz-transform:translateX(100%) rotate(120deg)}}@-o-keyframes rollOut{0%{opacity:1;-o-transform:translateX(0px) rotate(0deg)}100%{opacity:0;-o-transform:translateX(100%) rotate(120deg)}}@keyframes rollOut{0%{opacity:1;transform:translateX(0px) rotate(0deg)}100%{opacity:0;transform:translateX(100%) rotate(120deg)}}.rollOut{-webkit-animation-name:rollOut;-moz-animation-name:rollOut;-o-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes lightSpeedIn{0%{-webkit-transform:translateX(100%) skewX(-30deg);opacity:0}60%{-webkit-transform:translateX(-20%) skewX(30deg);opacity:1}80%{-webkit-transform:translateX(0%) skewX(-15deg);opacity:1}100%{-webkit-transform:translateX(0%) skewX(0deg);opacity:1}}@-moz-keyframes lightSpeedIn{0%{-moz-transform:translateX(100%) skewX(-30deg);opacity:0}60%{-moz-transform:translateX(-20%) skewX(30deg);opacity:1}80%{-moz-transform:translateX(0%) skewX(-15deg);opacity:1}100%{-moz-transform:translateX(0%) skewX(0deg);opacity:1}}@-o-keyframes lightSpeedIn{0%{-o-transform:translateX(100%) skewX(-30deg);opacity:0}60%{-o-transform:translateX(-20%) skewX(30deg);opacity:1}80%{-o-transform:translateX(0%) skewX(-15deg);opacity:1}100%{-o-transform:translateX(0%) skewX(0deg);opacity:1}}@keyframes lightSpeedIn{0%{transform:translateX(100%) skewX(-30deg);opacity:0}60%{transform:translateX(-20%) skewX(30deg);opacity:1}80%{transform:translateX(0%) skewX(-15deg);opacity:1}100%{transform:translateX(0%) skewX(0deg);opacity:1}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;-moz-animation-name:lightSpeedIn;-o-animation-name:lightSpeedIn;animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;-moz-animation-timing-function:ease-out;-o-animation-timing-function:ease-out;animation-timing-function:ease-out}.animated.lightSpeedIn{-webkit-animation-duration:.5s;-moz-animation-duration:.5s;-o-animation-duration:.5s;animation-duration:.5s}@-webkit-keyframes lightSpeedOut{0%{-webkit-transform:translateX(0%) skewX(0deg);opacity:1}100%{-webkit-transform:translateX(100%) skewX(-30deg);opacity:0}}@-moz-keyframes lightSpeedOut{0%{-moz-transform:translateX(0%) skewX(0deg);opacity:1}100%{-moz-transform:translateX(100%) skewX(-30deg);opacity:0}}@-o-keyframes lightSpeedOut{0%{-o-transform:translateX(0%) skewX(0deg);opacity:1}100%{-o-transform:translateX(100%) skewX(-30deg);opacity:0}}@keyframes lightSpeedOut{0%{transform:translateX(0%) skewX(0deg);opacity:1}100%{transform:translateX(100%) skewX(-30deg);opacity:0}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;-moz-animation-name:lightSpeedOut;-o-animation-name:lightSpeedOut;animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;-moz-animation-timing-function:ease-in;-o-animation-timing-function:ease-in;animation-timing-function:ease-in}.animated.lightSpeedOut{-webkit-animation-duration:.25s;-moz-animation-duration:.25s;-o-animation-duration:.25s;animation-duration:.25s}@-webkit-keyframes wiggle{0%{-webkit-transform:skewX(9deg)}10%{-webkit-transform:skewX(-8deg)}20%{-webkit-transform:skewX(7deg)}30%{-webkit-transform:skewX(-6deg)}40%{-webkit-transform:skewX(5deg)}50%{-webkit-transform:skewX(-4deg)}60%{-webkit-transform:skewX(3deg)}70%{-webkit-transform:skewX(-2deg)}80%{-webkit-transform:skewX(1deg)}90%{-webkit-transform:skewX(0deg)}100%{-webkit-transform:skewX(0deg)}}@-moz-keyframes wiggle{0%{-moz-transform:skewX(9deg)}10%{-moz-transform:skewX(-8deg)}20%{-moz-transform:skewX(7deg)}30%{-moz-transform:skewX(-6deg)}40%{-moz-transform:skewX(5deg)}50%{-moz-transform:skewX(-4deg)}60%{-moz-transform:skewX(3deg)}70%{-moz-transform:skewX(-2deg)}80%{-moz-transform:skewX(1deg)}90%{-moz-transform:skewX(0deg)}100%{-moz-transform:skewX(0deg)}}@-o-keyframes wiggle{0%{-o-transform:skewX(9deg)}10%{-o-transform:skewX(-8deg)}20%{-o-transform:skewX(7deg)}30%{-o-transform:skewX(-6deg)}40%{-o-transform:skewX(5deg)}50%{-o-transform:skewX(-4deg)}60%{-o-transform:skewX(3deg)}70%{-o-transform:skewX(-2deg)}80%{-o-transform:skewX(1deg)}90%{-o-transform:skewX(0deg)}100%{-o-transform:skewX(0deg)}}@keyframes wiggle{0%{transform:skewX(9deg)}10%{transform:skewX(-8deg)}20%{transform:skewX(7deg)}30%{transform:skewX(-6deg)}40%{transform:skewX(5deg)}50%{transform:skewX(-4deg)}60%{transform:skewX(3deg)}70%{transform:skewX(-2deg)}80%{transform:skewX(1deg)}90%{transform:skewX(0deg)}100%{transform:skewX(0deg)}}.wiggle{-webkit-animation-name:wiggle;-moz-animation-name:wiggle;-o-animation-name:wiggle;animation-name:wiggle;-webkit-animation-timing-function:ease-in;-moz-animation-timing-function:ease-in;-o-animation-timing-function:ease-in;animation-timing-function:ease-in}.animated.wiggle{-webkit-animation-duration:.75s;-moz-animation-duration:.75s;-o-animation-duration:.75s;animation-duration:.75s} \ No newline at end of file diff --git a/app/dash/css/font-awesome.min.css b/app/dash/css/font-awesome.min.css deleted file mode 100644 index 62fa795..0000000 --- a/app/dash/css/font-awesome.min.css +++ /dev/null @@ -1 +0,0 @@ -@font-face{font-family:FontAwesome;src:url(../font/fontawesome-webfont.eot?v=3.2.1);src:url(../font/fontawesome-webfont.eot?#iefix&v=3.2.1) format('embedded-opentype'),url(../font/fontawesome-webfont.woff?v=3.2.1) format('woff'),url(../font/fontawesome-webfont.ttf?v=3.2.1) format('truetype'),url(../font/fontawesome-webfont.svg#fontawesomeregular?v=3.2.1) format('svg');font-weight:400;font-style:normal}[class^=icon-],[class*=" icon-"]{font-family:FontAwesome;font-weight:400;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em}[class^=icon-]:before,[class*=" icon-"]:before{text-decoration:inherit;display:inline-block;speak:none}.icon-large:before{vertical-align:-10%;font-size:1.3333333333333333em}a [class^=icon-],a [class*=" icon-"]{display:inline}[class^=icon-].icon-fixed-width,[class*=" icon-"].icon-fixed-width{display:inline-block;width:1.1428571428571428em;text-align:right;padding-right:.2857142857142857em}[class^=icon-].icon-fixed-width.icon-large,[class*=" icon-"].icon-fixed-width.icon-large{width:1.4285714285714286em}.icons-ul{margin-left:2.142857142857143em;list-style-type:none}.icons-ul>li{position:relative}.icons-ul .icon-li{position:absolute;left:-2.142857142857143em;width:2.142857142857143em;text-align:center;line-height:inherit}[class^=icon-].hide,[class*=" icon-"].hide{display:none}.icon-muted{color:#eee}.icon-light{color:#fff}.icon-dark{color:#333}.icon-border{border:solid 1px #eee;padding:.2em .25em .15em;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.icon-2x{font-size:2em}.icon-2x.icon-border{border-width:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.icon-3x{font-size:3em}.icon-3x.icon-border{border-width:3px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.icon-4x{font-size:4em}.icon-4x.icon-border{border-width:4px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.icon-5x{font-size:5em}.icon-5x.icon-border{border-width:5px;-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px}.pull-right{float:right}.pull-left{float:left}[class^=icon-].pull-left,[class*=" icon-"].pull-left{margin-right:.3em}[class^=icon-].pull-right,[class*=" icon-"].pull-right{margin-left:.3em}[class^=icon-],[class*=" icon-"]{display:inline;width:auto;height:auto;line-height:normal;vertical-align:baseline;background-image:none;background-position:0 0;background-repeat:repeat;margin-top:0}.icon-white,.nav-pills>.active>a>[class^=icon-],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^=icon-],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^=icon-],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^=icon-],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>.active>a>[class^=icon-],.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^=icon-],.dropdown-submenu:hover>a>[class*=" icon-"]{background-image:none}.btn [class^=icon-].icon-large,.nav [class^=icon-].icon-large,.btn [class*=" icon-"].icon-large,.nav [class*=" icon-"].icon-large{line-height:.9em}.btn [class^=icon-].icon-spin,.nav [class^=icon-].icon-spin,.btn [class*=" icon-"].icon-spin,.nav [class*=" icon-"].icon-spin{display:inline-block}.nav-tabs [class^=icon-],.nav-pills [class^=icon-],.nav-tabs [class*=" icon-"],.nav-pills [class*=" icon-"],.nav-tabs [class^=icon-].icon-large,.nav-pills [class^=icon-].icon-large,.nav-tabs [class*=" icon-"].icon-large,.nav-pills [class*=" icon-"].icon-large{line-height:.9em}.btn [class^=icon-].pull-left.icon-2x,.btn [class*=" icon-"].pull-left.icon-2x,.btn [class^=icon-].pull-right.icon-2x,.btn [class*=" icon-"].pull-right.icon-2x{margin-top:.18em}.btn [class^=icon-].icon-spin.icon-large,.btn [class*=" icon-"].icon-spin.icon-large{line-height:.8em}.btn.btn-small [class^=icon-].pull-left.icon-2x,.btn.btn-small [class*=" icon-"].pull-left.icon-2x,.btn.btn-small [class^=icon-].pull-right.icon-2x,.btn.btn-small [class*=" icon-"].pull-right.icon-2x{margin-top:.25em}.btn.btn-large [class^=icon-],.btn.btn-large [class*=" icon-"]{margin-top:0}.btn.btn-large [class^=icon-].pull-left.icon-2x,.btn.btn-large [class*=" icon-"].pull-left.icon-2x,.btn.btn-large [class^=icon-].pull-right.icon-2x,.btn.btn-large [class*=" icon-"].pull-right.icon-2x{margin-top:.05em}.btn.btn-large [class^=icon-].pull-left.icon-2x,.btn.btn-large [class*=" icon-"].pull-left.icon-2x{margin-right:.2em}.btn.btn-large [class^=icon-].pull-right.icon-2x,.btn.btn-large [class*=" icon-"].pull-right.icon-2x{margin-left:.2em}.nav-list [class^=icon-],.nav-list [class*=" icon-"]{line-height:inherit}.icon-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:-35%}.icon-stack [class^=icon-],.icon-stack [class*=" icon-"]{display:block;text-align:center;position:absolute;width:100%;height:100%;font-size:1em;line-height:inherit;*line-height:2em}.icon-stack .icon-stack-base{font-size:2em;*line-height:1em}.icon-spin{display:inline-block;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;-webkit-animation:spin 2s infinite linear;animation:spin 2s infinite linear}a .icon-stack,a .icon-spin{display:inline-block;text-decoration:none}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(359deg)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@-o-keyframes spin{0%{-o-transform:rotate(0deg)}100%{-o-transform:rotate(359deg)}}@-ms-keyframes spin{0%{-ms-transform:rotate(0deg)}100%{-ms-transform:rotate(359deg)}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}}.icon-rotate-90:before{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1)}.icon-rotate-180:before{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2)}.icon-rotate-270:before{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3)}.icon-flip-horizontal:before{-webkit-transform:scale(-1,1);-moz-transform:scale(-1,1);-ms-transform:scale(-1,1);-o-transform:scale(-1,1);transform:scale(-1,1)}.icon-flip-vertical:before{-webkit-transform:scale(1,-1);-moz-transform:scale(1,-1);-ms-transform:scale(1,-1);-o-transform:scale(1,-1);transform:scale(1,-1)}a .icon-rotate-90:before,a .icon-rotate-180:before,a .icon-rotate-270:before,a .icon-flip-horizontal:before,a .icon-flip-vertical:before{display:inline-block}.icon-glass:before{content:"\f000"}.icon-music:before{content:"\f001"}.icon-search:before{content:"\f002"}.icon-envelope-alt:before{content:"\f003"}.icon-heart:before{content:"\f004"}.icon-star:before{content:"\f005"}.icon-star-empty:before{content:"\f006"}.icon-user:before{content:"\f007"}.icon-film:before{content:"\f008"}.icon-th-large:before{content:"\f009"}.icon-th:before{content:"\f00a"}.icon-th-list:before{content:"\f00b"}.icon-ok:before{content:"\f00c"}.icon-remove:before{content:"\f00d"}.icon-zoom-in:before{content:"\f00e"}.icon-zoom-out:before{content:"\f010"}.icon-power-off:before,.icon-off:before{content:"\f011"}.icon-signal:before{content:"\f012"}.icon-gear:before,.icon-cog:before{content:"\f013"}.icon-trash:before{content:"\f014"}.icon-home:before{content:"\f015"}.icon-file-alt:before{content:"\f016"}.icon-time:before{content:"\f017"}.icon-road:before{content:"\f018"}.icon-download-alt:before{content:"\f019"}.icon-download:before{content:"\f01a"}.icon-upload:before{content:"\f01b"}.icon-inbox:before{content:"\f01c"}.icon-play-circle:before{content:"\f01d"}.icon-rotate-right:before,.icon-repeat:before{content:"\f01e"}.icon-refresh:before{content:"\f021"}.icon-list-alt:before{content:"\f022"}.icon-lock:before{content:"\f023"}.icon-flag:before{content:"\f024"}.icon-headphones:before{content:"\f025"}.icon-volume-off:before{content:"\f026"}.icon-volume-down:before{content:"\f027"}.icon-volume-up:before{content:"\f028"}.icon-qrcode:before{content:"\f029"}.icon-barcode:before{content:"\f02a"}.icon-tag:before{content:"\f02b"}.icon-tags:before{content:"\f02c"}.icon-book:before{content:"\f02d"}.icon-bookmark:before{content:"\f02e"}.icon-print:before{content:"\f02f"}.icon-camera:before{content:"\f030"}.icon-font:before{content:"\f031"}.icon-bold:before{content:"\f032"}.icon-italic:before{content:"\f033"}.icon-text-height:before{content:"\f034"}.icon-text-width:before{content:"\f035"}.icon-align-left:before{content:"\f036"}.icon-align-center:before{content:"\f037"}.icon-align-right:before{content:"\f038"}.icon-align-justify:before{content:"\f039"}.icon-list:before{content:"\f03a"}.icon-indent-left:before{content:"\f03b"}.icon-indent-right:before{content:"\f03c"}.icon-facetime-video:before{content:"\f03d"}.icon-picture:before{content:"\f03e"}.icon-pencil:before{content:"\f040"}.icon-map-marker:before{content:"\f041"}.icon-adjust:before{content:"\f042"}.icon-tint:before{content:"\f043"}.icon-edit:before{content:"\f044"}.icon-share:before{content:"\f045"}.icon-check:before{content:"\f046"}.icon-move:before{content:"\f047"}.icon-step-backward:before{content:"\f048"}.icon-fast-backward:before{content:"\f049"}.icon-backward:before{content:"\f04a"}.icon-play:before{content:"\f04b"}.icon-pause:before{content:"\f04c"}.icon-stop:before{content:"\f04d"}.icon-forward:before{content:"\f04e"}.icon-fast-forward:before{content:"\f050"}.icon-step-forward:before{content:"\f051"}.icon-eject:before{content:"\f052"}.icon-chevron-left:before{content:"\f053"}.icon-chevron-right:before{content:"\f054"}.icon-plus-sign:before{content:"\f055"}.icon-minus-sign:before{content:"\f056"}.icon-remove-sign:before{content:"\f057"}.icon-ok-sign:before{content:"\f058"}.icon-question-sign:before{content:"\f059"}.icon-info-sign:before{content:"\f05a"}.icon-screenshot:before{content:"\f05b"}.icon-remove-circle:before{content:"\f05c"}.icon-ok-circle:before{content:"\f05d"}.icon-ban-circle:before{content:"\f05e"}.icon-arrow-left:before{content:"\f060"}.icon-arrow-right:before{content:"\f061"}.icon-arrow-up:before{content:"\f062"}.icon-arrow-down:before{content:"\f063"}.icon-mail-forward:before,.icon-share-alt:before{content:"\f064"}.icon-resize-full:before{content:"\f065"}.icon-resize-small:before{content:"\f066"}.icon-plus:before{content:"\f067"}.icon-minus:before{content:"\f068"}.icon-asterisk:before{content:"\f069"}.icon-exclamation-sign:before{content:"\f06a"}.icon-gift:before{content:"\f06b"}.icon-leaf:before{content:"\f06c"}.icon-fire:before{content:"\f06d"}.icon-eye-open:before{content:"\f06e"}.icon-eye-close:before{content:"\f070"}.icon-warning-sign:before{content:"\f071"}.icon-plane:before{content:"\f072"}.icon-calendar:before{content:"\f073"}.icon-random:before{content:"\f074"}.icon-comment:before{content:"\f075"}.icon-magnet:before{content:"\f076"}.icon-chevron-up:before{content:"\f077"}.icon-chevron-down:before{content:"\f078"}.icon-retweet:before{content:"\f079"}.icon-shopping-cart:before{content:"\f07a"}.icon-folder-close:before{content:"\f07b"}.icon-folder-open:before{content:"\f07c"}.icon-resize-vertical:before{content:"\f07d"}.icon-resize-horizontal:before{content:"\f07e"}.icon-bar-chart:before{content:"\f080"}.icon-twitter-sign:before{content:"\f081"}.icon-facebook-sign:before{content:"\f082"}.icon-camera-retro:before{content:"\f083"}.icon-key:before{content:"\f084"}.icon-gears:before,.icon-cogs:before{content:"\f085"}.icon-comments:before{content:"\f086"}.icon-thumbs-up-alt:before{content:"\f087"}.icon-thumbs-down-alt:before{content:"\f088"}.icon-star-half:before{content:"\f089"}.icon-heart-empty:before{content:"\f08a"}.icon-signout:before{content:"\f08b"}.icon-linkedin-sign:before{content:"\f08c"}.icon-pushpin:before{content:"\f08d"}.icon-external-link:before{content:"\f08e"}.icon-signin:before{content:"\f090"}.icon-trophy:before{content:"\f091"}.icon-github-sign:before{content:"\f092"}.icon-upload-alt:before{content:"\f093"}.icon-lemon:before{content:"\f094"}.icon-phone:before{content:"\f095"}.icon-unchecked:before,.icon-check-empty:before{content:"\f096"}.icon-bookmark-empty:before{content:"\f097"}.icon-phone-sign:before{content:"\f098"}.icon-twitter:before{content:"\f099"}.icon-facebook:before{content:"\f09a"}.icon-github:before{content:"\f09b"}.icon-unlock:before{content:"\f09c"}.icon-credit-card:before{content:"\f09d"}.icon-rss:before{content:"\f09e"}.icon-hdd:before{content:"\f0a0"}.icon-bullhorn:before{content:"\f0a1"}.icon-bell:before{content:"\f0a2"}.icon-certificate:before{content:"\f0a3"}.icon-hand-right:before{content:"\f0a4"}.icon-hand-left:before{content:"\f0a5"}.icon-hand-up:before{content:"\f0a6"}.icon-hand-down:before{content:"\f0a7"}.icon-circle-arrow-left:before{content:"\f0a8"}.icon-circle-arrow-right:before{content:"\f0a9"}.icon-circle-arrow-up:before{content:"\f0aa"}.icon-circle-arrow-down:before{content:"\f0ab"}.icon-globe:before{content:"\f0ac"}.icon-wrench:before{content:"\f0ad"}.icon-tasks:before{content:"\f0ae"}.icon-filter:before{content:"\f0b0"}.icon-briefcase:before{content:"\f0b1"}.icon-fullscreen:before{content:"\f0b2"}.icon-group:before{content:"\f0c0"}.icon-link:before{content:"\f0c1"}.icon-cloud:before{content:"\f0c2"}.icon-beaker:before{content:"\f0c3"}.icon-cut:before{content:"\f0c4"}.icon-copy:before{content:"\f0c5"}.icon-paperclip:before,.icon-paper-clip:before{content:"\f0c6"}.icon-save:before{content:"\f0c7"}.icon-sign-blank:before{content:"\f0c8"}.icon-reorder:before{content:"\f0c9"}.icon-list-ul:before{content:"\f0ca"}.icon-list-ol:before{content:"\f0cb"}.icon-strikethrough:before{content:"\f0cc"}.icon-underline:before{content:"\f0cd"}.icon-table:before{content:"\f0ce"}.icon-magic:before{content:"\f0d0"}.icon-truck:before{content:"\f0d1"}.icon-pinterest:before{content:"\f0d2"}.icon-pinterest-sign:before{content:"\f0d3"}.icon-google-plus-sign:before{content:"\f0d4"}.icon-google-plus:before{content:"\f0d5"}.icon-money:before{content:"\f0d6"}.icon-caret-down:before{content:"\f0d7"}.icon-caret-up:before{content:"\f0d8"}.icon-caret-left:before{content:"\f0d9"}.icon-caret-right:before{content:"\f0da"}.icon-columns:before{content:"\f0db"}.icon-sort:before{content:"\f0dc"}.icon-sort-down:before{content:"\f0dd"}.icon-sort-up:before{content:"\f0de"}.icon-envelope:before{content:"\f0e0"}.icon-linkedin:before{content:"\f0e1"}.icon-rotate-left:before,.icon-undo:before{content:"\f0e2"}.icon-legal:before{content:"\f0e3"}.icon-dashboard:before{content:"\f0e4"}.icon-comment-alt:before{content:"\f0e5"}.icon-comments-alt:before{content:"\f0e6"}.icon-bolt:before{content:"\f0e7"}.icon-sitemap:before{content:"\f0e8"}.icon-umbrella:before{content:"\f0e9"}.icon-paste:before{content:"\f0ea"}.icon-lightbulb:before{content:"\f0eb"}.icon-exchange:before{content:"\f0ec"}.icon-cloud-download:before{content:"\f0ed"}.icon-cloud-upload:before{content:"\f0ee"}.icon-user-md:before{content:"\f0f0"}.icon-stethoscope:before{content:"\f0f1"}.icon-suitcase:before{content:"\f0f2"}.icon-bell-alt:before{content:"\f0f3"}.icon-coffee:before{content:"\f0f4"}.icon-food:before{content:"\f0f5"}.icon-file-text-alt:before{content:"\f0f6"}.icon-building:before{content:"\f0f7"}.icon-hospital:before{content:"\f0f8"}.icon-ambulance:before{content:"\f0f9"}.icon-medkit:before{content:"\f0fa"}.icon-fighter-jet:before{content:"\f0fb"}.icon-beer:before{content:"\f0fc"}.icon-h-sign:before{content:"\f0fd"}.icon-plus-sign-alt:before{content:"\f0fe"}.icon-double-angle-left:before{content:"\f100"}.icon-double-angle-right:before{content:"\f101"}.icon-double-angle-up:before{content:"\f102"}.icon-double-angle-down:before{content:"\f103"}.icon-angle-left:before{content:"\f104"}.icon-angle-right:before{content:"\f105"}.icon-angle-up:before{content:"\f106"}.icon-angle-down:before{content:"\f107"}.icon-desktop:before{content:"\f108"}.icon-laptop:before{content:"\f109"}.icon-tablet:before{content:"\f10a"}.icon-mobile-phone:before{content:"\f10b"}.icon-circle-blank:before{content:"\f10c"}.icon-quote-left:before{content:"\f10d"}.icon-quote-right:before{content:"\f10e"}.icon-spinner:before{content:"\f110"}.icon-circle:before{content:"\f111"}.icon-mail-reply:before,.icon-reply:before{content:"\f112"}.icon-github-alt:before{content:"\f113"}.icon-folder-close-alt:before{content:"\f114"}.icon-folder-open-alt:before{content:"\f115"}.icon-expand-alt:before{content:"\f116"}.icon-collapse-alt:before{content:"\f117"}.icon-smile:before{content:"\f118"}.icon-frown:before{content:"\f119"}.icon-meh:before{content:"\f11a"}.icon-gamepad:before{content:"\f11b"}.icon-keyboard:before{content:"\f11c"}.icon-flag-alt:before{content:"\f11d"}.icon-flag-checkered:before{content:"\f11e"}.icon-terminal:before{content:"\f120"}.icon-code:before{content:"\f121"}.icon-reply-all:before{content:"\f122"}.icon-mail-reply-all:before{content:"\f122"}.icon-star-half-full:before,.icon-star-half-empty:before{content:"\f123"}.icon-location-arrow:before{content:"\f124"}.icon-crop:before{content:"\f125"}.icon-code-fork:before{content:"\f126"}.icon-unlink:before{content:"\f127"}.icon-question:before{content:"\f128"}.icon-info:before{content:"\f129"}.icon-exclamation:before{content:"\f12a"}.icon-superscript:before{content:"\f12b"}.icon-subscript:before{content:"\f12c"}.icon-eraser:before{content:"\f12d"}.icon-puzzle-piece:before{content:"\f12e"}.icon-microphone:before{content:"\f130"}.icon-microphone-off:before{content:"\f131"}.icon-shield:before{content:"\f132"}.icon-calendar-empty:before{content:"\f133"}.icon-fire-extinguisher:before{content:"\f134"}.icon-rocket:before{content:"\f135"}.icon-maxcdn:before{content:"\f136"}.icon-chevron-sign-left:before{content:"\f137"}.icon-chevron-sign-right:before{content:"\f138"}.icon-chevron-sign-up:before{content:"\f139"}.icon-chevron-sign-down:before{content:"\f13a"}.icon-html5:before{content:"\f13b"}.icon-css3:before{content:"\f13c"}.icon-anchor:before{content:"\f13d"}.icon-unlock-alt:before{content:"\f13e"}.icon-bullseye:before{content:"\f140"}.icon-ellipsis-horizontal:before{content:"\f141"}.icon-ellipsis-vertical:before{content:"\f142"}.icon-rss-sign:before{content:"\f143"}.icon-play-sign:before{content:"\f144"}.icon-ticket:before{content:"\f145"}.icon-minus-sign-alt:before{content:"\f146"}.icon-check-minus:before{content:"\f147"}.icon-level-up:before{content:"\f148"}.icon-level-down:before{content:"\f149"}.icon-check-sign:before{content:"\f14a"}.icon-edit-sign:before{content:"\f14b"}.icon-external-link-sign:before{content:"\f14c"}.icon-share-sign:before{content:"\f14d"}.icon-compass:before{content:"\f14e"}.icon-collapse:before{content:"\f150"}.icon-collapse-top:before{content:"\f151"}.icon-expand:before{content:"\f152"}.icon-euro:before,.icon-eur:before{content:"\f153"}.icon-gbp:before{content:"\f154"}.icon-dollar:before,.icon-usd:before{content:"\f155"}.icon-rupee:before,.icon-inr:before{content:"\f156"}.icon-yen:before,.icon-jpy:before{content:"\f157"}.icon-renminbi:before,.icon-cny:before{content:"\f158"}.icon-won:before,.icon-krw:before{content:"\f159"}.icon-bitcoin:before,.icon-btc:before{content:"\f15a"}.icon-file:before{content:"\f15b"}.icon-file-text:before{content:"\f15c"}.icon-sort-by-alphabet:before{content:"\f15d"}.icon-sort-by-alphabet-alt:before{content:"\f15e"}.icon-sort-by-attributes:before{content:"\f160"}.icon-sort-by-attributes-alt:before{content:"\f161"}.icon-sort-by-order:before{content:"\f162"}.icon-sort-by-order-alt:before{content:"\f163"}.icon-thumbs-up:before{content:"\f164"}.icon-thumbs-down:before{content:"\f165"}.icon-youtube-sign:before{content:"\f166"}.icon-youtube:before{content:"\f167"}.icon-xing:before{content:"\f168"}.icon-xing-sign:before{content:"\f169"}.icon-youtube-play:before{content:"\f16a"}.icon-dropbox:before{content:"\f16b"}.icon-stackexchange:before{content:"\f16c"}.icon-instagram:before{content:"\f16d"}.icon-flickr:before{content:"\f16e"}.icon-adn:before{content:"\f170"}.icon-bitbucket:before{content:"\f171"}.icon-bitbucket-sign:before{content:"\f172"}.icon-tumblr:before{content:"\f173"}.icon-tumblr-sign:before{content:"\f174"}.icon-long-arrow-down:before{content:"\f175"}.icon-long-arrow-up:before{content:"\f176"}.icon-long-arrow-left:before{content:"\f177"}.icon-long-arrow-right:before{content:"\f178"}.icon-apple:before{content:"\f179"}.icon-windows:before{content:"\f17a"}.icon-android:before{content:"\f17b"}.icon-linux:before{content:"\f17c"}.icon-dribbble:before{content:"\f17d"}.icon-skype:before{content:"\f17e"}.icon-foursquare:before{content:"\f180"}.icon-trello:before{content:"\f181"}.icon-female:before{content:"\f182"}.icon-male:before{content:"\f183"}.icon-gittip:before{content:"\f184"}.icon-sun:before{content:"\f185"}.icon-moon:before{content:"\f186"}.icon-archive:before{content:"\f187"}.icon-bug:before{content:"\f188"}.icon-vk:before{content:"\f189"}.icon-weibo:before{content:"\f18a"}.icon-renren:before{content:"\f18b"} \ No newline at end of file diff --git a/app/dash/css/normalize.min.css b/app/dash/css/normalize.min.css deleted file mode 100644 index 3f7927b..0000000 --- a/app/dash/css/normalize.min.css +++ /dev/null @@ -1 +0,0 @@ -/*! normalize.css v1.0.1 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,nav,section,summary{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}html,button,input,select,textarea{font-family:sans-serif}body{margin:0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{font-size:2em;margin:.67em 0}h2{font-size:1.5em;margin:.83em 0}h3{font-size:1.17em;margin:1em 0}h4{font-size:1em;margin:1.33em 0}h5{font-size:.83em;margin:1.67em 0}h6{font-size:.75em;margin:2.33em 0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}blockquote{margin:1em 40px}dfn{font-style:italic}mark{background:#ff0;color:#000}p,pre{margin:1em 0}code,kbd,pre,samp{font-family:monospace,serif;_font-family:'courier new',monospace;font-size:1em}pre{white-space:pre;white-space:pre-wrap;word-wrap:break-word}q{quotes:none}q:before,q:after{content:'';content:none}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}dl,menu,ol,ul{margin:1em 0}dd{margin:0 0 0 40px}menu,ol,ul{padding:0 0 0 40px}nav ul,nav ol{list-style:none;list-style-image:none}img{border:0;-ms-interpolation-mode:bicubic}svg:not(:root){overflow:hidden}figure{margin:0}form{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0;white-space:normal;*margin-left:-7px}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}button,input{line-height:normal}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer;*overflow:visible}button[disabled],input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0;*height:13px;*width:13px}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0} \ No newline at end of file diff --git a/app/dash/css/spectrum.css b/app/dash/css/spectrum.css deleted file mode 100644 index e474cca..0000000 --- a/app/dash/css/spectrum.css +++ /dev/null @@ -1 +0,0 @@ -.sp-container{position:absolute;top:0;left:0;display:inline-block;*display:inline;*zoom:1;z-index:9999994;overflow:hidden}.sp-container.sp-flat{position:relative}.sp-container,.sp-container *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.sp-top{position:relative;width:100%;display:inline-block}.sp-top-inner{position:absolute;top:0;left:0;bottom:0;right:0}.sp-color{position:absolute;top:0;left:0;bottom:0;right:20%}.sp-hue{position:absolute;top:0;right:0;bottom:0;left:84%;height:100%}.sp-clear-enabled .sp-hue{top:33px;height:77.5%}.sp-fill{padding-top:80%}.sp-sat,.sp-val{position:absolute;top:0;left:0;right:0;bottom:0}.sp-alpha-enabled .sp-top{margin-bottom:18px}.sp-alpha-enabled .sp-alpha{display:block}.sp-alpha-handle{position:absolute;top:-4px;bottom:-4px;width:6px;left:50%;cursor:pointer;border:1px solid #000;background:#fff;opacity:.8}.sp-alpha{display:none;position:absolute;bottom:-14px;right:0;left:0;height:8px}.sp-alpha-inner{border:solid 1px #333}.sp-clear{display:none}.sp-clear.sp-clear-display{background-position:center}.sp-clear-enabled .sp-clear{display:block;position:absolute;top:0;right:0;bottom:0;left:84%;height:28px}.sp-container,.sp-replacer,.sp-preview,.sp-dragger,.sp-slider,.sp-alpha,.sp-clear,.sp-alpha-handle,.sp-container.sp-dragging .sp-input,.sp-container button{-webkit-user-select:none;-moz-user-select:-moz-none;-o-user-select:none;user-select:none}.sp-container.sp-input-disabled .sp-input-container{display:none}.sp-container.sp-buttons-disabled .sp-button-container{display:none}.sp-palette-only .sp-picker-container{display:none}.sp-palette-disabled .sp-palette-container{display:none}.sp-initial-disabled .sp-initial{display:none}.sp-sat{background-image:-webkit-gradient(linear,0 0,100% 0,from(#FFF),to(rgba(204,154,129,0)));background-image:-webkit-linear-gradient(left,#FFF,rgba(204,154,129,0));background-image:-moz-linear-gradient(left,#fff,rgba(204,154,129,0));background-image:-o-linear-gradient(left,#fff,rgba(204,154,129,0));background-image:-ms-linear-gradient(left,#fff,rgba(204,154,129,0));background-image:linear-gradient(to right,#fff,rgba(204,154,129,0));-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType = 1, startColorstr=#FFFFFFFF, endColorstr=#00CC9A81)";filter:progid:DXImageTransform.Microsoft.gradient(GradientType=1, startColorstr='#FFFFFFFF', endColorstr='#00CC9A81')}.sp-val{background-image:-webkit-gradient(linear,0 100%,0 0,from(#000),to(rgba(204,154,129,0)));background-image:-webkit-linear-gradient(bottom,#000,rgba(204,154,129,0));background-image:-moz-linear-gradient(bottom,#000,rgba(204,154,129,0));background-image:-o-linear-gradient(bottom,#000,rgba(204,154,129,0));background-image:-ms-linear-gradient(bottom,#000,rgba(204,154,129,0));background-image:linear-gradient(to top,#000,rgba(204,154,129,0));-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#00CC9A81, endColorstr=#FF000000)";filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00CC9A81', endColorstr='#FF000000')}.sp-hue{background:-moz-linear-gradient(top,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);background:-ms-linear-gradient(top,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);background:-o-linear-gradient(top,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);background:-webkit-gradient(linear,left top,left bottom,from(red),color-stop(0.17,#ff0),color-stop(0.33,#0f0),color-stop(0.5,#0ff),color-stop(0.67,#00f),color-stop(0.83,#f0f),to(red));background:-webkit-linear-gradient(top,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}.sp-1{height:17%;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0000', endColorstr='#ffff00')}.sp-2{height:16%;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff00', endColorstr='#00ff00')}.sp-3{height:17%;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ff00', endColorstr='#00ffff')}.sp-4{height:17%;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ffff', endColorstr='#0000ff')}.sp-5{height:16%;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0000ff', endColorstr='#ff00ff')}.sp-6{height:17%;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff00ff', endColorstr='#ff0000')}.sp-hidden{display:none!important}.sp-cf:before,.sp-cf:after{content:"";display:table}.sp-cf:after{clear:both}.sp-cf{*zoom:1}@media (max-device-width:480px){.sp-color{right:40%}.sp-hue{left:63%}.sp-fill{padding-top:60%}}.sp-dragger{border-radius:5px;height:5px;width:5px;border:1px solid #fff;background:#000;cursor:pointer;position:absolute;top:0;left:0}.sp-slider{position:absolute;top:0;cursor:pointer;height:3px;left:-1px;right:-1px;border:1px solid #000;background:#fff;opacity:.8}.sp-container{border-radius:0;background-color:#ECECEC;border:solid 1px #f0c49B;padding:0}.sp-container,.sp-container button,.sp-container input,.sp-color,.sp-hue,.sp-clear{font:400 12px "Lucida Grande","Lucida Sans Unicode","Lucida Sans",Geneva,Verdana,sans-serif;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.sp-top{margin-bottom:3px}.sp-color,.sp-hue,.sp-clear{border:solid 1px #666}.sp-input-container{float:right;width:100px;margin-bottom:4px}.sp-initial-disabled .sp-input-container{width:100%}.sp-input{font-size:12px!important;border:1px inset;padding:4px 5px;margin:0;width:100%;background:transparent;border-radius:3px;color:#222}.sp-input:focus{border:1px solid orange}.sp-input.sp-validation-error{border:1px solid red;background:#fdd}.sp-picker-container,.sp-palette-container{float:left;position:relative;padding:10px;padding-bottom:300px;margin-bottom:-290px}.sp-picker-container{width:172px;border-left:solid 1px #fff}.sp-palette-container{border-right:solid 1px #ccc}.sp-palette .sp-thumb-el{display:block;position:relative;float:left;width:24px;height:15px;margin:3px;cursor:pointer;border:solid 2px transparent}.sp-palette .sp-thumb-el:hover,.sp-palette .sp-thumb-el.sp-thumb-active{border-color:orange}.sp-thumb-el{position:relative}.sp-initial{float:left;border:solid 1px #333}.sp-initial span{width:30px;height:25px;border:0;display:block;float:left;margin:0}.sp-initial .sp-clear-display{background-position:center}.sp-button-container{float:right}.sp-replacer{margin:0;overflow:hidden;cursor:pointer;padding:4px;display:inline-block;*zoom:1;*display:inline;border:solid 1px #91765d;background:#eee;color:#333;vertical-align:middle}.sp-replacer:hover,.sp-replacer.sp-active{border-color:#F0C49B;color:#111}.sp-replacer.sp-disabled{cursor:default;border-color:silver;color:silver}.sp-dd{padding:2px 0;height:16px;line-height:16px;float:left;font-size:10px}.sp-preview{position:relative;width:25px;height:20px;border:solid 1px #222;margin-right:5px;float:left;z-index:0}.sp-palette{*width:220px;max-width:220px}.sp-palette .sp-thumb-el{width:16px;height:16px;margin:2px 1px;border:solid 1px #d0d0d0}.sp-container{padding-bottom:0}.sp-container button{background-color:#eee;background-image:-webkit-linear-gradient(top,#eee,#ccc);background-image:-moz-linear-gradient(top,#eee,#ccc);background-image:-ms-linear-gradient(top,#eee,#ccc);background-image:-o-linear-gradient(top,#eee,#ccc);background-image:linear-gradient(to bottom,#eee,#ccc);border:1px solid #ccc;border-bottom:1px solid #bbb;border-radius:3px;color:#333;font-size:14px;line-height:1;padding:5px 4px;text-align:center;text-shadow:0 1px 0 #eee;vertical-align:middle}.sp-container button:hover{background-color:#ddd;background-image:-webkit-linear-gradient(top,#ddd,#bbb);background-image:-moz-linear-gradient(top,#ddd,#bbb);background-image:-ms-linear-gradient(top,#ddd,#bbb);background-image:-o-linear-gradient(top,#ddd,#bbb);background-image:linear-gradient(to bottom,#ddd,#bbb);border:1px solid #bbb;border-bottom:1px solid #999;cursor:pointer;text-shadow:0 1px 0 #ddd}.sp-container button:active{border:1px solid #aaa;border-bottom:1px solid #888;-webkit-box-shadow:inset 0 0 5px 2px #aaa,0 1px 0 0 #eee;-moz-box-shadow:inset 0 0 5px 2px #aaa,0 1px 0 0 #eee;-ms-box-shadow:inset 0 0 5px 2px #aaa,0 1px 0 0 #eee;-o-box-shadow:inset 0 0 5px 2px #aaa,0 1px 0 0 #eee;box-shadow:inset 0 0 5px 2px #aaa,0 1px 0 0 #eee}.sp-cancel{font-size:11px;color:#d93f3f!important;margin:0;padding:2px;margin-right:5px;vertical-align:middle;text-decoration:none}.sp-cancel:hover{color:#d93f3f!important;text-decoration:underline}.sp-palette span:hover,.sp-palette span.sp-thumb-active{border-color:#000}.sp-preview,.sp-alpha,.sp-thumb-el{position:relative;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.sp-preview-inner,.sp-alpha-inner,.sp-thumb-inner{display:block;position:absolute;top:0;left:0;bottom:0;right:0}.sp-palette .sp-thumb-inner{background-position:50% 50%;background-repeat:no-repeat}.sp-palette .sp-thumb-light.sp-thumb-active .sp-thumb-inner{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIVJREFUeNpiYBhsgJFMffxAXABlN5JruT4Q3wfi/0DsT64h8UD8HmpIPCWG/KemIfOJCUB+Aoacx6EGBZyHBqI+WsDCwuQ9mhxeg2A210Ntfo8klk9sOMijaURm7yc1UP2RNCMbKE9ODK1HM6iegYLkfx8pligC9lCD7KmRof0ZhjQACDAAceovrtpVBRkAAAAASUVORK5CYII=)}.sp-palette .sp-thumb-dark.sp-thumb-active .sp-thumb-inner{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAAMdJREFUOE+tkgsNwzAMRMugEAahEAahEAZhEAqlEAZhEAohEAYh81X2dIm8fKpEspLGvudPOsUYpxE2BIJCroJmEW9qJ+MKaBFhEMNabSy9oIcIPwrB+afvAUFoK4H0tMaQ3XtlrggDhOVVMuT4E5MMG0FBbCEYzjYT7OxLEvIHQLY2zWwQ3D+9luyOQTfKDiFD3iUIfPk8VqrKjgAiSfGFPecrg6HN6m/iBcwiDAo7WiBeawa+Kwh7tZoSCGLMqwlSAzVDhoK+6vH4G0P5wdkAAAAASUVORK5CYII=)}.sp-clear-display{background-repeat:no-repeat;background-position:center;background-image:url(data:image/gif;base64,R0lGODlhFAAUAPcAAAAAAJmZmZ2dnZ6enqKioqOjo6SkpKWlpaampqenp6ioqKmpqaqqqqurq/Hx8fLy8vT09PX19ff39/j4+Pn5+fr6+vv7+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAP8ALAAAAAAUABQAAAihAP9FoPCvoMGDBy08+EdhQAIJCCMybCDAAYUEARBAlFiQQoMABQhKUJBxY0SPICEYHBnggEmDKAuoPMjS5cGYMxHW3IiT478JJA8M/CjTZ0GgLRekNGpwAsYABHIypcAgQMsITDtWJYBR6NSqMico9cqR6tKfY7GeBCuVwlipDNmefAtTrkSzB1RaIAoXodsABiZAEFB06gIBWC1mLVgBa0AAOw==)} \ No newline at end of file diff --git a/app/dash/css/timepicker.css b/app/dash/css/timepicker.css deleted file mode 100644 index f26c700..0000000 --- a/app/dash/css/timepicker.css +++ /dev/null @@ -1,18 +0,0 @@ -/*! - * Datepicker for Bootstrap - * - * Copyright 2012 Stefan Petre - * Improvements by Andrew Rowls - * Licensed under the Apache License v2.0 - * http://www.apache.org/licenses/LICENSE-2.0 - * - */.datepicker{padding:4px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;direction:ltr}.datepicker-inline{width:220px}.datepicker.datepicker-rtl{direction:rtl}.datepicker.datepicker-rtl table tr td span{float:right}.datepicker-dropdown{top:0;left:0}.datepicker-dropdown:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0,0,0,.2);position:absolute;top:-7px;left:6px}.datepicker-dropdown:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;position:absolute;top:-6px;left:7px}.datepicker>div{display:none}.datepicker.days div.datepicker-days{display:block}.datepicker.months div.datepicker-months{display:block}.datepicker.years div.datepicker-years{display:block}.datepicker table{margin:0}.datepicker td,.datepicker th{text-align:center;width:20px;height:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;border:0}.table-striped .datepicker table tr td,.table-striped .datepicker table tr th{background-color:transparent}.datepicker table tr td.day:hover{background:#eee;cursor:pointer}.datepicker table tr td.old,.datepicker table tr td.new{color:#999}.datepicker table tr td.disabled,.datepicker table tr td.disabled:hover{background:0 0;color:#999;cursor:default}.datepicker table tr td.today,.datepicker table tr td.today:hover,.datepicker table tr td.today.disabled,.datepicker table tr td.today.disabled:hover{background-color:#fde19a;background-image:-moz-linear-gradient(top,#fdd49a,#fdf59a);background-image:-ms-linear-gradient(top,#fdd49a,#fdf59a);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fdd49a),to(#fdf59a));background-image:-webkit-linear-gradient(top,#fdd49a,#fdf59a);background-image:-o-linear-gradient(top,#fdd49a,#fdf59a);background-image:linear-gradient(top,#fdd49a,#fdf59a);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0);border-color:#fdf59a #fdf59a #fbed50;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#000!important}.datepicker table tr td.today:hover,.datepicker table tr td.today:hover:hover,.datepicker table tr td.today.disabled:hover,.datepicker table tr td.today.disabled:hover:hover,.datepicker table tr td.today:active,.datepicker table tr td.today:hover:active,.datepicker table tr td.today.disabled:active,.datepicker table tr td.today.disabled:hover:active,.datepicker table tr td.today.active,.datepicker table tr td.today:hover.active,.datepicker table tr td.today.disabled.active,.datepicker table tr td.today.disabled:hover.active,.datepicker table tr td.today.disabled,.datepicker table tr td.today:hover.disabled,.datepicker table tr td.today.disabled.disabled,.datepicker table tr td.today.disabled:hover.disabled,.datepicker table tr td.today[disabled],.datepicker table tr td.today:hover[disabled],.datepicker table tr td.today.disabled[disabled],.datepicker table tr td.today.disabled:hover[disabled]{background-color:#fdf59a}.datepicker table tr td.today:active,.datepicker table tr td.today:hover:active,.datepicker table tr td.today.disabled:active,.datepicker table tr td.today.disabled:hover:active,.datepicker table tr td.today.active,.datepicker table tr td.today:hover.active,.datepicker table tr td.today.disabled.active,.datepicker table tr td.today.disabled:hover.active{background-color:#fbf069 \9}.datepicker table tr td.active,.datepicker table tr td.active:hover,.datepicker table tr td.active.disabled,.datepicker table tr td.active.disabled:hover{background-color:#006dcc;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-ms-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(top,#08c,#04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);border-color:#04c #04c #002a80;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td.active:hover,.datepicker table tr td.active:hover:hover,.datepicker table tr td.active.disabled:hover,.datepicker table tr td.active.disabled:hover:hover,.datepicker table tr td.active:active,.datepicker table tr td.active:hover:active,.datepicker table tr td.active.disabled:active,.datepicker table tr td.active.disabled:hover:active,.datepicker table tr td.active.active,.datepicker table tr td.active:hover.active,.datepicker table tr td.active.disabled.active,.datepicker table tr td.active.disabled:hover.active,.datepicker table tr td.active.disabled,.datepicker table tr td.active:hover.disabled,.datepicker table tr td.active.disabled.disabled,.datepicker table tr td.active.disabled:hover.disabled,.datepicker table tr td.active[disabled],.datepicker table tr td.active:hover[disabled],.datepicker table tr td.active.disabled[disabled],.datepicker table tr td.active.disabled:hover[disabled]{background-color:#04c}.datepicker table tr td.active:active,.datepicker table tr td.active:hover:active,.datepicker table tr td.active.disabled:active,.datepicker table tr td.active.disabled:hover:active,.datepicker table tr td.active.active,.datepicker table tr td.active:hover.active,.datepicker table tr td.active.disabled.active,.datepicker table tr td.active.disabled:hover.active{background-color:#039 \9}.datepicker table tr td span{display:block;width:23%;height:54px;line-height:54px;float:left;margin:1%;cursor:pointer;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.datepicker table tr td span:hover{background:#eee}.datepicker table tr td span.disabled,.datepicker table tr td span.disabled:hover{background:0 0;color:#999;cursor:default}.datepicker table tr td span.active,.datepicker table tr td span.active:hover,.datepicker table tr td span.active.disabled,.datepicker table tr td span.active.disabled:hover{background-color:#006dcc;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-ms-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(top,#08c,#04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);border-color:#04c #04c #002a80;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td span.active:hover,.datepicker table tr td span.active:hover:hover,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active.disabled:hover:hover,.datepicker table tr td span.active:active,.datepicker table tr td span.active:hover:active,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:hover:active,.datepicker table tr td span.active.active,.datepicker table tr td span.active:hover.active,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled:hover.active,.datepicker table tr td span.active.disabled,.datepicker table tr td span.active:hover.disabled,.datepicker table tr td span.active.disabled.disabled,.datepicker table tr td span.active.disabled:hover.disabled,.datepicker table tr td span.active[disabled],.datepicker table tr td span.active:hover[disabled],.datepicker table tr td span.active.disabled[disabled],.datepicker table tr td span.active.disabled:hover[disabled]{background-color:#04c}.datepicker table tr td span.active:active,.datepicker table tr td span.active:hover:active,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:hover:active,.datepicker table tr td span.active.active,.datepicker table tr td span.active:hover.active,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled:hover.active{background-color:#039 \9}.datepicker table tr td span.old{color:#999}.datepicker th.switch{width:145px}.datepicker thead tr:first-child th,.datepicker tfoot tr:first-child th{cursor:pointer}.datepicker thead tr:first-child th:hover,.datepicker tfoot tr:first-child th:hover{background:#eee}.datepicker .cw{font-size:10px;width:12px;padding:0 2px 0 5px;vertical-align:middle}.datepicker thead tr:first-child th.cw{cursor:default;background-color:transparent}.input-append.date .add-on i,.input-prepend.date .add-on i{display:block;cursor:pointer;width:16px;height:16px}/*! - * Timepicker Component for Twitter Bootstrap - * - * Copyright 2013 Joris de Wit - * - * Contributors https://github.com/jdewit/bootstrap-timepicker/graphs/contributors - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */.bootstrap-timepicker{position:relative}.bootstrap-timepicker.pull-right .bootstrap-timepicker-widget.dropdown-menu{left:auto;right:0}.bootstrap-timepicker.pull-right .bootstrap-timepicker-widget.dropdown-menu:before{left:auto;right:12px}.bootstrap-timepicker.pull-right .bootstrap-timepicker-widget.dropdown-menu:after{left:auto;right:13px}.bootstrap-timepicker .add-on{cursor:pointer}.bootstrap-timepicker .add-on i{display:inline-block;width:16px;height:16px}.bootstrap-timepicker-widget.dropdown-menu{padding:2px 3px 2px 2px}.bootstrap-timepicker-widget.dropdown-menu.open{display:inline-block}.bootstrap-timepicker-widget.dropdown-menu:before{border-bottom:7px solid rgba(0,0,0,.2);border-left:7px solid transparent;border-right:7px solid transparent;content:"";display:inline-block;left:9px;position:absolute;top:-7px}.bootstrap-timepicker-widget.dropdown-menu:after{border-bottom:6px solid #FFF;border-left:6px solid transparent;border-right:6px solid transparent;content:"";display:inline-block;left:10px;position:absolute;top:-6px}.bootstrap-timepicker-widget a.btn,.bootstrap-timepicker-widget input{border-radius:4px}.bootstrap-timepicker-widget table{width:100%;margin:0}.bootstrap-timepicker-widget table td{text-align:center;height:30px;margin:0;padding:2px}.bootstrap-timepicker-widget table td:not(.separator){min-width:30px}.bootstrap-timepicker-widget table td span{width:100%}.bootstrap-timepicker-widget table td a{border:1px transparent solid;width:100%;display:inline-block;margin:0;padding:8px 0;outline:0;color:#333}.bootstrap-timepicker-widget table td a:hover{text-decoration:none;background-color:#eee;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;border-color:#ddd}.bootstrap-timepicker-widget table td a i{margin-top:2px}.bootstrap-timepicker-widget table td input{width:25px;margin:0;text-align:center}.bootstrap-timepicker-widget .modal-content{padding:4px}@media (min-width:767px){.bootstrap-timepicker-widget.modal{width:200px;margin-left:-100px}}@media (max-width:767px){.bootstrap-timepicker{width:100%}.bootstrap-timepicker .dropdown-menu{width:100%}} \ No newline at end of file diff --git a/app/dash/font/FontAwesome.otf b/app/dash/font/FontAwesome.otf deleted file mode 100644 index 70125459f7d593b79cabc75bd60b91943aa65e93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 61896 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 diff --git a/app/dash/font/fontawesome-webfont.eot b/app/dash/font/fontawesome-webfont.eot deleted file mode 100644 index 0662cb96bfb78cb2603df4bc9995314bd6806312..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37405 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�-A&iY%khEsGVMaq&$BJA^QAs8x>7-g_ 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 k3oQ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/dash/font/fontawesome-webfont.ttf b/app/dash/font/fontawesome-webfont.ttf deleted file mode 100644 index d3659246915cacb0c9204271f1f9fc5f77049eac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 79076 zcmd4434B!5y$62Jx!dgfl1wJaOp=*N2qchXlCUL1*hxS(6#+4z2!bdGh~hR1qKGS6 zYHii1)k;^p*w+o;)K!q$t7haS?ZrNXZgbQTi5;wSKh*ZbndL#bJ&+8MUt2W`Pezjnp+O= z-9F^&k?+5F%i68~oqpyWh9y zdnHv;lslDH&^fAw_pG7f1dcyuf`&t3QxpS<_UX3o}ee-@q2t8 zugBw&J>0`QlKYg~aOd4a?vw5l?)Th(cmK^nqyK;W!vF)tN*T>6{g?jWCQZTrAAWQ# zY*EXt1%NzLiwHFTr60gHX5Nk7W4+2A42mr2lGG9R#$|8ZJIHcIW-A}qs>V)i)ua>R z9mQc2nMpK^7oL)|C)BJ|iA+Fe-grwWpw-4}l5Op+aW6}z+qzh5yrqh1Pc-IlXPHPc z85zpbk!A9?H`djM)oi%FPMuSW+j%M3mc*Yd@oO4u!xa`wg_tV5L&7^6k?{sxyrzk_ zb@A4guvZfarld`-D8|Qa^;mrn98b{dgRLM+4%{M0!%jx8`-wLBs=f= zkrG!PF;3p|+82$(2?3I)vN{&O6p^M&3neMx)pSL7@kR^?OC=M@ls6EZqBbz5LDg3$tr_PGox4tm#p6J!@jJR9AI$Z{x&C zlO{IqJz7uf?YNoloz0@JV%2B;oTVB9qi7A8fp@|0JGU)1y!w<{VSs zvcPkaf+1~E(r95z6%TjGm{1y1`Jpyn{$5*c-?V09up5nYy~n{Kmh(_MdO$pEm3M4CZc7szC-7`B5FsTSCPV0NUXvFzrbA z+grkZ6=M=HK6D-n2K+&z+vvuG2Kjl$1Ld9U-Piro{I9cjJLPLb5#tfVp*w?>jl5lmR;v+p!C7?bB)X^jxvnD4d{^jcZMj>(r3YOx(>Z-%mswHPap95Gh1 zmicTqyOw=Nw5#Fl&Ef&p(8X>vZs{_9ZmjywcVt_!nJw?rN@^n@8)IKBr2th02x;q5 zY5ZGgp;f7pM~fvr?J+fb@Y*ut`g1V7=-FW`> z*ICz|YYrT^CcS>=B^S-CZ%jAhuYTr5m+V|G|K7a+x+K|YP3iPrH{RSVbxY?+7fDx2 zH%a$Mk4m4DBsJZZY-BZBB@2Y6GJy35|$csWJF-L zvm6vD8Ock8`eYo3kSi8cOP(~49x3%fbz&L5Cl->1g_J4Qmt+r}DVdLOyf_&#=%|bo zIXRM)ON$sI*Uwzx*G`Cct6~w0jY#0g;(QXe7JESv-INo;#NJTMf6#qd>T5Hkw!XeL zE{-E(U`|9_ny z`#vsp)*HF{&dz$4q2oxJXG?SWQMu9gM(5tIWND2oCSFSi_KV?Uek3W6BulQAB+p!+ zq%xC2$2L0#FZ`d+!aqK$D#m+AjI@kCpBy#%qwkfL`xnP*)KExFx>j;&w<%wcLfB2P zcj;P9Gh@lNZidauibFNiZj0u}-yU5Yz1=tzjZ%Uo`Ms2v-&rhfMQ>-DC?Aa)zvTC! z4C=k&)Z400IVgb(sSCK7R+F;g(2S}(tfT7>1#~M@eWGULSH`c*nphI4!rNG~Q2VcN zRlMhHcg-iL7L%SaX{uW6jkB;fV_h|xhnnPchP|0q+*F`#99lw^3>y)c1VMR8SdwR? zycEgr9P~RuwhV#<8A*X~SiGhwyxA{8SL*bC7yU=<;0bnCdH8IeS z;gFATwu!-s&fb00_?_`x<9A1QKX$P3vg(+7+`7$6?l|)Dkvo=bUN_DitKKy3;A8o0 z-^M=t@$AQ_BlwOb$0%nSk(h^Fbb)Xr<4nsgQHczcDy?^0{&@pE$7WKbP(=KIps3 z5J{FnP4DDInp2uxHAE+uOqbX@Cqzc2Oo3L!d;st1(iOr=;!1TZ7D zSfiSbU+M*xYf7hukW3K;3;G_Hniwq`Ac&6Q)mC7McF_M~8CA1TxC5j$I0GW9T}%&E zgB?+%L$4e<^a?-ZaeUPusGVoCR@@tMxb7I=>~ZRqzjg&#bW+1zHn+=uV@kKU=lLpJ z|K{{~>|b-0*Uz+BBlm@z&e4VMwz{2;o9jg3h#Q4@h~99BZTYn$#G~zrmKBbOEpfN? z^052%mZ;bH6;E)p)qYjG&FQcQSCzL+s^CGVDBILDd5ObebJpEs+gw`MwyV|RG7C?P z@}Sr|3bd@bk583mN*e&%V`d#}<0vQ?oA-nN4O9`|+QnELqZ`+BRX`dZGzpjjc501d z)QOX-W;k#_kC;;&*jduqp{&a-%Ng12%J;L}MBQe5%cjd$`ds~MdWJwx^%I1!^c?ph z+TRzs=diTPC&x;_$aR){fn-l;|2OGZDpYj02-hRJ41?Kjks%oQUM%pjM6SDbQSz zB;(z@oBdap#VI>2`M!Lg!{M}aS-6e=M{GsxuVOL1YU4a+#85a(gf1Io3S+-Al6=Mj zE7$pq{J&cmw=S?%Soryo$Pd3oV_|IkGRXlTlEK{4`mlgwz`h0ff@o`;#gi$l1e)bi z>M{(l&MK18U*Bm+Jj<@JIgIZ(Dv5kLDTo)It?!Sr&S<@iOKiZ%Ryx>Zht1eHlqI@K z&D3|+M~&}B`^|TYwHd(vGv0(KdY8FFftw~|BYB!w%*8xaEY>c0IIt;%0+0#FKqMwc z7!;Gh1`eJuesSX9!4s_h1iR{}@u;!Jc=YH|ww684*2;s%Fboka0ar#&QmyKh%9$-FaKGPIok6G#hY#FY&apfr# zaia)Z7O1nZ$09tcFzjM}r;$?}9uK%;zmrLH;S`SZ+q;y2Kk9epXqIzMBu~E8C1kCj z3$QQgnCAp!9a3EZ7Z%U{Q8OJ5wRF?!Vw&BvXpFls*X}bi)n4y7CIK?RBQa^*Q$ikPN~KtAgwnpfv-9>& z?ro?vGJZeHRW_tpPOw&)5?Cpd>I4k{x~CPZi^+96AK4p^uuA8Ie73isNww%hw)9Tm1R8s03*0@83R7vQUYm5P6M4Yv=w*} zgKKV)rgVfTO?LLSt|@7ujdi2hEaU$1`!@A~fH6P~Wc@yu!@;_(RwL(O@4Zh`A)_GV z4j6aR%4cy1yyUoy%_|;`(;i<~_Z@x{8;AWN`4pSRWcEsa+ABD*X&12!?@vZf08y2{ zZA(YwOeAf4yPRiao6L?G9`4||$BinQME0Am>Ab$Yrlvgqi|Hj}9_g(b-$ptN3+?y7)m7jalwt8?Ym0)tAEX@s+{ldcdaLhv;Cn^lYu79Db&t!w z-^wgojPHMXgjBnq`8VGJ2v;Q|6G_&ms_xidAn`U{WaHL5EakSn_YqOYI$8AS?km^d zj72m|Ujkp(NpsQ4fX=0OO&ti95di==4{Wodv0_;i7dH4CbY+;%na+GtT(rFf3p=HK5l@0P2)mxTSYpB~4RJNBCwoH}!`h3J|;NuX$TGEgBGIoY2_7ZuW&Ohy|K$v+{FyF}T+6r0;-R4&DpwYk3W3EMSF(T?9r8el#ldwz zgk8F;6EBGUmpH)?mNSv8a;C_1$C!m}WtLcdr!3_*9Xhnh7|iDg(Q}~t+*g>z`1@CK zodlPe0w3X(Is{w}BRmk%?SL@kiK=emwKb-QnASPb%pjRtg+LT<&xpaz^ls`^bLAC3 ze`xv*s}Ic28OOYyNU}OO<*l!7{@RVnmiC)2T;_}IK=c_%q9-P^k}ua;N1 zc8qTuf6$tY@Hb;&SLHQRruxUVjUxcV`UbwEvFN21x;Y5{0vypi6R}Z=e=O#78wZ8K zgMn(=&WA}e6NOJF9)Y7*1=WO>ofi0NX#a{4Ds}GFHM1(8fw=e!#?POroKv`L z_J_V2n6___wXr_dHn@-9@zev8;>$M22zLv9#ub}8&2iDX2blJ;j~OQ(Sa*?Q+FWth zBv50Um&GSN@YIJ{*-N{3zhwNu>{m>dltIv(0&iivF3_8;acndp8GE(g_@Z$_;9-p| z#8OoTPSOfz3$aeK*p(NWYmne2resB36V6;4qy#jP7=SLhtx3k{5Z`mAcd+cab8PNN zvaF`2jQ*1mw{6ZDUTpXt+!Iw36~W42dDE<>a-1s?DyUPaEr651iaDE$zD(KvpS;uQs7R(d0}GZdTM+0>B_mGf zo$QmwPn-bLlwPej)m?YT9oN-0At`SD{fVzU(eADcqyYU> zzihM_H?6{*y0GF@$|I|ohqW-zsz^Dq;W`vqB{^sig&uCBK|h3nwm(zV`NZ#>wVrt9>}viOm+V7-X#pnoXUaXcmEvq}~h zvdD;YKAXp?%Zp30glpL$#%^Nb8HVfmEYBL^I?0*w6h{$RqRaG8U4Z37VQ)CSA1O$> z%)U&8zC&uQ^|t!|U;KCDCl*^%UHvfry1H(xuI?6p4|jLt??&;rrn~#dnl)6cyIakk zxLLjFU-~CpWbWx7QvZmwP8#1~8AX920tZpthCmjv9FSx0Cgtjc5lpqE6Zv#94Y~Y4 zI-BG_NGNu?*=uCd2_uk5@E<0!X*ST-mrmx}iO7;{_&WxpaxN z0~i2232--XTq@ZC^>ll(ql=TEh7u%E8=b%{Ev$omX(>Jj0|2mVppaO5Dx?zY)zR( zvv{5UKs*Jhv6H{IU~$NJyKe4NkOM$h%vvCX2o^SM z5>!B3VFDrcYvs;xFrG@q{pAyDjk(6$x@I#Ugw27~*;#YqZ#A7xON>2jtcX)ywIVN6 zL4?b*V*izamjco>2uV$3BIG{tA}EpyP>8He3XQfJu{{^KPolpCr^kSOhVVa7-$@w9 zWJDoYHffhZr+?cypkw#|>oezUW57==+gU%5H+j#D(eL!*Xt1K56dUNw=TOlA(iX$AFiE#ww1V zRa$~slEIRYIFi-U{)JyZo65kXkq~m^7ve~WGHYwxob($V?QP9Gfel<(F+lV$NFfmG!3WFKq~>CPz|b4IyW!xw%tgi??3be@^Fj zrzm?m9S*H|wb51C8}>#P%E45S@gC!iiA&@k8C{Gse$m0bCyjG-yT|Qm;~V)aK_m7~ z$ECMU*)((MB#U3sf+?`877MrY3Gt}Y=BV;s^*cV}N0~siBWPDNIa=kl1uQP=KjAK5 zOyB`OBpBm`9}% zgz&;9uVUq@!fed$Ypq(YKmvFD1l6aqhQNXq8yeG-CyXDL>5g3g`IW0HgDpJ^=HIe( z#|z7U7I(*%&YN@PRXuBBG26YLG2U_Wm-Jg6-P+sh93S8P@VdsK^=quM!(UO>lV!)5 z^uYNc#o~~;eVOKDj8!-zmCemp&6u;JIWW25vQ4-2o!iwhudc4ltti}y@e=DA;yR4k z0!a#*aMI2E9bHPgTTathbf_3H0^mZQ3w@W}97qzsbh*Zqhl}CxD)am5D;*V`4vWua z*DF0COT&h!&CjN%YI+`s&tY8AwT|{o!r`zg<3rPvjSennI_hAoq;sEI=Ck_!H@?_# z>w+84WqyAkkvYH|nej`~^+EP<_iZi7kjD827sqJ&{golV!{e@=JU;oI&Bpg0`QrpV z;MP>Nva;I7xU4uibLho&aRPn3OuAK){9#OLHw(wZq4sXx5{|NJrqh&yx)T6U1AL}y z)y(UseIP6rfjR3W^rw5Z$#g1BD+<3UIoWPfj>J2=IH?O@6qE)MAPpZ$a3O#KlEUhO zY#>Cko+a&pf4{}Q{pT!EC)%k-dGd2agw1pCe`y;r@Jbk z%C5i_3+Fwx;=YL?&Vo}81gx@!t9Ve+EXgYxuktv35xZ8Qk9TM<$9;ht15@zti!WYW zno)16P*E#q9*c#s$iwMNro{Yix$)exh3(v}aIUURJ!pK%_{jZDsdC-sQ7pCzDrV1S zaVa4sVvT!}j$m!>IQw+hw$&j;Wm<*ZI`PuDKT_dk4dMeJrhP(o zvQgSQJO}Cr&O!PgngegjW3JmVQxGC0E5yZdtX)h5Avmyb;Bni-g(+aqv97bs!G_N^ ztU22pEdB6=^5Pt5D(7MbTK?o3o&oiBF$hD$gFwUa4~>1>8HV1ejtu>NRzIFuopu`f zsI6q^PyFSK6Hc=)_@pti6QRX3cTm&9VysN$gYr7$S?_^0Oh#b5l_bT&Nr`eQjwH-I zA#xgy;$D{SDLCdtiVp134@mxh)Na!>QbuD$yG5f^9EDYo$Z;J1uiHJ=7UF~QqsO~+ zv`fbt*F}r}>5=}2#`=TWIQIV7HjltdDeRP{|EW=aUzy-oEj6``MC_*as3kNue-+Y zt_eP}J3AxE;Ndq@o4xT`Ycck=SYml{p zieun$K-q%DNBg{x_cCw-WVI1un^*mDRhC~Jvg!HX=s5B!y`2pV<&1vykBO&@{-^5N z)5$+3P-=5l9tcq>TZl@1-{>F8u>n4qPCUg1o=hhH2T~QmmkAnMhiq+>M8ySsgf%4u z?6PSL!Vbla2Rz;Ly4}Y8aW6=Q|*$`Wnc1y@9^Ep4rq=oJ@i z)0VJoU7R(>JHj4MxFg=k;&qVFKl_S-e!X(vE!HOv{PMyoc-LI`%L7kXZ!*`b_ILDC z1B^|Ux}7dO)vJxc)v(2T zFv|K-O=myP4cC+ZkLS!pAcrlA$7Tyn9#^XeYo{){ z@{VUW4FF|C{4DF|wMM?!PrtK5jnpW`UjEE)bC!85R`!~a1-=-U+q2(zCTs_jQ?sFe zZ|9`t{fn2)n34(!1cM@QH#7Tw6Xv>ESSXH07KLdQtk`K2OPCD(7yA_PTLo*)((Vq= zsLd&Zy(^tln^V&QzaRQ>Sx=dU!TVcSkg{?I>H-aqAL z(Bz1IYRk-iT2y+oAN}%2RLhutns38wj8rfBdcAs+x|h5&AWaqYhghQ4p7)MB_{j2}9u5jNzP` zArlSoZsJ&yruPu+7T2oqn+`M7AVO?&v8&K zXMa1I@e~b{*a&05+RF;2xbF}f{d8!_D9()W(;@0b^%v*Z~oY48vOoIv^MH<5y% zP+7@5Q)gWm#R81c8dF~!nW7}0P#oe&{!M6iCF;>B9L@1epZc<5SAPJCNm5N}Uu=;u zM;FqR8vbT}2Q)`_CN?K}6A2^2-b^5|Il&K@2az!%Mn!THl4hMdPd%&jqE1jhavbEPXe)q$$a2`{jTm#Pifv`DUr`p|UavfrRL zz9<-)L%_t1Il@<-&z}#nL-RqtpQ<$of>;Hq`O7WIPAj^lh>8B zl1xr>!mN@kk*|E}{J&(~;k~-UV@=0v+9vkaPwc)-lxU2{YNk||v+S7G4-}vF@z1U} zwDhNCzDqR6tg^DUc(N%J-8r+4D)&$K`+}327fc`1C26Ej#Dh&K_NidHWHuY*L}5v^ zw8Jz*tdnAgMp;8jFpVx6(DwHW!$CBzq=Wpl#t*oBT%wXl7&&qB$#)}TCcinhy(4R+ z89s>8i0=uEEHKoj>;=|_77zmM7W@R;8U??a#PO@`S5R(KZ_DL|Iwd;`2_`s5UR%hlNV zdDs4dE5CQ}yrFXbm)o8MJFUiGTJ>A_;QW@1tbh_aS>;Q7&tv=Y?hDR8_=9iocUB!7 zdf;)^ZM&QQkZ7g!li+GdZidLfZp1;xwi`W8rg^g*$`W*lYzA+&1lPK zSR$G1C9?5QECn&^vQ4{%w{Yq3N zI)bYB0jRBss^IDOX$!TL))Kw*S-dk_^fwppG|3C<)-WMh7+buQdI|fOofs)WTO|A1 z;Pu3kG=9CHJ8(}BIwb2MO6OM?Yq+>#E|Nr!nB$rS?U^IrgaS{O27-0LYb6{g_`5@; z2UDb@y2CBslzyClZxGxWm*92pM=2sl9M$dT z?i^U(F-xnpx&vNo1UqHrQ{UOg?k7qFrAldlFwsEN5+Dje7ZUAXTz(|M#k`xtkI4sm z!OTPW_7|J+rF-$Rg7xjatPhyuDmjd%+-rP^(l#6GqY`BF%l;G*<%f-csXU6$7q-9j z0Ln+i11N&#fJSqkx=a0wx*hZ%(P(FB$JyE~EC=5vZ^*GEg46l%30K$l=un{r(JL_|BV(1rM4Fe*>U@Ib%x9(|IMft+JINl`_&sKO> zaSfXFp3G2%3MvsbiF#o_%Ov7KiH{<$!74a>xLAs8@Xa-)YNo5u1ejoTWA6*A!|hG9 z!%Yf)g{u1friw@=vZ2X%S3tV)Zqo+jE1H-MN%I!7nTxqqd&6}bPe^U4C^e9dh!|&$;{o=X1`0pIyqgI5dkz zbL8*0xiR7rWWwN~B;Y0|ynCz3>LHQ#!nP5z{17OMcGgNnGkgHy_CmySYm4cphM_i@ z>4LctoOo#cU~vi3knX~ecEHHhMRUGIpfY`+`UN%h zl?(Umxp4FJY@u-xcquWM}q-=#^WED(g23s%;kmdHA{ z3+M@U9+Ut%i$4lL0q>p2r;XQsyBmwXELgE7u%GE)j__ol$@t@|KO21D4)?*Zr@67K zvT9tw%Pq3pwV*4?t>=IExh)-E`r;Qpl(MA)HL0>xcg!Qhmg?few*||9t;*K;uiwbD zi`ESq&u_WBSzVCn%Y-78ic53qwF}#)_?20<*7WutKf0^V=a#Lhge~O_TUYPhA^1G3 z8_3Vxuu7H4FOa6g+`XWU3J9c|3JXD}3Je}jRVk!X8qu(wk|v$g-+#`enF?EZ=l+!) zX0Asza|1$$KnKOYXzzu~=FMBx+Mi{tVfl`mKfSJaWz8*xD>USw-)P*GEPTM?5(VZ- zrhxUO7|F$9DFk2_b72b1L5;Sy0LN*#57gVyj&oScKKRCTGY-x4Hy*r|-N#;G_vN3B z25$Ibv_87~ynuXp;7%izf5%AO83^3TehHiOU*5?xZ|&T8?N=$#%~!A8xbv--{_+<- zxjy>E8v@a2;Jn?&k7w1sY5b9e-l&~b`vwac|MLdP&rc1Yt%IO@%HiELQ#u!r-vO&V zYN~H+I}_ASbK?eNpqSa>c#H62C0V~8yb!o{lp|jkfEX;zIzVXi#zp6^Ltj3@_mA{~ z-Nr66R&SbQ^Eq~V#@};%MIi7I_9Am$u&UkWQzLa%aoLl2^@*kVcfdz)DX0Yj$S=E5W#`HsPIGb3&?_>P^(jl6TsiX^#Oh`CW8id)W^hy4|k3 zj1HUADL-=}+udDRQ&UOi!qs(k!1wr3FIO*@;AaT*?M48d!hAqoB@`QtjNA;!0ZE`C z2vbBltU@89_K(l>JvN|vv${i(-J0>=Mn0`N`>ihSwjLR>b7n(Y|ep<>LCV@TP!|aj#guW6Zr0A2e`$!|Yys zI0ddR3kSkM)(`ikoG~yq%?HKxEFEE-j*>7`7bQoWcu;2eI?O|nhQ_goEEpo9oFHHM zHn{6RFT~6fu85K>mZ9q4x58qG!xv*Y^Ng!J#$u$kGzM`T`iv-ohQ?50`0~P&5>>6@ z*iX8de)HHTnfoi&vpNVarUSO960GN%6e0!)C1N8J^r+y5!PGQqsrHU4rIkj8s9~SU z1ds*-TLG4^OVAO8N3jt=vY`!^<_}F<7^-S*?HxZzJJ;X|RfF#!>9u2E~Z~%`CHyF&B$ZDb=f=ozO9_p;CxRhFnm8 z=b--1F(&J-a81+n)P-LX_pu?uT~ppwEKoJAyQynS&&q2SpVt}}50AQH7RR_@U6CFJ z=#WTL5F}ttG!-~3nMx#D=HqEQQfN6(r`O~M@ zf6AOUtQ3`K%~s(#91IAmsJN4XCaRJVIjoo$b{E*`ic)-{Mn+5ZUoajs<{6K@0P-AS zhvsQZo5nRQoz`q-Dc}*giJLhJhBT7nx$O6h=bn9*^?Xm10MsT!iV`A52v6`!M~ap{ zMgxa&OiMepUZq!Pvrctk*^aVmzTwsa?mLqkZV2uU)Moi-f`}QUT(Smc6;oLx%`GF$mX3D6+u?b!Y zdv;dI!Wsaqu^D%(NuGxA4WwxkO($_Q=nK-d5gTqwtRc$~Xa(NyqKm{jRmoAX{-ncG zu@eksEOuStxk%E@GKg6QkKAM=$1@)5fX=gSBM0+5I2YquK1bL5PB~Y60&8BeX{ zRv1d*OkRt+S_Qu~9mHw@jsWQ$GP*99!73$;J3I@;eeWju2jcXDSoz7fn68$|4-y;= zNs(kI!9V{)0aTKw+-+BMrhGnF3Mpp54rXv9)0Ro_y!psrPZ)kXo!O0>CHze10T2k?XOV;NnNbLP9~9fZ*V zx}!A609#Y;AoRs&tZ+mdT=II5{)NWjUFZ<}H)*bldpt#t!>qw_X4L=aXmDfwWI3=e z&yM`VcECAe>VwU5B(55{da*2*$b*Ai#yE0A;NMOTkfBe(=tp^})Zhp09FZwclrm_a zrb8vH6GsP`49HkIB_Umg-8v8p=v6v}ApZj=lxiOfga|Y>V^;Z$+0$2_f1P^sZ_cS) z)ttU$er3oR32vUXlDvvS_M(`8Y*m$H@enz_3^dU(0dI)U+#rw)&5zh6irI%);hNei)kZLn30_2?Zy ztq8wZ-Fe059^AWU57XEKr48YmUfnV&_3FKM?RhnSE5DAtTlzL#%&CMqrMO8IcwY*7 zgD$j!ILH#NrM-YZU^yL^Jjs~m3B@Qa#{q77X(#|8P?86HuAVi%sIRl$^$xs+54|#U zh+>&4*+QJcq1VX|Fsn&J-_GQ(*Rs9o6B3MnAQMgZ@-IYvYkG*zsPD9h&^1HPXJMh= z^*TMQz!5Na^&Q#lN%4S6M=|H~wENMIAo;wb^14@IlTK1e zpmZO$d0c@hP|;PjN|7@#G4nT!TTG^Abe6xh&TCE8G|K(2MHh{$kLK4tbL5Gao?|To zPrS5;UED7>)x_3$oi=Up@(U)*&%i`&@wf&*9u{Xq@~(^3G||KL;}%8vqkCR@Vt}?2hA62&5gBo40zm&dAUhCBAqPsi((U*{X@?{4i~10 zq*h=L3f?Kee%Pcy)Qk;S1cV4|4^h!S9Igl>Qw&ywcc4ZZD;l{JkPN*?#6SY)0eS^g zBW<7*yD}68&VkDu%yCd2hFB1<{Ob?PSph}zA%wHS_F^85tjqdQd$6Wc*TcK~cH8zu zz1^XQzh?Kba81M2y3=mESGRR}!j1=RuHmAgYp7^VV`))~gNiz)xx;o8<=GE8e67lE zZs~Ic0s&W_h3{5ceU1-($mwlWl&;Rgjn)QDxkhRAIzRN!mM?^4IwgpE05EK`K;=)wJ+y*{} z?u9Ge^09yADS}^tg9VM95b`Jw1;a=YI1=0>5#y8uO(c4t*u7YoI>?SHjUY{UacH$M zTCsJ2RjgeKck~V8>;Hb<%IhDhYmx1K4rYL>G7KT=Je5J)^>=@R&1N^U*?ijF*V}@X zo;o;2kl!VW1spAP4_&|VJmdKHrc^z~>UZ3*FMRVM`GE01Z|(Q2sJDWng*~ID=rT6X zWH3=*Ht)x~4!pI0e}4ZpKbluop9m&3hMS6}>9WhibZh+z&t7Ha^3})oE$p59vtfE3 z+oKMD#VsRIbFfNl<844b$=YEK3#0&gN@7Ozs|z-jbQ_5dED>5J^sgbXFa~La#3v^s zuqB{-$pwv+p|DW^J=LZ>wW!4y=+E>=$`TEs4kcMWzOEsKxF^m;Wpj9<`jb7^=G3ZM zUpnB9HD)JSlb~`xeOKLu{a?RsN5~i?gv)$&>!(aA3nv>>t;_e#nfT1c2cM#{12oRHee;4-tt8k0;aQlS@Pu4VAz?WR;5F5e5lBLkeO&I6R`m!_^pb2hzUU zDs|oY**!mjQB`wg!WoNsQVn(E%ack+s3B1n!FaO%mPOeIH$F45wszn0)>KWsz05yx z>iRn4Z82uC(2neLmuXm)~uWQgDDGJHavLog;&p-JtGlcx9q%N%fdbIqoh%*A3y$){p!N? zq2SDgb@2s6?w{HCbv~QV`bHMPpnYeF z6D@yw$@TM_Jgp07Mnj?K%!RFb$VGR6Cy_6wd zEd;Uk$V_8`%?kw+*eSe97E%vlmWPX(S~s5MOm!n77MXBTbgV*_q$(^16y()xiag-Y z50Xh`MzA(HQpLskl~^$1G|k~*V@{bhJ$ZUwU=uH3 zT?TcPAgxVDtG5DMgb@uF`Pq4cmdSvJNp8TC`Z_-yg z>0!RTl=dSWEh$9L+sR%Z`cWb!U?xS8%OGGtlqW30luY9YIPezuLt+}ez(9kb?(oOK zs~XE%x!1ue)IQ_#Nb=!}X)hDuBik;1m=7>WUSLL&!O{3EnAu8)w}QQqj9m8um(2K- zhV%j^8|@(!3Ot&k7!6|yakBrw)DIgw7wt=_97r8g?oguB9I~XU$hIHeMb7vFW|`;-B!wo-7Ow3&Of1}) zK#{eQJI65O@|+2|789%mPRUgOY<*|Hkd8u4N-?4!12Oj)7c_iTSbGy7X}b&fLqjwO z*vF?}5|2cxkPVldaW@>O)zWRPNKql0GpvIqjt-~b6OAn@l?0^?d$lHvOBhU2l?)eX z;m6U$nz6d8z^sUWxf`a37(ZG_!(s<^hsEKvS{#lRtJUJOTGOh8mQoC(dcetX(y^ z-Wr_PGb8Mu8VCeEnnTw^jW(OJYu-!>#t{k)3d?mMzpq#wb_@Q~4qc0=dNZ`bx+<#; zy3G!uu6?INgOji7fqA~2%Qj1y%;nD$+TfO;_s?r5Xl3o^>^b+^b60J%)|Zt z>$X+6aLeNMGOZ3&Yhy#KUXiUXm#W%2!{KDJ6Yj~$TjWq!hBF0P047)X#aQo|vI|9P6u^g-mGgSaJTK9-I za0)nd65@_vKP3lpECN6Y@H#O`P_)9P3r^u!J>bx231Lsg5xCyhf!M!-l`_kU2Z3yf z))Ojavn(DHFa|RCCYRk|v)F8k)xRh(?GIBMH_YtZKcoMqN#&ukP}$n@$*)g-cEim- z-Icv_=%d$vfAViSac%zkPIKRB5vsL%mtK`~= z=P++};X3Q$>P&0J>NV?w_5i%9{BtIkE8{9%foUzBK5K=mhVTD&9}DU>)a|O2-La&- z)(5$XiSvcch-rI2dT%<-!A!RlkZ8NG=++)bEXrSnIL<@!B%Z$0A30V+C zZ5?6ef8XFM5RtJ@TyO#VgyXDHSfrClcIe!5jZNyx_m9US;9KC**`zHdA247z3eZNR zH)JU#76g=3LClEg)!=cYa238}0YDz!^+1Tx?x0Fso|{gq(U8qIrPHJP9U=MRdpfvN z(;Fr=*aEU#7O4o^>=V;XvsBfo`}j0A`QzF|UqgAFXY&0)a6hFa4?EwkS{kF3a=e%YXaAP|#AO#M8`sTtMQ<_kZ~xnt z`;@gC*blg5<`5e?)g|N5?T zsq8CL7qa_K{>U^XBGe@Clc0AJ$e6o3ZO)*6MSw$co*3aVgkPqXO~Onn2@#aAz%f5c z0LoUx-jQ=fzX6Kjlk2Q6iGKK13eAIe0+flEX%48n~zArad~ji=|3sKX}BK&qx@O= zAv&*sm+4zdi0(V=p$lq=2oy{s*0Ye}O@&ceqqHa?b(l10ORTcKKHB_f_6j zUdKbm*WW0I6;(tXV0GKBx{W(|z!$wIl3HqrL*MG)5!i(2< zAsPtA%imzLL%gp1wo0GZdD~UnjMpBo2n1@&f6n%>$}c!sqWm5(8_u77{cA>?#*zf2 zI1%koji^iD7K(i->bc?r@6U@;U9mGmO2!lY*9Y; zuu|q4ddF3!D4#b++Vg^Ub%*TgSnYkm!`9L>g}-CPz{^ljus^ZiIK5tH{zfAw*vw3M z3tyA&=}G4wZxOhC4`gIna9?nF1T+w5g?}mG0&a0JY=16TbTldL9UvqGy&aDc(8yj% z^(q=<1-%IDW?W?KoYJEt1DbDAbF%WuPdCArszSDTcZ+upvM(~2?PZOtjXT)2GU@f` z+bnEV+`ndXDn6riYD3kOmWpxVo2Om9d|UgP9yFC~8iwlRuNgmXFy4VaP4EbkuPSRC4NPs|(ODyrN z^Se~v$Dhn+pHvg*K?WHB{bqTV=!OGCVuxF&?7F>a3qPw`%s>SZv;NFDyAykT|klK;4HgJFLWo)bZ9MAD>zfImT>Z zSQNU-_>5X-eNA(B@`fiu?CMg%V_w#<2gV08OO}*R&Sx{3Qh{S%`mzVRCY#d6 z*;7rinbq%&x})-fj^NU+Ozpniv!+4dDD>fCd^&(7V1JZ=1V+#;oF*P?OK7=3ffB9& zEXRp@34=^0z788bY(QvZfKa5sj|g%dQIbK!Cdt)AaJ=FOTL7YGVKf60r#}{}oiVMx zl0ytVuijP0{Jv1oGWP0b5FOBq($Oq*ywb8%-xfOL!KeD#nr)3;l|%ObE6~WK-Nxo74ga z049iBGlf6_sv_jti!9tzqo%s8b>SFj;DClKO*{4E4AZ`01UOa-QMNp-6eiCGxaa)? z5IPLb!#I)TRc(;_LzWF`Dt1qZPK3OK)|^W*frz)#UQU}jjvWxNbx@8M#uGdeRCPi> zBJ`3VMvwzcb;-2$w4&V)hLO0TOeQa;-Kw5x(wiom;%Az3h`7KCvt(he+h@>Rw=cN% zwlQ-p#LiP^^9&$yUIB0|%2~j+mgMKkT6ww{+WagNRIBv&2h{>#W7x#LXUb=)1r72AX)5=Yp(F(eH4fn^B#tEC*OyYXO+pjUDyUV_C}0S(R&R}qCWhdj*iq{Fr>dfE zvoVHE$dBJGG?i^y#hhcCwjM>%`a)wOBMn7qV~nHR2p?8xR|=aI+9euBgEj2kDn80E zs$I(IJs*Amb+9Bwc25bkTT6!G6I{i~=sIyQl zuMMH@j&=yJLWm?QN@(Gv3(PW0)lik~NTC`Mc2MjgRUPKNFc{hpe2KMGTN4M0Mq{Zl7$q%OlR~e$WNHmHn(mOrq`1mLAp1Z? zgwU>zwq!@BL%bYVkJ{Mzrw- z0@KS02|i9RWBIV8)@#wQkj^SZ#jQC0iX7Hsm&?_{R z*=3X9F*Rozj&&d*i5&ee#Df(Wo$?NepMIka+wHwLXAQe{NflsU6%+zxRIBNcg# zjyPUWzB?3zI>jf3WSQxWnp;;nj0ekA89h^N+-}hkc@jTv9e!mluM)%;bs2`+3Td=z zg=AW-mUV>h3~{e4`e~y7{DULJWhZV$Ix5LWYw+$ zyj2?_apDWI9Lg3Aky~NUU`60ftD;%`vgT5CuhW7!nL&*!G)8L3U9MWJPN!96_~?`t zripbs6t`N2v9ytsgAXsTVuZqgyK?5XxR?W>H&xw=DACNOFwCnGP}Fk8Dl>)a77Qqc z+Z{m@tjwjW9;+g2nnROa7|F$VBg(7?U9hvLSHYaQFpVshQkY|cEY~9zwcVi z$DUmD3=fPeSJa>)<86A-6XIG$z-Fn_bf<X~j}>pSeswiai#x7;04^a=|oHdzXu3Tiik z_twGB!iup-<%>wx!n(HuDjeATlAIHv#S~XL9g&T6i-|(Y@H9U`!KsRHFMu5Od(Rd%3fnX zJh)k2H5Zn!L{yS^1MM?yEh|7N!J0P#i#xKq6aOPbwUDZg{l@Fqydn|lZ)6o|2r06@ zBRBRBj>ecpS^68w6vbTFf!Uj9%YY1)RPf)|K|Vt=O2ktyhMfalYkniDMZFH+ee#QF zbFfG?{PgiBRT`)K65n<5=OZG}oaBeiHv1F4e}kcbzKF&{%pBP%lHDnd!|)i8!jd#Z z2zeDmyg3NZNY*Tvvw}Jj`hUrg6iCYG``M(nW)SK1Lj^9q2LU{TXC8g9g!T8VQKf8N zGGeCqWPk{c0Sv()8KXizPXdR5HPp|do)H#@R%~Q2bTivS5(VF4&%M#i52!mTZ%L^s=lE*jf zTe|gnt@oO#Gka8J^yjW^J&X6%d|tttRE}?5x^KhdOVpm3Q?KdO zt~ZSZIiPUKBDQv1V>nTHAn!WMr?J%*VPk4k7rv04e{|83>(reGDih(xacq;gN#IBR zV)trWA$yO*YvVGE0p-@Hj=tB9|k1ad6?A-rYcFlF?tyqDYM`vkWV6A3>yDBh70xqB)5Q0FU zQHAyMty0bSm`gCpYKBaBU*)4%CZ!_7~#?4z&4v2pLK?NK*^0X}ng*P%_l z-BmvV@311}(>`wMKtRK_H z1HydcE#nyfu5m1oU2(xpH(el?vwKV&ZETxmEMuRkPOy87Z3)p8iHYwP5dvByt(G=P z*GT)MJ8_F7wy=s(f#k^a7ONX;9K<2t`TAFe$;1QTEBkBn%p_=iBrx3&wX3VGs=?;3U{FLCw+2!nHR9369 zPLJ1>Uvz~<0ZqJa+1~qZKX0X7U$=Dc!DX|o&fUA6)>+FA?p?Z0R~s77-GATSW$Sd5 zv|Pcz;PQH$*(z0zo?PA3vSjro3sUB(X-P{{YQZI|%@cF=$6e<{WS0s$>F51?5EyfS z!rQx)h}@se|NZj_*Kcl;5#y>rU9Berl5bCs!X`~zcvpJ)qUG21-JM=u?X=FHZ*^8L zPv6})_43p?%iHc=IB^nFde|O|p7GSy1@0KPw{>bA9r9CK_l~O*2R<;xUKg-5M`RDk zBKF@gp2-+Xw)I<}*7hh7BbQ+h-XUYtz$OIzMf*lIqCzBK1%fY1kO+Nb;}8fMpZS13 zS|H-~R>a&uY)C(CA_To+FB#5g0{@c+C_hMFf?)J12=e-$H7#rWlr>_D#qry0nvo@s ze=gO_zc7;uE|{+UELQmD1Rh2m##icpYW$Rc%J`}AaeO;(fZV+CB^;@~f9UT@*31Fg zn53NAt6r~OPx=n>S^~J4f=AO?N#sot9N{2BvV@+1e@gDtj!4c;>h+K8yzP>qzioT% z(MPuP3vJUqPFw!*b1vO6P&VM~pQ<*Gh55a&M-{!ou`>LfYrt{gCe0b+0 zm&lgwAA9uI+wzaw9G>Yme$m21n=b1c`djz%%+hW?yDV85t1vFby)GMjX!?q!SD~_X zw1*e$a%8OCNz!cd+a3&dZwP=24sdu*pwTop$q;PeilPM57j&%e8+~gOANi2-5~e_S~|Irp&)&*3#MRCiQ>Jaqzjw)#*gm`21$ZE#v0izDa$n z^iJt$EnmF4XT^ldXvWfMo7v!FJpJH`?T!UJ^Jtx~b$MIk_;7i}l&P(gm(6Wi*3?lx z&G@D{pe~HBcoTg$8J8P34Br?tt|R&sH}p;G1uiWZW}0A|z#c~CJqQzk zZH!z$+%Om^Y;3?p;$m2i69qsLa{LPFM|h7A-JI?qK^Xmlu*6mgESA&;$>#4pVfn|t z6%9|^cPmp`cJ^Fpv%6Hsa#u@w#qO(S&Fty<>FkYD5^u4O>J8zEiFu3XFTU=oC3jB7 z_cXvaUh1xLtF;pvyQa?1^e&vxyrhOBl$mKw=<;Q1C#+rdZ1yIT%w5hs_uR97&v*YOHl5d46R8^O^!Q5cX1&$2acog6S|Nm|$MoZ)B_3~npry5Q z{+z}4c+}RaEhZfsbQzrYHP(TH#tmqA zS5ba1`SZ>89I+EQNfD2M{T2hX$ndCZ8^%WUq9wnj{y=!)yzNEfikQ%nY(WeoX4O_k zS{E4PK3xt8!eR#73DEe~q`{D9z0eZZ{z>`ZlG)9n>H=q|q+ndrv^(dlylG)` zhbIC?z(OOq7%_{^Z)PT~Eubqkxs-!HK7VG_#HR7VP*wGenLE4gVzZ9tm7Lg@9UG{< zlkSU#>ujj7lDrA5&`{jZ>ovy!IY+eJG2(t?-~4aikNnr?>c{SBY&@Gr824Dw}?UeiljrHK{FOOB$8qg+A^U%O-CSLD&Yr2 zrVaYQWSf#hNr)-enD$<02_V5G9)wWO1AEM1^kr=g;8h!1r(5+= z*b25S%vfUojN6$Bc=AdpY`1-A9-};+- z_doRUqSnZcCB?PvTNg~LQI=2Mu#{c$XRhy++ctR27{vRtt#hJrq{^r^j#42*_>#tv zP?iu=sh<$Jbom0Gp~ADS<>^07zWAB-Jx}jByL`?pi$^lbT1V|K@4w~#gX>$Uao$8t z>jM8uzvEeYjoT#v6TE0~`0@BS7XQ!rckP}wzWd_K+t=I~l#SL3htJiv_{dxLT=u|U z7qx_UEGn*x2xDApOe`!^MS6Z)2t=jMhDz6-UjtqUlG`tIxcI*u)s|Z zF(-JtiUieR3bs|6m59y?`H2{>YsAK(Q?XXa?RgYWI3{<%y|Hp&#clcivoGjr3_7$m zj!IXFBhP41e)r+6Yaa^6JbztuZr!rvSl`-n+Sj)Q#W!H4P!X@_nAK5H)jqK*QKPjR zO!C2l%8WyA&AewXX@8&6q)uVZrN+lXTb5Q%gwCQAHisSIypm9yP1nt4-@Z_8&Ff%~ zuHIdLR!>iL_n~=vuP90fcRo06e*2bblWLobN|Mc!w;#T-N^1lgIXP>^-p3x?*-aWk zykv9_r#005q5!)8tFTjOqV-jJqNr)Ki=bcJCLlDesT#|>gg2N@agJ$er3QaWvj z_Zo#aAhb|ur0I@cghH!_cTs}6NZe>J<~d4Sm5v&%Bh=8dd49u`ZF`f=8DwkZPbdl0R@JsnSv9`*qW$jbN#}R8PEVdw;}gzmH~Z}QdijN$uX(4~oh_ewP3aG`!6YelygkMic{ZBYEnW<;@>5@k7#lJGCXI% zum~SjKO`k{%i#f(QD?lHRNo!66yhElge0#sls51-ne${T4=;~N4gPWbd(c(~e)r+m z8e9r*6i0BsM~*}<^gj`D;e5DG=!P0-E-oOYPWHlkkJNoK{V8T{va@Lu~5!@|Dw+E0-B3mbb#WJ@YlRmQOS;RUQhrU2xVcxo_eMv1#CaLdV2F zP3#}5%BpK>s>?3^eVi?vb3>hSGO4RBEO9zZ3afR=kNjmfO_<%YoR9ev(0AR4D;w}9 z)EH&}6hx4NBdFvNhYFAlRDs74a@wIbb2imEnTlXJ9puP z1s;>~EJz|Y4N|}CSR2!?bx@0xo*0X6}&1Iz}4=1uU>TH z0b`#2kU=o6=t1_^@Ya;}Lpf57%g);b2fJXNLB97F`PbwZE0py=3+PR}QaJsmU{Zo#U?|V+gq3{0^-9Qdwm0M!vr!;%5rBJ*F z;}P72o;Dwn}6ufaep$WjZwYRbp=A&Zqf0zQLpot_o78YS!AQ<`$LB~BPF z@Cv>*h!;c=ZAt0_Wxy{mELltlg*ocxY4EDrWR)U(%k<}Jtc0LE&t7X=q(ym!8Tdn+&@G?K`Q1kUECx2g9_zu%PLxo)T zsqz%fYk~{t0Kf$=?SIe~BKn-%=Ib!GiFPk(u*b+lI_3>I3-R0n_g5XgxP1Ji)?ctyufNXb=J*klZT{07iG9lMWFN3Qr4+mmY<_uqZTHf-6E?=Q z`m6uSoPYi4kaIDQV-(+FkFof}4`=oV-Uc^d+v?m_47Q;@Mx*d09vRq|`(gmzFD^mE z`G4HCzWdxrxS%32d&X_dc-LL&Z;%g$<6q&aL2mk59vZHbQa#^UGw|E8I4m{Nk%UHe9^xb-)L9N+Vt(r$~xKGHNVw!1qQMS=U2w8fzVer>2#Ij~^%W4FqP$siLWllWn`d^6+dHk_o=u0aZ2%mbTS zY{77{n>za1QON6Nubv%h6GJYG$y~FzsdHDk&Lf!|PLt%(mG8WAC%<(%`0cLFro}a8 zcuZrJnp14S_pf1={`*2KttqQ0LrKC5>Ek^|kM%$&4++8>D+OUCA*Cee02~2ZT@P+SK3Pl1z|LsULZ>mF zAZg0X1ZWQDjw`Hoiy32QcPICyDCi!Cf4q`>~~y zeVLm}E`4>--6QQuY@@=E=MrKGa64!kcA}d2588UTB+@|;`dtCn#(HW;?W!5QlQtbZ zba2z8PU9G3%JQBig>z?WZDn(dRGpVsX_-*v?pogEu9{$}%*(5mTAC}@F1hj9?>~Fv z5)qx?vQ*WgwBXG8sh7;DtekVn)br+;DonTCc;jt2%{lLmEj2T@)fO~F^Yf$ig+6~( zZAE>3MQxSeS6EMJ4F$E^X4Y)EW7Wf3CQjV)Fo*xW+&^xB+v9MSKWB1qIU9Fqs9Lt$ ziO@jL@F7#BHJrNUA-OCkdR-Q?S@|KtS|)i|%Wj0IRGnp>=%s4Q-Ku{~){R!+&xm{o zgoz`h8!jP~b!f?D9pKZ!%O#BwKnSPND2@_*Nx;?^_8eL17#0kd^HDHEZiN#bUFI%> z!`ROY?x(<+-4r-;g;B^#;;*@oB=L7Lv3bf0NaFY1FLWc0NjKG6L9-C8vlq=;VSba# z=l8wcSY&~G{;?Y%pP$)QO!D~=bwt;xVHV-?W>7~N)Hdc95W_Rokv@Z7xZ9Xh*)OSM zFFLQ=fc$1NoMiV>ZCSTV`RELlL=`z5#cg+Wn#G##A!(P|cQjqaMzGSk(*qKvVyCZf z^adL-0f@y;m;slta&R>4J{GSh{nR39Q0YY#gG;f)y9bW!K5U9M^>lihCPN-JWqjTN zHu*r_`XfOYJq5wK|Wgp z|72aQtKBcR75DTMw_t1hnZeH*c&jgFQG*{+3(k2C%8;t*X&S{z1gAoljXlr(+{dWXD* z<1g8^(xdD+_U^mK4!D1P19#C;R06!usa(K0n}?maDJc@5Fr~TS*X{#6@oLY?HgpY# z#VO!JDU3K#vr()Y=#9x>+h+Dq&`xANOJrRkBk3|Xk^&V^+G0vC_cST>4rl;UNj*%^ z99Wh_q6CY|leiXfeG)ihF9)st1AWU5$eIJZPc<2Pxk|93a;@cP=5y#u@czqeQJW< z$8$I~!0iGtkq9%OYqj@jU40O$4^SWsxi6i&3g9nbs2=T`{pt(Xarcy}cJJ15Y3k=ER6C>`y zEY0lfA&TP4W1M6tUOuO27ncBY(@7G&WIfSjuLn|+hI9@T4OsZQjArGh=0e)lPxjGt z5>lk2Fb+Bj-TZAjd^UKMJ}e?9v_(>dW;Pxg8a)FkdP`1{T8i=#-`Jr`ni-GL9j*jr}pc*&b-k~W}W2g2U62~c<)ycTn=bJNds{r^XP;S6;cUT2m% znWDCF$64Txp2UJftVkUDvki0o*WlG)19Q^SLyy1w>VGSvGTLW`YIfo#a!A^*B4jyg z(8P`Wk~QYVY5}`&>1DW zjIVFyWyqne`X9sMM+1~<#`>3meRFkze%h}FFJS>5=*!BcQv?PAuAjJ)fnHTA!(W|2 zB56VQW3w^+DCfB$l9AOpyc{Z0s3LI=p=|WS){bpDiPE@kKJW>?Cv*Ibd}h=@^O5|M zeVwL%Ei8{yL!&ei@)E-SQXI39`cC%s4q<;mBr?*Z7^O8Ie<@N3?2F;2(WRsmmpo`K zOcx<7GwhgR0%A5@B%Y|l|9GM?5y5|`{~$F1kpyL7tj;IHEr%|}ly{Zh{-pA|N!0z_ zy~$*6Uw1H=>g!7dgWY{}-%U>@v1qcNbu$@eL&+figRZg~f~>bc*ca6MQ+_?p{j4{L zRN%V7CPXO#4wua6+GxSQ&@gOwu&p4CH*!OfaKsx!jUk`TA*4=eW+Wg-0xEp$-DHsU z2gSZ%l59&(X%LMr+1J{{3y@BGvc6T*{SSQ-#aZC z(^tR_IZOQaY`s+ZAlKtT{23nX(T94GD0W1ma2C}`{oGaf0{<3!1N9m$S(v3ZftrHK zQ&dZ82o*pr8<|Y?nx(l`s*}zd)?b-`6d8e~Q|+(eiBjEHwK`L2>P+?qg5RMcET;uj zEq39k$-KX2X&yzrwyE_RlBYsomW@u&qp|S8%}GSP&e+^hdO^TQQqSa$Ir@nzHcB$V zBFryg8y`oK@@AtugN)(5Rm?DvXyRlh#bD7QdO#UvilD8G=7wAWqpm#7c0-uohp3ewo*23p9T;D7{T!? zkO~>uyqi=^RG0>9Y3?Q`vkU7qBjO;W`-4GZY6N1zV7i}###+dng`mhWumQp*#95?n z7oFQ`A)sSz>545!_zGl2qcq?{bABPkOCzrVfVm*+vV;n^fB=HvrMe-J*OgE}UO6Cx za&0|;vb&D;(x-W;?I(NTMU;R3Bt9>9_o^ zO?XZ>b}6bBwi#3~g}p!rOCAUwv(iJ_6;AK9p=xJrO4zp$Y=wHjLcIaSh9Td2YdF`a zU*!-FP-VqehAAcTet{1);)(cF&HFQbUEp2N%!Xscz=L1o{+=|az!ud|EdUc;ebfcL zY%G{Ikf)H0rGDlL?iT7(;@M~T_u{NzFgU<7NOUB)mEC_#sEe@^qdu(#Bs9JwyTxoyTW)a+@Q6C6NO5WTh^pU8aZ;waT1Nl|6 zkCIMRKE2*n0rku>CqT4t)M0Q|quyVhLDZa9$b|BOnjwQ|OOrvK$7vo^Ox z3|iNiw$&3ae(j@U^A>MkGiQDzIB)iv?ThC2()bOnBOiIU%s^RMMqdhTp$kgUr(sZ) zW|;e(M;nmEkY?EuVo0OC)=#Hc4okG!Qhrl@xZ`BsU@$3Aa(xYFdu_rwk@8~Y7Qa1GQOq`YpX#M%s!e&AH76#0v#m+F zB{2!ye*SLoz_Q+&svz}iW*?JsW4Qs44zfTo&s9DuX1fY!LG8J|VviG3oZ3zfk(lab zDmxC;*Qx#Iq>~giR_Hrtzd#J)EIm4Osccn8g^yl#Kq&wI;dNJe!$bPfneCROi@AHT zsO}Rq5Y(tTv6sHD)q4pVNnK=%6BQ zswRm!!o|sCGfS#vm?UjrsAmCU*4d-RUL^#rg1tz1kvF$?lfwWHu4E;CSruWy5&9tgI zFW}cxTb0KDUfb&Os_ofk>GjolXsTfNpSH~e%@6Wa0gVSVgXRh69e({LrDB0J=wn!E zrvggszt<8~K+2x}Z&f~nBjco6rgUJ&eGTqXR<|w7j4QEgAQO#XTO(H?p;|EsrjpZ| zvO4)17`zmcnJJe!DQ~{nclhnYeQzp|qQ5Do-ei5Jy+b9f<&DZ{yS=F_R^Eg^iVF4s z11tx2kAIw}MEhCdfQKG#sOo2mSNrF7tC{R7`bDY9~8o3THRKKP1wThEL4c7^R?lSf*Ksu_DnrU;@w( z2Sn>d0{1HcEPa?bH6u06T2YcY1J_msfDKT zbFA*7<6c8?aWVUg(6cmH(|Bq6!7a9EUcS{UZizHGPFgw4|IE=u0{$IoIqsCD?GbCJ zs9F8^43^eqieHSwmU(7YX{pd12Zc_wByN|t+WocI!}X(A8`#$%XpOm z-9egiFc0;3>uT{3odkd2|6jUAOg{bcD^EW1=C8y*|K%39OCD#bbyWo_A{Aa=z_sS- z4K8c zri4Lz+#%?`w^aW^8TMHh+^20h43g7+liFu{2h zd60+GiZ&i4W7KL2>*#Bzajk?&%GHw3+-9*zY=?RwTsvw5uA&yH?79s1iu0?a(239S zvP1G&WRrT4?isyt8M+*F%Xi_&sF_1gqFXWzBLAjvzUV{Ld4vx`a;(vbB{7TrRC8T%IV<>Y+=UCzRikeCzJvdDtDtA7nq7OkQ}1+`)mA;wLFv z$)aUe)2(~BpM+8>QO5rSsfzC=lDyir=7Q#U95SEQw@vMJfmKqHI?1zq=23dcLUpF4$ zo@4N0caCi7p9TYR|6|}$S}dFv<@%PSm*XQ1`z#O2nehsn#W6?^3luX@#6qCHXb2~r z8%djnE6@<^16nL6G6`@l!l`$D6rNMb|N07{zw=<~tcrSY1?np@r-s#y6K9si9sJhM z-;$o=r>XqdUB4txdH2#-d1>3EK;DviVtOD+tRK2oYytRHi(DwO+U{A4C{sV)F8(7AG%k;L4IEL?Z>Vfw#1n zYI2LUrz4dca*RWh1s>~jir_qjOwlrNcLzVpo;{^8TFfTsF=}Y|det~q{W(_CvY>03WhKFK&!8Q)Oorrub2z`EFG=6?yEyeLE74b2RxU+fo&2Fwer*&d^WU9q!w%lux_27$k z-Lr2V^Jic13sW1GH@D<_ee?4i#Zgz~SvN)Uo2tu_g?VS&^?Qs(7G`YgxfK=WybFQW zbP>fVBYh#7DeB@SRk7@52F?*w!*d=3hXwFedFbF!ay}&mNXG?IhdkKzahd}MhGc%7 z?u$ul`iK&t1Jz+A4n?Q~(aNW3g}Gn{Lv@OaF^;v8P;#jFq5>AD+c+y=QIc#&S+JkV zrh}wSYv@{}BZpcV_^#ie36l?&s3$_6AR^>m3JynHVk8mb&N1p5CI~R{5?v6>a^-3m z^Qt2h2dRv1fE}v@za`>jUmWwpC!@h=yF*b@FFt=2V)+Ojq=@>wYZ%+}+%JR=(~2n7 z&pvy0ee;;QDyw&0AbQri3$Co0v3O>q_`&`650n|q9=HF*{Vc-l545 z62E4f{+d=Kad?}$HePV$q*be@OJC8X-@KY%$xd%k`?`*%&Nwv)PJuvgU5fQ10&;7j zpHo=Z-5!WKFQ{;L`N`z+=3}`CG zgmIQ|rhQR!>TRw&+JhTRcJ5gndL23s+<^hbC+*}xqkA689eIF!z-4eeoN$o;6!IoQ z#_gop$|nO9_mSAp=ppVa`C%a|Jv`E;mdqJ5t+F$EL6CV(;Y)j}TIWZ`L^jTye_>Iy zs4CjE;)o$?u)yo6P#hJHtmukXA^pMyT^o^WerxiBY6eHT{zyfocYIA(`Mjmf zCC=qo9)zqRtCt~&pNMG)4saHgCYZUVT_DJJfuI+jw0`p&(i6?{7?|ca%5O;Jghz3~ z#VO5k<%{E_e=H_b?Suy{1-m)+rorkMIMyAG>(J>rl{~Ehap22C{xH1mC>U@we9U$pnW#wXlv|G{ zcO$~eAmOz3?70Ab$Bpw49*j`mc}C@;^i9VPthrB^bKcrbY6B8Nk#cM5z;Rc19USbb zX}L|cbSg%?8K5HQj1s7Y7pibLqaUlqO6GbYfHg2VhWlG=u&|oUNHV3QlH9rcFMS=W zuG+pgVK*0;?TNkHuUgfiDhLTlME1FU!u03FC(@dQ5AMHY-n4)Yu7d;9=3TP?!G$Uy z#PIo?+Nz=!Igxo0{#ml*#eUgjxWE{Im0NSk{A>ISL5YcZb;NUuVq8ik%M?E>I z5Cz^A@&L0N61g=%`v-ms_+w%VN+fJhgQ$eye}F8~Kvk%k_2Re8@C_^~Nt5-IX48%8 zX18ZmuzB;8R=4CRwOf1+v+No-aoxB)h|zcDyt;v{ET1+^_yY;p?SaKKD$D>)V9__hw(1cPmZ zduSjFqE<)51*SB}i@__Ze`7-l7O&jPkyGZs^*eL7!aP<<=@6GNX^|Hw|3~?&sI?lB z4s*ZJ&MxlmI?m=Z+3J>5ES07HrQGslSGRJx-PkV~lEA;+EN=lbBwcQng4yfVx!=9c zh57)Nf+l_huo{q>!BUL;pW}ZyU5CUFot_OsH)o2(Y$kBpR$XBK`nf~h?6`}j1_VRA=9 zQG6+4!SL@3ui$fPaVVD6DX;K~h?7TtpK3)_Q>*z3@=-;;>ie(;L83{`hUbb0sS;= zz=WNnj6ssy&NzsQWsR6s zY|1z}l}dj<{Uh<=$I~Camq=Wre7Kse5`s^&w@$3Q=N`0=Y0RgR+P}+$cWQuW2(FM$ zM!7Di;4zo{uJVt8x6_lSurY<~TkQSLlT(|d=VK?Q0=&Jfe9la4^-Xu*&CX(Devs)a zyAGHb;LrlxXQPj(aHyJTVe5k}hzPU{Bqtxmu>8y7*np-vL?`j#RJ8#IECIp)P_dpq z4phW7ZoOnNp0iWgqSPx}cAf)w?0UD;%DTOJy=`^J=eP6`l<8}l3`Nq(P3p}ppLeXb z>GfXLZFNfT^R0KFSLyZY1;aVl-+%x0=fL4Of9Q7ES1;Y;77lW3{hQ$(lSzAY@{aH~ zc|v-(d(YCmr$kaIku9Oe`xHnpw{jULPn7Jok?t^x;JLt zjO`aYSK&;5&hmd`NX|5>xJvj?b!U7oth?xaVLr(VRB1ta?^jByI1dHP6Y!`xty7JD z%b^8{Q!>&bV&px8pb`>Fejsa>(XPc{Hg)KE&K30~csclXiqC!SA9G|q$jM@sMx}a< zyw9yiPT7O?VMBFbzaFek&Si#A!)1~>NVXCrwa)TsqKK9k;|eom5nDtd=NqCip^Cv5 zhE7fQN>25`=`k<`RmGY;WKo{`!0L8bZhzavoR*Zu4d0JzzWrzA-P^4Oqto&Ww(NBs ze_%AR;@q&8FLRkt_yac8!rXY#$xLtGZgIFRx3l6ue|wG05dD`@b+0S;{=(uk8pKyd z>X&BcstIk=42zD!K{*HoiZ}#XLKqoA<2$61RvZcj?RJOlw5ST{TbWCsj65DG2n7nB#+I$=Ek zGR37yAHfcW$UoxM13RJ{qI<_}?j5%$8Wpd`%^teh8F(oO8HaPUaeugQ)r7%n2XA8c<;AKqc$72<@RUnom^o^^^ ziTj4~JcwmRt4%y1Ukb@Pyt{Li95k97assSl0|0y{ZB^zKPdH2a$ezuk*PD9{c9!fb zbvnS+aJFH{^Tqq3#3hBEZ6EwUN2A3o<@G|5o|ZD&JDoH>?ij9f!s0fInpAq!3j4)BR#< zSwX?kg06yPLT_%x*ds^lyT`GAv(PJ63%!y~3PFaosq_oo%kak0f`Vn;xi!u0r##Xt z&uDq*wD2UJ!Q8mBlha`qY2PbB9&jN2q1q9G_XcOa*%BWy?Ymh&;t-4}yaD-m&mkWI z4G3kqH5nSODA}_U>Wqm%pfha6mZCB-;sUsj&`PDdk%K3G#JT|wdg1+N=a2TEJ1%6r z-)MvTbg^Q6)dSa*n#}0HkXMJ@qq$mQg z`y4OLoKMf;zW~I^2@WL5P#DD2&^ZD5$2B#Fg(xG#7cx>(G-5DECG#|eO-TAvY)<+= zPl2tdyu+0`PjCfKVZ{g>6Du==Q&=>GL}l>_r7jvUnnps3k-a4CcKVb)SG!B;^En-4 zRC*M;vq@4&B^}w}BPX5{DOQsC`3Q&}iKK(WlxTB1=JYxdS~UnHzPe71(sZiS;q+mb zXm_!sZ^xPI#J(AcL=dMvKVL}}E5H5vb>e#6swf=JxW2MZNh%+oqHp~!SN=J?i-fy# zx)Lo=`qFbOR!R)U+XX541$$gNk9XY;4zN)`0K`#N9<6 z5|PT#J=76>O2Uwk)~8+)qq&HDY)JskKCk#%L^PXZ$>Q?oV*p$qD)&rSL1Wu4h#gd^ zl^yKd{x!=GJx44Ty%tHbx%2Xit$SapWpCOIM$s?lD}IE|dD#XG!4DpQvS;kempV&| z3p@zDW3ib3bj<9b5IzV?g_uN4e#d3mVsVWh>$GmQI^SR#AHHunMj}~+szOwr)Mj{L z*cym-n$5P&Cfkmy5PnBS0SJ^udjR#v0QzGBL7ve#`J89Ng@0(bPK)qf+_nw-1yLL1 zjz7c65eLxaop4@lId=uMbj3e^@ca>w2x}2{$tag~S1#ybHPjW#FWEPo)_cGtxL&!D zavs67ztm;fZ*~6R;otAk=NT_GF~J}glq{e5E2nk8#id;SG+sninWi3og5Chlv=TQE zwGE=2qy>r*K-8D9G-ll2KHS7r=~27JL0%I)DbeszGoU$2s-$o+rxoA$=`pAEpvBdG zaaU)a?69rX*=+`4%f4uI?!`sXuKI>}`I>%V~W=8xED(wNCe88)AWp&PbteVP~Kso*zL-U0-#qZQ|n0 znC-)uwV@Aq2f%ZWmx5jZ`;G$(Rz)%3E@#9tbs;cVhU79TmFV?>U=;T`tq=I#eCU2w zVm0bLKeii`SNq`hWb=W$y~+X_8+Oxf4Jmvn5a=YE> zG_y^=Fjy|NxE9WHTJd0u%W^s8#bxVRMDqb^i>FXuVCx}bmy?OUDkLI<3$?Z?$^mJ& z*9Y>|McSFLtRrJQb(*O@mH32nYlWqcU{dtcWP+0T2YS8H`6HL{SFWgWjP3_| z&kr0%gI@XRulSt%JqxR6G=)ufTGv`!3!K&-i%V#?+wD$eQEZWav4h>~vRfVL@3|~J zR_6kjWi9-dJY#VImnlB=e>h)_eAf?BV31l{^;t0-Bn_x}n_;Ne2MO}54QNK9Hv+fR zrj8!~3%Fm%D``#48^5%=Oe)YzUi}o=Xx0Vf;^L-IT~XZYGr>m|^{d38TR+ERxjEVgg4$b*O%>`(`E8>E<7_LTPc^ImTM<@XfiPZ#^{uKFa z6eIi$N!%cW9fGwYM>8?z-~-ZlXU|?8X-cWnREH};n0ssn{3C9UC~pVZ-B(8@vtzUG znTwQ7A>~(L0nLBwUY-A#U-zxo@5kBX5PDyurad0Ij!x$h}vh zI9iQD569#2aip`wHjCM>9A!Oz^=O7Orw1|_F#R>Kl$Jg~Kh|lc@)_hsfCH$n>k#Z9 z9QQ=v!nK?=g0yqgA>2H!6TaHUM4hLh4u>KUu5l$qMu3CY+BPlSVB5h>n^wBsdCQLN z7G2%!?U&BGy{qhY=Tz5A#hYpojL>MAx#`Vh==OP~x6iq#r}g!siYYCNYv<_oO|j0J ziB&a4t|@sXEw$6iC+g(paC=2_ti&m%o|##2trJc)80ZwoL9@n)ry*deqvmZ4-E?Ml45CFt@2VWmqnxo zeS_4HX31CjoX_FsgM=FT_L<#*u+eMPOACcZDq#GmUS4p9s-mu8$W8WODH%ZrwQJ^K z{nUZxNJMnlz!1_dqg%mAE)_y>N(^Gx1cPNbg~Y&G!bAyq7!Vc@WlSJAMgj{@S4U@8 zolCm^+f&UHT2V@W3I|oBQK9q^_YTBiAJ=;oJJZjxEr`j8Abe)$2fKtu<$A5nWHorc zcth!*QT<=lGn98HzkkpBQqOOz?UI{?%_obpj(>iM((4Iq3~zTmwL3c0ZZaYu-e!i>%xO1SHs`iX{L+5- z8tuMoSnFJ8?1jN*|L16}RtAQeCtZ447Z`!F?bOIL);i+p5-m3#*75MW7d>NB2~q-2 z&uoULD@%-2o)~#A^p8H&QV<&gMqS;tF$2;mx)E^1jgq7rhUd6Zw-lzaI=e?}^-wSZ z_8DH_bICdSC5`z|`)xz*AKA(?_Xiiu=JbbaME{JumxeV!369kfZU zsNTAjJ)!fo#irBh$e%UEqk}95 zgG@Li4q&q&f+cxDhUO3u1p$<&mppysN2B?HST8s~VClfIK`;=LdK+zGmBV3+8=8`r zm&|mu-??bk#gRa)B+uVd(;0FG3mnKuF3XDw!q()Xkh3LP7O!Y=yFA6Ur7cDN*vyKs z*6+6Rc|d)kL0^#W1@8;4Gn1LiBdPwV*TX4jguaGK40izyXMOmi{>XL-^+&Uam4W!$ z)Nk%Hb;P^R7fEjw!SZAVTc~ z2+=&@GH8&o@<4vEFmux8=y-J8%piI0&+>^3klgrShtrCgu^KUQuF-r$^Bv8PFiR3} zM5iOw`9?Us3wxknhFA}g1pMJ8GJ?Ol49nkviNJ+{$UxmcJOkss z+Q#~ZdWw-nh9kACp1Lv?3UZIGVBJAH0?&yw&w#e;;uMJ-W!0fFWM9c;B`UMe2WKbT z?g1nlqQUXRER!H3lJttV7CInwD15HHJ^fgWiT zj4|s@3ZgkbQD5kB7p}?oTpsponQ~b&DR^AQ_VOzc0`j9PD<&GF%hq43Lq zb#c>k>A-VMODq9gH$N-9&#wmpYj&@;R!0lgPhrm#L??B`3JPK!lcEJ|&eB9}l|{dl ziO&2YR`Ty1URLSttg7lfvV3{^r|e_piZYKFWE+*;HU4Pp@)xHC#x?vVy>4t{WByr| zI%CPCMQi6o>*}I&9>pnqW(H|NVzd2c+1%y;`6I`>>O_gwZ66ffcC(FoT4U7_n1;&5o$3F46jcLa2hMu(VlhT0rbCW6kDeE#Bjowen z{K}(Ff#t>j<`vI#D$}dN6e0tQ+GeX{tL>hFvswB!x5HK`To4qmBekH+enoUW)uj=& z!P-Y{Nb2B0*dQ-H+{kzebiDapL!5yeAr*1LShLGtcyzC)_&F!y$M1Oofy3?37rVqp zo#VSjF6BIs(eB`LPDB(}2H0)--{me)V9W1>O=ichner{G)lwqPHAm8MK?y}bIJ38z z@bC63hc6eRB{?sG^rRuN)Tq*ltVk5`t7xBucX&RRDK-ijaAsyREEhCIil#Um3fXON zNdP9lV6)lRPx<}8-rrBzV7JyDYp<-M4d4UHpapgixOJN5Ry z7nKj(*G2+TWnPK$9s&nG{q&_N_IhdIV}+&s@YwdbClAftzJ0EA;oR*P2v<(%-22ug z%+}XAA-yXQiLfWXc>M7%9v5!9uVBoWg8T5&M?=}S=d2gn$uX`_Z^%^;tjlWeWVI30 zkW}gnX18DR#3h$JAw0oPGRcDnWm*Fd(4)*>?z$APD|ql7S4gfiu)4<3Fx559&y)*< zhUH2^Ni6RXjO^qHoiXvS@@l{EWO`OFLkOkh9gQWh zPlChrYW$*0t|$);D7Sxc*ygdwI>8X}1Po$fcw9-* zp5yFdHs+2NI}`4kFf-_wH_zcTH#;_Ltti+%X=zHYKPp_5A2H~wYjnnNpdez<6&C3A zkpXAmypCz^vDKnO?+zy--7nY;H{Yxcj}xD}U-1{!7dZCD@;93c$K=-=YG1nek*R^o zq9U8A${Af$HPhWjM1DpNsOM0$3AFw?f~1g{0#9vdk$=5&Q?ub|1 z@nA))!(*um7yaaoP)Y4LlWeAA-&2W-`M{p-nak?o+tQNH=t%HIwwkCoR+dT)uA z>9tPFx+j_Vw7 zipjdXw5W^cN$b~Z&9{%6n_socHF3T0(}cG%G$G#{wzIIyWW1XH1o{L#WxM%{M3LNH&-(fqy*=mW` zcI?=;X6CH!b#rI8G&rHVFB@DQak( zHJiRUB=c5%;Hg+QeFOdq;o*_+Ygo9d^-z)Gk>eq)TD-6>S_pL@SO?u}DlDuS+j%Jj z+U2cnvpd?xvk!B-^wOut`5XmBt62PL7CC$T__9*pHaH@N#%D>o2Hb|nS7%aq;alKP2xb25lhNbf@< zq~$&;GoxEVhzK{qQw{x?S4a<*&)CHpo35*A8&aJ`ZLC@5i`?@sGdkzgn5RF-4g!HDJ(n(4G$z) zoe4DU03h97c}sl$WvQB_3n#YDom+SGmYcS0eq`#po^a*LHB)vjudkmInRrNfx3FkJ zLqoJfoH6|ghTxBE;+{P(1cRY4ZsgD2JA6Y?Q8+xYB-v57e9I+2kuGYTF=Il5)1!;BKC9>_HsyRqfmDs%Y5}LJd|EYKW%DY2dQ5P&h(Duu$KHk>GOp| zdgs8$dxTrW3kKd7?n3(sW?_ZNdr_JVx!{ZTz8tAyLxEsZbk*zscHev3|PK2TP6z^v6- z(zj&aDsOJa{%S&B{0m*8M_+`YTf`3Q34wyVq``Tr74c5F=WRMi|0C+ zsl^(6F#SOh9EJ4}^rtX~*eW2aRzDn%sXGO>RWk6f5{D#4v(qa0Cudi081*u6bg3|&tsUeP7qts;lcTZrr z0e`>>@&ups5^4?QyCQ)qLkI)y{DiaVtdP3%j-c`hr$AO%EbZAICMs>WYRepbNd}`#=Hi7oLLYo)N9Q5RyPV| z`9T?RHbsNkJaD=M@&eRB{MTdVg3 zB?NGjrIISSRB}IHu#3e-`Z8-(T(W4H=r&gEy1c??G7I>m)+71^!6A5UC9Gq1`fkyr zH3(1|5KSWcreJVrWrM60L~EJTV0y}E7Ogr#fY$do*&^DYw6zUsG`hWl z&hLu`V*1#M0>_$|(`O79RV;MPbXQC%sVgYFH|a{2l>234m_d`38LbN)MSf2rSQj=} zoPrq|C1FtvyDy9QS5Nenmy1rfarfBHN|OY@=Pc48>T1k=fz>Pt^tb#Y@w7Xr#ac7q{w@yopHN}IWkZ5IATfm+#oyS~Ei>5G} zXtHRPc}x#?WO}2(>_$Xd!*C1A?M}ZfFW+8h4C~6}u@|`A6YkkwDoB+VRmEG1p{vj~ zuc*Z9nHbiKh@4ql&&2jT7wp%Qa#5+rAnNzp45FkP5BAmgVp~PAAes!U(B&;+WhIi$ zYW6W}K-T+gP*8C&v%z7oYEctWTP(RGV5Ly!L6||a-DNXK1_63DS`ogoS^{QMTd_gZ zK)7fB^LvW^?~Yk5J#D5mH3K-Y79=zsaG8)*$57`J((+L8}*R z%wo|>78%S2v&f_qFPZavUN5wgosw&MzFp@u6nZg@F-Qf$JjPlqnAT>8$+yU49~&(( zm?fh#9G(_(%c8|rruCb>CR?Y~VbJF3wLz<>t*D#m+73nqON~Go@4z!cla(-eoS7qt^M2llM%VB8O@sd1zLi$uxb6 zxwx(<--Jyr>#r{boAn?#6jks-(gumbO3;fjF+zg#IJjJ5EG~s;hxVzVoB>GyCW3Md zjNc1D8?kVH3INX6>C+Ph&AaY#RZJwklTPXV0;el39Q2Cj1 zge~r>z3I@!v8d!+yX%reeL+?wzWv5e7me9;^T6M*p$l`K|6=Bx{o5v8G^NG%o_LrU z+#NIaOv-aX#9A_Ia%W4TyvT^?ipO$kuo8Mx>zTFax>=?p!c8@8=jg1Lyt`z{9m_kd z7AF74TlY=;?AA|Oia&XO#-GIV8N2ab*F$dxCN;Epl<)`NVdlK#_-O@+GOZ8OO9aIr z3oqps|LUt*JcsK^wrQ4QH>zOs}dgbKzHrcx}H%z7*_M6(X8Y=uI zzfNbj2OP8fp|C$$*|?;tc*3S>txH>?))KGPT^g?oR#paEDwpk#PTq0Dv3I-do4&{7 z>!;1?*{9wpC+TLe4F>gZ8Jz1L`MQ7r3%N~87KiR5gojPFzG~!x2~DaCxa{9m*6#_i|hsOfR_~z8m3PhD&*%=HqeEWa1j@gH#13kShUA zATH8W?Xl7ASvwq3{-`VbW92^$us~|B>aA*rEXMH9%0Cv?m5zfG+i7cAYV9=mh*G-u z|J(lk|HhyRQqC3}P|mYC;e7m43gHartO2Ku-Ely9xO`k`p`WETY*12uv727luhtc` zWj`Vgk;X1CRO%aWn?^lD?210i)=$#FE;0$HocxDtI7fxUQKg^PModz~7{oT{9@xxl z@|rT1&f*P9FHi4%uWr5V%N-M*x)%*>AklyNd(BP)bV+!YokSJ>7fVC~%FxL9tUtyXj8)b zOyANw-um#ZJC>>^wn?%pZ(D3ufUodT5kK$|dlIK&TuwCN~?T%!?cN-1)d+ z+%wA0pX&M9DVTWey8)YIY`JoI|D6=}cH4{0d0U0U8CtmX@QIr*ykJbRRrhDKrs0{s z`&yL8ezgw{2rvHe%l~!JtE}M8+nDbcd$husF~zfgx$Wi?hwGfh)>5o#m0zsNjLT^> zVqmS4szB&8-TIL-WGR{B(Lz|0yMpoLgoc*07DwS*+-{F)29lJ-rJU?rL%uMuk_Aoh zRIj!h{D5}orfD$i%R%rGB&2Bo535)vaCuOjnWS+40@WpQB?t=<*ap#b2w_rW9Q82J zgF&yh8{RZJUW1^y!TA%}oort@HdS}tv}UXAS$BaSE}$JhZ|bKC^*`!@7uiR}nUBJU ztn1PKfHFCq`YtnmS3sEPhj+dX`v8~gMcFBa5jo zs>LY36*QNB_q$l&r=at%+apcUT!9-<3o7mAt1A|O0SF-OWNi#PBDk57&kdytM32={ z8>>VRR@{RPFcnzrVjdK;BC!@m-yk!fwZ)eLWa-1)%ifyZkdR=qP^ z))sB4mVk*1TDOq}aNmI|X(sqkEY!JLIQ$S#5 z*-;#7s$UW_wS}vT4T2OXU)t8Q+h~J$2Y-TWGmywebLt`OKjj(VHxtyWhPCTDNWnGH zK{^=J9y%6-1fmnvEP5K9iEf20ehKI|T8uDJhms6oY-IE5#4Qnl2z3mlZ_*UDl4UF$ zRghLCFQ5T5B??8+7)hj|OnjsYvzYU_y}~!)S}{D^<8^k<-L6N#$3mT>$XfJt<$rG4 zFt@t;_4S)pfHLe=P96S(@;j@cm$ActU{MyEe!~xywDP|4_qX<4oqCWhnLe>n(pqg= z?bZKLRaq&>R-<|Rvd-=E^IZCJA1dZvJi%Wk$pL>0Td=4uZm4Yt=nG2P+8$X{FxFgL zaPemY;mI~@AQYYy%)i5uFT)X9u~jxLU(;O@etyL{%km4KZt1>xveoy|VfA!f=k@!0 z+B$YVyKx(nQV(7+J$a+mjASHuavPz(?gvDgV_#zDS=k?(*D0dVs) zGNDX>nGP>k-y3>ZLr$R(M^eWhYQ*S8S6{np<)OU1L&}pkUdBY>yQ$QTPre|Q4y8YH z`0~py6DMAF=AIsrPudmgmdd z^Y7$b(|b~izn`Rh)D8(}y5`^343^*M-mBq_LUaBMgsDIFxN&X(CY1H3fS(GP}M$g3TJp*Zlp= zIa}B47~^{tG;Y~E^le^Gr13J;_XN5gEECr}|HyMnr%SU{=}482VNG^=^g$o zg)@HHKBBbj_jnra2cO})*>{jQ;&0;60U3KRlx`)@bR6YyJzW z_u21ezb)Z8{ditYCJ*j;SsGrCB=TBtUzvGVKs^O|pW2o=ccUH}{8pkInSRL6_%oy< zza_gqaV;XfgqKC{=lrPsNH^0n3D@+D(pcu2?(wW4n~v{`^vf+{v}>wo=2s7YV;V`+ zNT@?GeFya#M|I28FO2js()kZ%h50X~wlh<9KI%kmRL2#4M0LzO8>}@`}U<52!UovXgY)~5qg29 z!Gtu>bf9V0L3Vgl)w}ho`qir{YUwQmFq4E#CX+$Ld@+u3WSEE%}f^kSXTQ_%-e43O$A4!s~UNb^Ghi*7ww(Yna;5-|#}??#3q@uT5Gs>BY%ClfQY} z@RY78r>A^)d*AJ6r*58ld0P84b=rk#A2-cy+S>H&^v3B=Pyb}bp&2J-dCl`K&iicsq4`hEzqnx0f=3p-u;7D*Eem%q zJin;0Xw9M*?y0}my!X4f96M$4%EhM^f4HQ3$rDSixAwH2Z#&v{t=(w9+A+Cfd&e6~ zXDnT{^y1Qwmvt@sN@uKdXXp9lEz2+9?EC79BP(8CId!GH@*DSGT2;TwSoO@Rs}F2{ z;N5Pc`?>D7S6^7uv}SnCwY9OeJ!@a;+1qnt-7~#T@7oXdJa}RKo$FuP(7WNxhRYki zv*EM88GZeI$NQe|ySQ=6#{C;#>hJ5nvT4z#OPfB~tZn{aOYfE|Tbs5HY`wItXWNBs zH@3HLAJ~57bL~6c*qPaRYUiiB`gaZQdUbc>?)|&Z?f(9r?mYv0PVc$2=e@nHdynqD zxG%Az`@9ls2K<9zs1J@3AAAI8A$Hh|dl|yr-l=P^)K-T0pm3HO0@}hFH zWbpg=Y5tCyQ$6+X%7yYX8f0)yl?ayCylqN z-POVB8`Ya;uQ_a?!s^`<(sJ;nBlyIXj&5ZoT`Yx7d5pd&j@mKR4Ji zcxI?&=&Qqb4xb%aFxvG{>qCPNy?Lbhho^ zj`tmRj(_s`*B(_Leebc&k3IX?jmO&`cOHN5MAwNUC$2wn{tHLHaIN+)M(`Ua*mUeV zEdCfiB=Tb2_=JCTu`@7DO5o%G*L8)N3YuU;?Gepz-FJON$73zH@*9>(U}ZWS(Mh~b z^L#|7Q1_LHPNVgABRUgnqS1)X#-`Azh{nFw^g={miQ)HyBKljgR=SS8+BaZlu;$nn ztoS(IcWaLI#w?^BsD7NgC_%1^V>8yti}9&_zZyHd^O%d$RixYTDPyNqBPL-7?OwFE zIkp2Wtj3x4N^m=nw+_F1vK939fD3z>*h=&NYiB1~b@;ek=`@38Vrx>dz3^;mra9Dtoj&J^b5EL23uqxN zqIU9^H$V)L8(=zd&We1N)XHDb(K>Y;Vii+kJa zX#@4qM(U?cw3)WhR@z3}u_e_Gy!^Nm4;}8NJ+znh(SABW2dPMhNFtdODiJ4@%6Onp zrva*vK~*xzLi9QeTm4?FjvR8yBcBFoh=yr|M)6eE5qg-8(lI(tKS__!=jl;;j2@>G z^aSDO59y2a6n%-FrZ3Y;`YAjY`O|coeukdG6NS&x&(d@BbMzJZd3v6Hfxb$=NN4D4 zbe6u3jkSIWzqIhn^dkKVou^-=m+05%8}#dRfqsL26VE1olYWa{rr)ODq2Hy8^m}xP zejks+{sFy0e@L&=AJJ>{$8?3hMX%GJ&>Qrp^k?+v^d|iUe)#Y&>23NedWZg+-le~x zZ`0r6LDave@6bQcRr*J|M*l?LrGKXD^e^-t{VTms|3)9sztau+9(_pvK_Ah7Vq5M1 zqL1mn=@a@N`jqhgB>gYlq#q!@;|?^=(Gx7mQY_7|g%-=&0#IpmbOKFdz5xW>Cz}&7Nwn0x;#p|qI5-+ zt`5`o-Y{Jjr0dX6vTR7Mo2>e-uB2QpIf|Cy<{&pLn|@}T3XP$>oKd6a(LAmL_FNFzl>cNBx8Pn%0# z+Tp6hT`eO-2^uskrIJt$shq=LO15U1+|3PIhF|4H$divq(Lpw%eLHp7QLGYA%TNc> zxF?kp__zt#vML#Is7g*HX*;^btECilGn`=%7yhJIw)JON(vWRD-P-< zZl!Hq@qCA;Y;G#Lk*i8}QOL@jlvEN8Lc@@gmvk@bYLdf~ipHTKF=2JC$L*plDU~6~ zDb=YGR9NFOH6kIDp0p)^0Kl;9v}!q`cp)fWV}h0bEpK3h{9RjRIRX@t2msSu4Z|4QMC{iSyT+EoGh6& zQgR$?D9~g+Bm*fjA?@3_kO&YFs7T-l;<)-KFRH#_6e8NKN`}$MhZRGrN@HRr%DU<$ z3@)j#5r=2^2!Mv!$O=L+ESDFcFH<+mf$T}>)8rXNGPqfioRlM(C99fNtZEhWovKP@ zlY6oCTYM2naRN3^8v)ej_Pa18?w2eKu|dy4LDO9YbtCx<--jrl{_E@ zqY(-&#U0m;Yo$^~1{$C|Ga+-s$SXpvDirJSoQ7#EhUgARVejdH^6hMp3WZDx!CAb8 z$jK9Of(9BUWcl{QN}?I~a7*T?AqO_EB|XWlxG8v4=qxKcI#(6RoJkz{PxnSq40YqgS}6 zp~142_2Hu&G|M4_Z15z&t1EExzEa6z8X*tNw|idwdO-I&=u?kp51g4uH^t~I0V(w0R`i!MK%Eu#E1}U3CL{$FlFGs zgped#nB#l|XHl|HgSKFVkN1FAkHfcSfOH3QFTo?i=jGtrH8@S*kTdWLnCCLD4^$k8 zAwpLnWJ9E;MJO#+OL^4wG|PqZdB*j1Ps~_GfJ*e3QV^&(M})E9l|`fs!igAy?CS=s zrJO-!Tg08LR7LNSsqj>lmnyoKSA|IEWq?C;jyRwNdQYgWDxXxcd`wgka^fhIIe9`( zh`$M0z~2O3%u4Q7{d`CU6*D0%JZjLsD4H&Dw}P;dG9+6h0Z_a`)sn@y0&6Tpcn|QF zJM3FtC|W)w!+FMNO%sC&%O(;1jgegB3ZR(A@h(v4uwk4V6nu^k+rmUaVs%XEOb(?rgNiIUkfy$G?PS#D#E=2L%!~6(5M4v$3@^7R!VSC zQPd7RKmd>lIUztMWC;f~zEa?zG_PtbODL|}kped1GIOC<6^abJsEg=$8}P2%uI?6Z z1*A!1d9|RGD0Z}VV99``pAagANCtT^+SCblATwidEN6w!2#El(5K#%ESvGL% zqA9f8)}9MPzTia=hFOcq76RlJQUG01dU>4tPP{DJao;V)b<>Ft*duYp9En$)p}6cR zVwuddV>a6u_#t@&BHEfH!y=0v?JFja<$7?ZvhQ(s>JMj$Vb#^L10OtT0w=yla~(^? zVOe1W(bSiD7}_ExF^p->ibIe+Rz@f@T>@^fsD?|&057E^WOc;6oXt-w{|xNk!fAHp)%8gkPx zQ^(RvNf?Gd3^8?C#1^+QVk4+ozT+PD5frc-0934$3b$9m zrn;t&tDKk^2q?&RD`y2k`0hYi5B|sgkNw{!CZ;6w?I7|^asQLCo&KD-h^W{%)BCmw zzC{Sy2m&Fe$iV!~{(js1-_nZ!^FT4Q*0=j+z271P0Rgi(Wvjh2)pz`6U^^fnAkhCS zBvUJQlW%qc0+L(<0*X55#~ku(W~^@n0+N>c?Zfmfb}+30VzY1f%_hI?|MHT;`$O%T zSv$FXvy1N>{U9I!jI|2{WGh?4Z@-M%?|VLifPf>}BQ>2_>$`pD%`W}lSVGWEFkBmb zYvXS=`W^dU{#ITv<8(V)M<)=FTt*NOm{$-Gq;BRZ$R1Z?gYWrr+V5Dve~MI)Z~gB7 z{}Y_#%b)okgG?y-f5(7;Ol|Sbxd9FJjP&$&zztvkNO}g}VS{DO)?hEo0f^5BJ7&{;(MUO5E?jpdmFzytbK0qntFzxZ*$3z%aKL=^IS zd!a$V6kt$5zT>Cjx}?D6k%EqGd=?2kN45tkCrk)_dHW;P)@dlLs$sQA;N3wGB^lqq zkQT8Eio`mpB=5nIsw2@JN+U0pw%KSQqgf61gF6O;ht#AJ?Er_TDh0ZRV_}7riYa zW;2(tlo%G-fVqAN5Z85s5CbJkM9z&SN0=L?qPGt~LPEh%WiKK%hAE_cgNRw|-FTIm7&@6#pkFa2B!_ z@Pgn=l~gQOT2I{2jk$;U4kc66uuzutbNpjf;xqgWu*d9V^Sv^lUtb`IZotki7%!#6 zB}Sha$Cfmnw+;39F(c+TBR^83W)St@+60I-2#CSZd}#Vy!tiy<&^>zUqGpT5@}dgu zixrF8ETDy|x3#6}$8&^r(}zw~Q?r03k>l(1{YKgtDQUj<*ELj{XO1`D%zdU~w&V06 zbW7I0TSp+G>`|-LDDoa2(FinJ=Mnnl0Hxe72bjLM3 zz7xD&GCg`S_MIH~JB}uvh9y|M{2O(RLzgz{9`xNPg-;AaYfGT-&p7e0c0v^5YB+bR zfHXM$l}oMIPmm65SrGnwdjnUKe8Ikbr+r4Zz|JQ>myjpWQ9CLI#6o8I%h45`4n-cH zhxp&o{?MREF**)xm0`%zAoba56D5GX+J9$tXeqc$(c7=Ul|~XKZk~;>&dD&`R37eFaeR${wNpZxSDI-t9^H~at%iM(k z@Fc|HMql34N$o|1Ss!`&*W9NVwLeXvkP)!?M(nr~>WiM;_w}qanbyvrtr`ux>hlxZ zW0`5&tFE*wE%t^vYA5Sh2W@6MMc#CmEGCUD7oJo|bPgEG=-6QkCybQ&7Oxl612JJN zUQ8t{M;S!?F0F@GdHay*nz_a&j?!<*$M3ilJF(5M=2rURf89LYGXHQFzkg7f-qMpX z&n^{5J!tuk)tfo3k*z#On%SaVPxFj%3qMpkUZ=hRdo(bP^XE49l6||LzPjY!D|MbQ z?XSdIYY_^lF~pDQ$oEh|St}G6r-m1$LsZf2rM-aO6@8Zqn;JFC5vXV66-}O&Ji8w& zOZ1PMwsa!d}}V;n*`hzMGS8}qAY zreB;u8QD-w9V#*B}NcMi*tcb~JroNW>RUZ0ceD8Hs^lm319Tyh-PJQ%cL=D3MF!9uk`kBDls z$M(aJ%+~LhRoZ*K;-^?a%#BGc`&4|WFu?4cP%i;)6;6AGW)Y(vRi)-`e|qmq74YDbZ8tsVVI69C?kxO}fAf19NqOS+sy*}%&aHA^ zXg+Mg^?p5}n`p7NXokdTW+(7!O(j@m{_9KnWuERZ^Lyv(fg|@iKewsq)qf{mSEmg! z!LXW6_0vJ}#{USz@`m_Qy}odi-K?M8?43fzZm`bVFG9Ij6e>Pd_<7+;<|st*m8+yl z&$%AzKp@+*^ukW3oQdM#=2a)I4aRw(sNli)&>X4LHPT(=>}Lj|n4wnWrxGu18!sN3 zzn%9uCkcIK9CWq3O3U(TXZU!#^OqSF>Z-jUs+4=pFd?^8(tsnc%RnkYzh)`hQt#!tZHn zBN`2IVVnA$vz8rg1J|`)3s+kvtlH`Fv?d9j-qs_L+d^EG`~)l@&A6mBogtW0CV&}G6kIl zb+PR|ta_F~b7RMF#MJ&Qf+WNb6{s~$R*dWjt-`1^`D6w(nMll~Yz3DNKyqnnf7VN!?6-L_Ga0P^o513Ave z$Lj%59=QXqq$=NKwhK3yFDab91kqm+wFyLm`cVoi&{9PotCu%>#r`j4$pU_yn0w`g zDG&W$S4?Vd5qX?{a2Ye`g7LxSM|}Y+fUmyf;R;wHK{^R!&G3_cXlRh0r9Go*6q2~H z%spSMzgQ`h&Vc&iUOyUrV)j$f+G)5< z_QlmQds0MIN|VdCBM*;R0@D!MF%E>+yoK#iL!=*;uO2LutTe#nIo>FYTUy%(OMx52 zQ|E@J)BY|`AeKqRH4ju>I?{cu9(gkC+V%hArjMOiEkKyEBfaR%IPG1q8l9QK&nVt`h12_1bY zXvr&q359!4Q)&ZeUr-;g1M3Q`q$t($v2P%_6i&q;6kZsAgp^$xj7D1?ocDsn2Xu9; z5FMgnGy0*}0(2a^HnaD5Pda8t;iFu1n}hCz_tQl#EjpGG#cba|i^G7jsH^r}Wn`*x zWnu2ODuJ6(_{cBb-|BMQKU(qf5af@k1v9(wudR58V_9ELWg7VT&Q08Y_U-=^4@h=2 z$<(Os+cg7_PW?sE)w1t}&(brdH&N>Es3$% z-8s6K;EH-IiLm`P(?+Sqw){Ll|M72{>&1B7nwy(y6ABXrHxW3->4R&}c1c5PPA$!M zXV)dHwN~zNqC7WF9w+mlpST%R$z6=Nw9%`$E}o277KD9>+7AbHWU^IytffrxF=evK zH1971Dtt=7#L5fNFgJ!l5`7xMOu99}nKuNF+KKo-g3JkcVA&s`KzlTW47})I&8rXn zpRd4=af3A*HatfEUE)h|T`b|HD^TZkc<5c?l0&cCVUe9=a56O833XVeErU|!r%f3} zA&M7WpySxlxjnM-K8w5!ktSpyTu?!1ZKU;_g!>NDy1bz5I2_MVyF#C1d*4`)+WKwf zC+a~X9gqjAsmG>6M`rG{KdA&??d7rI`ODp}>}TIx{_^~%KBY?y+KYDtH`Eo>BVlXv z=HE3v5mKN)V~w`g)?>Mj2yYSoiKf#)QM6+hb3`QVi0UK{6ig`!h++?DEP-)eUJ@2^SHpb6Nnx(OeYY+~C913Igw}B1 zubUInnT>)*e*M~Xn91eV-1}9W6KuJK%`I*3azzcK8C@wD4?8Z!#H5*|uq#3=JsvFo zs4QO9RgaTd73;!Mf_p6O7jmpdU+;!l$z5jEd=gx(c2b3LCPx+Ubm< z^US@;P-cps!f2K=bqI(5TAm_;fbF`Q+ul>bnwXf4u6QoGoqc@gm$ufP|A21dN9`=C z8eaBsnrH$xMR=H75e!n#&)3x9P0q_%3knMe*!%o=eHqn#973xOGqshe)z}ei6C z^(qV9h3GnOHGe^^^8Oq9_I`aNVajx_(i%Zn20@~k@pOK7^GyD@#I&gr4R@EKovcQL z(VXsIb+3DDyLRv&L*DGheWd7?(*vF#29?v=*VWcpD;g2k?Wt-bzc8OWY)OL+M2twLpz+k6K}<)s;7kx$`K4_{YpNN5CTecW^Y zT8^2H@G0J==pK4H`A3Z}3PU0UYY_Qz_Y0I`(kZCGQqR4Q_iI*?df7gj$)(00= znzdecqR23v27^Q(>~MiG6I)^=B2DBcN0;1|N;!>pIZ%WTZS2x?jHFCjH~1F?;4+YrG|d(~e}#?&z-cEvQ5o<|s5p9d=x%imfjD zYxw=i_L=+?+>BCpla~doX|q%>JAH$hAszO z37;b{Rur#zb&@fDcA(^vP;fkx^Mb&Fx9^g23~<8g7;4#%|A*!?`YDcDf9j!j*79pSHpKBpA%>qDGUN2_xSwnOQ-vAe-Mie ze|AVX?f{l;T69jFW^}_KiKNh49MTxGmOw?n)i2^Ho~xd9G7@xDn04qb-%%3>dE8izwhTPG@xlAGqNL`ZmjzWEXt*!w zLRUZ)LZ5^PC>kSIf}b)NwB4iA9FHyk@x z+WW{qOtMo|q%c5A8(z-Vf%I7odZrncCJT_7wpg596djb}HtVc2^$cF9`K<69=Y-HA?AwrxDG`z!~EL&{(5AG|Nme<*uioVw@B$Pwvuk zn&b}j$u{$eg(w@h+~?xxR&nA3FPgqNr6rFTi{^D~6WIt~-;AdLsO@z64y$;|`fL-YW?kuJs z|2cBA!VR7r#XMQ5)gk_2jn6wZ#*< z)pYZW`3^vAASTE>$Y9g9Xk-6RS|N*fina^ap}pF9sy~ON(Mr8Zyt7(%PyuEY9ssfp ze(Gonsf@Gj;4!5ayb2*S*nk?+RAZUbS;8hyL*vqyD~)OYgchKD1I=$ZiqFwO64cX& z>EU8^15GU9Om6t*PPC+Y{I_^%L~`;u6!FUdOw}bS`KkCLlA$hWT{R8-HqkNmQ^Ija zVih$(2GrPD;^CyXX}wstmKY|4)n-^T9n1~Gqc}C-zGtz~zMM<#Hte+NkSkV1X!VEF z`;bN&=NZ7|-Px|w=N0D`OvljM z^~T|Z*2Xhvf>fLo3hPK3TEu8->-V<#D4|sW_czr}10(sO!xmNMR}8Q!LhSBUp(9O> z_BSLG!7G7T%f8{ik(LgR#)^@D+xVwn6xRGrZ-&jU!fyVkwqN5P7&bzYXTtZyybR`ec9lsTZd9(tDP)3kUEF0T-9#Hzo4Db5Jaf z-$y7Ij#-KwC!<#eHqUV+9g_Ob$gLylrp=_3EahuN<#sdshp8kT1OWl%C#AF2_0z)5 z4xrUZ(WFHI%y<&rMW9gi;m*pZf{Te`fqi-2f;7~a0InJ5>BL7Wy#HG z7p%Ka27(jlY6{SMJ9VI_jK6O<4b$L);;l&M!EM9VIbq7iGzwu_|F9EvB-lt00YD}8 z2~8qM`I~1zL#aWGIY`0*>&rb&{Brcqln%Gg%>0tSrh9M91aVNd!}+S=`S7O-_icw5 zmzsG6F7nFI5M>@otj!uh28>AYJaK~wB1XPwbd42sJO> zxgyMox#;;`kAz_)Ae3C;YbmhXsM^>Bq?stfGu67_a4C!jd<~gi#3l>#WBVunS+;EP zY{&2y;>6{==V;-#=#j$kz0=F*4^Js6ZJ#l0ZF2B!P)5r>OB($ zxpK~@R^7IE2hJWm#C~GkK^qKbR@p=Q4-r|5tkw$RtnKI?30#B_(H1*~qER2Bech{f zC2opa7MV+dtD)W6{@noxB-d9me_rr+2WfK17rTmyhXIOE zpp^LvN^4gN&YlZ5kzmH-&-5#@rJkNgAIL)_iS$#3yxJl*U?R?NE|dx{54X5J_&d%% zBa%%keARe7)~-%FR|r?phgcf8h&xCcQgj?96g5NaCvM7G6B0sIXrC3E7Q?!0|6Cn1 zC=V$Za$xPU(Z#%pI_h78UP{)$AYa_P3cqoiR$^;3J4{ywhFCMEk}6-lIdiU9OAF00 ztu-<;?-Yg=@uZb+zr~~!^cD3zBo}p6_AT z%X`|qD^V9RCt=GL_2cZIPilhe8vL|qL}a9)D=Zvv1WTcuKHiw;8c@?nlu^b|(xau7 zDod18Z|7p!QdP(OJ0>K52FcgDA!la+Yp)~{l$yYg#3WRh#HGBm8UztlEc>t5EO)Lq z?oB|)!`aJP*$ccpAW{FFo*IEwuz2Ef)aW&*f-R;s-f5njGX-~yg^O#De=XkDWQ=} zxy-#tr$Mk#PPwQlELhTVU=EKa`|;7@mfN0SX_}F^PpV^R`6Stp!Bd#1X7!596cZdH zMUM7G3&TmY&AvXOc^*dK>JK_aIi5WkJb1A+V|vX~SQ}G$Njg|~ihhgMjAWCmEWecLlm%TV*sKSQP|DBI!LIyy0%C4$L<*T(i26{j=fEAHFG z*%)Jw2?up+>GN@koGuTJz)!5?4mNhAh`x+;1`M1~9jqY@38Ey*tA2&kN5oDT+gVp% z-e~>(6_Bo)gHm>R(t}y$;Em|mYL3JoTuz61jo@fP?zx9XYh~20MG76`Ra|ZG%I)F_%NqIKn&ff9v?~k!R~CxazkY66E5(lhB5UMs zHvq9~3keq|kPM#DwgYTuigIOV+)dNsc-`Di*|=by6pirs@3jX-NN(oib+^oI%s>s1 z5#%l->&JN&1+KC3r!apAg5PnLy|x-mW6M9vScX-&HPTu?2|! z+9@7ZL-aP5HKc$IPxy(YF7lSpV2`zn{b8UFP4qGSldoXa>Y$xgc7TsbpyV~~2mZoY zI@`kB_q7)yDb$ZhF{5<5;?v6cFjfy7rl#!#l?oY66v}uuJ3qPmtSZkAx%T`ubnJeX zjflSW&UGYDG_6oi%X(cGvpS8#MRIJ^K2`?7_{tnNW>5S_f50g#Gd?&LOG~j4AFKNy z1WGk#IlgE60V{sNz-}f2NYF@N=9?>|(n{te^buinJ@6LM%(9I8e%mtUd5##p^#=W5 z!C=;7ijoDI3i-GwIy0~l#@d`mAYNWrQJ7N|*^|8d)9PXpGFWd)65SCgV&tuC6`T)l ztSXf{Iwbdr8b8KSf-KQHh-Uw>;0W*^esUalNxt!r8(g<*^40p~x zv~!W+sC1b>kw>M^hkC@fOsI_DcfN*7kFjW7w4VIIvIM&@GHm>3Z1Ze$@@;ZS?X;Kr zb|-IYk&Uul?fj}iQDcg^*PaB^1~Gr^cnN?|cBF>jHrh#A+=;R##DKeJs16@1*Acno zWEAU4J@-Z@|FrbIS$R-+QhDChmJG(<+c`Ksnt8KWUdqB~p@hH9P*F|<4UfG;oqhe~ zd_E?YAeyjAloP*bl70@_ez1lF?38(g5>w z&+wE+sF#(GTzAsQ*Bl^yZTM5+HhwbqaPV?(duZa}NoFa!3^;XgL2f>Zc1hkQi6eBC z*0_fLhMixHs;&`(u2)qV3kxDY9)5O)z~n7oek`=4mI@V&!}Gdhlt=4bM(^)@%T34T zrz<_dH$7+(Bve*duTU-1s2Z+h085%<-mp*&eE_%(;=rw~5B6~e*vVi5UR_(ZI@DeHqWz%cys zcFi#IE8aYyM=h+3ACa<(IZHB%dxGavB+FMvhRh6Pue2Or2>3wP(Rr9q!%YVnF%g7F zVNV_Y$X1chskLmYu53??@9x@cqsnU}=yKd1V>&?T z9wnTNYo4fOK)e4f{sLp|FsvBsF7smcak1Qa)=4TtT~oirQGugpes?#dNoY~`M!aeI zTIbxdFO8(<%F60i`(BHLH_R=u8obC*ahuoidW)sS`S^Zwy%et7+}WoKRfh_#(LAfk z+4=n_1cy7tc~5s>U;quCW+1V8xApn7D`5=SJ+yPY&c65Eq|Ssi;*weBIvD9Qw{(Q__|$sNwf||j4Z#=kEq5Tj0HT+To=vv zqry_-?cAbpo-P-y`$7{5EDC^_dxIGmnCnicI>RSu_E68{U|?N}*c}W!eN&v)W+#n5 z9U;|R*ZrK;H&;f^yLZDIJ9FtbU5~~^BbF&b?m%QJTy(yIWDaAaI1+`VS|RXU{l*(Z zQuVXlz+Anv80g3FAzauoxd$>O;T@eY{BdpE*M4+&DSY1GY_{jBKI4Sg26pVCw|2ZF zZaYt{yhnZVRcOBlRj)US-15=cXG}Qbya%i8ayZ!!DuZZpEcbwk805HKF(!Haa_bm`>Sf2SBDwDN3b_2#=5}q3KTW~dkd^%->O61xm;up zXzN`7zLnE$E6CaM4mWe<*nNLlqutE+ywvc}*0BHiKp#+o6jZuO^-PM->mXW=c2X4b z$JsQZBYx;1eM|wEM9YgA#$^%`W52r=trmEUs}0wVKO805G!JzVK#*aaAlYo8K4h?) z!<&44S%nyKUe;rNz5a{Nu?tm95BCNm*8-pf8fGmlHoK{VoYKk3 zO2=_?Q+qNxVdB>!3H+K1H=koRYDCGnJt+u(dr3)M-k=58>qd3lg901jzSsf^{; z+A7h6Ala*_r$oblT#N8C%>1F$swH)XT?pIl2K&NAaf_Irl{dD4Vh!e_de3O>yngY~ ze8U*`m`*Z!guF8ksH?w~__SZ{v<72e2ctnv=D?t2+|ip5lFJSz9J>GuybS`4N>z z3N1)({5uLS(kG5A?-eu~}4ZkHzmz~wSV#&GsniwuEs$rU!Ii@ak9FNfNADGD@k{w~- zakA61wHK9U)P5AG2+%>UV1h7ccI_@-4W{Xu-YQ+ozajK=WD?FUtpgq9x7%rwt7L=K zj_ip%?&>_THV~*R!l7ZRDJ2K_XtO0oSnNFj;p!IAc~GT$*^^xrS#L3r9}H$ACX@Dy zFrCn_OsH*}n@XsRd^d}D*ZsX5pP)HMnoToiJ+Ga+6OL7YJ$rvWOsmc$tog0!Wzi_p zzfLE?Jzo0v$0G~xlEqvXE=-lBUh%u1s5?9!FXLk_Qq`aLzyTofHugz$Rsp z;h_QN5+%ws^A}K=k|*bg2GyC{8MdQYftKqP7Afek}E8lMJ2(u z@r3E_QpQcOWaA}Mb}3GCA~9pSKvwBW`H(kzjj8;wXnoV-up<{|*nI2E1xiR7JJ(Av zW!d)Rfu4DQxRXHA*CT|&K`CZNFCNmrF$mtlA_bO9b3>JotHWN6+&x3ZZpy(N5?h6K zma+U^b=uET=MQPffxkYMSmFezdyM!5k3}g`dYPWTFdG8h^&=RZe`lK>Yn1U^aQTa* zyZp*-wv6@Ui2|0;sZ0}wG1IRN`ZfcmSRs$(n3G~~9x(ruFhj;m_|K7x$9=ua+ZI6# z%a?)4Xu|lcY^>LDIj7~8u4NMxBc$%Vh?2Cc;Lj0E)@t(M>$r1EG*2G%l4tdVdkFpr z*@%Wd)P#NIe=gMt*GXqTuSt4r2W~flz2DeD_{VO7z2EKPUSGky0nbrWr`Y7ro0Y;* zKC&rGmt~D8ON$^}Y~5b&G67FU6D9wmG5b#eYQgkGn6j4QVsJRRXUpBRLS=h|pBQW+ zjag$s-M@q(Yz8qI@uhjJ0 zDms0rY)->!9WtwIPY_Z#dI{E4c$M(p0^HxdZwn!#Hvw|3A9R~f$yQ#YOCARB+;jvE zkzd}e*|dF|DF-7yO0ZVai>8^{Y~^Q=?)~!c(WufZaCZd~J$M8dPN!7C6+LQnH!RVZ z^V5f`WvPPiD&jU>p~Lg4yndn8DK@mBHS?H7ayRSF$kTQl>H8DovY&u^9v@*0!f zJvmouKWlesFYtnn>Bvd4Cy_;?-YJc)A_xG% z-{S4o0bJ~~@;sgLbxjyZg>JbKu6a#i=lB<4D&YPwhnW);y(_M}0eAf4wrY2WJVZ1u zxr*D6{OjQ6>2e}HWAU=6WtfW{@;0__GHUAg$3b2f13&i0 zG;_P5_U^my0#6N3Ow&=ndj~w%L>?V7j^bxT&!f`T@(c7ffkC~w5e`))<4Wk%NqI?t zKz6T8@bW+K@Wi#f9tr8j8o8S!k6gu)ldiB#fe}OR}WJD?3JleQq%G8(+tY?yCfZ4nQrfsk_4N>cML6j|u$yEz15{*>ysLCZaD$4TmEzr4wy|cr&)_0eI=7o0w z^kR=5yCEI?fl%7`q{}y`Uq}hWQ%X|xLKShxPgvcyl~~)#xHe}|=!7upvcySVAv_Ye zI{=~dputf^!rR>_jDtT8|7u|%lU<2alZ9a|wHhG!yRv&~o&MA7Ith{q$-Y>-S?{+` zFjKVJ6{by0HrK`B7ttK5iq!>n9>-PAVP;<}az&co#>r%Uh6S~rlM z-zJmjq&*)Sa}6Z=3iyiGM;37jx_wH6ff~|B{(GpC1zQq|XV85s8HeH7dV}?CqyfM) zE#NhsmNJteK!E{lbZF`@w6l%kw}@IO=5zanyK!MZgBKZ`eBzS$id%4xyv{vl!IYC> zmZXNu_4Gbw5>l~3wzQiiY0IzaF7~k?|3lNAmpQI;JlSpura8CBYhoi0UbA|&vvhcE zzf!&NHJlD7_^6pz_$a}Bd%8!ybDb+F%j^?wqDE)KLJnd2(UbSHEkM%qe6J$K_bF{} zqVRG(r)W4oD<57io}riQw4dnNu>#CTNc zkf>0>$1_dlUr zt*>ad0B?KKqmfXf#!IaP`z0(L4CK@`h}_h>daV%FAhtzElPJ6e`OK2yVf=+61>ml^ z$b(lmF@#m+RnjOSKhFk1FNJj9{T!)}NEDBGe+B!6MKG>g08?U9t2lVhcA{FZ%a377 z)=L&!k7-zOH^osC))=c-tkG0ykdjaC%s`4)}oFrLsJ}@*e z9Y&P*kuZkwCv?BDxQn8(7oefnBR?upuNf^k_46YkfS5F*je3*}63+piTTRsspj5rp zPgm@UWnM_gSLZZJwm){@a$15}J5hMYd-6?y=TH4Z-{DbNuZ^JKig*OcJGpg2Ztz>uHa%p&yb?+BQ6Jl?&IQ3 zSirmRvw`6dbF1l|m1zMDU)m(OGN(p!EUm{!lAH_6W<0dyveQz(yH4>q!sYCr9=bO) z&G9Z+>r=6#6Xc{& zl43l>i7HNd9jyt_t=}UQ($)iwyJrX>qRF=-&tT|adT{2Ge-`Ng4MS#(89b3<0Sji* z5rCj$^dSZ+v7f%45IEV`PxKuFSE-`@{+rW1c1F*ko4fJ~EGs#DC8v$6PG8F+?~|C* zjU^0KIT$=uRIX3|(xSv%J-2adxYrLI*2!4*+UUX!PSsgcu=j7=#Kz&iGQ=9j{`NGg zCwt{@kVoXx-WeoRrizT20gaO(VhDjUg9gN%2Bo_&U+C@DNCE4&D-9*T+0quCvV9Iu z&t0)_EG@kF746#XM?8MC>Z=!vg%d9W=h3Xt+zOVc!=*}AaBLg?5)Rt#@ac359VB1! zqG9EPS3M)Pu#HCgo76kKJaoA8g=^^2)SVaCv%k1Mb8YrI=j;d1uml85DcL1RS!eH* z60uWqvdB`h4wf)-uC|%Un^OF=pk){l8x(^pFFyoJx>w@$t7Q-1Ny#oza_7pTR>#bx zU_+SC$gE3kR2eI3Ttw|Z4|Yh*(EDd5}HZQnZ9VWQDh zLd5-{y3_v1beXolX8!n?LR+nVZtc~28n4^=5XIHdkD-nelnNpO? z9WZGCR@Ct`d3df%i1MeVL9-olNA89MH~%8c7D!FTzkFFCHon2miG!_9dtq(nmD4*eZZD2Y`KQzsV}r?$$+DWS_r z$TP68kl}W=CcG@kHFMaTxTl5QID!o$t>xI?%hs!{Yt|08D8(7-G^{I{+S+(ovW8h~ z(gxY@ z*3}a2AEHo3UAaD`w@L4mP;!~}0ABsNh)2TEouL*N5iRv%k9t z;_!{~iycX%<)qN1iXukA>NR56A@=|g6R&-vWb9qc;)VR}0!~wBpz+eh?o1oYZ`$|` z)&fcUTd$~^>55d~Le;&<95Ih1=Hz?i;+0i-6wq{QU(Bf+`_PY#d~SBH=2&|?lV80) z_9E-}2ETz?Gd-V&tm=v!CuDy+JhL znWiI$@1;`EgdE1O28xA^T@bMO1E2Q4BC>TC;@1u$ z@L1rvje++oga^giCd^m#ZT|%EMfS$`6KBTEw=s}JP-Pm`N=J2;ZG3D|q`$|rbGK|v zo?hdRomA%2Sa*$PQhhD?7{Lnt&+qyhfv;z|ta~@pC{Acsg0C`qsllj* zTTC3&JZ{<7im_W4PfD=?NG9ivkhiZqRRs7bZz~WcO%u-$hD2wOQtNCXQ^Tak0bBV6 zUUZzZe>(D-_2R=awaAH13xGf85uv(@e30#FMhlDC8l!Ykvmb({QJP9rH5#;MP%pS( z^oVL#!`)2uoPd}}wZ;8R3nJkm{RpY4;zMV3^tyMtqAO~6?U-rO!gZE?SOo+^p{5Zk z6$5BYya*N+&xiJY`ZZZ4(+`;@`MtSp_X73Aj{y2q|*2 z4x5}@`rbpIc6U47#vwGfTp2gI(WDs6{-UCJw`ZccqEqSJpMibooHU|QnF&BMbAzJb zhMXUjv(W7vRR9?FXlhd81?;Eso6tTN?#nj!n5OV@c1Z znF?5ow8WBF{`d!W^za6?-9a6Q}G2aRBQ))D1<{E2tgvOzCe^QC0DbNskH3x6MBlyW=#p^+39G&n!AoyZ_I zZ?@!NQ8@5>Oh7OQ1h6$S7~LAIL9-~YbIh#yDhJ; zWa`i1*;+REqWd7O=5)Q zi`SfX8C=ep{p>Zz7yo-i*Qxaef%tRv-D&z=dnCN_x}N?DV=rrfrjR>n>1m(}bOVp_ zTHZDqcj}tXrU~xbOf>WGYI3=3n@XJssL{hUfH~NIWTLi&8Rq$=wM;e(0v;ldNUo%d z^R+QY0Dyb`FoW%)JaC}&x8onlFEhx@wzFGFd+o#&na82kL!SMV*)J7ADB^f0#(sv& z+|~jpRout8aCGR63{n??{wuOF53{j9bP4_C^Jj&Nf9O?>7HrTcG9H%G3>~u>#xtV+TYq2ylBch_vdoipu1~`~XOFg3lAe}eE{nf} z4lwtSF30QFI^q1c+n!iytrhO`5OzjtP(a0!a_9YURRK+2th$Z&oQ&v{% z%%?`qZtWP{)V+wcttQOW#9q{GRHhB1t%~wc{P6z(KtR90LPfikeUu?OUT^ZGo>wXZ z>%>-_$6D*0qA$f$wX2N{S4BuuSLk$kfi-KKO%kflIZ4l*Y*bEe*STY}JP8bNCq7Ic z%>=(DH52p?tRQ#vlAKo=n2SQb^vo6=)4%T4aV6$gn*RHC!io zWJ+UFLMzVLl2l|x)(i1wJ>EFIL`T{z5oV?+10?H_GYmta?eb)COOd_!mP*VOK#v@j zB8;Ds&FBWKI|5h{i;YmjEtKm*pLA!UpPag?C-WHV_gk!mHB*~{|MQIgzYdTH6i z#~E*n%1%;RxCdA$c$iQ@#Dne1rs7#omQ{|s9&Kk2Ao7(;V+Q?JGtrR^BW|9dS+O?u z%B0wYWFjh=KsTVC7reB}ufCutBs+GImHNg3W5MO9#)8 zMS<{&QGyng@D{KGFU#0E!aFRM5VqWD76h|_cma6eYk44oM0_@il@J5w;uWilNOptK zBZ(3r7PE^N>kNw7A=>p4y zMIM$dD!qI+3xqZvhY{o!$tH_Ltl?`#9(yJ##AJ{SK>yifMFFcra7(fPINU~A6h)(1 zmc#~LCcNMw4xV>f6gzJ=@(yD2IF7z_H?Q(e31p+4CyHQ_WI9y@+&0l{G)W@C#U%1J zqgAjFoI9ctftS@fBG~P4lA@6IJUBoxgKUr_gGxMrVBrC~1wo47&>L%b(Ig^xi;6-3 za9jz9k^q8T5{w2S8U@Ly@{(1Q9TtOKFt{Zm&@mD{wp!6(v{;NHSZ%!Ir4ws23pTL^ z$5Nq64omlYlFROp0qocX6Zjnh&Y2ab5rPQ;%+q#2oAb{eGLn$0W3}vFF7SaG}I8j-WCEQ!j0?{3^lxwAQU46 zAg*Ayn6U*aZ!_>b5e&_CCFHOZ8&Bx$r zsTx5v2&&zPHJNxjF)IdxEK3AORWyJ}AQtQat~4NuB#zz?{Up|d$by-+)_~JYA&tih za9I&aL@2J6aOIkakr(XP8D8nIG&pK)9zm`%Ff9f53Ac1Dqnq4Rim{C48%vt8RBkkY zV9rDgI6KF_LE(}`w^#oRg^pU0&lOiwiQ}#DI60E|1bNNd_SWsXQqHXFrrGV|4#7@*NJ|Cqo}`@7r0USQ7&pi|07vuWajztZ!}kCb5S!CZ%*Z*^tXug_f;at zc$6NwVs?%y{<3dGb%<9v8Z?zzn>)d&no2+ZBy!EdZ<^{gwdiAp<~Y>{Z^B>dn-XJo zDcQ_XImI^iosz0C2)WBPpd#)N`~JYh>qtVs9KZ>sZ>rF1Yx+_2p%Ym42i(R!7}8mG zFx0nEM^j{w~T=U{;9Gn*UfeH2Rr z=U^uG1+9WF&Mb2Af0#U9ATc2qHONJC(G;w1mV(wTs=6E^$LyOsxEb6`ZVtDSThF-S zlt8iT+=MJ5LNNK)t4rLt@>i^x2?r+M!vtmWzFJXJ64TU9AfX5`@C#OX2M17H_Qn z)}nQaPh*Q6OcqaTD19Nj_|VejSBblBt&e$Inqe!8EbEKiC2beqaeV<8`bn#0{T$In^WiIha|I7Zy<^Ufwsd8td zt=4C5;6whG>Y5t;_xOu*{4e<%6ZQA_{V&%wO-#jKcltdmuefsMODor|UA^auRWGla z;D=lzmLB9A%)VM%W2dZ|(B0hV|Ia$#K|lF3I{bA9{RvD|*DyX&@%49C9$b0)f3CdZ zs?}@PV#(vZC7Y9!&s@ju{}3*?w9W|R=!dZMD@{27a{l#)ju&vdykjSUX|Fs8Fnht! z)%r9HpJjgZAVPscAzB7D054>4cu1l3T{7l+nB9?5g3n=?Qsk_x0aSV!`YKekd?_a zhS|4c*wrq>wy98UY0@c!F{7KPm)O^i_#S4u2g{;9YV`yQp(W!V=1PEDW+v&;ou#$% zI`a%JgyVi*4CF0#hqbu$VuOG<@urpg?!I~TI+MI<#lC|p=NT<~_E?PbRvz59Vv{U3 zwVZz7?tLpa$(Yh`G5M<1VYlQ1BJV%Gp|xZAhI5xB^jGWhj@HDIb2sQOunvW+r}=oR zhL;2#rzCuhyKO}wHrLJhiouUfk5s)0Mw zs~RlE#fy!WhE?f124-KFIBiwxj=}aBAoRgrgPgNRqOMz-_a$dX>7zJ1xvx3O9%Oiy zDe5w``FJ~`Meu)uB$v~c?-()=L9h!xt&oGmxA1~~@1ma@4P2OuaY_0`iE;NXr4zEO zCE|8uk}`yh5K`$OQu;J!DpT=D!{r;G;t2f`1kg`GQ2qXSU3u*n&{Aa2??IQwECdj) zk^i;s6e_Cy5G;Lj0yAS7+BX}2q5Xnqy{!7T~KE~G;PV5t} z7O!SjnO$YADBXfaNua%?QrJsw+KT|F#E{fn(o| z8Pl(KB+D$XiMpWTB;OhZ`XL~W&*xo=_9vy?rr*HjakzOLZY^J>p^IV1*zFw8hQG$& z$UaJxx6V+YR&kXT?2mK0#RkGv-R7vHLsefV{j-1Q)OPWzuc?Kh@z>1yeH^>TDrwSu zTua;I?e0zGuCk{6=44KG#usF24?(|AOK@3=(UdjEoaI}>3AJ-mgr98XncWlWf8x8< zH*3f8lLS_~UuN0hF5TeoaK*4O|A&bo@b@aK$8=b2Ovm$|TmV=60Pflsa#!Paz*a$4 zUmbFyhh)=XDZ)Nrh3Ap#4l$;yerJ;CVVA*_nVU?XY#2P0PNpcfDana!(s9Z`xaOke zTl;3tm|5R)fzL1_s@mt+x5D6A$u6QDlG^(E+UjdtBd6D#HEZ#?^H$7<>%{-k$H8gU z2TJ?OHXw%Pg*R^%->#0S9<5c&HuSBXUhmHtI+eLiP9W*SYcDe|A-RX5&g808%QSCo z-K^QknJX7|tZdEJc4^%ZSKlRy$ts#xSv%5e_gp$}ZeQOo=5Lu5dmBC_H+kD*iJ>W!odFnjI{3t{-Cf-tyQ5ZI?X-@4K3xnEvK9oHM;hOn zGa75Hms=9j8`__*UOGF}=68mo{?1v8KYiM!dsfe$>y7~7S1Y`Q#4U1-8BCJRCpVf@ z?WXTuG|)O{*34k2wXJ_(_p%3I@Y}V~V>guN#>sI?MP_57jsH8jhjhyg)qQtN@WcPG ze`0+n>pYh2=rJkcD);ypjhi~|qo=HPQ*xKd9*9)5tYTXb?x;AmF(+@GEcBEKstSXp z)n68+`*7WfPnGOKs7$}Gg<9G`!WW`tE1)I&qA@SsDS82>cngn1Y@7BfX?7kv=FB)> za5_bazK{KQ)22WGe{l8pzSq@-KmK>6km7?S2mcJq`-=?Ci&--?uk(ewS!7_7Hp=pK zeXqE&6hZ5T#Joabl(TuQMjn6)OVA$xZ?t-C)V8Q0<7ul4VybVa?q$+p?5ak^`3 z_m$6X+5P)FF8IcE>syu$1`NbZBuDb6M?P`nz_#usRzu92>F8NqdyYeRNh@3NT+aBk z!7~?zzmk}F;N3%){@~hKL)Yw|yXC>4IViVFURU?JPyFUHdq4Nin(oN1GaCMHbMFBk zM{)NL@649#dw09nPr6=IPnJ%1r>;|RZ*sS>v4w4Hxqv&iF*b*7FgDE?Fs233tAPYe zNu1=8Kte*O4?Jm*h$n=H5L(DXAXvA4XJ)VIBxCZt@BjaK!Mbg;voo`^Gr#$j@3*0Q z^SsIR($Wd*7K2Ov`nqfdD%5RSk=&oFoq#F_^OcjSoW7}YIov0PI8$e;=UG)X<~406 z{xV_L(`yG#>^`S@=5(EzQL~(};nfFjdf>p?He5MNtiFAoZMn_(48D!TB_K)g;)TA) z!%ZOkUvux+Ik~xi*X7--ZuhWizQ$-3I~E>&>+Z`Q{AfX&Z`%TQeb=Trlj^1AD{qyh zN2)ls#ERB6QED}oZ4?-n28ZfcT`IsSh^-lwT$Gg)*;pPqQWsA$3}HgWzWd>50((Z~ zm1Ts*(~E>~c)wcOzw8#L?VJk-5*{O0Z>$vqM!Q-i{o%u#S3m3tnLk=^UUW%voOSiN z-D^8M^cxRtmukW_J=1$?BHdk)SUqP@Y1jh?q^XDAns)adT>8@#4*I52%^~lm#kE~N z9x^_y&*-xUykRg!F#~+}BDUS$1CFoU**IrlpsxSW>^)bwGM?=ZO`hAmY4Z4nR#za| zI$`UP>m!_+<<-gQ%l16>(Dr`pAw+V{@lnY0MHy9#=HLxzj%bW1u^58iHYV!sfOKQl zWdXY!$7!#^kHhQ8br#RKUeaoq-az)r&bnwP;z;_#O%%gTM6Xw=?Z$vuYpmyt-uS@A zx$%ix_9R=^Eluq3wy*0xca?Qqa!K^O1^d8>0|zF~h;(;Hys>05=Dqru^gpdTcP(uT zdQx}aI4#L=YFOdA>8&4KwUk+(Yo&?ius2{w&7<`(kPkF1ZR=gv?y|?0(s#5S*faZ3 zf8D^qoW`B7b7t+`3#V+E(ApVrG(;NOC$4B7ym+6fZu|v3?NgHH)?4A6ZmreeRI<kJ9C$ZV1K#Dh5M|QW7JICPhN*M4veQf4^f3LWQY8=ySawY_GCrQOv{i+Yb{g5np^|3%eNjt{ z(T3zX=y7L#cOx>&-b+*2GM?q#(WTEV#3nm1LULi%Zm}{}7i@*ZFCZAl@Me^PXR09y zUI-8icb3vhHX_tCgS7{mCtefr7M@HyQ#BDBF%0ILmlv%{Ul@)oGU#ImVwoC;p~;G z?_bGWCp|N3e&;;1MtTMxRAbpFqRp<;y2eIq$sTcQP+RVa@jO zQCBqc8*m-?Y}~lRo^eg?Kab=BXe9Ci4($$vLl{aRiZzmWXq87+MTrRngAg(nj=K02 z>Al+@m40=B0w@ov^#;Y{H@6S`@X)MThkiJ){HX~Ci>wxV*8%Z{+d zaR?4wMVT~ErczlnF4`4R8;oirXM#KrmW-7Y92+C)9za!N4c@w7EVw=x1lVd=4bZcA zXyQ;JgF1w6&{$L|qD9o9tTaxPsS;&whUhWqS)-GpQjL*x&uOX})g?^j@jztXYRqVh ztv*u=aoTx7SByshj)*6|FqmICP?93&EeH$>*(PRel);n*AY%&wjlB8te9qYrQJmkl z)L`nn^^nO>1DBI485w*CX474Djp+aS3cq*_M%)7H!L-k=1v1hQ%u+_*3HCT@d8b3# z%T8~beyE~vdfR4RPVo}iY?ITarBi<_FMkJcPvcCk{Y-i)H!jGyU=}?8QAmhIav_Gz zSHxw+{6O3gVhVs^7|LKIVi*Cko+b@Qcf5Yx-UUuuo5n`WZAP zqOomdaV_$7Xbj=E@C}Fz;G3}+kZ4RVl3tPidB@uR^ZdTDn%In~w*d7WcVxbUF&Ivs z1*w5;`Bn%G*D|Sr@2#4Btf^_PNp!3Ef$#nLdmkM9=q#`er@lHnV#BT-ucPq+oTlhY z&=}^GZPc=HCLyx2;U*gxfJO;Ah(39Go1n?Orz>aFMkDirw3bl{I)VKqV>5tBqJw<| zT&-k8`d22~sa($ zB+*AT5=XO0hYG5xLJnQ*mnfpG9`k5gBb1LxfMZ2J#OQ(*O~ql4>2xmj7)OoM(z$!_ z+4Qu=bW=e#Nu!niOlnb9F3P$8V-y}^yg}B$;w2@QGm~LYJ5X{+CNml5AWq>~1Dnf$ zIpkB2?C8|7*N%l6Lo-&+@OIE%QK!+?FKp@EQLQjD8l#|L%!=ymS8gYVf{`5V=xte8 zuhr;8P)nT#^L}(S&<)+^1sSTUrV6`7Kc6`{aO~Is7GWA@%xHkUnvhOZMgl})l|WtJ+mIq1u1Oi0E57j$Ft2` zfYQ&)kas>Pn=r81NvB8iL4RJZB)l~Ss)AZV?6xFKUAC*@U`#Zn9%lounn|D-d2_ix>}ww*O9u#tM2EP(5tplB#ni#^8x9;guwi_!x>B9ey{Ai| zZEtFIZEG7-XSdhtIwPjOrG2JIr>@p+uVdO;YgaG2{+S;=bNwQkXr&_!C^yfv#z~jV ztgW4S$)xjVYHBpMTz~y7XfyNt+cwot+tN@L4?3N}#&WAI(ooabSkn-(S<4&oxp-N_ zmTC2yZd>ulrmn6{kC5?S#>aJ#cpRd_FWAjw&P(D-VkpAS3>5<3Wr#K1*Mp)?tCfDD zQh_9)wd}{ljRXnv>p_A<+%F?tf__vB^iPe_VRpzQMzIv3HwS1*)b4rM${cPX;Zcf_ zSmWw~bu4G+!(@i+H`v@+O5le`#zUAmvmX;@E>pvtCI0G*uqFO>K(|g@w)SY{-Unbm zFMxhx0~;i4or9=a%d~G2`~2Rw6E5AGpysi|9Y@zr>u|q5x{P7s)Ggy(6O>-7NKa1!bpZVJ=8)0CWH=ge911sL|5O)~cY2Y{;7mw%Y0(5*26`TB{$8<)XLt0mY_yTXI)%=Pt5zfcOE*lvv<$YEsOPyy)T(o zw)bt^*w?<&^iqd=V8GpxJi2yKc@_S+tI8K){EfmKAW0x`+O4*4ZT= z!!EbQ^n#?9K+7MaiSYz5sY;d(m6*iH7lGcTCoab+5Pg~a_HanDS-wIfiH3Yg$HZnC z;`-jVLk>=DZ1dxg0I&NbP@Z&q@xH&!sOB7@x9`QLnkS;xp=F1RWXE!|wC&D!-@S9c z>9>aoM29PYq&PvkkZ3lK2(g$)g-m+WV$ z{jw~XjhCw}iI)4;F>-YBtf6sd3x|{C!DLpR_mQ_tDhRxCM@OBsx`YpwOKt2+Cj0*N znSwgH_7t`Ds3Q69oyq-6FzO~&yxd8T8{8i zG=-;mDOIio&04iIFq|s#Pk50`?4}~j{Lyx^$EhDvuTp=aK1C9d9=Jg*Xdlg)9Vj>2lfXr_6wtAG(s74}aT?bByCfBOGodU%HO zBg+g@r&73X1UQQ-W}Y9)*YqEwD_(Ri^N%r3{^S2(Lg^phShBBgz<{JfvOrek`iwP- z-|)>mL;ZpJ;{X0v^1tb&`Jt+)zuG~L#q=~>kdqUO<<`cZFwMe={7cYoX7cN(v3 z(a0v_1%uqBqVlA&`Q`d1NTSgZbMGYoKkK7s=~2TsFewinf<32Fq+ii#xuE_1c_%V? zzqauC0CI;kgy)}RoNk?UiCJI9>(A|Ce#~^vHch@8hxl_b=@^u)GFg=z zTCqaK&$Q~yaTyHUGb$gv3nSQ^le1D||J6Z966HpG^Fuk@3>hmwOx2@rak3mSde*9c zD=CkxhQ_F3Mwb3kM6zMhr_zH3>Cb~sg2AzC^T{^~g*ogIf<2Ed51bAt{IW=0O~;}} zzrr7mMbZD^SR&>}|0kkWbT-xsWxr++wX%%WqDTShU1@MADg9wQZvOtkWO6Xw@A0J4 z>6FLQpT@^T&>0VcNz8V^Isi<1(En&%#j8AEaLAMPC~Ya55^aaTphtyQc1cf*pT;s= zGV5!@pwE&}mN+$CjL?VpFAL zI-P#^PLNEdQfbfd&p_P7gg}%QROJtQMtxA3FqL4%lRHePav6sH&D68It{1GWhF-k!NF{a zBkHkF<8n=>u3@6goDuD%DsnQytS4ifWTI!Q^@!6Sk18sDKDcPi)0AAU#yE|~BGkX&7V;i(sdDVjh2DfZQa1I7enWpec4Lw8 z4fPE;C!goH?gVFg+a%BFK*vPsIdY!=#tQ@&oavq5JZn*&TMFg;mW@x>o}oFjc4b*^ ztdsFnNAn<o7|c8Lb)Om(bqsm@ zsWet>4$6>JgY-s&VbEXzl#DJaqvO*31%iPd8>$WU`W;w591QhFOP6aWaI)6orqQTyg$>^A!&kEP)ctAUL#;n z)M+HuQKXLOH;tQM5R9AFC{eOzp>f(W854>$fvmr$r+Yk}VUmEszs2*9hA`=5*>O97 zY;4RkOW&9$!aZ_i6csKrSVWZj!?AEJvU9qZXf+D;>42>uN3NWwJ}age8an|^ZS0d$ zeH*dKp3G*+wMUyOhWa+rsWV)FNql-^A53FYKbiWDu0_JHoP3P))R^VwVbL-N$$Dg- zE~ZBM<^(h~s$d)YKnj=p3>TPmCRtiyKuUau^HdQAZJJV1M#`SIq<0Zbb5?1ZkB&UU zHc)b$i@+{DaY6r3%FmBoS460%HBS=-Hw0Y zE&1K&4qa4v>%>PV9;?3SP;&W^D`r19`-&sWlSA#H12_ES=#m+!2M%4i*4uHVGrIoX zbvN976w=(>J#HRh(Ga zv9fE|Yaib^d*RkqGw1p}vuCW@x?tAe$nVIC-$Hhr!(Yiaj_XY8wH&$9Ov`}RWY)-}HA{K9} zh5I6QDqXSIA^l#6G0BQ0b`TOyU4?a{G7cjyG@xn@v&|9dchyIFPNnnZMk~2={2YrO zp6jo6OE=jJ{u(z}XL)L{P?bkOYi#^I9WByLvGIkx`+)}!*p=fN zY?4~`E0TH2z|>Wbd@K!r{KzV_12ANS26~UT{jDXca(h}u=fcbdj5^NDQykovbCzSJ8Vi^S1IxD)h%kTGvunJ zMA@LKLe>AaZW_!KY5kukYln9NotyOG{}GkxUkBk4D#H$lyt zbm~oz9(51iT}`T!^>%wxS}47lN`V^iAi%8i`n*mF&uf14CAU%&sX5d#Y8|zm+DEk3 z_fSugu?f`)eY&U~iK6{*(LPFp-W%FSwFsU$%~{W%X`e0LH|Fui^utnK!#5ep4i6~QJ|00;G7+Do;Bq=^C z`ptYc>XbCbL3RV=P4=HONYWW_oHC}f8zv8;@vl4H>c` z8G+0FsBf`pzgqG8n-@+fOHSC>vP$}5nO-m$JZ}GjYwn%A@uwR@(Th)7RBpE${0$B) z_S7dX%{;V8AGAAp3%$wTVm!r@G5>R83pVg?%dlaAWw!cxud8ffi%Ka5;ro7*xw<{n zkq|d(S%YB0F=Dy8v#1AGQ4Q1tYBT;0IfXecl3%nRj-jDag_^@mDrGgJdZCM`u4c>s zt7f5-CtiB_$w%M(4gJ@@-DDEkCS8LVan$&0ELMlO>cl$HR8_y@_(KP4y*HkE^ncY> z(3Uow|6D(K;sxbJKinWSJ-fAbh*QyJoJ}Ee8it|&*b-B5Cyh|?!^O(ytH3A!yN1Mi zIV9r|-Ae$+*p1S?SWKnnY&dx=WsI7s75HH?HPd+1svKJbCDj&1XyQIxd-?{&9Oh&4 z{AMI&Dn_X$EhZJ3(J}cP23)`};$s#Qt{F>HsfOdFs~D@cL#JcFHhBkLGiC)2j;+OG zykCETZZ^c@T`WmtMo&P? z0)liTFI~zj!_pQ}=Zv<+Ki(j zrnlU@dv}x82$T+R_`ZoVb*Dz?gzn&ZV;2cBWb-s?MEMJgI>%-F4j&hC@q3Jn+l-kvrxtWjLW%!8 z_QR6-cgg`#9?C&zxpB^n$37$$v$5<6;2|r1`5$~%Uj8@Mz@gp)sW~-`XnEgQlikEu zCc36og^lFUMs8uAC7Vg)x4&_bU3&M@P<2Jec!zyaBUXB#Q*>itU(!3=MtiWTZD#gl zPWOTJpgiTELR1%ZF13c*h9r^fTh6L&Ehek%AWWQpLPY{2n-ACsV-z+tD&R$Dn`3Q+j<4az)LLq$>3ER?~Lr0|3TmFGS zb($i50gz3!C~$j-q#xXY0hPc^vtN)taRM2J35cJX(WBTYbfh=$ozdEGZhKd?f09nn>h9IC%0V!$@9w>`fh~7~4Ni(LZEbT} ztaI%~cTlXIbA#X6QdgBMx1VEB?pC{WK;1ELb53^w@i**CxbM)nCCna+L$)I(4h!l{@8WuC@5VMLH=Hwu0NG(S{t~}RE$wNe1)=z}# zP&VGbID1za2;;*rC<8%k*$x8F5Wa|i7%oE+(gZvYk6IKfvFj)w#$XAW{TK!&W9mY_d);DO;PmDX&s zefqLLcI(?Lp7R!{+ z(i`q0^#N$Tbtx-j5mG_y!*9WAEYbr)WbPtb9MG4cq$jv9^cwqcD%6spLY)S*PosSr z?Gp?}Cgz)3HcZu2`p}j^TUlTFHW@z$Wc)OOtd6mU%{~PWWn}PtTson0m*>tp;0ya= zMvR|=g7kBSwf3~MKdcW*Y*Z4^Z<*-cj-W+eXhUKzkb%- zi(ElhB-pp?s4A$^0SKWxNFQC+7mT3u7tQNik5bKTPkvAbSQgm)HMN%J`o8Mfi^0>g z@TE(_$HFWUHPo@@U~lc@%9)E6&#vyPZ?@Fd_-&AZ5CDcMxiwpo=9sJGX<1o}NfB)>834+opiQ0ei^Uq@+|#ChMND-zDs6Lb|^Sb;g~%8l6?=&mj}W^41X3o#E-{AtJmlamUxSd zJ}!xv$_jVI8dx-$e2qT8g8GrB3j3J+9lD%tC$!BRJGc=JU#xI}yV;1=-IU$K~Z6#J%WZ zkU$AR*|VO$U#rwIw3O8Fr>PCs%ah&i6`t0O6WdLUvBIFU8nvw0)U~F`zI6Xm9z=Kz zNYf0ui0jdg=WI0d$wzc*{M3Gz}( zq0(xSI(DA)-_l1k$E%V??U334cJ=q21akq)n;2P21*v~YH$B4>2nI(oDcU z52%u&38Z*v+C1wA*NSjNS?Z##MRr>};84Ltyb-Ocay$kc ziN+~5mC@I%5=H4{5EaE$coo+ois0vBBfO$SlX(rk3Zf`oqloWlkrTt;oDq9pem;71 zI7?PwRb`0*ik}Z(Mvs%TL)n6;^fD<3J)!jZxKy}kaxq^<>F^zAdp=0SbJ0FBJ%Xy_ z`OGy%wGj)I1f>lCG+s9~w zB#E6d;#Dk2pk9UHiu@uQjRi$-7F7;q4{q3!nijZ@B9&Fb7orINMeRh0NzNujpHq z$DumFp;iiy!YFnDYtd4+94=!ssB1(Uv@_+O!h7kCn3}<{E=y(_359j7@t;y^;t2Kw{P>{%; zq6>Dxv-p~i@;y&ARgiW{V~^Rf_i0aVZ_J;(eG(Kf-$s?gc$VYha*Xu@3S|Jl9c#B3 zXGuXhsTj6e=Y54RnJKXi5&jH7WRDPxfB@+!5U`!!hdx`JF#Yk<4hlT=1D@O=O#>3|7c7l7vNTXja0 z?pEOb>vvbNK&>Wc6|YP8{#qxfRrJfH{-p)GowI};g$(6{xQVPKMloo754)tfy&jLj zVAPLdRmj{dOc6j*6vSXA6%>^!^e*G4W86#ZuZS#%-ld8y%occ%mes&<)V7LnP68&{ zFRR6b77A^d=cVVt8n_k>$e5QVa}@gGDCD~Nm<#kvc9qE-Sr)B%|f<%WQk z!-7+*3zu~Jet;Gc;mUHHjwuvV&GjTok4A!iY$6#9cP{I{ z`24mLf6~$_8(6-*v2L)+$ino9#wv{e5WQJ}auFK}Fajf*yg}Aea|A^hB#>$#B~i4e z$R%@>!zM_lQebB0zfMzVMg9(P>XcK%WhGN`fyW9Xe${62O5~3QHACr0QQAt(PQfar z#cokbTLmKyDm|9>zRWG8ro} zsS2ZDMYBY=2$I%qXD$=C$M5&MLE7n*l5Xku-@Z)5uUoeH#;xG2WlG}w{qnQ^P;CD! z>D+e}HKh@^ZRR7IjKt&)`jz4`5&4t;2P#uP8j;XaQxABB-$#Y>B6TQ{-;Gm*5giHL z#6-$s5ENMmM+N1q@-9|16O1jU6B`)m*Zj0r!!kP2=0q<*{7|~Pa~W=+Zb)J=~5x!E;Ab# zR;Sbcf7>GBgY;5DEcPgC?8X#KEU=CaR=nAi)n69Zpa z$I0-`Sl>#ABT8(X%j=pj4|=v5S*B48twg`^i#rAWfKKe*)z@ohjr!FJgI)zU?F|NJ z?Q#YC8sp*G8Fk&25xepEJ4D?9UT9v|(y*kvueqMW5aLg8 zK5vzQ6HG_+fL7CjzuY>%*HII8`bEKHtqXN@EzG{Nz382Fx#iXSV@KQ^jWO6eEBA${(Tz$b4}RlpR1U#%183H*Rggxv;%L68=N7T6XV z!M&n^H)eh)>IQgWo~T>R3)0g%5zRL4)BjEMYSRcBk2#Nwz$^2Z=>&qOLzVEBHg!It zw-7r#f;S*_a(`<7$suSDw8v&QFRrU%%9M;nIgwRs6%N+zZt+H4VT)A*PE*7Sg^X@P zM2;l}Z7DTkcYVn9+K#D9Hg^j=@e3Wq z=+(p^hlk70bLRwV1n-rS(jrO9jz;neQT;`~XfatE<6^>V^+v;fd;%@7}yVIt)|MdsZR%3*Nui)rNx(_8hSKJcVtKO|cwYa4zdO zXi%%!#T#&v>wQn6mYWBv(bAm3%yN&WQmG7Drb}<319a+mD&;{9lsRUz!2$HktKk5V z<7KTiSg6-&ZPGC?V3U8fI=%E@HUVBcH=U-K4^TTssY#>k@ezR6h7JxNplJskba2dd!cE(@>J-r#TQ8k` zYhTr^!X)uU_l5?gfm7?IZFn>3y>)iQturqkXn);RGqG)9!%U^JCDdEr6{&ZL6YYVv zhRM}k3bxhPUDFy02z2V{X=O*Rnz(*KorO7l3Jg=H!81{C1ORvMy#Ne<3BMRtxLeQ5 z+!1IB*tHy#9s@M1H8^|`@Rc{}wW>J)q?gguqvWmbNRf@gD95gjh-60-f6$AOwU8*A z2id?}EaehCy8$#c(A4ly4nqT@YNbF%-ypr%Aj^SyY>;~FS#nm)`7=HH%y1xJ>{1Qp zmvDeD>|S_=qN1|;PE*`&4x{D=sBUUDYKJJMn(`~q1O{a6s@#%G9wEp|jK#!h@lJp# zF|fA`X2k$VU@_x_F%dIfg#C&r-ilF?dEmQ~w3u3v$$X}keu6zJq%_vvrO6P1-D7$) z&w@=_6(-@+3Lor%3F$gcui;hZuilV`rq=zVZmRU|g!k`$pBealoq;g{pZ1h12b^UP zO>94|>(_(A<$pZ~8U>Y#2K1J{EXsVM6f_XR?et}9*B(B+b}c-bSu5L%itF8o>m4lA zn>}N_K}pT%Z)}HeQSUoO)J{BOE99&FUt`r;8ZK0ixpY($sFBRJ9j!ZkS*$s{mTRUa zW8A&qH@xDJGXec?9>bxrtIT+cwGmi7kRp9LMGhpHxFbyt`T|_1D`B`>l zeQU1%`a=CnYZ?58S6`xaImBxKn&;m16eS?qiK0br1bc0imoFux7ky|A^hV{&i9 zgv@u&Q0Y$`O?}(OcSLMLSZ@f1=ALhW=2q2+aIzwm%xFT4~J5NB$J1Gd0AT1lTk~`WvI35P)ij(+#JM-xzF04L8k$k^6J{4;8UJRa5P#HC9rWQdd*o zp}t4`l*laDgC1+vq8N@Yhy+3Oe~d+cS;Jp6tMWIpS-&Eb1dD}OGhsI6SclMnNStNM zf!}OGsT<>sm?H}Zb2NZPLUZW#5JcB3V5o=mGbFYv!hQlEYK~&!T;kt_Bqmwehrv#a z*>d=^W&ch1ykY=+XK z@N1?3uerQF>NK03(fV@piJl$;0p7!DQ10N%Vx`bu?`SX#86NRPqaRF=7J&yQ?2)do zs4X*ufKU3|2K8=W+i;}OTvZtWAKz6`Wqw*!&Rc|vkhAr&R%a+w)-tUt>Hu1^hHkn& z8oj+SLw|QpO)IO{v#m7?jz2NCx()BQRnMhcLB-F0W?f=ko%rRBy)EUTPEsfb<`_7q=$eg zjdI7{8BsCU_vC(t`(AL29!kFywpuLKFqnPLIm0dMq!-t$1fE5UTuy-oix7U~%vECVwa#~LC!fyUdz#iG*{GE~*ZUU$A;+Fd7ZcJdQRo zr&C4$^o{Z3-XP{4`R$D%;vPs7U2<+j%Tj=uzX-dS0xgO9f z)az@(N`ra$9FV!iWYpKf3qAC;wFTY^JT{4hUl1e1VjU5-I+$tBiuDxl!zx6+@b*8nelF8y8l2`H!cNI#K22jd8D0LAVhzIyt6Y5dsRmyH3V z!t4!WQctf@2NXe(MSnn{f(j566*N7VX{Vn8r*8Cvo%G=FZ(&-O>6{H831{a03Z6GT zb0;_fuDwLs1iN?MwDZ8t;AXHm)8j|w8Oj`mYZrDM?E-H+bL1KDsdQ{F7yvJ4o|y+H z{WUYu0iP?f-utO}Sbw}fmKPwkddC9R5`YCJC5~b4A>;tCM+k0P-J}_P5 zcQCc~fb`yp)TJj*T$%!}SCl_iUO|2y+dAvip;=qE&SEZ_we>=HWoPf6w=MztbZ=*7 zhr{m&Pk#0I<6k`vZ@90lva;+xbkoO$X*`mFuqiZNwK8^Pz_F% zqCOmvUKxTTX+nuo`^ObsCO4p1h7*o?Y)!RySi1GABYLxrRX~;B>`>9=zNUa{_ern|RNmHR0Pw!fX&&S3*+xOz zYFxLurflc<#VMuo7`)i&S1If26>6WO%&$_EmnoJ0VZm{J&t%iMI@+i-`C|V5=MAbG zZ{&PU^s^60HdkYraZkv(QCnW=Y*aP8xa-kLj#`&XuZal31(9i{4#LwazbhpfMO)BX zm#~nB2xW9ULBh#NsJw{V2TQeBs7I2n*ccCm(LkjKgliHvEOCTnIfdNTE*hO@@ESlE zC2;l44pf8c@Z2fNh5OgiFi|_+bm1lRlUJfXZ0C@wd|7_b&}qM;WChzyT#E=+-<5=o2=#n;8cxMp)Kvt&UhsYXob& zz57D#lAij7CiiU6Vs>z>$;2t_Cefxq0z0d)XJ|#(&a7R_X>V#J*(;p+; zaNvqRpy~WZUKeiY*|ufXwCVk8X3c18FiRm-Oz?uujvQLQ-HZi}<>uHV}O$7?nQFh7|3+G3J%G)ytg3GBn99_|Iu>uBx!!BdwoNT@?tLOuUX^N3{uk zIteoz@t376V=tlM7Y3blw_3-mr8{&=l_`sXh!#l(DWz6}ltC03;vju0=l4Ou44WoC zxUz3a9_BfbjopHod_HD_4lKpFgB3bP6i*Q+Yi1~904Q@QWytbx0a`)P8IorXsXvF) zZs)^f|Ha5=mcO8=6Eq8UsXat{jb`qy-MgRnc)UJzz<&PT zk;5*R&({@5_C%L%y5#4~#qCq4cE$w_chmZHm9&9ow8gx6G@8>jGOKmaNEoNGTljEh zKK|oU!`ra?6%;btmcm;2-RChSin0T ztJPxxCp{L6$2xqfs;zZ?TN^VoSv$3De%qn8>Z&#{C6a`XtxFBBNUfi!(CQSEmc6-b zl0v6dfTQ?&TUB)%Q*Ooi$p2n#tCD6{x3yJ+$Ew=I%&JK8&-m!i@^3N%Zv{6cUf8zn zg~UFcg46D=s@kvR6uQh!xx1=cThaWgL2dCb!V99Od_VzAAOPyYMDQuWIq_rKsRk<- zQlLtK5Ed;J93Iy@=r#~S0&@o)YQ)M45XNc=bP>y)WCjeyv+4^x_@mh%ftKUwG-oyW zBd8mrt04~aG~rQ9L4uU54Hk|Bm6EBK#&ZIVrwSnRu%Ou^B+nFRTEzh#Jl2q4@fQiR zR-D3uli>HD2b?VNlAB%797humn#$45B)%SJMr^EcJT*l-kbIBJW42fu6dYP=;uI!gq5wyRK2s-X#7jg!kCrFskrtdmLmapuE({=mDKvp+Qt)(GZU~$|ZUQ2R$4CKD zZZ2A3!g=BXVl5ZZeTDEvqV+hD3L^j}o6!V-MWqY_9joRo zYNw?x0jr!IR;6KSmDV&_RpYS7)c_dmRmPCd>$K<~alN$~1`T|IOQ8%}LZ%COEdv|-!dQ#&ivMj^V3c$BHw3-gLidNV=$Mu$T4>k*{ zls2=wv#d-6Y}ff(4`V%`(nl(2eQSNh)~hrqA*)g}8uXJwN-kpWv6cgItH-=%kwXZ2 zG<22G0ilWodecvp3YwwSoB}{Yf&s#i#;62<1AuYT>_?DOLOsywI7Y{EG-@`$eEp)< zZnap9CY`{DQ=A5cpenbZZj4@1na2)5n+|nrtx;oLpfQXK22@%`E%8m)K z)}qn(@SHC@-Z@#p94sy2giXVsm(%eHS? z)B4(i`iT_~`huv@m7=zs4f1mn6Lxn^WWDu%JF1plqnR>M>yEmd8hrt;FGcZ`2g%kE zs)6dD=3}p)V2Ji(!#Un zezBl(!;Qm#M-w`n`P^62X71ZE{^E&k`uFG~KxOKgx_i7`gep2PeL` zz;|-y=?ku%t~m;CsP8ye!C&(3qD8kY?d5fV{m-}V>-zlWPutv|zCZOZ^aTK1f3NuP zn~w4EHnZgW;Cn!8Pc~03i&b$})V*l5VqoEmW8q6?+pmLKiq|9&x(;B5;b;RP*Uhp> zLmaQ_#)}ZMOiG-yS#&^|7!3UdFp*wDR^MZEJ;ownY(3_taLdB!^#iW5DnWm^y0;=w zn2Yh*ef4Mr|?0(4HzQZx5@Y`IrI~&3QuJ@*aC|iM2VBF3C+92 zOjVB;0a^SLH$Xq^OPLdmH^(w3Vlg;1b~FZ5(&m#@&8?L?s;aX^i}#y zNDrVE9Mf0vJM{Wt*r^|(e;~fh!BO6mXTfR3c3&bRgQ2WNG=DT0a(qop9xVDzGsK=c zOc5e^NGzqqUP|+YM4>!CBTKPE1W8l2@`P!>S+tlDV%{JYmj)yW`$e-8Mbnp z<#E!eroN_R_mXb%hxRx2!BpQyX^51DPD(O&U;pq%Qj*uCad=A~mI!Vk80_1)5xiU| zM^69c#Xj*JSVfRy+Ji`pvRDJfiXIj$H5kk5D(1J_0&T4UTl@UVNV(C#EG!vRJ_NtB zOzC$!kc3iEQRV{_y`TE9-F06F(ioc@T#Gg*z*Csvoo4p@DvTE1QUi!zyuYj`KZvoa{@8)1- zrF+J!TWpL(LbQOZioalVZT@<=(uXM;Kd^$?gl)AO_II{tjp0sc7iN% zMJq6d@%P~-NIhAg9^l2n{ak;@G1T*#C<<}m=d3B&y?k6Mdj8~AUjK}#%qEJo@mDP} zF^)F>XOryUm?L*nrvhcqFR`T zNG7nF2$6@M!*z_%XkkSVY>=daXGZ+%q8kz&3_)}tODx=1&^pFMP+73H4q&|=T8khV z1X_b=-J;lSJ#MRlTz$=5Hd<{H^+3Tef`7}zqnpmP z+138_1J|^1G^4Kqg4V*a2BoP{ZzzvfSCr`>C#cjc1gy@iwZ(CSj#sX!aWngkew@&L*L5rwy zK%ixfZf{HDqL8M;SLaqi#!IRPtySXgREX9a~MC&eaTLx)MV7Fqvla-s7uio znO_HEzGAYA7M<1{_9kl9U<3rv`VD`KiFhE0*1Bk9#4)b|I>d`W7j_K8hHv!gk_9Dn zfh>4u9IYwkg=CPNBd5Z6K`SrI;XT;AI>T%cdS`7_s&st0!sy~%Cu;v|!@5~@b+518 zunesX2c^?T{v`c@R}BJi zEU(r!FX`Pn*Dflnt*Bt8g`Ku4hIQE5z`O;~u&N>MP?iNcIv!n6Hcsm<+x7XdZ-Sn8 zczxqN&f9cOmeuIoJgZr{sz2a+ZrQm@oaHCl`fr@TTR%P`Z?5gVZr?yh&-Q25Zvjl| zp(~~&ujjR>8^G4~&Mi7#gL+iU8n|rft|s(!REExe9eTR0lGV-Z&unozga+sAr+UZ7 z1kT-5$2q3v{CxWrDdrfZLZf9F6+$Csi#%qA(JI>oXrl=#Ff$~JMJ6<68ZBVt#d-`1 zh24C}MT!nyeAP8OmLIa)4@pm6e;J_R4^pY?pM0LKD4c)#$mN$`Mt5Cy{gXch^gTU2 z?N6*;{RI82^x%`y?&u{aUft#HH1kT>Gxd@~G|Nqax-oOUpaxgG~C;(^V z4C(*?0C?JCU}RumWB7NMfq}i@KM=4tFaSl60b>gQsZ$4Y0C?JkRJ~5bFbsB^q>+FM z78V#lh=GAy_!DDa05(P>!~-BC!~j#olkrgO@cCjlPVP=r`sCKJ9s9Fgm*|!7^bbVc zcSfXDIAAcc2f74M2C?rY-H!JP3sBd{*jXTS&aFKRQW4`qAk4uX8c z_d;#ff&F}rJ+YmW@A>W$hjm*)^E5Wz+#mmgnt# zCW&*+h($k!G;{Z9xd}Dzd!gw?6)%}OGMAIBd1!br_mfM8htiX|ZYwp{P|nYt$_Ij`81qnciKw zFGz>^NOZKE6{6cfGP8+J7|<^YE z5bV!IavzRk`u(+gnx8)a?q!Jp0C?JCU|d*uHqm?`8btWbEQsHRw^cuet+l7v!$(jH|s0V!#$3sKlSP2V1IrrAQ&wVDNmd(d z_u28;<=9QLdte`Af5RciVV1)c$4yQWP8Cj%oEe;5oY%QTxx90o=2ql(#ofhylZTwg zI!`yxMV<#d?|J_5lJfHLYVexpwZ~h;JH~sRkC)F0UoGE#zCZjj{NDJx`JV`o2*?W9 z7w8hWDezs8QBYRUiD09UGhrNIlfr(5`-E47ABhl%h>2Jc@g>qBGAnXQw4auvL z|E1)l+N4fNy_Uw6R+4rnohN--`m>CPj0qWEGLtelWj@GK$V$jsl=UcEDBB`?Q}(MI zpPUIfmvS9)%W}`;{>yXAtH@iC_blHgzajrpfk;7I!HR-Ug;j-@ib9Ik6!R5#mFShM zD!EpwQ@Wx|scccXQu%@kxr!x~8dVn62GwQN7itu0(rPx<^3^)kmefhq9jNC z0C?JCU}RumY-f^W5MclTCLm@6LIws0FrNVc6$1eM0C?JMkjqZOKoo}m5xfwiD??m1 z#<*~SZH+Nu2P$4dgdjn;(4oc@C>M(VW5t8k*DC!lUMSY~n@p0`Ilnm=KxA6(!RWf-Vnhz>kb2?MSnsf-?4q6UlxEaW(o{Q@4S2F&_g zYn<1(!z~>6JX66r>U1ceh&;18wIf`iO0G#Z%fgG2%{-b-VKJ=uV52RCT%f6L;M44~5hnw5j%`-y3QU z)lmGJe8-=Q$2HVH8t@GzagAK2J3pkuz0^4-d2}C1Um^R!iEW zo%zhnOyhyxow=Qvo*R&~3ZoNq9EX{inVH#PW(J2jajJV}1uxN)x~h5_s;htfYE`JB ze;!<}TwnP=Ke$yj6{=K0mAfjpS8l7^S-A&Q7^tC+2AXK0jSjl#VFHttJ1X~9?#2|R zu>reaSL}w}u?P0VUf3J^U|;Nq{c!*uf&+074#puk6o=t(9DyTo6pqF*I2Om@c+6lU zW-*6N*o-Zh$5w2^2{;ia;bfeGQ*j!$<8+*XGjSHq#yL0_=iz)@fD3UEF2*Ie6qn(0 zT!AZb6|TlLxE9ypdfb2;aT9KaiCbX7h65J@eGK5i#|{h;AVdU-7&|Kyl?N(4BuJ4V z#{w3ygb|kUP&^C|$0P7aJPMD-WAIo!4v)tZa4VjOC*d~SjyrHC?!w);2T#Vmcna>r zQ}HxB9nZis@hm(W&%tx?JUkySzzgvrycjRROYt(i9IwDD@hZF;ufc2aI=milz#H)< zycuu7Tk$r$9q+(9@h-d@@49|WNAWRy9G}1^@hN;7pTTGGIeZ>p zz!z~pzJxF1EBGqDhOgrr_$I!EZ{s`oF20BF;|KU5euN+6C-^CThM(gX_$7XYU*k9U zEgrz{@O%6Lf5e~gXZ!_!#ozFE`~&~QzwmGT2MCkIF%`C+$Uh(>}B>?MM650rU_$kPf1Q=@2@U4x_{A2s)CEqNC{; zI+l*3<7tLA(k#uIjC>7 z-w(oO=9z(&3%(JTO_v@)Yh^(OM$U!Yjtkg3+ z8Hy&aCQK{HjLZ*(kx0w!x^giJSW(^0u~E-sC2D?T%cV{nSR>Q%6DJV7XDqC&k%)dG zQm?68(F+FB85;e-8npQ^ZtTfOr0oS6`P35ad>Xxe(RE}XIiBDMsSE3+nTSo>a)ygm;`aI$hj45) z$BLnXUW+XT0RuzEjlN7&e^(D58+xVEsEHlI$-2DHLL!Tk_r``kLMsmP)KtJ|hkjJ5 zodQH!Z^)sRy`8z>knlWZwfv|ri)pEo2oa^8%zEXt0u?QuSZHnAipHvyByv&v(J55z zMYGWJxcsgWp+lr_#O|d2vM~F35OhmD4Xq%U5=%~Ch1QB&#=!40?1a_l97#k|j2LKq z8!e?cflNi0qZ0YiKo75RJR{L`tUyGrmDCd}a%I?XWEk=t*F$R%iL5=2S01m#QTfMk z&lZKqdVKUaR!cgZu-!hRP$b1>ozhS)OqPx>h$QoQ$LZ4cWa2L~e666xh<iEs`zz z8RN1DyaJhmy|%gq;!WN>k=3CX8Jx{&vvfJ_WnLcIDf_AdH(6TBU1hg4k$6_n?`U=@ zIHjT1Ws2wpel%oo7NKm!dFt`8dYnBXVcIa&XH6k~ROiiOZ`2w1yn|ifpkN2JO)X#? zaBx+=cQnL{jV8v)TbOMD!^_vNz;E;NopD9aA}MB zV!}D^)iNs`rgdgiK1|C_e9?ETRJ0Xxi#(|f5}C(_ie-&4lDlR1Fw}cFD1OJU?1#2)EKjPaTY=GG=- zJK?*xm=T%t+JSPyWLVfu<^{gzftb)CHpdmLTbKn>8>*C=q1)lPnI}^YzG$YopQ#&b zDp08%>kbzxA-KXwW@S|=bvaQ-uya4)6AYR>IaYP2Wre)E6*;0F3U}ydoxXC3ciAD> zb-{JOD`=`e(-+gO%xwjwNJU)ZZ(UD;zja-Vzjd}cS9^7SXU)Xsct(45Xu}ohkjq9r zuwo@NP_k|)ZFMf4jolL88gK2Lxy;I?3$?gsK5Z27VT!ReuKvNOT~YxDW@;@3Y8qNY zgUW7;rC4QQal3qhaWSrzhU`eKtvL*X?B%yqHlHksx$E}H5sp+-(gw+oGjZJq1J`SP-goi7~01yn7l!Z@+2n)>18`66&9#)YQvW?GdflhMQ&%Kg;i zh$c*SLKU7R$7O;lt4%t7v}{<{QxeqLE=5plZB0;K76zLQCr#(-j7_G@cEPG8h?$wV zI_|=F_v6%0*A%4bmA-M&GR(P|xt4zVsrBpJ$^K5Pz8rM9E+}7jHUq&)uV7dx8nMN9 z{fyAGu2aIC+c?`UO1`cLoc5g7sW+9+b)r#q zm@HQ9%u&x|(OSvbDa}K+0!HjvHfN+cH@j`aN^iz=YUi0qcmLlmb*$dFTXXRAI!kkt zIXAaSHJiI5uBN$N9;7skCBEj?()j7IGDZcn;WAkGQO%UjFTF8&@f(ZnL1KmVKEG*) zN!4=d%TedXR wKR5n@sM`5}7KXJ&;oFk`aftYr2h7i^W==Jm{tIe%siXh^0003|xQtN%02oC%ivR!s diff --git a/app/dash/img/cubes.png b/app/dash/img/cubes.png deleted file mode 100644 index 30712ea558d35b534748000961a7500e4e13864d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22505 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 z 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 B7G?kd diff --git a/app/dash/img/glyphicons-halflings.png b/app/dash/img/glyphicons-halflings.png deleted file mode 100644 index a9969993201f9cee63cf9f49217646347297b643..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12799 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 diff --git a/app/dash/img/kibana.png b/app/dash/img/kibana.png deleted file mode 100644 index 17b719eed07be90ae07aa95a9b2caa3a264c57ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7359 zcmV;w96;lVP)2SV(0opPy%Jh`&;752`AVtbr!FWcNXACL#y7w=^;>Lm)%S9=>uI8eLMSL` zA-6hcA4NRUy{J)>6N zvz~GZlqnQKK|$+j@;pN0!-nB|(Xc`x6cn_WhUXCyDu4ZX)+SiFEEGaPL7VVusT-X$ z@W{AWWhf{ZAyT{bF@cRJ0pEFqGzx`KP|ybA_Wz|18)6p>tFIbdeyo(KSY;?E=pfRT zALH(|YWWcgg-}q?GRiUcy!IZX$!CN$y8Kuugo1(=lRRPAoaM*#H2m&W{_ToSuApFK zcyjTs5Rv{yzNH0Ie-76GAL5Gr6OVYOQ#Z>mVDffiy znkB!eVoFUbgPhBc@e78Lt45a}gKvc`L%|wCcycYJrx4q+N2_;q{Vf_dM=vC+D(9~J zwZdLYk{Q9iOOjA1gn~||X4p_8kQ^SZk(tAYXi#&84PKQrRQVejE@aAQ3?&MMP|(4o zHL*c!o@dw)y-w`<+nmFOEFzuv=yXLwVm9?#ST3P3Ic`_(6$+tX4Iw&gNC?j}Z19R3 zz1NyyLtU+X9-m7gtk!uTzE%wfQzaY)B39OfQ!b$e1&T-YXPB!5V~T*FAIC5ZCgj4>{8F z?vE{Psx3oYpFd6Bv)k`GY)DG2PzVKU2ARW#l0?Gik{Iy z$v>2^P%acg!5TrUh7Fe5nq~8)m1EeDcXF_<`2pW@BR^ z`7_fk_Q;_drZi;QGpzLuX6PaaD}`l-H@X`$Z17X{Z76;?tx9Mh8`}GCLgAFc#zuDO zaXX(r*Z&EJ;)OB@e~(;S0(*t(a643{Xjn?x329{-2GmHotD$?*EE3Wjz8m)~y+pA^ zPoWF=m51CBz_or!t{JH6`+)mBM5lr=nT^2)262WmWsEgJd<$hWl&*_bri{VZ;j}EF{A_vXY%ycaUx2y( zPiQNN4PU2L(8#rW@Pyz>`^_1x#TC9z zNZUrPW8-I&xT`QB*}OR|KwbibPTb)krx1=}` z1rb&p;R=+aG9?qO7}5T3^jXqc_qez=A+3bC9<*c|b3)}$El0||LLrPIhAUs?I(&Ed zPTUW=DkP(qP?=Y#&d(0Tjiw!2M&E~uBaicwSml#7Y)DEgE<8WJN}%R#Weg?qDwjBc zLLrP22CMeP#dVGA8QZt8mr!@b@)$NGCT(*L8=}t@jhmx)5ObB~F~W(*q&g)pj# z>l)@*0kEtFvlQ%L?KyyP3dUCbKckn>q`rdJu)$(k26kmMtewM#__t9TnD*zf@QQ(d zCB2E^d&x>MO}P~3GK?}T7Gn+8xb3!X%WSau))IBnztX}l!8}!hK5KafQ|dF6`?~u3 z`%XRJYtMtVy^DLh)?T%0a#vSZx3#9bWb71cOn1rJZVPWS)@)kYE?dcO`22&a{D#Yz zckgfP!`k8fz_$F5EtMWMmOg7upDmfbE>nKS*s*=n>C3 zHkc{a&|NCiZH?^)vlT;)WL4p-uPylu1X79}lloFHzp~H=w$DJHDcQdAz}UXmb&c)o znL2Sfz-J$McAc?ZtEZGqshdGN#bCOvvE3z1H?Sq}hPbDQ%`rrw5Jo-W7jLnce;I2R zSi{fOSzcar$_FldH977D0QAi0833LPJ~hl+)Vr-U<(b&hOt9Mx@0uUB0;trXilS<~ ze_#iI+pRS}>neBse1m=OdfF$}q+&%|&zm{N6X8tx_3 z%_@VrYQUDiI%%I@J=tK;d8)zVE#*sXRbHMz^B2U3}(aO=YZOtL*3kCjs5b4 z+f2Eoa^u2AQVZyrI`uW+HsH2i_#}@#eK6LX1?&*lxd~qu3SsoK98*4Z(xg>a&6;+3 zylbB(a>^dF{|Fp$;iBH2u2N|Z)*cz{CDh;DHdiy)|M>~~{bp%1%N)mgGZwrAeBrsp zhhJ>WtH&Exq25>tx7G&T{+w2iF2}F_v&?byK$$Hk-w52;`{$?kGnn&$ z?JGUFX!(mt#ZijuCGhY-nH_ufpZD!{D1$Jc*}doS6L&rPD6ofMc_BRUSVx<>+*(~ z!1aR@cKPWX3}-`Rxi$-9&ziSg_f@SbT3+T%-E@&Hn|*+Phwpdf9D=Hj2maeb^j;BJ z5yaUR*d#;#pCa<7oW+@_s`bnx4+6_Yq^T2lnOGhlvv${^m(RMS?jeGzP6PzEbTtlG z4!nZ<`~5pDZW5>Mb=rz={i64P{;^&6TkK{gd+a@EEr)Ns_kBz1$qztP*8(=cJ;zww zkN;&6dAZ&+0XE$EC+9uC_+Y`9Px;7OYrl8NcHLj9H$PQfAD9e`2VM`X#J!KFMdYP= z)15talZVcEv~T8^l356>1s$pofX#qgGNoWE;IZKQ8NmN!$bSczm9s3r%_(1nsty28 z;g*Mf58MGfAR;Xq)0^XZ_P+3i9OW~>PQaePZot-rCeLEzm*Spd5wK819!rvqa@<}$ z%Pv{`#ehAX5fAsQ-CosaxVgZ1%88jjzxJD-G(#X zdE)c;{9#8d@5vB-VeQiEKA9(NRoxNT8}~l81tz4({tI{*_Z+v0$nW#yHD~Iki@xw! z-g^CV0TOrvn5JiD{w*U`7z)aoD%S1ec;`}=hMIn zRlN?lOhh~zfS$4`A2Qb(o7!+0>^Fiv1F5L$dcd*3M{ygAe3=039(=y2s!Mai~KVAltCO@0~Z5Nsp=e6eSKDhQzlP-6>Gi%g+k~A z_5|)x)$3Gsa^0!eQu*Jjx_*)rtg0ndJsEf$*D8*yJFj>)!Tk^)R@E74f+y~L_FoO= z&ZKZ-%L|giRMn{J@xWhzQ-O8sD{dmY0*h4j236fOOW2swcap-awf9^wP5zY>uBsow zy^k{qwi-8)4S-(YF;$(JB|Koet}xaPcB(?iY-IulTUv_tayYO=RXmNizGdNis=7OHH~zni zW^^`Hs5#Q>K9fG{4Fk0|G7(aH!pE^|` zZ0#ZQipa?A_-X@31DE*qw+?zmRAs=Io^z9+1Xl@835D+E29 z1vG!IATP%N-;4{`eBXt!&vN;+X+zJVs+-}KoHOSoTFmyqZE-z?6E@#`b;l`$psSoY z2?G4F)n(}bW~pj#-bkuC1vh6fzWGI}i@ks=^F~tD4S=7~InQyNs?Nz9DOei)1tZtP ziLwJuN!RSr=)`>p@51fM$|7+L+GIY0v!BmP7jD966JRQ^KlS~vXRGQ1BC^m&IB1El z2R5uDuNAmn#m{lR4-|MA*a-I=TjM6%-b;RS#UoX9v4~vZBdn@jzzx7#bLIoixZrN! zcHDB_)41Jzo8o?3({Ou2>Y31+tE#^dkz0L)g9h%q)b|{#anJBG;BUD1@dEDMZUVd= zH!Pb$%m%Csb_He=IbX9A6~f7$a(B116rp^YaoDS>jsx}qPQ!0ob_D}`PgS=RNnXMV zaW-zlO&*>A&H=7V*lN8DSb}TiE(|8dP6Li3*z)ShJXO72M4s}H{TyzmULF+p9M>jn z=^a|x2<8Lc7vyt5jyw!-jjFy~M0|FHejKNK^6)J1CEzL%iJLfI2K*VfJMq$B73l=v z6!HzNW~=JY!<(@>YRI6f+W;T(5Pc2TC0=6?kyRq{6A{@7_XG6a@{4N`GWWu(>K3>y z+`g;^P6XaAB3Jv`U5Lm(MdT!43tVr)m)8TAWC^M2#^igB0o)GI%|+x}KKuJcq%0!$ ziOBnLlWlp1pc8=evV?+)`sEzymT{{yn~BK01Z7Zzh&(4Eb8x+o@8-y_1Y8!LEbSPD z5ESYn{JNrd`u?#x5fQl=*NWeqBib>60aqGd!N0{`3hW{xU$57$B53Ik0_Nq2cA&@3 z%(?itbk75OiO4ziPBM$gy}*Cry5_#jQq{L-$jruV5c1&_;Qb;pw_>oDmq0Om6xZwV zHO1T!_+aItV-y0e1>D_JHnWxKbOK|V195f$J{aJvq`<(i=OE9t`ha(f$OE48i3Ba} z$v~dTw$CL6sOpxuZnh840`CzKFZ+!&f_?up@qZsBQhG6}x(Vl{woRl1;d*-&cttS>os7ei2U6%&rCw^!`I64s9^VG9LM9gJ$w-Opolbe)l5XL z!VN!s*tTN7F`^0~*k6A>@a-JY=C-IfBZ7zw;N>btb01C>kze^1%$Lyn@KKm!fuo`~gO!Dv`w5)uyJC?S5t)ly zHS*!(FoFs}Ri^=W;%2LTxkE($w?#!7F#?AjvpvP*erWsPH|G8W&@!(*!Cb`WJ;jfV zxpx50@-T}(lVj6XUV{0lb3Dc4o?}O#+aqot@Kw)z>g99z`Kz0$s;_ISLQvH%Rh^-# z*W&!*?~)_>N}QG6Xyr%v&2+z2RX2~^+to9VGlFh$%Mg*#yTl>%Aoxy5C7~l6Xr_~;{f}zN@9-`xb=}p~-5E!xuZdqmmFcG(@Wn-M({hs*G zx<)x(L^{K_UJDSBvZ{UqxZFd0H>!WEJ9)%;Mnrt)DjH=z;N#NwzmJfL$6=2!S(<>9{}04BS#$taV$1 zTqYvlYeBl5#sZvaZ`Q7}q2zU&GD7eu>swZv7beaI43?9Y(BQg9u^o(!MqeeRY(j z5uWsr36H&#mhYnYtj08x|MQRu`|nr}Kf8iw>MKs&`25`_dMgA~-5a-`{WJK@1UG`k z&GH`JI`70Ci+ad}jifSt<^?=kM_C%d=kV1xBz#Z9=kL=@d@64EeZ0;y-A;TT<9+84 z&ZfOi9i9Zf)#924K&7$b^-EZ~5BoJHp2hD_nVe6`N1G&BQ0aaM^v`|8?T~ z80XtVXt#%#x8OYB?$E+Kyj)b{-<53^i9Yy4geRkXm#v~pW348yGWRv7Zujuf=Q+Y< z_pRt1`93;g>v95{;@myuHRbii*Ep)(PAz=$3zxl972AI*YxMi*WQ723Y<8=Mm0vw9 z#m{T=+ggx!8d(-}P`$0z$F~5CoFBjcC<3E3A3q6GTV0lVXthFUM)z)g;HJQxR?`S3 zD}5$f_HJgrX#|Ec|K%b2c;!p5mhH2GuwT99D#*>_*&?0!KANczRsc8RjBj?tEyZ-< zD)cru)6)6WH!1XHoY$bdZo9JZS!15A?(o@ma1eg)Bx*q9W304u8=vDp9iR8HW#D+V zqiBXgcoyfrX@ZCxDk9$%k>82Pvm#Xz>?!AK^4~TZQ3w`iskNDid_zQ5`9uaRK)O1;!L13$&>DoHr=qBd70)GdgZvgIBRbMw>iKyyW zRsA;pF5w1Aap|4YTTvJ8MBv^QtlSg~^VuA-m#XTw(oSe@2YD32N}4!+Pv8RlPDy%O zjJKUexC(#2{OjUQHNGV2(9A4?E!lVD@0AyvZAYqum|z&^>u1p56ye=1+zt94P0*9R zAyaUeV}akO>K-jBQYLv6!o?}w)us@*!uD}U0r^hb$;!8kv*PsKe{XP0t$$b5Il)Or znW*YCRsA9GTimHZzAVGv=i*5?kHo%A2Odz>8&q}wxRaU-8sZGxad^ILhdZ|YHdQ@L zReh~Mn?fE-z8|!#6xCdVQwmu#ukUJRrXq5Os?NpVbv3vlL@&^*st@CwcRYowz%S!g zCpN}8(0D)f9m`$@jtXY3GZB#oRrQnjPij>-EcmQa)%$U~IG5qJ;nrhy>f=Ui)FUEK zsOk|ok5zdZ;Jt!Rzp6ffvjAR(vxco_2e8-Nm#;#2Qbc@~=Nd*tmZ|E!IG1c`G~K>I zM9xvwsrXOwh1o9nG@Cgh;=5l001=rVOn%n05osLx&r~c(K}2p*)zfi9;=GK-`ONh3 zo7phF8mr-xadP70r~Yj%TE9IS*QM_SE)x;oiPk8m;=l2#pv8#D*T{G7;)vj@5PXb) znu*UL871mFUOkn-E%yHS`2=hwSJQwm$-qtd!8kW`1)agifp3mS11He zg0A;-E0jbB9Ds50l*HxMYR9ShJp|x@|1`ih5K!N zf&9Kgnno9X{^47CAY}~w_?0Vc4E2&n9AAsdL`38@oOR-rsw%kQ#4f{BzDXXV2`t%3Sxg?sb>F*6dk3-qiRyBONy#003ab=xLi@ zlw2eo=7w=~((%csuz8+7oa94Xn2V4uM+$HHT{tfLgp1LukJ^7FmGO8*CYVI?D@|G@vRw4R>-LHqid z*3~Ka z|AhX_Q7F0pAN0cYSbIPF|0fvhsO;oT@U*|Mzw1BIDuwrQ{?}+mM#>m3Uq5>g07654oXf(Q9(&T>)*24-j4qNc;Vl& z*#F2XApb|%f8zNcKPhYD2(AG*tS-UZ6ZS7(D7*g8x@iB8eE%(r{U3Fa*ZCi1r7o0_ z`X@U7w`l!$*F_5aQ~giwT{Qlay*RInlqFo`W{B{L4*-CAh0)fy0p$X9e5}Sz`$Ipz zX#VXge?_Mu9QytI-0FuHPns}kG4PcYSC>M1$+dUs_>p|NsCN=7z{A$4)Uf;CpY2Y^ z;yPaiBk>O(y1CuIH0JEb&2anhu6(suUI)gr!R1AEWpK z{iE{y8=RT5OvV6Ydk&}Ud)G+!PkvE&Y!-0g+lBBsUq`3v8QjwueS4|y7bg*jw|G&x zq{Qd9Q@WC5RLAny1gCwz-x^b8z_$z)(Ben+<8bLBg{EIVv*Bcm!-w%@Z66g)6bG@D z!yYhX*%Mh8;+9jW=%jV>+NV2nZI7QUH}6oTmbeeRz=+qOuh%-wG()hvq_t{p=QQDG zyG%;s7t*lB}cg#c(mvlY~Jqb1p*FRmfdQ&iYb76N-HbeZtv+REWS_=Yls>!`229b~~<0rBbHuFA* zyvUTD85VF=DkSrp%S$og-8oy!9$E)OD(8g-D#~R=diN^KWfVTs>i{GHq^++AWu-fuF6p+6IF{58(Ow!J8obRg(DHD%zftSwx6Gj*?9fYtc@ zux7Gb7kN8jJ9F)Fz}ZpagJJo-`=!HwC2fb_9v+JaPEE(gSyf?Xvx;2HPCDhnZxc8^ zEqP_l?k)M{Zd=s#;u1sXBxrws)J=!7-kj%bgKHf zqF(DWN@sk;PNjZ~{^;UEdNYe8Pt~>GwRMU!cl#`;|FLhI{^gsSa*^AN(G56{^nT`+ zHwv|O26b9RExxH;=j!Ai-`#wABn4#D*CxiP?2dCdu9$bc>|eA(v1n9$KtuJ&$#pO0<9D#^qT~3 z`yLBB@KH^gW!rZ<*aTv>^yEfyt)R zUCMxTZsERJ7y3E(9mSQo@0!HUIIS-=zIhRu7{Mtjz2;$Z({560DZg@E{*B2}RiEn= z)YJzFXmN5Sl}GqC>XqocCDF(|t5->`cDa7C<#G`hSIyLG9@Yrfp0XZgP_@Ncb;{R@ zq-FtZ{oEME$O!(>M;e*MzXa<@RS~DPO`Lxi!qSIf%i{00!e0+!`MnjjzO|<|pSpM2 zUitmQd%^N;8@GYRM{<5Iq!*mR9%j9&I8qW1fACZ-_$qxre6OhI;r#~Z4z{70kpW}H z^HV;Xvaplm(lQaG$ns_r<<_*f96f_L=Etu-#MsH7W*QQISTkkthp_t=6s=DS;~!v0 zm`+qjLC}G+@r|yv40D(gi?u&8kf1$8hlG*nS+^k&n&38vrq) zfa;?dh_uXLaGfG1G(cWJYKY@Wa2sz%cBeT-Ca}dl)#HYuHX?<>D3n3h4)YtOaWhG2 z`;KwU0%J4)JC_CgP$=x36$`8kM;}17bJ3@gDE-(iE7@t}# zWKnMMSCkG85V1aYIlx)SIj=v-pTf(Xi)m_rNx~&uv4%A4AHx=JN=&Sgtqa;{L+s-1`j@IIlq z*z9K$afCK{Lz<0Jh}LNSVzbH+3)-^oW}s4{w1PNba(94`)_EhKC_HZH^FU?bk{aT+ zVaR=ARIoFR!l&DS?#Y*1i`Iy{>esT=0;ir17w|Q0l4YljTe~wChF!tSl??UXqRJBQ zui33XUAkB&0;@s;{KNSIcALwwhib1Y7e+i?ZT8=Xz4rUF@9n)xZr;lVFBt!{nK7wp zDR@=hthM8tT=w8>ADI5|>~mDV{FdNyXpY>5WS#Tk!GYBJ+{98CqvGD5eR0dqU7@;l zHBoLiR-x>t{LCB$drMPxfF8BCdA=XNobZNvb)EK3maU}RlQgTVo7;Y6tfA;WZ)KHN z<~N$w^C703O95+r^m}>LIUwM-#}I12z+(d!Fn(NR)cXWCu;BBgiM~%RO=Sbg82kZ+ z-m`LxHOgQDtAC8UShKICwwRgbd*04_T%TQ{XdKhgQk@$~S>TVA=IdrJ8$RqaR;H|? zs58)V&qwNm0wAwE=~BKZI|ll=*4g%T^ipNEGYw~HJh6K+xM8{I#L0m4ukhbnQA+{M zl=`5!#N>DgS6-WHKSjF1k0dm(JIQ zH^*Ks_j}=duoT*yoj0(9$Rt0AvmurG`G}HwKf)NudcE?n-Rj_SOA*K%r56| zH&iz?MTFe;a22+(_rQTU>KWpufb5~!y)m_{%Ch>5U@CjNAV>5@Wjk4Hn9*>mqJ)DR zXV~NS60jOA>^EoSfs^OsX>F)CunFQN>FSCW?BbJS9H^lLV0xU^Y+r?ayl^Qj2!k3@ z9;Krc6zdu_*A2MC2c~4!V720HL7`;@2MmSU%ILp-D@gc`A{I1P0*CJO)s}{c_ogTt z5d|5_nVMtJT@nmG#3NAB84WMl+so8!@k)tK7K47f@~)rhYf+bd$!ZivPSJ2f~X-Pr*4GR?6$%JzYs{@Snxa z{jO;pS7$|U?f{T{0Wj{R;KjPkUmsY*e?EP$F;2dAzE&P;nUo$MUHW-fW|rw%!5SZl ze<{4oDoizRaN^IarE1Hwqv^m@m6H?o%8b*eVd2f2+tXvL8Y1OQrwfV>=E~(!Kocv*&uDJ)F@x_@Iy^WK#6US%vhqo>8 zmMxa_;&h-k86-Z(L>Q|dN2{Ok)o?F}xu)JRV89ZFY$AN7fKZ}^%<$w&`8Vm2bmRd+ z7$m76U&CQP)$l4KyPe-^u+|fgo;Sm=5~k(1V8;cWM3?WEodN@ITqS8Ls;qv0Qu{8P zZjVE$eT-mv3-pRorTXSZ@7=AY>q(&6BHfynfm_)&k|-8qppSfcuDI`3Qvaw9k+j(N3Ez zI@F`R-9Ai)(yiOWtrRnNQ^$Nl&??&w$w+6XiM}=o0)^09S-WJ-VtU3)k=7wdwl=d? zkb>4n4Ae=~Ri$>e-Qzi{#ml-?ibwJmTG{ooJGus}{+3V1>m6k){%F^9qGH&Z2x{&M zcGa!o-@G7OeWMs|B{rRX31e$?!KBiuew$wgrBUr1{5A#i@6B7Hx& zEfD_7%)9IwpXK3KrTkk=T{p`1WN@8axl{}H)Zw#16jNOO0?%N& zroqcdSYURUM@{sG7oh56NP?{v5KR#-PA!k8O>pYX*!dPfGmonl80#Dwd*E)G)an4b z{EF)7C}4Eoa2C!~Wx&q3K+lALMN9A&88cJz5<~To~K%Vg$B66PFHz$m=#I>Ar+Z zq<0}+hfh1nGP7~t#;g6vQ{^QK-nFO3Q+7id9u(Q|@fk+{;6mf`_FYV##e#ZEfN8-2 zHO;V*rd)nh_4qCPjQud*%};4!E<7Mj#g?}_n!eUn4vwpA-KM)F8DeCA3y*NJN0oW& z8~mX}e`(DE^btKSSDccKr9MUEs!f~O@U8uArond0qPiV_uHTS)PG=>7`ECj(*{_Nc zb{VLBbSh6_73$7d_ALVzVC=l$_!}UU4G9Vept)dJ-))*=7OI5Dc9X#d)%`62rKXOp7gx)bPNP6V2g%59v ztjhQb6p^7hYU8i-Md*C`13ROfk^FmplByAXvJ5tws_~YK>@M~G1nQ58KVtb*IZ+>tf;JL+CCe~Jr|Ag)REwu z9n@A?rd}s_j;sP&z6d7oEccNr-YoRsv>KwZ^TN<@LZmEq&~>(b=J5uK)70w4nz5eY zINPm~NR?%!{C+;{Nb~0}dW13hLhWr{%TErjz!AQ9aVBwVl_YHO09yH$FNaGT{me&N zfWPWk!lK;diky|pvTTcD#Jpi$Xk+VwZ`R6~zB#gvo0ffOrSn^*5aEO89V~a`B$vO; zj2~S^^2`GfXC9}d`CSd0%1<{bADL~#NORCuxvt8WUadt!`SSILN&~I(y^o>o(z|#b z2T)F(3KbmDKPsu9F_{De=-TsS#rYWzS9OA1xup`5$qsCT46^;l1RoAIVL)+nZh3^v zYsWwU?d)?LT}1?m{VPas3NT}DY^6e!yE&*`#WG3mR&wwph0cu&K6W2(uc?z09og0^ zY$}A(_cv83$ZwLwL5y81hDIbK55OCrUl+Rq8rYYfrkd?lIyKu21nt!i)qRTgHcSjg z!{j#<>wm^wUIZmXRP7fCkI%aPZ5yfd+UDF!85+6A|I_~3_tDEoNEdv-JI(L;woY=V zf71ZFr=Dr@hjp-aWj^9g`Dp5%s`icJg&4`hc|t(pT1%PSwQElRbzkHMuZ7tT9i4_@ z?(AM?A)X(xw#mNb_ZXGc&5L(uO`x^`(o}J)n4o-&wK1;a?|fTpyQ`?gp!X+;G2WY_faoZpPEtdi_v}%p5=?_XHT^P zGpWqi2itV;J;Z_MDVh8FNH$1Yo6rD173C?W%f&Nf@@0E(5rOU)KUG-XywK)AO~X9h z=f?!SO5W7fMa6C%5mi<#me+j@EVY@77TJ2*VtL%0D8*4lc@@}X9}??K6=R28Mn|&W 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 diff --git a/app/dash/img/load_big.gif b/app/dash/img/load_big.gif deleted file mode 100644 index e6daac3829edc898ca7b7e2de4aab4ed84ee3eb4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2892 zcmd7U`#&4z9tZIBG7|K%wI#wjZD}Gw*D4~ZUS2&&(AH=r5_+mFk%+a%$W3o6BB5Jb zorG9h*F@BYA`yB)D;MjgirlPg9VBi&wJ8ytV|yJvIp_QX=Xt%J=ZEKq=k>f_pYL-C z#s(q%<1PU<0Nw%sP{gNlxjZt8usm*Cf*k%LJ}xc(tV;$tEzu>85=Wz+i#zK@{ygCv zV4GdV?n^`vVvWAE;Z|)b0T^&NS#E# zB{~q3Uz!SWrF@w@SG3#qaU-j@qF7AsTa%Emzw{eFyIRiU@=c(|fQrxbFIqYxnzgmH z^TXL~vfJRev_Z|oOKBLoKYt*{oooUZx!Xk1{7fPcN?D|Rq%de1EpQ?PE3OVLQpvi2;~KOX z5z|U$#Gt9FeK9MD)s~0{%ZN+OE~T5#DJe!JA%%MRCN0^~(dTK|&V;#ZDaMl2tLfjw zcC;N%;a-XPZ zscoz~Gjsv}E_mjL$QSK#{L4SyX=c(F7x`VLw^5=OZKF~~}TdhYJ%qvpaW zDUz2fHQ^JW`%4ijSfZuq^-m45ZE+^q`0_OZ%6oZ}Omxw_!j z6mM2v!gb=C>s+s!4}X_@x$c}3hx)62eWJY^G7z7YJz9yYlNZjCU{?Ngd+AxeWT3)S zX~1Fq!35-dS-Li79;k$CL*^+(sNzBe9`0B?u9U@%8${J?Cf1{>ILN7{TZ1Rj^-N$U zRKFmjbDh^A+QyT9WDjbn3)HQ`y;EUcwOL0?9wfi7S1U`Y_TSQsLUl~*v&=hH`P*sf z{4H^lzt`uZ3x$If+a4fx7@h99_&8okzq%z?@#~NLq2#nk_lo|woLwxkLwvU=oV42oo;-wtst=`B1t9a*7%g?tB= zgYYyFpPbvg25#_&fr9-h)xpYs8-MyZ$JSoPmOkY{V$91&mPz&4UK85gP3YvZJ-Da^ z0XMn$V{j~LFtnvL^Iq(;MbDBj&$De~zkoiOA6Frd5mvB3ORPl|FTZWf+zmFzfY-_m zCH%g+b+eQ@?xRK)0$P20r^)u7i}&eghDUDX(DKLq`VT_gPn}SI5q1CPs^_Y;sSk<9 zTiS-ox+izh=FdACMtmUQUE-1HrQJ(i83nUb4AC?$3(N+{X4s#mvt&+oFqTo_A3LV6?6(F2L#vn{ZuCzwqs`SXVW44me z3*1Sxt0%!jbdO-`Ii)8kl0BTZ3feBT9m(AK$@^GAmQtli^qBm+vU3{3f~t zQeS3xWHr}P7oghmVs#b&b>CIL)9agU;kc)+-g5{~W^Y_0Ex?zIPuM(T7x^UWi;O(4 z*$2_2`I>7Tqgr2g%0S9^!jf*6HNLZd)IJfD1Ct2VwAq_E_eX^|cd|4KI~Pnh@=cB) zR0|zR=eSoB=4kcGT!^v=B@QnFqvt6hwzBgoo{XzgnL&CHQ9OarO>BC9f7)3x%KnG( OfB1hy|MB1bv;7kmqEm+e diff --git a/app/dash/img/small.png b/app/dash/img/small.png deleted file mode 100644 index f43d30ee98d7bd2e0b6969769f888de9b0e59049..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4290 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 diff --git a/app/dash/index.html b/app/dash/index.html deleted file mode 100644 index 7208962..0000000 --- a/app/dash/index.html +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - Compass Metrics - - - - - - - - - - - - - - - -

    - - {{alert.title}}
    {{$index + 1}} alert(s)
    -
    - - -
    - - - diff --git a/app/dash/test/karma.conf.js b/app/dash/test/karma.conf.js deleted file mode 100644 index 08a3248..0000000 --- a/app/dash/test/karma.conf.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! grafana - v1.6.1 - 2014-09-02 - * Copyright (c) 2014 Torkel Ödegaard; Licensed Apache License */ - -module.exports=function(a){a.set({basePath:"../",frameworks:["mocha","requirejs","expect"],files:["test/test-main.js",{pattern:"app/**/*.js",included:!1},{pattern:"vendor/**/*.js",included:!1},{pattern:"test/**/*.js",included:!1},{pattern:"**/*.js",included:!1}],exclude:[],reporters:["progress"],port:9876,colors:!0,logLevel:a.LOG_INFO,autoWatch:!0,browsers:["Chrome"],captureTimeout:6e4,singleRun:!1})}; \ No newline at end of file diff --git a/app/dash/test/mocks/dashboard-mock.js b/app/dash/test/mocks/dashboard-mock.js deleted file mode 100644 index 3093f7c..0000000 --- a/app/dash/test/mocks/dashboard-mock.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! grafana - v1.6.1 - 2014-09-02 - * Copyright (c) 2014 Torkel Ödegaard; Licensed Apache License */ - -define([],function(){return{create:function(){return{refresh:function(){},set_interval:function(a){this.current.refresh=a},current:{title:"",tags:[],style:"dark",timezone:"browser",editable:!0,failover:!1,panel_hints:!0,rows:[],pulldowns:[{type:"templating"},{type:"annotations"}],nav:[{type:"timepicker"}],services:{},loader:{save_gist:!1,save_elasticsearch:!0,save_local:!0,save_default:!0,save_temp:!0,save_temp_ttl_enable:!0,save_temp_ttl:"30d",load_gist:!1,load_elasticsearch:!0,load_elasticsearch_size:20,load_local:!1,hide:!1},refresh:!0}}}}}); \ No newline at end of file diff --git a/app/dash/test/specs/filterSrv-specs.js b/app/dash/test/specs/filterSrv-specs.js deleted file mode 100644 index d3f3dd5..0000000 --- a/app/dash/test/specs/filterSrv-specs.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! grafana - v1.6.1 - 2014-09-02 - * Copyright (c) 2014 Torkel Ödegaard; Licensed Apache License */ - -define(["mocks/dashboard-mock","underscore","services/filterSrv"],function(a,b){describe("filterSrv",function(){var c,d;beforeEach(module("kibana.services")),beforeEach(module(function(b){d=a.create(),b.value("dashboard",d)})),beforeEach(inject(function(a){c=a})),beforeEach(function(){c.init(d.current)}),describe("init",function(){beforeEach(function(){c.addTemplateParameter({name:"test",current:{value:"oogle"}})}),it("should initialize template data",function(){var a=c.applyTemplateToTarget("this.[[test]].filters");expect(a).to.be("this.oogle.filters")})}),describe("updateTemplateData",function(){beforeEach(function(){c.addTemplateParameter({name:"test",value:"muuu",current:{value:"muuuu"}}),c.updateTemplateData()}),it("should set current value and update template data",function(){var a=c.applyTemplateToTarget("this.[[test]].filters");expect(a).to.be("this.muuuu.filters")})}),describe("timeRange",function(){it("should return unparsed when parse is false",function(){c.setTime({from:"now",to:"now-1h"});var a=c.timeRange(!1);expect(a.from).to.be("now"),expect(a.to).to.be("now-1h")}),it("should return parsed when parse is true",function(){c.setTime({from:"now",to:"now-1h"});var a=c.timeRange(!0);expect(b.isDate(a.from)).to.be(!0),expect(b.isDate(a.to)).to.be(!0)})}),describe("setTime",function(){it("should return disable refresh for absolute times",function(){d.current.refresh=!0,c.setTime({from:"2011-01-01",to:"2015-01-01"}),expect(d.current.refresh).to.be(!1)}),it("should restore refresh after relative time range is set",function(){d.current.refresh=!0,c.setTime({from:"2011-01-01",to:"2015-01-01"}),expect(d.current.refresh).to.be(!1),c.setTime({from:"2011-01-01",to:"now"}),expect(d.current.refresh).to.be(!0)})})})}); \ No newline at end of file diff --git a/app/dash/test/specs/gfunc-specs.js b/app/dash/test/specs/gfunc-specs.js deleted file mode 100644 index 4ea2b1a..0000000 --- a/app/dash/test/specs/gfunc-specs.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! grafana - v1.6.1 - 2014-09-02 - * Copyright (c) 2014 Torkel Ödegaard; Licensed Apache License */ - -define(["services/graphite/gfunc"],function(a){describe("when creating func instance from func names",function(){it("should return func instance",function(){var b=a.createFuncInstance("sumSeries");expect(b).to.be.ok(),expect(b.def.name).to.equal("sumSeries"),expect(b.def.params.length).to.equal(0),expect(b.def.defaultParams.length).to.equal(0),expect(b.def.defaultParams.length).to.equal(0)}),it("should return func instance with shortName",function(){var b=a.createFuncInstance("sum");expect(b).to.be.ok()}),it("should return func instance from funcDef",function(){var b=a.createFuncInstance("sum"),c=a.createFuncInstance(b.def);expect(c).to.be.ok()}),it("func instance should have text representation",function(){var b=a.createFuncInstance("groupByNode");b.params[0]=5,b.params[1]="avg",b.updateText(),expect(b.text).to.equal("groupByNode(5, avg)")})}),describe("when rendering func instance",function(){it("should handle single metric param",function(){var b=a.createFuncInstance("sumSeries");expect(b.render("hello.metric")).to.equal("sumSeries(hello.metric)")}),it("should handle metric param and int param and string param",function(){var b=a.createFuncInstance("groupByNode");b.params[0]=5,b.params[1]="avg",expect(b.render("hello.metric")).to.equal("groupByNode(hello.metric,5,'avg')")}),it("should handle function with no metric param",function(){var b=a.createFuncInstance("randomWalk");b.params[0]="test",expect(b.render(void 0)).to.equal("randomWalk('test')")})}),describe("when requesting function categories",function(){it("should return function categories",function(){var b=a.getCategories();expect(b.Special.length).to.be.greaterThan(8)})}),describe("when updating func param",function(){it("should update param value and update text representation",function(){var b=a.createFuncInstance("summarize");b.updateParam("1h",0),expect(b.params[0]).to.be("1h"),expect(b.text).to.be("summarize(1h, sum)")}),it("should parse numbers as float",function(){var b=a.createFuncInstance("scale");b.updateParam("0.001",0),expect(b.params[0]).to.be(.001)})}),describe("when updating func param with optional second parameter",function(){it("should update value and text",function(){var b=a.createFuncInstance("aliasByNode");b.updateParam("1",0),expect(b.params[0]).to.be(1)}),it("should slit text and put value in second param",function(){var b=a.createFuncInstance("aliasByNode");b.updateParam("4,-5",0),expect(b.params[0]).to.be(4),expect(b.params[1]).to.be(-5),expect(b.text).to.be("aliasByNode(4, -5)")}),it("should remove second param when empty string is set",function(){var b=a.createFuncInstance("aliasByNode");b.updateParam("4,-5",0),b.updateParam("",1),expect(b.params[0]).to.be(4),expect(b.params[1]).to.be(void 0),expect(b.text).to.be("aliasByNode(4)")})})}); \ No newline at end of file diff --git a/app/dash/test/specs/graph-panel-controller-specs.js b/app/dash/test/specs/graph-panel-controller-specs.js deleted file mode 100644 index 068ee18..0000000 --- a/app/dash/test/specs/graph-panel-controller-specs.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! grafana - v1.6.1 - 2014-09-02 - * Copyright (c) 2014 Torkel Ödegaard; Licensed Apache License */ - diff --git a/app/dash/test/specs/graphiteTargetCtrl-specs.js b/app/dash/test/specs/graphiteTargetCtrl-specs.js deleted file mode 100644 index a912328..0000000 --- a/app/dash/test/specs/graphiteTargetCtrl-specs.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! grafana - v1.6.1 - 2014-09-02 - * Copyright (c) 2014 Torkel Ödegaard; Licensed Apache License */ - -define([],function(){describe("graphiteTargetCtrl",function(){var a;beforeEach(module("kibana.services")),beforeEach(module(function(a){a.value("filterSrv",{})})),beforeEach(inject(function(b,c){a=b({$scope:c.$new()})})),describe("init",function(){beforeEach(function(){})})})}); \ No newline at end of file diff --git a/app/dash/test/specs/kbn-format-specs.js b/app/dash/test/specs/kbn-format-specs.js deleted file mode 100644 index 753b206..0000000 --- a/app/dash/test/specs/kbn-format-specs.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! grafana - v1.6.1 - 2014-09-02 - * Copyright (c) 2014 Torkel Ödegaard; Licensed Apache License */ - -define(["kbn"],function(a){describe("millisecond formating",function(){it("should translate 4378634603 as 1.67 years",function(){var b=a.msFormat(4378634603,2);expect(b).to.be("50.68 day")}),it("should translate 3654454 as 1.02 hour",function(){var b=a.msFormat(3654454,2);expect(b).to.be("1.02 hour")}),it("should translate 365445 as 6.09 min",function(){var b=a.msFormat(365445,2);expect(b).to.be("6.09 min")})}),describe("nanosecond formatting",function(){it("should translate 25 to 25 ns",function(){var b=a.nanosFormat(25,2);expect(b).to.be("25 ns")}),it("should translate 2558 to 2.56 µs",function(){var b=a.nanosFormat(2558,2);expect(b).to.be("2.56 µs")}),it("should translate 2558000 to 2.56 ms",function(){var b=a.nanosFormat(2558e3,2);expect(b).to.be("2.56 ms")}),it("should translate 2019962000 to 2.02 s",function(){var b=a.nanosFormat(2049962e3,2);expect(b).to.be("2.05 s")}),it("should translate 95199620000 to 1.59 m",function(){var b=a.nanosFormat(9519962e4,2);expect(b).to.be("1.59 m")})})}); \ No newline at end of file diff --git a/app/dash/test/specs/lexer-specs.js b/app/dash/test/specs/lexer-specs.js deleted file mode 100644 index 6d47462..0000000 --- a/app/dash/test/specs/lexer-specs.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! grafana - v1.6.1 - 2014-09-02 - * Copyright (c) 2014 Torkel Ödegaard; Licensed Apache License */ - -define(["services/graphite/lexer"],function(a){describe("when lexing graphite expression",function(){it("should tokenize metric expression",function(){var b=new a("metric.test.*.asd.count"),c=b.tokenize();expect(c[0].value).to.be("metric"),expect(c[1].value).to.be("."),expect(c[2].type).to.be("identifier"),expect(c[4].type).to.be("identifier"),expect(c[4].pos).to.be(13)}),it("should tokenize metric expression with dash",function(){var b=new a("metric.test.se1-server-*.asd.count"),c=b.tokenize();expect(c[4].type).to.be("identifier"),expect(c[4].value).to.be("se1-server-*")}),it("should tokenize metric expression with dash2",function(){var b=new a("net.192-168-1-1.192-168-1-9.ping_value.*"),c=b.tokenize();expect(c[0].value).to.be("net"),expect(c[2].value).to.be("192-168-1-1")}),it("simple function2",function(){var b=new a("offset(test.metric, -100)"),c=b.tokenize();expect(c[2].type).to.be("identifier"),expect(c[4].type).to.be("identifier"),expect(c[6].type).to.be("number")}),it("should tokenize metric expression with curly braces",function(){var b=new a("metric.se1-{first, second}.count"),c=b.tokenize();expect(c.length).to.be(10),expect(c[3].type).to.be("{"),expect(c[4].value).to.be("first"),expect(c[5].value).to.be(","),expect(c[6].value).to.be("second")}),it("should tokenize metric expression with number segments",function(){var b=new a("metric.10.12_10.test"),c=b.tokenize();expect(c[0].type).to.be("identifier"),expect(c[2].type).to.be("identifier"),expect(c[2].value).to.be("10"),expect(c[4].value).to.be("12_10"),expect(c[4].type).to.be("identifier")}),it("should tokenize func call with numbered metric and number arg",function(){var b=new a("scale(metric.10, 15)"),c=b.tokenize();expect(c[0].type).to.be("identifier"),expect(c[2].type).to.be("identifier"),expect(c[2].value).to.be("metric"),expect(c[4].value).to.be("10"),expect(c[4].type).to.be("number"),expect(c[6].type).to.be("number")}),it("should tokenize metric with template parameter",function(){var b=new a("metric.[[server]].test"),c=b.tokenize();expect(c[2].type).to.be("templateStart"),expect(c[3].type).to.be("identifier"),expect(c[3].value).to.be("server"),expect(c[4].type).to.be("templateEnd")}),it("should handle error with unterminated string",function(){var b=new a("alias(metric, 'asd)"),c=b.tokenize();expect(c[0].value).to.be("alias"),expect(c[1].value).to.be("("),expect(c[2].value).to.be("metric"),expect(c[3].value).to.be(","),expect(c[4].type).to.be("string"),expect(c[4].isUnclosed).to.be(!0),expect(c[4].pos).to.be(20)}),it("should handle float parameters",function(){var b=new a("alias(metric, 0.002)"),c=b.tokenize();expect(c[4].type).to.be("number"),expect(c[4].value).to.be("0.002")})})}); \ No newline at end of file diff --git a/app/dash/test/specs/parser-specs.js b/app/dash/test/specs/parser-specs.js deleted file mode 100644 index e152d1b..0000000 --- a/app/dash/test/specs/parser-specs.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! grafana - v1.6.1 - 2014-09-02 - * Copyright (c) 2014 Torkel Ödegaard; Licensed Apache License */ - -define(["services/graphite/parser"],function(a){describe("when parsing",function(){it("simple metric expression",function(){var b=new a("metric.test.*.asd.count"),c=b.getAst();expect(c.type).to.be("metric"),expect(c.segments.length).to.be(5),expect(c.segments[0].value).to.be("metric")}),it("simple metric expression with numbers in segments",function(){var b=new a("metric.10.15_20.5"),c=b.getAst();expect(c.type).to.be("metric"),expect(c.segments.length).to.be(4),expect(c.segments[1].value).to.be("10"),expect(c.segments[2].value).to.be("15_20"),expect(c.segments[3].value).to.be("5")}),it("simple metric expression with curly braces",function(){var b=new a("metric.se1-{count, max}"),c=b.getAst();expect(c.type).to.be("metric"),expect(c.segments.length).to.be(2),expect(c.segments[1].value).to.be("se1-{count,max}")}),it("simple metric expression with curly braces at start of segment and with post chars",function(){var b=new a("metric.{count, max}-something.count"),c=b.getAst();expect(c.type).to.be("metric"),expect(c.segments.length).to.be(3),expect(c.segments[1].value).to.be("{count,max}-something")}),it("simple function",function(){var b=new a("sum(test)"),c=b.getAst();expect(c.type).to.be("function"),expect(c.params.length).to.be(1)}),it("simple function2",function(){var b=new a("offset(test.metric, -100)"),c=b.getAst();expect(c.type).to.be("function"),expect(c.params[0].type).to.be("metric"),expect(c.params[1].type).to.be("number")}),it("simple function with string arg",function(){var b=new a("randomWalk('test')"),c=b.getAst();expect(c.type).to.be("function"),expect(c.params.length).to.be(1),expect(c.params[0].type).to.be("string")}),it("function with multiple args",function(){var b=new a("sum(test, 1, 'test')"),c=b.getAst();expect(c.type).to.be("function"),expect(c.params.length).to.be(3),expect(c.params[0].type).to.be("metric"),expect(c.params[1].type).to.be("number"),expect(c.params[2].type).to.be("string")}),it("function with nested function",function(){var b=new a("sum(scaleToSeconds(test, 1))"),c=b.getAst();expect(c.type).to.be("function"),expect(c.params.length).to.be(1),expect(c.params[0].type).to.be("function"),expect(c.params[0].name).to.be("scaleToSeconds"),expect(c.params[0].params.length).to.be(2),expect(c.params[0].params[0].type).to.be("metric"),expect(c.params[0].params[1].type).to.be("number")}),it("function with multiple series",function(){var b=new a("sum(test.test.*.count, test.timers.*.count)"),c=b.getAst();expect(c.type).to.be("function"),expect(c.params.length).to.be(2),expect(c.params[0].type).to.be("metric"),expect(c.params[1].type).to.be("metric")}),it("function with templated series",function(){var b=new a("sum(test.[[server]].count)"),c=b.getAst();expect(c.message).to.be(void 0),expect(c.params[0].type).to.be("metric"),expect(c.params[0].segments[1].type).to.be("template"),expect(c.params[0].segments[1].value).to.be("server")}),it("invalid metric expression",function(){var b=new a("metric.test.*.asd."),c=b.getAst();expect(c.message).to.be("Expected metric identifier instead found end of string"),expect(c.pos).to.be(19)}),it("invalid function expression missing closing paranthesis",function(){var b=new a("sum(test"),c=b.getAst();expect(c.message).to.be("Expected closing paranthesis instead found end of string"),expect(c.pos).to.be(9)}),it("unclosed string in function",function(){var b=new a("sum('test)"),c=b.getAst();expect(c.message).to.be("Unclosed string parameter"),expect(c.pos).to.be(11)}),it("handle issue #69",function(){var b=new a("cactiStyle(offset(scale(net.192-168-1-1.192-168-1-9.ping_value.*,0.001),-100))"),c=b.getAst();expect(c.type).to.be("function")}),it("handle float function arguments",function(){var b=new a("scale(test, 0.002)"),c=b.getAst();expect(c.type).to.be("function"),expect(c.params[1].type).to.be("number"),expect(c.params[1].value).to.be(.002)})})}); \ No newline at end of file diff --git a/app/dash/test/test-main.js b/app/dash/test/test-main.js deleted file mode 100644 index 99036ba..0000000 --- a/app/dash/test/test-main.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! grafana - v1.6.1 - 2014-09-02 - * Copyright (c) 2014 Torkel Ödegaard; Licensed Apache License */ - -require.config({baseUrl:"base/app",paths:{specs:"../test/specs",mocks:"../test/mocks",config:"../config.sample",kbn:"components/kbn",settings:"components/settings",underscore:"components/underscore.extended","underscore-src":"../vendor/underscore",moment:"../vendor/moment",chromath:"../vendor/chromath",filesaver:"../vendor/filesaver",angular:"../vendor/angular/angular",angularMocks:"../vendor/angular/angular-mocks","angular-dragdrop":"../vendor/angular/angular-dragdrop","angular-strap":"../vendor/angular/angular-strap","angular-sanitize":"../vendor/angular/angular-sanitize",timepicker:"../vendor/angular/timepicker",datepicker:"../vendor/angular/datepicker",bindonce:"../vendor/angular/bindonce",crypto:"../vendor/crypto.min",spectrum:"../vendor/spectrum",jquery:"../vendor/jquery/jquery-1.8.0",bootstrap:"../vendor/bootstrap/bootstrap","bootstrap-tagsinput":"../vendor/tagsinput/bootstrap-tagsinput","jquery-ui":"../vendor/jquery/jquery-ui-1.10.3","extend-jquery":"components/extend-jquery","jquery.flot":"../vendor/jquery/jquery.flot","jquery.flot.pie":"../vendor/jquery/jquery.flot.pie","jquery.flot.events":"../vendor/jquery/jquery.flot.events","jquery.flot.selection":"../vendor/jquery/jquery.flot.selection","jquery.flot.stack":"../vendor/jquery/jquery.flot.stack","jquery.flot.stackpercent":"../vendor/jquery/jquery.flot.stackpercent","jquery.flot.time":"../vendor/jquery/jquery.flot.time","jquery.flot.byte":"../vendor/jquery/jquery.flot.byte",modernizr:"../vendor/modernizr-2.6.1",elasticjs:"../vendor/elasticjs/elastic-angular-client"},shim:{underscore:{exports:"_"},bootstrap:{deps:["jquery"]},modernizr:{exports:"Modernizr"},angular:{deps:["jquery","config"],exports:"angular"},angularMocks:{deps:["angular"]},crypto:{exports:"Crypto"},"jquery-ui":["jquery"],"jquery.flot":["jquery"],"jquery.flot.byte":["jquery","jquery.flot"],"jquery.flot.pie":["jquery","jquery.flot"],"jquery.flot.events":["jquery","jquery.flot"],"jquery.flot.selection":["jquery","jquery.flot"],"jquery.flot.stack":["jquery","jquery.flot"],"jquery.flot.stackpercent":["jquery","jquery.flot"],"jquery.flot.time":["jquery","jquery.flot"],"angular-sanitize":["angular"],"angular-cookies":["angular"],"angular-dragdrop":["jquery","jquery-ui","angular"],"angular-loader":["angular"],"angular-mocks":["angular"],"angular-resource":["angular"],"angular-route":["angular"],"angular-touch":["angular"],bindonce:["angular"],"angular-strap":["angular","bootstrap","timepicker","datepicker"],"bootstrap-tagsinput":["jquery"],timepicker:["jquery","bootstrap"],datepicker:["jquery","bootstrap"],elasticjs:["angular","../vendor/elasticjs/elastic"]}}),require(["angular","angularMocks","jquery","underscore","elasticjs","bootstrap","angular-sanitize","angular-strap","angular-dragdrop","extend-jquery","bindonce"],function(a){a.module("kibana",[]),a.module("kibana.services",["$strap.directives"]),a.module("kibana.panels",[]),a.module("kibana.filters",[]),require(["specs/lexer-specs","specs/parser-specs","specs/gfunc-specs","specs/filterSrv-specs","specs/kbn-format-specs"],function(){window.__karma__.start()})}); \ No newline at end of file diff --git a/app/dash/test/tests.html b/app/dash/test/tests.html deleted file mode 100644 index 03e41de..0000000 --- a/app/dash/test/tests.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - Tests - - - -
    - - - - - - - \ No newline at end of file diff --git a/app/dash/tmpx b/app/dash/tmpx deleted file mode 100644 index d7f4658..0000000 --- a/app/dash/tmpx +++ /dev/null @@ -1 +0,0 @@ -vi ./index.html ./css/default.min.css ./css/bootstrap.light.min.css ./css/default.min.a9bd22e8.css ./css/bootstrap.dark.min.css ./test/karma.conf.js ./test/mocks/dashboard-mock.js ./test/specs/lexer-specs.js ./test/specs/graphiteTargetCtrl-specs.js ./test/specs/gfunc-specs.js ./test/specs/parser-specs.js ./test/specs/kbn-format-specs.js ./test/specs/graph-panel-controller-specs.js ./test/specs/filterSrv-specs.js ./test/test-main.js ./app/dashboards/default.json ./app/dashboards/scripted_async.js ./app/dashboards/scripted.js ./app/panels/graph/module.html ./app/panels/timepicker/module.html ./app/components/require.config.js ./app/app.js ./app/partials/kairosdb/editor.html ./app/partials/dashboard.html ./app/partials/search.html ./app/partials/dashLoader.html ./app/partials/opentsdb/editor.html ./app/partials/dasheditor.html ./app/partials/influxdb/editor.html ./app/partials/graphite/editor.html ./app/app.20ee1677.js ./config.sample.js ./build.txt ./vendor/jquery/jquery.flot.fillbetween.js ./vendor/angular/angular-mocks.js ./vendor/require/css-build.js ./vendor/require/tmpl.js ./vendor/require/require.js ./config.js diff --git a/app/dash/vendor/angular/angular-mocks.js b/app/dash/vendor/angular/angular-mocks.js deleted file mode 100644 index f011568..0000000 --- a/app/dash/vendor/angular/angular-mocks.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! grafana - v1.6.1 - 2014-09-02 - * Copyright (c) 2014 Torkel Ödegaard; Licensed Apache License */ - -function createHttpBackendMock(a,b,c){function d(a,b,c){return angular.isFunction(a)?a:function(){return angular.isNumber(a)?[a,b,c]:[200,a,b]}}function e(a,d,e,f,k,l){function m(a){return angular.isString(a)||angular.isFunction(a)||a instanceof RegExp?a:angular.toJson(a)}function n(b){function g(){var c=b.response(a,d,e,k);o.$$respHeaders=c[2],f(c[0],c[1],o.getAllResponseHeaders())}function h(){for(var a=0,b=i.length;b>a;a++)if(i[a]===g){i.splice(a,1),f(-1,void 0,"");break}}return!c&&l&&l.then&&l.then(h),g}var o=new MockXhr,p=h[0],q=!1;if(p&&p.match(a,d)){if(!p.matchData(e))throw Error("Expected "+p+" with different data\nEXPECTED: "+m(p.data)+"\nGOT: "+e);if(!p.matchHeaders(k))throw Error("Expected "+p+" with different headers\nEXPECTED: "+m(p.headers)+"\nGOT: "+m(k));if(h.shift(),p.response)return void i.push(n(p));q=!0}for(var r,s=-1;r=g[++s];)if(r.match(a,d,e,k||{})){if(r.response)(c?c.defer:j)(n(r));else{if(!r.passThrough)throw Error("No response defined !");b(a,d,e,f,k,l)}return}throw Error(q?"No response defined !":"Unexpected request: "+a+" "+d+"\n"+(p?"Expected "+p:"No more request expected"))}function f(a){angular.forEach(["GET","DELETE","JSONP"],function(b){e[a+b]=function(c,d){return e[a](b,c,void 0,d)}}),angular.forEach(["PUT","POST","PATCH"],function(b){e[a+b]=function(c,d,f){return e[a](b,c,d,f)}})}var g=[],h=[],i=[],j=angular.bind(i,i.push);return e.when=function(a,b,e,f){var h=new MockHttpExpectation(a,b,e,f),i={respond:function(a,b,c){h.response=d(a,b,c)}};return c&&(i.passThrough=function(){h.passThrough=!0}),g.push(h),i},f("when"),e.expect=function(a,b,c,e){var f=new MockHttpExpectation(a,b,c,e);return h.push(f),{respond:function(a,b,c){f.response=d(a,b,c)}}},f("expect"),e.flush=function(b){if(a.$digest(),!i.length)throw Error("No pending request to flush !");if(angular.isDefined(b))for(;b--;){if(!i.length)throw Error("No more pending request to flush !");i.shift()()}else for(;i.length;)i.shift()();e.verifyNoOutstandingExpectation()},e.verifyNoOutstandingExpectation=function(){if(a.$digest(),h.length)throw Error("Unsatisfied requests: "+h.join(", "))},e.verifyNoOutstandingRequest=function(){if(i.length)throw Error("Unflushed requests: "+i.length)},e.resetExpectations=function(){h.length=0,i.length=0},e}function MockHttpExpectation(a,b,c,d){this.data=c,this.headers=d,this.match=function(b,c,d,e){return a!=b?!1:this.matchUrl(c)?angular.isDefined(d)&&!this.matchData(d)?!1:angular.isDefined(e)&&!this.matchHeaders(e)?!1:!0:!1},this.matchUrl=function(a){return b?angular.isFunction(b.test)?b.test(a):b==a:!0},this.matchHeaders=function(a){return angular.isUndefined(d)?!0:angular.isFunction(d)?d(a):angular.equals(d,a)},this.matchData=function(a){return angular.isUndefined(c)?!0:c&&angular.isFunction(c.test)?c.test(a):c&&!angular.isString(c)?angular.toJson(c)==a:c==a},this.toString=function(){return a+" "+b}}function MockXhr(){MockXhr.$$lastInstance=this,this.open=function(a,b,c){this.$$method=a,this.$$url=b,this.$$async=c,this.$$reqHeaders={},this.$$respHeaders={}},this.send=function(a){this.$$data=a},this.setRequestHeader=function(a,b){this.$$reqHeaders[a]=b},this.getResponseHeader=function(a){var b=this.$$respHeaders[a];return b?b:(a=angular.lowercase(a),(b=this.$$respHeaders[a])?b:(b=void 0,angular.forEach(this.$$respHeaders,function(c,d){b||angular.lowercase(d)!=a||(b=c)}),b))},this.getAllResponseHeaders=function(){var a=[];return angular.forEach(this.$$respHeaders,function(b,c){a.push(c+": "+b)}),a.join("\n")},this.abort=angular.noop}angular.mock={},angular.mock.$BrowserProvider=function(){this.$get=function(){return new angular.mock.$Browser}},angular.mock.$Browser=function(){var a=this;this.isMock=!0,a.$$url="http://server/",a.$$lastUrl=a.$$url,a.pollFns=[],a.$$completeOutstandingRequest=angular.noop,a.$$incOutstandingRequestCount=angular.noop,a.onUrlChange=function(b){return a.pollFns.push(function(){a.$$lastUrl!=a.$$url&&(a.$$lastUrl=a.$$url,b(a.$$url))}),b},a.cookieHash={},a.lastCookieHash={},a.deferredFns=[],a.deferredNextId=0,a.defer=function(b,c){return c=c||0,a.deferredFns.push({time:a.defer.now+c,fn:b,id:a.deferredNextId}),a.deferredFns.sort(function(a,b){return a.time-b.time}),a.deferredNextId++},a.defer.now=0,a.defer.cancel=function(b){var c;return angular.forEach(a.deferredFns,function(a,d){a.id===b&&(c=d)}),void 0!==c?(a.deferredFns.splice(c,1),!0):!1},a.defer.flush=function(b){if(angular.isDefined(b))a.defer.now+=b;else{if(!a.deferredFns.length)throw Error("No deferred tasks to be flushed");a.defer.now=a.deferredFns[a.deferredFns.length-1].time}for(;a.deferredFns.length&&a.deferredFns[0].time<=a.defer.now;)a.deferredFns.shift().fn()},a.$$baseHref="",a.baseHref=function(){return this.$$baseHref}},angular.mock.$Browser.prototype={poll:function(){angular.forEach(this.pollFns,function(a){a()})},addPollFn:function(a){return this.pollFns.push(a),a},url:function(a){return a?(this.$$url=a,this):this.$$url},cookies:function(a,b){return a?void(void 0==b?delete this.cookieHash[a]:angular.isString(b)&&b.length<=4096&&(this.cookieHash[a]=b)):(angular.equals(this.cookieHash,this.lastCookieHash)||(this.lastCookieHash=angular.copy(this.cookieHash),this.cookieHash=angular.copy(this.cookieHash)),this.cookieHash)},notifyWhenNoOutstandingRequests:function(a){a()}},angular.mock.$ExceptionHandlerProvider=function(){var a;this.mode=function(b){switch(b){case"rethrow":a=function(a){throw a};break;case"log":var c=[];a=function(a){c.push(1==arguments.length?a:[].slice.call(arguments,0))},a.errors=c;break;default:throw Error("Unknown mode '"+b+"', only 'log'/'rethrow' modes are allowed!")}},this.$get=function(){return a},this.mode("rethrow")},angular.mock.$LogProvider=function(){function a(a,b,c){return a.concat(Array.prototype.slice.call(b,c))}this.$get=function(){var b={log:function(){b.log.logs.push(a([],arguments,0))},warn:function(){b.warn.logs.push(a([],arguments,0))},info:function(){b.info.logs.push(a([],arguments,0))},error:function(){b.error.logs.push(a([],arguments,0))}};return b.reset=function(){b.log.logs=[],b.warn.logs=[],b.info.logs=[],b.error.logs=[]},b.assertEmpty=function(){var a=[];if(angular.forEach(["error","warn","info","log"],function(c){angular.forEach(b[c].logs,function(b){angular.forEach(b,function(b){a.push("MOCK $log ("+c+"): "+String(b)+"\n"+(b.stack||""))})})}),a.length)throw a.unshift("Expected $log to be empty! Either a message was logged unexpectedly, or an expected log message was not checked and removed:"),a.push(""),new Error(a.join("\n---------\n"))},b.reset(),b}},function(){function a(a){var c;if(c=a.match(d)){var e=new Date(0),f=0,g=0;return c[9]&&(f=b(c[9]+c[10]),g=b(c[9]+c[11])),e.setUTCFullYear(b(c[1]),b(c[2])-1,b(c[3])),e.setUTCHours(b(c[4]||0)-f,b(c[5]||0)-g,b(c[6]||0),b(c[7]||0)),e}return a}function b(a){return parseInt(a,10)}function c(a,b,c){var d="";for(0>a&&(d="-",a=-a),a=""+a;a.length0?{process:function(){var c=b.shift();expect(c.delay).toEqual(a),c.fn()}}:void expect("SetTimoutQueue empty. Expecting delay of ").toEqual(a)},a},angular.mock.dump=function(a){function b(a){var d;return angular.isElement(a)?(a=angular.element(a),d=angular.element("
    "),angular.forEach(a,function(a){d.append(angular.element(a).clone())}),d=d.html()):angular.isArray(a)?(d=[],angular.forEach(a,function(a){d.push(b(a))}),d="[ "+d.join(", ")+" ]"):d=angular.isObject(a)?angular.isFunction(a.$eval)&&angular.isFunction(a.$apply)?c(a):a instanceof Error?a.stack||""+a.name+": "+a.message:angular.toJson(a,!0):String(a),d}function c(a,b){b=b||" ";var d=[b+"Scope("+a.$id+"): {"];for(var e in a)a.hasOwnProperty(e)&&!e.match(/^(\$|this)/)&&d.push(" "+e+": "+angular.toJson(a[e]));for(var f=a.$$childHead;f;)d.push(c(f,b+" ")),f=f.$$nextSibling;return d.push("}"),d.join("\n"+b)}return b(a)},angular.mock.$HttpBackendProvider=function(){this.$get=["$rootScope",createHttpBackendMock]},angular.mock.$TimeoutDecorator=function(a,b){function c(a){var b=[];return angular.forEach(a,function(a){b.push("{id: "+a.id+", time: "+a.time+"}")}),b.join(", ")}return a.flush=function(){b.defer.flush()},a.verifyNoPendingTasks=function(){if(b.deferredFns.length)throw Error("Deferred tasks to flush ("+b.deferredFns.length+"): "+c(b.deferredFns))},a},angular.mock.$RootElementProvider=function(){this.$get=function(){return angular.element("
    ")}},angular.module("ngMock",["ng"]).provider({$browser:angular.mock.$BrowserProvider,$exceptionHandler:angular.mock.$ExceptionHandlerProvider,$log:angular.mock.$LogProvider,$httpBackend:angular.mock.$HttpBackendProvider,$rootElement:angular.mock.$RootElementProvider}).config(function(a){a.decorator("$timeout",angular.mock.$TimeoutDecorator)}),angular.module("ngMockE2E",["ng"]).config(["$provide",function(a){a.decorator("$httpBackend",angular.mock.e2e.$httpBackendDecorator)}]),angular.mock.e2e={},angular.mock.e2e.$httpBackendDecorator=["$rootScope","$delegate","$browser",createHttpBackendMock],angular.mock.clearDataCache=function(){var a,b=angular.element.cache;for(a in b)if(b.hasOwnProperty(a)){var c=b[a].handle;c&&angular.element(c.elem).unbind(),delete b[a]}},window.jstestdriver&&function(a){a.dump=function(){var b=[];angular.forEach(arguments,function(a){b.push(angular.mock.dump(a))}),jstestdriver.console.log.apply(jstestdriver.console,b),a.console&&a.console.log.apply(a.console,b)}}(window),(window.jasmine||window.mocha)&&function(a){function b(){return c&&(a.mocha||c.queue.running)}var c=null;beforeEach(function(){c=this}),afterEach(function(){var a=c.$injector;c.$injector=null,c.$modules=null,c=null,a&&(a.get("$rootElement").unbind(),a.get("$browser").pollFns.length=0),angular.mock.clearDataCache(),angular.forEach(angular.element.fragments,function(a,b){delete angular.element.fragments[b]}),MockXhr.$$lastInstance=null,angular.forEach(angular.callbacks,function(a,b){delete angular.callbacks[b]}),angular.callbacks.counter=0}),a.module=angular.mock.module=function(){function a(){if(c.$injector)throw Error("Injector already created, can not register a module!");var a=c.$modules||(c.$modules=[]);angular.forEach(d,function(b){a.push(b)})}var d=Array.prototype.slice.call(arguments,0);return b()?a():a},a.inject=angular.mock.inject=function(){function a(){var a=c.$modules||[];a.unshift("ngMock"),a.unshift("ng");var b=c.$injector;b||(b=c.$injector=angular.injector(a));for(var f=0,g=d.length;g>f;f++)try{b.invoke(d[f]||angular.noop,this)}catch(h){throw h.stack&&e&&(h.stack+="\n"+e.stack),h}finally{e=null}}var d=Array.prototype.slice.call(arguments,0),e=new Error("Declaration Location");return b()?a():a}}(window); \ No newline at end of file diff --git a/app/dash/vendor/jquery/jquery.flot.fillbetween.js b/app/dash/vendor/jquery/jquery.flot.fillbetween.js deleted file mode 100644 index 7647ebc..0000000 --- a/app/dash/vendor/jquery/jquery.flot.fillbetween.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! grafana - v1.6.1 - 2014-09-02 - * Copyright (c) 2014 Torkel Ödegaard; Licensed Apache License */ - -!function(a){function b(a){function b(a,b){var c;for(c=0;c=b.length?null:b[a.fillBetween]:null}function c(a,c,d){if(null!=c.fillBetween){var e=b(c,a.getData());if(e){for(var f,g,h,i,j,k,l,m,n=d.pointsize,o=d.points,p=e.datapoints.pointsize,q=e.datapoints.points,r=[],s=c.lines.show,t=n>2&&d.format[2].y,u=s&&c.lines.steps,v=!0,w=0,x=0;;){if(w>=o.length)break;if(l=r.length,null==o[w]){for(m=0;n>m;++m)r.push(o[w+m]);w+=n}else if(x>=q.length){if(!s)for(m=0;n>m;++m)r.push(o[w+m]);w+=n}else if(null==q[x]){for(m=0;n>m;++m)r.push(null);v=!0,x+=p}else{if(f=o[w],g=o[w+1],i=q[x],j=q[x+1],k=0,f===i){for(m=0;n>m;++m)r.push(o[w+m]);k=j,w+=n,x+=p}else if(f>i){if(s&&w>0&&null!=o[w-n]){for(h=g+(o[w-n+1]-g)*(i-f)/(o[w-n]-f),r.push(i),r.push(h),m=2;n>m;++m)r.push(o[w+m]);k=j}x+=p}else{if(v&&s){w+=n;continue}for(m=0;n>m;++m)r.push(o[w+m]);s&&x>0&&null!=q[x-p]&&(k=j+(q[x-p+1]-j)*(f-i)/(q[x-p]-i)),w+=n}v=!1,l!==r.length&&t&&(r[l+2]=k)}if(u&&l!==r.length&&l>0&&null!==r[l]&&r[l]!==r[l-n]&&r[l+1]!==r[l-n+1]){for(m=0;n>m;++m)r[l+n+m]=r[l+m];r[l+1]=r[l-n+1]}}d.points=r}}}a.hooks.processDatapoints.push(c)}var c={series:{fillBetween:null}};a.plot.plugins.push({init:b,options:c,name:"fillbetween",version:"1.0"})}(jQuery); \ No newline at end of file diff --git a/app/dash/vendor/license.json b/app/dash/vendor/license.json deleted file mode 100644 index 42ea4a0..0000000 --- a/app/dash/vendor/license.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "angular": { - "version":"1.1.5", - "license":"MIT" - }, - "angular-dragdrop": { - "version":"1.0.4", - "license":"MIT" - }, - "angular-strap": { - "version":"0.7.5", - "license":"MIT" - }, - "bindonce": { - "version":"0.2.1", - "license":"MIT" - }, - "datepicker": { - "version":"12/3/2013", - "license":"Apache 2.0" - }, - "timepicker": { - "version":"0.2.6", - "license":"MIT" - }, - "bootstrap": { - "version":"2.3.2", - "license":"Apache 2.0" - }, - "elasticjs": { - "version":"1.1.1", - "license":"MIT" - }, - "jquery": { - "version":"1.8.0", - "license":"MIT" - }, - "jquery-ui": { - "version":"1.10.3", - "license":"MIT" - }, - "flot": { - "version":"0.8.1", - "license":"MIT" - }, - "require": { - "version":"2.1.8", - "license":"MIT" - }, - "filesaver": { - "version":"2013-01-23", - "license":"MIT" - }, - "modernizr": { - "version":"2.6.1", - "license":"MIT" - }, - "moment": { - "version":"2.1.0", - "license":"MIT" - }, - "timezone": { - "version":"2010", - "license":"Apache 2" - }, - "underscore": { - "version":"1.5.1", - "license":"MIT" - } -} \ No newline at end of file diff --git a/app/dash/vendor/require/css-build.js b/app/dash/vendor/require/css-build.js deleted file mode 100644 index 4fa809c..0000000 --- a/app/dash/vendor/require/css-build.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! grafana - v1.6.1 - 2014-09-02 - * Copyright (c) 2014 Torkel Ödegaard; Licensed Apache License */ - -define([],function(){function a(a,b){var d=c.readFileSync(a,"utf8");0===d.indexOf("")&&(d=d.substring(1)),b(d)}function b(a){return a.replace(/[\r\n]+/g," ").replace(/[\t]/g," ")}var c=require.nodeRequire("fs"),d={},e=!1,f={load:function(c,e,f,g){f(!0),a(g.baseUrl+c,function(a){d[c]=b(a)})},write:function(a,b,c){e||(e=!0,c("define('"+a+"-embed', function()\n{\n function embed_css(content)\n {\n var head = document.getElementsByTagName('head')[0],\n style = document.createElement('style'),\n rules = document.createTextNode(content);\n style.type = 'text/css';\n if(style.styleSheet)\n style.styleSheet.cssText = rules.nodeValue;\n else style.appendChild(rules);\n head.appendChild(style);\n }\n return embed_css;\n});\n")),c("define('"+a+"!"+b+"', ['"+a+"-embed'], \nfunction(embed)\n{\n embed(\n '"+d[b].replace(/'/g,"\\'")+"'\n );\n return true;\n});\n")},writeFile:function(){},onLayerEnd:function(){}};return f}); \ No newline at end of file diff --git a/app/dash/vendor/require/require.js b/app/dash/vendor/require/require.js deleted file mode 100644 index 364d1fd..0000000 --- a/app/dash/vendor/require/require.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! grafana - v1.6.1 - 2014-09-02 - * Copyright (c) 2014 Torkel Ödegaard; Licensed Apache License */ - -var requirejs,require,define;!function(global){function isFunction(a){return"[object Function]"===ostring.call(a)}function isArray(a){return"[object Array]"===ostring.call(a)}function each(a,b){if(a){var c;for(c=0;c-1&&(!a[c]||!b(a[c],c,a));c-=1);}}function hasProp(a,b){return hasOwn.call(a,b)}function getOwn(a,b){return hasProp(a,b)&&a[b]}function eachProp(a,b){var c;for(c in a)if(hasProp(a,c)&&b(a[c],c))break}function mixin(a,b,c,d){return b&&eachProp(b,function(b,e){(c||!hasProp(a,e))&&(d&&"string"!=typeof b?(a[e]||(a[e]={}),mixin(a[e],b,c,d)):a[e]=b)}),a}function bind(a,b){return function(){return b.apply(a,arguments)}}function scripts(){return document.getElementsByTagName("script")}function defaultOnError(a){throw a}function getGlobal(a){if(!a)return a;var b=global;return each(a.split("."),function(a){b=b[a]}),b}function makeError(a,b,c,d){var e=new Error(b+"\nhttp://requirejs.org/docs/errors.html#"+a);return e.requireType=a,e.requireModules=d,c&&(e.originalError=c),e}function newContext(a){function b(a){var b,c;for(b=0;a[b];b+=1)if(c=a[b],"."===c)a.splice(b,1),b-=1;else if(".."===c){if(1===b&&(".."===a[2]||".."===a[0]))break;b>0&&(a.splice(b-1,2),b-=2)}}function c(a,c,d){var e,f,g,h,i,j,k,l,m,n,o,p=c&&c.split("/"),q=p,r=x.map,s=r&&r["*"];if(a&&"."===a.charAt(0)&&(c?(q=getOwn(x.pkgs,c)?p=[c]:p.slice(0,p.length-1),a=q.concat(a.split("/")),b(a),f=getOwn(x.pkgs,e=a[0]),a=a.join("/"),f&&a===e+"/"+f.main&&(a=e)):0===a.indexOf("./")&&(a=a.substring(2))),d&&r&&(p||s)){for(h=a.split("/"),i=h.length;i>0;i-=1){if(k=h.slice(0,i).join("/"),p)for(j=p.length;j>0;j-=1)if(g=getOwn(r,p.slice(0,j).join("/")),g&&(g=getOwn(g,k))){l=g,m=i;break}if(l)break;!n&&s&&getOwn(s,k)&&(n=getOwn(s,k),o=i)}!l&&n&&(l=n,m=o),l&&(h.splice(0,m,l),a=h.join("/"))}return a}function d(a){isBrowser&&each(scripts(),function(b){return b.getAttribute("data-requiremodule")===a&&b.getAttribute("data-requirecontext")===u.contextName?(b.parentNode.removeChild(b),!0):void 0})}function e(a){var b=getOwn(x.paths,a);return b&&isArray(b)&&b.length>1?(d(a),b.shift(),u.require.undef(a),u.require([a]),!0):void 0}function f(a){var b,c=a?a.indexOf("!"):-1;return c>-1&&(b=a.substring(0,c),a=a.substring(c+1,a.length)),[b,a]}function g(a,b,d,e){var g,h,i,j,k=null,l=b?b.name:null,m=a,n=!0,o="";return a||(n=!1,a="_@r"+(E+=1)),j=f(a),k=j[0],a=j[1],k&&(k=c(k,l,e),h=getOwn(C,k)),a&&(k?o=h&&h.normalize?h.normalize(a,function(a){return c(a,l,e)}):c(a,l,e):(o=c(a,l,e),j=f(o),k=j[0],o=j[1],d=!0,g=u.nameToUrl(o))),i=!k||h||d?"":"_unnormalized"+(F+=1),{prefix:k,name:o,parentMap:b,unnormalized:!!i,url:g,originalName:m,isDefine:n,id:(k?k+"!"+o:o)+i}}function h(a){var b=a.id,c=getOwn(y,b);return c||(c=y[b]=new u.Module(a)),c}function i(a,b,c){var d=a.id,e=getOwn(y,d);!hasProp(C,d)||e&&!e.defineEmitComplete?(e=h(a),e.error&&"error"===b?c(e.error):e.on(b,c)):"defined"===b&&c(C[d])}function j(a,b){var c=a.requireModules,d=!1;b?b(a):(each(c,function(b){var c=getOwn(y,b);c&&(c.error=a,c.events.error&&(d=!0,c.emit("error",a)))}),d||req.onError(a))}function k(){globalDefQueue.length&&(apsp.apply(B,[B.length-1,0].concat(globalDefQueue)),globalDefQueue=[])}function l(a){delete y[a],delete z[a]}function m(a,b,c){var d=a.map.id;a.error?a.emit("error",a.error):(b[d]=!0,each(a.depMaps,function(d,e){var f=d.id,g=getOwn(y,f);!g||a.depMatched[e]||c[f]||(getOwn(b,f)?(a.defineDep(e,C[f]),a.check()):m(g,b,c))}),c[d]=!0)}function n(){var a,b,c,f,g=1e3*x.waitSeconds,h=g&&u.startTime+g<(new Date).getTime(),i=[],k=[],l=!1,o=!0;if(!s){if(s=!0,eachProp(z,function(c){if(a=c.map,b=a.id,c.enabled&&(a.isDefine||k.push(c),!c.error))if(!c.inited&&h)e(b)?(f=!0,l=!0):(i.push(b),d(b));else if(!c.inited&&c.fetched&&a.isDefine&&(l=!0,!a.prefix))return o=!1}),h&&i.length)return c=makeError("timeout","Load timeout for modules: "+i,null,i),c.contextName=u.contextName,j(c);o&&each(k,function(a){m(a,{},{})}),h&&!f||!l||!isBrowser&&!isWebWorker||w||(w=setTimeout(function(){w=0,n()},50)),s=!1}}function o(a){hasProp(C,a[0])||h(g(a[0],null,!0)).init(a[1],a[2])}function p(a,b,c,d){a.detachEvent&&!isOpera?d&&a.detachEvent(d,b):a.removeEventListener(c,b,!1)}function q(a){var b=a.currentTarget||a.srcElement;return p(b,u.onScriptLoad,"load","onreadystatechange"),p(b,u.onScriptError,"error"),{node:b,id:b&&b.getAttribute("data-requiremodule")}}function r(){var a;for(k();B.length;){if(a=B.shift(),null===a[0])return j(makeError("mismatch","Mismatched anonymous define() module: "+a[a.length-1]));o(a)}}var s,t,u,v,w,x={waitSeconds:7,baseUrl:"./",paths:{},pkgs:{},shim:{},config:{}},y={},z={},A={},B=[],C={},D={},E=1,F=1;return v={require:function(a){return a.require?a.require:a.require=u.makeRequire(a.map)},exports:function(a){return a.usingExports=!0,a.map.isDefine?a.exports?a.exports:a.exports=C[a.map.id]={}:void 0},module:function(a){return a.module?a.module:a.module={id:a.map.id,uri:a.map.url,config:function(){var b,c=getOwn(x.pkgs,a.map.id);return b=c?getOwn(x.config,a.map.id+"/"+c.main):getOwn(x.config,a.map.id),b||{}},exports:C[a.map.id]}}},t=function(a){this.events=getOwn(A,a.id)||{},this.map=a,this.shim=getOwn(x.shim,a.id),this.depExports=[],this.depMaps=[],this.depMatched=[],this.pluginMaps={},this.depCount=0},t.prototype={init:function(a,b,c,d){d=d||{},this.inited||(this.factory=b,c?this.on("error",c):this.events.error&&(c=bind(this,function(a){this.emit("error",a)})),this.depMaps=a&&a.slice(0),this.errback=c,this.inited=!0,this.ignore=d.ignore,d.enabled||this.enabled?this.enable():this.check())},defineDep:function(a,b){this.depMatched[a]||(this.depMatched[a]=!0,this.depCount-=1,this.depExports[a]=b)},fetch:function(){if(!this.fetched){this.fetched=!0,u.startTime=(new Date).getTime();var a=this.map;return this.shim?void u.makeRequire(this.map,{enableBuildCallback:!0})(this.shim.deps||[],bind(this,function(){return a.prefix?this.callPlugin():this.load()})):a.prefix?this.callPlugin():this.load()}},load:function(){var a=this.map.url;D[a]||(D[a]=!0,u.load(this.map.id,a))},check:function(){if(this.enabled&&!this.enabling){var a,b,c=this.map.id,d=this.depExports,e=this.exports,f=this.factory;if(this.inited){if(this.error)this.emit("error",this.error);else if(!this.defining){if(this.defining=!0,this.depCount<1&&!this.defined){if(isFunction(f)){if(this.events.error&&this.map.isDefine||req.onError!==defaultOnError)try{e=u.execCb(c,f,d,e)}catch(g){a=g}else e=u.execCb(c,f,d,e);if(this.map.isDefine&&(b=this.module,b&&void 0!==b.exports&&b.exports!==this.exports?e=b.exports:void 0===e&&this.usingExports&&(e=this.exports)),a)return a.requireMap=this.map,a.requireModules=this.map.isDefine?[this.map.id]:null,a.requireType=this.map.isDefine?"define":"require",j(this.error=a)}else e=f;this.exports=e,this.map.isDefine&&!this.ignore&&(C[c]=e,req.onResourceLoad&&req.onResourceLoad(u,this.map,this.depMaps)),l(c),this.defined=!0}this.defining=!1,this.defined&&!this.defineEmitted&&(this.defineEmitted=!0,this.emit("defined",this.exports),this.defineEmitComplete=!0)}}else this.fetch()}},callPlugin:function(){var a=this.map,b=a.id,d=g(a.prefix);this.depMaps.push(d),i(d,"defined",bind(this,function(d){var e,f,k,m=this.map.name,n=this.map.parentMap?this.map.parentMap.name:null,o=u.makeRequire(a.parentMap,{enableBuildCallback:!0});return this.map.unnormalized?(d.normalize&&(m=d.normalize(m,function(a){return c(a,n,!0)})||""),f=g(a.prefix+"!"+m,this.map.parentMap),i(f,"defined",bind(this,function(a){this.init([],function(){return a},null,{enabled:!0,ignore:!0})})),k=getOwn(y,f.id),void(k&&(this.depMaps.push(f),this.events.error&&k.on("error",bind(this,function(a){this.emit("error",a)})),k.enable()))):(e=bind(this,function(a){this.init([],function(){return a},null,{enabled:!0})}),e.error=bind(this,function(a){this.inited=!0,this.error=a,a.requireModules=[b],eachProp(y,function(a){0===a.map.id.indexOf(b+"_unnormalized")&&l(a.map.id)}),j(a)}),e.fromText=bind(this,function(c,d){var f=a.name,i=g(f),k=useInteractive;d&&(c=d),k&&(useInteractive=!1),h(i),hasProp(x.config,b)&&(x.config[f]=x.config[b]);try{req.exec(c)}catch(l){return j(makeError("fromtexteval","fromText eval for "+b+" failed: "+l,l,[b]))}k&&(useInteractive=!0),this.depMaps.push(i),u.completeLoad(f),o([f],e)}),void d.load(a.name,o,e,x))})),u.enable(d,this),this.pluginMaps[d.id]=d},enable:function(){z[this.map.id]=this,this.enabled=!0,this.enabling=!0,each(this.depMaps,bind(this,function(a,b){var c,d,e;if("string"==typeof a){if(a=g(a,this.map.isDefine?this.map:this.map.parentMap,!1,!this.skipMap),this.depMaps[b]=a,e=getOwn(v,a.id))return void(this.depExports[b]=e(this));this.depCount+=1,i(a,"defined",bind(this,function(a){this.defineDep(b,a),this.check()})),this.errback&&i(a,"error",bind(this,this.errback))}c=a.id,d=y[c],hasProp(v,c)||!d||d.enabled||u.enable(a,this)})),eachProp(this.pluginMaps,bind(this,function(a){var b=getOwn(y,a.id);b&&!b.enabled&&u.enable(a,this)})),this.enabling=!1,this.check()},on:function(a,b){var c=this.events[a];c||(c=this.events[a]=[]),c.push(b)},emit:function(a,b){each(this.events[a],function(a){a(b)}),"error"===a&&delete this.events[a]}},u={config:x,contextName:a,registry:y,defined:C,urlFetched:D,defQueue:B,Module:t,makeModuleMap:g,nextTick:req.nextTick,onError:j,configure:function(a){a.baseUrl&&"/"!==a.baseUrl.charAt(a.baseUrl.length-1)&&(a.baseUrl+="/");var b=x.pkgs,c=x.shim,d={paths:!0,config:!0,map:!0};eachProp(a,function(a,b){d[b]?"map"===b?(x.map||(x.map={}),mixin(x[b],a,!0,!0)):mixin(x[b],a,!0):x[b]=a}),a.shim&&(eachProp(a.shim,function(a,b){isArray(a)&&(a={deps:a}),!a.exports&&!a.init||a.exportsFn||(a.exportsFn=u.makeShimExports(a)),c[b]=a}),x.shim=c),a.packages&&(each(a.packages,function(a){var c;a="string"==typeof a?{name:a}:a,c=a.location,b[a.name]={name:a.name,location:c||a.name,main:(a.main||"main").replace(currDirRegExp,"").replace(jsSuffixRegExp,"")}}),x.pkgs=b),eachProp(y,function(a,b){a.inited||a.map.unnormalized||(a.map=g(b))}),(a.deps||a.callback)&&u.require(a.deps||[],a.callback)},makeShimExports:function(a){function b(){var b;return a.init&&(b=a.init.apply(global,arguments)),b||a.exports&&getGlobal(a.exports)}return b},makeRequire:function(b,d){function e(c,f,i){var k,l,m;return d.enableBuildCallback&&f&&isFunction(f)&&(f.__requireJsBuild=!0),"string"==typeof c?isFunction(f)?j(makeError("requireargs","Invalid require call"),i):b&&hasProp(v,c)?v[c](y[b.id]):req.get?req.get(u,c,b,e):(l=g(c,b,!1,!0),k=l.id,hasProp(C,k)?C[k]:j(makeError("notloaded",'Module name "'+k+'" has not been loaded yet for context: '+a+(b?"":". Use require([])")))):(r(),u.nextTick(function(){r(),m=h(g(null,b)),m.skipMap=d.skipMap,m.init(c,f,i,{enabled:!0}),n()}),e)}return d=d||{},mixin(e,{isBrowser:isBrowser,toUrl:function(a){var d,e=a.lastIndexOf("."),f=a.split("/")[0],g="."===f||".."===f;return-1!==e&&(!g||e>1)&&(d=a.substring(e,a.length),a=a.substring(0,e)),u.nameToUrl(c(a,b&&b.id,!0),d,!0)},defined:function(a){return hasProp(C,g(a,b,!1,!0).id)},specified:function(a){return a=g(a,b,!1,!0).id,hasProp(C,a)||hasProp(y,a)}}),b||(e.undef=function(a){k();var c=g(a,b,!0),d=getOwn(y,a);delete C[a],delete D[c.url],delete A[a],d&&(d.events.defined&&(A[a]=d.events),l(a))}),e},enable:function(a){var b=getOwn(y,a.id);b&&h(a).enable()},completeLoad:function(a){var b,c,d,f=getOwn(x.shim,a)||{},g=f.exports;for(k();B.length;){if(c=B.shift(),null===c[0]){if(c[0]=a,b)break;b=!0}else c[0]===a&&(b=!0);o(c)}if(d=getOwn(y,a),!b&&!hasProp(C,a)&&d&&!d.inited){if(!(!x.enforceDefine||g&&getGlobal(g)))return e(a)?void 0:j(makeError("nodefine","No define call for "+a,null,[a]));o([a,f.deps||[],f.exportsFn])}n()},nameToUrl:function(a,b,c){var d,e,f,g,h,i,j,k,l;if(req.jsExtRegExp.test(a))k=a+(b||"");else{for(d=x.paths,e=x.pkgs,h=a.split("/"),i=h.length;i>0;i-=1){if(j=h.slice(0,i).join("/"),f=getOwn(e,j),l=getOwn(d,j)){isArray(l)&&(l=l[0]),h.splice(0,i,l);break}if(f){g=a===f.name?f.location+"/"+f.main:f.location,h.splice(0,i,g);break}}k=h.join("/"),k+=b||(/\?/.test(k)||c?"":".js"),k=("/"===k.charAt(0)||k.match(/^[\w\+\.\-]+:/)?"":x.baseUrl)+k}return x.urlArgs?k+((-1===k.indexOf("?")?"?":"&")+x.urlArgs):k},load:function(a,b){req.load(u,a,b)},execCb:function(a,b,c,d){return b.apply(d,c)},onScriptLoad:function(a){if("load"===a.type||readyRegExp.test((a.currentTarget||a.srcElement).readyState)){interactiveScript=null;var b=q(a);u.completeLoad(b.id)}},onScriptError:function(a){var b=q(a);return e(b.id)?void 0:j(makeError("scripterror","Script error for: "+b.id,a,[b.id]))}},u.require=u.makeRequire(),u}function getInteractiveScript(){return interactiveScript&&"interactive"===interactiveScript.readyState?interactiveScript:(eachReverse(scripts(),function(a){return"interactive"===a.readyState?interactiveScript=a:void 0}),interactiveScript)}var req,s,head,baseElement,dataMain,src,interactiveScript,currentlyAddingScript,mainScript,subPath,version="2.1.8",commentRegExp=/(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/gm,cjsRequireRegExp=/[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,jsSuffixRegExp=/\.js$/,currDirRegExp=/^\.\//,op=Object.prototype,ostring=op.toString,hasOwn=op.hasOwnProperty,ap=Array.prototype,apsp=ap.splice,isBrowser=!("undefined"==typeof window||!navigator||!window.document),isWebWorker=!isBrowser&&"undefined"!=typeof importScripts,readyRegExp=isBrowser&&"PLAYSTATION 3"===navigator.platform?/^complete$/:/^(complete|loaded)$/,defContextName="_",isOpera="undefined"!=typeof opera&&"[object Opera]"===opera.toString(),contexts={},cfg={},globalDefQueue=[],useInteractive=!1;if("undefined"==typeof define){if("undefined"!=typeof requirejs){if(isFunction(requirejs))return;cfg=requirejs,requirejs=void 0}"undefined"==typeof require||isFunction(require)||(cfg=require,require=void 0),req=requirejs=function(a,b,c,d){var e,f,g=defContextName;return isArray(a)||"string"==typeof a||(f=a,isArray(b)?(a=b,b=c,c=d):a=[]),f&&f.context&&(g=f.context),e=getOwn(contexts,g),e||(e=contexts[g]=req.s.newContext(g)),f&&e.configure(f),e.require(a,b,c)},req.config=function(a){return req(a)},req.nextTick="undefined"!=typeof setTimeout?function(a){setTimeout(a,4)}:function(a){a()},require||(require=req),req.version=version,req.jsExtRegExp=/^\/|:|\?|\.js$/,req.isBrowser=isBrowser,s=req.s={contexts:contexts,newContext:newContext},req({}),each(["toUrl","undef","defined","specified"],function(a){req[a]=function(){var b=contexts[defContextName];return b.require[a].apply(b,arguments)}}),isBrowser&&(head=s.head=document.getElementsByTagName("head")[0],baseElement=document.getElementsByTagName("base")[0],baseElement&&(head=s.head=baseElement.parentNode)),req.onError=defaultOnError,req.createNode=function(a){var b=a.xhtml?document.createElementNS("http://www.w3.org/1999/xhtml","html:script"):document.createElement("script");return b.type=a.scriptType||"text/javascript",b.charset="utf-8",b.async=!0,b},req.load=function(a,b,c){var d,e=a&&a.config||{};if(isBrowser)return d=req.createNode(e,b,c),d.setAttribute("data-requirecontext",a.contextName),d.setAttribute("data-requiremodule",b),!d.attachEvent||d.attachEvent.toString&&d.attachEvent.toString().indexOf("[native code")<0||isOpera?(d.addEventListener("load",a.onScriptLoad,!1),d.addEventListener("error",a.onScriptError,!1)):(useInteractive=!0,d.attachEvent("onreadystatechange",a.onScriptLoad)),d.src=c,currentlyAddingScript=d,baseElement?head.insertBefore(d,baseElement):head.appendChild(d),currentlyAddingScript=null,d;if(isWebWorker)try{importScripts(c),a.completeLoad(b)}catch(f){a.onError(makeError("importscripts","importScripts failed for "+b+" at "+c,f,[b]))}},isBrowser&&eachReverse(scripts(),function(a){return head||(head=a.parentNode),dataMain=a.getAttribute("data-main"),dataMain?(mainScript=dataMain,cfg.baseUrl||(src=mainScript.split("/"),mainScript=src.pop(),subPath=src.length?src.join("/")+"/":"./",cfg.baseUrl=subPath),mainScript=mainScript.replace(jsSuffixRegExp,""),req.jsExtRegExp.test(mainScript)&&(mainScript=dataMain),cfg.deps=cfg.deps?cfg.deps.concat(mainScript):[mainScript],!0):void 0}),define=function(a,b,c){var d,e;"string"!=typeof a&&(c=b,b=a,a=null),isArray(b)||(c=b,b=null),!b&&isFunction(c)&&(b=[],c.length&&(c.toString().replace(commentRegExp,"").replace(cjsRequireRegExp,function(a,c){b.push(c)}),b=(1===c.length?["require"]:["require","exports","module"]).concat(b))),useInteractive&&(d=currentlyAddingScript||getInteractiveScript(),d&&(a||(a=d.getAttribute("data-requiremodule")),e=contexts[d.getAttribute("data-requirecontext")])),(e?e.defQueue:globalDefQueue).push([a,b,c])},define.amd={jQuery:!0},req.exec=function(text){return eval(text)},req(cfg)}}(this); \ No newline at end of file diff --git a/app/dash/vendor/require/tmpl.js b/app/dash/vendor/require/tmpl.js deleted file mode 100644 index f24f7ed..0000000 --- a/app/dash/vendor/require/tmpl.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! grafana - v1.6.1 - 2014-09-02 - * Copyright (c) 2014 Torkel Ödegaard; Licensed Apache License */ - -define(["module"],function(a){var b=a.config&&a.config()||{};return{load:function(a,c,d){var e=c.toUrl(a);c(["text!"+a],function(a){b.registerTemplate&&b.registerTemplate(e,a),d(a)})}}}); \ No newline at end of file diff --git a/app/data/config.json b/app/data/config.json index f6feeba..174ce04 100644 --- a/app/data/config.json +++ b/app/data/config.json @@ -16,38 +16,17 @@ "max_size": "20G" } }, - "interface": { - "eth0": { - "subnet_id": 1, - "is_mgmt": true, - "is_promiscuous": false - }, - "eth1": { - "subnet_id": 2, - "is_mgmt": false, - "is_promiscuous": true - }, - "eth2": { - "subnet_id": 1, - "is_mgmt": false, - "is_promiscuous": false - }, - "eth3": { - "subnet_id": 2, - "is_mgmt": false, - "is_promiscuous": false - } - }, + "interface": { }, "general": { "timezone": "America/Los_Angeles", "language": "en", "http_proxy": "", "https_proxy": "", "no_proxy": [""], - "ntp_server": "", - "dns_servers": [""], + "ntp_server": "127.0.0.1", + "dns_servers": ["ods.com"], "search_path": ["ods.com"], - "domain": "ods.com", + "domain": ["ods.com"], "default_gateway": "10.145.88.1", "local_repo": "" }, @@ -84,6 +63,14 @@ "username": "root", "password": "root" }, + "network": { + "username": "neutron", + "password": "neutron" + }, + "heat": { + "username": "heat", + "password": "heat" + }, "volume": { "username": "cinder", "password": "cinder" @@ -94,6 +81,10 @@ "username": "admin", "password": "admin" }, + "demo": { + "username": "demo", + "password": "demo" + }, "compute": { "username": "nova", "password": "nova" @@ -106,6 +97,10 @@ "username": "glance", "password": "glance" }, + "identity": { + "username": "keystone", + "password": "keystone" + }, "metering": { "username": "ceilometer", "password": "ceilometer" @@ -118,14 +113,17 @@ "username": "swift", "password": "swift" }, + "heat": { + "username": "heat", + "password": "heat" + }, "volume": { "username": "cinder", "password": "cinder" } }, "network_mapping": { - "management": "", - "tenant": "", + "mgmt": "", "storage": "", "external": "" } @@ -471,4 +469,4 @@ } } } -} \ No newline at end of file +} diff --git a/app/data/config.json-backup b/app/data/config.json-backup new file mode 100644 index 0000000..f6feeba --- /dev/null +++ b/app/data/config.json-backup @@ -0,0 +1,474 @@ +{ + "openstack": { + "cluster": { + "id": 1, + "name": "demo", + "adapter_id": 1, + "os_id": 1 + }, + "partition": { + "/var": { + "percentage": 30, + "max_size": "10G" + }, + "/usr": { + "percentage": 30, + "max_size": "20G" + } + }, + "interface": { + "eth0": { + "subnet_id": 1, + "is_mgmt": true, + "is_promiscuous": false + }, + "eth1": { + "subnet_id": 2, + "is_mgmt": false, + "is_promiscuous": true + }, + "eth2": { + "subnet_id": 1, + "is_mgmt": false, + "is_promiscuous": false + }, + "eth3": { + "subnet_id": 2, + "is_mgmt": false, + "is_promiscuous": false + } + }, + "general": { + "timezone": "America/Los_Angeles", + "language": "en", + "http_proxy": "", + "https_proxy": "", + "no_proxy": [""], + "ntp_server": "", + "dns_servers": [""], + "search_path": ["ods.com"], + "domain": "ods.com", + "default_gateway": "10.145.88.1", + "local_repo": "" + }, + "server_credentials": { + "username": "", + "password": "" + }, + "service_credentials": { + "rabbitmq": { + "username": "guest", + "password": "guest" + }, + "compute": { + "username": "nova", + "password": "nova" + }, + "dashboard": { + "username": "dashboard", + "password": "dashboard" + }, + "identity": { + "username": "keystone", + "password": "keystone" + }, + "image": { + "username": "glance", + "password": "glance" + }, + "metering": { + "username": "ceilometer", + "password": "ceilometer" + }, + "mysql": { + "username": "root", + "password": "root" + }, + "volume": { + "username": "cinder", + "password": "cinder" + } + }, + "console_credentials": { + "admin": { + "username": "admin", + "password": "admin" + }, + "compute": { + "username": "nova", + "password": "nova" + }, + "dashboard": { + "username": "dashboard", + "password": "dashboard" + }, + "image": { + "username": "glance", + "password": "glance" + }, + "metering": { + "username": "ceilometer", + "password": "ceilometer" + }, + "network": { + "username": "quantum", + "password": "quantum" + }, + "object-store": { + "username": "swift", + "password": "swift" + }, + "volume": { + "username": "cinder", + "password": "cinder" + } + }, + "network_mapping": { + "management": "", + "tenant": "", + "storage": "", + "external": "" + } + }, + "openstack_ceph": { + "cluster": { + "id": 1, + "name": "demo", + "adapter_id": 1, + "os_id": 1 + }, + "partition": { + "/var": { + "percentage": 30, + "max_size": "10G" + }, + "/usr": { + "percentage": 30, + "max_size": "20G" + } + }, + "interface": { + "eth0": { + "subnet_id": 1, + "is_mgmt": true, + "is_promiscuous": false + }, + "eth1": { + "subnet_id": 2, + "is_mgmt": false, + "is_promiscuous": true + }, + "eth2": { + "subnet_id": 1, + "is_mgmt": false, + "is_promiscuous": false + }, + "eth3": { + "subnet_id": 2, + "is_mgmt": false, + "is_promiscuous": false + } + }, + "general": { + "timezone": "America/Los_Angeles", + "language": "en", + "http_proxy": "", + "https_proxy": "", + "no_proxy": [""], + "ntp_server": "", + "dns_servers": [""], + "search_path": ["ods.com"], + "domain": "ods.com", + "default_gateway": "10.145.88.1", + "local_repo": "" + }, + "server_credentials": { + "username": "", + "password": "" + }, + "service_credentials": { + "rabbitmq": { + "username": "guest", + "password": "guest" + }, + "compute": { + "username": "nova", + "password": "nova" + }, + "dashboard": { + "username": "dashboard", + "password": "dashboard" + }, + "identity": { + "username": "keystone", + "password": "keystone" + }, + "image": { + "username": "glance", + "password": "glance" + }, + "metering": { + "username": "ceilometer", + "password": "ceilometer" + }, + "mysql": { + "username": "root", + "password": "root" + }, + "volume": { + "username": "cinder", + "password": "cinder" + } + }, + "console_credentials": { + "admin": { + "username": "admin", + "password": "admin" + }, + "compute": { + "username": "nova", + "password": "nova" + }, + "dashboard": { + "username": "dashboard", + "password": "dashboard" + }, + "image": { + "username": "glance", + "password": "glance" + }, + "metering": { + "username": "ceilometer", + "password": "ceilometer" + }, + "network": { + "username": "quantum", + "password": "quantum" + }, + "object-store": { + "username": "swift", + "password": "swift" + }, + "volume": { + "username": "cinder", + "password": "cinder" + } + }, + "network_mapping": { + "management": "", + "tenant": "", + "storage": "", + "external": "", + "public_network": "", + "cluster_network": "" + }, + "ceph_config": { + "global_config": { + "osd_pool_pg_num": "1024", + "osd_pool_pgp_num": "1024", + "osd_pool_size": "3" + }, + "osd_config": { + "journal_size": "10000", + "op_threads": 10 + } + } + }, + "os_only": { + "cluster": { + "id": 1, + "name": "demo", + "adapter_id": 1, + "os_id": 1 + }, + "partition": { + "/var": { + "percentage": 30, + "max_size": "10G" + }, + "/usr": { + "percentage": 30, + "max_size": "20G" + } + }, + "interface": { + "eth0": { + "subnet_id": 1, + "is_mgmt": true, + "is_promiscuous": false + }, + "eth1": { + "subnet_id": 2, + "is_mgmt": false, + "is_promiscuous": true + }, + "eth2": { + "subnet_id": 1, + "is_mgmt": false, + "is_promiscuous": false + }, + "eth3": { + "subnet_id": 2, + "is_mgmt": false, + "is_promiscuous": false + } + }, + "general": { + "timezone": "America/Los_Angeles", + "language": "en", + "http_proxy": "", + "https_proxy": "", + "no_proxy": [""], + "ntp_server": "", + "dns_servers": [""], + "search_path": ["ods.com"], + "domain": "ods.com", + "default_gateway": "10.145.88.1", + "local_repo": "" + }, + "server_credentials": { + "username": "", + "password": "" + } + }, + "ceph_firefly": { + "cluster": { + "id": 1, + "name": "demo", + "adapter_id": 1, + "os_id": 1 + }, + "partition": { + "/var": { + "percentage": 30, + "max_size": "10G" + }, + "/usr": { + "percentage": 30, + "max_size": "20G" + } + }, + "interface": { + "eth0": { + "subnet_id": 1, + "is_mgmt": true, + "is_promiscuous": false + }, + "eth1": { + "subnet_id": 2, + "is_mgmt": false, + "is_promiscuous": true + }, + "eth2": { + "subnet_id": 1, + "is_mgmt": false, + "is_promiscuous": false + }, + "eth3": { + "subnet_id": 2, + "is_mgmt": false, + "is_promiscuous": false + } + }, + "general": { + "timezone": "America/Los_Angeles", + "language": "en", + "http_proxy": "", + "https_proxy": "", + "no_proxy": [""], + "ntp_server": "", + "dns_servers": [""], + "search_path": ["ods.com"], + "domain": "ods.com", + "default_gateway": "10.145.88.1", + "local_repo": "" + }, + "server_credentials": { + "username": "", + "password": "" + }, + "service_credentials": { + "rabbitmq": { + "username": "guest", + "password": "guest" + }, + "compute": { + "username": "nova", + "password": "nova" + }, + "dashboard": { + "username": "dashboard", + "password": "dashboard" + }, + "identity": { + "username": "keystone", + "password": "keystone" + }, + "image": { + "username": "glance", + "password": "glance" + }, + "metering": { + "username": "ceilometer", + "password": "ceilometer" + }, + "mysql": { + "username": "root", + "password": "root" + }, + "volume": { + "username": "cinder", + "password": "cinder" + } + }, + "console_credentials": { + "admin": { + "username": "admin", + "password": "admin" + }, + "compute": { + "username": "nova", + "password": "nova" + }, + "dashboard": { + "username": "dashboard", + "password": "dashboard" + }, + "image": { + "username": "glance", + "password": "glance" + }, + "metering": { + "username": "ceilometer", + "password": "ceilometer" + }, + "network": { + "username": "quantum", + "password": "quantum" + }, + "object-store": { + "username": "swift", + "password": "swift" + }, + "volume": { + "username": "cinder", + "password": "cinder" + } + }, + "network_mapping": { + "public_network": "", + "cluster_network": "" + }, + "ceph_config": { + "global_config": { + "osd_pool_pg_num": "1024", + "osd_pool_pgp_num": "1024", + "osd_pool_size": "3" + }, + "osd_config": { + "journal_size": "10000", + "op_threads": 10 + } + } + } +} \ No newline at end of file diff --git a/app/data/sample_machine_uploadfile.txt b/app/data/sample_machine_uploadfile.txt new file mode 100644 index 0000000..677f9bd --- /dev/null +++ b/app/data/sample_machine_uploadfile.txt @@ -0,0 +1,5 @@ +00:01:02:03:04:05,8,127.0.0.1 +00:01:02:03:04:06,8,127.0.0.1 +00:01:02:03:04:07,8,127.0.0.1 +00:01:02:03:04:08,8,127.0.0.1 +00:01:02:03:04:09,8,127.0.0.1 diff --git a/app/data/sample_switch_uploadfile.txt b/app/data/sample_switch_uploadfile.txt new file mode 100644 index 0000000..5277ccc --- /dev/null +++ b/app/data/sample_switch_uploadfile.txt @@ -0,0 +1 @@ +127.0.0.1,huawei,2c,community diff --git a/app/data/wizard_steps.json b/app/data/wizard_steps.json index fb9c92d..413b180 100644 --- a/app/data/wizard_steps.json +++ b/app/data/wizard_steps.json @@ -4,56 +4,56 @@ "name": "sv_selection", "title": "Server Selection", "state": "active", - "template": "src/app/wizard/server_selection.tpl.html", + "template": "src/app/partials/server_selection.tpl.html", "description": "Select the servers you want to use for your target system(s)" }, { "id": 2, "name": "os_global", "title": "OS Global Config", "state": "", - "template": "src/app/wizard/global.tpl.html", + "template": "src/app/partials/global.tpl.html", "description": "" }, { "id": 3, - "name": "network", - "title": "Network", - "state": "", - "template": "src/app/wizard/network.tpl.html", - "description": "" - }, { - "id": 4, "name": "partition", "title": "Partition", "state": "", - "template": "src/app/wizard/partition.tpl.html", + "template": "src/app/partials/partition.tpl.html", + "description": "" + }, { + "id": 4, + "name": "network", + "title": "Physical Network", + "state": "", + "template": "src/app/partials/network.tpl.html", "description": "" }, { "id": 5, - "name": "package_config", - "title": "Target System Config", + "name": "network_mapping", + "title": "Virtual Network", "state": "", - "template": "src/app/wizard/package_config.tpl.html", + "template": "src/app/partials/network_mapping.tpl.html", "description": "" }, { "id": 6, - "name": "role_assign", - "title": "Role Assignment", + "name": "package_config", + "title": "System Credentials", "state": "", - "template": "src/app/wizard/role_assignment.tpl.html", + "template": "src/app/partials/package_config.tpl.html", "description": "" }, { "id": 7, - "name": "network_mapping", - "title": "Network Mapping", + "name": "role_assign", + "title": "Role Assignment", "state": "", - "template": "src/app/wizard/network_mapping.tpl.html", + "template": "src/app/partials/role_assignment.tpl.html", "description": "" }, { "id": 8, "name": "review", "title": "Review", "state": "", - "template": "src/app/wizard/review.tpl.html", + "template": "src/app/partials/review.tpl.html", "description": "Click a section title to navigate back to that page." }], "os": [{ @@ -61,35 +61,35 @@ "name": "sv_selection", "title": "Server Selection", "state": "active", - "template": "src/app/wizard/server_selection.tpl.html", + "template": "src/app/partials/server_selection.tpl.html", "description": "Select the servers you want to use for your targer system(s)" }, { "id": 2, "name": "os_global", "title": "OS Global Config", "state": "", - "template": "src/app/wizard/global.tpl.html", + "template": "src/app/partials/global.tpl.html", "description": "" }, { "id": 3, "name": "network", "title": "Network", "state": "", - "template": "src/app/wizard/network.tpl.html", + "template": "src/app/partials/network.tpl.html", "description": "" }, { "id": 4, "name": "partition", "title": "Partition", "state": "", - "template": "src/app/wizard/partition.tpl.html", + "template": "src/app/partials/partition.tpl.html", "description": "" }, { "id": 5, "name": "review", "title": "Review", "state": "", - "template": "src/app/wizard/review.tpl.html", + "template": "src/app/partials/review.tpl.html", "description": "Click a section title to navigate back to that page." }], "ts": [{ diff --git a/app/dboards/.gitignore b/app/dboards/.gitignore deleted file mode 100644 index 6e77adf..0000000 --- a/app/dboards/.gitignore +++ /dev/null @@ -1,12 +0,0 @@ -node_modules -.aws-config.json -dist - -# locally required config files -web.config -config.js - -# Editor junk -*.sublime-workspace -*.swp -.idea diff --git a/app/dboards/.jscs.json b/app/dboards/.jscs.json deleted file mode 100644 index dcf694d..0000000 --- a/app/dboards/.jscs.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "disallowImplicitTypeConversion": ["string"], - "disallowKeywords": ["with"], - "disallowMultipleLineBreaks": true, - "disallowMixedSpacesAndTabs": true, - "disallowTrailingWhitespace": true, - "requireSpacesInFunctionExpression": { - "beforeOpeningCurlyBrace": true - }, - "disallowSpacesInsideArrayBrackets": true, - "disallowSpacesInsideParentheses": true, - "validateIndentation": 2 -} \ No newline at end of file diff --git a/app/dboards/.jshintrc b/app/dboards/.jshintrc deleted file mode 100644 index e8f044e..0000000 --- a/app/dboards/.jshintrc +++ /dev/null @@ -1,35 +0,0 @@ -{ - "browser": true, - - "bitwise":false, - "curly": true, - "eqnull": true, - "globalstrict": true, - "devel": true, - "eqeqeq": true, - "forin": false, - "immed": true, - "supernew": true, - "expr": true, - "indent": 2, - "latedef": true, - "newcap": true, - "noarg": true, - "noempty": true, - "undef": true, - "boss": true, - "trailing": true, - "laxbreak": true, - "laxcomma": true, - "sub": true, - "unused": true, - "maxdepth": 5, - "maxlen": 140, - - "globals": { - "define": true, - "require": true, - "Chromath": false, - "setImmediate": true - } -} \ No newline at end of file diff --git a/app/dboards/.travis.yml b/app/dboards/.travis.yml deleted file mode 100644 index 0ce3be2..0000000 --- a/app/dboards/.travis.yml +++ /dev/null @@ -1,5 +0,0 @@ -language: node_js -node_js: - - "0.10" -before_script: - - npm install -g grunt-cli \ No newline at end of file diff --git a/app/dboards/CHANGELOG.md b/app/dboards/CHANGELOG.md deleted file mode 100644 index 567c447..0000000 --- a/app/dboards/CHANGELOG.md +++ /dev/null @@ -1,217 +0,0 @@ -vNext - -**Changes** -- Use unix epoch for Graphite from/to for absolute time ranges (Closes #536) - -# 1.6.1 (2014-06-24) - -**New features or improvements** -- Ability to set y min/max for right y-axis (RR #519, Closes #360) - thx @acedrew - -**Fixes** - -- Fixes regex InfluxDB queries intoduced in 1.6.0 (PR #500) -- Bug in when using % sign in legends (aliases), fixed by removing url decoding of metric names (Fixes #506) -- Series names and column name typeahead cache fix (Fixes #522) -- Fixed influxdb issue with raw query that caused wrong value column detection (Fixes #504) -- Default property that marks which datasource is default in config.js is now optional (Fixes #526) -- Auto-refresh caused 2 refreshes (and hence mulitple queries) each time (at least in firefox) (Fixes #342) - -# 1.6.0 (2014-06-16) - -#### New features or improvements -- New Y-axis formater for metric values that represent seconds (Issue #427) - thx @jippi -- Allow special characters in serie names (influxdb datasource), PR #390 - thx @majst01 -- Refactoring of filterSrv (Issue #428), thx @Tetha -- New config for playlist feature. Set playlist_timespan to set default playlist interval (Issue #445) - thx @rmca -- New graphite function definition added isNonNull (PR #461), - thx @tmonk42 -- New InfluxDB function difference add to function dropdown (PR #455) -- Added parameter to keepLastValue graphite function definition (default 100), Closes #459 -- improved asset (css/js) build pipeline, added revision to css and js. Will remove issues related - to the browser cache when upgrading grafana and improve load performance (Fixes #418) -- Partial support for url encoded metrics when using Graphite datasource (PR #327) - thx @axe-felix -- Improvement to InfluxDB query editor and function/value column selection (Issue #473) -- Initial support for filtering (templated queries) for InfluxDB (PR #375) - thx @mavimo -- Row editing and adding new panel is now a lot quicker and easier with the new row menu (Issue #475) -- New datasource! Initial support for OpenTSDB (PR #211) - thx @mpage -- Improvement and polish to the OpenTSDB query editor (Issue #492) -- Influxdb group by support (Issue #441) thx @piis3 - - -#### Changes -- Graphite panel is now renamed graph (Existing dashboards will still work) -- Add panel icon and Row edit button is replaced by the Row edit menu (Issue #475) -- New graphs now have a default empty query -- Add Row button now creates a row with default height of 250px (no longer opens dashboard settings modal) -- Clean up of config.sample.js, graphiteUrl removed (still works, but depricated, removed in future) - Use datasources config instead. panel_names removed from config.js. Use plugins.panels to add custom panels - -#### Fixes -- Graphite query lexer change, can now handle regex parameters for aliasSub function (Fixes #126) -- Filter option loading when having muliple nested filters now works better. - Options are now reloaded correctly and there are no multiple renders/refresh inbetween (#447), - After an option is changed and a nested template param is also reloaded, if the current value - exists after the options are reloaded the current selected value is kept (Closes #447, Closes #412) -- Legend Current value did not display when value was zero, Fixes #460 -- Fix to series toggling bug that caused annotations to be hidden when toggling (hiding) series. Fixes #328 -- Fix for graphite function selection menu that some times draws outside screen. It now displays upward (Fixes #293) -- Fix for exclusive series toggling (hold down CTRL, SHIFT or META key) and left click a series for exclusive toggling - CTRL does not work on MAC OSX but SHIFT or META should (depending on browser) (Closes #350, Fixes #472) - -# 1.5.4 (2014-05-13) -### New features and improvements -- InfluxDB enhancement: support for multiple hosts (with retries) and raw queries (Issue #318, thx @toddboom) -- Added rounding for graphites from and to time range filters - for very short absolute ranges (Issue #320) -- Increased resolution for graphite datapoints (maxDataPoints), now equal to panel pixel width. (Closes #5) -- Improvement to influxdb query editor, can now add where clause and alias (Issue #331, thanks @mavimo) -- New config setting for graphite datasource to control if json render request is POST or GET (Issue #345) -- Unsaved changes warning feature (Issue #324) -- Improvement to series toggling, CTRL+MouseClick on series name will now hide all others (Issue #350) - -### Changes -- Graph default setting for Y-Min changed from zero to auto scalling (will not effect existing dashboards). (Issue #386) - thx @kamaradclimber - -### Fixes -- Fixes to filters and "All" option. It now never uses "*" as value, but all options in a {node1, node2, node3} expression (Issue #228, #359) -- Fix for InfluxDB query generation with columns containing dots or dashes (Issue #369, #348) - Thanks to @jbripley - - -# 1.5.3 (2014-04-17) -- Add support for async scripted dashboards (Issue #274) -- Text panel now accepts html (for links to other dashboards, etc) (Issue #236) -- Fix for Text panel, now changes take effect directly (Issue #251) -- Fix when adding functions without params that did not cause graph to update (Issue #267) -- Graphite errors are now much easier to see and troubleshoot with the new inspector (Issue #265) -- Use influxdb aliases to distinguish between multiple columns (Issue #283) -- Correction to ms axis formater, now formats days correctly. (Issue #189) -- Css fix for Firefox and using top menu dropdowns in panel fullscren / edit mode (Issue #106) -- Browser page title is now Grafana - {{dashboard title}} (Issue #294) -- Disable auto refresh zooming in (every time you change to an absolute time range), refresh will be restored when you change time range back to relative (Issue #282) -- More graphite functions - -# 1.5.2 (2014-03-24) -### New Features and improvements -- Support for second optional params for functions like aliasByNode (Issue #167). Read the wiki on the [Function Editor](https://github.com/torkelo/grafana/wiki/Graphite-Function-Editor) for more info. -- More functions added to InfluxDB query editor (Issue #218) -- Filters can now be used inside other filters (templated segments) (Issue #128) -- More graphite functions added - -### Fixes -- Float arguments now work for functions like scale (Issue #223) -- Fix for graphite function editor, the graph & target was not updated after adding a function and leaving default params as is #191 - -The zip files now contains a sub folder with project name and version prefix. (Issue #209) - -# 1.5.1 (2014-03-10) -### Fixes -- maxDataPoints must be an integer #184 (thanks @frejsoya for fixing this) - -For people who are find Grafana slow for large time spans or high resolution metrics. This is most likely due to graphite returning a large number of datapoints. The maxDataPoints parameter solves this issue. For maxDataPoints to work you need to run the latest graphite-web (some builds of 0.9.12 does not include this feature). - -Read this for more info: -[Performance for large time spans](https://github.com/torkelo/grafana/wiki/Performance-for-large-time-spans) - -# 1.5.0 (2014-03-09) -### New Features and improvements -- New function editor [video demo](http://youtu.be/I90WHRwE1ZM) (Issue #178) -- Links to function documentation from function editor (Issue #3) -- Reorder functions (Issue #130) -- [Initial support for InfluxDB](https://github.com/torkelo/grafana/wiki/InfluxDB) as metric datasource (#103), need feedback! -- [Dashboard playlist](https://github.com/torkelo/grafana/wiki/Dashboard-playlist) (Issue #36) -- When adding aliasByNode smartly set node number (Issue #175) -- Support graphite identifiers with embedded colons (Issue #173) -- Typeahead & autocomplete when adding new function (Issue #164) -- More graphite function definitions -- Make "ms" axis format include hour, day, weeks, month and year (Issue #149) -- Microsecond axis format (Issue #146) -- Specify template paramaters in URL (Issue #123) - -### Fixes -- Basic Auth fix (Issue #152) -- Fix to annotations with graphite source & null values (Issue #138) - -# 1.4.0 (2014-02-21) -### New Features -- #44 Annotations! Required a lot of work to get right. Read wiki article for more info. Supported annotations data sources are graphite metrics and graphite events. Support for more will be added in the future! -- #35 Support for multiple graphite servers! (Read wiki article for more) -- #116 Back to dashboard link in top menu to easily exist full screen / edit mode. -- #114, #97 Legend values now use the same y axes formatter -- #77 Improvements and polish to the light theme - -### Changes -- #98 Stack is no longer by default turned on in graph display settings. -- Hide controls (Ctrl+h) now hides the sub menu row (where filtering, and annotations are). So if you had filtering enabled and hide controls enabled you will not see the filtering sub menu. - -### Fixes: -- #94 Fix for bug that caused dashboard settings to sometimes not contain timepicker tab. -- #110 Graph with many many metrics caused legend to push down graph editor below screen. You can now scroll in edit mode & full screen mode for graphs with lots of series & legends. -- #104 Improvement to graphite target editor, select wildcard now gives you a "select metric" link for the next node. -- #105 Added zero as a possible node value in groupByAlias function - -# 1.3.0 (2014-02-13) -### New features or improvements -- #86 Dashboard tags and search (see wiki article for details) -- #54 Enhancement to filter / template. "Include All" improvement -- #82 Dashboard search result sorted in alphabetical order - -### Fixes -- #91 Custom date selector is one day behind -- #89 Filter / template does not work after switching dashboard -- #88 Closed / Minimized row css bug -- #85 Added all parameters to summarize function -- #83 Stack as percent should now work a lot better! - -# 1.2.0 (2014-02-10) -### New features -- #70 Grid Thresholds (warning and error regions or lines in graph) -- #72 Added an example of a scripted dashboard and a short wiki article documenting scripted dashboards. - -### Fixes -- #81 Grid min/max values are ignored bug -- #80 "stacked as percent" graphs should always use "max" value of 100 bug -- #73 Left Y format change did not work -- #42 Fixes to grid min/max auto scaling -- #69 Fixes to lexer/parser for metrics segments like "10-20". -- #67 Allow decimal input for scale function -- #68 Bug when trying to open dashboard while in edit mode - -# 1.1.0 (2014-02-06) -### New features: - -- #22 Support for native graphite png renderer, does not support click and select zoom yet -- #60 Support for legend values (cactiStyle, min, max, current, total, avg). The options for these are found in the new "Axes & Grid" tab for now. -- #62 There is now a "New" button in the search/open dashboard view to quickly open a clean empty dashboard. -- #55 Basic auth is now supported for elastic search as well -- some new function definitions added (will focus more on this for next release). - -### Fixes -- #45 zero values from graphite was handled as null. -- #63 Kibana / Grafana on same host would use same localStorage keys, now fixed -- #46 Impossible to edit graph without a name fixed. -- #24 fix for dashboard search when elastic search is configured to disable _all field. -- #38 Improvement to lexer / parser to support pure numeric literals in metric segments - -Thanks to everyone who contributed fixes and provided feedback :+1: - -# 1.0.4 (2014-01-24) -- Fixes #28 - Relative time range caused 500 graphite error in some cases (thx rsommer for the fix) - -# 1.0.3 (2014-01-23) -- #9 Add Y-axis format for milliseconds -- #16 Add support for Basic Auth (use http://username:password@yourgraphitedomain.com) -- #13 Relative time ranges now uses relative time ranges when issuing graphite query - -# 1.0.2 (2014-01-21) -- Fixes #12, should now work ok without ElasticSearch - -# 1.0.1 (2014-01-21) -- Resize fix -- Improvements to drag & drop -- Added a few graphite function definitions -- Fixed duplicate panel bug -- Updated default dashboard with welcome message and randomWalk graph - -# 1.0.0 (2014-01-19) - -First public release diff --git a/app/dboards/CONTRIBUTING.md b/app/dboards/CONTRIBUTING.md deleted file mode 100644 index 405be40..0000000 --- a/app/dboards/CONTRIBUTING.md +++ /dev/null @@ -1,14 +0,0 @@ -If you have any idea for an improvement or found a bug do not hesitate to open an issue. -And if you have time clone this repo and submit a pull request and help me make Grafana the -kickass metrics & devops dashboard we all dream about! - -Prerequisites: - - Nodejs (for jshint & grunt & development server) - -Clone repository: - - npm install - grunt server (starts development web server in src folder) - grunt (runs jshint and less -> css compilation) - -Please remember to run grunt before doing pull request to verify that your code passes all the jshint validations. diff --git a/app/dboards/Gruntfile.js b/app/dboards/Gruntfile.js deleted file mode 100644 index bcc542e..0000000 --- a/app/dboards/Gruntfile.js +++ /dev/null @@ -1,38 +0,0 @@ -/* jshint node:true */ -'use strict'; -module.exports = function (grunt) { - - var config = { - pkg: grunt.file.readJSON('package.json'), - baseDir: '.', - srcDir: 'src', - destDir: 'dist', - tempDir: 'tmp', - docsDir: 'docs/' - }; - - // load plugins - require('load-grunt-tasks')(grunt); - - // load task definitions - grunt.loadTasks('tasks'); - - // Utility function to load plugin settings into config - function loadConfig(config,path) { - require('glob').sync('*', {cwd: path}).forEach(function(option) { - var key = option.replace(/\.js$/,''); - // If key already exists, extend it. It is your responsibility to avoid naming collisions - config[key] = config[key] || {}; - grunt.util._.extend(config[key], require(path + option)(config,grunt)); - }); - // technically not required - return config; - } - - // Merge that object with what with whatever we have here - loadConfig(config,'./tasks/options/'); - - // pass the config to grunt - grunt.initConfig(config); - -}; \ No newline at end of file diff --git a/app/dboards/LICENSE.md b/app/dboards/LICENSE.md deleted file mode 100644 index 1d66924..0000000 --- a/app/dboards/LICENSE.md +++ /dev/null @@ -1,14 +0,0 @@ -Copyright 2012-2013 Elasticsearch BV, Torkel Ödegaard - -Licensed under the Apache License, Version 2.0 (the "License"); you -may not use this file except in compliance with the License. You may -obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -implied. See the License for the specific language governing -permissions and limitations under the License. - diff --git a/app/dboards/NOTICE.md b/app/dboards/NOTICE.md deleted file mode 100644 index 171332f..0000000 --- a/app/dboards/NOTICE.md +++ /dev/null @@ -1,16 +0,0 @@ - -This software is based on Kibana: -======================================== -Copyright 2012-2013 Elasticsearch BV - -Licensed under the Apache License, Version 2.0 (the "License"); you -may not use this file except in compliance with the License. You may -obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -implied. See the License for the specific language governing -permissions and limitations under the License. diff --git a/app/dboards/README.md b/app/dboards/README.md deleted file mode 100644 index 72062b0..0000000 --- a/app/dboards/README.md +++ /dev/null @@ -1,131 +0,0 @@ -[Grafana](http://grafana.org) [![Build Status](https://api.travis-ci.org/grafana/grafana.png)](https://travis-ci.org/grafana/grafana) -================= -A beautiful, easy to use and feature rich Graphite dashboard replacement and graph editor. Visit [grafana.org](http://grafana.org) for screenshots, videos and feature descriptions. - -![](http://grafana.org/assets/img/edit_dashboards.png) - -## Features -### Graphite Target Editor -- Graphite target expression parser -- Quickly add / edit / remove function ([video demo](http://youtu.be/I90WHRwE1ZM)) -- Function parameters can be easily changed -- Quickly navigate graphite metric structure -- Templating -- Integrated links to function documentation -- Rearrange function order -- Native Graphite PNG render support - -### Graphing -- Fast rendering, even over large timespans. -- Click and drag to zoom. -- Multiple Y-axis. -- Bars, Lines, Points. -- Smart Y-axis formating -- Series toggles & color selector -- Axis labels -- Grid thresholds, axis labels -- [Annotations] (https://github.com/grafana/grafana/wiki/Annotations) - -### Dashboards -- Create and edit dashboards -- Drag and drop graphs to rearrange -- Set column spans and row heights -- Save & [search dashboards](https://github.com/grafana/grafana/wiki/Search-features) -- Import & export dashboard (json file) -- Import dashboard from Graphite -- Templating -- [Scripted dashboards](https://github.com/grafana/grafana/wiki/Scripted-dashboards) (generate from js script and url parameters) -- Flexible [time range controls](https://github.com/grafana/grafana/wiki/Time-range-controls) -- [Dashboard playlists](https://github.com/grafana/grafana/wiki/Dashboard-playlist) - -### InfluxDB -- [Use InfluxDB](https://github.com/grafana/grafana/wiki/InfluxDB) as metric datasource - -# Requirements -Grafana is very easy to install. It is a client side web app with no backend. Any webserver will do. Optionally you will need ElasticSearch if you want to be able to save and load dashboards quickly instead of json files or local storage. - -# Installation -- Download and extract the [latest release](https://github.com/grafana/grafana/releases). -- Rename `config.sample.js` to `config.js`, then change `graphiteUrl` and `elasticsearch` to point to the correct urls. The urls entered here must be reachable by your browser. -- Point your browser to the installation. - -To run from master: -- Clone this repository -- Start a web server in src folder -- Or create a optimized & minified build: - - npm install (requires nodejs) - - grunt build (requires grunt-cli) - -If you use ansible for provisioning and deployment [ansible-grafana](https://github.com/bobrik/ansible-grafana) should get you started. - -When you have Grafana up an running, read the [Getting started](https://github.com/grafana/grafana/wiki/Getting-started) guide for -an introduction on how to use Grafana and/or watch [this video](https://www.youtube.com/watch?v=OUvJamHeMpw) for a guide in creating a new dashboard and for creating -templated dashboards. - -# Graphite server config -If you haven't used an alternative dashboard for graphite before you need to enable cross-domain origin request. For Apache 2.x: -``` -Header set Access-Control-Allow-Origin "*" -Header set Access-Control-Allow-Methods "GET, OPTIONS" -Header set Access-Control-Allow-Headers "origin, authorization, accept" -``` -Note that using "\*" leaves your graphite instance quite open so you might want to consider using "http://my.graphite-dom.ain" in place of "\*" - -Here is the same thing, in nginx format: -``` -add_header "Access-Control-Allow-Origin" "*"; -add_header "Access-Control-Allow-Credentials" "true"; -add_header "Access-Control-Allow-Methods" "GET, OPTIONS"; -add_header "Access-Control-Allow-Headers" "Authorization, origin, accept"; -``` -If your Graphite web is protected by basic authentication, you have to enable the HTTP verb OPTIONS, origin -(no wildcards are allowed in this case) and add Access-Control-Allow-Credentials. This looks like the following for Apache: -``` -Header set Access-Control-Allow-Origin "http://mygrafana.com:5656" -Header set Access-Control-Allow-Credentials true - - - AuthName "graphs restricted" - AuthType Basic - AuthUserFile /etc/apache2/htpasswd - - require valid-user - - -``` -And in nginx: -``` -auth_basic "Restricted"; -auth_basic_user_file /path/to/my/htpasswd/file; -if ($http_origin ~* (https?://[^/]*\.somedomain\.com(:[0-9]+)?)) { #Test if request is from allowed domain, you can use multiple if - set $cors "true"; #statements to allow multiple domains, simply setting $cors to true in each one. -} -if ($cors = 'true') { - add_header Access-Control-Allow-Origin $http_origin; #this mirrors back whatever domain the request came from as authorized, as - add_header "Access-Control-Allow-Credentials" "true"; #as long as it matches one of your if statements - add_header "Access-Control-Allow-Methods" "GET, OPTIONS"; - add_header "Access-Control-Allow-Headers" "Authorization, origin, accept"; -} -``` -# Roadmap -- Improve and refine the target parser and editing -- Improve graphite import feature -- Refine and simplify common tasks -- More panel types (not just graphs) -- Use elasticsearch to search for metrics -- Improve template support -- Annotate graph by querying ElasticSearch for events (or other event sources) - -# Contribute -If you have any idea for an improvement or found a bug do not hesitate to open an issue. And if you have time clone this repo and submit a pull request and help me make Grafana the kickass metrics & devops dashboard we all dream about! - -Clone repository: -- npm install -- grunt server (starts development web server in src folder) -- grunt (runs jshint and less -> css compilation) - -# Notice -This software is based on the great log dashboard [kibana](https://github.com/elasticsearch/kibana). - -# License -Grafana is distributed under Apache 2.0 License. diff --git a/app/dboards/grafana.sublime-project b/app/dboards/grafana.sublime-project deleted file mode 100644 index 127807d..0000000 --- a/app/dboards/grafana.sublime-project +++ /dev/null @@ -1,18 +0,0 @@ -{ - "folders": - [ - { - "follow_symlinks": true, - "path": ".", - "folder_exclude_patterns": [ - "node_modules" - ] - } - ], - "settings": - { - "tab_size": 2, - "translate_tabs_to_spaces": true, - "trim_trailing_white_space_on_save": true - } -} diff --git a/app/dboards/latest.json b/app/dboards/latest.json deleted file mode 100644 index 458f3ba..0000000 --- a/app/dboards/latest.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "version": "1.6.0", - "url": "http://grafanarel.s3.amazonaws.com/grafana-1.6.0.tar.gz" -} \ No newline at end of file diff --git a/app/dboards/package.json b/app/dboards/package.json deleted file mode 100644 index cb46712..0000000 --- a/app/dboards/package.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "author": { - "name": "Torkel Ödegaard", - "company": "Coding Instinct AB" - }, - "name": "grafana", - "version": "1.6.1", - "repository": { - "type": "git", - "url": "http://github.com/torkelo/grafana.git" - }, - "devDependencies": { - "rjs-build-analysis": "0.0.3", - "grunt": "~0.4.0", - "grunt-ngmin": "0.0.3", - "grunt-contrib-less": "~0.7.0", - "grunt-contrib-copy": "~0.4.1", - "grunt-git-describe": "~2.3.2", - "grunt-contrib-clean": "~0.5.0", - "grunt-contrib-cssmin": "~0.6.1", - "grunt-contrib-jshint": "~0.10.0", - "grunt-string-replace": "~0.2.4", - "grunt-contrib-htmlmin": "~0.1.3", - "grunt-contrib-requirejs": "~0.4.1", - "grunt-angular-templates": "^0.5.5", - "grunt-contrib-compress": "~0.5.2", - "grunt-contrib-uglify": "~0.2.4", - "load-grunt-tasks": "~0.2.0", - "glob": "~3.2.7", - "grunt-contrib-connect": "~0.5.0", - "mocha": "~1.16.1", - "expect.js": "~0.2.0", - "karma-script-launcher": "~0.1.0", - "karma-firefox-launcher": "~0.1.3", - "karma-chrome-launcher": "~0.1.4", - "karma-html2js-preprocessor": "~0.1.0", - "karma-jasmine": "~0.2.2", - "requirejs": "~2.1.9", - "karma-requirejs": "~0.2.1", - "karma-coffee-preprocessor": "~0.1.2", - "karma-phantomjs-launcher": "~0.1.1", - "karma": "~0.12.16", - "grunt-karma": "~0.8.3", - "karma-mocha": "~0.1.4", - "karma-expect": "~1.1.0", - "grunt-cli": "~0.1.13", - "jshint-stylish": "~0.1.5", - "grunt-contrib-concat": "^0.4.0", - "grunt-usemin": "^2.1.1", - "grunt-filerev": "^0.2.1" - }, - "engines": { - "node": "0.10.x", - "npm": "1.2.x" - }, - "scripts": { - "test": "grunt test" - }, - "license": "Apache License", - "dependencies": { - "grunt-jscs-checker": "^0.4.4" - } -} diff --git a/app/dboards/sample/apache_ldap.conf b/app/dboards/sample/apache_ldap.conf deleted file mode 100644 index f7df159..0000000 --- a/app/dboards/sample/apache_ldap.conf +++ /dev/null @@ -1,61 +0,0 @@ -# Courtesy of https://github.com/sgzijl -# config.js includes elasticsearch: "https://"+window.location.hostname+":443", - - - ServerName your.domain.tld - RewriteEngine On - RewriteCond %{HTTPS} off - RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} - - - - ServerName your.domain.tld - - SSLEngine on - SSLCertificateFile /path/to/public.crt - SSLCertificateKeyFile /path/to/private.key - - DocumentRoot /path/to/kibana3 - - Allow from all - Options -Multiviews - - - LogLevel debug - ErrorLog /path/to/logs/error_log - CustomLog /path/to/logs/access_log combined - - # Set global proxy timeouts - - ProxySet connectiontimeout=5 timeout=90 - - - # Proxy for _aliases and .*/_search - - ProxyPassMatch http://127.0.0.1:9200/$1 - ProxyPassReverse http://127.0.0.1:9200/$1 - - - # Proxy for kibana-int/{dashboard,temp} stuff (if you don't want auth on /, then you will want these to be protected) - - ProxyPassMatch http://127.0.0.1:9200/$1$2 - ProxyPassReverse http://127.0.0.1:9200/$1$2 - - - # Optional disable auth for a src IP (eg: your monitoring host or subnet) - - Allow from 5.6.7.8 - Deny from all - Satisfy any - - AuthLDAPBindDN "CN=_ldapbinduser,OU=Users,DC=example,DC=com" - AuthLDAPBindPassword "ldapbindpass" - AuthLDAPURL "ldaps://ldap01.example.com ldap02.example.com/OU=Users,DC=example,DC=com?sAMAccountName?sub?(objectClass=*)" - AuthType Basic - AuthBasicProvider ldap - AuthName "Please authenticate for Example dot com" - AuthLDAPGroupAttributeIsDN on - require valid-user - - - diff --git a/app/dboards/sample/lighttpd_basic.conf b/app/dboards/sample/lighttpd_basic.conf deleted file mode 100644 index 667a6ab..0000000 --- a/app/dboards/sample/lighttpd_basic.conf +++ /dev/null @@ -1,24 +0,0 @@ -$HTTP["host"] =~ "kibana" { - - server.document-root = "/var/ww/kibana/src" - auth.backend = "plain" - auth.backend.plain.userfile = "/etc/lighttpd/kibanapassword" - - index-file.names = ( "index.html", "index.htm" ) - - auth.require = ( "/" => ( - "method" => "basic", - "realm" => "Password Protected", - "require" => "valid-user" - ) - ) - - $HTTP["url"] =~ "^/kibana-int/(dashboard/|temp).*$" { - proxy.balance = "hash" - proxy.server = ( "" => ( ( "host" => "127.0.0.1", "port" => "9200" ) ) ) - } - $HTTP["url"] =~ "^.*/_(mapping|search|nodes|aliases)$" { - proxy.balance = "hash" - proxy.server = ( "" => ( ( "host" => "127.0.0.1", "port" => "9200" ) ) ) - } -} diff --git a/app/dboards/sample/nginx.conf b/app/dboards/sample/nginx.conf deleted file mode 100644 index b1e2f36..0000000 --- a/app/dboards/sample/nginx.conf +++ /dev/null @@ -1,60 +0,0 @@ -# -# Nginx proxy for Elasticsearch + Kibana -# -# In this setup, we are password protecting the saving of dashboards. You may -# wish to extend the password protection to all paths. -# -# Even though these paths are being called as the result of an ajax request, the -# browser will prompt for a username/password on the first request -# -# If you use this, you'll want to point config.js at http://FQDN:80/ instead of -# http://FQDN:9200 -# -server { - listen *:80 ; - - server_name kibana.myhost.org; - access_log /var/log/nginx/kibana.myhost.org.access.log; - - location / { - root /usr/share/kibana3; - index index.html index.htm; - } - - location ~ ^/_aliases$ { - proxy_pass http://127.0.0.1:9200; - proxy_read_timeout 90; - } - location ~ ^/_nodes$ { - proxy_pass http://127.0.0.1:9200; - proxy_read_timeout 90; - } - location ~ ^/.*/_search$ { - proxy_pass http://127.0.0.1:9200; - proxy_read_timeout 90; - } - location ~ ^/.*/_mapping$ { - proxy_pass http://127.0.0.1:9200; - proxy_read_timeout 90; - } - - # Password protected end points - location ~ ^/kibana-int/dashboard/.*$ { - proxy_pass http://127.0.0.1:9200; - proxy_read_timeout 90; - limit_except GET { - proxy_pass http://127.0.0.1:9200; - auth_basic "Restricted"; - auth_basic_user_file /etc/nginx/conf.d/kibana.myhost.org.htpasswd; - } - } - location ~ ^/kibana-int/temp.*$ { - proxy_pass http://127.0.0.1:9200; - proxy_read_timeout 90; - limit_except GET { - proxy_pass http://127.0.0.1:9200; - auth_basic "Restricted"; - auth_basic_user_file /etc/nginx/conf.d/kibana.myhost.org.htpasswd; - } - } -} diff --git a/app/dboards/sample/server.js b/app/dboards/sample/server.js deleted file mode 100644 index d976a48..0000000 --- a/app/dboards/sample/server.js +++ /dev/null @@ -1,244 +0,0 @@ -#!/usr/bin/env node - -var util = require('util'), - http = require('http'), - fs = require('fs'), - url = require('url'), - events = require('events'); - -var DEFAULT_PORT = 8000; - -function main(argv) { - new HttpServer({ - 'GET': createServlet(StaticServlet), - 'HEAD': createServlet(StaticServlet) - }).start(Number(argv[2]) || DEFAULT_PORT); -} - -function escapeHtml(value) { - return value.toString(). - replace('<', '<'). - replace('>', '>'). - replace('"', '"'); -} - -function createServlet(Class) { - var servlet = new Class(); - return servlet.handleRequest.bind(servlet); -} - -/** - * An Http server implementation that uses a map of methods to decide - * action routing. - * - * @param {Object} Map of method => Handler function - */ -function HttpServer(handlers) { - this.handlers = handlers; - this.server = http.createServer(this.handleRequest_.bind(this)); -} - -HttpServer.prototype.start = function(port) { - this.port = port; - this.server.listen(port); - util.puts('Http Server running at http://localhost:' + port + '/'); -}; - -HttpServer.prototype.parseUrl_ = function(urlString) { - var parsed = url.parse(urlString); - parsed.pathname = url.resolve('/', parsed.pathname); - return url.parse(url.format(parsed), true); -}; - -HttpServer.prototype.handleRequest_ = function(req, res) { - var logEntry = req.method + ' ' + req.url; - if (req.headers['user-agent']) { - logEntry += ' ' + req.headers['user-agent']; - } - util.puts(logEntry); - req.url = this.parseUrl_(req.url); - var handler = this.handlers[req.method]; - if (!handler) { - res.writeHead(501); - res.end(); - } else { - handler.call(this, req, res); - } -}; - -/** - * Handles static content. - */ -function StaticServlet() {} - -StaticServlet.MimeMap = { - 'txt': 'text/plain', - 'html': 'text/html', - 'css': 'text/css', - 'xml': 'application/xml', - 'json': 'application/json', - 'js': 'application/javascript', - 'jpg': 'image/jpeg', - 'jpeg': 'image/jpeg', - 'gif': 'image/gif', - 'png': 'image/png', -  'svg': 'image/svg+xml' -}; - -StaticServlet.prototype.handleRequest = function(req, res) { - var self = this; - var path = ('../src/' + req.url.pathname).replace('//','/').replace(/%(..)/g, function(match, hex){ - return String.fromCharCode(parseInt(hex, 16)); - }); - var parts = path.split('/'); - if (parts[parts.length-1].charAt(0) === '.') - return self.sendForbidden_(req, res, path); - fs.stat(path, function(err, stat) { - if (err) - return self.sendMissing_(req, res, path); - if (stat.isDirectory()) - return self.sendDirectory_(req, res, path); - return self.sendFile_(req, res, path); - }); -} - -StaticServlet.prototype.sendError_ = function(req, res, error) { - res.writeHead(500, { - 'Content-Type': 'text/html' - }); - res.write('\n'); - res.write('Internal Server Error\n'); - res.write('

    Internal Server Error

    '); - res.write('
    ' + escapeHtml(util.inspect(error)) + '
    '); - util.puts('500 Internal Server Error'); - util.puts(util.inspect(error)); -}; - -StaticServlet.prototype.sendMissing_ = function(req, res, path) { - path = path.substring(1); - res.writeHead(404, { - 'Content-Type': 'text/html' - }); - res.write('\n'); - res.write('404 Not Found\n'); - res.write('

    Not Found

    '); - res.write( - '

    The requested URL ' + - escapeHtml(path) + - ' was not found on this server.

    ' - ); - res.end(); - util.puts('404 Not Found: ' + path); -}; - -StaticServlet.prototype.sendForbidden_ = function(req, res, path) { - path = path.substring(1); - res.writeHead(403, { - 'Content-Type': 'text/html' - }); - res.write('\n'); - res.write('403 Forbidden\n'); - res.write('

    Forbidden

    '); - res.write( - '

    You do not have permission to access ' + - escapeHtml(path) + ' on this server.

    ' - ); - res.end(); - util.puts('403 Forbidden: ' + path); -}; - -StaticServlet.prototype.sendRedirect_ = function(req, res, redirectUrl) { - res.writeHead(301, { - 'Content-Type': 'text/html', - 'Location': redirectUrl - }); - res.write('\n'); - res.write('301 Moved Permanently\n'); - res.write('

    Moved Permanently

    '); - res.write( - '

    The document has moved here.

    ' - ); - res.end(); - util.puts('301 Moved Permanently: ' + redirectUrl); -}; - -StaticServlet.prototype.sendFile_ = function(req, res, path) { - var self = this; - var file = fs.createReadStream(path); - res.writeHead(200, { - 'Content-Type': StaticServlet. - MimeMap[path.split('.').pop()] || 'text/plain' - }); - if (req.method === 'HEAD') { - res.end(); - } else { - file.on('data', res.write.bind(res)); - file.on('close', function() { - res.end(); - }); - file.on('error', function(error) { - self.sendError_(req, res, error); - }); - } -}; - -StaticServlet.prototype.sendDirectory_ = function(req, res, path) { - var self = this; - if (path.match(/[^\/]$/)) { - req.url.pathname += '/'; - var redirectUrl = url.format(url.parse(url.format(req.url))); - return self.sendRedirect_(req, res, redirectUrl); - } - fs.readdir(path, function(err, files) { - if (err) - return self.sendError_(req, res, error); - - if (!files.length) - return self.writeDirectoryIndex_(req, res, path, []); - - var remaining = files.length; - files.forEach(function(fileName, index) { - fs.stat(path + '/' + fileName, function(err, stat) { - if (err) - return self.sendError_(req, res, err); - if (stat.isDirectory()) { - files[index] = fileName + '/'; - } - if (!(--remaining)) - return self.writeDirectoryIndex_(req, res, path, files); - }); - }); - }); -}; - -StaticServlet.prototype.writeDirectoryIndex_ = function(req, res, path, files) { - path = path.substring(1); - res.writeHead(200, { - 'Content-Type': 'text/html' - }); - if (req.method === 'HEAD') { - res.end(); - return; - } - res.write('\n'); - res.write('' + escapeHtml(path) + '\n'); - res.write('\n'); - res.write('

    Directory: ' + escapeHtml(path) + '

    '); - res.write('
      '); - files.forEach(function(fileName) { - if (fileName.charAt(0) !== '.') { - res.write('
    1. ' + - escapeHtml(fileName) + '
    2. '); - } - }); - res.write('
    '); - res.end(); -}; - -// Must be last, -main(process.argv); diff --git a/app/dboards/src/app/app.js b/app/dboards/src/app/app.js deleted file mode 100644 index a5fb868..0000000 --- a/app/dboards/src/app/app.js +++ /dev/null @@ -1,149 +0,0 @@ -/** - * main app level module - */ -define([ - 'angular', - 'jquery', - 'underscore', - 'require', - 'elasticjs', - 'bootstrap', - 'angular-sanitize', - 'angular-strap', - 'angular-dragdrop', - 'extend-jquery', - 'bindonce' -], -function (angular, $, _, appLevelRequire) { - - "use strict"; - - var app = angular.module('kibana', []), - // we will keep a reference to each module defined before boot, so that we can - // go back and allow it to define new features later. Once we boot, this will be false - pre_boot_modules = [], - // these are the functions that we need to call to register different - // features if we define them after boot time - register_fns = {}; - - // This stores the grafana version number - app.constant('grafanaVersion',"@grafanaVersion@"); - - // Use this for cache busting partials - app.constant('cacheBust',"cache-bust="+Date.now()); - - /** - * Tells the application to watch the module, once bootstraping has completed - * the modules controller, service, etc. functions will be overwritten to register directly - * with this application. - * @param {[type]} module [description] - * @return {[type]} [description] - */ - app.useModule = function (module) { - if (pre_boot_modules) { - pre_boot_modules.push(module); - } else { - _.extend(module, register_fns); - } - return module; - }; - - app.safeApply = function ($scope, fn) { - switch($scope.$$phase) { - case '$apply': - // $digest hasn't started, we should be good - $scope.$eval(fn); - break; - case '$digest': - // waiting to $apply the changes - setTimeout(function () { app.safeApply($scope, fn); }, 10); - break; - default: - // clear to begin an $apply $$phase - $scope.$apply(fn); - break; - } - }; - - app.config(function ($routeProvider, $controllerProvider, $compileProvider, $filterProvider, $provide) { - - $routeProvider - .when('/dashboard', { - templateUrl: 'app/partials/dashboard.html', - }) - .when('/dashboard/:kbnType/:kbnId', { - templateUrl: 'app/partials/dashboard.html', - }) - .when('/dashboard/:kbnType/:kbnId/:params', { - templateUrl: 'app/partials/dashboard.html' - }) - .otherwise({ - redirectTo: 'dashboard' - }); - - // this is how the internet told me to dynamically add modules :/ - register_fns.controller = $controllerProvider.register; - register_fns.directive = $compileProvider.directive; - register_fns.factory = $provide.factory; - register_fns.service = $provide.service; - register_fns.filter = $filterProvider.register; - }); - - var apps_deps = [ - 'elasticjs.service', - '$strap.directives', - 'ngSanitize', - 'ngDragDrop', - 'kibana', - 'pasvaz.bindonce' - ]; - - var module_types = ['controllers', 'directives', 'factories', 'services', 'services.dashboard', 'filters']; - - _.each(module_types, function (type) { - var module_name = 'kibana.'+type; - // create the module - app.useModule(angular.module(module_name, [])); - // push it into the apps dependencies - apps_deps.push(module_name); - }); - - // load the core components - require([ - 'controllers/all', - 'directives/all', - 'filters/all', - 'components/partials', - ], function () { - - // bootstrap the app - angular - .element(document) - .ready(function() { - $('body').attr('ng-controller', 'DashCtrl'); - angular.bootstrap(document, apps_deps) - .invoke(['$rootScope', function ($rootScope) { - _.each(pre_boot_modules, function (module) { - _.extend(module, register_fns); - }); - pre_boot_modules = false; - - $rootScope.requireContext = appLevelRequire; - $rootScope.require = function (deps, fn) { - var $scope = this; - $scope.requireContext(deps, function () { - var deps = _.toArray(arguments); - // Check that this is a valid scope. - if($scope.$id) { - $scope.$apply(function () { - fn.apply($scope, deps); - }); - } - }); - }; - }]); - }); - }); - - return app; -}); diff --git a/app/dboards/src/app/components/extend-jquery.js b/app/dboards/src/app/components/extend-jquery.js deleted file mode 100644 index 3e7e74b..0000000 --- a/app/dboards/src/app/components/extend-jquery.js +++ /dev/null @@ -1,47 +0,0 @@ -define(['jquery'], -function ($) { - 'use strict'; - - /** - * jQuery extensions - */ - var $win = $(window); - - $.fn.place_tt = (function () { - var defaults = { - offset: 5, - css: { - position : 'absolute', - top : -1000, - left : 0, - color : "#c8c8c8", - padding : '10px', - 'font-size': '11pt', - 'font-weight' : 200, - 'background-color': '#1f1f1f', - 'border-radius': '5px', - 'z-index': 9999 - } - }; - - return function (x, y, opts) { - opts = $.extend(true, {}, defaults, opts); - return this.each(function () { - var $tooltip = $(this), width, height; - - $tooltip.css(opts.css); - if (!$.contains(document.body, $tooltip[0])) { - $tooltip.appendTo(document.body); - } - - width = $tooltip.outerWidth(true); - height = $tooltip.outerHeight(true); - - $tooltip.css('left', x + opts.offset + width > $win.width() ? x - opts.offset - width : x + opts.offset); - $tooltip.css('top', y + opts.offset + height > $win.height() ? y - opts.offset - height : y + opts.offset); - }); - }; - })(); - - return $; -}); \ No newline at end of file diff --git a/app/dboards/src/app/components/kbn.js b/app/dboards/src/app/components/kbn.js deleted file mode 100644 index 67bab9f..0000000 --- a/app/dboards/src/app/components/kbn.js +++ /dev/null @@ -1,563 +0,0 @@ -define(['jquery','underscore','moment'], -function($, _, moment) { - 'use strict'; - - var kbn = {}; - - /** - * Calculate a graph interval - * - * from:: Date object containing the start time - * to:: Date object containing the finish time - * size:: Calculate to approximately this many bars - * user_interval:: User specified histogram interval - * - */ - kbn.calculate_interval = function(from,to,size,user_interval) { - if(_.isObject(from)) { - from = from.valueOf(); - } - if(_.isObject(to)) { - to = to.valueOf(); - } - return user_interval === 0 ? kbn.round_interval((to - from)/size) : user_interval; - }; - - kbn.round_interval = function(interval) { - switch (true) { - // 0.5s - case (interval <= 500): - return 100; // 0.1s - // 5s - case (interval <= 5000): - return 1000; // 1s - // 7.5s - case (interval <= 7500): - return 5000; // 5s - // 15s - case (interval <= 15000): - return 10000; // 10s - // 45s - case (interval <= 45000): - return 30000; // 30s - // 3m - case (interval <= 180000): - return 60000; // 1m - // 9m - case (interval <= 450000): - return 300000; // 5m - // 20m - case (interval <= 1200000): - return 600000; // 10m - // 45m - case (interval <= 2700000): - return 1800000; // 30m - // 2h - case (interval <= 7200000): - return 3600000; // 1h - // 6h - case (interval <= 21600000): - return 10800000; // 3h - // 24h - case (interval <= 86400000): - return 43200000; // 12h - // 48h - case (interval <= 172800000): - return 86400000; // 24h - // 1w - case (interval <= 604800000): - return 86400000; // 24h - // 3w - case (interval <= 1814400000): - return 604800000; // 1w - // 2y - case (interval < 3628800000): - return 2592000000; // 30d - default: - return 31536000000; // 1y - } - }; - - kbn.secondsToHms = function(seconds) { - var numyears = Math.floor(seconds / 31536000); - if(numyears){ - return numyears + 'y'; - } - var numdays = Math.floor((seconds % 31536000) / 86400); - if(numdays){ - return numdays + 'd'; - } - var numhours = Math.floor(((seconds % 31536000) % 86400) / 3600); - if(numhours){ - return numhours + 'h'; - } - var numminutes = Math.floor((((seconds % 31536000) % 86400) % 3600) / 60); - if(numminutes){ - return numminutes + 'm'; - } - var numseconds = (((seconds % 31536000) % 86400) % 3600) % 60; - if(numseconds){ - return numseconds + 's'; - } - return 'less then a second'; //'just now' //or other string you like; - }; - - kbn.to_percent = function(number,outof) { - return Math.floor((number/outof)*10000)/100 + "%"; - }; - - kbn.addslashes = function(str) { - str = str.replace(/\\/g, '\\\\'); - str = str.replace(/\'/g, '\\\''); - str = str.replace(/\"/g, '\\"'); - str = str.replace(/\0/g, '\\0'); - return str; - }; - - kbn.interval_regex = /(\d+(?:\.\d+)?)([Mwdhmsy])/; - - // histogram & trends - kbn.intervals_in_seconds = { - y: 31536000, - M: 2592000, - w: 604800, - d: 86400, - h: 3600, - m: 60, - s: 1 - }; - - kbn.describe_interval = function (string) { - var matches = string.match(kbn.interval_regex); - if (!matches || !_.has(kbn.intervals_in_seconds, matches[2])) { - throw new Error('Invalid interval string, expexcting a number followed by one of "Mwdhmsy"'); - } else { - return { - sec: kbn.intervals_in_seconds[matches[2]], - type: matches[2], - count: parseInt(matches[1], 10) - }; - } - }; - - kbn.interval_to_ms = function(string) { - var info = kbn.describe_interval(string); - return info.sec * 1000 * info.count; - }; - - kbn.interval_to_seconds = function (string) { - var info = kbn.describe_interval(string); - return info.sec * info.count; - }; - - // This should go away, moment.js can do this - kbn.time_ago = function(string) { - return new Date(new Date().getTime() - (kbn.interval_to_ms(string))); - }; - - /* This is a simplified version of elasticsearch's date parser */ - kbn.parseDate = function(text) { - if(_.isDate(text)) { - return text; - } - var time, - mathString = "", - index, - parseString; - if (text.substring(0,3) === "now") { - time = new Date(); - mathString = text.substring("now".length); - } else { - index = text.indexOf("||"); - parseString; - if (index === -1) { - parseString = text; - mathString = ""; // nothing else - } else { - parseString = text.substring(0, index); - mathString = text.substring(index + 2); - } - // We're going to just require ISO8601 timestamps, k? - time = new Date(parseString); - } - - if (!mathString.length) { - return time; - } - - //return [time,parseString,mathString]; - return kbn.parseDateMath(mathString, time); - }; - - kbn.parseDateMath = function(mathString, time, roundUp) { - var dateTime = moment(time); - for (var i = 0; i < mathString.length;) { - var c = mathString.charAt(i++), - type, - num, - unit; - if (c === '/') { - type = 0; - } else if (c === '+') { - type = 1; - } else if (c === '-') { - type = 2; - } else { - return false; - } - - if (isNaN(mathString.charAt(i))) { - num = 1; - } else { - var numFrom = i; - while (!isNaN(mathString.charAt(i))) { - i++; - } - num = parseInt(mathString.substring(numFrom, i),10); - } - if (type === 0) { - // rounding is only allowed on whole numbers - if (num !== 1) { - return false; - } - } - unit = mathString.charAt(i++); - switch (unit) { - case 'y': - if (type === 0) { - roundUp ? dateTime.endOf('year') : dateTime.startOf('year'); - } else if (type === 1) { - dateTime.add('years',num); - } else if (type === 2) { - dateTime.subtract('years',num); - } - break; - case 'M': - if (type === 0) { - roundUp ? dateTime.endOf('month') : dateTime.startOf('month'); - } else if (type === 1) { - dateTime.add('months',num); - } else if (type === 2) { - dateTime.subtract('months',num); - } - break; - case 'w': - if (type === 0) { - roundUp ? dateTime.endOf('week') : dateTime.startOf('week'); - } else if (type === 1) { - dateTime.add('weeks',num); - } else if (type === 2) { - dateTime.subtract('weeks',num); - } - break; - case 'd': - if (type === 0) { - roundUp ? dateTime.endOf('day') : dateTime.startOf('day'); - } else if (type === 1) { - dateTime.add('days',num); - } else if (type === 2) { - dateTime.subtract('days',num); - } - break; - case 'h': - case 'H': - if (type === 0) { - roundUp ? dateTime.endOf('hour') : dateTime.startOf('hour'); - } else if (type === 1) { - dateTime.add('hours',num); - } else if (type === 2) { - dateTime.subtract('hours',num); - } - break; - case 'm': - if (type === 0) { - roundUp ? dateTime.endOf('minute') : dateTime.startOf('minute'); - } else if (type === 1) { - dateTime.add('minutes',num); - } else if (type === 2) { - dateTime.subtract('minutes',num); - } - break; - case 's': - if (type === 0) { - roundUp ? dateTime.endOf('second') : dateTime.startOf('second'); - } else if (type === 1) { - dateTime.add('seconds',num); - } else if (type === 2) { - dateTime.subtract('seconds',num); - } - break; - default: - return false; - } - } - return dateTime.toDate(); - }; - - kbn.query_color_dot = function (color, diameter) { - return '
    '; - }; - - kbn.byteFormat = function(size, decimals) { - var ext, steps = 0; - - if(_.isUndefined(decimals)) { - decimals = 2; - } else if (decimals === 0) { - decimals = undefined; - } - - while (Math.abs(size) >= 1024) { - steps++; - size /= 1024; - } - - switch (steps) { - case 0: - ext = " B"; - break; - case 1: - ext = " KiB"; - break; - case 2: - ext = " MiB"; - break; - case 3: - ext = " GiB"; - break; - case 4: - ext = " TiB"; - break; - case 5: - ext = " PiB"; - break; - case 6: - ext = " EiB"; - break; - case 7: - ext = " ZiB"; - break; - case 8: - ext = " YiB"; - break; - } - - return (size.toFixed(decimals) + ext); - }; - - kbn.bitFormat = function(size, decimals) { - var ext, steps = 0; - - if(_.isUndefined(decimals)) { - decimals = 2; - } else if (decimals === 0) { - decimals = undefined; - } - - while (Math.abs(size) >= 1024) { - steps++; - size /= 1024; - } - - switch (steps) { - case 0: - ext = " b"; - break; - case 1: - ext = " Kib"; - break; - case 2: - ext = " Mib"; - break; - case 3: - ext = " Gib"; - break; - case 4: - ext = " Tib"; - break; - case 5: - ext = " Pib"; - break; - case 6: - ext = " Eib"; - break; - case 7: - ext = " Zib"; - break; - case 8: - ext = " Yib"; - break; - } - - return (size.toFixed(decimals) + ext); - }; - - kbn.shortFormat = function(size, decimals) { - var ext, steps = 0; - - if(_.isUndefined(decimals)) { - decimals = 2; - } else if (decimals === 0) { - decimals = undefined; - } - - while (Math.abs(size) >= 1000) { - steps++; - size /= 1000; - } - - switch (steps) { - case 0: - ext = ""; - break; - case 1: - ext = " K"; - break; - case 2: - ext = " Mil"; - break; - case 3: - ext = " Bil"; - break; - case 4: - ext = " Tri"; - break; - case 5: - ext = " Quadr"; - break; - case 6: - ext = " Quint"; - break; - case 7: - ext = " Sext"; - break; - case 8: - ext = " Sept"; - break; - } - - return (size.toFixed(decimals) + ext); - }; - - kbn.getFormatFunction = function(formatName, decimals) { - switch(formatName) { - case 'short': - return function(val) { - return kbn.shortFormat(val, decimals); - }; - case 'bytes': - return function(val) { - return kbn.byteFormat(val, decimals); - }; - case 'bits': - return function(val) { - return kbn.bitFormat(val, decimals); - }; - case 's': - return function(val) { - return kbn.sFormat(val, decimals); - }; - case 'ms': - return function(val) { - return kbn.msFormat(val, decimals); - }; - case 'µs': - return function(val) { - return kbn.microsFormat(val, decimals); - }; - case 'ns': - return function(val) { - return kbn.nanosFormat(val, decimals); - }; - default: - return function(val) { - return val % 1 === 0 ? val : val.toFixed(decimals); - }; - } - }; - - kbn.msFormat = function(size, decimals) { - if (size < 1000) { - return size.toFixed(0) + " ms"; - } - // Less than 1 min - else if (size < 60000) { - return (size / 1000).toFixed(decimals) + " s"; - } - // Less than 1 hour, devide in minutes - else if (size < 3600000) { - return (size / 60000).toFixed(decimals) + " min"; - } - // Less than one day, devide in hours - else if (size < 86400000) { - return (size / 3600000).toFixed(decimals) + " hour"; - } - // Less than one year, devide in days - else if (size < 31536000000) { - return (size / 86400000).toFixed(decimals) + " day"; - } - - return (size / 31536000000).toFixed(decimals) + " year"; - }; - - kbn.sFormat = function(size, decimals) { - // Less than 10 min, use seconds - if (size < 600) { - return size.toFixed(decimals) + " s"; - } - // Less than 1 hour, devide in minutes - else if (size < 3600) { - return (size / 60).toFixed(decimals) + " min"; - } - // Less than one day, devide in hours - else if (size < 86400) { - return (size / 3600).toFixed(decimals) + " hour"; - } - // Less than one week, devide in days - else if (size < 604800) { - return (size / 86400).toFixed(decimals) + " day"; - } - // Less than one year, devide in week - else if (size < 31536000) { - return (size / 604800).toFixed(decimals) + " week"; - } - - return (size / 3.15569e7).toFixed(decimals) + " year"; - }; - - kbn.microsFormat = function(size, decimals) { - if (size < 1000) { - return size.toFixed(0) + " µs"; - } - else if (size < 1000000) { - return (size / 1000).toFixed(decimals) + " ms"; - } - else { - return (size / 1000000).toFixed(decimals) + " s"; - } - }; - - kbn.nanosFormat = function(size, decimals) { - if (size < 1000) { - return size.toFixed(0) + " ns"; - } - else if (size < 1000000) { - return (size / 1000).toFixed(decimals) + " µs"; - } - else if (size < 1000000000) { - return (size / 1000000).toFixed(decimals) + " ms"; - } - else if (size < 60000000000){ - return (size / 1000000000).toFixed(decimals) + " s"; - } - else { - return (size / 60000000000).toFixed(decimals) + " m"; - } - }; - - return kbn; -}); diff --git a/app/dboards/src/app/components/partials.js b/app/dboards/src/app/components/partials.js deleted file mode 100644 index 4efe276..0000000 --- a/app/dboards/src/app/components/partials.js +++ /dev/null @@ -1,2 +0,0 @@ -define([ -], function () {}); diff --git a/app/dboards/src/app/components/require.config.js b/app/dboards/src/app/components/require.config.js deleted file mode 100644 index 2b554e8..0000000 --- a/app/dboards/src/app/components/require.config.js +++ /dev/null @@ -1,111 +0,0 @@ -/** - * Bootstrap require with the needed config, then load the app.js module. - */ -require.config({ - baseUrl: 'app', - - paths: { - config: ['../config', '../config.sample'], - settings: 'components/settings', - kbn: 'components/kbn', - - css: '../vendor/require/css', - text: '../vendor/require/text', - moment: '../vendor/moment', - filesaver: '../vendor/filesaver', - angular: '../vendor/angular/angular', - 'angular-dragdrop': '../vendor/angular/angular-dragdrop', - 'angular-strap': '../vendor/angular/angular-strap', - 'angular-sanitize': '../vendor/angular/angular-sanitize', - timepicker: '../vendor/angular/timepicker', - datepicker: '../vendor/angular/datepicker', - bindonce: '../vendor/angular/bindonce', - crypto: '../vendor/crypto.min', - spectrum: '../vendor/spectrum', - - underscore: 'components/underscore.extended', - 'underscore-src': '../vendor/underscore', - bootstrap: '../vendor/bootstrap/bootstrap', - - jquery: '../vendor/jquery/jquery-1.8.0', - 'jquery-ui': '../vendor/jquery/jquery-ui-1.10.3', - - 'extend-jquery': 'components/extend-jquery', - - 'jquery.flot': '../vendor/jquery/jquery.flot', - 'jquery.flot.pie': '../vendor/jquery/jquery.flot.pie', - 'jquery.flot.events': '../vendor/jquery/jquery.flot.events', - 'jquery.flot.selection': '../vendor/jquery/jquery.flot.selection', - 'jquery.flot.stack': '../vendor/jquery/jquery.flot.stack', - 'jquery.flot.stackpercent':'../vendor/jquery/jquery.flot.stackpercent', - 'jquery.flot.time': '../vendor/jquery/jquery.flot.time', - 'jquery.flot.byte': '../vendor/jquery/jquery.flot.byte', - - modernizr: '../vendor/modernizr-2.6.1', - elasticjs: '../vendor/elasticjs/elastic-angular-client', - - 'bootstrap-tagsinput': '../vendor/tagsinput/bootstrap-tagsinput', - - }, - shim: { - underscore: { - exports: '_' - }, - - spectrum: { - deps: ['jquery'] - }, - - crypto: { - exports: 'Crypto' - }, - - angular: { - deps: ['jquery','config'], - exports: 'angular' - }, - - bootstrap: { - deps: ['jquery'] - }, - - modernizr: { - exports: 'Modernizr' - }, - - jquery: { - exports: 'jQuery' - }, - - // simple dependency declaration - // - 'jquery-ui': ['jquery'], - 'jquery.flot': ['jquery'], - 'jquery.flot.byte': ['jquery', 'jquery.flot'], - 'jquery.flot.pie': ['jquery', 'jquery.flot'], - 'jquery.flot.events': ['jquery', 'jquery.flot'], - 'jquery.flot.selection':['jquery', 'jquery.flot'], - 'jquery.flot.stack': ['jquery', 'jquery.flot'], - 'jquery.flot.stackpercent':['jquery', 'jquery.flot'], - 'jquery.flot.time': ['jquery', 'jquery.flot'], - - 'angular-sanitize': ['angular'], - 'angular-cookies': ['angular'], - 'angular-dragdrop': ['jquery','jquery-ui','angular'], - 'angular-loader': ['angular'], - 'angular-mocks': ['angular'], - 'angular-resource': ['angular'], - 'angular-route': ['angular'], - 'angular-touch': ['angular'], - 'bindonce': ['angular'], - 'angular-strap': ['angular', 'bootstrap','timepicker', 'datepicker'], - - timepicker: ['jquery', 'bootstrap'], - datepicker: ['jquery', 'bootstrap'], - - elasticjs: ['angular', '../vendor/elasticjs/elastic'], - - 'bootstrap-tagsinput': ['jquery'], - }, - waitSeconds: 60, -}); diff --git a/app/dboards/src/app/components/settings.js b/app/dboards/src/app/components/settings.js deleted file mode 100644 index b3919cb..0000000 --- a/app/dboards/src/app/components/settings.js +++ /dev/null @@ -1,86 +0,0 @@ -define([ - 'underscore', - 'crypto', -], -function (_, crypto) { - "use strict"; - - return function Settings (options) { - /** - * To add a setting, you MUST define a default. Also, - * THESE ARE ONLY DEFAULTS. - * They are overridden by config.js in the root directory - * @type {Object} - */ - var defaults = { - elasticsearch : "http://"+window.location.hostname+":9200", - datasources : { - default: { - url: "http://"+window.location.hostname+":8080", - default: true - } - }, - panels : ['graph', 'text'], - plugins : {}, - default_route : '/dashboard/file/default.json', - grafana_index : 'grafana-dash', - elasticsearch_all_disabled : false, - timezoneOffset : null, - playlist_timespan : "1m", - unsaved_changes_warning : true - }; - - // This initializes a new hash on purpose, to avoid adding parameters to - // config.js without providing sane defaults - var settings = {}; - _.each(defaults, function(value, key) { - settings[key] = typeof options[key] !== 'undefined' ? options[key] : defaults[key]; - }); - - var parseBasicAuth = function(datasource) { - var passwordEnd = datasource.url.indexOf('@'); - if (passwordEnd > 0) { - var userStart = datasource.url.indexOf('//') + 2; - var userAndPassword = datasource.url.substring(userStart, passwordEnd); - var bytes = crypto.charenc.Binary.stringToBytes(userAndPassword); - datasource.basicAuth = crypto.util.bytesToBase64(bytes); - - var urlHead = datasource.url.substring(0, userStart); - datasource.url = urlHead + datasource.url.substring(passwordEnd + 1); - } - - return datasource; - }; - - var parseMultipleHosts = function(datasource) { - datasource.urls = _.map(datasource.url.split(","), function (url) { return url.trim(); }); - return datasource; - }; - - if (options.graphiteUrl) { - settings.datasources = { - graphite: { - type: 'graphite', - url: options.graphiteUrl, - default: true - } - }; - } - - _.each(settings.datasources, function(datasource, key) { - datasource.name = key; - parseBasicAuth(datasource); - if (datasource.type === 'influxdb') { parseMultipleHosts(datasource); } - }); - - var elasticParsed = parseBasicAuth({ url: settings.elasticsearch }); - settings.elasticsearchBasicAuth = elasticParsed.basicAuth; - settings.elasticsearch = elasticParsed.url; - - if (settings.plugins.panels) { - settings.panels = _.union(settings.panels, settings.plugins.panels); - } - - return settings; - }; -}); diff --git a/app/dboards/src/app/components/underscore.extended.js b/app/dboards/src/app/components/underscore.extended.js deleted file mode 100644 index e86afae..0000000 --- a/app/dboards/src/app/components/underscore.extended.js +++ /dev/null @@ -1,36 +0,0 @@ -define([ - 'underscore-src' -], -function () { - 'use strict'; - - var _ = window._; - - /* - Mixins :) - */ - _.mixin({ - move: function (array, fromIndex, toIndex) { - array.splice(toIndex, 0, array.splice(fromIndex, 1)[0]); - return array; - }, - remove: function (array, index) { - array.splice(index, 1); - return array; - }, - // If variable is value, then return alt. If variable is anything else, return value; - toggle: function (variable, value, alt) { - return variable === value ? alt : value; - }, - toggleInOut: function(array,value) { - if(_.contains(array,value)) { - array = _.without(array,value); - } else { - array.push(value); - } - return array; - } - }); - - return _; -}); \ No newline at end of file diff --git a/app/dboards/src/app/controllers/all.js b/app/dboards/src/app/controllers/all.js deleted file mode 100644 index 6958c27..0000000 --- a/app/dboards/src/app/controllers/all.js +++ /dev/null @@ -1,16 +0,0 @@ -define([ - './dash', - './dashLoader', - './row', - './submenuCtrl', - './pulldown', - './search', - './metricKeys', - './graphiteTarget', - './graphiteImport', - './influxTargetCtrl', - './playlistCtrl', - './inspectCtrl', - './opentsdbTargetCtrl', - './kairosdbTargetCtrl', -], function () {}); diff --git a/app/dboards/src/app/controllers/dash.js b/app/dboards/src/app/controllers/dash.js deleted file mode 100644 index b4113a5..0000000 --- a/app/dboards/src/app/controllers/dash.js +++ /dev/null @@ -1,152 +0,0 @@ -/** @scratch /index/0 - * = Kibana - * - * // Why can't I have a preamble here? - * - * == Introduction - * - * Kibana is an open source (Apache Licensed), browser based analytics and search dashboard for - * ElasticSearch. Kibana is a snap to setup and start using. Written entirely in HTML and Javascript - * it requires only a plain webserver, Kibana requires no fancy server side components. - * Kibana strives to be easy to get started with, while also being flexible and powerful, just like - * Elasticsearch. - * - * include::configuration/config.js.asciidoc[] - * - * include::panels.asciidoc[] - * - */ - -define([ - 'angular', - 'jquery', - 'config', - 'underscore', - 'services/all', - 'services/dashboard/all' -], -function (angular, $, config, _) { - "use strict"; - - var module = angular.module('kibana.controllers'); - - module.controller('DashCtrl', function( - $scope, $rootScope, $timeout, ejsResource, dashboard, filterSrv, dashboardKeybindings, - alertSrv, panelMove, keyboardManager, grafanaVersion) { - - $scope.requiredElasticSearchVersion = ">=0.90.3"; - - $scope.editor = { - index: 0 - }; - - $scope.grafanaVersion = grafanaVersion[0] === '@' ? 'master' : grafanaVersion; - - // For moving stuff around the dashboard. - $scope.panelMoveDrop = panelMove.onDrop; - $scope.panelMoveStart = panelMove.onStart; - $scope.panelMoveStop = panelMove.onStop; - $scope.panelMoveOver = panelMove.onOver; - $scope.panelMoveOut = panelMove.onOut; - - $scope.init = function() { - $scope.config = config; - - // Make stuff, including underscore.js available to views - $scope._ = _; - $scope.dashboard = dashboard; - $scope.dashAlerts = alertSrv; - - $scope.filter = filterSrv; - $scope.filter.init(dashboard.current); - - $rootScope.$on("dashboard-loaded", function(event, dashboard) { - $scope.filter.init(dashboard); - }); - - // Clear existing alerts - alertSrv.clearAll(); - - $scope.reset_row(); - - $scope.ejs = ejsResource(config.elasticsearch, config.elasticsearchBasicAuth); - - $scope.bindKeyboardShortcuts(); - }; - - $scope.bindKeyboardShortcuts = dashboardKeybindings.shortcuts; - - $scope.isPanel = function(obj) { - if(!_.isNull(obj) && !_.isUndefined(obj) && !_.isUndefined(obj.type)) { - return true; - } else { - return false; - } - }; - - $scope.add_row = function(dash, row) { - dash.rows.push(row); - }; - - $scope.add_row_default = function() { - $scope.reset_row(); - $scope.row.title = 'New row'; - $scope.add_row(dashboard.current, $scope.row); - }; - - $scope.reset_row = function() { - $scope.row = { - title: '', - height: '250px', - editable: true, - }; - }; - - $scope.row_style = function(row) { - return { 'min-height': row.collapse ? '5px' : row.height }; - }; - - $scope.panel_path =function(type) { - if(type) { - return 'app/panels/'+type.replace(".","/"); - } else { - return false; - } - }; - - $scope.edit_path = function(type) { - var p = $scope.panel_path(type); - if(p) { - return p+'/editor.html'; - } else { - return false; - } - }; - - $scope.setEditorTabs = function(panelMeta) { - $scope.editorTabs = ['General','Panel']; - if(!_.isUndefined(panelMeta.editorTabs)) { - $scope.editorTabs = _.union($scope.editorTabs,_.pluck(panelMeta.editorTabs,'title')); - } - return $scope.editorTabs; - }; - - // This is whoafully incomplete, but will do for now - $scope.parse_error = function(data) { - var _error = data.match("nested: (.*?);"); - return _.isNull(_error) ? data : _error[1]; - }; - - $scope.colors = [ - "#7EB26D","#EAB839","#6ED0E0","#EF843C","#E24D42","#1F78C1","#BA43A9","#705DA0", //1 - "#508642","#CCA300","#447EBC","#C15C17","#890F02","#0A437C","#6D1F62","#584477", //2 - "#B7DBAB","#F4D598","#70DBED","#F9BA8F","#F29191","#82B5D8","#E5A8E2","#AEA2E0", //3 - "#629E51","#E5AC0E","#64B0C8","#E0752D","#BF1B00","#0A50A1","#962D82","#614D93", //4 - "#9AC48A","#F2C96D","#65C5DB","#F9934E","#EA6460","#5195CE","#D683CE","#806EB7", //5 - "#3F6833","#967302","#2F575E","#99440A","#58140C","#052B51","#511749","#3F2B5B", //6 - "#E0F9D7","#FCEACA","#CFFAFF","#F9E2D2","#FCE2DE","#BADFF4","#F9D9F9","#DEDAF7" //7 - ]; - - $scope.init(); - }); -}); diff --git a/app/dboards/src/app/controllers/dashLoader.js b/app/dboards/src/app/controllers/dashLoader.js deleted file mode 100644 index d660e6d..0000000 --- a/app/dboards/src/app/controllers/dashLoader.js +++ /dev/null @@ -1,172 +0,0 @@ -define([ - 'angular', - 'underscore', - 'moment' -], -function (angular, _, moment) { - 'use strict'; - - var module = angular.module('kibana.controllers'); - - module.controller('dashLoader', function($scope, $rootScope, $http, dashboard, alertSrv, $location, playlistSrv) { - $scope.loader = dashboard.current.loader; - - $scope.init = function() { - $scope.gist_pattern = /(^\d{5,}$)|(^[a-z0-9]{10,}$)|(gist.github.com(\/*.*)\/[a-z0-9]{5,}\/*$)/; - $scope.gist = $scope.gist || {}; - $scope.elasticsearch = $scope.elasticsearch || {}; - - $rootScope.$on('save-dashboard', function() { - $scope.elasticsearch_save('dashboard', false); - }); - - $rootScope.$on('zoom-out', function() { - $scope.zoom(2); - }); - }; - - $scope.exitFullscreen = function() { - $rootScope.$emit('panel-fullscreen-exit'); - }; - - $scope.showDropdown = function(type) { - if(_.isUndefined(dashboard.current.loader)) { - return true; - } - - var _l = dashboard.current.loader; - if(type === 'load') { - return (_l.load_elasticsearch || _l.load_gist || _l.load_local); - } - if(type === 'save') { - return (_l.save_elasticsearch || _l.save_gist || _l.save_local || _l.save_default); - } - if(type === 'share') { - return (_l.save_temp); - } - return false; - }; - - $scope.set_default = function() { - if(dashboard.set_default($location.path())) { - alertSrv.set('Home Set','This page has been set as your default dashboard','success',5000); - } else { - alertSrv.set('Incompatible Browser','Sorry, your browser is too old for this feature','error',5000); - } - }; - - $scope.purge_default = function() { - if(dashboard.purge_default()) { - alertSrv.set('Local Default Clear','Your default dashboard has been reset to the default', - 'success',5000); - } else { - alertSrv.set('Incompatible Browser','Sorry, your browser is too old for this feature','error',5000); - } - }; - - $scope.elasticsearch_save = function(type,ttl) { - dashboard.elasticsearch_save(type, dashboard.current.title, ttl) - .then(function(result) { - if(_.isUndefined(result._id)) { - alertSrv.set('Save failed','Dashboard could not be saved to Elasticsearch','error',5000); - return; - } - - alertSrv.set('Dashboard Saved', 'Dashboard has been saved to Elasticsearch as "' + result._id + '"','success', 5000); - if(type === 'temp') { - $scope.share = dashboard.share_link(dashboard.current.title,'temp',result._id); - } - - $rootScope.$emit('dashboard-saved', dashboard.current); - }); - }; - - $scope.elasticsearch_delete = function(id) { - if (!confirm('Are you sure you want to delete dashboard?')) { - return; - } - - dashboard.elasticsearch_delete(id).then( - function(result) { - if(!_.isUndefined(result)) { - if(result.found) { - alertSrv.set('Dashboard Deleted',id+' has been deleted','success',5000); - // Find the deleted dashboard in the cached list and remove it - var toDelete = _.where($scope.elasticsearch.dashboards,{_id:id})[0]; - $scope.elasticsearch.dashboards = _.without($scope.elasticsearch.dashboards,toDelete); - } else { - alertSrv.set('Dashboard Not Found','Could not find '+id+' in Elasticsearch','warning',5000); - } - } else { - alertSrv.set('Dashboard Not Deleted','An error occurred deleting the dashboard','error',5000); - } - } - ); - }; - - $scope.save_gist = function() { - dashboard.save_gist($scope.gist.title).then(function(link) { - if (!_.isUndefined(link)) { - $scope.gist.last = link; - alertSrv.set('Gist saved','You will be able to access your exported dashboard file at '+ - ''+link+' in a moment','success'); - } else { - alertSrv.set('Save failed','Gist could not be saved','error',5000); - } - }); - }; - - $scope.gist_dblist = function(id) { - dashboard.gist_list(id).then(function(files) { - if (files && files.length > 0) { - $scope.gist.files = files; - } else { - alertSrv.set('Gist Failed','Could not retrieve dashboard list from gist','error',5000); - } - }); - }; - - // function $scope.zoom - // factor :: Zoom factor, so 0.5 = cuts timespan in half, 2 doubles timespan - $scope.zoom = function(factor) { - var _range = this.filter.timeRange(); - var _timespan = (_range.to.valueOf() - _range.from.valueOf()); - var _center = _range.to.valueOf() - _timespan/2; - - var _to = (_center + (_timespan*factor)/2); - var _from = (_center - (_timespan*factor)/2); - - // If we're not already looking into the future, don't. - if(_to > Date.now() && _range.to < Date.now()) { - var _offset = _to - Date.now(); - _from = _from - _offset; - _to = Date.now(); - } - - this.filter.setTime({ - from:moment.utc(_from).toDate(), - to:moment.utc(_to).toDate(), - }); - }; - - $scope.openSaveDropdown = function() { - $scope.isFavorite = playlistSrv.isCurrentFavorite(); - }; - - $scope.markAsFavorite = function() { - playlistSrv.markAsFavorite(); - $scope.isFavorite = true; - }; - - $scope.removeAsFavorite = function() { - playlistSrv.removeAsFavorite(dashboard.current); - $scope.isFavorite = false; - }; - - $scope.stopPlaylist = function() { - playlistSrv.stop(1); - }; - - }); - -}); diff --git a/app/dboards/src/app/controllers/graphiteImport.js b/app/dboards/src/app/controllers/graphiteImport.js deleted file mode 100644 index e0a0f36..0000000 --- a/app/dboards/src/app/controllers/graphiteImport.js +++ /dev/null @@ -1,104 +0,0 @@ -define([ - 'angular', - 'app', - 'underscore' -], -function (angular, app, _) { - 'use strict'; - - var module = angular.module('kibana.controllers'); - - module.controller('GraphiteImportCtrl', function($scope, $rootScope, $timeout, datasourceSrv, dashboard) { - - $scope.init = function() { - console.log('hej!'); - $scope.datasources = datasourceSrv.listOptions(); - $scope.setDatasource(null); - }; - - $scope.setDatasource = function(datasource) { - $scope.datasource = datasourceSrv.get(datasource); - - if (!$scope.datasource) { - $scope.error = "Cannot find datasource " + datasource; - return; - } - }; - - $scope.listAll = function(query) { - delete $scope.error; - - $scope.datasource.listDashboards(query) - .then(function(results) { - $scope.dashboards = results; - }) - .then(null, function(err) { - $scope.error = err.message || 'Error while fetching list of dashboards'; - }); - }; - - $scope.import = function(dashName) { - delete $scope.error; - - $scope.datasource.loadDashboard(dashName) - .then(function(results) { - if (!results.data || !results.data.state) { - throw { message: 'no dashboard state received from graphite' }; - } - - graphiteToGrafanaTranslator(results.data.state, $scope.datasource.name); - }) - .then(null, function(err) { - $scope.error = err.message || 'Failed to import dashboard'; - }); - }; - - function graphiteToGrafanaTranslator(state, datasource) { - var graphsPerRow = 2; - var rowHeight = 300; - var rowTemplate; - var currentRow; - var panel; - - rowTemplate = { - title: '', - panels: [], - height: rowHeight - }; - - currentRow = angular.copy(rowTemplate); - - var newDashboard = angular.copy(dashboard.current); - newDashboard.rows = []; - newDashboard.title = state.name; - newDashboard.rows.push(currentRow); - - _.each(state.graphs, function(graph) { - if (currentRow.panels.length === graphsPerRow) { - currentRow = angular.copy(rowTemplate); - newDashboard.rows.push(currentRow); - } - - panel = { - type: 'graphite', - span: 12 / graphsPerRow, - title: graph[1].title, - targets: [], - datasource: datasource - }; - - _.each(graph[1].target, function(target) { - panel.targets.push({ - target: target - }); - }); - - currentRow.panels.push(panel); - }); - - dashboard.dash_load(newDashboard); - } - - }); - -}); diff --git a/app/dboards/src/app/controllers/graphiteTarget.js b/app/dboards/src/app/controllers/graphiteTarget.js deleted file mode 100644 index abb5410..0000000 --- a/app/dboards/src/app/controllers/graphiteTarget.js +++ /dev/null @@ -1,294 +0,0 @@ -define([ - 'angular', - 'underscore', - 'config', - '../services/graphite/gfunc', - '../services/graphite/parser' -], -function (angular, _, config, gfunc, Parser) { - 'use strict'; - - var module = angular.module('kibana.controllers'); - - module.controller('GraphiteTargetCtrl', function($scope) { - - $scope.init = function() { - $scope.target.target = $scope.target.target || ''; - - parseTarget(); - }; - - // The way parsing and the target editor works needs - // to be rewritten to handle functions that take multiple series - function parseTarget() { - $scope.functions = []; - $scope.segments = []; - $scope.showTextEditor = false; - - delete $scope.parserError; - - var parser = new Parser($scope.target.target); - var astNode = parser.getAst(); - if (astNode === null) { - checkOtherSegments(0); - return; - } - - if (astNode.type === 'error') { - $scope.parserError = astNode.message + " at position: " + astNode.pos; - $scope.showTextEditor = true; - return; - } - - try { - parseTargeRecursive(astNode); - } - catch (err) { - console.log('error parsing target:', err.message); - $scope.parserError = err.message; - $scope.showTextEditor = true; - } - - checkOtherSegments($scope.segments.length - 1); - } - - function parseTargeRecursive(astNode, func, index) { - if (astNode === null) { - return null; - } - - switch(astNode.type) { - case 'function': - var innerFunc = gfunc.createFuncInstance(astNode.name); - - _.each(astNode.params, function(param, index) { - parseTargeRecursive(param, innerFunc, index); - }); - - innerFunc.updateText(); - $scope.functions.push(innerFunc); - break; - - case 'string': - case 'number': - if ((index-1) >= func.def.params.length) { - throw { message: 'invalid number of parameters to method ' + func.def.name }; - } - - if (index === 0) { - func.params[index] = astNode.value; - } - else { - func.params[index - 1] = astNode.value; - } - - break; - - case 'metric': - if ($scope.segments.length > 0) { - throw { message: 'Multiple metric params not supported, use text editor.' }; - } - - $scope.segments = _.map(astNode.segments, function(segment) { - var node = { - type: segment.type, - val: segment.value, - html: segment.value - }; - if (segment.value === '*') { - node.html = ''; - } - if (segment.type === 'template') { - node.val = node.html = '[[' + segment.value + ']]'; - node.html = "" + node.html + ""; - } - return node; - }); - } - } - - function getSegmentPathUpTo(index) { - var arr = $scope.segments.slice(0, index); - - return _.reduce(arr, function(result, segment) { - return result ? (result + "." + segment.val) : segment.val; - }, ""); - } - - function checkOtherSegments(fromIndex) { - if (fromIndex === 0) { - $scope.segments.push({html: 'select metric'}); - return; - } - - var path = getSegmentPathUpTo(fromIndex + 1); - return $scope.datasource.metricFindQuery($scope.filter, path) - .then(function(segments) { - if (segments.length === 0) { - $scope.segments = $scope.segments.splice(0, fromIndex); - $scope.segments.push({html: 'select metric'}); - return; - } - if (segments[0].expandable) { - if ($scope.segments.length === fromIndex) { - $scope.segments.push({html: 'select metric'}); - } - else { - return checkOtherSegments(fromIndex + 1); - } - } - }) - .then(null, function(err) { - $scope.parserError = err.message || 'Failed to issue metric query'; - }); - } - - function setSegmentFocus(segmentIndex) { - _.each($scope.segments, function(segment, index) { - segment.focus = segmentIndex === index; - }); - } - - function wrapFunction(target, func) { - return func.render(target); - } - - $scope.getAltSegments = function (index) { - $scope.altSegments = []; - - var query = index === 0 ? - '*' : getSegmentPathUpTo(index) + '.*'; - - return $scope.datasource.metricFindQuery($scope.filter, query) - .then(function(segments) { - _.each(segments, function(segment) { - segment.html = segment.val = segment.text; - }); - - _.each($scope.filter.templateParameters, function(templateParameter) { - segments.unshift({ - type: 'template', - html: '[[' + templateParameter.name + ']]', - val: '[[' + templateParameter.name + ']]', - expandable: true, - }); - }); - - segments.unshift({val: '*', html: '', expandable: true }); - $scope.altSegments = segments; - }) - .then(null, function(err) { - $scope.parserError = err.message || 'Failed to issue metric query'; - }); - }; - - $scope.setSegment = function (altIndex, segmentIndex) { - delete $scope.parserError; - - $scope.segments[segmentIndex].val = $scope.altSegments[altIndex].val; - $scope.segments[segmentIndex].html = $scope.altSegments[altIndex].html; - - if ($scope.altSegments[altIndex].expandable) { - return checkOtherSegments(segmentIndex + 1) - .then(function () { - setSegmentFocus(segmentIndex + 1); - $scope.targetChanged(); - }); - } - else { - $scope.segments = $scope.segments.splice(0, segmentIndex + 1); - } - - setSegmentFocus(segmentIndex + 1); - $scope.targetChanged(); - }; - - $scope.targetTextChanged = function() { - parseTarget(); - $scope.$parent.get_data(); - }; - - $scope.targetChanged = function() { - if ($scope.parserError) { - return; - } - - var oldTarget = $scope.target.target; - - var target = getSegmentPathUpTo($scope.segments.length); - $scope.target.target = _.reduce($scope.functions, wrapFunction, target); - - if ($scope.target.target !== oldTarget) { - $scope.$parent.get_data(); - } - }; - - $scope.removeFunction = function(func) { - $scope.functions = _.without($scope.functions, func); - $scope.targetChanged(); - }; - - $scope.addFunction = function(funcDef) { - var newFunc = gfunc.createFuncInstance(funcDef); - newFunc.added = true; - $scope.functions.push(newFunc); - - $scope.moveAliasFuncLast(); - $scope.smartlyHandleNewAliasByNode(newFunc); - - if (!newFunc.params.length && newFunc.added) { - $scope.targetChanged(); - } - }; - - $scope.moveAliasFuncLast = function() { - var aliasFunc = _.find($scope.functions, function(func) { - return func.def.name === 'alias' || - func.def.name === 'aliasByNode' || - func.def.name === 'aliasByMetric'; - }); - - if (aliasFunc) { - $scope.functions = _.without($scope.functions, aliasFunc); - $scope.functions.push(aliasFunc); - } - }; - - $scope.smartlyHandleNewAliasByNode = function(func) { - if (func.def.name !== 'aliasByNode') { - return; - } - for(var i = 0; i < $scope.segments.length; i++) { - if ($scope.segments[i].val.indexOf('*') >= 0) { - func.params[0] = i; - func.added = false; - $scope.targetChanged(); - return; - } - } - }; - - $scope.duplicate = function() { - var clone = angular.copy($scope.target); - $scope.panel.targets.push(clone); - }; - - }); - - module.directive('focusMe', function($timeout, $parse) { - return { - //scope: true, // optionally create a child scope - link: function(scope, element, attrs) { - var model = $parse(attrs.focusMe); - scope.$watch(model, function(value) { - if(value === true) { - $timeout(function() { - element[0].focus(); - }); - } - }); - } - }; - }); - -}); diff --git a/app/dboards/src/app/controllers/influxTargetCtrl.js b/app/dboards/src/app/controllers/influxTargetCtrl.js deleted file mode 100644 index b0693a8..0000000 --- a/app/dboards/src/app/controllers/influxTargetCtrl.js +++ /dev/null @@ -1,90 +0,0 @@ -define([ - 'angular' -], -function (angular) { - 'use strict'; - - var module = angular.module('kibana.controllers'); - - var seriesList = null; - - module.controller('InfluxTargetCtrl', function($scope, $timeout) { - - $scope.init = function() { - $scope.target.function = $scope.target.function || 'mean'; - $scope.target.column = $scope.target.column || 'value'; - - $scope.rawQuery = false; - - $scope.functions = [ - 'count', 'mean', 'sum', 'min', - 'max', 'mode', 'distinct', 'median', - 'derivative', 'stddev', 'first', 'last', - 'difference' - ]; - - $scope.operators = ['=', '=~', '>', '<', '!~', '<>']; - $scope.oldSeries = $scope.target.series; - $scope.$on('typeahead-updated', function() { - $timeout($scope.get_data); - }); - }; - - $scope.showQuery = function () { - $scope.target.rawQuery = true; - }; - - $scope.hideQuery = function () { - $scope.target.rawQuery = false; - }; - - // Cannot use typeahead and ng-change on blur at the same time - $scope.seriesBlur = function() { - if ($scope.oldSeries !== $scope.target.series) { - $scope.oldSeries = $scope.target.series; - $scope.columnList = null; - $scope.get_data(); - } - }; - - $scope.changeFunction = function(func) { - $scope.target.function = func; - $scope.get_data(); - }; - - // called outside of digest - $scope.listColumns = function(query, callback) { - if (!$scope.columnList) { - $scope.$apply(function() { - $scope.datasource.listColumns($scope.target.series).then(function(columns) { - $scope.columnList = columns; - callback(columns); - }); - }); - } - else { - return $scope.columnList; - } - }; - - $scope.listSeries = function(query, callback) { - if (!seriesList || query === '') { - seriesList = []; - $scope.datasource.listSeries().then(function(series) { - seriesList = series; - callback(seriesList); - }); - } - else { - return seriesList; - } - }; - - $scope.duplicate = function() { - var clone = angular.copy($scope.target); - $scope.panel.targets.push(clone); - }; - - }); - -}); diff --git a/app/dboards/src/app/controllers/inspectCtrl.js b/app/dboards/src/app/controllers/inspectCtrl.js deleted file mode 100644 index fd276ee..0000000 --- a/app/dboards/src/app/controllers/inspectCtrl.js +++ /dev/null @@ -1,75 +0,0 @@ -define([ - 'angular' -], -function (angular) { - 'use strict'; - - var module = angular.module('kibana.controllers'); - - module.controller('InspectCtrl', function($scope) { - var model = $scope.inspector; - - function getParametersFromQueryString(queryString) { - var result = []; - var parameters = queryString.split("&"); - for (var i = 0; i < parameters.length; i++) { - var keyValue = parameters[i].split("="); - if (keyValue[1].length > 0) { - result.push({ key: keyValue[0], value: window.unescape(keyValue[1]) }); - } - } - return result; - } - - $scope.init = function () { - $scope.editor = { index: 0 }; - - if (!model.error) { - return; - } - - if (model.error.stack) { - $scope.editor.index = 2; - $scope.stack_trace = model.error.stack; - $scope.message = model.error.message; - } - else if (model.error.config && model.error.config.data) { - $scope.editor.index = 1; - - $scope.request_parameters = getParametersFromQueryString(model.error.config.data); - - if (model.error.data.indexOf('DOCTYPE') !== -1) { - $scope.response_html = model.error.data; - } - } - }; - - }); - - angular - .module('kibana.directives') - .directive('iframeContent', function($parse) { - return { - restrict: 'A', - link: function($scope, elem, attrs) { - var getter = $parse(attrs.iframeContent), value = getter($scope); - - $scope.$on("$destroy",function() { - elem.remove(); - }); - - var iframe = document.createElement('iframe'); - iframe.width = '100%'; - iframe.height = '400px'; - iframe.style.border = 'none'; - iframe.src = 'about:blank'; - elem.append(iframe); - - iframe.contentWindow.document.open('text/html', 'replace'); - iframe.contentWindow.document.write(value); - iframe.contentWindow.document.close(); - } - }; - }); - -}); \ No newline at end of file diff --git a/app/dboards/src/app/controllers/kairosdbTargetCtrl.js b/app/dboards/src/app/controllers/kairosdbTargetCtrl.js deleted file mode 100644 index 95e7d56..0000000 --- a/app/dboards/src/app/controllers/kairosdbTargetCtrl.js +++ /dev/null @@ -1,344 +0,0 @@ -define([ - 'angular', - 'underscore' -], - function (angular, _) { - 'use strict'; - - var module = angular.module('kibana.controllers'); - - var metricList = null; - - module.controller('KairosDBTargetCtrl', function($scope) { - - $scope.init = function() { - $scope.panel.stack = false; - if (!$scope.target.downsampling) { - $scope.target.downsampling = 'avg'; - } - $scope.target.errors = validateTarget($scope.target); - }; - - $scope.targetBlur = function() { - $scope.target.errors = validateTarget($scope.target); - if (!_.isEqual($scope.oldTarget, $scope.target) && _.isEmpty($scope.target.errors)) { - $scope.oldTarget = angular.copy($scope.target); - $scope.get_data(); - } - }; - - $scope.duplicate = function() { - var clone = angular.copy($scope.target); - $scope.panel.targets.push(clone); - }; - - ////////////////////////////// - // SUGGESTION QUERIES - ////////////////////////////// - - $scope.suggestMetrics = function(query, callback) { - if (!metricList) { - $scope.updateMetricList(); - } - else { - callback(metricList); - } - - }; - - $scope.updateMetricList = function() { - $scope.metricListLoading = true; - metricList = []; - $scope.datasource.performMetricSuggestQuery().then(function(series) { - metricList = series; - $scope.metricListLoading = false; - return metricList; - }); - }; - - $scope.suggestTagKeys = function(query, callback) { - $scope.updateTimeRange(); - callback($scope.datasource - .performTagSuggestQuery($scope.target.metric,$scope.rangeUnparsed, 'key','')); - - }; - - $scope.suggestTagValues = function(query, callback) { - callback($scope.datasource - .performTagSuggestQuery($scope.target.metric,$scope.rangeUnparsed, 'value',$scope.target.currentTagKey)); - }; - - ////////////////////////////// - // FILTER by TAG - ////////////////////////////// - - $scope.addFilterTag = function() { - if (!$scope.addFilterTagMode) { - $scope.addFilterTagMode = true; - $scope.validateFilterTag(); - return; - } - - if (!$scope.target.tags) { - $scope.target.tags = {}; - } - - $scope.validateFilterTag(); - if (!$scope.target.errors.tags) { - if(!_.has($scope.target.tags,$scope.target.currentTagKey)) { - $scope.target.tags[$scope.target.currentTagKey] = []; - } - $scope.target.tags[$scope.target.currentTagKey].push($scope.target.currentTagValue); - $scope.target.currentTagKey = ''; - $scope.target.currentTagValue = ''; - $scope.targetBlur(); - } - - $scope.addFilterTagMode = false; - }; - - $scope.removeFilterTag = function(key) { - delete $scope.target.tags[key]; - if(_.size($scope.target.tags)===0) { - $scope.target.tags = null; - } - $scope.targetBlur(); - }; - - $scope.validateFilterTag = function() { - $scope.target.errors.tags = null; - if(!$scope.target.currentTagKey || !$scope.target.currentTagValue) { - $scope.target.errors.tags = "You must specify a tag name and value."; - } - }; - - ////////////////////////////// - // GROUP BY - ////////////////////////////// - - $scope.addGroupBy = function() { - if (!$scope.addGroupByMode) { - $scope.addGroupByMode = true; - $scope.target.currentGroupByType = 'tag'; - $scope.isTagGroupBy = true; - $scope.validateGroupBy(); - return; - } - $scope.validateGroupBy(); - // nb: if error is found, means that user clicked on cross : cancels input - if (_.isEmpty($scope.target.errors.groupBy)) { - if($scope.isTagGroupBy) { - if (!$scope.target.groupByTags) { - $scope.target.groupByTags = []; - } - console.log($scope.target.groupBy.tagKey); - if (!_.contains($scope.target.groupByTags, $scope.target.groupBy.tagKey)) { - $scope.target.groupByTags.push($scope.target.groupBy.tagKey); - $scope.targetBlur(); - } - $scope.target.groupBy.tagKey = ''; - } - else { - if (!$scope.target.nonTagGroupBys) { - $scope.target.nonTagGroupBys = []; - } - var groupBy = { - name: $scope.target.currentGroupByType - }; - if($scope.isValueGroupBy) {groupBy.range_size = $scope.target.groupBy.valueRange;} - else if($scope.isTimeGroupBy) { - groupBy.range_size = $scope.target.groupBy.timeInterval; - groupBy.group_count = $scope.target.groupBy.groupCount; - } - $scope.target.nonTagGroupBys.push(groupBy); - } - $scope.targetBlur(); - } - $scope.isTagGroupBy = false; - $scope.isValueGroupBy = false; - $scope.isTimeGroupBy = false; - $scope.addGroupByMode = false; - }; - - $scope.removeGroupByTag = function(index) { - $scope.target.groupByTags.splice(index, 1); - if(_.size($scope.target.groupByTags)===0) { - $scope.target.groupByTags = null; - } - $scope.targetBlur(); - }; - - $scope.removeNonTagGroupBy = function(index) { - $scope.target.nonTagGroupBys.splice(index, 1); - if(_.size($scope.target.nonTagGroupBys)===0) { - $scope.target.nonTagGroupBys = null; - } - $scope.targetBlur(); - }; - - $scope.changeGroupByInput = function() { - $scope.isTagGroupBy = $scope.target.currentGroupByType==='tag'; - $scope.isValueGroupBy = $scope.target.currentGroupByType==='value'; - $scope.isTimeGroupBy = $scope.target.currentGroupByType==='time'; - $scope.validateGroupBy(); - }; - - $scope.validateGroupBy = function() { - delete $scope.target.errors.groupBy; - var errors = {}; - $scope.isGroupByValid = true; - if($scope.isTagGroupBy) { - if(!$scope.target.groupBy.tagKey) { - $scope.isGroupByValid = false; - errors.tagKey = 'You must supply a tag name'; - } - } - if($scope.isValueGroupBy) { - if(!$scope.target.groupBy.valueRange || !isInt($scope.target.groupBy.valueRange)) { - errors.valueRange = "Range must be an integer"; - $scope.isGroupByValid = false; - } - } - if($scope.isTimeGroupBy) { - try { - $scope.datasource.convertToKairosInterval($scope.target.groupBy.timeInterval); - } catch(err) { - errors.timeInterval = err.message; - $scope.isGroupByValid = false; - } - if(!$scope.target.groupBy.groupCount || !isInt($scope.target.groupBy.groupCount)) { - errors.groupCount = "Group count must be an integer"; - $scope.isGroupByValid = false; - } - } - - if(!_.isEmpty(errors)) { - $scope.target.errors.groupBy = errors; - } - }; - - function isInt(n) { - return parseInt(n) % 1 === 0; - } - - ////////////////////////////// - // HORIZONTAL AGGREGATION - ////////////////////////////// - - $scope.addHorizontalAggregator = function() { - if (!$scope.addHorizontalAggregatorMode) { - $scope.addHorizontalAggregatorMode = true; - $scope.target.currentHorizontalAggregatorName = 'avg'; - $scope.hasSamplingRate = true; - $scope.validateHorizontalAggregator(); - return; - } - - $scope.validateHorizontalAggregator(); - // nb: if error is found, means that user clicked on cross : cancels input - if(_.isEmpty($scope.target.errors.horAggregator)) { - if (!$scope.target.horizontalAggregators) { - $scope.target.horizontalAggregators = []; - } - var aggregator = { - name:$scope.target.currentHorizontalAggregatorName - }; - if($scope.hasSamplingRate) {aggregator.sampling_rate = $scope.target.horAggregator.samplingRate;} - if($scope.hasUnit) {aggregator.unit = $scope.target.horAggregator.unit;} - if($scope.hasFactor) {aggregator.factor = $scope.target.horAggregator.factor;} - if($scope.hasPercentile) {aggregator.percentile = $scope.target.horAggregator.percentile;} - $scope.target.horizontalAggregators.push(aggregator); - $scope.targetBlur(); - } - - $scope.addHorizontalAggregatorMode = false; - $scope.hasSamplingRate = false; - $scope.hasUnit = false; - $scope.hasFactor = false; - $scope.hasPercentile = false; - - }; - - $scope.removeHorizontalAggregator = function(index) { - $scope.target.horizontalAggregators.splice(index, 1); - if(_.size($scope.target.horizontalAggregators)===0) { - $scope.target.horizontalAggregators = null; - } - - $scope.targetBlur(); - }; - - $scope.changeHorAggregationInput = function() { - $scope.hasSamplingRate = _.contains(['avg','dev','max','min','sum','least_squares','count','percentile'], - $scope.target.currentHorizontalAggregatorName); - $scope.hasUnit = _.contains(['sampler','rate'], $scope.target.currentHorizontalAggregatorName); - $scope.hasFactor = _.contains(['div','scale'], $scope.target.currentHorizontalAggregatorName); - $scope.hasPercentile = 'percentile'===$scope.target.currentHorizontalAggregatorName; - $scope.validateHorizontalAggregator(); - }; - - $scope.validateHorizontalAggregator = function() { - delete $scope.target.errors.horAggregator; - var errors = {}; - $scope.isAggregatorValid = true; - if($scope.hasSamplingRate) { - try { - $scope.datasource.convertToKairosInterval($scope.target.horAggregator.samplingRate); - } catch(err) { - errors.samplingRate = err.message; - $scope.isAggregatorValid = false; - } - } - if($scope.hasFactor) { - if(!$scope.target.horAggregator.factor) { - errors.factor = 'You must supply a numeric value for this aggregator'; - $scope.isAggregatorValid = false; - } - else if(parseInt($scope.target.horAggregator.factor)===0 && $scope.target.currentHorizontalAggregatorName==='div') { - errors.factor = 'Cannot divide by 0'; - $scope.isAggregatorValid = false; - } - } - if($scope.hasPercentile) { - if(!$scope.target.horAggregator.percentile || - $scope.target.horAggregator.percentile<=0 || - $scope.target.horAggregator.percentile>1) { - errors.percentile = 'Percentile must be between 0 and 1'; - $scope.isAggregatorValid = false; - } - } - - if(!_.isEmpty(errors)) { - $scope.target.errors.horAggregator = errors; - } - }; - - $scope.alert = function(message) { - alert(message); - }; - - ////////////////////////////// - // VALIDATION - ////////////////////////////// - - function validateTarget(target) { - var errs = {}; - - if (!target.metric) { - errs.metric = "You must supply a metric name."; - } - - try { - if (target.sampling) { - $scope.datasource.convertToKairosInterval(target.sampling); - } - } catch(err) { - errs.sampling = err.message; - } - - return errs; - } - - }); - - }); \ No newline at end of file diff --git a/app/dboards/src/app/controllers/metricKeys.js b/app/dboards/src/app/controllers/metricKeys.js deleted file mode 100644 index 61ac85c..0000000 --- a/app/dboards/src/app/controllers/metricKeys.js +++ /dev/null @@ -1,186 +0,0 @@ -define([ - 'angular', - 'underscore', - 'config' -], -function (angular, _, config) { - 'use strict'; - - var module = angular.module('kibana.controllers'); - - module.controller('MetricKeysCtrl', function($scope, $http, $q) { - var elasticSearchUrlForMetricIndex = config.elasticsearch + '/' + config.grafana_metrics_index + '/'; - var httpOptions = {}; - if (config.elasticsearchBasicAuth) { - httpOptions.withCredentials = true; - httpOptions.headers = { - "Authorization": "Basic " + config.elasticsearchBasicAuth - }; - } - $scope.init = function () { - $scope.metricPath = "prod.apps.api.boobarella.*"; - $scope.metricCounter = 0; - }; - - $scope.createIndex = function () { - $scope.errorText = null; - $scope.infoText = null; - - deleteIndex() - .then(createIndex) - .then(function () { - $scope.infoText = "Index created!"; - }) - .then(null, function (err) { - $scope.errorText = angular.toJson(err); - }); - }; - - $scope.loadMetricsFromPath = function() { - $scope.errorText = null; - $scope.infoText = null; - $scope.metricCounter = 0; - - return loadMetricsRecursive($scope.metricPath) - .then(function() { - $scope.infoText = "Indexing completed!"; - }, function(err) { - $scope.errorText = "Error: " + err; - }); - }; - - $scope.loadAll = function() { - $scope.infoText = "Fetching all metrics from graphite..."; - - getFromEachGraphite('/metrics/index.json', saveMetricsArray) - .then(function() { - $scope.infoText = "Indexing complete!"; - }).then(null, function(err) { - $scope.errorText = err; - }); - }; - - function getFromEachGraphite(request, data_callback, error_callback) { - return $q.all(_.map(config.datasources, function(datasource) { - if (datasource.type = 'graphite') { - return $http.get(datasource.url + request) - .then(data_callback, error_callback); - } - })); - } - - function saveMetricsArray(data, currentIndex) { - if (!data && !data.data && data.data.length === 0) { - return $q.reject('No metrics from graphite'); - } - - if (data.data.length === currentIndex) { - return $q.when('done'); - } - - currentIndex = currentIndex || 0; - - return saveMetricKey(data.data[currentIndex]) - .then(function() { - return saveMetricsArray(data, currentIndex + 1); - }); - } - - function deleteIndex() - { - var deferred = $q.defer(); - $http.delete(elasticSearchUrlForMetricIndex, httpOptions) - .success(function() { - deferred.resolve('ok'); - }) - .error(function(data, status) { - if (status === 404) { - deferred.resolve('ok'); - } - else { - deferred.reject('elastic search returned unexpected error'); - } - }); - - return deferred.promise; - } - - function createIndex() - { - return $http.put(elasticSearchUrlForMetricIndex, { - settings: { - analysis: { - analyzer: { - metric_path_ngram : { tokenizer : "my_ngram_tokenizer" } - }, - tokenizer: { - my_ngram_tokenizer : { - type : "nGram", - min_gram : "3", - max_gram : "8", - token_chars: ["letter", "digit", "punctuation", "symbol"] - } - } - } - }, - mappings: { - metricKey: { - properties: { - metricPath: { - type: "multi_field", - fields: { - "metricPath": { type: "string", index: "analyzed", index_analyzer: "standard" }, - "metricPath_ng": { type: "string", index: "analyzed", index_analyzer: "metric_path_ngram" } - } - } - } - } - } - }, httpOptions); - } - - function receiveMetric(result) { - var data = result.data; - if (!data || data.length === 0) { - console.log('no data'); - return; - } - - var funcs = _.map(data, function(metric) { - if (metric.expandable) { - return loadMetricsRecursive(metric.id + ".*"); - } - if (metric.leaf) { - return saveMetricKey(metric.id); - } - }); - - return $q.all(funcs); - } - - function saveMetricKey(metricId) { - - // Create request with id as title. Rethink this. - var request = $scope.ejs.Document(config.grafana_metrics_index, 'metricKey', metricId).source({ - metricPath: metricId - }); - - return request.doIndex( - function() { - $scope.infoText = "Indexing " + metricId; - $scope.metricCounter = $scope.metricCounter + 1; - }, - function() { - $scope.errorText = "failed to save metric " + metricId; - } - ); - } - - function loadMetricsRecursive(metricPath) - { - return getFromEachGraphite('/metrics/find/?query=' + metricPath, receiveMetric); - } - - }); - -}); diff --git a/app/dboards/src/app/controllers/opentsdbTargetCtrl.js b/app/dboards/src/app/controllers/opentsdbTargetCtrl.js deleted file mode 100644 index b10cf38..0000000 --- a/app/dboards/src/app/controllers/opentsdbTargetCtrl.js +++ /dev/null @@ -1,118 +0,0 @@ -define([ - 'angular', - 'underscore', - 'kbn' -], -function (angular, _, kbn) { - 'use strict'; - - var module = angular.module('kibana.controllers'); - - module.controller('OpenTSDBTargetCtrl', function($scope, $timeout) { - - $scope.init = function() { - $scope.target.errors = validateTarget($scope.target); - $scope.aggregators = ['avg', 'sum', 'min', 'max', 'dev', 'zimsum', 'mimmin', 'mimmax']; - - if (!$scope.target.aggregator) { - $scope.target.aggregator = 'sum'; - } - - if (!$scope.target.downsampleAggregator) { - $scope.target.downsampleAggregator = 'sum'; - } - - $scope.$on('typeahead-updated', function() { - $timeout($scope.targetBlur); - }); - }; - - $scope.targetBlur = function() { - $scope.target.errors = validateTarget($scope.target); - - // this does not work so good - if (!_.isEqual($scope.oldTarget, $scope.target) && _.isEmpty($scope.target.errors)) { - $scope.oldTarget = angular.copy($scope.target); - $scope.get_data(); - } - }; - - $scope.duplicate = function() { - var clone = angular.copy($scope.target); - $scope.panel.targets.push(clone); - }; - - $scope.suggestMetrics = function(query, callback) { - $scope.datasource - .performSuggestQuery(query, 'metrics') - .then(callback); - }; - - $scope.suggestTagKeys = function(query, callback) { - $scope.datasource - .performSuggestQuery(query, 'tagk') - .then(callback); - }; - - $scope.suggestTagValues = function(query, callback) { - $scope.datasource - .performSuggestQuery(query, 'tagv') - .then(callback); - }; - - $scope.addTag = function() { - if (!$scope.addTagMode) { - $scope.addTagMode = true; - return; - } - - if (!$scope.target.tags) { - $scope.target.tags = {}; - } - - $scope.target.errors = validateTarget($scope.target); - - if (!$scope.target.errors.tags) { - $scope.target.tags[$scope.target.currentTagKey] = $scope.target.currentTagValue; - $scope.target.currentTagKey = ''; - $scope.target.currentTagValue = ''; - $scope.targetBlur(); - } - - $scope.addTagMode = false; - }; - - $scope.removeTag = function(key) { - delete $scope.target.tags[key]; - $scope.targetBlur(); - }; - - function validateTarget(target) { - var errs = {}; - - if (!target.metric) { - errs.metric = "You must supply a metric name."; - } - - if (target.shouldDownsample) { - try { - if (target.downsampleInterval) { - kbn.describe_interval(target.downsampleInterval); - } else { - errs.downsampleInterval = "You must supply a downsample interval (e.g. '1m' or '1h')."; - } - } catch(err) { - errs.downsampleInterval = err.message; - } - } - - if (target.tags && _.has(target.tags, target.currentTagKey)) { - errs.tags = "Duplicate tag key '" + target.currentTagKey + "'."; - } - - return errs; - } - - }); - -}); diff --git a/app/dboards/src/app/controllers/panelBaseCtrl.js b/app/dboards/src/app/controllers/panelBaseCtrl.js deleted file mode 100644 index 24ce1dd..0000000 --- a/app/dboards/src/app/controllers/panelBaseCtrl.js +++ /dev/null @@ -1,134 +0,0 @@ -define([ - 'angular', - 'underscore', - 'jquery' -], -function (angular, _, $) { - 'use strict'; - - // This function needs $inject annotations, update below - // when changing arguments to this function - function PanelBaseCtrl($scope, $rootScope, $timeout) { - - var menu = [ - { - text: 'Edit', - configModal: "app/partials/paneleditor.html", - condition: !$scope.panelMeta.fullscreenEdit - }, - { - text: 'Edit', - click: "toggleFullscreenEdit()", - condition: $scope.panelMeta.fullscreenEdit - }, - { - text: "Fullscreen", - click: 'toggleFullscreen()', - condition: $scope.panelMeta.fullscreenView - }, - { - text: 'Duplicate', - click: 'duplicatePanel(panel)', - condition: true - }, - { - text: 'Span', - submenu: [ - { text: '1', click: 'updateColumnSpan(1)' }, - { text: '2', click: 'updateColumnSpan(2)' }, - { text: '3', click: 'updateColumnSpan(3)' }, - { text: '4', click: 'updateColumnSpan(4)' }, - { text: '5', click: 'updateColumnSpan(5)' }, - { text: '6', click: 'updateColumnSpan(6)' }, - { text: '7', click: 'updateColumnSpan(7)' }, - { text: '8', click: 'updateColumnSpan(8)' }, - { text: '9', click: 'updateColumnSpan(9)' }, - { text: '10', click: 'updateColumnSpan(10)' }, - { text: '11', click: 'updateColumnSpan(11)' }, - { text: '12', click: 'updateColumnSpan(12)' }, - ], - condition: true - }, - { - text: 'Remove', - click: 'remove_panel_from_row(row, panel)', - condition: true - } - ]; - - $scope.inspector = {}; - $scope.panelMeta.menu = _.where(menu, { condition: true }); - - $scope.updateColumnSpan = function(span) { - $scope.panel.span = span; - - $timeout(function() { - $scope.$emit('render'); - }); - }; - - $scope.enterFullscreenMode = function(options) { - var docHeight = $(window).height(); - var editHeight = Math.floor(docHeight * 0.3); - var fullscreenHeight = Math.floor(docHeight * 0.7); - var oldTimeRange = $scope.range; - - $scope.height = options.edit ? editHeight : fullscreenHeight; - $scope.editMode = options.edit; - - if (!$scope.fullscreen) { - var closeEditMode = $rootScope.$on('panel-fullscreen-exit', function() { - $scope.editMode = false; - $scope.fullscreen = false; - delete $scope.height; - - closeEditMode(); - - $timeout(function() { - if (oldTimeRange !== $scope.range) { - $scope.dashboard.refresh(); - } - else { - $scope.$emit('render'); - } - }); - }); - } - - $(window).scrollTop(0); - - $scope.fullscreen = true; - - $rootScope.$emit('panel-fullscreen-enter'); - - $timeout(function() { - $scope.$emit('render'); - }); - - }; - - $scope.toggleFullscreenEdit = function() { - if ($scope.editMode) { - $rootScope.$emit('panel-fullscreen-exit'); - return; - } - - $scope.enterFullscreenMode({edit: true}); - }; - - $scope.toggleFullscreen = function() { - if ($scope.fullscreen && !$scope.editMode) { - $rootScope.$emit('panel-fullscreen-exit'); - return; - } - - $scope.enterFullscreenMode({ edit: false }); - }; - - } - - PanelBaseCtrl['$inject'] = ['$scope', '$rootScope', '$timeout']; - - return PanelBaseCtrl; - -}); \ No newline at end of file diff --git a/app/dboards/src/app/controllers/playlistCtrl.js b/app/dboards/src/app/controllers/playlistCtrl.js deleted file mode 100644 index 249099e..0000000 --- a/app/dboards/src/app/controllers/playlistCtrl.js +++ /dev/null @@ -1,39 +0,0 @@ -define([ - 'angular', - 'underscore', - 'config' -], -function (angular, _, config) { - 'use strict'; - - var module = angular.module('kibana.controllers'); - - module.controller('PlaylistCtrl', function($scope, playlistSrv) { - - $scope.init = function() { - $scope.timespan = config.playlist_timespan; - $scope.loadFavorites(); - $scope.$on('modal-opened', $scope.loadFavorites); - }; - - $scope.loadFavorites = function() { - $scope.favDashboards = playlistSrv.getFavorites().dashboards; - - _.each($scope.favDashboards, function(dashboard) { - dashboard.include = true; - }); - }; - - $scope.removeAsFavorite = function(dashboard) { - playlistSrv.removeAsFavorite(dashboard); - $scope.loadFavorites(); - }; - - $scope.start = function() { - var included = _.where($scope.favDashboards, { include: true }); - playlistSrv.start(included, $scope.timespan); - }; - - }); - -}); diff --git a/app/dboards/src/app/controllers/pulldown.js b/app/dboards/src/app/controllers/pulldown.js deleted file mode 100644 index 425f7c2..0000000 --- a/app/dboards/src/app/controllers/pulldown.js +++ /dev/null @@ -1,42 +0,0 @@ -define([ - 'angular', - 'app', - 'underscore' -], -function (angular, app, _) { - 'use strict'; - - var module = angular.module('kibana.controllers'); - - module.controller('PulldownCtrl', function($scope, $rootScope, $timeout) { - var _d = { - collapse: false, - notice: false, - enable: true - }; - - _.defaults($scope.pulldown,_d); - - $scope.init = function() { - // Provide a combined skeleton for panels that must interact with panel and row. - // This might create name spacing issues. - $scope.panel = $scope.pulldown; - $scope.row = $scope.pulldown; - }; - - $scope.toggle_pulldown = function(pulldown) { - pulldown.collapse = pulldown.collapse ? false : true; - if (!pulldown.collapse) { - $timeout(function() { - $scope.$broadcast('render'); - }); - } else { - $scope.row.notice = false; - } - }; - - $scope.init(); - - }); - -}); \ No newline at end of file diff --git a/app/dboards/src/app/controllers/row.js b/app/dboards/src/app/controllers/row.js deleted file mode 100644 index a4f15c3..0000000 --- a/app/dboards/src/app/controllers/row.js +++ /dev/null @@ -1,195 +0,0 @@ -define([ - 'angular', - 'app', - 'underscore' -], -function (angular, app, _) { - 'use strict'; - - var module = angular.module('kibana.controllers'); - - module.controller('RowCtrl', function($scope, $rootScope, $timeout) { - var _d = { - title: "Row", - height: "150px", - collapse: false, - collapsable: true, - editable: true, - panels: [], - notice: false - }; - - _.defaults($scope.row,_d); - - $scope.init = function() { - $scope.reset_panel(); - }; - - $scope.toggle_row = function(row) { - if(!row.collapsable) { - return; - } - row.collapse = row.collapse ? false : true; - if (!row.collapse) { - $timeout(function() { - $scope.$broadcast('render'); - }); - } else { - row.notice = false; - } - }; - - $scope.rowSpan = function(row) { - var panels = _.filter(row.panels, function(p) { - return $scope.isPanel(p); - }); - return _.reduce(_.pluck(panels,'span'), function(p,v) { - return p+v; - },0); - }; - - // This can be overridden by individual panels - $scope.close_edit = function() { - $scope.$broadcast('render'); - }; - - $scope.add_panel = function(panel) { - var rowSpan = $scope.rowSpan($scope.row); - var panelCount = $scope.row.panels.length; - var space = (12 - rowSpan) - panel.span; - - // try to make room of there is no space left - if (space <= 0) { - if (panelCount === 1) { - $scope.row.panels[0].span = 6; - panel.span = 6; - } - else if (panelCount === 2) { - $scope.row.panels[0].span = 4; - $scope.row.panels[1].span = 4; - panel.span = 4; - } - } - - $scope.row.panels.push(panel); - }; - - $scope.delete_row = function() { - if (confirm("Are you sure you want to delete this row?")) { - $scope.dashboard.current.rows = _.without($scope.dashboard.current.rows, $scope.row); - } - }; - - $scope.move_row = function(direction) { - var rowsList = $scope.dashboard.current.rows; - var rowIndex = _.indexOf(rowsList, $scope.row); - var newIndex = rowIndex + direction; - if (newIndex >= 0 && newIndex <= (rowsList.length - 1)) { - _.move(rowsList, rowIndex, rowIndex + direction); - } - }; - - $scope.add_panel_default = function(type) { - $scope.reset_panel(type); - $scope.add_panel($scope.panel); - - $timeout(function() { - $scope.$broadcast('render'); - }); - }; - - $scope.set_height = function(height) { - $scope.row.height = height; - $scope.$broadcast('render'); - }; - - $scope.remove_panel_from_row = function(row, panel) { - if (confirm('Are you sure you want to remove this ' + panel.type + ' panel?')) { - row.panels = _.without(row.panels,panel); - } - }; - - $scope.duplicatePanel = function(panel, row) { - row = row || $scope.row; - var currentRowSpan = $scope.rowSpan(row); - if (currentRowSpan <= 9) { - row.panels.push(angular.copy(panel)); - } - else { - var rowsList = $scope.dashboard.current.rows; - var rowIndex = _.indexOf(rowsList, row); - if (rowIndex === rowsList.length - 1) { - var newRow = angular.copy($scope.row); - newRow.panels = []; - $scope.dashboard.current.rows.push(newRow); - $scope.duplicatePanel(panel, newRow); - } - else { - $scope.duplicatePanel(panel, rowsList[rowIndex+1]); - } - } - }; - - /** @scratch /panels/0 - * [[panels]] - * = Panels - * - * [partintro] - * -- - * *Kibana* dashboards are made up of blocks called +panels+. Panels are organized into rows - * and can serve many purposes, though most are designed to provide the results of a query or - * multiple queries as a visualization. Other panels may show collections of documents or - * allow you to insert instructions for your users. - * - * Panels can be configured easily via the Kibana web interface. For more advanced usage, such - * as templated or scripted dashboards, documentation of panel properties is available in this - * section. You may find settings here which are not exposed via the web interface. - * - * Each panel type has its own properties, hover there are several that are shared. - * - */ - - $scope.reset_panel = function(type) { - var - defaultSpan = 4, - _as = 12-$scope.rowSpan($scope.row); - - $scope.panel = { - error : false, - /** @scratch /panels/1 - * span:: A number, 1-12, that describes the width of the panel. - */ - span : _as < defaultSpan && _as > 0 ? _as : defaultSpan, - /** @scratch /panels/1 - * editable:: Enable or disable the edit button the the panel - */ - editable: true, - /** @scratch /panels/1 - * type:: The type of panel this object contains. Each panel type will require additional - * properties. See the panel types list to the right. - */ - type : type - }; - - function fixRowHeight(height) { - if (!height) { - return '200px'; - } - if (!_.isString(height)) { - return height + 'px'; - } - return height; - } - - $scope.row.height = fixRowHeight($scope.row.height); - }; - - /** @scratch /panels/2 - * -- - */ - - $scope.init(); - - }); - -}); \ No newline at end of file diff --git a/app/dboards/src/app/controllers/search.js b/app/dboards/src/app/controllers/search.js deleted file mode 100644 index 736c500..0000000 --- a/app/dboards/src/app/controllers/search.js +++ /dev/null @@ -1,196 +0,0 @@ -define([ - 'angular', - 'underscore', - 'config', - 'jquery' -], -function (angular, _, config, $) { - 'use strict'; - - var module = angular.module('kibana.controllers'); - - module.controller('SearchCtrl', function($scope, $rootScope, dashboard, $element, $location) { - - $scope.init = function() { - $scope.giveSearchFocus = 0; - $scope.selectedIndex = -1; - $scope.results = {dashboards: [], tags: [], metrics: []}; - $scope.query = { query: 'title:' }; - $rootScope.$on('open-search', $scope.openSearch); - }; - - $scope.keyDown = function (evt) { - if (evt.keyCode === 27) { - $element.find('.dropdown-toggle').dropdown('toggle'); - } - if (evt.keyCode === 40) { - $scope.selectedIndex++; - } - if (evt.keyCode === 38) { - $scope.selectedIndex--; - } - if (evt.keyCode === 13) { - if ($scope.tagsOnly) { - var tag = $scope.results.tags[$scope.selectedIndex]; - if (tag) { - $scope.filterByTag(tag.term); - } - return; - } - - var selectedDash = $scope.results.dashboards[$scope.selectedIndex]; - if (selectedDash) { - $location.path("/dashboard/elasticsearch/" + encodeURIComponent(selectedDash._id)); - setTimeout(function() { - $('body').click(); // hack to force dropdown to close; - }); - } - } - }; - - $scope.searchDasboards = function(query) { - var request = $scope.ejs.Request().indices(config.grafana_index).types('dashboard'); - var tagsOnly = query.indexOf('tags!:') === 0; - if (tagsOnly) { - var tagsQuery = query.substring(6, query.length); - query = 'tags:' + tagsQuery + '*'; - } - else { - if (query.length === 0) { - query = 'title:'; - } - - if (query[query.length - 1] !== '*') { - query += '*'; - } - } - - return request - .query($scope.ejs.QueryStringQuery(query)) - .sort('_uid') - .facet($scope.ejs.TermsFacet("tags").field("tags").order('term').size(50)) - .size(20).doSearch() - .then(function(results) { - - if(_.isUndefined(results.hits)) { - $scope.results.dashboards = []; - $scope.results.tags = []; - return; - } - - $scope.tagsOnly = tagsOnly; - $scope.results.dashboards = results.hits.hits; - $scope.results.tags = results.facets.tags.terms; - }); - }; - - $scope.filterByTag = function(tag, evt) { - $scope.query.query = "tags:" + tag + " AND title:"; - $scope.search(); - $scope.giveSearchFocus = $scope.giveSearchFocus + 1; - if (evt) { - evt.stopPropagation(); - evt.preventDefault(); - } - }; - - $scope.showTags = function(evt) { - evt.stopPropagation(); - $scope.tagsOnly = !$scope.tagsOnly; - $scope.query.query = $scope.tagsOnly ? "tags!:" : ""; - $scope.giveSearchFocus = $scope.giveSearchFocus + 1; - $scope.selectedIndex = -1; - $scope.search(); - }; - - $scope.search = function() { - $scope.showImport = false; - $scope.selectedIndex = -1; - - var queryStr = $scope.query.query.toLowerCase(); - - if (queryStr.indexOf('m:') !== 0) { - queryStr = queryStr.replace(' and ', ' AND '); - $scope.searchDasboards(queryStr); - return; - } - - queryStr = queryStr.substring(2, queryStr.length); - - var words = queryStr.split(' '); - var query = $scope.ejs.BoolQuery(); - var terms = _.map(words, function(word) { - return $scope.ejs.MatchQuery('metricPath_ng', word).boost(1.2); - }); - - var ngramQuery = $scope.ejs.BoolQuery(); - ngramQuery.must(terms); - - var fieldMatchQuery = $scope.ejs.FieldQuery('metricPath', queryStr + "*").boost(1.2); - query.should([ngramQuery, fieldMatchQuery]); - - var request = $scope.ejs.Request().indices(config.grafana_index).types('metricKey'); - var results = request.query(query).size(20).doSearch(); - - results.then(function(results) { - if (results && results.hits && results.hits.hits.length > 0) { - $scope.results.metrics = { metrics: results.hits.hits }; - } - else { - $scope.results.metrics = { metric: [] }; - } - }); - }; - - $scope.openSearch = function (evt) { - if (evt) { - $element.find('.dropdown-toggle').dropdown('toggle'); - } - - $scope.giveSearchFocus = $scope.giveSearchFocus + 1; - $scope.query.query = 'title:'; - $scope.search(); - }; - - $scope.addMetricToCurrentDashboard = function (metricId) { - dashboard.current.rows.push({ - title: '', - height: '250px', - editable: true, - panels: [ - { - type: 'graphite', - title: 'test', - span: 12, - targets: [{ target: metricId }] - } - ] - }); - }; - - $scope.toggleImport = function ($event) { - $event.stopPropagation(); - $scope.showImport = !$scope.showImport; - }; - - $scope.newDashboard = function() { - $location.url('/dashboard/file/empty.json'); - }; - - }); - - module.directive('xngFocus', function() { - return function(scope, element, attrs) { - $(element).click(function(e) { - e.stopPropagation(); - }); - - scope.$watch(attrs.xngFocus,function (newValue) { - setTimeout(function() { - newValue && element.focus(); - }, 200); - },true); - }; - }); - -}); \ No newline at end of file diff --git a/app/dboards/src/app/controllers/submenuCtrl.js b/app/dboards/src/app/controllers/submenuCtrl.js deleted file mode 100644 index 6781ef6..0000000 --- a/app/dboards/src/app/controllers/submenuCtrl.js +++ /dev/null @@ -1,27 +0,0 @@ -define([ - 'angular', - 'app', - 'underscore' -], -function (angular, app, _) { - 'use strict'; - - var module = angular.module('kibana.controllers'); - - module.controller('SubmenuCtrl', function($scope) { - var _d = { - enable: true - }; - - _.defaults($scope.pulldown,_d); - - $scope.init = function() { - $scope.panel = $scope.pulldown; - $scope.row = $scope.pulldown; - }; - - $scope.init(); - - }); - -}); \ No newline at end of file diff --git a/app/dboards/src/app/dashboards/default.json b/app/dboards/src/app/dashboards/default.json deleted file mode 100644 index bf3450f..0000000 --- a/app/dboards/src/app/dashboards/default.json +++ /dev/null @@ -1,153 +0,0 @@ -{ - "title": "Welcome to Grafana!", - "services": { - "filter": { - "list": [], - "time": { - "from": "now-6h", - "to": "now" - } - } - }, - "rows": [ - { - "title": "Welcome to Grafana", - "height": "150px", - "editable": true, - "collapse": false, - "collapsable": true, - "panels": [ - { - "error": false, - "span": 12, - "editable": true, - "type": "text", - "loadingEditor": false, - "mode": "markdown", - "content": "####Thank you for trying out Grafana! \n\nGeneral documentation is found in the readme and in the wiki section of the [Github Project](https://github.com/torkelo/grafana). If you encounter any problem or have an idea for an improvement do not hesitate to open a github issue. \n\nTips: \n\n- Ctrl+S saves the current dashboard\n- Ctrl+F Opens the dashboard finder (searches elastic search)\n- Ctrl+H Hide/show row controls \n- Click and drag graph title to move panel (only works when row controls are enabled)\n\nIf you do not see a graph in the panel below the browser cannot access your graphite installation. Please make sure that datasources property in config.js is correctly set and that any urls accessible from your browser.", - "style": {}, - "title": "Welcome to Grafana" - } - ], - "notice": false - }, - { - "title": "test", - "height": "250px", - "editable": true, - "collapse": false, - "collapsable": true, - "panels": [ - { - "span": 12, - "editable": true, - "type": "graph", - "x-axis": true, - "y-axis": true, - "scale": 1, - "y_formats": ["short", "short"], - "grid": { - "max": null, - "min": null - }, - "resolution": 100, - "lines": true, - "fill": 1, - "linewidth": 2, - "points": false, - "pointradius": 5, - "bars": false, - "stack": true, - "spyable": true, - "options": false, - "legend": true, - "interactive": true, - "legend_counts": true, - "timezone": "browser", - "percentage": false, - "zerofill": true, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative" - }, - "targets": [ - { - "target": "randomWalk('random walk')" - }, - { - "target": "randomWalk('random walk2')" - }, - { - "target": "randomWalk('random walk3')" - } - ], - "aliasColors": {}, - "aliasYAxis": {}, - "title": "Graphite test" - } - ], - "notice": false - } - ], - "editable": true, - "failover": false, - "panel_hints": true, - "style": "dark", - "pulldowns": [ - { - "type": "filtering", - "collapse": false, - "notice": false, - "enable": false - } - ], - "nav": [ - { - "type": "timepicker", - "collapse": false, - "notice": false, - "enable": true, - "status": "Stable", - "time_options": [ - "5m", - "15m", - "1h", - "6h", - "12h", - "24h", - "2d", - "7d", - "30d" - ], - "refresh_intervals": [ - "5s", - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ], - "now": true - } - ], - "loader": { - "save_gist": false, - "save_elasticsearch": true, - "save_local": true, - "save_default": true, - "save_temp": true, - "save_temp_ttl_enable": true, - "save_temp_ttl": "30d", - "load_gist": false, - "load_elasticsearch": true, - "load_elasticsearch_size": 20, - "load_local": false, - "hide": false - }, - "refresh": false -} diff --git a/app/dboards/src/app/dashboards/empty.json b/app/dboards/src/app/dashboards/empty.json deleted file mode 100644 index 1cc249c..0000000 --- a/app/dboards/src/app/dashboards/empty.json +++ /dev/null @@ -1,83 +0,0 @@ -{ - "title": "New Dashboard", - "services": { - "filter": { - "list": [], - "time": { - "from": "now-6h", - "to": "now" - } - } - }, - "rows": [ - { - "title": "Row1", - "height": "250px", - "editable": true, - "collapse": false, - "collapsable": true, - "panels": [], - "notice": false - } - ], - "editable": true, - "failover": false, - "panel_hints": true, - "style": "dark", - "pulldowns": [ - { - "type": "filtering", - "collapse": false, - "notice": false, - "enable": false - } - ], - "nav": [ - { - "type": "timepicker", - "collapse": false, - "notice": false, - "enable": true, - "status": "Stable", - "time_options": [ - "5m", - "15m", - "1h", - "6h", - "12h", - "24h", - "2d", - "7d", - "30d" - ], - "refresh_intervals": [ - "5s", - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ], - "now": true - } - ], - "loader": { - "save_gist": false, - "save_elasticsearch": true, - "save_local": true, - "save_default": true, - "save_temp": true, - "save_temp_ttl_enable": true, - "save_temp_ttl": "30d", - "load_gist": false, - "load_elasticsearch": true, - "load_elasticsearch_size": 20, - "load_local": false, - "hide": false - }, - "refresh": false -} \ No newline at end of file diff --git a/app/dboards/src/app/dashboards/scripted.js b/app/dboards/src/app/dashboards/scripted.js deleted file mode 100644 index be797dd..0000000 --- a/app/dboards/src/app/dashboards/scripted.js +++ /dev/null @@ -1,80 +0,0 @@ -/* global _ */ - -/* - * Complex scripted dashboard - * This script generates a dashboard object that Grafana can load. It also takes a number of user - * supplied URL parameters (int ARGS variable) - * - * Return a dashboard object, or a function - * - * For async scripts, return a function, this function must take a single callback function as argument, - * call this callback function with the dashboard object (look at scripted_async.js for an example) - */ - -'use strict'; - -// accessable variables in this scope -var window, document, ARGS, $, jQuery, moment, kbn; - -// Setup some variables -var dashboard, timspan; - -// All url parameters are available via the ARGS object -var ARGS; - -// Set a default timespan if one isn't specified -timspan = '1d'; - -// Intialize a skeleton with nothing but a rows array and service object -dashboard = { - rows : [], - services : {} -}; - -// Set a title -dashboard.title = 'Scripted dash'; -dashboard.services.filter = { - time: { - from: "now-" + (ARGS.from || timspan), - to: "now" - } -}; - -var rows = 1; -var seriesName = 'argName'; - -if(!_.isUndefined(ARGS.rows)) { - rows = parseInt(ARGS.rows, 10); -} - -if(!_.isUndefined(ARGS.name)) { - seriesName = ARGS.name; -} - -for (var i = 0; i < rows; i++) { - - dashboard.rows.push({ - title: 'Chart', - height: '300px', - panels: [ - { - title: 'Events', - type: 'graphite', - span: 12, - fill: 1, - linewidth: 2, - targets: [ - { - 'target': "randomWalk('" + seriesName + "')" - }, - { - 'target': "randomWalk('random walk2')" - } - ], - } - ] - }); -} - - -return dashboard; \ No newline at end of file diff --git a/app/dboards/src/app/dashboards/scripted_async.js b/app/dboards/src/app/dashboards/scripted_async.js deleted file mode 100644 index 84e5d97..0000000 --- a/app/dboards/src/app/dashboards/scripted_async.js +++ /dev/null @@ -1,81 +0,0 @@ -/* global _ */ - -/* - * Complex scripted dashboard - * This script generates a dashboard object that Grafana can load. It also takes a number of user - * supplied URL parameters (int ARGS variable) - * - * Global accessable variables - * window, document, $, jQuery, ARGS, moment - * - * Return a dashboard object, or a function - * - * For async scripts, return a function, this function must take a single callback function, - * call this function with the dasboard object - */ - -'use strict'; - -// accessable variables in this scope -var window, document, ARGS, $, jQuery, moment, kbn; - -return function(callback) { - - // Setup some variables - var dashboard, timspan; - - // Set a default timespan if one isn't specified - timspan = '1d'; - - // Intialize a skeleton with nothing but a rows array and service object - dashboard = { - rows : [], - services : {} - }; - - // Set a title - dashboard.title = 'Scripted dash'; - dashboard.services.filter = { - time: { - from: "now-" + (ARGS.from || timspan), - to: "now" - } - }; - - var rows = 1; - var seriesName = 'argName'; - - if(!_.isUndefined(ARGS.rows)) { - rows = parseInt(ARGS.rows, 10); - } - - if(!_.isUndefined(ARGS.name)) { - seriesName = ARGS.name; - } - - $.ajax({ - method: 'GET', - url: '/' - }) - .done(function(result) { - - dashboard.rows.push({ - title: 'Chart', - height: '300px', - panels: [ - { - title: 'Async dashboard test', - type: 'text', - span: 12, - fill: 1, - content: '# Async test' - } - ] - }); - - // when dashboard is composed call the callback - // function and pass the dashboard - callback(dashboard); - - }); -} \ No newline at end of file diff --git a/app/dboards/src/app/directives/addGraphiteFunc.js b/app/dboards/src/app/directives/addGraphiteFunc.js deleted file mode 100644 index e137a77..0000000 --- a/app/dboards/src/app/directives/addGraphiteFunc.js +++ /dev/null @@ -1,100 +0,0 @@ -define([ - 'angular', - 'app', - 'underscore', - 'jquery', - '../services/graphite/gfunc', -], -function (angular, app, _, $, gfunc) { - 'use strict'; - - angular - .module('kibana.directives') - .directive('graphiteAddFunc', function($compile) { - var inputTemplate = ''; - - var buttonTemplate = ''; - - return { - link: function($scope, elem) { - var categories = gfunc.getCategories(); - var allFunctions = getAllFunctionNames(categories); - - $scope.functionMenu = createFunctionDropDownMenu(categories); - - var $input = $(inputTemplate); - var $button = $(buttonTemplate); - $input.appendTo(elem); - $button.appendTo(elem); - - $input.attr('data-provide', 'typeahead'); - $input.typeahead({ - source: allFunctions, - minLength: 1, - items: 10, - updater: function (value) { - var funcDef = gfunc.getFuncDef(value); - - $scope.$apply(function() { - $scope.addFunction(funcDef); - }); - - $input.trigger('blur'); - return ''; - } - }); - - $button.click(function() { - $button.hide(); - $input.show(); - $input.focus(); - }); - - $input.keyup(function() { - elem.toggleClass('open', $input.val() === ''); - }); - - $input.blur(function() { - $input.hide(); - $input.val(''); - $button.show(); - $button.focus(); - // clicking the function dropdown menu wont - // work if you remove class at once - setTimeout(function() { - elem.removeClass('open'); - }, 200); - }); - - $compile(elem.contents())($scope); - } - }; - }); - - function getAllFunctionNames(categories) { - return _.reduce(categories, function(list, category) { - _.each(category, function(func) { - list.push(func.name); - }); - return list; - }, []); - } - - function createFunctionDropDownMenu(categories) { - return _.map(categories, function(list, category) { - return { - text: category, - submenu: _.map(list, function(value) { - return { - text: value.name, - click: "addFunction('" + value.name + "')", - }; - }) - }; - }); - } -}); \ No newline at end of file diff --git a/app/dboards/src/app/directives/addPanel.js b/app/dboards/src/app/directives/addPanel.js deleted file mode 100644 index 4d7dee7..0000000 --- a/app/dboards/src/app/directives/addPanel.js +++ /dev/null @@ -1,35 +0,0 @@ -define([ - 'angular', - 'app', - 'underscore' -], -function (angular, app, _) { - 'use strict'; - - angular - .module('kibana.directives') - .directive('addPanel', function($compile) { - return { - restrict: 'A', - link: function($scope, elem) { - - $scope.$on("$destroy",function() { - elem.remove(); - }); - - $scope.$watch('panel.type', function() { - var _type = $scope.panel.type; - $scope.reset_panel(_type); - if(!_.isUndefined($scope.panel.type)) { - $scope.panel.loadingEditor = true; - $scope.require(['panels/'+$scope.panel.type.replace(".","/") +'/module'], function () { - var template = '
    '; - elem.html($compile(angular.element(template))($scope)); - $scope.panel.loadingEditor = false; - }); - } - }); - } - }; - }); -}); \ No newline at end of file diff --git a/app/dboards/src/app/directives/all.js b/app/dboards/src/app/directives/all.js deleted file mode 100644 index 8688c5d..0000000 --- a/app/dboards/src/app/directives/all.js +++ /dev/null @@ -1,20 +0,0 @@ -define([ - './addPanel', - './arrayJoin', - './dashUpload', - './kibanaPanel', - './kibanaSimplePanel', - './ngBlur', - './ngModelOnBlur', - './tip', - './confirmClick', - './configModal', - './spectrumPicker', - './grafanaGraph', - './bootstrap-tagsinput', - './bodyClass', - './addGraphiteFunc', - './graphiteFuncEditor', - './grafanaVersionCheck', - './influxdbFuncEditor' -], function () {}); \ No newline at end of file diff --git a/app/dboards/src/app/directives/arrayJoin.js b/app/dboards/src/app/directives/arrayJoin.js deleted file mode 100644 index db85fe3..0000000 --- a/app/dboards/src/app/directives/arrayJoin.js +++ /dev/null @@ -1,34 +0,0 @@ -define([ - 'angular', - 'app', - 'underscore' -], -function (angular, app, _) { - 'use strict'; - - angular - .module('kibana.directives') - .directive('arrayJoin', function() { - return { - restrict: 'A', - require: 'ngModel', - link: function(scope, element, attr, ngModel) { - - function split_array(text) { - return (text || '').split(','); - } - - function join_array(text) { - if(_.isArray(text)) { - return (text || '').join(','); - } else { - return text; - } - } - - ngModel.$parsers.push(split_array); - ngModel.$formatters.push(join_array); - } - }; - }); -}); diff --git a/app/dboards/src/app/directives/bodyClass.js b/app/dboards/src/app/directives/bodyClass.js deleted file mode 100644 index 6cd9bab..0000000 --- a/app/dboards/src/app/directives/bodyClass.js +++ /dev/null @@ -1,44 +0,0 @@ -define([ - 'angular', - 'app', - 'underscore' -], -function (angular, app, _) { - 'use strict'; - - angular - .module('kibana.directives') - .directive('bodyClass', function() { - return { - link: function($scope, elem) { - - var lastPulldownVal; - var lastHideControlsVal; - - $scope.$watch('dashboard.current.pulldowns', function() { - var panel = _.find($scope.dashboard.current.pulldowns, function(pulldown) { return pulldown.enable; }); - var panelEnabled = panel ? panel.enable : false; - if (lastPulldownVal !== panelEnabled) { - elem.toggleClass('submenu-controls-visible', panelEnabled); - lastPulldownVal = panelEnabled; - } - }, true); - - $scope.$watch('dashboard.current.hideControls', function() { - var hideControls = $scope.dashboard.current.hideControls || $scope.playlist_active; - - if (lastHideControlsVal !== hideControls) { - elem.toggleClass('hide-controls', hideControls); - lastHideControlsVal = hideControls; - } - }); - - $scope.$watch('playlist_active', function() { - elem.toggleClass('hide-controls', $scope.playlist_active === true); - elem.toggleClass('playlist-active', $scope.playlist_active === true); - }); - } - }; - }); - -}); \ No newline at end of file diff --git a/app/dboards/src/app/directives/bootstrap-tagsinput.js b/app/dboards/src/app/directives/bootstrap-tagsinput.js deleted file mode 100644 index 95dc78a..0000000 --- a/app/dboards/src/app/directives/bootstrap-tagsinput.js +++ /dev/null @@ -1,134 +0,0 @@ -define([ - 'angular', - 'jquery', - 'bootstrap-tagsinput' -], -function (angular, $) { - 'use strict'; - - angular - .module('kibana.directives') - .directive('bootstrapTagsinput', function() { - - function getItemProperty(scope, property) { - if (!property) { - return undefined; - } - - if (angular.isFunction(scope.$parent[property])) { - return scope.$parent[property]; - } - - return function(item) { - return item[property]; - }; - } - - return { - restrict: 'EA', - scope: { - model: '=ngModel' - }, - template: '', - replace: false, - link: function(scope, element, attrs) { - - if (!angular.isArray(scope.model)) { - scope.model = []; - } - - var select = $('select', element); - - if (attrs.placeholder) { - select.attr('placeholder', attrs.placeholder); - } - - select.tagsinput({ - typeahead : { - source : angular.isFunction(scope.$parent[attrs.typeaheadSource]) ? scope.$parent[attrs.typeaheadSource] : null - }, - itemValue: getItemProperty(scope, attrs.itemvalue), - itemText : getItemProperty(scope, attrs.itemtext), - tagClass : angular.isFunction(scope.$parent[attrs.tagclass]) ? - scope.$parent[attrs.tagclass] : function() { return attrs.tagclass; } - }); - - select.on('itemAdded', function(event) { - if (scope.model.indexOf(event.item) === -1) { - scope.model.push(event.item); - } - }); - - select.on('itemRemoved', function(event) { - var idx = scope.model.indexOf(event.item); - if (idx !== -1) { - scope.model.splice(idx, 1); - } - }); - - scope.$watch("model", function() { - if (!angular.isArray(scope.model)) { - scope.model = []; - } - - select.tagsinput('removeAll'); - - for (var i = 0; i < scope.model.length; i++) { - select.tagsinput('add', scope.model[i]); - } - - }, true); - - } - }; - }); - - angular - .module('kibana.directives') - .directive('gfDropdown', function ($parse, $compile, $timeout) { - - function buildTemplate(items, placement) { - var upclass = placement === 'top' ? 'dropup' : ''; - var ul = [ - '' - ]; - - angular.forEach(items, function (item, index) { - if (item.divider) { - return ul.splice(index + 1, 0, '
  • '); - } - - var li = '' + - '' + (item.text || '') + ''; - - if (item.submenu && item.submenu.length) { - li += buildTemplate(item.submenu).join('\n'); - } - - li += ''; - ul.splice(index + 1, 0, li); - }); - return ul; - } - - return { - restrict: 'EA', - scope: true, - link: function postLink(scope, iElement, iAttrs) { - var getter = $parse(iAttrs.gfDropdown), items = getter(scope); - $timeout(function () { - var placement = iElement.data('placement'); - var dropdown = angular.element(buildTemplate(items, placement).join('')); - dropdown.insertAfter(iElement); - $compile(iElement.next('ul.dropdown-menu'))(scope); - }); - - iElement.addClass('dropdown-toggle').attr('data-toggle', 'dropdown'); - } - }; - }); -}); \ No newline at end of file diff --git a/app/dboards/src/app/directives/configModal.js b/app/dboards/src/app/directives/configModal.js deleted file mode 100644 index 4528a0b..0000000 --- a/app/dboards/src/app/directives/configModal.js +++ /dev/null @@ -1,48 +0,0 @@ -define([ - 'angular', - 'underscore', - 'jquery' -], -function (angular, _, $) { - 'use strict'; - - angular - .module('kibana.directives') - .directive('configModal', function($modal, $q, $timeout) { - return { - restrict: 'A', - link: function(scope, elem, attrs) { - var partial = attrs.configModal; - var id = '#' + partial.replace('.html', '').replace(/[\/|\.|:]/g, '-') + '-' + scope.$id; - - elem.bind('click',function() { - if ($(id).length) { - elem.attr('data-target', id).attr('data-toggle', 'modal'); - scope.$apply(function() { scope.$broadcast('modal-opened'); }); - return; - } - - var panelModal = $modal({ - template: partial, - persist: true, - show: false, - scope: scope, - keyboard: false - }); - - $q.when(panelModal).then(function(modalEl) { - elem.attr('data-target', id).attr('data-toggle', 'modal'); - - $timeout(function () { - if (!modalEl.data('modal').isShown) { - modalEl.modal('show'); - } - }, 50); - }); - - scope.$apply(); - }); - } - }; - }); -}); \ No newline at end of file diff --git a/app/dboards/src/app/directives/confirmClick.js b/app/dboards/src/app/directives/confirmClick.js deleted file mode 100644 index 16410c3..0000000 --- a/app/dboards/src/app/directives/confirmClick.js +++ /dev/null @@ -1,26 +0,0 @@ -define([ - 'angular', - 'kbn' -], -function (angular) { - 'use strict'; - - var module = angular.module('kibana.directives'); - - module.directive('confirmClick', function() { - return { - restrict: 'A', - link: function(scope, elem, attrs) { - elem.bind('click', function() { - var message = attrs.confirmation || "Are you sure you want to do that?"; - if (window.confirm(message)) { - var action = attrs.confirmClick; - if (action) { - scope.$apply(scope.$eval(action)); - } - } - }); - }, - }; - }); -}); \ No newline at end of file diff --git a/app/dboards/src/app/directives/dashUpload.js b/app/dboards/src/app/directives/dashUpload.js deleted file mode 100644 index c6b4239..0000000 --- a/app/dboards/src/app/directives/dashUpload.js +++ /dev/null @@ -1,37 +0,0 @@ -define([ - 'angular' -], -function (angular) { - 'use strict'; - - var module = angular.module('kibana.directives'); - - module.directive('dashUpload', function(timer, dashboard, alertSrv) { - return { - restrict: 'A', - link: function(scope) { - function file_selected(evt) { - var files = evt.target.files; // FileList object - var readerOnload = function() { - return function(e) { - dashboard.dash_load(JSON.parse(e.target.result)); - scope.$apply(); - }; - }; - for (var i = 0, f; f = files[i]; i++) { - var reader = new FileReader(); - reader.onload = (readerOnload)(f); - reader.readAsText(f); - } - } - // Check for the various File API support. - if (window.File && window.FileReader && window.FileList && window.Blob) { - // Something - document.getElementById('dashupload').addEventListener('change', file_selected, false); - } else { - alertSrv.set('Oops','Sorry, the HTML5 File APIs are not fully supported in this browser.','error'); - } - } - }; - }); -}); \ No newline at end of file diff --git a/app/dboards/src/app/directives/grafanaGraph.js b/app/dboards/src/app/directives/grafanaGraph.js deleted file mode 100755 index e7dec1a..0000000 --- a/app/dboards/src/app/directives/grafanaGraph.js +++ /dev/null @@ -1,404 +0,0 @@ -define([ - 'angular', - 'jquery', - 'kbn', - 'moment', - 'underscore' -], -function (angular, $, kbn, moment, _) { - 'use strict'; - - var module = angular.module('kibana.directives'); - - module.directive('grafanaGraph', function($rootScope, dashboard) { - return { - restrict: 'A', - template: '
    ', - link: function(scope, elem) { - var data, plot, annotations; - var hiddenData = {}; - - scope.$on('refresh',function() { - if (scope.otherPanelInFullscreenMode()) { return; } - scope.get_data(); - }); - - scope.$on('toggleLegend', function(e, series) { - _.each(series, function(serie) { - if (hiddenData[serie.alias]) { - data.push(hiddenData[serie.alias]); - delete hiddenData[serie.alias]; - } - }); - - render_panel(); - }); - - // Receive render events - scope.$on('render',function(event, renderData) { - data = renderData || data; - annotations = data.annotations; - render_panel(); - }); - - // Re-render if the window is resized - angular.element(window).bind('resize', function() { - render_panel(); - }); - - function setElementHeight() { - try { - var height = scope.height || scope.panel.height || scope.row.height; - if (_.isString(height)) { - height = parseInt(height.replace('px', ''), 10); - } - - height = height - 32; // subtract panel title bar - - if (scope.panel.legend.show) { - height = height - 21; // subtract one line legend - } - - elem.css('height', height + 'px'); - - return true; - } catch(e) { // IE throws errors sometimes - return false; - } - } - - function shouldAbortRender() { - if (!data) { - return true; - } - - if ($rootScope.fullscreen && !scope.fullscreen) { - return true; - } - - if (!setElementHeight()) { return true; } - - if (_.isString(data)) { - render_panel_as_graphite_png(data); - return true; - } - } - - // Function for rendering panel - function render_panel() { - if (shouldAbortRender()) { - return; - } - - var panel = scope.panel; - - _.each(_.keys(scope.hiddenSeries), function(seriesAlias) { - var dataSeries = _.find(data, function(series) { - return series.info.alias === seriesAlias; - }); - if (dataSeries) { - hiddenData[dataSeries.info.alias] = dataSeries; - data = _.without(data, dataSeries); - } - }); - - var stack = panel.stack ? true : null; - - // Populate element - var options = { - legend: { show: false }, - series: { - stackpercent: panel.stack ? panel.percentage : false, - stack: panel.percentage ? null : stack, - lines: { - show: panel.lines, - zero: false, - fill: panel.fill === 0 ? 0.001 : panel.fill/10, - lineWidth: panel.linewidth, - steps: panel.steppedLine - }, - bars: { - show: panel.bars, - fill: 1, - barWidth: 1, - zero: false, - lineWidth: 0 - }, - points: { - show: panel.points, - fill: 1, - fillColor: false, - radius: panel.pointradius - }, - shadowSize: 1 - }, - yaxes: [], - xaxis: {}, - grid: { - markings: [], - backgroundColor: null, - borderWidth: 0, - hoverable: true, - color: '#c8c8c8' - }, - selection: { - mode: "x", - color: '#666' - } - }; - - for (var i = 0; i < data.length; i++) { - var _d = data[i].getFlotPairs(panel.nullPointMode, panel.y_formats); - data[i].data = _d; - } - - if (panel.bars && data.length && data[0].info.timeStep) { - options.series.bars.barWidth = data[0].info.timeStep / 1.5; - } - - addTimeAxis(options); - addGridThresholds(options, panel); - addAnnotations(options); - configureAxisOptions(data, options); - - plot = $.plot(elem, data, options); - - addAxisLabels(); - } - - function addTimeAxis(options) { - var ticks = elem.width() / 100; - var min = _.isUndefined(scope.range.from) ? null : scope.range.from.getTime(); - var max = _.isUndefined(scope.range.to) ? null : scope.range.to.getTime(); - - options.xaxis = { - timezone: dashboard.current.timezone, - show: scope.panel['x-axis'], - mode: "time", - min: min, - max: max, - label: "Datetime", - ticks: ticks, - timeformat: time_format(scope.interval, ticks, min, max), - }; - } - - function addGridThresholds(options, panel) { - if (panel.grid.threshold1) { - var limit1 = panel.grid.thresholdLine ? panel.grid.threshold1 : (panel.grid.threshold2 || null); - options.grid.markings.push({ - yaxis: { from: panel.grid.threshold1, to: limit1 }, - color: panel.grid.threshold1Color - }); - - if (panel.grid.threshold2) { - var limit2; - if (panel.grid.thresholdLine) { - limit2 = panel.grid.threshold2; - } else { - limit2 = panel.grid.threshold1 > panel.grid.threshold2 ? -Infinity : +Infinity; - } - options.grid.markings.push({ - yaxis: { from: panel.grid.threshold2, to: limit2 }, - color: panel.grid.threshold2Color - }); - } - } - } - - function addAnnotations(options) { - if(!annotations || annotations.length === 0) { - return; - } - - var types = {}; - - _.each(annotations, function(event) { - if (!types[event.annotation.name]) { - types[event.annotation.name] = { - level: _.keys(types).length + 1, - icon: { - icon: "icon-chevron-down", - size: event.annotation.iconSize, - color: event.annotation.iconColor, - } - }; - } - - if (event.annotation.showLine) { - options.grid.markings.push({ - color: event.annotation.lineColor, - lineWidth: 1, - xaxis: { from: event.min, to: event.max } - }); - } - }); - - options.events = { - levels: _.keys(types).length + 1, - data: annotations, - types: types - }; - } - - function addAxisLabels() { - if (scope.panel.leftYAxisLabel) { - elem.css('margin-left', '10px'); - var yaxisLabel = $("
    ") - .text(scope.panel.leftYAxisLabel) - .appendTo(elem); - - yaxisLabel.css("margin-top", yaxisLabel.width() / 2 - 20); - } else if (elem.css('margin-left')) { - elem.css('margin-left', ''); - } - } - - function configureAxisOptions(data, options) { - var defaults = { - position: 'left', - show: scope.panel['y-axis'], - min: scope.panel.grid.leftMin, - max: scope.panel.percentage && scope.panel.stack ? 100 : scope.panel.grid.leftMax, - }; - - options.yaxes.push(defaults); - - if (_.findWhere(data, {yaxis: 2})) { - var secondY = _.clone(defaults); - secondY.position = 'right'; - secondY.min = scope.panel.grid.rightMin; - secondY.max = scope.panel.percentage && scope.panel.stack ? 100 : scope.panel.grid.rightMax; - options.yaxes.push(secondY); - configureAxisMode(options.yaxes[1], scope.panel.y_formats[1]); - } - - configureAxisMode(options.yaxes[0], scope.panel.y_formats[0]); - } - - function configureAxisMode(axis, format) { - if (format !== 'none') { - axis.tickFormatter = kbn.getFormatFunction(format, 1); - } - } - - function time_format(interval, ticks, min, max) { - if (min && max && ticks) { - var secPerTick = ((max - min) / ticks) / 1000; - - if (secPerTick <= 45) { - return "%H:%M:%S"; - } - if (secPerTick <= 3600) { - return "%H:%M"; - } - if (secPerTick <= 80000) { - return "%m/%d %H:%M"; - } - if (secPerTick <= 2419200) { - return "%m/%d"; - } - return "%Y-%m"; - } - - return "%H:%M"; - } - - var $tooltip = $('
    '); - - elem.bind("plothover", function (event, pos, item) { - var group, value, timestamp, seriesInfo, format; - - if (item) { - seriesInfo = item.series.info; - format = scope.panel.y_formats[seriesInfo.yaxis - 1]; - - if (seriesInfo.alias) { - group = '' + - '' + ' ' + - (decodeURIComponent(seriesInfo.alias)) + - '
    '; - } else { - group = kbn.query_color_dot(item.series.color, 15) + ' '; - } - - if (scope.panel.stack && scope.panel.tooltip.value_type === 'individual') { - value = item.datapoint[1] - item.datapoint[2]; - } - else { - value = item.datapoint[1]; - } - - value = kbn.getFormatFunction(format, 2)(value); - - timestamp = dashboard.current.timezone === 'browser' ? - moment(item.datapoint[0]).format('YYYY-MM-DD HH:mm:ss') : - moment.utc(item.datapoint[0]).format('YYYY-MM-DD HH:mm:ss'); - $tooltip - .html( - group + value + " @ " + timestamp - ) - .place_tt(pos.pageX, pos.pageY); - } else { - $tooltip.detach(); - } - }); - - function render_panel_as_graphite_png(url) { - url += '&width=' + elem.width(); - url += '&height=' + elem.css('height').replace('px', ''); - url += '&bgcolor=1f1f1f'; // @grayDarker & @kibanaPanelBackground - url += '&fgcolor=BBBFC2'; // @textColor & @grayLighter - url += scope.panel.stack ? '&areaMode=stacked' : ''; - url += scope.panel.fill !== 0 ? ('&areaAlpha=' + (scope.panel.fill/10).toFixed(1)) : ''; - url += scope.panel.linewidth !== 0 ? '&lineWidth=' + scope.panel.linewidth : ''; - url += scope.panel.legend.show ? '&hideLegend=false' : '&hideLegend=true'; - url += scope.panel.grid.min !== null ? '&yMin=' + scope.panel.grid.min : ''; - url += scope.panel.grid.max !== null ? '&yMax=' + scope.panel.grid.max : ''; - url += scope.panel['x-axis'] ? '' : '&hideAxes=true'; - url += scope.panel['y-axis'] ? '' : '&hideYAxis=true'; - - switch(scope.panel.y_formats[0]) { - case 'bytes': - url += '&yUnitSystem=binary'; - break; - case 'bits': - url += '&yUnitSystem=binary'; - break; - case 'short': - url += '&yUnitSystem=si'; - break; - case 'none': - url += '&yUnitSystem=none'; - break; - } - - switch(scope.panel.nullPointMode) { - case 'connected': - url += '&lineMode=connected'; - break; - case 'null': - break; // graphite default lineMode - case 'null as zero': - url += "&drawNullAsZero=true"; - break; - } - - url += scope.panel.steppedLine ? '&lineMode=staircase' : ''; - - elem.html(''); - } - - elem.bind("plotselected", function (event, ranges) { - scope.$apply(function() { - scope.filter.setTime({ - from : moment.utc(ranges.xaxis.from).toDate(), - to : moment.utc(ranges.xaxis.to).toDate(), - }); - }); - }); - } - }; - }); - -}); diff --git a/app/dboards/src/app/directives/grafanaVersionCheck.js b/app/dboards/src/app/directives/grafanaVersionCheck.js deleted file mode 100644 index 0981b68..0000000 --- a/app/dboards/src/app/directives/grafanaVersionCheck.js +++ /dev/null @@ -1,33 +0,0 @@ -define([ - 'angular' -], -function (angular) { - 'use strict'; - - angular - .module('kibana.directives') - .directive('grafanaVersionCheck', function($http, grafanaVersion) { - return { - restrict: 'A', - link: function(scope, elem) { - if (grafanaVersion[0] === '@') { - return; - } - - $http({ method: 'GET', url: 'http://grafanarel.s3.amazonaws.com/latest.json' }) - .then(function(response) { - if (!response.data || !response.data.version) { - return; - } - - if (grafanaVersion !== response.data.version) { - elem.append(' ' + - ' ' + - 'New version available: ' + response.data.version + - ''); - } - }); - } - }; - }); -}); \ No newline at end of file diff --git a/app/dboards/src/app/directives/graphiteFuncEditor.js b/app/dboards/src/app/directives/graphiteFuncEditor.js deleted file mode 100644 index b2a3f45..0000000 --- a/app/dboards/src/app/directives/graphiteFuncEditor.js +++ /dev/null @@ -1,242 +0,0 @@ -define([ - 'angular', - 'underscore', - 'jquery', -], -function (angular, _, $) { - 'use strict'; - - angular - .module('kibana.directives') - .directive('graphiteFuncEditor', function($compile) { - - var funcSpanTemplate = '{{func.def.name}}('; - var paramTemplate = ''; - - var funcControlsTemplate = - '
    ' + - '' + - '' + - '' + - '' + - '
    '; - - return { - restrict: 'A', - link: function postLink($scope, elem) { - var $funcLink = $(funcSpanTemplate); - var $funcControls = $(funcControlsTemplate); - var func = $scope.func; - var funcDef = func.def; - var scheduledRelink = false; - var paramCountAtLink = 0; - - function clickFuncParam(paramIndex) { - /*jshint validthis:true */ - - var $link = $(this); - var $input = $link.next(); - - $input.val(func.params[paramIndex]); - $input.css('width', ($link.width() + 16) + 'px'); - - $link.hide(); - $input.show(); - $input.focus(); - $input.select(); - - var typeahead = $input.data('typeahead'); - if (typeahead) { - $input.val(''); - typeahead.lookup(); - } - } - - function scheduledRelinkIfNeeded() { - if (paramCountAtLink === func.params.length) { - return; - } - - if (!scheduledRelink) { - scheduledRelink = true; - setTimeout(function() { - relink(); - scheduledRelink = false; - }, 200); - } - } - - function inputBlur(paramIndex) { - /*jshint validthis:true */ - - var $input = $(this); - var $link = $input.prev(); - - if ($input.val() !== '' || func.def.params[paramIndex].optional) { - $link.text($input.val()); - - func.updateParam($input.val(), paramIndex); - scheduledRelinkIfNeeded(); - - $scope.$apply($scope.targetChanged); - } - - $input.hide(); - $link.show(); - } - - function inputKeyPress(paramIndex, e) { - /*jshint validthis:true */ - - if(e.which === 13) { - inputBlur.call(this, paramIndex); - } - } - - function inputKeyDown() { - /*jshint validthis:true */ - this.style.width = (3 + this.value.length) * 8 + 'px'; - } - - function addTypeahead($input, paramIndex) { - $input.attr('data-provide', 'typeahead'); - - var options = funcDef.params[paramIndex].options; - if (funcDef.params[paramIndex].type === 'int') { - options = _.map(options, function(val) { return val.toString(); }); - } - - $input.typeahead({ - source: options, - minLength: 0, - items: 20, - updater: function (value) { - setTimeout(function() { - inputBlur.call($input[0], paramIndex); - }, 0); - return value; - } - }); - - var typeahead = $input.data('typeahead'); - typeahead.lookup = function () { - this.query = this.$element.val() || ''; - return this.process(this.source); - }; - } - - function toggleFuncControls() { - var targetDiv = elem.closest('.grafana-target-inner'); - - if (elem.hasClass('show-function-controls')) { - elem.removeClass('show-function-controls'); - targetDiv.removeClass('has-open-function'); - $funcControls.hide(); - return; - } - - elem.addClass('show-function-controls'); - targetDiv.addClass('has-open-function'); - - $funcControls.show(); - } - - function addElementsAndCompile() { - $funcControls.appendTo(elem); - $funcLink.appendTo(elem); - - _.each(funcDef.params, function(param, index) { - if (param.optional && !func.params[index]) { - return; - } - - if (index > 0) { - $(', ').appendTo(elem); - } - - var $paramLink = $('' + func.params[index] + ''); - var $input = $(paramTemplate); - - paramCountAtLink++; - - $paramLink.appendTo(elem); - $input.appendTo(elem); - - $input.blur(_.partial(inputBlur, index)); - $input.keyup(inputKeyDown); - $input.keypress(_.partial(inputKeyPress, index)); - $paramLink.click(_.partial(clickFuncParam, index)); - - if (funcDef.params[index].options) { - addTypeahead($input, index); - } - - }); - - $(')').appendTo(elem); - - $compile(elem.contents())($scope); - } - - function ifJustAddedFocusFistParam() { - if ($scope.func.added) { - $scope.func.added = false; - setTimeout(function() { - elem.find('.graphite-func-param-link').first().click(); - }, 10); - } - } - - function registerFuncControlsToggle() { - $funcLink.click(toggleFuncControls); - } - - function registerFuncControlsActions() { - $funcControls.click(function(e) { - var $target = $(e.target); - if ($target.hasClass('icon-remove')) { - toggleFuncControls(); - $scope.$apply(function() { - $scope.removeFunction($scope.func); - }); - return; - } - - if ($target.hasClass('icon-arrow-left')) { - $scope.$apply(function() { - _.move($scope.functions, $scope.$index, $scope.$index - 1); - }); - return; - } - - if ($target.hasClass('icon-arrow-right')) { - $scope.$apply(function() { - _.move($scope.functions, $scope.$index, $scope.$index + 1); - }); - return; - } - - if ($target.hasClass('icon-info-sign')) { - window.open("http://graphite.readthedocs.org/en/latest/functions.html#graphite.render.functions." + funcDef.name,'_blank'); - return; - } - }); - } - - function relink() { - elem.children().remove(); - - addElementsAndCompile(); - ifJustAddedFocusFistParam(); - registerFuncControlsToggle(); - registerFuncControlsActions(); - } - - relink(); - } - }; - - }); - -}); \ No newline at end of file diff --git a/app/dboards/src/app/directives/influxdbFuncEditor.js b/app/dboards/src/app/directives/influxdbFuncEditor.js deleted file mode 100644 index 4633ac3..0000000 --- a/app/dboards/src/app/directives/influxdbFuncEditor.js +++ /dev/null @@ -1,136 +0,0 @@ -define([ - 'angular', - 'underscore', - 'jquery', -], -function (angular, _, $) { - 'use strict'; - - angular - .module('kibana.directives') - .directive('influxdbFuncEditor', function($compile) { - - var funcSpanTemplate = '{{target.function}}('; - - var paramTemplate = ''; - - return { - restrict: 'A', - link: function postLink($scope, elem) { - var $funcLink = $(funcSpanTemplate); - - $scope.functionMenu = _.map($scope.functions, function(func) { - return { - text: func, - click: "changeFunction('" + func + "');" - }; - }); - - function clickFuncParam() { - /*jshint validthis:true */ - - var $link = $(this); - var $input = $link.next(); - - $input.val($scope.target.column); - $input.css('width', ($link.width() + 16) + 'px'); - - $link.hide(); - $input.show(); - $input.focus(); - $input.select(); - - var typeahead = $input.data('typeahead'); - if (typeahead) { - $input.val(''); - typeahead.lookup(); - } - } - - function inputBlur() { - /*jshint validthis:true */ - - var $input = $(this); - var $link = $input.prev(); - - if ($input.val() !== '') { - $link.text($input.val()); - - $scope.target.column = $input.val(); - $scope.$apply($scope.get_data); - } - - $input.hide(); - $link.show(); - } - - function inputKeyPress(e) { - /*jshint validthis:true */ - - if(e.which === 13) { - inputBlur.call(this); - } - } - - function inputKeyDown() { - /*jshint validthis:true */ - this.style.width = (3 + this.value.length) * 8 + 'px'; - } - - function addTypeahead($input) { - $input.attr('data-provide', 'typeahead'); - - $input.typeahead({ - source: function () { - return $scope.listColumns.apply(null, arguments); - }, - minLength: 0, - items: 20, - updater: function (value) { - setTimeout(function() { - inputBlur.call($input[0]); - }, 0); - return value; - } - }); - - var typeahead = $input.data('typeahead'); - typeahead.lookup = function () { - var items; - this.query = this.$element.val() || ''; - items = this.source(this.query, $.proxy(this.process, this)); - return items ? this.process(items) : items; - }; - } - - function addElementsAndCompile() { - $funcLink.appendTo(elem); - - var $paramLink = $('' + $scope.target.column + ''); - var $input = $(paramTemplate); - - $paramLink.appendTo(elem); - $input.appendTo(elem); - - $input.blur(inputBlur); - $input.keyup(inputKeyDown); - $input.keypress(inputKeyPress); - $paramLink.click(clickFuncParam); - - addTypeahead($input); - - $(')').appendTo(elem); - - $compile(elem.contents())($scope); - } - - addElementsAndCompile(); - - } - }; - - }); - -}); \ No newline at end of file diff --git a/app/dboards/src/app/directives/kibanaPanel.js b/app/dboards/src/app/directives/kibanaPanel.js deleted file mode 100644 index a58b76d..0000000 --- a/app/dboards/src/app/directives/kibanaPanel.js +++ /dev/null @@ -1,118 +0,0 @@ -define([ - 'angular', - 'jquery', - 'underscore', - '../controllers/panelBaseCtrl' -], -function (angular, $, _, PanelBaseCtrl) { - 'use strict'; - - angular - .module('kibana.directives') - .directive('kibanaPanel', function($compile, $timeout, $rootScope, $injector) { - - var container = '
    '; - var content = '
    '; - - var panelHeader = - '
    '+ - '
    ' + - '
    ' + - '×' + - ' Oops! {{panel.error}} ' + - 'View details' + - '
    ' + - '
    \n' + - - '
    ' + - '
    ' + - - '' + - '' + - '' + - - '' + - '' + - '{{panel.title || "No title"}}' + - '' + - ''+ - - '
    '+ - '
    \n'+ - '
    '; - - return { - restrict: 'E', - link: function($scope, elem, attr) { - // once we have the template, scan it for controllers and - // load the module.js if we have any - var newScope = $scope.$new(); - - $scope.kbnJqUiDraggableOptions = { - revert: 'invalid', - helper: function() { - return $('
    '); - }, - placeholder: 'keep' - }; - - // compile the module and uncloack. We're done - function loadModule($module) { - $module.appendTo(elem); - elem.wrap(container); - /* jshint indent:false */ - $compile(elem.contents())(newScope); - elem.removeClass("ng-cloak"); - } - - newScope.$on('$destroy',function() { - elem.unbind(); - elem.remove(); - }); - - newScope.initBaseController = function(self, scope) { - $injector.invoke(PanelBaseCtrl, self, { $scope: scope }); - }; - - $scope.$watch(attr.type, function (name) { - elem.addClass("ng-cloak"); - // load the panels module file, then render it in the dom. - var nameAsPath = name.replace(".", "/"); - $scope.require([ - 'jquery', - 'text!panels/'+nameAsPath+'/module.html' - ], function ($, moduleTemplate) { - var $module = $(moduleTemplate); - // top level controllers - var $controllers = $module.filter('ngcontroller, [ng-controller], .ng-controller'); - // add child controllers - $controllers = $controllers.add($module.find('ngcontroller, [ng-controller], .ng-controller')); - - if ($controllers.length) { - $controllers.first().prepend(panelHeader); - $controllers.first().find('.panel-header').nextAll().wrapAll(content); - - $scope.require(['panels/' + nameAsPath + '/module'], function() { - loadModule($module); - }); - } else { - loadModule($module); - } - }); - }); - - } - }; - }); - -}); \ No newline at end of file diff --git a/app/dboards/src/app/directives/kibanaSimplePanel.js b/app/dboards/src/app/directives/kibanaSimplePanel.js deleted file mode 100644 index bb6b44c..0000000 --- a/app/dboards/src/app/directives/kibanaSimplePanel.js +++ /dev/null @@ -1,77 +0,0 @@ -define([ - 'angular', - 'underscore' -], -function (angular, _) { - 'use strict'; - - angular - .module('kibana.directives') - .directive('kibanaSimplePanel', function($compile) { - var panelLoading = '' + - ''+ - ' loading ...' + - ''+ - ''; - - return { - restrict: 'E', - link: function($scope, elem, attr) { - - // once we have the template, scan it for controllers and - // load the module.js if we have any - - // compile the module and uncloack. We're done - function loadModule($module) { - $module.appendTo(elem); - /* jshint indent:false */ - $compile(elem.contents())($scope); - elem.removeClass("ng-cloak"); - } - - function loadController(name) { - elem.addClass("ng-cloak"); - // load the panels module file, then render it in the dom. - var nameAsPath = name.replace(".", "/"); - $scope.require([ - 'jquery', - 'text!panels/'+nameAsPath+'/module.html' - ], function ($, moduleTemplate) { - var $module = $(moduleTemplate); - // top level controllers - var $controllers = $module.filter('ngcontroller, [ng-controller], .ng-controller'); - // add child controllers - $controllers = $controllers.add($module.find('ngcontroller, [ng-controller], .ng-controller')); - - if ($controllers.length) { - $controllers.first().prepend(panelLoading); - $scope.require([ - 'panels/'+nameAsPath+'/module' - ], function() { - loadModule($module); - }); - } else { - loadModule($module); - } - }); - } - - $scope.$watch(attr.type, function (name) { - loadController(name); - }); - - if(attr.panel) { - $scope.$watch(attr.panel, function (panel) { - // If the panel attribute is specified, create a new scope. This ruins configuration - // so don't do it with anything that needs to use editor.html - if(!_.isUndefined(panel)) { - $scope = $scope.$new(); - $scope.panel = angular.fromJson(panel); - } - }); - } - } - }; - }); - -}); \ No newline at end of file diff --git a/app/dboards/src/app/directives/ngBlur.js b/app/dboards/src/app/directives/ngBlur.js deleted file mode 100644 index 663d33f..0000000 --- a/app/dboards/src/app/directives/ngBlur.js +++ /dev/null @@ -1,20 +0,0 @@ -define([ - 'angular' -], -function (angular) { - 'use strict'; - - angular - .module('kibana.directives') - .directive('ngBlur', ['$parse', function($parse) { - return function(scope, element, attr) { - var fn = $parse(attr['ngBlur']); - element.bind('blur', function(event) { - scope.$apply(function() { - fn(scope, {$event:event}); - }); - }); - }; - }]); - -}); \ No newline at end of file diff --git a/app/dboards/src/app/directives/ngModelOnBlur.js b/app/dboards/src/app/directives/ngModelOnBlur.js deleted file mode 100644 index 5ea9021..0000000 --- a/app/dboards/src/app/directives/ngModelOnBlur.js +++ /dev/null @@ -1,25 +0,0 @@ -define(['angular'], -function (angular) { - 'use strict'; - - angular - .module('kibana.directives') - .directive('ngModelOnblur', function() { - return { - restrict: 'A', - require: 'ngModel', - link: function(scope, elm, attr, ngModelCtrl) { - if (attr.type === 'radio' || attr.type === 'checkbox') { - return; - } - - elm.unbind('input').unbind('keydown').unbind('change'); - elm.bind('blur', function() { - scope.$apply(function() { - ngModelCtrl.$setViewValue(elm.val()); - }); - }); - } - }; - }); -}); \ No newline at end of file diff --git a/app/dboards/src/app/directives/spectrumPicker.js b/app/dboards/src/app/directives/spectrumPicker.js deleted file mode 100644 index 6415474..0000000 --- a/app/dboards/src/app/directives/spectrumPicker.js +++ /dev/null @@ -1,38 +0,0 @@ -define([ - 'angular', - 'spectrum' -], -function (angular) { - 'use strict'; - - angular - .module('kibana.directives') - .directive('spectrumPicker', function() { - return { - restrict: 'E', - require: 'ngModel', - scope: false, - replace: true, - template: "", - link: function(scope, element, attrs, ngModel) { - var input = element.find('input'); - var options = angular.extend({ - showAlpha: true, - showButtons: false, - color: ngModel.$viewValue, - change: function(color) { - scope.$apply(function() { - ngModel.$setViewValue(color.toRgbString()); - }); - } - }, scope.$eval(attrs.options)); - - ngModel.$render = function() { - input.spectrum('set', ngModel.$viewValue || ''); - }; - - input.spectrum(options); - } - }; - }); -}); \ No newline at end of file diff --git a/app/dboards/src/app/directives/tip.js b/app/dboards/src/app/directives/tip.js deleted file mode 100644 index ab767da..0000000 --- a/app/dboards/src/app/directives/tip.js +++ /dev/null @@ -1,20 +0,0 @@ -define([ - 'angular', - 'kbn' -], -function (angular, kbn) { - 'use strict'; - - angular - .module('kibana.directives') - .directive('tip', function($compile) { - return { - restrict: 'E', - link: function(scope, elem, attrs) { - var _t = ''; - elem.replaceWith($compile(angular.element(_t))(scope)); - } - }; - }); -}); \ No newline at end of file diff --git a/app/dboards/src/app/filters/all.js b/app/dboards/src/app/filters/all.js deleted file mode 100755 index e4ffe70..0000000 --- a/app/dboards/src/app/filters/all.js +++ /dev/null @@ -1,117 +0,0 @@ -define(['angular', 'jquery', 'underscore', 'moment'], function (angular, $, _, moment) { - 'use strict'; - - var module = angular.module('kibana.filters'); - - module.filter('stringSort', function() { - return function(input) { - return input.sort(); - }; - }); - - /* - Filter an array of objects by elasticsearch version requirements - */ - module.filter('esVersion', function(esVersion) { - return function(items, require) { - var ret = _.filter(items,function(qt) { - return esVersion.is(qt[require]) ? true : false; - }); - return ret; - }; - }); - - module.filter('slice', function() { - return function(arr, start, end) { - if(!_.isUndefined(arr)) { - return arr.slice(start, end); - } - }; - }); - - module.filter('stringify', function() { - return function(arr) { - if(_.isObject(arr) && !_.isArray(arr)) { - return angular.toJson(arr); - } else { - return _.isNull(arr) ? null : arr.toString(); - } - }; - }); - - module.filter('moment', function() { - return function(date,mode) { - switch(mode) { - case 'ago': - return moment(date).fromNow(); - } - return moment(date).fromNow(); - }; - }); - - module.filter('noXml', function() { - var noXml = function(text) { - return _.isString(text) - ? text - .replace(/&/g, '&') - .replace(//g, '>') - .replace(/'/g, ''') - .replace(/"/g, '"') - : text; - }; - return function(text) { - return _.isArray(text) - ? _.map(text, noXml) - : noXml(text); - }; - }); - - module.filter('urlLink', function() { - var //URLs starting with http://, https://, or ftp:// - r1 = /(\b(https?|ftp):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/gim, - //URLs starting with "www." (without // before it, or it'd re-link the ones done above). - r2 = /(^|[^\/])(www\.[\S]+(\b|$))/gim, - //Change email addresses to mailto:: links. - r3 = /(\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,6})/gim; - - var urlLink = function(text) { - var t1,t2,t3; - if(!_.isString(text)) { - return text; - } else { - _.each(text.match(r1), function() { - t1 = text.replace(r1, "$1"); - }); - text = t1 || text; - _.each(text.match(r2), function() { - t2 = text.replace(r2, "$1$2"); - }); - text = t2 || text; - _.each(text.match(r3), function() { - t3 = text.replace(r3, "$1"); - }); - text = t3 || text; - return text; - } - }; - return function(text) { - return _.isArray(text) - ? _.map(text, urlLink) - : urlLink(text); - }; - }); - - module.filter('gistid', function() { - var gist_pattern = /(\d{5,})|([a-z0-9]{10,})|(gist.github.com(\/*.*)\/[a-z0-9]{5,}\/*$)/; - return function(input) { - if(!(_.isUndefined(input))) { - var output = input.match(gist_pattern); - if(!_.isNull(output) && !_.isUndefined(output)) { - return output[0].replace(/.*\//, ''); - } - } - }; - }); - -}); \ No newline at end of file diff --git a/app/dboards/src/app/panels/annotations/editor.html b/app/dboards/src/app/panels/annotations/editor.html deleted file mode 100644 index 38435b5..0000000 --- a/app/dboards/src/app/panels/annotations/editor.html +++ /dev/null @@ -1,76 +0,0 @@ - - - \ No newline at end of file diff --git a/app/dboards/src/app/panels/annotations/module.html b/app/dboards/src/app/panels/annotations/module.html deleted file mode 100644 index 0441ed1..0000000 --- a/app/dboards/src/app/panels/annotations/module.html +++ /dev/null @@ -1,12 +0,0 @@ -
    - - - - - -
    \ No newline at end of file diff --git a/app/dboards/src/app/panels/annotations/module.js b/app/dboards/src/app/panels/annotations/module.js deleted file mode 100644 index 389a9b0..0000000 --- a/app/dboards/src/app/panels/annotations/module.js +++ /dev/null @@ -1,67 +0,0 @@ -/* - - ## annotations - -*/ -define([ - 'angular', - 'app', - 'underscore' -], -function (angular, app, _) { - 'use strict'; - - var module = angular.module('kibana.panels.annotations', []); - app.useModule(module); - - module.controller('AnnotationsCtrl', function($scope, dashboard, $rootScope) { - - $scope.panelMeta = { - status : "Stable", - description : "Annotations" - }; - - // Set and populate defaults - var _d = { - annotations: [] - }; - - var annotationDefaults = { - name: '', - type: 'graphite metric', - showLine: true, - iconColor: '#C0C6BE', - lineColor: 'rgba(255, 96, 96, 0.592157)', - iconSize: 13, - enable: true - }; - - _.defaults($scope.panel,_d); - - $scope.init = function() { - $scope.currentAnnnotation = angular.copy(annotationDefaults); - $scope.currentIsNew = true; - }; - - $scope.edit = function(annotation) { - $scope.currentAnnnotation = annotation; - $scope.currentIsNew = false; - }; - - $scope.update = function() { - $scope.currentAnnnotation = angular.copy(annotationDefaults); - $scope.currentIsNew = true; - }; - - $scope.add = function() { - $scope.panel.annotations.push($scope.currentAnnnotation); - $scope.currentAnnnotation = angular.copy(annotationDefaults); - }; - - $scope.hide = function (annotation) { - annotation.enable = !annotation.enable; - $rootScope.$broadcast('refresh'); - }; - - }); -}); \ No newline at end of file diff --git a/app/dboards/src/app/panels/filtering/module.html b/app/dboards/src/app/panels/filtering/module.html deleted file mode 100755 index 96b5751..0000000 --- a/app/dboards/src/app/panels/filtering/module.html +++ /dev/null @@ -1,50 +0,0 @@ -
    - -
    - -
    -
    - - -
    - -
    - -
    - -
    -
      -
    • - name:
      - -
    • -
    • - filter.query:
      - -
    • -
    • - - -
    • -
    -
    - - -
    -
    -
    - -
    -
    diff --git a/app/dboards/src/app/panels/filtering/module.js b/app/dboards/src/app/panels/filtering/module.js deleted file mode 100644 index 46a88fa..0000000 --- a/app/dboards/src/app/panels/filtering/module.js +++ /dev/null @@ -1,104 +0,0 @@ -/* - - ## filtering - -*/ -define([ - 'angular', - 'app', - 'underscore' -], -function (angular, app, _) { - 'use strict'; - - var module = angular.module('kibana.panels.filtering', []); - app.useModule(module); - - module.controller('filtering', function($scope, datasourceSrv, $rootScope, $timeout, $q) { - - $scope.panelMeta = { - status : "Stable", - description : "graphite target filters" - }; - - // Set and populate defaults - var _d = { - }; - _.defaults($scope.panel,_d); - - $scope.init = function() { - // empty. Don't know if I need the function then. - }; - - $scope.remove = function(templateParameter) { - $scope.filter.removeTemplateParameter(templateParameter); - }; - - $scope.filterOptionSelected = function(templateParameter, option, recursive) { - templateParameter.current = option; - - $scope.filter.updateTemplateData(); - - return $scope.applyFilterToOtherFilters(templateParameter) - .then(function() { - // only refresh in the outermost call - if (!recursive) { - $scope.dashboard.refresh(); - } - }); - }; - - $scope.applyFilterToOtherFilters = function(updatedTemplatedParam) { - var promises = _.map($scope.filter.templateParameters, function(templateParam) { - if (templateParam === updatedTemplatedParam) { - return; - } - if (templateParam.query.indexOf(updatedTemplatedParam.name) !== -1) { - return $scope.applyFilter(templateParam); - } - }); - - return $q.all(promises); - }; - - $scope.applyFilter = function(templateParam) { - return datasourceSrv.default.metricFindQuery($scope.filter, templateParam.query) - .then(function (results) { - templateParam.editing = undefined; - templateParam.options = _.map(results, function(node) { - return { text: node.text, value: node.text }; - }); - - if (templateParam.includeAll) { - var allExpr = '{'; - _.each(templateParam.options, function(option) { - allExpr += option.text + ','; - }); - allExpr = allExpr.substring(0, allExpr.length - 1) + '}'; - templateParam.options.unshift({text: 'All', value: allExpr}); - } - - // if parameter has current value - // if it exists in options array keep value - if (templateParam.current) { - var currentExists = _.findWhere(templateParam.options, { value: templateParam.current.value }); - if (currentExists) { - return $scope.filterOptionSelected(templateParam, templateParam.current, true); - } - } - - return $scope.filterOptionSelected(templateParam, templateParam.options[0], true); - }); - }; - - $scope.add = function() { - $scope.filter.addTemplateParameter({ - type : 'filter', - name : 'filter name', - editing : true, - query : 'metric.path.query.*', - }); - }; - - }); -}); diff --git a/app/dboards/src/app/panels/graph/axisEditor.html b/app/dboards/src/app/panels/graph/axisEditor.html deleted file mode 100644 index eb8ac3f..0000000 --- a/app/dboards/src/app/panels/graph/axisEditor.html +++ /dev/null @@ -1,113 +0,0 @@ - -
    -
    -
    Left Y Axis
    -
    - - -
    -
    - - -
    -
    - - -
    -
    - - -
    -
    -
    -
    Right Y Axis
    -
    - - -
    -
    - - -
    -
    - - -
    -
    - - -
    -
    -
    - - -
    - -
    -
    Grid thresholds
    -
    - - -
    -
    - - -
    -
    - - -
    -
    - - -
    -
    - -
    -
    - -
    -
    Legend
    -
    - -
    -
    - -
    -
    - -
    -
    Legend values
    -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    -
    Show Axes
    -
    - -
    -
    - -
    -
    - -
    diff --git a/app/dboards/src/app/panels/graph/legend.html b/app/dboards/src/app/panels/graph/legend.html deleted file mode 100755 index 84aab50..0000000 --- a/app/dboards/src/app/panels/graph/legend.html +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - {{series.alias}} - - - -   Current: {{series.current}}  - - -   Min: {{series.min}}  - - -   Max: {{series.max}}  - - -   Total: {{series.total}}  - - -   Avg: {{series.avg}}  - - - - - - diff --git a/app/dboards/src/app/panels/graph/module.html b/app/dboards/src/app/panels/graph/module.html deleted file mode 100644 index 1139d88..0000000 --- a/app/dboards/src/app/panels/graph/module.html +++ /dev/null @@ -1,33 +0,0 @@ -
    - -
    - -
    - No datapoints Can be caused by timezone mismatch between browser and graphite server - Datapoints outside time range Can be caused by timezone mismatch between browser and graphite server -
    - -
    -
    - -
    - -
    -
    -
    -
    - -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    \ No newline at end of file diff --git a/app/dboards/src/app/panels/graph/module.js b/app/dboards/src/app/panels/graph/module.js deleted file mode 100644 index 6699436..0000000 --- a/app/dboards/src/app/panels/graph/module.js +++ /dev/null @@ -1,430 +0,0 @@ -/** @scratch /panels/5 - * include::panels/histogram.asciidoc[] - */ - -/** @scratch /panels/histogram/0 - * == Histogram - * Status: *Stable* - * - * The histogram panel allow for the display of time charts. It includes several modes and tranformations - * to display event counts, mean, min, max and total of numeric fields, and derivatives of counter - * fields. - * - */ -define([ - 'angular', - 'app', - 'jquery', - 'underscore', - 'kbn', - 'moment', - './timeSeries', - 'services/annotationsSrv', - 'services/datasourceSrv', - 'jquery.flot', - 'jquery.flot.events', - 'jquery.flot.selection', - 'jquery.flot.time', - 'jquery.flot.byte', - 'jquery.flot.stack', - 'jquery.flot.stackpercent' -], -function (angular, app, $, _, kbn, moment, timeSeries) { - - 'use strict'; - - var module = angular.module('kibana.panels.graph', []); - app.useModule(module); - - module.controller('graph', function($scope, $rootScope, datasourceSrv, $timeout, annotationsSrv) { - - $scope.panelMeta = { - modals : [], - editorTabs: [], - fullEditorTabs : [ - { - title: 'General', - src:'app/partials/panelgeneral.html' - }, - { - title: 'Metrics', - src:'app/partials/metrics.html' - }, - { - title:'Axes & Grid', - src:'app/panels/graph/axisEditor.html' - }, - { - title:'Display Styles', - src:'app/panels/graph/styleEditor.html' - } - ], - fullscreenEdit: true, - fullscreenView: true, - description : "Graphing" - }; - - // Set and populate defaults - var _d = { - - datasource: null, - - /** @scratch /panels/histogram/3 - * renderer:: sets client side (flot) or native graphite png renderer (png) - */ - renderer: 'flot', - /** @scratch /panels/histogram/3 - * x-axis:: Show the x-axis - */ - 'x-axis' : true, - /** @scratch /panels/histogram/3 - * y-axis:: Show the y-axis - */ - 'y-axis' : true, - /** @scratch /panels/histogram/3 - * scale:: Scale the y-axis by this factor - */ - scale : 1, - /** @scratch /panels/histogram/3 - * y_formats :: 'none','bytes','bits','short', 's', 'ms' - */ - y_formats : ['short', 'short'], - /** @scratch /panels/histogram/5 - * grid object:: Min and max y-axis values - * grid.min::: Minimum y-axis value - * grid.ma1::: Maximum y-axis value - */ - grid : { - leftMax: null, - rightMax: null, - leftMin: null, - rightMin: null, - threshold1: null, - threshold2: null, - threshold1Color: 'rgba(216, 200, 27, 0.27)', - threshold2Color: 'rgba(234, 112, 112, 0.22)' - }, - - annotate : { - enable : false, - }, - - /** @scratch /panels/histogram/3 - * resolution:: If auto_int is true, shoot for this many bars. - */ - resolution : 100, - - /** @scratch /panels/histogram/3 - * ==== Drawing options - * lines:: Show line chart - */ - lines : true, - /** @scratch /panels/histogram/3 - * fill:: Area fill factor for line charts, 1-10 - */ - fill : 0, - /** @scratch /panels/histogram/3 - * linewidth:: Weight of lines in pixels - */ - linewidth : 1, - /** @scratch /panels/histogram/3 - * points:: Show points on chart - */ - points : false, - /** @scratch /panels/histogram/3 - * pointradius:: Size of points in pixels - */ - pointradius : 5, - /** @scratch /panels/histogram/3 - * bars:: Show bars on chart - */ - bars : false, - /** @scratch /panels/histogram/3 - * stack:: Stack multiple series - */ - stack : false, - /** @scratch /panels/histogram/3 - * legend:: Display the legend - */ - legend: { - show: true, // disable/enable legend - values: false, // disable/enable legend values - min: false, - max: false, - current: false, - total: false, - avg: false - }, - /** @scratch /panels/histogram/3 - * ==== Transformations - /** @scratch /panels/histogram/3 - * percentage:: Show the y-axis as a percentage of the axis total. Only makes sense for multiple - * queries - */ - percentage : false, - /** @scratch /panels/histogram/3 - * zerofill:: Improves the accuracy of line charts at a small performance cost. - */ - zerofill : true, - - nullPointMode : 'connected', - - steppedLine: false, - - tooltip : { - value_type: 'cumulative', - query_as_alias: true - }, - - targets: [], - - aliasColors: {}, - aliasYAxis: {}, - }; - - _.defaults($scope.panel,_d); - _.defaults($scope.panel.tooltip, _d.tooltip); - _.defaults($scope.panel.annotate, _d.annotate); - _.defaults($scope.panel.grid, _d.grid); - - // backward compatible stuff - if (_.isBoolean($scope.panel.legend)) { - $scope.panel.legend = { show: $scope.panel.legend }; - _.defaults($scope.panel.legend, _d.legend); - } - - if ($scope.panel.grid.min) { - $scope.panel.grid.leftMin = $scope.panel.grid.min; - delete $scope.panel.grid.min; - } - - if ($scope.panel.grid.max) { - $scope.panel.grid.leftMax = $scope.panel.grid.max; - delete $scope.panel.grid.max; - } - - if ($scope.panel.y_format) { - $scope.panel.y_formats[0] = $scope.panel.y_format; - delete $scope.panel.y_format; - } - - if ($scope.panel.y2_format) { - $scope.panel.y_formats[1] = $scope.panel.y2_format; - delete $scope.panel.y2_format; - } - - $scope.init = function() { - $scope.initBaseController(this, $scope); - - $scope.fullscreen = false; - $scope.editor = { index: 1 }; - $scope.editorTabs = _.pluck($scope.panelMeta.fullEditorTabs,'title'); - $scope.hiddenSeries = {}; - - $scope.datasources = datasourceSrv.listOptions(); - $scope.setDatasource($scope.panel.datasource); - - if ($scope.panel.targets.length === 0) { - $scope.panel.targets.push({}); - } - }; - - $scope.setDatasource = function(datasource) { - $scope.panel.datasource = datasource; - $scope.datasource = datasourceSrv.get(datasource); - - if (!$scope.datasource) { - $scope.panel.error = "Cannot find datasource " + datasource; - return; - } - - $scope.get_data(); - }; - - $scope.removeTarget = function (target) { - $scope.panel.targets = _.without($scope.panel.targets, target); - $scope.get_data(); - }; - - $scope.updateTimeRange = function () { - $scope.range = this.filter.timeRange(); - $scope.rangeUnparsed = this.filter.timeRange(false); - $scope.resolution = Math.ceil($(window).width() * ($scope.panel.span / 12)); - $scope.interval = '10m'; - - if ($scope.range) { - $scope.interval = kbn.secondsToHms( - kbn.calculate_interval($scope.range.from, $scope.range.to, $scope.resolution, 0) / 1000 - ); - } - }; - - $scope.get_data = function() { - delete $scope.panel.error; - - $scope.panelMeta.loading = true; - - $scope.updateTimeRange(); - - var graphiteQuery = { - range: $scope.rangeUnparsed, - interval: $scope.interval, - targets: $scope.panel.targets, - format: $scope.panel.renderer === 'png' ? 'png' : 'json', - maxDataPoints: $scope.resolution, - datasource: $scope.panel.datasource - }; - - $scope.annotationsPromise = annotationsSrv.getAnnotations($scope.filter, $scope.rangeUnparsed); - - return $scope.datasource.query($scope.filter, graphiteQuery) - .then($scope.dataHandler) - .then(null, function(err) { - $scope.panelMeta.loading = false; - $scope.panel.error = err.message || "Timeseries data request error"; - $scope.inspector.error = err; - $scope.render([]); - }); - }; - - $scope.dataHandler = function(results) { - $scope.panelMeta.loading = false; - $scope.legend = []; - - // png renderer returns just a url - if (_.isString(results)) { - $scope.render(results); - return; - } - - $scope.datapointsWarning = false; - $scope.datapointsCount = 0; - $scope.datapointsOutside = false; - - var data = _.map(results.data, $scope.seriesHandler); - - $scope.datapointsWarning = $scope.datapointsCount || !$scope.datapointsOutside; - - $scope.annotationsPromise - .then(function(annotations) { - data.annotations = annotations; - $scope.render(data); - }, function() { - $scope.render(data); - }); - }; - - $scope.seriesHandler = function(seriesData, index) { - var datapoints = seriesData.datapoints; - var alias = seriesData.target; - var color = $scope.panel.aliasColors[alias] || $scope.colors[index]; - var yaxis = $scope.panel.aliasYAxis[alias] || 1; - - var seriesInfo = { - alias: alias, - color: color, - enable: true, - yaxis: yaxis - }; - - $scope.legend.push(seriesInfo); - - var series = new timeSeries.ZeroFilled({ - datapoints: datapoints, - info: seriesInfo, - }); - - if (datapoints && datapoints.length > 0) { - var last = moment.utc(datapoints[datapoints.length - 1][1] * 1000); - var from = moment.utc($scope.range.from); - if (last - from < -10000) { - $scope.datapointsOutside = true; - } - - $scope.datapointsCount += datapoints.length; - } - - return series; - }; - - $scope.add_target = function() { - $scope.panel.targets.push({target: ''}); - }; - - $scope.otherPanelInFullscreenMode = function() { - return $rootScope.fullscreen && !$scope.fullscreen; - }; - - $scope.render = function(data) { - $scope.$emit('render', data); - }; - - $scope.changeSeriesColor = function(series, color) { - series.color = color; - $scope.panel.aliasColors[series.alias] = series.color; - $scope.render(); - }; - - $scope.toggleSeries = function(serie, event) { - if ($scope.hiddenSeries[serie.alias]) { - delete $scope.hiddenSeries[serie.alias]; - } - else { - $scope.hiddenSeries[serie.alias] = true; - } - - if (event.ctrlKey || event.metaKey || event.shiftKey) { - $scope.toggleSeriesExclusiveMode(serie); - } - - $scope.$emit('toggleLegend', $scope.legend); - }; - - $scope.toggleSeriesExclusiveMode = function(serie) { - var hidden = $scope.hiddenSeries; - - if (hidden[serie.alias]) { - delete hidden[serie.alias]; - } - - // check if every other series is hidden - var alreadyExclusive = _.every($scope.legend, function(value) { - if (value.alias === serie.alias) { - return true; - } - - return hidden[value.alias]; - }); - - if (alreadyExclusive) { - // remove all hidden series - _.each($scope.legend, function(value) { - delete $scope.hiddenSeries[value.alias]; - }); - } - else { - // hide all but this serie - _.each($scope.legend, function(value) { - if (value.alias === serie.alias) { - return; - } - - $scope.hiddenSeries[value.alias] = true; - }); - } - }; - - $scope.toggleYAxis = function(info) { - info.yaxis = info.yaxis === 2 ? 1 : 2; - $scope.panel.aliasYAxis[info.alias] = info.yaxis; - $scope.render(); - }; - - $scope.toggleGridMinMax = function(key) { - $scope.panel.grid[key] = _.toggle($scope.panel.grid[key], null, 0); - $scope.render(); - }; - - }); - -}); diff --git a/app/dboards/src/app/panels/graph/styleEditor.html b/app/dboards/src/app/panels/graph/styleEditor.html deleted file mode 100644 index ec18121..0000000 --- a/app/dboards/src/app/panels/graph/styleEditor.html +++ /dev/null @@ -1,66 +0,0 @@ - - -
    -
    -
    Chart Options
    -
    - -
    -
    - -
    -
    - -
    -
    - -
    -
    Line options
    -
    - - -
    -
    - - -
    -
    - - -
    -
    - - -
    -
    - -
    -
    -
    -
    Multiple Series
    -
    - -
    -
    - - -
    -
    - - -
    -
    - - -
    -
    Rendering
    -
    - - -
    -
    - - -
    -
    -
    diff --git a/app/dboards/src/app/panels/graph/timeSeries.js b/app/dboards/src/app/panels/graph/timeSeries.js deleted file mode 100644 index 7bf692c..0000000 --- a/app/dboards/src/app/panels/graph/timeSeries.js +++ /dev/null @@ -1,74 +0,0 @@ -define([ - 'underscore', - 'kbn' -], -function (_, kbn) { - 'use strict'; - - var ts = {}; - - ts.ZeroFilled = function (opts) { - this.datapoints = opts.datapoints; - this.info = opts.info; - this.label = opts.info.alias; - }; - - ts.ZeroFilled.prototype.getFlotPairs = function (fillStyle, yFormats) { - var result = []; - - this.color = this.info.color; - this.yaxis = this.info.yaxis; - - this.info.total = 0; - this.info.max = null; - this.info.min = 212312321312; - - _.each(this.datapoints, function(valueArray) { - var currentTime = valueArray[1]; - var currentValue = valueArray[0]; - if (currentValue === null) { - if (fillStyle === 'connected') { - return; - } - if (fillStyle === 'null as zero') { - currentValue = 0; - } - } - - if (_.isNumber(currentValue)) { - this.info.total += currentValue; - } - - if (currentValue > this.info.max) { - this.info.max = currentValue; - } - - if (currentValue < this.info.min) { - this.info.min = currentValue; - } - - result.push([currentTime * 1000, currentValue]); - }, this); - - if (result.length > 2) { - this.info.timeStep = result[1][0] - result[0][0]; - } - - if (result.length) { - - this.info.avg = (this.info.total / result.length); - this.info.current = result[result.length-1][1]; - - var formater = kbn.getFormatFunction(yFormats[this.yaxis - 1], 2); - this.info.avg = this.info.avg != null ? formater(this.info.avg) : null; - this.info.current = this.info.current != null ? formater(this.info.current) : null; - this.info.min = this.info.min != null ? formater(this.info.min) : null; - this.info.max = this.info.max != null ? formater(this.info.max) : null; - this.info.total = this.info.total != null ? formater(this.info.total) : null; - } - - return result; - }; - - return ts; -}); \ No newline at end of file diff --git a/app/dboards/src/app/panels/text/editor.html b/app/dboards/src/app/panels/text/editor.html deleted file mode 100644 index 6af4dc0..0000000 --- a/app/dboards/src/app/panels/text/editor.html +++ /dev/null @@ -1,18 +0,0 @@ -
    -
    -
    - -
    -
    - -
    -
    - - - - -
    \ No newline at end of file diff --git a/app/dboards/src/app/panels/text/lib/showdown.js b/app/dboards/src/app/panels/text/lib/showdown.js deleted file mode 100644 index 9493071..0000000 --- a/app/dboards/src/app/panels/text/lib/showdown.js +++ /dev/null @@ -1,1454 +0,0 @@ -// -// showdown.js -- A javascript port of Markdown. -// -// Copyright (c) 2007 John Fraser. -// -// Original Markdown Copyright (c) 2004-2005 John Gruber -// -// -// Redistributable under a BSD-style open source license. -// See license.txt for more information. -// -// The full source distribution is at: -// -// A A L -// T C A -// T K B -// -// -// - -// -// Wherever possible, Showdown is a straight, line-by-line port -// of the Perl version of Markdown. -// -// This is not a normal parser design; it's basically just a -// series of string substitutions. It's hard to read and -// maintain this way, but keeping Showdown close to the original -// design makes it easier to port new features. -// -// More importantly, Showdown behaves like markdown.pl in most -// edge cases. So web applications can do client-side preview -// in Javascript, and then build identical HTML on the server. -// -// This port needs the new RegExp functionality of ECMA 262, -// 3rd Edition (i.e. Javascript 1.5). Most modern web browsers -// should do fine. Even with the new regular expression features, -// We do a lot of work to emulate Perl's regex functionality. -// The tricky changes in this file mostly have the "attacklab:" -// label. Major or self-explanatory changes don't. -// -// Smart diff tools like Araxis Merge will be able to match up -// this file with markdown.pl in a useful way. A little tweaking -// helps: in a copy of markdown.pl, replace "#" with "//" and -// replace "$text" with "text". Be sure to ignore whitespace -// and line endings. -// - - -// -// Showdown usage: -// -// var text = "Markdown *rocks*."; -// -// var converter = new Showdown.converter(); -// var html = converter.makeHtml(text); -// -// alert(html); -// -// Note: move the sample code to the bottom of this -// file before uncommenting it. -// - - -// -// Showdown namespace -// -var Showdown = { extensions: {} }; - -// -// forEach -// -var forEach = Showdown.forEach = function(obj, callback) { - if (typeof obj.forEach === 'function') { - obj.forEach(callback); - } else { - var i, len = obj.length; - for (i = 0; i < len; i++) { - callback(obj[i], i, obj); - } - } -}; - -// -// Standard extension naming -// -var stdExtName = function(s) { - return s.replace(/[_-]||\s/g, '').toLowerCase(); -}; - -// -// converter -// -// Wraps all "globals" so that the only thing -// exposed is makeHtml(). -// -Showdown.converter = function(converter_options) { - -// -// Globals: -// - -// Global hashes, used by various utility routines -var g_urls; -var g_titles; -var g_html_blocks; - -// Used to track when we're inside an ordered or unordered list -// (see _ProcessListItems() for details): -var g_list_level = 0; - -// Global extensions -var g_lang_extensions = []; -var g_output_modifiers = []; - - -// -// Automatic Extension Loading (node only): -// - -if (typeof module !== 'undefind' && typeof exports !== 'undefined' && typeof require !== 'undefind') { - var fs = require('fs'); - - if (fs) { - // Search extensions folder - var extensions = fs.readdirSync((__dirname || '.')+'/extensions').filter(function(file){ - return ~file.indexOf('.js'); - }).map(function(file){ - return file.replace(/\.js$/, ''); - }); - // Load extensions into Showdown namespace - Showdown.forEach(extensions, function(ext){ - var name = stdExtName(ext); - Showdown.extensions[name] = require('./extensions/' + ext); - }); - } -} - -this.makeHtml = function(text) { -// -// Main function. The order in which other subs are called here is -// essential. Link and image substitutions need to happen before -// _EscapeSpecialCharsWithinTagAttributes(), so that any *'s or _'s in the -// and tags get encoded. -// - - // Clear the global hashes. If we don't clear these, you get conflicts - // from other articles when generating a page which contains more than - // one article (e.g. an index page that shows the N most recent - // articles): - g_urls = {}; - g_titles = {}; - g_html_blocks = []; - - // attacklab: Replace ~ with ~T - // This lets us use tilde as an escape char to avoid md5 hashes - // The choice of character is arbitray; anything that isn't - // magic in Markdown will work. - text = text.replace(/~/g,"~T"); - - // attacklab: Replace $ with ~D - // RegExp interprets $ as a special character - // when it's in a replacement string - text = text.replace(/\$/g,"~D"); - - // Standardize line endings - text = text.replace(/\r\n/g,"\n"); // DOS to Unix - text = text.replace(/\r/g,"\n"); // Mac to Unix - - // Make sure text begins and ends with a couple of newlines: - text = "\n\n" + text + "\n\n"; - - // Convert all tabs to spaces. - text = _Detab(text); - - // Strip any lines consisting only of spaces and tabs. - // This makes subsequent regexen easier to write, because we can - // match consecutive blank lines with /\n+/ instead of something - // contorted like /[ \t]*\n+/ . - text = text.replace(/^[ \t]+$/mg,""); - - // Run language extensions - Showdown.forEach(g_lang_extensions, function(x){ - text = _ExecuteExtension(x, text); - }); - - // Handle github codeblocks prior to running HashHTML so that - // HTML contained within the codeblock gets escaped propertly - text = _DoGithubCodeBlocks(text); - - // Turn block-level HTML blocks into hash entries - text = _HashHTMLBlocks(text); - - // Strip link definitions, store in hashes. - text = _StripLinkDefinitions(text); - - text = _RunBlockGamut(text); - - text = _UnescapeSpecialChars(text); - - // attacklab: Restore dollar signs - text = text.replace(/~D/g,"$$"); - - // attacklab: Restore tildes - text = text.replace(/~T/g,"~"); - - // Run output modifiers - Showdown.forEach(g_output_modifiers, function(x){ - text = _ExecuteExtension(x, text); - }); - - return text; -}; -// -// Options: -// - -// Parse extensions options into separate arrays -if (converter_options && converter_options.extensions) { - - var self = this; - - // Iterate over each plugin - Showdown.forEach(converter_options.extensions, function(plugin){ - - // Assume it's a bundled plugin if a string is given - if (typeof plugin === 'string') { - plugin = Showdown.extensions[stdExtName(plugin)]; - } - - if (typeof plugin === 'function') { - // Iterate over each extension within that plugin - Showdown.forEach(plugin(self), function(ext){ - // Sort extensions by type - if (ext.type) { - if (ext.type === 'language' || ext.type === 'lang') { - g_lang_extensions.push(ext); - } else if (ext.type === 'output' || ext.type === 'html') { - g_output_modifiers.push(ext); - } - } else { - // Assume language extension - g_output_modifiers.push(ext); - } - }); - } else { - throw "Extension '" + plugin + "' could not be loaded. It was either not found or is not a valid extension."; - } - }); -} - - -var _ExecuteExtension = function(ext, text) { - if (ext.regex) { - var re = new RegExp(ext.regex, 'g'); - return text.replace(re, ext.replace); - } else if (ext.filter) { - return ext.filter(text); - } -}; - -var _StripLinkDefinitions = function(text) { -// -// Strips link definitions from text, stores the URLs and titles in -// hash references. -// - - // Link defs are in the form: ^[id]: url "optional title" - - /* - var text = text.replace(/ - ^[ ]{0,3}\[(.+)\]: // id = $1 attacklab: g_tab_width - 1 - [ \t]* - \n? // maybe *one* newline - [ \t]* - ? // url = $2 - [ \t]* - \n? // maybe one newline - [ \t]* - (?: - (\n*) // any lines skipped = $3 attacklab: lookbehind removed - ["(] - (.+?) // title = $4 - [")] - [ \t]* - )? // title is optional - (?:\n+|$) - /gm, - function(){...}); - */ - - // attacklab: sentinel workarounds for lack of \A and \Z, safari\khtml bug - text += "~0"; - - text = text.replace(/^[ ]{0,3}\[(.+)\]:[ \t]*\n?[ \t]*?[ \t]*\n?[ \t]*(?:(\n*)["(](.+?)[")][ \t]*)?(?:\n+|(?=~0))/gm, - function (wholeMatch,m1,m2,m3,m4) { - m1 = m1.toLowerCase(); - g_urls[m1] = _EncodeAmpsAndAngles(m2); // Link IDs are case-insensitive - if (m3) { - // Oops, found blank lines, so it's not a title. - // Put back the parenthetical statement we stole. - return m3+m4; - } else if (m4) { - g_titles[m1] = m4.replace(/"/g,"""); - } - - // Completely remove the definition from the text - return ""; - } - ); - - // attacklab: strip sentinel - text = text.replace(/~0/,""); - - return text; -} - - -var _HashHTMLBlocks = function(text) { - // attacklab: Double up blank lines to reduce lookaround - text = text.replace(/\n/g,"\n\n"); - - // Hashify HTML blocks: - // We only want to do this for block-level HTML tags, such as headers, - // lists, and tables. That's because we still want to wrap

    s around - // "paragraphs" that are wrapped in non-block-level tags, such as anchors, - // phrase emphasis, and spans. The list of tags we're looking for is - // hard-coded: - var block_tags_a = "p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|script|noscript|form|fieldset|iframe|math|ins|del|style|section|header|footer|nav|article|aside"; - var block_tags_b = "p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|script|noscript|form|fieldset|iframe|math|style|section|header|footer|nav|article|aside"; - - // First, look for nested blocks, e.g.: - //

    - //
    - // tags for inner block must be indented. - //
    - //
    - // - // The outermost tags must start at the left margin for this to match, and - // the inner nested divs must be indented. - // We need to do this before the next, more liberal match, because the next - // match will start at the first `
    ` and stop at the first `
    `. - - // attacklab: This regex can be expensive when it fails. - /* - var text = text.replace(/ - ( // save in $1 - ^ // start of line (with /m) - <($block_tags_a) // start tag = $2 - \b // word break - // attacklab: hack around khtml/pcre bug... - [^\r]*?\n // any number of lines, minimally matching - // the matching end tag - [ \t]* // trailing spaces/tabs - (?=\n+) // followed by a newline - ) // attacklab: there are sentinel newlines at end of document - /gm,function(){...}}; - */ - text = text.replace(/^(<(p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|script|noscript|form|fieldset|iframe|math|ins|del)\b[^\r]*?\n<\/\2>[ \t]*(?=\n+))/gm,hashElement); - - // - // Now match more liberally, simply from `\n` to `\n` - // - - /* - var text = text.replace(/ - ( // save in $1 - ^ // start of line (with /m) - <($block_tags_b) // start tag = $2 - \b // word break - // attacklab: hack around khtml/pcre bug... - [^\r]*? // any number of lines, minimally matching - // the matching end tag - [ \t]* // trailing spaces/tabs - (?=\n+) // followed by a newline - ) // attacklab: there are sentinel newlines at end of document - /gm,function(){...}}; - */ - text = text.replace(/^(<(p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|script|noscript|form|fieldset|iframe|math|style|section|header|footer|nav|article|aside)\b[^\r]*?<\/\2>[ \t]*(?=\n+)\n)/gm,hashElement); - - // Special case just for
    . It was easier to make a special case than - // to make the other regex more complicated. - - /* - text = text.replace(/ - ( // save in $1 - \n\n // Starting after a blank line - [ ]{0,3} - (<(hr) // start tag = $2 - \b // word break - ([^<>])*? // - \/?>) // the matching end tag - [ \t]* - (?=\n{2,}) // followed by a blank line - ) - /g,hashElement); - */ - text = text.replace(/(\n[ ]{0,3}(<(hr)\b([^<>])*?\/?>)[ \t]*(?=\n{2,}))/g,hashElement); - - // Special case for standalone HTML comments: - - /* - text = text.replace(/ - ( // save in $1 - \n\n // Starting after a blank line - [ ]{0,3} // attacklab: g_tab_width - 1 - - [ \t]* - (?=\n{2,}) // followed by a blank line - ) - /g,hashElement); - */ - text = text.replace(/(\n\n[ ]{0,3}[ \t]*(?=\n{2,}))/g,hashElement); - - // PHP and ASP-style processor instructions ( and <%...%>) - - /* - text = text.replace(/ - (?: - \n\n // Starting after a blank line - ) - ( // save in $1 - [ ]{0,3} // attacklab: g_tab_width - 1 - (?: - <([?%]) // $2 - [^\r]*? - \2> - ) - [ \t]* - (?=\n{2,}) // followed by a blank line - ) - /g,hashElement); - */ - text = text.replace(/(?:\n\n)([ ]{0,3}(?:<([?%])[^\r]*?\2>)[ \t]*(?=\n{2,}))/g,hashElement); - - // attacklab: Undo double lines (see comment at top of this function) - text = text.replace(/\n\n/g,"\n"); - return text; -} - -var hashElement = function(wholeMatch,m1) { - var blockText = m1; - - // Undo double lines - blockText = blockText.replace(/\n\n/g,"\n"); - blockText = blockText.replace(/^\n/,""); - - // strip trailing blank lines - blockText = blockText.replace(/\n+$/g,""); - - // Replace the element text with a marker ("~KxK" where x is its key) - blockText = "\n\n~K" + (g_html_blocks.push(blockText)-1) + "K\n\n"; - - return blockText; -}; - -var _RunBlockGamut = function(text) { -// -// These are all the transformations that form block-level -// tags like paragraphs, headers, and list items. -// - text = _DoHeaders(text); - - // Do Horizontal Rules: - var key = hashBlock("
    "); - text = text.replace(/^[ ]{0,2}([ ]?\*[ ]?){3,}[ \t]*$/gm,key); - text = text.replace(/^[ ]{0,2}([ ]?\-[ ]?){3,}[ \t]*$/gm,key); - text = text.replace(/^[ ]{0,2}([ ]?\_[ ]?){3,}[ \t]*$/gm,key); - - text = _DoLists(text); - text = _DoCodeBlocks(text); - text = _DoBlockQuotes(text); - - // We already ran _HashHTMLBlocks() before, in Markdown(), but that - // was to escape raw HTML in the original Markdown source. This time, - // we're escaping the markup we've just created, so that we don't wrap - //

    tags around block-level tags. - text = _HashHTMLBlocks(text); - text = _FormParagraphs(text); - - return text; -}; - - -var _RunSpanGamut = function(text) { -// -// These are all the transformations that occur *within* block-level -// tags like paragraphs, headers, and list items. -// - - text = _DoCodeSpans(text); - text = _EscapeSpecialCharsWithinTagAttributes(text); - text = _EncodeBackslashEscapes(text); - - // Process anchor and image tags. Images must come first, - // because ![foo][f] looks like an anchor. - text = _DoImages(text); - text = _DoAnchors(text); - - // Make links out of things like `` - // Must come after _DoAnchors(), because you can use < and > - // delimiters in inline links like [this](). - text = _DoAutoLinks(text); - text = _EncodeAmpsAndAngles(text); - text = _DoItalicsAndBold(text); - - // Do hard breaks: - text = text.replace(/ +\n/g,"
    \n"); - - return text; -} - -var _EscapeSpecialCharsWithinTagAttributes = function(text) { -// -// Within tags -- meaning between < and > -- encode [\ ` * _] so they -// don't conflict with their use in Markdown for code, italics and strong. -// - - // Build a regex to find HTML tags and comments. See Friedl's - // "Mastering Regular Expressions", 2nd Ed., pp. 200-201. - var regex = /(<[a-z\/!$]("[^"]*"|'[^']*'|[^'">])*>|)/gi; - - text = text.replace(regex, function(wholeMatch) { - var tag = wholeMatch.replace(/(.)<\/?code>(?=.)/g,"$1`"); - tag = escapeCharacters(tag,"\\`*_"); - return tag; - }); - - return text; -} - -var _DoAnchors = function(text) { -// -// Turn Markdown link shortcuts into XHTML
    tags. -// - // - // First, handle reference-style links: [link text] [id] - // - - /* - text = text.replace(/ - ( // wrap whole match in $1 - \[ - ( - (?: - \[[^\]]*\] // allow brackets nested one level - | - [^\[] // or anything else - )* - ) - \] - - [ ]? // one optional space - (?:\n[ ]*)? // one optional newline followed by spaces - - \[ - (.*?) // id = $3 - \] - )()()()() // pad remaining backreferences - /g,_DoAnchors_callback); - */ - text = text.replace(/(\[((?:\[[^\]]*\]|[^\[\]])*)\][ ]?(?:\n[ ]*)?\[(.*?)\])()()()()/g,writeAnchorTag); - - // - // Next, inline-style links: [link text](url "optional title") - // - - /* - text = text.replace(/ - ( // wrap whole match in $1 - \[ - ( - (?: - \[[^\]]*\] // allow brackets nested one level - | - [^\[\]] // or anything else - ) - ) - \] - \( // literal paren - [ \t]* - () // no id, so leave $3 empty - ? // href = $4 - [ \t]* - ( // $5 - (['"]) // quote char = $6 - (.*?) // Title = $7 - \6 // matching quote - [ \t]* // ignore any spaces/tabs between closing quote and ) - )? // title is optional - \) - ) - /g,writeAnchorTag); - */ - text = text.replace(/(\[((?:\[[^\]]*\]|[^\[\]])*)\]\([ \t]*()?[ \t]*((['"])(.*?)\6[ \t]*)?\))/g,writeAnchorTag); - - // - // Last, handle reference-style shortcuts: [link text] - // These must come last in case you've also got [link test][1] - // or [link test](/foo) - // - - /* - text = text.replace(/ - ( // wrap whole match in $1 - \[ - ([^\[\]]+) // link text = $2; can't contain '[' or ']' - \] - )()()()()() // pad rest of backreferences - /g, writeAnchorTag); - */ - text = text.replace(/(\[([^\[\]]+)\])()()()()()/g, writeAnchorTag); - - return text; -} - -var writeAnchorTag = function(wholeMatch,m1,m2,m3,m4,m5,m6,m7) { - if (m7 == undefined) m7 = ""; - var whole_match = m1; - var link_text = m2; - var link_id = m3.toLowerCase(); - var url = m4; - var title = m7; - - if (url == "") { - if (link_id == "") { - // lower-case and turn embedded newlines into spaces - link_id = link_text.toLowerCase().replace(/ ?\n/g," "); - } - url = "#"+link_id; - - if (g_urls[link_id] != undefined) { - url = g_urls[link_id]; - if (g_titles[link_id] != undefined) { - title = g_titles[link_id]; - } - } - else { - if (whole_match.search(/\(\s*\)$/m)>-1) { - // Special case for explicit empty url - url = ""; - } else { - return whole_match; - } - } - } - - url = escapeCharacters(url,"*_"); - var result = ""; - - return result; -} - - -var _DoImages = function(text) { -// -// Turn Markdown image shortcuts into tags. -// - - // - // First, handle reference-style labeled images: ![alt text][id] - // - - /* - text = text.replace(/ - ( // wrap whole match in $1 - !\[ - (.*?) // alt text = $2 - \] - - [ ]? // one optional space - (?:\n[ ]*)? // one optional newline followed by spaces - - \[ - (.*?) // id = $3 - \] - )()()()() // pad rest of backreferences - /g,writeImageTag); - */ - text = text.replace(/(!\[(.*?)\][ ]?(?:\n[ ]*)?\[(.*?)\])()()()()/g,writeImageTag); - - // - // Next, handle inline images: ![alt text](url "optional title") - // Don't forget: encode * and _ - - /* - text = text.replace(/ - ( // wrap whole match in $1 - !\[ - (.*?) // alt text = $2 - \] - \s? // One optional whitespace character - \( // literal paren - [ \t]* - () // no id, so leave $3 empty - ? // src url = $4 - [ \t]* - ( // $5 - (['"]) // quote char = $6 - (.*?) // title = $7 - \6 // matching quote - [ \t]* - )? // title is optional - \) - ) - /g,writeImageTag); - */ - text = text.replace(/(!\[(.*?)\]\s?\([ \t]*()?[ \t]*((['"])(.*?)\6[ \t]*)?\))/g,writeImageTag); - - return text; -} - -var writeImageTag = function(wholeMatch,m1,m2,m3,m4,m5,m6,m7) { - var whole_match = m1; - var alt_text = m2; - var link_id = m3.toLowerCase(); - var url = m4; - var title = m7; - - if (!title) title = ""; - - if (url == "") { - if (link_id == "") { - // lower-case and turn embedded newlines into spaces - link_id = alt_text.toLowerCase().replace(/ ?\n/g," "); - } - url = "#"+link_id; - - if (g_urls[link_id] != undefined) { - url = g_urls[link_id]; - if (g_titles[link_id] != undefined) { - title = g_titles[link_id]; - } - } - else { - return whole_match; - } - } - - alt_text = alt_text.replace(/"/g,"""); - url = escapeCharacters(url,"*_"); - var result = "\""' + _RunSpanGamut(m1) + "");}); - - text = text.replace(/^(.+)[ \t]*\n-+[ \t]*\n+/gm, - function(matchFound,m1){return hashBlock('

    ' + _RunSpanGamut(m1) + "

    ");}); - - // atx-style headers: - // # Header 1 - // ## Header 2 - // ## Header 2 with closing hashes ## - // ... - // ###### Header 6 - // - - /* - text = text.replace(/ - ^(\#{1,6}) // $1 = string of #'s - [ \t]* - (.+?) // $2 = Header text - [ \t]* - \#* // optional closing #'s (not counted) - \n+ - /gm, function() {...}); - */ - - text = text.replace(/^(\#{1,6})[ \t]*(.+?)[ \t]*\#*\n+/gm, - function(wholeMatch,m1,m2) { - var h_level = m1.length; - return hashBlock("' + _RunSpanGamut(m2) + ""); - }); - - function headerId(m) { - return m.replace(/[^\w]/g, '').toLowerCase(); - } - return text; -} - -// This declaration keeps Dojo compressor from outputting garbage: -var _ProcessListItems; - -var _DoLists = function(text) { -// -// Form HTML ordered (numbered) and unordered (bulleted) lists. -// - - // attacklab: add sentinel to hack around khtml/safari bug: - // http://bugs.webkit.org/show_bug.cgi?id=11231 - text += "~0"; - - // Re-usable pattern to match any entirel ul or ol list: - - /* - var whole_list = / - ( // $1 = whole list - ( // $2 - [ ]{0,3} // attacklab: g_tab_width - 1 - ([*+-]|\d+[.]) // $3 = first list item marker - [ \t]+ - ) - [^\r]+? - ( // $4 - ~0 // sentinel for workaround; should be $ - | - \n{2,} - (?=\S) - (?! // Negative lookahead for another list item marker - [ \t]* - (?:[*+-]|\d+[.])[ \t]+ - ) - ) - )/g - */ - var whole_list = /^(([ ]{0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(~0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm; - - if (g_list_level) { - text = text.replace(whole_list,function(wholeMatch,m1,m2) { - var list = m1; - var list_type = (m2.search(/[*+-]/g)>-1) ? "ul" : "ol"; - - // Turn double returns into triple returns, so that we can make a - // paragraph for the last item in a list, if necessary: - list = list.replace(/\n{2,}/g,"\n\n\n");; - var result = _ProcessListItems(list); - - // Trim any trailing whitespace, to put the closing `` - // up on the preceding line, to get it past the current stupid - // HTML block parser. This is a hack to work around the terrible - // hack that is the HTML block parser. - result = result.replace(/\s+$/,""); - result = "<"+list_type+">" + result + "\n"; - return result; - }); - } else { - whole_list = /(\n\n|^\n?)(([ ]{0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(~0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/g; - text = text.replace(whole_list,function(wholeMatch,m1,m2,m3) { - var runup = m1; - var list = m2; - - var list_type = (m3.search(/[*+-]/g)>-1) ? "ul" : "ol"; - // Turn double returns into triple returns, so that we can make a - // paragraph for the last item in a list, if necessary: - var list = list.replace(/\n{2,}/g,"\n\n\n");; - var result = _ProcessListItems(list); - result = runup + "<"+list_type+">\n" + result + "\n"; - return result; - }); - } - - // attacklab: strip sentinel - text = text.replace(/~0/,""); - - return text; -} - -_ProcessListItems = function(list_str) { -// -// Process the contents of a single ordered or unordered list, splitting it -// into individual list items. -// - // The $g_list_level global keeps track of when we're inside a list. - // Each time we enter a list, we increment it; when we leave a list, - // we decrement. If it's zero, we're not in a list anymore. - // - // We do this because when we're not inside a list, we want to treat - // something like this: - // - // I recommend upgrading to version - // 8. Oops, now this line is treated - // as a sub-list. - // - // As a single paragraph, despite the fact that the second line starts - // with a digit-period-space sequence. - // - // Whereas when we're inside a list (or sub-list), that line will be - // treated as the start of a sub-list. What a kludge, huh? This is - // an aspect of Markdown's syntax that's hard to parse perfectly - // without resorting to mind-reading. Perhaps the solution is to - // change the syntax rules such that sub-lists must start with a - // starting cardinal number; e.g. "1." or "a.". - - g_list_level++; - - // trim trailing blank lines: - list_str = list_str.replace(/\n{2,}$/,"\n"); - - // attacklab: add sentinel to emulate \z - list_str += "~0"; - - /* - list_str = list_str.replace(/ - (\n)? // leading line = $1 - (^[ \t]*) // leading whitespace = $2 - ([*+-]|\d+[.]) [ \t]+ // list marker = $3 - ([^\r]+? // list item text = $4 - (\n{1,2})) - (?= \n* (~0 | \2 ([*+-]|\d+[.]) [ \t]+)) - /gm, function(){...}); - */ - list_str = list_str.replace(/(\n)?(^[ \t]*)([*+-]|\d+[.])[ \t]+([^\r]+?(\n{1,2}))(?=\n*(~0|\2([*+-]|\d+[.])[ \t]+))/gm, - function(wholeMatch,m1,m2,m3,m4){ - var item = m4; - var leading_line = m1; - var leading_space = m2; - - if (leading_line || (item.search(/\n{2,}/)>-1)) { - item = _RunBlockGamut(_Outdent(item)); - } - else { - // Recursion for sub-lists: - item = _DoLists(_Outdent(item)); - item = item.replace(/\n$/,""); // chomp(item) - item = _RunSpanGamut(item); - } - - return "
  • " + item + "
  • \n"; - } - ); - - // attacklab: strip sentinel - list_str = list_str.replace(/~0/g,""); - - g_list_level--; - return list_str; -} - - -var _DoCodeBlocks = function(text) { -// -// Process Markdown `
    ` blocks.
    -//
    -
    -  /*
    -    text = text.replace(text,
    -      /(?:\n\n|^)
    -      (               // $1 = the code block -- one or more lines, starting with a space/tab
    -        (?:
    -          (?:[ ]{4}|\t)     // Lines must start with a tab or a tab-width of spaces - attacklab: g_tab_width
    -          .*\n+
    -        )+
    -      )
    -      (\n*[ ]{0,3}[^ \t\n]|(?=~0))  // attacklab: g_tab_width
    -    /g,function(){...});
    -  */
    -
    -  // attacklab: sentinel workarounds for lack of \A and \Z, safari\khtml bug
    -  text += "~0";
    -
    -  text = text.replace(/(?:\n\n|^)((?:(?:[ ]{4}|\t).*\n+)+)(\n*[ ]{0,3}[^ \t\n]|(?=~0))/g,
    -    function(wholeMatch,m1,m2) {
    -      var codeblock = m1;
    -      var nextChar = m2;
    -
    -      codeblock = _EncodeCode( _Outdent(codeblock));
    -      codeblock = _Detab(codeblock);
    -      codeblock = codeblock.replace(/^\n+/g,""); // trim leading newlines
    -      codeblock = codeblock.replace(/\n+$/g,""); // trim trailing whitespace
    -
    -      codeblock = "
    " + codeblock + "\n
    "; - - return hashBlock(codeblock) + nextChar; - } - ); - - // attacklab: strip sentinel - text = text.replace(/~0/,""); - - return text; -}; - -var _DoGithubCodeBlocks = function(text) { -// -// Process Github-style code blocks -// Example: -// ```ruby -// def hello_world(x) -// puts "Hello, #{x}" -// end -// ``` -// - - - // attacklab: sentinel workarounds for lack of \A and \Z, safari\khtml bug - text += "~0"; - - text = text.replace(/(?:^|\n)```(.*)\n([\s\S]*?)\n```/g, - function(wholeMatch,m1,m2) { - var language = m1; - var codeblock = m2; - - codeblock = _EncodeCode(codeblock); - codeblock = _Detab(codeblock); - codeblock = codeblock.replace(/^\n+/g,""); // trim leading newlines - codeblock = codeblock.replace(/\n+$/g,""); // trim trailing whitespace - - codeblock = "
    " + codeblock + "\n
    "; - - return hashBlock(codeblock); - } - ); - - // attacklab: strip sentinel - text = text.replace(/~0/,""); - - return text; -} - -var hashBlock = function(text) { - text = text.replace(/(^\n+|\n+$)/g,""); - return "\n\n~K" + (g_html_blocks.push(text)-1) + "K\n\n"; -} - -var _DoCodeSpans = function(text) { -// -// * Backtick quotes are used for spans. -// -// * You can use multiple backticks as the delimiters if you want to -// include literal backticks in the code span. So, this input: -// -// Just type ``foo `bar` baz`` at the prompt. -// -// Will translate to: -// -//

    Just type foo `bar` baz at the prompt.

    -// -// There's no arbitrary limit to the number of backticks you -// can use as delimters. If you need three consecutive backticks -// in your code, use four for delimiters, etc. -// -// * You can use spaces to get literal backticks at the edges: -// -// ... type `` `bar` `` ... -// -// Turns to: -// -// ... type `bar` ... -// - - /* - text = text.replace(/ - (^|[^\\]) // Character before opening ` can't be a backslash - (`+) // $2 = Opening run of ` - ( // $3 = The code block - [^\r]*? - [^`] // attacklab: work around lack of lookbehind - ) - \2 // Matching closer - (?!`) - /gm, function(){...}); - */ - - text = text.replace(/(^|[^\\])(`+)([^\r]*?[^`])\2(?!`)/gm, - function(wholeMatch,m1,m2,m3,m4) { - var c = m3; - c = c.replace(/^([ \t]*)/g,""); // leading whitespace - c = c.replace(/[ \t]*$/g,""); // trailing whitespace - c = _EncodeCode(c); - return m1+""+c+""; - }); - - return text; -} - -var _EncodeCode = function(text) { -// -// Encode/escape certain characters inside Markdown code runs. -// The point is that in code, these characters are literals, -// and lose their special Markdown meanings. -// - // Encode all ampersands; HTML entities are not - // entities within a Markdown code span. - text = text.replace(/&/g,"&"); - - // Do the angle bracket song and dance: - text = text.replace(//g,">"); - - // Now, escape characters that are magic in Markdown: - text = escapeCharacters(text,"\*_{}[]\\",false); - -// jj the line above breaks this: -//--- - -//* Item - -// 1. Subitem - -// special char: * -//--- - - return text; -} - - -var _DoItalicsAndBold = function(text) { - - // must go first: - text = text.replace(/(\*\*|__)(?=\S)([^\r]*?\S[*_]*)\1/g, - "$2"); - - text = text.replace(/(\*|_)(?=\S)([^\r]*?\S)\1/g, - "$2"); - - return text; -} - - -var _DoBlockQuotes = function(text) { - - /* - text = text.replace(/ - ( // Wrap whole match in $1 - ( - ^[ \t]*>[ \t]? // '>' at the start of a line - .+\n // rest of the first line - (.+\n)* // subsequent consecutive lines - \n* // blanks - )+ - ) - /gm, function(){...}); - */ - - text = text.replace(/((^[ \t]*>[ \t]?.+\n(.+\n)*\n*)+)/gm, - function(wholeMatch,m1) { - var bq = m1; - - // attacklab: hack around Konqueror 3.5.4 bug: - // "----------bug".replace(/^-/g,"") == "bug" - - bq = bq.replace(/^[ \t]*>[ \t]?/gm,"~0"); // trim one level of quoting - - // attacklab: clean up hack - bq = bq.replace(/~0/g,""); - - bq = bq.replace(/^[ \t]+$/gm,""); // trim whitespace-only lines - bq = _RunBlockGamut(bq); // recurse - - bq = bq.replace(/(^|\n)/g,"$1 "); - // These leading spaces screw with
     content, so we need to fix that:
    -      bq = bq.replace(
    -          /(\s*
    [^\r]+?<\/pre>)/gm,
    -        function(wholeMatch,m1) {
    -          var pre = m1;
    -          // attacklab: hack around Konqueror 3.5.4 bug:
    -          pre = pre.replace(/^  /mg,"~0");
    -          pre = pre.replace(/~0/g,"");
    -          return pre;
    -        });
    -
    -      return hashBlock("
    \n" + bq + "\n
    "); - }); - return text; -} - - -var _FormParagraphs = function(text) { -// -// Params: -// $text - string to process with html

    tags -// - - // Strip leading and trailing lines: - text = text.replace(/^\n+/g,""); - text = text.replace(/\n+$/g,""); - - var grafs = text.split(/\n{2,}/g); - var grafsOut = []; - - // - // Wrap

    tags. - // - var end = grafs.length; - for (var i=0; i= 0) { - grafsOut.push(str); - } - else if (str.search(/\S/) >= 0) { - str = _RunSpanGamut(str); - str = str.replace(/^([ \t]*)/g,"

    "); - str += "

    " - grafsOut.push(str); - } - - } - - // - // Unhashify HTML blocks - // - end = grafsOut.length; - for (var i=0; i= 0) { - var blockText = g_html_blocks[RegExp.$1]; - blockText = blockText.replace(/\$/g,"$$$$"); // Escape any dollar signs - grafsOut[i] = grafsOut[i].replace(/~K\d+K/,blockText); - } - } - - return grafsOut.join("\n\n"); -} - - -var _EncodeAmpsAndAngles = function(text) { -// Smart processing for ampersands and angle brackets that need to be encoded. - - // Ampersand-encoding based entirely on Nat Irons's Amputator MT plugin: - // http://bumppo.net/projects/amputator/ - text = text.replace(/&(?!#?[xX]?(?:[0-9a-fA-F]+|\w+);)/g,"&"); - - // Encode naked <'s - text = text.replace(/<(?![a-z\/?\$!])/gi,"<"); - - return text; -} - - -var _EncodeBackslashEscapes = function(text) { -// -// Parameter: String. -// Returns: The string, with after processing the following backslash -// escape sequences. -// - - // attacklab: The polite way to do this is with the new - // escapeCharacters() function: - // - // text = escapeCharacters(text,"\\",true); - // text = escapeCharacters(text,"`*_{}[]()>#+-.!",true); - // - // ...but we're sidestepping its use of the (slow) RegExp constructor - // as an optimization for Firefox. This function gets called a LOT. - - text = text.replace(/\\(\\)/g,escapeCharacters_callback); - text = text.replace(/\\([`*_{}\[\]()>#+-.!])/g,escapeCharacters_callback); - return text; -} - - -var _DoAutoLinks = function(text) { - - text = text.replace(/<((https?|ftp|dict):[^'">\s]+)>/gi,"
    $1"); - - // Email addresses: - - /* - text = text.replace(/ - < - (?:mailto:)? - ( - [-.\w]+ - \@ - [-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+ - ) - > - /gi, _DoAutoLinks_callback()); - */ - text = text.replace(/<(?:mailto:)?([-.\w]+\@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+)>/gi, - function(wholeMatch,m1) { - return _EncodeEmailAddress( _UnescapeSpecialChars(m1) ); - } - ); - - return text; -} - - -var _EncodeEmailAddress = function(addr) { -// -// Input: an email address, e.g. "foo@example.com" -// -// Output: the email address as a mailto link, with each character -// of the address encoded as either a decimal or hex entity, in -// the hopes of foiling most address harvesting spam bots. E.g.: -// -// foo -// @example.com -// -// Based on a filter by Matthew Wickline, posted to the BBEdit-Talk -// mailing list: -// - - var encode = [ - function(ch){return "&#"+ch.charCodeAt(0)+";";}, - function(ch){return "&#x"+ch.charCodeAt(0).toString(16)+";";}, - function(ch){return ch;} - ]; - - addr = "mailto:" + addr; - - addr = addr.replace(/./g, function(ch) { - if (ch == "@") { - // this *must* be encoded. I insist. - ch = encode[Math.floor(Math.random()*2)](ch); - } else if (ch !=":") { - // leave ':' alone (to spot mailto: later) - var r = Math.random(); - // roughly 10% raw, 45% hex, 45% dec - ch = ( - r > .9 ? encode[2](ch) : - r > .45 ? encode[1](ch) : - encode[0](ch) - ); - } - return ch; - }); - - addr = "" + addr + ""; - addr = addr.replace(/">.+:/g,"\">"); // strip the mailto: from the visible part - - return addr; -} - - -var _UnescapeSpecialChars = function(text) { -// -// Swap back in all the special characters we've hidden. -// - text = text.replace(/~E(\d+)E/g, - function(wholeMatch,m1) { - var charCodeToReplace = parseInt(m1); - return String.fromCharCode(charCodeToReplace); - } - ); - return text; -} - - -var _Outdent = function(text) { -// -// Remove one level of line-leading tabs or spaces -// - - // attacklab: hack around Konqueror 3.5.4 bug: - // "----------bug".replace(/^-/g,"") == "bug" - - text = text.replace(/^(\t|[ ]{1,4})/gm,"~0"); // attacklab: g_tab_width - - // attacklab: clean up hack - text = text.replace(/~0/g,"") - - return text; -} - -var _Detab = function(text) { -// attacklab: Detab's completely rewritten for speed. -// In perl we could fix it by anchoring the regexp with \G. -// In javascript we're less fortunate. - - // expand first n-1 tabs - text = text.replace(/\t(?=\t)/g," "); // attacklab: g_tab_width - - // replace the nth with two sentinels - text = text.replace(/\t/g,"~A~B"); - - // use the sentinel to anchor our regex so it doesn't explode - text = text.replace(/~B(.+?)~A/g, - function(wholeMatch,m1,m2) { - var leadingText = m1; - var numSpaces = 4 - leadingText.length % 4; // attacklab: g_tab_width - - // there *must* be a better way to do this: - for (var i=0; i - - - {{panel.content}} - -

    -

    -

    -

    -
    diff --git a/app/dboards/src/app/panels/text/module.js b/app/dboards/src/app/panels/text/module.js deleted file mode 100644 index 37735d3..0000000 --- a/app/dboards/src/app/panels/text/module.js +++ /dev/null @@ -1,101 +0,0 @@ -/** @scratch /panels/5 - * include::panels/text.asciidoc[] - */ - -/** @scratch /panels/text/0 - * == text - * Status: *Stable* - * - * The text panel is used for displaying static text formated as markdown, sanitized html or as plain - * text. - * - */ -define([ - 'angular', - 'app', - 'underscore', - 'require' -], -function (angular, app, _, require) { - 'use strict'; - - var module = angular.module('kibana.panels.text', []); - app.useModule(module); - - module.controller('text', function($scope) { - - $scope.panelMeta = { - description : "A static text panel that can use plain text, markdown, or (sanitized) HTML" - }; - - // Set and populate defaults - var _d = { - mode : "markdown", // 'html', 'markdown', 'text' - content : "", - style: {}, - }; - - _.defaults($scope.panel,_d); - - $scope.init = function() { - $scope.initBaseController(this, $scope); - - $scope.ready = false; - }; - - $scope.render = function() { - $scope.$emit('render'); - }; - - $scope.openEditor = function() { - //$scope.$emit('open-modal','paneleditor'); - console.log('scope id', $scope.$id); - }; - - }); - - module.directive('markdown', function() { - return { - restrict: 'E', - link: function(scope, element) { - scope.$on('render', function() { - render_panel(); - }); - - function render_panel() { - require(['./lib/showdown'], function (Showdown) { - scope.ready = true; - var converter = new Showdown.converter(); - var text = scope.panel.content.replace(/&/g, '&') - .replace(/>/g, '>') - .replace(/'); - }; - }); - - module.filter('striphtml', function () { - return function(text) { - return text - .replace(/&/g, '&') - .replace(/>/g, '>') - .replace(/ - - -
    -
    - -
    - -
    - @ - : - : - . - -
    -
    - -
    - - - -
    -
    - @ - : - : - . - -
    -   Right Now -
    -
    - -
    -
    -
    -
    - - diff --git a/app/dboards/src/app/panels/timepicker/editor.html b/app/dboards/src/app/panels/timepicker/editor.html deleted file mode 100644 index 9fe80e7..0000000 --- a/app/dboards/src/app/panels/timepicker/editor.html +++ /dev/null @@ -1,12 +0,0 @@ -
    -
    -
    - - -
    -
    - - -
    -
    -
    diff --git a/app/dboards/src/app/panels/timepicker/module.html b/app/dboards/src/app/panels/timepicker/module.html deleted file mode 100644 index ea1759d..0000000 --- a/app/dboards/src/app/panels/timepicker/module.html +++ /dev/null @@ -1,56 +0,0 @@ -
    - - -
    - - -
    -
    diff --git a/app/dboards/src/app/panels/timepicker/module.js b/app/dboards/src/app/panels/timepicker/module.js deleted file mode 100644 index da310b6..0000000 --- a/app/dboards/src/app/panels/timepicker/module.js +++ /dev/null @@ -1,197 +0,0 @@ -/* - - ## Timepicker2 - - ### Parameters - * mode :: The default mode of the panel. Options: 'relative', 'absolute' 'since' Default: 'relative' - * time_options :: An array of possible time options. Default: ['5m','15m','1h','6h','12h','24h','2d','7d','30d'] - * timespan :: The default options selected for the relative view. Default: '15m' - * timefield :: The field in which time is stored in the document. - * refresh: Object containing refresh parameters - * enable :: true/false, enable auto refresh by default. Default: false - * interval :: Seconds between auto refresh. Default: 30 - * min :: The lowest interval a user may set -*/ -define([ - 'angular', - 'app', - 'underscore', - 'moment', - 'kbn' -], -function (angular, app, _, moment, kbn) { - 'use strict'; - - var module = angular.module('kibana.panels.timepicker', []); - app.useModule(module); - - module.controller('timepicker', function($scope, $modal, $q) { - $scope.panelMeta = { - status : "Stable", - description : "A panel for controlling the time range filters. If you have time based data, "+ - " or if you're using time stamped indices, you need one of these" - }; - - // Set and populate defaults - var _d = { - status : "Stable", - time_options : ['5m','15m','1h','6h','12h','24h','2d','7d','30d'], - refresh_intervals : ['5s','10s','30s','1m','5m','15m','30m','1h','2h','1d'], - }; - - var customTimeModal = null; - - _.defaults($scope.panel,_d); - - // ng-pattern regexs - $scope.patterns = { - date: /^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/, - hour: /^([01]?[0-9]|2[0-3])$/, - minute: /^[0-5][0-9]$/, - second: /^[0-5][0-9]$/, - millisecond: /^[0-9]*$/ - }; - - $scope.$on('refresh', function() { - $scope.init(); - }); - - $scope.init = function() { - var time = this.filter.timeRange(true); - if(time) { - $scope.panel.now = this.filter.timeRange(false).to === "now" ? true : false; - $scope.time = getScopeTimeObj(time.from,time.to); - } - }; - - $scope.customTime = function() { - if (!customTimeModal) { - customTimeModal = $modal({ - template: './app/panels/timepicker/custom.html', - persist: true, - show: false, - scope: $scope, - keyboard: false - }); - } - - // Assume the form is valid since we're setting it to something valid - $scope.input.$setValidity("dummy", true); - $scope.temptime = cloneTime($scope.time); - - // Date picker needs the date to be at the start of the day - $scope.temptime.from.date.setHours(1,0,0,0); - $scope.temptime.to.date.setHours(1,0,0,0); - - $q.when(customTimeModal).then(function(modalEl) { - modalEl.modal('show'); - }); - }; - - // Constantly validate the input of the fields. This function does not change any date variables - // outside of its own scope - $scope.validate = function(time) { - // Assume the form is valid. There is a hidden dummy input for invalidating it programatically. - $scope.input.$setValidity("dummy", true); - - var _from = datepickerToLocal(time.from.date), - _to = datepickerToLocal(time.to.date), - _t = time; - - if($scope.input.$valid) { - - _from.setHours(_t.from.hour,_t.from.minute,_t.from.second,_t.from.millisecond); - _to.setHours(_t.to.hour,_t.to.minute,_t.to.second,_t.to.millisecond); - - // Check that the objects are valid and to is after from - if(isNaN(_from.getTime()) || isNaN(_to.getTime()) || _from.getTime() >= _to.getTime()) { - $scope.input.$setValidity("dummy", false); - return false; - } - } else { - return false; - } - - return {from:_from,to:_to}; - }; - - $scope.setNow = function() { - $scope.time.to = getTimeObj(new Date()); - }; - - /* - time : { - from: Date - to: Date - } - */ - $scope.setAbsoluteTimeFilter = function (time) { - // Create filter object - var _filter = _.clone(time); - - if($scope.panel.now) { - _filter.to = "now"; - } - - // Set the filter - $scope.panel.filter_id = $scope.filter.setTime(_filter); - - // Update our representation - $scope.time = getScopeTimeObj(time.from,time.to); - }; - - $scope.setRelativeFilter = function(timespan) { - $scope.panel.now = true; - - var _filter = { - from : "now-"+timespan, - to: "now" - }; - - this.filter.setTime(_filter); - - $scope.time = getScopeTimeObj(kbn.parseDate(_filter.from),new Date()); - }; - - var pad = function(n, width, z) { - z = z || '0'; - n = n.toString(); - return n.length >= width ? n : new Array(width - n.length + 1).join(z) + n; - }; - - var cloneTime = function(time) { - var _n = { - from: _.clone(time.from), - to: _.clone(time.to) - }; - // Create new dates as _.clone is shallow. - _n.from.date = new Date(_n.from.date); - _n.to.date = new Date(_n.to.date); - return _n; - }; - - var getScopeTimeObj = function(from,to) { - return { - from: getTimeObj(from), - to: getTimeObj(to) - }; - }; - - var getTimeObj = function(date) { - return { - date: new Date(date), - hour: pad(date.getHours(),2), - minute: pad(date.getMinutes(),2), - second: pad(date.getSeconds(),2), - millisecond: pad(date.getMilliseconds(),3) - }; - }; - - // Do not use the results of this function unless you plan to use setHour/Minutes/etc on the result - var datepickerToLocal = function(date) { - date = moment(date).clone().toDate(); - return moment(new Date(date.getTime() + date.getTimezoneOffset() * 60000)).toDate(); - }; - - }); -}); diff --git a/app/dboards/src/app/panels/timepicker/refreshctrl.html b/app/dboards/src/app/panels/timepicker/refreshctrl.html deleted file mode 100644 index 289e1bf..0000000 --- a/app/dboards/src/app/panels/timepicker/refreshctrl.html +++ /dev/null @@ -1,5 +0,0 @@ -
    -
    - - -
    \ No newline at end of file diff --git a/app/dboards/src/app/partials/dashLoader.html b/app/dboards/src/app/partials/dashLoader.html deleted file mode 100644 index 9e92d00..0000000 --- a/app/dboards/src/app/partials/dashLoader.html +++ /dev/null @@ -1,77 +0,0 @@ - - -
  • - - Back to dashboard - -
  • - -
  • - - Zoom Out - -
  • - -
  • - -
    - - - - -
  • - -
  • - -
  • - - Stop playlist - -
  • \ No newline at end of file diff --git a/app/dboards/src/app/partials/dashLoaderShare.html b/app/dboards/src/app/partials/dashLoaderShare.html deleted file mode 100644 index 7769773..0000000 --- a/app/dboards/src/app/partials/dashLoaderShare.html +++ /dev/null @@ -1,11 +0,0 @@ - - - diff --git a/app/dboards/src/app/partials/dashboard.html b/app/dboards/src/app/partials/dashboard.html deleted file mode 100644 index 0c49761..0000000 --- a/app/dboards/src/app/partials/dashboard.html +++ /dev/null @@ -1,110 +0,0 @@ - - -
    -
    -
    -
    - -
    -
    -
    -
    - - - - - - - {{row.title || 'Row '+$index}} -
    -
    -
    - - - -
    - -
    -
    - -
    - - -
    - -
    - -
    -
    - -
    -
    - -
    -
    -
    -
    -
    - -
    -
    - - ADD A ROW - -
    -
    - -
    -
    -
    \ No newline at end of file diff --git a/app/dboards/src/app/partials/dasheditor.html b/app/dboards/src/app/partials/dasheditor.html deleted file mode 100644 index 4ad8078..0000000 --- a/app/dboards/src/app/partials/dasheditor.html +++ /dev/null @@ -1,161 +0,0 @@ - - - \ No newline at end of file diff --git a/app/dboards/src/app/partials/graphite/editor.html b/app/dboards/src/app/partials/graphite/editor.html deleted file mode 100755 index 48179ec..0000000 --- a/app/dboards/src/app/partials/graphite/editor.html +++ /dev/null @@ -1,105 +0,0 @@ - -
    - -
    - -
    - - - - - - - - - -
    -
    -
    -
    - - diff --git a/app/dboards/src/app/partials/import.html b/app/dboards/src/app/partials/import.html deleted file mode 100644 index eeb481e..0000000 --- a/app/dboards/src/app/partials/import.html +++ /dev/null @@ -1,31 +0,0 @@ -
    -
    Import dashboards from graphite web
    - -
    -
    -
    - - - -
    - -
    -
    - -
    - - - - -
    - {{dash.name}}
    -
    - -
    - {{error}} -
    -
    diff --git a/app/dboards/src/app/partials/influxdb/editor.html b/app/dboards/src/app/partials/influxdb/editor.html deleted file mode 100644 index 9079caa..0000000 --- a/app/dboards/src/app/partials/influxdb/editor.html +++ /dev/null @@ -1,157 +0,0 @@ - -
    - -
    - -
    -
    - - - - - - - - -
    -
    -
    -
    -
    - diff --git a/app/dboards/src/app/partials/inspector.html b/app/dboards/src/app/partials/inspector.html deleted file mode 100644 index e89a575..0000000 --- a/app/dboards/src/app/partials/inspector.html +++ /dev/null @@ -1,68 +0,0 @@ - - \ No newline at end of file diff --git a/app/dboards/src/app/partials/kairosdb/editor.html b/app/dboards/src/app/partials/kairosdb/editor.html deleted file mode 100644 index fdaf391..0000000 --- a/app/dboards/src/app/partials/kairosdb/editor.html +++ /dev/null @@ -1,375 +0,0 @@ -
    -
    - -
    -
    - - - - - - - - -
    - -
    - - - -
    - -
    -
    - - -
    -
    -
    diff --git a/app/dboards/src/app/partials/load.html b/app/dboards/src/app/partials/load.html deleted file mode 100644 index 27d012b..0000000 --- a/app/dboards/src/app/partials/load.html +++ /dev/null @@ -1,4 +0,0 @@ -
    - type: {{type}}
    - id: {{id}}
    -
    \ No newline at end of file diff --git a/app/dboards/src/app/partials/loadmetrics.html b/app/dboards/src/app/partials/loadmetrics.html deleted file mode 100644 index 2665386..0000000 --- a/app/dboards/src/app/partials/loadmetrics.html +++ /dev/null @@ -1,36 +0,0 @@ -
    -
    Load metrics keys into elastic search
    - -

    - Work in progress... -

    - -
    diff --git a/app/dboards/src/app/partials/metrics.html b/app/dboards/src/app/partials/metrics.html deleted file mode 100644 index 02654eb..0000000 --- a/app/dboards/src/app/partials/metrics.html +++ /dev/null @@ -1,17 +0,0 @@ -
    - - -
    - - -
    - - - -
    - -
    diff --git a/app/dboards/src/app/partials/modal.html b/app/dboards/src/app/partials/modal.html deleted file mode 100644 index 38d86cd..0000000 --- a/app/dboards/src/app/partials/modal.html +++ /dev/null @@ -1,12 +0,0 @@ - - - \ No newline at end of file diff --git a/app/dboards/src/app/partials/opentsdb/editor.html b/app/dboards/src/app/partials/opentsdb/editor.html deleted file mode 100644 index 673c5a6..0000000 --- a/app/dboards/src/app/partials/opentsdb/editor.html +++ /dev/null @@ -1,176 +0,0 @@ -
    -
    - -
    -
    - - - - - - -
    -
    - -
    - - -
    -
    -
    -
    -
    diff --git a/app/dboards/src/app/partials/paneladd.html b/app/dboards/src/app/partials/paneladd.html deleted file mode 100644 index f902bbc..0000000 --- a/app/dboards/src/app/partials/paneladd.html +++ /dev/null @@ -1,6 +0,0 @@ -
    -
    -
    -
    {{tab.title}}
    -
    -
    \ No newline at end of file diff --git a/app/dboards/src/app/partials/paneleditor.html b/app/dboards/src/app/partials/paneleditor.html deleted file mode 100644 index 62692c5..0000000 --- a/app/dboards/src/app/partials/paneleditor.html +++ /dev/null @@ -1,23 +0,0 @@ - - - \ No newline at end of file diff --git a/app/dboards/src/app/partials/panelgeneral.html b/app/dboards/src/app/partials/panelgeneral.html deleted file mode 100644 index e239866..0000000 --- a/app/dboards/src/app/partials/panelgeneral.html +++ /dev/null @@ -1,11 +0,0 @@ -
    -
    -
    General options
    -
    - -
    -
    - -
    -
    -
    \ No newline at end of file diff --git a/app/dboards/src/app/partials/playlist.html b/app/dboards/src/app/partials/playlist.html deleted file mode 100644 index 4861d0e..0000000 --- a/app/dboards/src/app/partials/playlist.html +++ /dev/null @@ -1,54 +0,0 @@ -
    - - \ No newline at end of file diff --git a/app/dboards/src/app/partials/roweditor.html b/app/dboards/src/app/partials/roweditor.html deleted file mode 100644 index 8a0032a..0000000 --- a/app/dboards/src/app/partials/roweditor.html +++ /dev/null @@ -1,66 +0,0 @@ - - \ No newline at end of file diff --git a/app/dboards/src/app/partials/search.html b/app/dboards/src/app/partials/search.html deleted file mode 100644 index 0eb1d1d..0000000 --- a/app/dboards/src/app/partials/search.html +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - -