From 44628b0b5bb0afde7d4c86050b65ec542c2c39b5 Mon Sep 17 00:00:00 2001 From: Emmanuel Quentin Date: Tue, 23 Sep 2014 12:05:02 +0200 Subject: [PATCH] Improve build process --- .bowerrc | 2 +- .gitignore | 6 +- Gruntfile.js | 44 +++++---- README.md | 94 ++++++++++++++----- build/ng-admin.min.css | 1 + build/ng-admin.min.js | 11 +++ grunt/grunt-compass.json | 14 +-- grunt/grunt-requirejs.json | 22 ++--- src/index.html => index.html | 4 +- package.json | 17 ++-- src/build/end.frag | 2 + src/build/start.frag | 15 +++ src/{scripts => javascripts}/config-dist.js | 0 .../app.js => javascripts/ng-admin.js} | 4 +- .../ng-admin}/Crud/CrudModule.js | 20 ++-- .../component/controller/DeleteController.js | 0 .../component/controller/FormController.js | 0 .../component/controller/ListController.js | 0 .../component/directive/InfinitePagination.js | 0 .../Crud/component/service/CrudManager.js | 0 .../ng-admin}/Crud/config/routing.js | 0 .../ng-admin/Crud/run/cacheTemplate.js | 20 ++++ .../ng-admin}/Crud/view/create.html | 2 +- .../ng-admin}/Crud/view/delete.html | 0 .../ng-admin}/Crud/view/edit-attribute.html | 2 +- .../ng-admin}/Crud/view/edit.html | 2 +- .../ng-admin}/Crud/view/grid.html | 0 .../ng-admin}/Crud/view/list.html | 2 +- src/javascripts/ng-admin/Main/MainModule.js | 55 +++++++++++ .../component/controller/AppController.js | 0 .../controller/DashboardController.js | 0 .../component/controller/SidebarController.js | 0 .../Main/component/filter/OrderElement.js | 0 .../provider/NgAdminConfiguration.js | 0 .../Main/component/service/PanelBuilder.js | 0 .../Main/component/service/Validator.js | 0 .../component/service/config/Application.js | 2 +- .../component/service/config/Configurable.js | 0 .../Main/component/service/config/Entity.js | 2 +- .../Main/component/service/config/Field.js | 2 +- .../component/service/config/Reference.js | 2 +- .../component/service/config/ReferenceMany.js | 2 +- .../service/config/ReferencedList.js | 2 +- .../ng-admin}/Main/config/routing.js | 0 .../ng-admin}/Main/run/Loader.js | 0 .../ng-admin}/Main/view/dashboard.html | 2 +- .../ng-admin}/Main/view/layout.html | 0 {test => src/javascripts/test}/.jshintrc | 0 {test => src/javascripts/test}/app-test.js | 6 +- {test => src/javascripts/test}/karma.conf.js | 10 +- .../javascripts/test}/mock/Restangular.js | 0 {test => src/javascripts/test}/mock/mixins.js | 0 {test => src/javascripts/test}/mock/q.js | 0 .../javascripts/test}/stub-server.json | 0 .../Crud/component/service/CrudManagerSpec.js | 10 +- sass/screen.scss => src/sass/ng-admin.scss | 10 +- {sass => src/sass}/sb-admin.scss | 0 src/scripts/app/Main/MainModule.js | 55 ----------- 58 files changed, 271 insertions(+), 173 deletions(-) create mode 100644 build/ng-admin.min.css create mode 100644 build/ng-admin.min.js rename src/index.html => index.html (69%) create mode 100644 src/build/end.frag create mode 100644 src/build/start.frag rename src/{scripts => javascripts}/config-dist.js (100%) rename src/{scripts/app.js => javascripts/ng-admin.js} (94%) rename src/{scripts/app => javascripts/ng-admin}/Crud/CrudModule.js (64%) rename src/{scripts/app => javascripts/ng-admin}/Crud/component/controller/DeleteController.js (100%) rename src/{scripts/app => javascripts/ng-admin}/Crud/component/controller/FormController.js (100%) rename src/{scripts/app => javascripts/ng-admin}/Crud/component/controller/ListController.js (100%) rename src/{scripts/app => javascripts/ng-admin}/Crud/component/directive/InfinitePagination.js (100%) rename src/{scripts/app => javascripts/ng-admin}/Crud/component/service/CrudManager.js (100%) rename src/{scripts/app => javascripts/ng-admin}/Crud/config/routing.js (100%) create mode 100644 src/javascripts/ng-admin/Crud/run/cacheTemplate.js rename src/{scripts/app => javascripts/ng-admin}/Crud/view/create.html (81%) rename src/{scripts/app => javascripts/ng-admin}/Crud/view/delete.html (100%) rename src/{scripts/app => javascripts/ng-admin}/Crud/view/edit-attribute.html (96%) rename src/{scripts/app => javascripts/ng-admin}/Crud/view/edit.html (84%) rename src/{scripts/app => javascripts/ng-admin}/Crud/view/grid.html (100%) rename src/{scripts/app => javascripts/ng-admin}/Crud/view/list.html (96%) create mode 100644 src/javascripts/ng-admin/Main/MainModule.js rename src/{scripts/app => javascripts/ng-admin}/Main/component/controller/AppController.js (100%) rename src/{scripts/app => javascripts/ng-admin}/Main/component/controller/DashboardController.js (100%) rename src/{scripts/app => javascripts/ng-admin}/Main/component/controller/SidebarController.js (100%) rename src/{scripts/app => javascripts/ng-admin}/Main/component/filter/OrderElement.js (100%) rename src/{scripts/app => javascripts/ng-admin}/Main/component/provider/NgAdminConfiguration.js (100%) rename src/{scripts/app => javascripts/ng-admin}/Main/component/service/PanelBuilder.js (100%) rename src/{scripts/app => javascripts/ng-admin}/Main/component/service/Validator.js (100%) rename src/{scripts/app => javascripts/ng-admin}/Main/component/service/config/Application.js (95%) rename src/{scripts/app => javascripts/ng-admin}/Main/component/service/config/Configurable.js (100%) rename src/{scripts/app => javascripts/ng-admin}/Main/component/service/config/Entity.js (98%) rename src/{scripts/app => javascripts/ng-admin}/Main/component/service/config/Field.js (96%) rename src/{scripts/app => javascripts/ng-admin}/Main/component/service/config/Reference.js (95%) rename src/{scripts/app => javascripts/ng-admin}/Main/component/service/config/ReferenceMany.js (95%) rename src/{scripts/app => javascripts/ng-admin}/Main/component/service/config/ReferencedList.js (95%) rename src/{scripts/app => javascripts/ng-admin}/Main/config/routing.js (100%) rename src/{scripts/app => javascripts/ng-admin}/Main/run/Loader.js (100%) rename src/{scripts/app => javascripts/ng-admin}/Main/view/dashboard.html (71%) rename src/{scripts/app => javascripts/ng-admin}/Main/view/layout.html (100%) rename {test => src/javascripts/test}/.jshintrc (100%) rename {test => src/javascripts/test}/app-test.js (94%) rename {test => src/javascripts/test}/karma.conf.js (57%) rename {test => src/javascripts/test}/mock/Restangular.js (100%) rename {test => src/javascripts/test}/mock/mixins.js (100%) rename {test => src/javascripts/test}/mock/q.js (100%) rename {test => src/javascripts/test}/stub-server.json (100%) rename {test => src/javascripts/test}/unit/Crud/component/service/CrudManagerSpec.js (96%) rename sass/screen.scss => src/sass/ng-admin.scss (86%) rename {sass => src/sass}/sb-admin.scss (100%) delete mode 100644 src/scripts/app/Main/MainModule.js diff --git a/.bowerrc b/.bowerrc index 49b379a7..61eeaee8 100644 --- a/.bowerrc +++ b/.bowerrc @@ -1,3 +1,3 @@ { - "directory": "src/scripts/bower_components" + "directory": "src/javascripts/bower_components" } diff --git a/.gitignore b/.gitignore index 7e3dc60a..b29b7315 100644 --- a/.gitignore +++ b/.gitignore @@ -2,8 +2,8 @@ node_modules dist .tmp .sass-cache -src/scripts/bower_components -src/scripts/config.js +src/javascripts/bower_components +src/javascripts/config.js src/styles/*.css -src/require +build/require src/css diff --git a/Gruntfile.js b/Gruntfile.js index aed32f17..dd80fc4d 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -11,7 +11,19 @@ module.exports = function (grunt) { ngAnnotate: { ngadmin: { files: { - 'src/build/ng-admin.min.js': ['src/build/ng-admin.min.js'] + 'build/ng-admin.min.js': ['build/ng-admin.min.js'] + } + } + }, + + cssmin: { + combine: { + files: { + 'build/ng-admin.min.css': [ + 'build/ng-admin.css', + 'src/javascripts/bower_components/nprogress/nprogress.css', + 'src/javascripts/bower_components/humane/themes/flatty.css' + ] } } }, @@ -19,20 +31,20 @@ module.exports = function (grunt) { uglify: { ngadmin: { files: { - 'src/build/ng-admin.min.js': ['src/build/ng-admin.min.js'] + 'build/ng-admin.min.js': ['build/ng-admin.min.js'] } } }, - clean: { - build: ["src/build/app", "src/build/bower_components", "src/build/*.js", "!src/build/*.min.js"] + clean : { + build : ["build/*", "!build/*.min.js", "!build/*.min.css"] }, connect: { server: { options: { port: 8000, - base: 'src/', + base: '/', keepalive: true } } @@ -55,27 +67,13 @@ module.exports = function (grunt) { sass: { files: ['sass/*.scss'], tasks: ['assets:css'] - }, - livereload: { - files: [ - // livereload for css files will only inject files without reloading the page - 'assets/css/**/*.css', - // livereload - 'require/*.js' - ], - options: { - // true -> livereload active, but on default port 35729 (provide a number to set the port) - livereload: true, - // debounced since several changes can happen at the same time - debounceDelay: 500 - } } }, // Test settings karma: { unit: { - configFile: 'test/karma.conf.js', + configFile: 'src/javascripts/test/karma.conf.js', singleRun: true } }, @@ -92,9 +90,9 @@ module.exports = function (grunt) { grunt.loadNpmTasks('grunt-contrib-compass'); grunt.loadNpmTasks('grunt-contrib-watch'); grunt.loadNpmTasks('grunt-contrib-connect'); - grunt.loadNpmTasks('grunt-contrib-clean'); grunt.loadNpmTasks('grunt-contrib-uglify'); - grunt.loadNpmTasks('grunt-ng-annotate'); + grunt.loadNpmTasks('grunt-contrib-cssmin'); + grunt.loadNpmTasks('grunt-contrib-clean'); grunt.loadNpmTasks('grunt-concurrent'); grunt.loadNpmTasks('grunt-karma'); @@ -102,7 +100,7 @@ module.exports = function (grunt) { grunt.registerTask('assets:js', ['requirejs:dev']); grunt.registerTask('assets:css', ['compass:dev']); grunt.registerTask('test', ['karma']); - grunt.registerTask('build', ['requirejs:prod', 'ngAnnotate', 'uglify']); + grunt.registerTask('build', ['requirejs:prod', 'uglify', 'compass:prod', 'cssmin:combine', 'clean:build']); // register default task grunt.registerTask('default', ['concurrent:assets_all_dev', 'concurrent:connect_watch']); diff --git a/README.md b/README.md index ae4d1bc0..d668ac6b 100644 --- a/README.md +++ b/README.md @@ -9,10 +9,42 @@ Check out the [online demo](http://ng-admin.marmelab.com/) and the [launch post] # Installation -- Clone the repository. -- Add a configuration file to describe your entities in `lib/config.js`. -- Run the server with the `grunt` command. -- See the result at [http://localhost:8000/](http://localhost:8000/). +Retrieve the module from bower: + +```sh +bower install ng-admin --save +``` + +Include it: + +```html + + + +``` + +Make your application depends on it: +```js +var app = angular.module('myApp', ['ng-admin']); +``` + +Configure ng-admin: +```js +app.config(function(NgAdminConfigurationProvider, Application, Entity, Field, Reference, ReferencedList, ReferenceMany) { + // See below for more information about the configuration + + var app = Application('My backend') + .baseApiUrl('http://localhost:3000/') + .addEntity(/* ... */) + + NgAdminConfigurationProvider.configure(app); +} +``` + +Your application should use a `ui-view`: +```html +
+``` # Configuration @@ -23,14 +55,7 @@ Here is a full example for a backend that will allows you to create, update, del Those posts can be tagged (`tags` entity) and commented (`comments` entity). ```js -define([ - 'lib/config/Application', - 'lib/config/Entity', - 'lib/config/Field', - 'lib/config/ReferencedList', - 'lib/config/ReferenceMany' -], function (Application, Entity, Field, ReferencedList, ReferenceMany) { - "use strict"; +app.config(function(NgAdminConfigurationProvider, Application, Entity, Field, Reference, ReferencedList, ReferenceMany) { var postBody, postId, postCreatedAt; @@ -42,12 +67,13 @@ define([ // define your specific pagination function returning GET parameters .pagination(function(page, maxPerPage) { return { - _start: (page - 1) * maxPerPage, - _end: (page) * maxPerPage - }; + offset: (page - 1) * maxPerPage, + limit: maxPerPage + } }) // enable lazyload pagination .infinitePagination(true) + // Set specific parameter for search .filterQuery(function(query) { return { filter: query @@ -131,22 +157,31 @@ define([ .targetLabel('name') ); - return Application('My backend') + var app = Application('My backend') + // Add extra headers for each actions + .headers(function(entityName, action) { + return { + 'X-User': entityName === 'post' ? 'username' : 'user2', + 'X-Password': 'pwd' + } + } .baseApiUrl('http://localhost:3000/') .addEntity(post) .addEntity(comment) .addEntity(tag); + + NgAdminConfigurationProvider.configure(app); }); ``` -## List of field types +## Field types - `Field` : simple field - `Reference` : association 1-N with another entity - `ReferenceList` : association N-1 - `ReferenceMany` : association N-N -## List of options for `Field` type +### List of options for `Field` type * `type(string ['number'|'text'|'email'|'date'])` Define the field type. @@ -187,7 +222,7 @@ Number of elements displayed in dashboard. Define a custom validation function. -## List of options for `Reference` type +### List of options for `Reference` type The `Reference` type also defines `label`, `order`, `valueTransformer`, `list` & `validation` options like the `Field` type. @@ -197,7 +232,7 @@ Define the referenced entity. * `targetLabel(string)` Define the target field name used to retrieve the label of the referenced element. -## List of options for `ReferencedList` type +### List of options for `ReferencedList` type The `ReferencedList` type also defines `label`, `order`, `valueTransformer`, `list` & `validation` options like the `Field` type. @@ -210,7 +245,7 @@ Define the field name used to link the referenced entity. * `targetFields(Array(Field))` Define an array of fields that will be display in the list of the form. -## List of options for `ReferencedMany` type +### List of options for `ReferencedMany` type The `ReferencedMany` type also defines `label`, `order`, `valueTransformer`, `list` & `validation` options like the `Field` type. @@ -223,6 +258,23 @@ Define the field name used to link the referenced entity. * `targetLabel(string)` Define the target field name used to retrieve the label of the referenced element. +## Build + +Concatenate and minify the app with : +```sh +grunt build +``` + +## Tests + +Tests are lunched with karma by grunt: + +``` +grunt test +``` + +A new `build/ng-admin.min.js` file will be created. + ## Contributing Your feedback about the usage of ng-admin in your specific context is valuable, don't hesitate to [open GitHub Issues](https://github.com/marmelab/ng-admin/issues) for any problem or question you may have. diff --git a/build/ng-admin.min.css b/build/ng-admin.min.css new file mode 100644 index 00000000..51f519b9 --- /dev/null +++ b/build/ng-admin.min.css @@ -0,0 +1 @@ +/*! normalize.css v3.0.1 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0}mark{background:#ff0;color:#000}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}@media print{*{text-shadow:none!important;color:#000!important;background:0 0!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.table td,.table th{background-color:#fff!important}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../src/javascripts/bower_components/bootstrap-sass-official/vendor/assets/fonts/bootstrap/glyphicons-halflings-regular.eot);src:url(../src/javascripts/bower_components/bootstrap-sass-official/vendor/assets/fonts/bootstrap/glyphicons-halflings-regular.eot?#iefix) format("embedded-opentype"),url(../src/javascripts/bower_components/bootstrap-sass-official/vendor/assets/fonts/bootstrap/glyphicons-halflings-regular.woff) format("woff"),url(../src/javascripts/bower_components/bootstrap-sass-official/vendor/assets/fonts/bootstrap/glyphicons-halflings-regular.ttf) format("truetype"),url(../src/javascripts/bower_components/bootstrap-sass-official/vendor/assets/fonts/bootstrap/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format("svg")}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:62.5%;-webkit-tap-highlight-color:transparent}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857;color:#333}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#428bca;text-decoration:none}a:focus,a:hover{color:#2a6496;text-decoration:underline}a:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#999}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:200;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}cite{font-style:normal}.mark,mark{background-color:#fcf8e3;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-muted{color:#999}.text-primary{color:#428bca}a.text-primary:hover{color:#3071a9}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#428bca}a.bg-primary:hover{background-color:#3071a9}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-inline,.list-unstyled{padding-left:0;list-style:none}.list-inline{margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857}dt{font-weight:700}dd{margin-left:0}.dl-horizontal dd:after,.dl-horizontal dd:before{content:" ";display:table}.dl-horizontal dd:after{clear:both}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #999}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857;color:#999}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0;text-align:right}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}blockquote:after,blockquote:before{content:""}address{margin-bottom:20px;font-style:normal;line-height:1.42857}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857;word-break:break-all;word-wrap:break-word;color:#333;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.container:after,.container:before{content:" ";display:table}.container:after{clear:both}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.container-fluid:after,.container-fluid:before{content:" ";display:table}.container-fluid:after{clear:both}.row{margin-left:-15px;margin-right:-15px}.row:after,.row:before{content:" ";display:table}.row:after{clear:both}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-1{width:8.33333%}.col-xs-2{width:16.66667%}.col-xs-3{width:25%}.col-xs-4{width:33.33333%}.col-xs-5{width:41.66667%}.col-xs-6{width:50%}.col-xs-7{width:58.33333%}.col-xs-8{width:66.66667%}.col-xs-9{width:75%}.col-xs-10{width:83.33333%}.col-xs-11{width:91.66667%}.col-xs-12{width:100%}.col-xs-pull-0{right:auto}.col-xs-pull-1{right:8.33333%}.col-xs-pull-2{right:16.66667%}.col-xs-pull-3{right:25%}.col-xs-pull-4{right:33.33333%}.col-xs-pull-5{right:41.66667%}.col-xs-pull-6{right:50%}.col-xs-pull-7{right:58.33333%}.col-xs-pull-8{right:66.66667%}.col-xs-pull-9{right:75%}.col-xs-pull-10{right:83.33333%}.col-xs-pull-11{right:91.66667%}.col-xs-pull-12{right:100%}.col-xs-push-0{left:auto}.col-xs-push-1{left:8.33333%}.col-xs-push-2{left:16.66667%}.col-xs-push-3{left:25%}.col-xs-push-4{left:33.33333%}.col-xs-push-5{left:41.66667%}.col-xs-push-6{left:50%}.col-xs-push-7{left:58.33333%}.col-xs-push-8{left:66.66667%}.col-xs-push-9{left:75%}.col-xs-push-10{left:83.33333%}.col-xs-push-11{left:91.66667%}.col-xs-push-12{left:100%}.col-xs-offset-0{margin-left:0}.col-xs-offset-1{margin-left:8.33333%}.col-xs-offset-2{margin-left:16.66667%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-4{margin-left:33.33333%}.col-xs-offset-5{margin-left:41.66667%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-7{margin-left:58.33333%}.col-xs-offset-8{margin-left:66.66667%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-10{margin-left:83.33333%}.col-xs-offset-11{margin-left:91.66667%}.col-xs-offset-12{margin-left:100%}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-1{width:8.33333%}.col-sm-2{width:16.66667%}.col-sm-3{width:25%}.col-sm-4{width:33.33333%}.col-sm-5{width:41.66667%}.col-sm-6{width:50%}.col-sm-7{width:58.33333%}.col-sm-8{width:66.66667%}.col-sm-9{width:75%}.col-sm-10{width:83.33333%}.col-sm-11{width:91.66667%}.col-sm-12{width:100%}.col-sm-pull-0{right:auto}.col-sm-pull-1{right:8.33333%}.col-sm-pull-2{right:16.66667%}.col-sm-pull-3{right:25%}.col-sm-pull-4{right:33.33333%}.col-sm-pull-5{right:41.66667%}.col-sm-pull-6{right:50%}.col-sm-pull-7{right:58.33333%}.col-sm-pull-8{right:66.66667%}.col-sm-pull-9{right:75%}.col-sm-pull-10{right:83.33333%}.col-sm-pull-11{right:91.66667%}.col-sm-pull-12{right:100%}.col-sm-push-0{left:auto}.col-sm-push-1{left:8.33333%}.col-sm-push-2{left:16.66667%}.col-sm-push-3{left:25%}.col-sm-push-4{left:33.33333%}.col-sm-push-5{left:41.66667%}.col-sm-push-6{left:50%}.col-sm-push-7{left:58.33333%}.col-sm-push-8{left:66.66667%}.col-sm-push-9{left:75%}.col-sm-push-10{left:83.33333%}.col-sm-push-11{left:91.66667%}.col-sm-push-12{left:100%}.col-sm-offset-0{margin-left:0}.col-sm-offset-1{margin-left:8.33333%}.col-sm-offset-2{margin-left:16.66667%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.33333%}.col-sm-offset-5{margin-left:41.66667%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-7{margin-left:58.33333%}.col-sm-offset-8{margin-left:66.66667%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-10{margin-left:83.33333%}.col-sm-offset-11{margin-left:91.66667%}.col-sm-offset-12{margin-left:100%}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-1{width:8.33333%}.col-md-2{width:16.66667%}.col-md-3{width:25%}.col-md-4{width:33.33333%}.col-md-5{width:41.66667%}.col-md-6{width:50%}.col-md-7{width:58.33333%}.col-md-8{width:66.66667%}.col-md-9{width:75%}.col-md-10{width:83.33333%}.col-md-11{width:91.66667%}.col-md-12{width:100%}.col-md-pull-0{right:auto}.col-md-pull-1{right:8.33333%}.col-md-pull-2{right:16.66667%}.col-md-pull-3{right:25%}.col-md-pull-4{right:33.33333%}.col-md-pull-5{right:41.66667%}.col-md-pull-6{right:50%}.col-md-pull-7{right:58.33333%}.col-md-pull-8{right:66.66667%}.col-md-pull-9{right:75%}.col-md-pull-10{right:83.33333%}.col-md-pull-11{right:91.66667%}.col-md-pull-12{right:100%}.col-md-push-0{left:auto}.col-md-push-1{left:8.33333%}.col-md-push-2{left:16.66667%}.col-md-push-3{left:25%}.col-md-push-4{left:33.33333%}.col-md-push-5{left:41.66667%}.col-md-push-6{left:50%}.col-md-push-7{left:58.33333%}.col-md-push-8{left:66.66667%}.col-md-push-9{left:75%}.col-md-push-10{left:83.33333%}.col-md-push-11{left:91.66667%}.col-md-push-12{left:100%}.col-md-offset-0{margin-left:0}.col-md-offset-1{margin-left:8.33333%}.col-md-offset-2{margin-left:16.66667%}.col-md-offset-3{margin-left:25%}.col-md-offset-4{margin-left:33.33333%}.col-md-offset-5{margin-left:41.66667%}.col-md-offset-6{margin-left:50%}.col-md-offset-7{margin-left:58.33333%}.col-md-offset-8{margin-left:66.66667%}.col-md-offset-9{margin-left:75%}.col-md-offset-10{margin-left:83.33333%}.col-md-offset-11{margin-left:91.66667%}.col-md-offset-12{margin-left:100%}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-1{width:8.33333%}.col-lg-2{width:16.66667%}.col-lg-3{width:25%}.col-lg-4{width:33.33333%}.col-lg-5{width:41.66667%}.col-lg-6{width:50%}.col-lg-7{width:58.33333%}.col-lg-8{width:66.66667%}.col-lg-9{width:75%}.col-lg-10{width:83.33333%}.col-lg-11{width:91.66667%}.col-lg-12{width:100%}.col-lg-pull-0{right:auto}.col-lg-pull-1{right:8.33333%}.col-lg-pull-2{right:16.66667%}.col-lg-pull-3{right:25%}.col-lg-pull-4{right:33.33333%}.col-lg-pull-5{right:41.66667%}.col-lg-pull-6{right:50%}.col-lg-pull-7{right:58.33333%}.col-lg-pull-8{right:66.66667%}.col-lg-pull-9{right:75%}.col-lg-pull-10{right:83.33333%}.col-lg-pull-11{right:91.66667%}.col-lg-pull-12{right:100%}.col-lg-push-0{left:auto}.col-lg-push-1{left:8.33333%}.col-lg-push-2{left:16.66667%}.col-lg-push-3{left:25%}.col-lg-push-4{left:33.33333%}.col-lg-push-5{left:41.66667%}.col-lg-push-6{left:50%}.col-lg-push-7{left:58.33333%}.col-lg-push-8{left:66.66667%}.col-lg-push-9{left:75%}.col-lg-push-10{left:83.33333%}.col-lg-push-11{left:91.66667%}.col-lg-push-12{left:100%}.col-lg-offset-0{margin-left:0}.col-lg-offset-1{margin-left:8.33333%}.col-lg-offset-2{margin-left:16.66667%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-4{margin-left:33.33333%}.col-lg-offset-5{margin-left:41.66667%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-7{margin-left:58.33333%}.col-lg-offset-8{margin-left:66.66667%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-10{margin-left:83.33333%}.col-lg-offset-11{margin-left:91.66667%}.col-lg-offset-12{margin-left:100%}}table{max-width:100%;background-color:transparent}th{text-align:left}.table{width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered,.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.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:#f5f5f5}table col[class*=col-]{position:static;float:none;display:table-column}table td[class*=col-],table th[class*=col-]{position:static;float:none;display:table-cell}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;overflow-x:scroll;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd;-webkit-overflow-scrolling:touch}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee;opacity:1}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{line-height:34px;line-height:1.42857 \0}.input-group-sm>.input-group-btn>input[type=date].btn,.input-group-sm>.input-group-btn>input[type=datetime-local].btn,.input-group-sm>.input-group-btn>input[type=month].btn,.input-group-sm>.input-group-btn>input[type=time].btn,.input-group-sm>input[type=date].form-control,.input-group-sm>input[type=date].input-group-addon,.input-group-sm>input[type=datetime-local].form-control,.input-group-sm>input[type=datetime-local].input-group-addon,.input-group-sm>input[type=month].form-control,.input-group-sm>input[type=month].input-group-addon,.input-group-sm>input[type=time].form-control,.input-group-sm>input[type=time].input-group-addon,input[type=date].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm,input[type=time].input-sm{line-height:30px}.input-group-lg>.input-group-btn>input[type=date].btn,.input-group-lg>.input-group-btn>input[type=datetime-local].btn,.input-group-lg>.input-group-btn>input[type=month].btn,.input-group-lg>.input-group-btn>input[type=time].btn,.input-group-lg>input[type=date].form-control,.input-group-lg>input[type=date].input-group-addon,.input-group-lg>input[type=datetime-local].form-control,.input-group-lg>input[type=datetime-local].input-group-addon,.input-group-lg>input[type=month].form-control,.input-group-lg>input[type=month].input-group-addon,.input-group-lg>input[type=time].form-control,.input-group-lg>input[type=time].input-group-addon,input[type=date].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg,input[type=time].input-lg{line-height:46px}.form-group{margin-bottom:15px}.checkbox,.radio{display:block;min-height:20px;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{float:left;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:400;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}.checkbox-inline[disabled],.checkbox[disabled],.radio-inline[disabled],.radio[disabled],fieldset[disabled] .checkbox,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio,fieldset[disabled] .radio-inline,fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox][disabled],input[type=radio][disabled]{cursor:not-allowed}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn,.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.input-group-sm>.input-group-btn>select.btn,.input-group-sm>select.form-control,.input-group-sm>select.input-group-addon,select.input-sm{height:30px;line-height:30px}.input-group-sm>.input-group-btn>select[multiple].btn,.input-group-sm>.input-group-btn>textarea.btn,.input-group-sm>select[multiple].form-control,.input-group-sm>select[multiple].input-group-addon,.input-group-sm>textarea.form-control,.input-group-sm>textarea.input-group-addon,select[multiple].input-sm,textarea.input-sm{height:auto}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn,.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.input-group-lg>.input-group-btn>select.btn,.input-group-lg>select.form-control,.input-group-lg>select.input-group-addon,select.input-lg{height:46px;line-height:46px}.input-group-lg>.input-group-btn>select[multiple].btn,.input-group-lg>.input-group-btn>textarea.btn,.input-group-lg>select[multiple].form-control,.input-group-lg>select[multiple].input-group-addon,.input-group-lg>textarea.form-control,.input-group-lg>textarea.input-group-addon,select[multiple].input-lg,textarea.input-lg{height:auto}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:25px;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center}.input-group-lg>.form-control+.form-control-feedback,.input-group-lg>.input-group-addon+.form-control-feedback,.input-group-lg>.input-group-btn>.btn+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-group-sm>.form-control+.form-control-feedback,.input-group-sm>.input-group-addon+.form-control-feedback,.input-group-sm>.input-group-btn>.btn+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede}.has-error .form-control-feedback{color:#a94442}.form-control-static{margin-bottom:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group,.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control,.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .input-group,.navbar-form .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control,.navbar-form .input-group>.form-control{width:100%}.form-inline .control-label,.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio,.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;padding-left:0;vertical-align:middle}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio],.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{float:none;margin-left:0}.form-inline .has-feedback .form-control-feedback,.navbar-form .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{margin-top:0;margin-bottom:0;padding-top:7px}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}.form-horizontal .form-group:after,.form-horizontal .form-group:before{content:" ";display:table}.form-horizontal .form-group:after{clear:both}.form-horizontal .form-control-static{padding-top:7px;padding-bottom:7px}@media (min-width:768px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:7px}}.form-horizontal .has-feedback .form-control-feedback{top:0;right:15px}.btn{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;vertical-align:middle;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.42857;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn.active:focus,.btn:active:focus,.btn:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;pointer-events:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.active,.btn-default:active,.btn-default:focus,.btn-default:hover,.open>.btn-default.dropdown-toggle{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.btn-default.dropdown-toggle{background-image:none}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}.btn-primary.active,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open>.btn-primary.dropdown-toggle{color:#fff;background-color:#3071a9;border-color:#285e8e}.btn-primary.active,.btn-primary:active,.open>.btn-primary.dropdown-toggle{background-image:none}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#428bca;border-color:#357ebd}.btn-primary .badge{color:#428bca;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.active,.btn-success:active,.btn-success:focus,.btn-success:hover,.open>.btn-success.dropdown-toggle{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.btn-success.dropdown-toggle{background-image:none}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.active,.btn-info:active,.btn-info:focus,.btn-info:hover,.open>.btn-info.dropdown-toggle{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.btn-info.dropdown-toggle{background-image:none}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.active,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open>.btn-warning.dropdown-toggle{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.btn-warning.dropdown-toggle{background-image:none}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.active,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open>.btn-danger.dropdown-toggle{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.btn-danger.dropdown-toggle{background-image:none}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{color:#428bca;font-weight:400;cursor:pointer;border-radius:0}.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#2a6496;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#999;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%;padding-left:0;padding-right:0}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{text-decoration:none;color:#262626;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;outline:0;background-color:#428bca}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#999}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857;color:#999}.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;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group-vertical>.btn:focus,.btn-group>.btn:focus{outline:0}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar:after,.btn-toolbar:before{content:" ";display:table}.btn-toolbar:after{clear:both}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group-lg.btn-group>.btn+.dropdown-toggle,.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-group-lg>.btn .caret,.btn-lg .caret{border-width:5px 5px 0}.dropup .btn-group-lg>.btn .caret,.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before{content:" ";display:table}.btn-group-vertical>.btn-group:after{clear:both}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:4px;border-top-right-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}[data-toggle=buttons]>.btn>input[type=checkbox],[data-toggle=buttons]>.btn>input[type=radio]{position:absolute;z-index:-1;opacity:0}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav:after,.nav:before{content:" ";display:table}.nav:after{clear:both}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#999}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#999;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#428bca}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#428bca}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified,.nav-tabs.nav-justified{width:100%}.nav-justified>li,.nav-tabs.nav-justified>li{float:none}.nav-justified>li>a,.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li,.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a,.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified,.nav-tabs.nav-justified{border-bottom:0}.nav-tabs-justified>li>a,.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a,.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.navbar:after,.navbar:before{content:" ";display:table}.navbar:after{clear:both}@media (min-width:768px){.navbar{border-radius:4px}}.navbar-header:after,.navbar-header:before{content:" ";display:table}.navbar-header:after{clear:both}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.navbar-collapse:after,.navbar-collapse:before{content:" ";display:table}.navbar-collapse:after{clear:both}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:15px;font-size:18px;line-height:20px;height:50px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}.navbar-nav.navbar-right:last-child{margin-right:-15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important}}.navbar-form{margin:8px -15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@media (min-width:768px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}.navbar-form.navbar-right:last-child{margin-right:-15px}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.btn-group-sm>.navbar-btn.btn,.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.btn-group-xs>.navbar-btn.btn,.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}.navbar-text.navbar-right:last-child{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-nav>li>a,.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{background-color:#e7e7e7;color:#555}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#090909}.navbar-inverse .navbar-brand{color:#999}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>li>a,.navbar-inverse .navbar-text{color:#999}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#090909}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{background-color:#090909;color:#fff}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#999}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#999}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:"/\00a0";padding:0 5px;color:#ccc}.breadcrumb>.active{color:#999}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;line-height:1.42857;text-decoration:none;color:#428bca;background-color:#fff;border:1px solid #ddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{color:#2a6496;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca;cursor:default}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#999;background-color:#fff;border-color:#ddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:20px 0;list-style:none;text-align:center}.pager:after,.pager:before{content:" ";display:table}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#999;background-color:#fff;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.label:empty{display:none}.btn .label{position:relative;top:-1px}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label-default{background-color:#999}.label-default[href]:focus,.label-default[href]:hover{background-color:gray}.label-primary{background-color:#428bca}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#3071a9}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;color:#fff;line-height:1;vertical-align:baseline;white-space:nowrap;text-align:center;background-color:#999;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}.nav-pills>.active>a>.badge,a.list-group-item.active>.badge{color:#428bca;background-color:#fff}.nav-pills>li>a>.badge{margin-left:3px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.jumbotron{padding:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-left:60px;padding-right:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto;margin-left:auto;margin-right:auto}.thumbnail .caption{padding:9px;color:#333}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#428bca}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable{padding-right:35px}.alert-dismissable .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:40px 40px}.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar[aria-valuenow="1"],.progress-bar[aria-valuenow="2"]{min-width:30px}.progress-bar[aria-valuenow="0"]{color:#999;min-width:30px;background-color:transparent;background-image:none;box-shadow:none}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media,.media-body{overflow:hidden;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{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover{text-decoration:none;color:#555;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{background-color:#eee;color:#999}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#999}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.list-group-item.active .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#e1edf7}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-body:after,.panel-body:before{content:" ";display:table}.panel-body:after{clear:both}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group{margin-bottom:0}.panel>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}.panel>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#428bca}.panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#428bca}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#428bca}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:auto;overflow-y:scroll;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5;min-height:16.43px}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer:after,.modal-footer:before{content:" ";display:table}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;visibility:visible;font-size:12px;line-height:1.4;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;right:5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;text-align:left;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);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:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,.05);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,.05)}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#fff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.05);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.05)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#fff;bottom:-10px}.carousel{position:relative}.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{display:block;max-width:100%;height:auto;line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:.5;filter:alpha(opacity=50);font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-control.left{background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.5) 0),color-stop(rgba(0,0,0,.0001) 100%));background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.0001) 0),color-stop(rgba(0,0,0,.5) 100%));background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:focus,.carousel-control:hover{outline:0;color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;margin-top:-10px;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #fff;border-radius:10px;cursor:pointer;background-color:transparent}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#fff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:after,.clearfix:before{content:" ";display:table}.clearfix:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important;visibility:hidden!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-print,.visible-print-block,.visible-print-inline,.visible-print-inline-block,.visible-sm,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}@media print{.visible-print-block{display:block!important}}@media print{.visible-print-inline{display:inline!important}}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}body{padding-top:100px;background-color:#f8f8f8}@media (min-width:768px){body{padding-top:50px}}#wrapper{width:100%}#page-wrapper{padding:0 15px;min-height:568px;background-color:#F1F2F7}@media (min-width:768px){#page-wrapper{position:inherit;margin:0 0 0 250px;padding:0 30px;min-height:1300px;border-left:1px solid #e7e7e7}}.navbar-top-links li{display:inline-block}.navbar-top-links li:last-child{margin-right:15px}.navbar-top-links li a{padding:15px;min-height:50px}.navbar-top-links .dropdown-menu li{display:block}.navbar-top-links .dropdown-menu li:last-child{margin-right:0}.navbar-top-links .dropdown-menu li a{padding:3px 20px;min-height:0}.navbar-top-links .dropdown-menu li a div{white-space:normal}.navbar-top-links .dropdown-alerts,.navbar-top-links .dropdown-messages,.navbar-top-links .dropdown-tasks{width:310px;min-width:0}.navbar-top-links .dropdown-messages{margin-left:5px}.navbar-top-links .dropdown-tasks{margin-left:-59px}.navbar-top-links .dropdown-alerts{margin-left:-123px}.navbar-top-links .dropdown-user{right:0;left:auto}.navbar-static-side ul li{border-bottom:1px solid #e7e7e7}.sidebar-search{padding:15px}.arrow{float:right}.fa.arrow:before{content:"\f104"}.active>a>.fa.arrow:before{content:"\f107"}.nav-second-level li,.nav-third-level li{border-bottom:none!important}.nav-second-level li a{padding-left:37px}.nav-third-level li a{padding-left:52px}@media (min-width:768px){.navbar-static-side{z-index:1;position:fixed;width:250px;margin-top:51px}.navbar-top-links .dropdown-alerts,.navbar-top-links .dropdown-messages,.navbar-top-links .dropdown-tasks{margin-left:auto}}@media (max-height:600px) and (max-width:767px){.sidebar-collapse{max-height:300px;overflow-y:scroll}}@media (max-height:400px) and (max-width:767px){.sidebar-collapse{max-height:200px;overflow-y:scroll}}.btn-outline{color:inherit;background-color:transparent;transition:all .5s}.btn-primary.btn-outline{color:#428bca}.btn-success.btn-outline{color:#5cb85c}.btn-info.btn-outline{color:#5bc0de}.btn-warning.btn-outline{color:#f0ad4e}.btn-danger.btn-outline{color:#d9534f}.btn-danger.btn-outline:hover,.btn-info.btn-outline:hover,.btn-primary.btn-outline:hover,.btn-success.btn-outline:hover,.btn-warning.btn-outline:hover{color:#fff}.chat{margin:0;padding:0;list-style:none}.chat li{margin-bottom:10px;padding-bottom:5px;border-bottom:1px dotted #B3A9A9}.chat li.left .chat-body{margin-left:60px}.chat li.right .chat-body{margin-right:60px}.chat li .chat-body p{margin:0;color:#777}.chat .glyphicon,.panel .slidedown .glyphicon{margin-right:5px}.chat-panel .panel-body{height:350px;overflow-y:scroll}.login-panel{margin-top:25%}.flot-chart{display:block;height:400px}.flot-chart-content{width:100%;height:100%}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_desc_disabled{background:0 0}table.dataTable thead .sorting_asc:after{content:"\f0de";float:right;font-family:fontawesome}table.dataTable thead .sorting_desc:after{content:"\f0dd";float:right;font-family:fontawesome}table.dataTable thead .sorting:after{content:"\f0dc";float:right;font-family:fontawesome;color:rgba(50,50,50,.5)}.btn-circle{width:30px;height:30px;padding:6px 0;border-radius:15px;text-align:center;font-size:12px;line-height:1.428571429}.btn-circle.btn-lg,.btn-group-lg>.btn-circle.btn{width:50px;height:50px;padding:10px 16px;border-radius:25px;font-size:18px;line-height:1.33}.btn-circle.btn-xl{width:70px;height:70px;padding:10px 16px;border-radius:35px;font-size:24px;line-height:1.33}.show-grid [class^=col-]{padding-top:10px;padding-bottom:10px;border:1px solid #ddd;background-color:#eee!important}.show-grid{margin:15px 0}#nprogress div.spinner{width:18px;margin-left:-9px;left:50%}.nav a{cursor:pointer}.nav>li.heading{position:relative;display:block;padding:10px 15px;color:#777}#header{padding:30px 0}#header h1{margin:0}#header h2{font-size:14px;margin-top:5px}.dashboard-content .panel-default{padding:0;margin:0 1%;overflow:scroll}.dashboard-content .panel-default table{width:100%}.dashboard-content .panel-default table thead{font-weight:700}.dashboard-content .panel-default table tr{height:40px}.dashboard-content .grid{border:none}.controls{text-align:right}.grid{background-color:#FFF;width:100%}.grid .label-default{margin-right:5px;font-weight:400;font-size:12px;padding-top:4px;text-decoration:none}.grid tr{height:40px}.grid td{padding-left:10px;padding-right:10px;background-color:#FFF}.grid td a{color:#000;cursor:pointer}.grid td a.multiple:hover{text-decoration:none}.grid thead tr{border-bottom:1px solid #E7E7E7;font-weight:700;background-color:#FFF}.grid tbody tr{border-bottom:1px solid #E7E7E7}.grid tbody .fa-surface:hover div,.grid tbody .tr:hover{background-color:#f6f9fe}div.bottom-loader{margin-top:40px;position:inherit;width:auto;height:auto}div.bottom-loader:after{position:relative;display:inherit;margin:0 auto}div.bottom-loader:before{display:none}.form-horizontal .read-only p{margin-bottom:0;padding-top:7px}.form-horizontal textarea{height:150px}#header-nav{background:#FFF;border-bottom:1px solid #e6e6e6;z-index:2}#wrapper{background-color:#FFF}#wrapper #page-wrapper{min-height:inherit}.navbar-static-side{margin-top:10px}#side-menu{background-color:#FFF;font-size:12px}#side-menu a{color:#767676}#side-menu li{margin:0 10px 10px;padding:3px 0;border-radius:3px;background-color:#F1F2F7}#side-menu li.active,#side-menu li:hover,#side-menu li:hover a{background-color:#FDD752;font-weight:700}#filter{position:absolute;right:0;top:0;z-index:2}#filter button{padding-bottom:7px}#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;-webkit-transform:rotate(3deg) translate(0px,-4px);-ms-transform:rotate(3deg) translate(0px,-4px);transform:rotate(3deg) translate(0px,-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;-webkit-animation:nprogress-spinner 400ms linear infinite;animation:nprogress-spinner 400ms linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg)}}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}body,html{min-height:100%}.humane,.humane-flatty{position:fixed;-moz-transition:all .4s ease-in-out;-webkit-transition:all .4s ease-in-out;-ms-transition:all .4s ease-in-out;-o-transition:all .4s ease-in-out;transition:all .4s ease-in-out;z-index:100000;filter:alpha(Opacity=100);font-family:Helvetica Neue,Helvetica,san-serif;font-size:16px;top:0;left:30%;opacity:0;width:40%;color:#444;padding:10px;text-align:center;background-color:#fff;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;-moz-border-radius-bottomright:3px;-moz-border-radius-bottomleft:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.5);box-shadow:0 1px 2px rgba(0,0,0,.5);-moz-transform:translateY(-100px);-webkit-transform:translateY(-100px);-ms-transform:translateY(-100px);-o-transform:translateY(-100px);transform:translateY(-100px)}.humane p,.humane ul,.humane-flatty p,.humane-flatty ul{margin:0;padding:0}.humane ul,.humane-flatty ul{list-style:none}.humane-flatty.humane-flatty-info,.humane.humane-flatty-info{background-color:#3498db;color:#FFF}.humane-flatty.humane-flatty-success,.humane.humane-flatty-success{background-color:#18bc9c;color:#FFF}.humane-flatty.humane-flatty-error,.humane.humane-flatty-error{background-color:#e74c3c;color:#FFF}.humane-animate,.humane-flatty.humane-flatty-animate{opacity:1;-moz-transform:translateY(0);-webkit-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0)}.humane-animate:hover,.humane-flatty.humane-flatty-animate:hover{opacity:.7}.humane-flatty.humane-flatty-js-animate,.humane-js-animate{opacity:1;-moz-transform:translateY(0);-webkit-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0)}.humane-flatty.humane-flatty-js-animate:hover,.humane-js-animate:hover{opacity:.7;filter:alpha(Opacity=70)} \ No newline at end of file diff --git a/build/ng-admin.min.js b/build/ng-admin.min.js new file mode 100644 index 00000000..2ad55101 --- /dev/null +++ b/build/ng-admin.min.js @@ -0,0 +1,11 @@ +!function(a,b){"function"==typeof define&&define.amd?define(b):"object"==typeof exports?module.exports=b():a.gremlins=b()}(this,function(){var a,b,c;return function(d){function e(a,b){return u.call(a,b)}function f(a,b){var c,d,e,f,g,h,i,j,k,l,m,n=b&&b.split("/"),o=s.map,p=o&&o["*"]||{};if(a&&"."===a.charAt(0))if(b){for(n=n.slice(0,n.length-1),a=a.split("/"),g=a.length-1,s.nodeIdCompat&&w.test(a[g])&&(a[g]=a[g].replace(w,"")),a=n.concat(a),k=0;k0&&(a.splice(k-1,2),k-=2)}a=a.join("/")}else 0===a.indexOf("./")&&(a=a.substring(2));if((n||p)&&o){for(c=a.split("/"),k=c.length;k>0;k-=1){if(d=c.slice(0,k).join("/"),n)for(l=n.length;l>0;l-=1)if(e=o[n.slice(0,l).join("/")],e&&(e=e[d])){f=e,h=k;break}if(f)break;!i&&p&&p[d]&&(i=p[d],j=k)}!f&&i&&(f=i,h=j),f&&(c.splice(0,h,f),a=c.join("/"))}return a}function g(a,b){return function(){var c=v.call(arguments,0);return"string"!=typeof c[0]&&1===c.length&&c.push(null),n.apply(d,c.concat([a,b]))}}function h(a){return function(b){return f(b,a)}}function i(a){return function(b){q[a]=b}}function j(a){if(e(r,a)){var b=r[a];delete r[a],t[a]=!0,m.apply(d,b)}if(!e(q,a)&&!e(t,a))throw new Error("No "+a);return q[a]}function k(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 l(a){return function(){return s&&s.config&&s.config[a]||{}}}var m,n,o,p,q={},r={},s={},t={},u=Object.prototype.hasOwnProperty,v=[].slice,w=/\.js$/;o=function(a,b){var c,d=k(a),e=d[0];return a=d[1],e&&(e=f(e,b),c=j(e)),e?a=c&&c.normalize?c.normalize(a,h(b)):f(a,b):(a=f(a,b),d=k(a),e=d[0],a=d[1],e&&(c=j(e))),{f:e?e+"!"+a:a,n:a,pr:e,p:c}},p={require:function(a){return g(a)},exports:function(a){var b=q[a];return"undefined"!=typeof b?b:q[a]={}},module:function(a){return{id:a,uri:"",exports:q[a],config:l(a)}}},m=function(a,b,c,f){var h,k,l,m,n,s,u=[],v=typeof c;if(f=f||a,"undefined"===v||"function"===v){for(b=!b.length&&c.length?["require","exports","module"]:b,n=0;n0&&b-1 in a}function f(a,b,c){var d;if(a)if(x(a))for(d in a)"prototype"==d||"length"==d||"name"==d||a.hasOwnProperty&&!a.hasOwnProperty(d)||b.call(c,a[d],d);else if(Cd(a)||e(a))for(d=0;d=0&&a.splice(c,1),b}function J(a,b,c,d){if(z(a)||A(a))throw zd("cpws","Can't copy! Making copies of Window or Scope instances is not supported.");if(b){if(a===b)throw zd("cpi","Can't copy! Source and destination are identical.");if(c=c||[],d=d||[],t(a)){var e=H(c,a);if(-1!==e)return d[e];c.push(a),d.push(b)}var g;if(Cd(a)){b.length=0;for(var h=0;he;e++)if(!L(a[e],b[e]))return!1;return!0}}return!1}function M(a,b,c){return a.concat(wd.call(b,c))}function N(a,b){return wd.call(a,b||0)}function O(a,b){var c=arguments.length>2?N(arguments,2):[];return!x(b)||b instanceof RegExp?b:c.length?function(){return arguments.length?b.apply(a,c.concat(wd.call(arguments,0))):b.apply(a,c)}:function(){return arguments.length?b.apply(a,arguments):b.call(a)}}function P(a,d){var e=d;return"string"==typeof a&&"$"===a.charAt(0)?e=c:z(d)?e="$WINDOW":d&&b===d?e="$DOCUMENT":A(d)&&(e="$SCOPE"),e}function Q(a,b){return"undefined"==typeof a?c:JSON.stringify(a,P,b?" ":null)}function R(a){return u(a)?JSON.parse(a):a}function S(a){if("function"==typeof a)a=!0;else if(a&&0!==a.length){var b=md(""+a);a=!("f"==b||"0"==b||"false"==b||"no"==b||"n"==b||"[]"==b)}else a=!1;return a}function T(a){a=sd(a).clone();try{a.empty()}catch(b){}var c=3,d=sd("
").append(a).html();try{return a[0].nodeType===c?md(d):d.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,function(a,b){return"<"+md(b)})}catch(b){return md(d)}}function U(a){try{return decodeURIComponent(a)}catch(b){}}function V(a){var b,c,d={};return f((a||"").split("&"),function(a){if(a&&(b=a.replace(/\+/g,"%20").split("="),c=U(b[0]),s(c))){var e=s(b[1])?U(b[1]):!0;nd.call(d,c)?Cd(d[c])?d[c].push(e):d[c]=[d[c],e]:d[c]=e}}),d}function W(a){var b=[];return f(a,function(a,c){Cd(a)?f(a,function(a){b.push(Y(c,!0)+(a===!0?"":"="+Y(a,!0)))}):b.push(Y(c,!0)+(a===!0?"":"="+Y(a,!0)))}),b.length?b.join("&"):""}function X(a){return Y(a,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function Y(a,b){return encodeURIComponent(a).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,b?"%20":"+")}function Z(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 $(c,d){var e=function(){if(c=sd(c),c.injector()){var a=c[0]===b?"document":T(c);throw zd("btstrpd","App Already Bootstrapped with this Element '{0}'",a.replace(//,">"))}d=d||[],d.unshift(["$provide",function(a){a.value("$rootElement",c)}]),d.unshift("ng");var e=Hb(d);return e.invoke(["$rootScope","$rootElement","$compile","$injector","$animate",function(a,b,c,d){a.$apply(function(){b.data("$injector",d),c(b)(a)})}]),e},g=/^NG_DEFER_BOOTSTRAP!/;return a&&!g.test(a.name)?e():(a.name=a.name.replace(g,""),void(Ad.resumeBootstrap=function(a){f(a,function(a){d.push(a)}),e()}))}function _(a,b){return b=b||"_",a.replace(Fd,function(a,c){return(c?b:"")+a.toLowerCase()})}function ab(){td=a.jQuery,td&&td.fn.on?(sd=td,l(td.fn,{scope:Td.scope,isolateScope:Td.isolateScope,controller:Td.controller,injector:Td.injector,inheritedData:Td.inheritedData}),kb("remove",!0,!0,!1),kb("empty",!1,!1,!1),kb("html",!1,!1,!0)):sd=ob,Ad.element=sd}function bb(a,b,c){if(!a)throw zd("areq","Argument '{0}' is {1}",b||"?",c||"required");return a}function cb(a,b,c){return c&&Cd(a)&&(a=a[a.length-1]),bb(x(a),b,"not a function, got "+(a&&"object"==typeof a?a.constructor.name||"Object":typeof a)),a}function db(a,b){if("hasOwnProperty"===a)throw zd("badname","hasOwnProperty is not a valid {0} name",b)}function eb(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&&x(a)?O(f,a):a}function fb(a){var b=a[0],c=a[a.length-1];if(b===c)return sd(b);var d=b,e=[d];do{if(d=d.nextSibling,!d)break;e.push(d)}while(d!==c);return sd(e)}function gb(a){function b(a,b,c){return a[b]||(a[b]=c())}var c=d("$injector"),e=d("ng"),f=b(a,"angular",Object);return f.$$minErr=f.$$minErr||d,b(f,"module",function(){var a={};return function(d,f,g){var h=function(a,b){if("hasOwnProperty"===a)throw e("badname","hasOwnProperty is not a valid {0} name",b)};return h(d,"module"),f&&a.hasOwnProperty(d)&&(a[d]=null),b(a,d,function(){function a(a,c,d){return function(){return b[d||"push"]([a,c,arguments]),i}}if(!f)throw c("nomod","Module '{0}' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.",d);var b=[],e=[],h=a("$injector","invoke"),i={_invokeQueue:b,_runBlocks:e,requires:f,name:d,provider:a("$provide","provider"),factory:a("$provide","factory"),service:a("$provide","service"),value:a("$provide","value"),constant:a("$provide","constant","unshift"),animation:a("$animateProvider","register"),filter:a("$filterProvider","register"),controller:a("$controllerProvider","register"),directive:a("$compileProvider","directive"),config:h,run:function(a){return e.push(a),this}};return g&&h(g),i})}})}function hb(b){l(b,{bootstrap:$,copy:J,extend:l,equals:L,element:sd,forEach:f,injector:Hb,noop:o,bind:O,toJson:Q,fromJson:R,identity:p,isUndefined:r,isDefined:s,isString:u,isFunction:x,isObject:t,isNumber:v,isElement:E,isArray:Cd,version:Gd,isDate:w,lowercase:md,uppercase:od,callbacks:{counter:0},$$minErr:d,$$csp:Ed}),ud=gb(a);try{ud("ngLocale")}catch(c){ud("ngLocale",[]).provider("$locale",cc)}ud("ng",["ngLocale"],["$provide",function(a){a.provider({$$sanitizeUri:Cc}),a.provider("$compile",Ob).directive({a:Ce,input:Ne,textarea:Ne,form:Ge,script:wf,select:zf,style:Bf,option:Af,ngBind:Ze,ngBindHtml:_e,ngBindTemplate:$e,ngClass:af,ngClassEven:cf,ngClassOdd:bf,ngCloak:df,ngController:ef,ngForm:He,ngHide:qf,ngIf:hf,ngInclude:jf,ngInit:lf,ngNonBindable:mf,ngPluralize:nf,ngRepeat:of,ngShow:pf,ngStyle:rf,ngSwitch:sf,ngSwitchWhen:tf,ngSwitchDefault:uf,ngOptions:yf,ngTransclude:vf,ngModel:Te,ngList:We,ngChange:Ue,required:Ve,ngRequired:Ve,ngValue:Ye}).directive({ngInclude:kf}).directive(De).directive(ff),a.provider({$anchorScroll:Ib,$animate:ae,$browser:Lb,$cacheFactory:Mb,$controller:Rb,$document:Sb,$exceptionHandler:Tb,$filter:Nc,$interpolate:ac,$interval:bc,$http:Yb,$httpBackend:$b,$location:pc,$log:qc,$parse:xc,$rootScope:Bc,$q:yc,$sce:Hc,$sceDelegate:Gc,$sniffer:Ic,$templateCache:Nb,$timeout:Jc,$window:Mc,$$rAF:Ac,$$asyncCallback:Jb})}])}function ib(){return++Id}function jb(a){return a.replace(Ld,function(a,b,c,d){return d?c.toUpperCase():c}).replace(Md,"Moz$1")}function kb(a,b,c,d){function e(a){var e,g,h,i,j,k,l,m=c&&a?[this.filter(a)]:[this],n=b;if(!d||null!=a)for(;m.length;)for(e=m.shift(),g=0,h=e.length;h>g;g++)for(i=sd(e[g]),n?i.triggerHandler("$destroy"):n=!n,j=0,k=(l=i.children()).length;k>j;j++)m.push(td(l[j]));return f.apply(this,arguments)}var f=td.fn[a];f=f.$original||f,e.$original=f,td.fn[a]=e}function lb(a){return!Pd.test(a)}function mb(a,b){var c,d,e,f,g,h,i=b.createDocumentFragment(),j=[];if(lb(a))j.push(b.createTextNode(a));else{for(c=i.appendChild(b.createElement("div")),d=(Qd.exec(a)||["",""])[1].toLowerCase(),e=Sd[d]||Sd._default,c.innerHTML="
 
"+e[1]+a.replace(Rd,"<$1>")+e[2],c.removeChild(c.firstChild),f=e[0];f--;)c=c.lastChild;for(g=0,h=c.childNodes.length;h>g;++g)j.push(c.childNodes[g]);c=i.firstChild,c.textContent=""}return i.textContent="",i.innerHTML="",j}function nb(a,c){c=c||b;var d;return(d=Od.exec(a))?[c.createElement(d[1])]:mb(a,c)}function ob(a){if(a instanceof ob)return a;if(u(a)&&(a=Dd(a)),!(this instanceof ob)){if(u(a)&&"<"!=a.charAt(0))throw Nd("nosel","Looking up elements via selectors is not supported by jqLite! See: http://docs.angularjs.org/api/angular.element");return new ob(a)}if(u(a)){yb(this,nb(a));var c=sd(b.createDocumentFragment());c.append(this)}else yb(this,a)}function pb(a){return a.cloneNode(!0)}function qb(a){sb(a);for(var b=0,c=a.childNodes||[];b-1:!1}function wb(a,b){b&&a.setAttribute&&f(b.split(" "),function(b){a.setAttribute("class",Dd((" "+(a.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").replace(" "+Dd(b)+" "," ")))})}function xb(a,b){if(b&&a.setAttribute){var c=(" "+(a.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ");f(b.split(" "),function(a){a=Dd(a),-1===c.indexOf(" "+a+" ")&&(c+=a+" ")}),a.setAttribute("class",Dd(c))}}function yb(a,b){if(b){b=b.nodeName||!s(b.length)||z(b)?[b]:b;for(var c=0;cf;f++)if((d=sd.data(a,e[f]))!==c)return d;a=a.parentNode||11===a.nodeType&&a.host}}function Bb(a){for(var b=0,c=a.childNodes;b=rd?(d.preventDefault=null,d.stopPropagation=null,d.isDefaultPrevented=null):(delete d.preventDefault,delete d.stopPropagation,delete d.isDefaultPrevented)};return d.elem=a,d}function Eb(a,b){var d,e=typeof a;return"function"==e||"object"==e&&null!==a?"function"==typeof(d=a.$$hashKey)?d=a.$$hashKey():d===c&&(d=a.$$hashKey=(b||j)()):d=a,e+":"+d}function Fb(a,b){if(b){var c=0;this.nextUid=function(){return++c}}f(a,this.put,this)}function Gb(a){var b,c,d,e;return"function"==typeof a?(b=a.$inject)||(b=[],a.length&&(c=a.toString().replace(Zd,""),d=c.match(Wd),f(d[1].split(Xd),function(a){a.replace(Yd,function(a,c,d){b.push(d)})})),a.$inject=b):Cd(a)?(e=a.length-1,cb(a[e],"fn"),b=a.slice(0,e)):cb(a,"fn",!0),b}function Hb(a){function b(a){return function(b,c){return t(b)?void f(b,i(a)):a(b,c)}}function c(a,b){if(db(a,"service"),(x(b)||Cd(b))&&(b=v.instantiate(b)),!b.$get)throw $d("pget","Provider '{0}' must define $get factory method.",a);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){db(a,"constant"),s[a]=b,w[a]=b}function j(a,b){var c=v.get(a+n),d=c.$get;c.$get=function(){var a=y.invoke(d,c);return y.invoke(b,null,{$delegate:a})}}function k(a){var b,c,d,e,g=[];return f(a,function(a){if(!r.get(a)){r.put(a,!0);try{if(u(a))for(b=ud(a),g=g.concat(k(b.requires)).concat(b._runBlocks),c=b._invokeQueue,d=0,e=c.length;e>d;d++){var f=c[d],h=v.get(f[0]);h[f[1]].apply(h,f[2])}else x(a)?g.push(v.invoke(a)):Cd(a)?g.push(v.invoke(a)):cb(a,"module")}catch(i){throw Cd(a)&&(a=a[a.length-1]),i.message&&i.stack&&-1==i.stack.indexOf(i.message)&&(i=i.message+"\n"+i.stack),$d("modulerr","Failed to instantiate module {0} due to:\n{1}",a,i.stack||i.message||i)}}}),g}function l(a,b){function c(c){if(a.hasOwnProperty(c)){if(a[c]===m)throw $d("cdep","Circular dependency found: {0}",c+" <- "+p.join(" <- "));return a[c]}try{return p.unshift(c),a[c]=m,a[c]=b(c)}catch(d){throw a[c]===m&&delete a[c],d}finally{p.shift()}}function d(a,b,d){var e,f,g,h=[],i=Gb(a);for(f=0,e=i.length;e>f;f++){if(g=i[f],"string"!=typeof g)throw $d("itkn","Incorrect injection token! Expected service name as string, got {0}",g);h.push(d&&d.hasOwnProperty(g)?d[g]:c(g))}return Cd(a)&&(a=a[e]),a.apply(b,h)}function e(a,b){var c,e,f=function(){};return f.prototype=(Cd(a)?a[a.length-1]:a).prototype,c=new f,e=d(a,c,b),t(e)||x(e)?e:c}return{invoke:d,instantiate:e,get:c,annotate:Gb,has:function(b){return s.hasOwnProperty(b+n)||a.hasOwnProperty(b)}}}var m={},n="Provider",p=[],r=new Fb([],!0),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 $d("unpr","Unknown provider: {0}",p.join(" <- "))}),w={},y=w.$injector=l(w,function(a){var b=v.get(a+n);return y.invoke(b.$get,b)});return f(k(a),function(a){y.invoke(a||o)}),y}function Ib(){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"!==md(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 Jb(){this.$get=["$$rAF","$timeout",function(a,b){return a.supported?function(b){return a(b)}:function(a){return b(a,0,!1)}}]}function Kb(a,b,d,e){function g(a){try{a.apply(null,N(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(){z=null,x!=j.url()&&(x=j.url(),f(A,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"),z=null;j.url=function(b,c){if(l!==a.location&&(l=a.location),m!==a.history&&(m=a.history),b){if(x==b)return;return x=b,e.history?c?m.replaceState(null,"",b):(m.pushState(null,"",b),y.attr("href",y.attr("href"))):(z=b,c?l.replace(b):l.href=b),j}return z||l.href.replace(/%27/g,"'")};var A=[],B=!1;j.onUrlChange=function(b){return B||(e.history&&sd(a).on("popstate",i),e.hashchange?sd(a).on("hashchange",i):j.addPollFn(i),B=!0),A.push(b),b},j.$$checkUrlChange=i,j.baseHref=function(){var a=y.attr("href");return a?a.replace(/^(https?\:)?\/\/[^\/]*/,""):""};var C={},D="",E=j.baseHref();j.cookies=function(a,b){var e,f,g,h,i;if(!a){if(k.cookie!==D)for(D=k.cookie,f=D.split("; "),C={},h=0;h0&&(a=unescape(g.substring(0,i)),C[a]===c&&(C[a]=unescape(g.substring(i+1))));return C}b===c?k.cookie=escape(a)+"=;path="+E+";expires=Thu, 01 Jan 1970 00:00:00 GMT":u(b)&&(e=(k.cookie=escape(a)+"="+escape(b)+";path="+E).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 Lb(){this.$get=["$window","$log","$sniffer","$document",function(a,b,c,d){return new Kb(a,d,b,c)}]}function Mb(){this.$get=function(){function a(a,c){function e(a){a!=m&&(n?n==a&&(n=a.n):n=a,f(a.n,a.p),f(a,m),m=a,m.n=null)}function f(a,b){a!=b&&(a&&(a.p=b),b&&(b.n=a))}if(a in b)throw d("$cacheFactory")("iid","CacheId '{0}' is already taken!",a);var g=0,h=l({},c,{id:a}),i={},j=c&&c.capacity||Number.MAX_VALUE,k={},m=null,n=null;return b[a]={put:function(a,b){if(jj&&this.remove(n.key),b},get:function(a){if(j").parent()[0])});var g=C(a,b,a,c,d,e);return B(a,"ng-scope"),function(b,c,d,e){bb(b,"scope");var h=c?Td.clone.call(a):a;f(d,function(a,b){h.data("$"+b+"Controller",a)});for(var i=0,j=h.length;j>i;i++){var k=h[i],l=k.nodeType;(1===l||9===l)&&h.eq(i).data("$scope",b)}return c&&c(h,b),g&&g(b,h,h,e),h}}function B(a,b){try{a.addClass(b)}catch(c){}}function C(a,b,d,e,f,g){function h(a,d,e,f){var g,h,i,j,k,l,m,n,p=d.length,q=new Array(p);for(k=0;p>k;k++)q[k]=d[k];for(k=0,m=0,l=o.length;l>k;m++)i=q[m],g=o[k++],h=o[k++],g?(g.scope?(j=a.$new(),sd.data(i,"$scope",j)):j=a,n=g.transcludeOnThisElement?D(a,g.transclude,f):!g.templateOnThisElement&&f?f:!f&&b?D(a,b):null,g(h,j,i,e,n)):h&&h(a,i.childNodes,c,f)}for(var i,j,k,l,m,n,o=[],p=0;ps;s++){var v=!1,w=!1;if(l=r[s],!rd||rd>=8||l.specified){m=l.name,p=Dd(l.value),o=Pb(m),(q=ab.test(o))&&(m=_(o.substr(6),"-"));var x=o.replace(/(Start|End)$/,"");o===x+"Start"&&(v=m,w=m.substr(0,m.length-5)+"end",m=m.substr(0,m.length-6)),n=Pb(m.toLowerCase()),k[n]=m,(q||!c.hasOwnProperty(n))&&(c[n]=p,Cb(a,n)&&(c[n]=!0)),U(a,b,p,n),J(b,n,"A",d,e,v,w)}}if(g=a.className,u(g)&&""!==g)for(;f=j.exec(g);)n=Pb(f[2]),J(b,n,"C",d,e)&&(c[n]=Dd(f[3])),g=g.substr(f.index+f[0].length);break;case 3:R(b,a.nodeValue);break;case 8:try{f=h.exec(a.nodeValue),f&&(n=Pb(f[1]),J(b,n,"M",d,e)&&(c[n]=Dd(f[2])))}catch(y){}}return b.sort(P),b}function F(a,b,c){var d=[],e=0;if(b&&a.hasAttribute&&a.hasAttribute(b)){do{if(!a)throw be("uterdir","Unterminated attribute, found '{0}' but no matching '{1}' found.",b,c);1==a.nodeType&&(a.hasAttribute(b)&&e++,a.hasAttribute(c)&&e--),d.push(a),a=a.nextSibling}while(e>0)}else d.push(a);return sd(d)}function G(a,b,c){return function(d,e,f,g,h){return e=F(e[0],b,c),a(d,e,f,g,h)}}function H(a,e,g,h,j,k,l,m,n){function o(a,b,c,d){a&&(c&&(a=G(a,c,d)),a.require=w.require,a.directiveName=y,(P===w||w.$$isolateScope)&&(a=W(a,{isolateScope:!0})),l.push(a)),b&&(c&&(b=G(b,c,d)),b.require=w.require,b.directiveName=y,(P===w||w.$$isolateScope)&&(b=W(b,{isolateScope:!0})),m.push(b))}function p(a,b,c,d){var e,g="data",h=!1;if(u(b)){for(;"^"==(e=b.charAt(0))||"?"==e;)b=b.substr(1),"^"==e&&(g="inheritedData"),h=h||"?"==e;if(e=null,d&&"data"===g&&(e=d[b]),e=e||c[g]("$"+b+"Controller"),!e&&!h)throw be("ctreq","Controller '{0}', required by directive '{1}', can't be found!",b,a);return e}return Cd(b)&&(e=[],f(b,function(b){e.push(p(a,b,c,d))})),e}function s(a,b,h,j,k){function n(a,b){var d;return arguments.length<2&&(b=a,a=c),Z&&(d=z),k(a,b,d)}var o,s,t,u,v,w,x,y,z={};if(o=e===h?g:K(g,new X(sd(h),g.$attr)),s=o.$$element,P){var A=/^\s*([@=&])(\??)\s*(\w*)\s*$/;x=b.$new(!0),!R||R!==P&&R!==P.$$originalDirective?s.data("$isolateScopeNoTemplate",x):s.data("$isolateScope",x),B(s,"ng-isolate-scope"),f(P.scope,function(a,c){var e,f,g,h,i=a.match(A)||[],j=i[3]||c,k="?"==i[2],l=i[1];switch(x.$$isolateBindings[c]=l+j,l){case"@":o.$observe(j,function(a){x[c]=a}),o.$$observers[j].$$scope=b,o[j]&&(x[c]=d(o[j])(b));break;case"=":if(k&&!o[j])return;f=q(o[j]),h=f.literal?L:function(a,b){return a===b||a!==a&&b!==b},g=f.assign||function(){throw e=x[c]=f(b),be("nonassign","Expression '{0}' used with directive '{1}' is non-assignable!",o[j],P.name)},e=x[c]=f(b),x.$watch(function(){var a=f(b);return h(a,x[c])||(h(a,e)?g(b,a=x[c]):x[c]=a),e=a},null,f.literal);break;case"&":f=q(o[j]),x[c]=function(a){return f(b,a)};break;default:throw be("iscp","Invalid isolate scope definition for directive '{0}'. Definition: {... {1}: '{2}' ...}",P.name,c,a)}})}for(y=k&&n,J&&f(J,function(a){var c,d={$scope:a===P||a.$$isolateScope?x:b,$element:s,$attrs:o,$transclude:y};w=a.controller,"@"==w&&(w=o[a.name]),c=r(w,d),z[a.name]=c,Z||s.data("$"+a.name+"Controller",c),a.controllerAs&&(d.$scope[a.controllerAs]=c)}),t=0,u=l.length;u>t;t++)try{v=l[t],v(v.isolateScope?x:b,s,o,v.require&&p(v.directiveName,v.require,s,z),y)}catch(C){i(C,T(s))}var D=b;for(P&&(P.template||null===P.templateUrl)&&(D=x),a&&a(D,h.childNodes,c,k),t=m.length-1;t>=0;t--)try{v=m[t],v(v.isolateScope?x:b,s,o,v.require&&p(v.directiveName,v.require,s,z),y)}catch(C){i(C,T(s))}}n=n||{};for(var v,w,y,z,C,D,H=-Number.MAX_VALUE,J=n.controllerDirectives,P=n.newIsolateScopeDirective,R=n.templateDirective,S=n.nonTlbTranscludeDirective,U=!1,Y=!1,Z=n.hasElementTranscludeDirective,_=g.$$element=sd(e),ab=k,bb=h,cb=0,db=a.length;db>cb;cb++){w=a[cb];var eb=w.$$start,fb=w.$$end;if(eb&&(_=F(e,eb,fb)),z=c,H>w.priority)break;if((D=w.scope)&&(v=v||w,w.templateUrl||(Q("new/isolated scope",P,w,_),t(D)&&(P=w))),y=w.name,!w.templateUrl&&w.controller&&(D=w.controller,J=J||{},Q("'"+y+"' controller",J[y],w,_),J[y]=w),(D=w.transclude)&&(U=!0,w.$$tlb||(Q("transclusion",S,w,_),S=w),"element"==D?(Z=!0,H=w.priority,z=_,_=g.$$element=sd(b.createComment(" "+y+": "+g[y]+" ")),e=_[0],V(j,N(z),e),bb=A(z,h,H,ab&&ab.name,{nonTlbTranscludeDirective:S})):(z=sd(pb(e)).contents(),_.empty(),bb=A(z,h))),w.template)if(Y=!0,Q("template",R,w,_),R=w,D=x(w.template)?w.template(_,g):w.template,D=$(D),w.replace){if(ab=w,z=lb(D)?[]:sd(Dd(D)),e=z[0],1!=z.length||1!==e.nodeType)throw be("tplrt","Template for directive '{0}' must have exactly one root element. {1}",y,"");V(j,_,e);var gb={$attr:{}},hb=E(e,[],gb),ib=a.splice(cb+1,a.length-(cb+1));P&&I(hb),a=a.concat(hb).concat(ib),M(g,gb),db=a.length}else _.html(D);if(w.templateUrl)Y=!0,Q("template",R,w,_),R=w,w.replace&&(ab=w),s=O(a.splice(cb,a.length-cb),_,g,j,U&&bb,l,m,{controllerDirectives:J,newIsolateScopeDirective:P,templateDirective:R,nonTlbTranscludeDirective:S}),db=a.length;else if(w.compile)try{C=w.compile(_,g,bb),x(C)?o(null,C,eb,fb):C&&o(C.pre,C.post,eb,fb)}catch(jb){i(jb,T(_))}w.terminal&&(s.terminal=!0,H=Math.max(H,w.priority))}return s.scope=v&&v.scope===!0,s.transcludeOnThisElement=U,s.templateOnThisElement=Y,s.transclude=bb,n.hasElementTranscludeDirective=Z,s}function I(a){for(var b=0,c=a.length;c>b;b++)a[b]=n(a[b],{$$isolateScope:!0})}function J(b,d,f,h,j,k,l){if(d===j)return null;var m=null;if(e.hasOwnProperty(d))for(var o,p=a.get(d+g),q=0,r=p.length;r>q;q++)try{o=p[q],(h===c||h>o.priority)&&-1!=o.restrict.indexOf(f)&&(k&&(o=n(o,{$$start:k,$$end:l})),b.push(o),m=o)}catch(s){i(s)}return m}function M(a,b){var c=b.$attr,d=a.$attr,e=a.$$element;f(a,function(d,e){"$"!=e.charAt(0)&&(b[e]&&b[e]!==d&&(d+=("style"===e?";":" ")+b[e]),a.$set(e,d,!0,c[e])) +}),f(b,function(b,f){"class"==f?(B(e,b),a["class"]=(a["class"]?a["class"]+" ":"")+b):"style"==f?(e.attr("style",e.attr("style")+";"+b),a.style=(a.style?a.style+";":"")+b):"$"==f.charAt(0)||a.hasOwnProperty(f)||(a[f]=b,d[f]=c[f])})}function O(a,b,c,d,e,g,h,i){var j,k,n=[],p=b[0],q=a.shift(),r=l({},q,{templateUrl:null,transclude:null,replace:null,$$originalDirective:q}),s=x(q.templateUrl)?q.templateUrl(b,c):q.templateUrl;return b.empty(),m.get(w.getTrustedResourceUrl(s),{cache:o}).success(function(l){var m,o,u,v;if(l=$(l),q.replace){if(u=lb(l)?[]:sd(Dd(l)),m=u[0],1!=u.length||1!==m.nodeType)throw be("tplrt","Template for directive '{0}' must have exactly one root element. {1}",q.name,s);o={$attr:{}},V(d,b,m);var w=E(m,[],o);t(q.scope)&&I(w),a=w.concat(a),M(c,o)}else m=p,b.html(l);for(a.unshift(r),j=H(a,m,c,e,b,q,g,h,i),f(d,function(a,c){a==m&&(d[c]=b[0])}),k=C(b[0].childNodes,e);n.length;){var x=n.shift(),y=n.shift(),z=n.shift(),A=n.shift(),F=b[0];if(y!==p){var G=y.className;i.hasElementTranscludeDirective&&q.replace||(F=pb(m)),V(z,sd(y),F),B(sd(F),G)}v=j.transcludeOnThisElement?D(x,j.transclude,A):A,j(k,x,F,d,v)}n=null}).error(function(a,b,c,d){throw be("tpload","Failed to load template: {0}",d.url)}),function(a,b,c,d,e){var f=e;n?(n.push(b),n.push(c),n.push(d),n.push(f)):(j.transcludeOnThisElement&&(f=D(b,j.transclude,e)),j(k,b,c,d,f))}}function P(a,b){var c=b.priority-a.priority;return 0!==c?c:a.name!==b.name?a.namee;e++)if(a[e]==g){a[e++]=d;for(var j=e,k=j+h-1,l=a.length;l>j;j++,k++)l>k?a[j]=a[k]:delete a[j];a.length-=h-1;break}i&&i.replaceChild(d,g);var m=b.createDocumentFragment();m.appendChild(g),d[sd.expando]=g[sd.expando];for(var n=1,o=c.length;o>n;n++){var p=c[n];sd(p).remove(),m.appendChild(p),delete c[n]}c[0]=d,c.length=1}function W(a,b){return l(function(){return a.apply(null,arguments)},a,b)}var X=function(a,b){this.$$element=a,this.$attr=b||{}};X.prototype={$normalize:Pb,$addClass:function(a){a&&a.length>0&&y.addClass(this.$$element,a)},$removeClass:function(a){a&&a.length>0&&y.removeClass(this.$$element,a)},$updateClass:function(a,b){var c=Qb(a,b),d=Qb(b,a);0===c.length?y.removeClass(this.$$element,d):0===d.length?y.addClass(this.$$element,c):y.setClass(this.$$element,c,d)},$set:function(a,b,d,e){var g,h=Cb(this.$$element[0],a);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=_(a,"-"))),g=vd(this.$$element),("A"===g&&"href"===a||"IMG"===g&&"src"===a)&&(this[a]=b=z(b,"src"===a)),d!==!1&&(null===b||b===c?this.$$element.removeAttr(e):this.$$element.attr(e,b));var j=this.$$observers;j&&f(j[a],function(a){try{a(b)}catch(c){i(c)}})},$observe:function(a,b){var c=this,d=c.$$observers||(c.$$observers={}),e=d[a]||(d[a]=[]);return e.push(b),s.$evalAsync(function(){e.$$inter||b(c[a])}),b}};var Y=d.startSymbol(),Z=d.endSymbol(),$="{{"==Y||"}}"==Z?p:function(a){return a.replace(/\{\{/g,Y).replace(/}}/g,Z)},ab=/^ngAttr[A-Z]/;return A}]}function Pb(a){return jb(a.replace(ce,""))}function Qb(a,b){var c="",d=a.split(/\s+/),e=b.split(/\s+/);a:for(var f=0;f0?" ":"")+g}return c}function Rb(){var a={},b=/^(\S+)(\s+as\s+(\w+))?$/;this.register=function(b,c){db(b,"controller"),t(b)?l(a,b):a[b]=c},this.$get=["$injector","$window",function(c,e){return function(f,g){var h,i,j,k;if(u(f)&&(i=f.match(b),j=i[1],k=i[3],f=a.hasOwnProperty(j)?a[j]:eb(g.$scope,j,!0)||eb(e,j,!0),cb(f,j,!0)),h=c.instantiate(f,g),k){if(!g||"object"!=typeof g.$scope)throw d("$controller")("noscp","Cannot export controller '{0}' as '{1}'! No $scope object provided via `locals`.",j||f.name,k);g.$scope[k]=h}return h}}]}function Sb(){this.$get=["$window",function(a){return sd(a.document)}]}function Tb(){this.$get=["$log",function(a){return function(){a.error.apply(a,arguments)}}]}function Ub(a){var b,c,d,e={};return a?(f(a.split("\n"),function(a){d=a.indexOf(":"),b=md(Dd(a.substr(0,d))),c=Dd(a.substr(d+1)),b&&(e[b]=e[b]?e[b]+", "+c:c)}),e):e}function Vb(a){var b=t(a)?a:c;return function(c){return b||(b=Ub(a)),c?b[md(c)]||null:b}}function Wb(a,b,c){return x(c)?c(a,b):(f(c,function(c){a=c(a,b)}),a)}function Xb(a){return a>=200&&300>a}function Yb(){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=R(c))),c}],transformRequest:[function(a){return!t(a)||B(a)||C(a)?a:Q(a)}],headers:{common:{Accept:"application/json, text/plain, */*"},post:K(e),put:K(e),patch:K(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 b(a){var b=l({},a,{data:Wb(a.data,a.headers,e.transformResponse)});return Xb(a.status)?b:k.reject(b)}function d(a){function b(a){var b;f(a,function(c,d){x(c)&&(b=c(),null!=b?a[d]=b:delete a[d])})}var c,d,e,h=g.headers,i=l({},a.headers);h=l({},h.common,h[md(a.method)]);a:for(c in h){d=md(c);for(e in i)if(md(e)===d)continue a;i[c]=h[c]}return b(i),i}var e={method:"get",transformRequest:g.transformRequest,transformResponse:g.transformResponse},h=d(a);l(e,a),e.headers=h,e.method=od(e.method);var i=function(a){h=a.headers;var c=Wb(a.data,Vb(h),a.transformRequest);return r(c)&&f(h,function(a,b){"content-type"===md(b)&&delete h[b]}),r(a.withCredentials)&&!r(g.withCredentials)&&(a.withCredentials=g.withCredentials),q(a,c,h).then(b,b)},j=[i,c],m=k.when(e);for(f(z,function(a){(a.request||a.requestError)&&j.unshift(a.request,a.requestError),(a.response||a.responseError)&&j.push(a.response,a.responseError)});j.length;){var n=j.shift(),o=j.shift();m=m.then(n,o)}return m.success=function(a){return m.then(function(b){a(b.data,b.status,b.headers,e)}),m},m.error=function(a){return m.then(null,function(b){a(b.data,b.status,b.headers,e)}),m},m}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(d,f,h){function i(a,b,c,d){m&&(Xb(a)?m.put(u,[a,b,Ub(c),d]):m.remove(u)),j(b,a,c,d),e.$$phase||e.$apply()}function j(a,b,c,e){b=Math.max(b,0),(Xb(b)?p.resolve:p.reject)({data:a,status:b,headers:Vb(c),config:d,statusText:e})}function l(){var a=H(n.pendingRequests,d);-1!==a&&n.pendingRequests.splice(a,1)}var m,o,p=k.defer(),q=p.promise,u=v(d.url,d.params);if(n.pendingRequests.push(d),q.then(l,l),!d.cache&&!g.cache||d.cache===!1||"GET"!==d.method&&"JSONP"!==d.method||(m=t(d.cache)?d.cache:t(g.cache)?g.cache:y),m)if(o=m.get(u),s(o)){if(D(o))return o.then(l,l),o;Cd(o)?j(o[1],o[0],K(o[2]),o[3]):j(o,200,{},"OK")}else m.put(u,q);if(r(o)){var w=Lc(d.url)?b.cookies()[d.xsrfCookieName||g.xsrfCookieName]:c;w&&(h[d.xsrfHeaderName||g.xsrfHeaderName]=w),a(d.method,u,f,i,h,d.timeout,d.withCredentials,d.responseType)}return q}function v(a,b){if(!b)return a;var c=[];return h(b,function(a,b){null===a||r(a)||(Cd(a)||(a=[a]),f(a,function(a){t(a)&&(a=w(a)?a.toISOString():Q(a)),c.push(Y(b)+"="+Y(a))}))}),c.length>0&&(a+=(-1==a.indexOf("?")?"?":"&")+c.join("&")),a}var y=d("$http"),z=[];return f(i,function(a){z.unshift(u(a)?m.get(a):m.invoke(a))}),f(j,function(a,b){var c=u(a)?m.get(a):m.invoke(a);z.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 Zb(b){if(8>=rd&&(!b.match(/^(get|post|head|put|delete|options)$/i)||!a.XMLHttpRequest))return new a.ActiveXObject("Microsoft.XMLHTTP");if(a.XMLHttpRequest)return new a.XMLHttpRequest;throw d("$httpBackend")("noxhr","This browser does not support XMLHttpRequest.")}function $b(){this.$get=["$browser","$window","$document",function(a,b,c){return _b(a,Zb,a.defer,b.angular.callbacks,c[0])}]}function _b(a,b,c,d,e){function g(a,b,c){var f=e.createElement("script"),g=null;return f.type="text/javascript",f.src=a,f.async=!0,g=function(a){Kd(f,"load",g),Kd(f,"error",g),e.body.removeChild(f),f=null;var h=-1,i="unknown";a&&("load"!==a.type||d[b].called||(a={type:"error"}),i=a.type,h="error"===a.type?404:200),c&&c(h,i)},Jd(f,"load",g),Jd(f,"error",g),8>=rd&&(f.onreadystatechange=function(){u(f.readyState)&&/loaded|complete/.test(f.readyState)&&(f.onreadystatechange=null,g({type:"load"}))}),e.body.appendChild(f),g}var h=-1;return function(e,i,j,k,l,m,n,p){function q(){t=h,v&&v(),w&&w.abort()}function r(b,d,e,f,g){y&&c.cancel(y),v=w=null,0===d&&(d=e?200:"file"==Kc(i).protocol?404:0),d=1223===d?204:d,g=g||"",b(d,e,f,g),a.$$completeOutstandingRequest(o)}var t;if(a.$$incOutstandingRequestCount(),i=i||a.url(),"jsonp"==md(e)){var u="_"+(d.counter++).toString(36);d[u]=function(a){d[u].data=a,d[u].called=!0};var v=g(i.replace("JSON_CALLBACK","angular.callbacks."+u),u,function(a,b){r(k,a,d[u].data,"",b),d[u]=o})}else{var w=b(e);if(w.open(e,i,!0),f(l,function(a,b){s(a)&&w.setRequestHeader(b,a)}),w.onreadystatechange=function(){if(w&&4==w.readyState){var a=null,b=null,c="";t!==h&&(a=w.getAllResponseHeaders(),b="response"in w?w.response:w.responseText),t===h&&10>rd||(c=w.statusText),r(k,t||w.status,b,a,c)}},n&&(w.withCredentials=!0),p)try{w.responseType=p}catch(x){if("json"!==p)throw x}w.send(j||null)}if(m>0)var y=c(q,m);else D(m)&&m.then(q)}}function ac(){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","$sce",function(c,d,e){function f(f,i,j){for(var k,l,m,n,o=0,p=[],q=f.length,r=!1,s=[];q>o;)-1!=(k=f.indexOf(a,o))&&-1!=(l=f.indexOf(b,k+g))?(o!=k&&p.push(f.substring(o,k)),p.push(m=c(n=f.substring(k+g,l))),m.exp=n,o=l+h,r=!0):(o!=q&&p.push(f.substring(o)),o=q);if((q=p.length)||(p.push(""),q=1),j&&p.length>1)throw de("noconcat","Error while interpolating: {0}\nStrict Contextual Escaping disallows interpolations that concatenate multiple expressions when a trusted value is required. See http://docs.angularjs.org/api/ng.$sce",f);return!i||r?(s.length=q,m=function(a){try{for(var b,c=0,g=q;g>c;c++){if("function"==typeof(b=p[c]))if(b=b(a),b=j?e.getTrusted(j,b):e.valueOf(b),null==b)b="";else switch(typeof b){case"string":break;case"number":b=""+b;break;default:b=Q(b)}s[c]=b}return s.join("")}catch(h){var i=de("interr","Can't interpolate: {0}\n{1}",f,h.toString());d(i)}},m.exp=f,m.parts=p,m):void 0}var g=a.length,h=b.length;return f.startSymbol=function(){return a},f.endSymbol=function(){return b},f}]}function bc(){this.$get=["$rootScope","$window","$q",function(a,b,c){function d(d,f,g,h){var i=b.setInterval,j=b.clearInterval,k=c.defer(),l=k.promise,m=0,n=s(h)&&!h;return g=s(g)?g:0,l.then(null,null,d),l.$$intervalId=i(function(){k.notify(m++),g>0&&m>=g&&(k.resolve(m),j(l.$$intervalId),delete e[l.$$intervalId]),n||a.$apply()},f),e[l.$$intervalId]=k,l}var e={};return d.cancel=function(a){return a&&a.$$intervalId in e?(e[a.$$intervalId].reject("canceled"),b.clearInterval(a.$$intervalId),delete e[a.$$intervalId],!0):!1},d}]}function cc(){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 dc(a){for(var b=a.split("/"),c=b.length;c--;)b[c]=X(b[c]);return b.join("/")}function ec(a,b,c){var d=Kc(a,c);b.$$protocol=d.protocol,b.$$host=d.hostname,b.$$port=m(d.port)||fe[d.protocol]||null}function fc(a,b,c){var d="/"!==a.charAt(0);d&&(a="/"+a);var e=Kc(a,c);b.$$path=decodeURIComponent(d&&"/"===e.pathname.charAt(0)?e.pathname.substring(1):e.pathname),b.$$search=V(e.search),b.$$hash=decodeURIComponent(e.hash),b.$$path&&"/"!=b.$$path.charAt(0)&&(b.$$path="/"+b.$$path)}function gc(a,b){return 0===b.indexOf(a)?b.substr(a.length):void 0}function hc(a){var b=a.indexOf("#");return-1==b?a:a.substr(0,b)}function ic(a){return a.substr(0,hc(a).lastIndexOf("/")+1)}function jc(a){return a.substring(0,a.indexOf("/",a.indexOf("//")+2))}function kc(a,b){this.$$html5=!0,b=b||"";var d=ic(a);ec(a,this,a),this.$$parse=function(b){var c=gc(d,b);if(!u(c))throw ge("ipthprfx",'Invalid url "{0}", missing path prefix "{1}".',b,d);fc(c,this,a),this.$$path||(this.$$path="/"),this.$$compose()},this.$$compose=function(){var a=W(this.$$search),b=this.$$hash?"#"+X(this.$$hash):"";this.$$url=dc(this.$$path)+(a?"?"+a:"")+b,this.$$absUrl=d+this.$$url.substr(1)},this.$$rewrite=function(e){var f,g;return(f=gc(a,e))!==c?(g=f,(f=gc(b,f))!==c?d+(gc("/",f)||f):a+g):(f=gc(d,e))!==c?d+f:d==e+"/"?d:void 0}}function lc(a,b){var c=ic(a);ec(a,this,a),this.$$parse=function(d){function e(a,b,c){var d,e=/^\/[A-Z]:(\/.*)/;return 0===b.indexOf(c)&&(b=b.replace(c,"")),e.exec(b)?a:(d=e.exec(a),d?d[1]:a)}var f=gc(a,d)||gc(c,d),g="#"==f.charAt(0)?gc(b,f):this.$$html5?f:"";if(!u(g))throw ge("ihshprfx",'Invalid url "{0}", missing hash prefix "{1}".',d,b);fc(g,this,a),this.$$path=e(this.$$path,g,a),this.$$compose()},this.$$compose=function(){var c=W(this.$$search),d=this.$$hash?"#"+X(this.$$hash):"";this.$$url=dc(this.$$path)+(c?"?"+c:"")+d,this.$$absUrl=a+(this.$$url?b+this.$$url:"")},this.$$rewrite=function(b){return hc(a)==hc(b)?b:void 0}}function mc(a,b){this.$$html5=!0,lc.apply(this,arguments);var c=ic(a);this.$$rewrite=function(d){var e;return a==hc(d)?d:(e=gc(c,d))?a+b+e:c===d+"/"?c:void 0},this.$$compose=function(){var c=W(this.$$search),d=this.$$hash?"#"+X(this.$$hash):"";this.$$url=dc(this.$$path)+(c?"?"+c:"")+d,this.$$absUrl=a+b+this.$$url}}function nc(a){return function(){return this[a]}}function oc(a,b){return function(c){return r(c)?this[a]:(this[a]=b(c),this.$$compose(),this)}}function pc(){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=jc(m)+(l||"/"),j=f.history?kc:mc):(k=hc(m),j=lc),i=new j(k,"#"+b),i.$$parse(i.$$rewrite(m));var n=/^\s*(javascript|mailto):/i;g.on("click",function(c){if(!c.ctrlKey&&!c.metaKey&&2!=c.which){for(var f=sd(c.target);"a"!==md(f[0].nodeName);)if(f[0]===g[0]||!(f=f.parent())[0])return;var h=f.prop("href");if(t(h)&&"[object SVGAnimatedString]"===h.toString()&&(h=Kc(h.animVal).href),!n.test(h)){if(j===mc){var l=f.attr("href")||f.attr("xlink:href");if(l&&l.indexOf("://")<0){var m="#"+b;if("/"==l[0])h=k+m+l;else if("#"==l[0])h=k+m+(i.path()||"/")+l;else{var o=i.path().split("/"),p=l.split("/");2!==o.length||o[1]||(o.length=1);for(var q=0;q1;i++){g=rc(h.shift(),e);var j=sc(a[g],e);j||(j={},a[g]=j),a=j,a.then&&f.unwrapPromises&&(he(e),"$$v"in a||!function(a){a.then(function(b){a.$$v=b})}(a),a.$$v===c&&(a.$$v={}),a=a.$$v)}return g=rc(h.shift(),e),sc(a[g],e),a[g]=d,d}function vc(a,b,d,e,f,g,h){return rc(a,g),rc(b,g),rc(d,g),rc(e,g),rc(f,g),h.unwrapPromises?function(h,i){var j,k=i&&i.hasOwnProperty(a)?i:h;return null==k?k:(k=k[a],k&&k.then&&(he(g),"$$v"in k||(j=k,j.$$v=c,j.then(function(a){j.$$v=a})),k=k.$$v),b?null==k?c:(k=k[b],k&&k.then&&(he(g),"$$v"in k||(j=k,j.$$v=c,j.then(function(a){j.$$v=a})),k=k.$$v),d?null==k?c:(k=k[d],k&&k.then&&(he(g),"$$v"in k||(j=k,j.$$v=c,j.then(function(a){j.$$v=a})),k=k.$$v),e?null==k?c:(k=k[e],k&&k.then&&(he(g),"$$v"in k||(j=k,j.$$v=c,j.then(function(a){j.$$v=a})),k=k.$$v),f?null==k?c:(k=k[f],k&&k.then&&(he(g),"$$v"in k||(j=k,j.$$v=c,j.then(function(a){j.$$v=a})),k=k.$$v),k):k):k):k):k)}:function(g,h){var i=h&&h.hasOwnProperty(a)?h:g;return null==i?i:(i=i[a],b?null==i?c:(i=i[b],d?null==i?c:(i=i[d],e?null==i?c:(i=i[e],f?null==i?c:i=i[f]:i):i):i):i)}}function wc(a,b,d){if(re.hasOwnProperty(a))return re[a];var e,g=a.split("."),h=g.length;if(b.csp)e=6>h?vc(g[0],g[1],g[2],g[3],g[4],d,b):function(a,e){var f,i=0;do f=vc(g[i++],g[i++],g[i++],g[i++],g[i++],d,b)(a,e),e=c,a=f;while(h>i);return f};else{var i="var p;\n";f(g,function(a,c){rc(a,d),i+="if(s == null) return undefined;\ns="+(c?"s":'((k&&k.hasOwnProperty("'+a+'"))?k:s)')+'["'+a+'"];\n'+(b.unwrapPromises?'if (s && s.then) {\n pw("'+d.replace(/(["\r\n])/g,"\\$1")+'");\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':"")}),i+="return s;";var j=new Function("s","k","pw",i);j.toString=q(i),e=b.unwrapPromises?function(a,b){return j(a,b,he)}:j}return"hasOwnProperty"!==a&&(re[a]=e),e}function xc(){var a={},b={csp:!1,unwrapPromises:!1,logPromiseWarnings:!0};this.unwrapPromises=function(a){return s(a)?(b.unwrapPromises=!!a,this):b.unwrapPromises},this.logPromiseWarnings=function(a){return s(a)?(b.logPromiseWarnings=a,this):b.logPromiseWarnings},this.$get=["$filter","$sniffer","$log",function(c,d,e){return b.csp=d.csp,he=function(a){b.logPromiseWarnings&&!je.hasOwnProperty(a)&&(je[a]=!0,e.warn("[$parse] Promise found in the expression `"+a+"`. Automatic unwrapping of promises in Angular expressions is deprecated."))},function(d){var e;switch(typeof d){case"string":if(a.hasOwnProperty(d))return a[d];var f=new pe(b),g=new qe(f,c,b);return e=g.parse(d),"hasOwnProperty"!==d&&(a[d]=e),e;case"function":return d;default:return o}}}]}function yc(){this.$get=["$rootScope","$exceptionHandler",function(a,b){return zc(function(b){a.$evalAsync(b)},b)}]}function zc(a,b){function d(a){return a}function e(a){return j(a)}function g(a){var b=h(),c=0,d=Cd(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,j=[];return g={resolve:function(b){if(j){var d=j;j=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],a[2])})}},reject:function(a){g.resolve(k(a))},notify:function(b){if(j){var c=j;j.length&&a(function(){for(var a,d=0,e=c.length;e>d;d++)a=c[d],a[2](b)})}},promise:{then:function(a,c,g){var i=h(),k=function(c){try{i.resolve((x(a)?a:d)(c))}catch(e){i.reject(e),b(e)}},l=function(a){try{i.resolve((x(c)?c:e)(a))}catch(d){i.reject(d),b(d)}},m=function(a){try{i.notify((x(g)?g:d)(a))}catch(c){b(c)}};return j?j.push([k,l,m]):f.then(k,l,m),i.promise},"catch":function(a){return this.then(null,a)},"finally":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 D(f)?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 D(b)?b:{then:function(c){var d=h();return a(function(){d.resolve(c(b))}),d.promise}}},j=function(a){var b=h();return b.reject(a),b.promise},k=function(c){return{then:function(d,f){var g=h();return a(function(){try{g.resolve((x(f)?f:e)(c))}catch(a){g.reject(a),b(a)}}),g.promise}}},l=function(c,f,g,k){var l,m=h(),n=function(a){try{return(x(f)?f:d)(a)}catch(c){return b(c),j(c)}},o=function(a){try{return(x(g)?g:e)(a)}catch(c){return b(c),j(c)}},p=function(a){try{return(x(k)?k:d)(a)}catch(c){b(c)}};return a(function(){i(c).then(function(a){l||(l=!0,m.resolve(i(a).then(n,o,p)))},function(a){l||(l=!0,m.resolve(o(a)))},function(a){l||m.notify(p(a))})}),m.promise};return{defer:h,reject:j,when:l,all:g}}function Ac(){this.$get=["$window","$timeout",function(a,b){var c=a.requestAnimationFrame||a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame,d=a.cancelAnimationFrame||a.webkitCancelAnimationFrame||a.mozCancelAnimationFrame||a.webkitCancelRequestAnimationFrame,e=!!c,f=e?function(a){var b=c(a);return function(){d(b)}}:function(a){var c=b(a,16.66,!1);return function(){b.cancel(c)}};return f.supported=e,f}]}function Bc(){var a=10,b=d("$rootScope"),c=null;this.digestTtl=function(b){return arguments.length&&(a=b),a},this.$get=["$injector","$exceptionHandler","$parse","$browser",function(d,g,h,i){function k(){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.$$postDigestQueue=[],this.$$listeners={},this.$$listenerCount={},this.$$isolateBindings={}}function l(a){if(r.$$phase)throw b("inprog","{0} already in progress",r.$$phase);r.$$phase=a}function m(){r.$$phase=null}function n(a,b){var c=h(a);return cb(c,b),c}function p(a,b,c){do a.$$listenerCount[c]-=b,0===a.$$listenerCount[c]&&delete a.$$listenerCount[c];while(a=a.$parent)}function q(){}k.prototype={constructor:k,$new:function(a){var b;return a?(b=new k,b.$root=this.$root,b.$$asyncQueue=this.$$asyncQueue,b.$$postDigestQueue=this.$$postDigestQueue):(this.$$childScopeClass||(this.$$childScopeClass=function(){this.$$watchers=this.$$nextSibling=this.$$childHead=this.$$childTail=null,this.$$listeners={},this.$$listenerCount={},this.$id=j(),this.$$childScopeClass=null},this.$$childScopeClass.prototype=this),b=new this.$$childScopeClass),b["this"]=b,b.$parent=this,b.$$prevSibling=this.$$childTail,this.$$childHead?(this.$$childTail.$$nextSibling=b,this.$$childTail=b):this.$$childHead=this.$$childTail=b,b},$watch:function(a,b,d){var e=this,f=n(a,"watch"),g=e.$$watchers,h={fn:b,last:q,get:f,exp:a,eq:!!d};if(c=null,!x(b)){var i=n(b||o,"listener");h.fn=function(a,b,c){i(c)}}if("string"==typeof a&&f.constant){var j=h.fn;h.fn=function(a,b,c){j.call(this,a,b,c),I(g,h)}}return g||(g=e.$$watchers=[]),g.unshift(h),function(){I(g,h),c=null}},$watchCollection:function(a,b){function c(){f=m(j);var a,b,c;if(t(f))if(e(f)){g!==n&&(g=n,q=g.length=0,l++),a=f.length,q!==a&&(l++,g.length=q=a);for(var d=0;a>d;d++)c=g[d]!==g[d]&&f[d]!==f[d],c||g[d]===f[d]||(l++,g[d]=f[d])}else{g!==o&&(g=o={},q=0,l++),a=0;for(b in f)f.hasOwnProperty(b)&&(a++,g.hasOwnProperty(b)?(c=g[b]!==g[b]&&f[b]!==f[b],c||g[b]===f[b]||(l++,g[b]=f[b])):(q++,g[b]=f[b],l++));if(q>a){l++;for(b in g)g.hasOwnProperty(b)&&!f.hasOwnProperty(b)&&(q--,delete g[b])}}else g!==f&&(g=f,l++);return l}function d(){if(p?(p=!1,b(f,f,j)):b(f,i,j),k)if(t(f))if(e(f)){i=new Array(f.length);for(var a=0;a1,l=0,m=h(a),n=[],o={},p=!0,q=0;return this.$watch(c,d)},$digest:function(){var d,e,f,h,j,k,n,o,p,r,s,t=this.$$asyncQueue,u=this.$$postDigestQueue,v=a,w=this,y=[];l("$digest"),i.$$checkUrlChange(),c=null;do{for(k=!1,o=w;t.length;){try{s=t.shift(),s.scope.$eval(s.expression)}catch(z){m(),g(z)}c=null}a:do{if(h=o.$$watchers)for(j=h.length;j--;)try{if(d=h[j])if((e=d.get(o))===(f=d.last)||(d.eq?L(e,f):"number"==typeof e&&"number"==typeof f&&isNaN(e)&&isNaN(f))){if(d===c){k=!1;break a}}else k=!0,c=d,d.last=d.eq?J(e,null):e,d.fn(e,f===q?e:f,o),5>v&&(p=4-v,y[p]||(y[p]=[]),r=x(d.exp)?"fn: "+(d.exp.name||d.exp.toString()):d.exp,r+="; newVal: "+Q(e)+"; oldVal: "+Q(f),y[p].push(r))}catch(z){m(),g(z)}if(!(n=o.$$childHead||o!==w&&o.$$nextSibling))for(;o!==w&&!(n=o.$$nextSibling);)o=o.$parent}while(o=n);if((k||t.length)&&!v--)throw m(),b("infdig","{0} $digest() iterations reached. Aborting!\nWatchers fired in the last 5 iterations: {1}",a,Q(y))}while(k||t.length);for(m();u.length;)try{u.shift()()}catch(z){g(z)}},$destroy:function(){if(!this.$$destroyed){var a=this.$parent;this.$broadcast("$destroy"),this.$$destroyed=!0,this!==r&&(f(this.$$listenerCount,O(null,p,this)),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=this.$root=null,this.$$listeners={},this.$$watchers=this.$$asyncQueue=this.$$postDigestQueue=[],this.$destroy=this.$digest=this.$apply=o,this.$on=this.$watch=function(){return o})}},$eval:function(a,b){return h(a)(this,b)},$evalAsync:function(a){r.$$phase||r.$$asyncQueue.length||i.defer(function(){r.$$asyncQueue.length&&r.$digest()}),this.$$asyncQueue.push({scope:this,expression:a})},$$postDigest:function(a){this.$$postDigestQueue.push(a)},$apply:function(a){try{return l("$apply"),this.$eval(a)}catch(b){g(b)}finally{m();try{r.$digest()}catch(b){throw g(b),b}}},$on:function(a,b){var c=this.$$listeners[a];c||(this.$$listeners[a]=c=[]),c.push(b);var d=this;do d.$$listenerCount[a]||(d.$$listenerCount[a]=0),d.$$listenerCount[a]++;while(d=d.$parent);var e=this;return function(){c[H(c,b)]=null,p(e,1,a)}},$emit:function(a){var b,c,d,e=[],f=this,h=!1,i={name:a,targetScope:f,stopPropagation:function(){h=!0},preventDefault:function(){i.defaultPrevented=!0},defaultPrevented:!1},j=M([i],arguments,1);do{for(b=f.$$listeners[a]||e,i.currentScope=f,c=0,d=b.length;d>c;c++)if(b[c])try{b[c].apply(null,j)}catch(k){g(k)}else b.splice(c,1),c--,d--;if(h)return i;f=f.$parent}while(f);return i},$broadcast:function(a){for(var b,c,d,e=this,f=e,h=e,i={name:a,targetScope:e,preventDefault:function(){i.defaultPrevented=!0},defaultPrevented:!1},j=M([i],arguments,1);f=h;){for(i.currentScope=f,b=f.$$listeners[a]||[],c=0,d=b.length;d>c;c++)if(b[c])try{b[c].apply(null,j)}catch(k){g(k)}else b.splice(c,1),c--,d--;if(!(h=f.$$listenerCount[a]&&f.$$childHead||f!==e&&f.$$nextSibling))for(;f!==e&&!(h=f.$$nextSibling);)f=f.$parent}return i}};var r=new k;return r}]}function Cc(){var a=/^\s*(https?|ftp|mailto|tel|file):/,b=/^\s*((https?|ftp|file):|data:image\/)/;this.aHrefSanitizationWhitelist=function(b){return s(b)?(a=b,this):a},this.imgSrcSanitizationWhitelist=function(a){return s(a)?(b=a,this):b},this.$get=function(){return function(c,d){var e,f=d?b:a;return rd&&!(rd>=8)||(e=Kc(c).href,""===e||e.match(f))?c:"unsafe:"+e}}}function Dc(a){return a.replace(/([-()\[\]{}+?*.$\^|,:#-1)throw se("iwcard","Illegal sequence *** in string matcher. String: {0}",a);return a=Dc(a).replace("\\*\\*",".*").replace("\\*","[^:/.?&;]*"),new RegExp("^"+a+"$")}if(y(a))return new RegExp("^"+a.source+"$");throw se("imatcher",'Matchers may only be "self", string patterns or RegExp objects')}function Fc(a){var b=[];return s(a)&&f(a,function(a){b.push(Ec(a))}),b}function Gc(){this.SCE_CONTEXTS=te;var a=["self"],b=[];this.resourceUrlWhitelist=function(b){return arguments.length&&(a=Fc(b)),a},this.resourceUrlBlacklist=function(a){return arguments.length&&(b=Fc(a)),b},this.$get=["$injector",function(d){function e(a,b){return"self"===a?Lc(b):!!a.exec(b.href)}function f(c){var d,f,g=Kc(c.toString()),h=!1;for(d=0,f=a.length;f>d;d++)if(e(a[d],g)){h=!0;break}if(h)for(d=0,f=b.length;f>d;d++)if(e(b[d],g)){h=!1;break}return h}function g(a){var b=function(a){this.$$unwrapTrustedValue=function(){return a}};return a&&(b.prototype=new a),b.prototype.valueOf=function(){return this.$$unwrapTrustedValue()},b.prototype.toString=function(){return this.$$unwrapTrustedValue().toString()},b}function h(a,b){var d=m.hasOwnProperty(a)?m[a]:null;if(!d)throw se("icontext","Attempted to trust a value in invalid context. Context: {0}; Value: {1}",a,b);if(null===b||b===c||""===b)return b;if("string"!=typeof b)throw se("itype","Attempted to trust a non-string value in a content requiring a string: Context: {0}",a);return new d(b)}function i(a){return a instanceof l?a.$$unwrapTrustedValue():a +}function j(a,b){if(null===b||b===c||""===b)return b;var d=m.hasOwnProperty(a)?m[a]:null;if(d&&b instanceof d)return b.$$unwrapTrustedValue();if(a===te.RESOURCE_URL){if(f(b))return b;throw se("insecurl","Blocked loading resource from url not allowed by $sceDelegate policy. URL: {0}",b.toString())}if(a===te.HTML)return k(b);throw se("unsafe","Attempting to use an unsafe value in a safe context.")}var k=function(){throw se("unsafe","Attempting to use an unsafe value in a safe context.")};d.has("$sanitize")&&(k=d.get("$sanitize"));var l=g(),m={};return m[te.HTML]=g(l),m[te.CSS]=g(l),m[te.URL]=g(l),m[te.JS]=g(l),m[te.RESOURCE_URL]=g(m[te.URL]),{trustAs:h,getTrusted:j,valueOf:i}}]}function Hc(){var a=!0;this.enabled=function(b){return arguments.length&&(a=!!b),a},this.$get=["$parse","$sniffer","$sceDelegate",function(b,c,d){if(a&&c.msie&&c.msieDocumentMode<8)throw se("iequirks","Strict Contextual Escaping does not support Internet Explorer version < 9 in quirks mode. You can fix this by adding the text to the top of your HTML document. See http://docs.angularjs.org/api/ng.$sce for more information.");var e=K(te);e.isEnabled=function(){return a},e.trustAs=d.trustAs,e.getTrusted=d.getTrusted,e.valueOf=d.valueOf,a||(e.trustAs=e.getTrusted=function(a,b){return b},e.valueOf=p),e.parseAs=function(a,c){var d=b(c);return d.literal&&d.constant?d:function(b,c){return e.getTrusted(a,d(b,c))}};var g=e.parseAs,h=e.getTrusted,i=e.trustAs;return f(te,function(a,b){var c=md(b);e[jb("parse_as_"+c)]=function(b){return g(a,b)},e[jb("get_trusted_"+c)]=function(b){return h(a,b)},e[jb("trust_as_"+c)]=function(b){return i(a,b)}}),e}]}function Ic(){this.$get=["$window","$document",function(a,b){var c,d,e={},f=m((/android (\d+)/.exec(md((a.navigator||{}).userAgent))||[])[1]),g=/Boxee/i.test((a.navigator||{}).userAgent),h=b[0]||{},i=h.documentMode,j=/^(Moz|webkit|O|ms)(?=[A-Z])/,k=h.body&&h.body.style,l=!1,n=!1;if(k){for(var o in k)if(d=j.exec(o)){c=d[0],c=c.substr(0,1).toUpperCase()+c.substr(1);break}c||(c="WebkitOpacity"in k&&"webkit"),l=!!("transition"in k||c+"Transition"in k),n=!!("animation"in k||c+"Animation"in k),!f||l&&n||(l=u(h.body.style.webkitTransition),n=u(h.body.style.webkitAnimation))}return{history:!(!a.history||!a.history.pushState||4>f||g),hashchange:"onhashchange"in a&&(!i||i>7),hasEvent:function(a){if("input"==a&&9==rd)return!1;if(r(e[a])){var b=h.createElement("div");e[a]="on"+a in b}return e[a]},csp:Ed(),vendorPrefix:c,transitions:l,animations:n,android:f,msie:rd,msieDocumentMode:i}}]}function Jc(){this.$get=["$rootScope","$browser","$q","$exceptionHandler",function(a,b,c,d){function e(e,g,h){var i,j=c.defer(),k=j.promise,l=s(h)&&!h;return i=b.defer(function(){try{j.resolve(e())}catch(b){j.reject(b),d(b)}finally{delete f[k.$$timeoutId]}l||a.$apply()},g),k.$$timeoutId=i,f[i]=j,k}var f={};return e.cancel=function(a){return a&&a.$$timeoutId in f?(f[a.$$timeoutId].reject("canceled"),delete f[a.$$timeoutId],b.defer.cancel(a.$$timeoutId)):!1},e}]}function Kc(a){var b=a;return rd&&(ue.setAttribute("href",b),b=ue.href),ue.setAttribute("href",b),{href:ue.href,protocol:ue.protocol?ue.protocol.replace(/:$/,""):"",host:ue.host,search:ue.search?ue.search.replace(/^\?/,""):"",hash:ue.hash?ue.hash.replace(/^#/,""):"",hostname:ue.hostname,port:ue.port,pathname:"/"===ue.pathname.charAt(0)?ue.pathname:"/"+ue.pathname}}function Lc(a){var b=u(a)?Kc(a):a;return b.protocol===ve.protocol&&b.host===ve.host}function Mc(){this.$get=q(a)}function Nc(a){function b(d,e){if(t(d)){var g={};return f(d,function(a,c){g[c]=b(c,a)}),g}return a.factory(d+c,e)}var c="Filter";this.register=b,this.$get=["$injector",function(a){return function(b){return a.get(b+c)}}],b("currency",Pc),b("date",Xc),b("filter",Oc),b("json",Yc),b("limitTo",Zc),b("lowercase",Ae),b("number",Qc),b("orderBy",$c),b("uppercase",Be)}function Oc(){return function(a,b,c){if(!Cd(a))return a;var d=typeof c,e=[];e.check=function(a){for(var b=0;b-1});var f=function(a,b){if("string"==typeof b&&"!"===b.charAt(0))return!f(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)&&f(a[d],b))return!0}return!1;case"array":for(var e=0;ea;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",a=0):(h=g,j=!0)}if(j)e>0&&a>-1&&1>a&&(h=a.toFixed(e));else{var l=(g.split(we)[1]||"").length;r(e)&&(e=Math.min(Math.max(b.minFrac,l),b.maxFrac)),a=+(Math.round(+(a.toString()+"e"+e)).toString()+"e"+-e),0===a&&(f=!1);var m=(""+a).split(we),n=m[0];m=m[1]||"";var o,p=0,q=b.lgSize,s=b.gSize;if(n.length>=q+s)for(p=n.length-q,o=0;p>o;o++)(p-o)%s===0&&0!==o&&(h+=c),h+=n.charAt(o);for(o=p;oa&&(d="-",a=-a),a=""+a;a.length0||f>-c)&&(f+=c),0===f&&-12==c&&(f=12),Sc(f,b,d)}}function Uc(a,b){return function(c,d){var e=c["get"+a](),f=od(b?"SHORT"+a:a);return d[f][e]}}function Vc(a){var b=-1*a.getTimezoneOffset(),c=b>=0?"+":"";return c+=Sc(Math[b>0?"floor":"ceil"](b/60),2)+Sc(Math.abs(b%60),2)}function Wc(a,b){return a.getHours()<12?b.AMPMS[0]:b.AMPMS[1]}function Xc(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=ze.test(c)?m(c):b(c)),v(c)&&(c=new Date(c)),!w(c))return c;for(;d;)g=ye.exec(d),g?(i=M(i,g,1),d=i.pop()):(i.push(d),d=null);return f(i,function(b){e=xe[b],h+=e?e(c,a.DATETIME_FORMATS):b.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),h}}function Yc(){return function(a){return Q(a,!0)}}function Zc(){return function(a,b){if(!Cd(a)&&!u(a))return a;if(b=1/0===Math.abs(Number(b))?Number(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 $c(a){return function(b,c,d){function f(a,b){for(var d=0;da?-1:1):d>c?-1:1}if(!e(b))return b;if(!c)return b;c=Cd(c)?c:[c],c=F(c,function(b){var c=!1,d=b||p;if(u(b)&&(("+"==b.charAt(0)||"-"==b.charAt(0))&&(c="-"==b.charAt(0),b=b.substring(1)),d=a(b),d.constant)){var e=d();return g(function(a,b){return h(a[e],b[e])},c)}return g(function(a,b){return h(d(a),d(b))},c)});for(var i=[],j=0;j15&&19>b||b>=37&&40>=b||p()}),f.hasEvent("paste")&&b.on("paste cut",p)}b.on("change",n),e.$render=function(){b.val(e.$isEmpty(e.$viewValue)?"":e.$viewValue)};var q,r,s=c.ngPattern;if(s){var t=function(a,b){return bd(e,"pattern",e.$isEmpty(b)||a.test(b),b)};r=s.match(/^\/(.*)\/([gim]*)$/),r?(s=new RegExp(r[1],r[2]),q=function(a){return t(s,a)}):q=function(c){var e=a.$eval(s);if(!e||!e.test)throw d("ngPattern")("noregexp","Expected {0} to be a RegExp but was {1}. Element: {2}",s,e,T(b));return t(e,c)},e.$formatters.push(q),e.$parsers.push(q)}if(c.ngMinlength){var u=m(c.ngMinlength),v=function(a){return bd(e,"minlength",e.$isEmpty(a)||a.length>=u,a)};e.$parsers.push(v),e.$formatters.push(v)}if(c.ngMaxlength){var w=m(c.ngMaxlength),x=function(a){return bd(e,"maxlength",e.$isEmpty(a)||a.length<=w,a)};e.$parsers.push(x),e.$formatters.push(x)}}function fd(a,b,d,e,f,g){if(ed(a,b,d,e,f,g),e.$parsers.push(function(a){var b=e.$isEmpty(a);return b||Ke.test(a)?(e.$setValidity("number",!0),""===a?null:b?a:parseFloat(a)):(e.$setValidity("number",!1),c)}),dd(e,"number",Me,null,e.$$validityState),e.$formatters.push(function(a){return e.$isEmpty(a)?"":""+a}),d.min){var h=function(a){var b=parseFloat(d.min);return bd(e,"min",e.$isEmpty(a)||a>=b,a)};e.$parsers.push(h),e.$formatters.push(h)}if(d.max){var i=function(a){var b=parseFloat(d.max);return bd(e,"max",e.$isEmpty(a)||b>=a,a)};e.$parsers.push(i),e.$formatters.push(i)}e.$formatters.push(function(a){return bd(e,"number",e.$isEmpty(a)||v(a),a)})}function gd(a,b,c,d,e,f){ed(a,b,c,d,e,f);var g=function(a){return bd(d,"url",d.$isEmpty(a)||Ie.test(a),a)};d.$formatters.push(g),d.$parsers.push(g)}function hd(a,b,c,d,e,f){ed(a,b,c,d,e,f);var g=function(a){return bd(d,"email",d.$isEmpty(a)||Je.test(a),a)};d.$formatters.push(g),d.$parsers.push(g)}function id(a,b,c,d){r(c.name)&&b.attr("name",j()),b.on("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 jd(a,b,c,d){var e=c.ngTrueValue,f=c.ngFalseValue;u(e)||(e=!0),u(f)||(f=!1),b.on("click",function(){a.$apply(function(){d.$setViewValue(b[0].checked)})}),d.$render=function(){b[0].checked=d.$viewValue},d.$isEmpty=function(a){return a!==e},d.$formatters.push(function(a){return a===e}),d.$parsers.push(function(a){return a?e:f})}function kd(a,b){return a="ngClass"+a,["$animate",function(c){function d(a,b){var c=[];a:for(var d=0;d0||c[a])&&(c[a]=(c[a]||0)+b,c[a]===+(b>0)&&d.push(a))}),h.data("$classCounts",c),d.join(" ")}function m(a,b){var e=d(b,a),f=d(a,b);f=l(f,-1),e=l(e,1),0===e.length?c.removeClass(h,f):0===f.length?c.addClass(h,e):c.setClass(h,e,f)}function n(a){if(b===!0||g.$index%2===b){var c=e(a||[]);if(o){if(!L(a,o)){var d=e(o);m(d,c)}}else j(c)}o=K(a)}var o;g.$watch(i[a],n,!0),i.$observe("class",function(){n(g.$eval(i[a]))}),"ngClass"!==a&&g.$watch("$index",function(c,d){var f=1&c;if(f!==(1&d)){var h=e(g.$eval(i[a]));f===b?j(h):k(h)}})}}}]}var ld="validity",md=function(a){return u(a)?a.toLowerCase():a},nd=Object.prototype.hasOwnProperty,od=function(a){return u(a)?a.toUpperCase():a},pd=function(a){return u(a)?a.replace(/[A-Z]/g,function(a){return String.fromCharCode(32|a.charCodeAt(0))}):a},qd=function(a){return u(a)?a.replace(/[a-z]/g,function(a){return String.fromCharCode(-33&a.charCodeAt(0))}):a};"i"!=="I".toLowerCase()&&(md=pd,od=qd);var rd,sd,td,ud,vd,wd=[].slice,xd=[].push,yd=Object.prototype.toString,zd=d("ng"),Ad=a.angular||(a.angular={}),Bd=["0","0","0"];rd=m((/msie (\d+)/.exec(md(navigator.userAgent))||[])[1]),isNaN(rd)&&(rd=m((/trident\/.*; rv:(\d+)/.exec(md(navigator.userAgent))||[])[1])),o.$inject=[],p.$inject=[];var Cd=function(){return x(Array.isArray)?Array.isArray:function(a){return"[object Array]"===yd.call(a)}}(),Dd=function(){return String.prototype.trim?function(a){return u(a)?a.trim():a}:function(a){return u(a)?a.replace(/^\s\s*/,"").replace(/\s\s*$/,""):a}}();vd=9>rd?function(a){return a=a.nodeName?a:a[0],a.scopeName&&"HTML"!=a.scopeName?od(a.scopeName+":"+a.nodeName):a.nodeName}:function(a){return a.nodeName?a.nodeName:a[0].nodeName};var Ed=function(){if(s(Ed.isActive_))return Ed.isActive_;var a=!(!b.querySelector("[ng-csp]")&&!b.querySelector("[data-ng-csp]"));if(!a)try{new Function("")}catch(c){a=!0}return Ed.isActive_=a},Fd=/[A-Z]/g,Gd={full:"1.2.25",major:1,minor:2,dot:25,codeName:"hypnotic-gesticulation"};ob.expando="ng339";var Hd=ob.cache={},Id=1,Jd=a.document.addEventListener?function(a,b,c){a.addEventListener(b,c,!1)}:function(a,b,c){a.attachEvent("on"+b,c)},Kd=a.document.removeEventListener?function(a,b,c){a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent("on"+b,c)},Ld=(ob._data=function(a){return this.cache[a[this.expando]]||{}},/([\:\-\_]+(.))/g),Md=/^moz([A-Z])/,Nd=d("jqLite"),Od=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,Pd=/<|&#?\w+;/,Qd=/<([\w:]+)/,Rd=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,Sd={option:[1,'"],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};Sd.optgroup=Sd.option,Sd.tbody=Sd.tfoot=Sd.colgroup=Sd.caption=Sd.thead,Sd.th=Sd.td;var Td=ob.prototype={ready:function(c){function d(){e||(e=!0,c())}var e=!1;"complete"===b.readyState?setTimeout(d):(this.on("DOMContentLoaded",d),ob(a).on("load",d))},toString:function(){var a=[];return f(this,function(b){a.push(""+b)}),"["+a.join(", ")+"]"},eq:function(a){return sd(a>=0?this[a]:this[this.length+a])},length:0,push:xd,sort:[].sort,splice:[].splice},Ud={};f("multiple,selected,checked,disabled,readOnly,required,open".split(","),function(a){Ud[md(a)]=a});var Vd={};f("input,select,option,textarea,button,form,details".split(","),function(a){Vd[od(a)]=!0}),f({data:ub,removeData:sb},function(a,b){ob[b]=a}),f({data:ub,inheritedData:Ab,scope:function(a){return sd.data(a,"$scope")||Ab(a.parentNode||a,["$isolateScope","$scope"])},isolateScope:function(a){return sd.data(a,"$isolateScope")||sd.data(a,"$isolateScopeNoTemplate")},controller:zb,injector:function(a){return Ab(a,"$injector")},removeAttr:function(a,b){a.removeAttribute(b)},hasClass:vb,css:function(a,b,d){if(b=jb(b),!s(d)){var e;return 8>=rd&&(e=a.currentStyle&&a.currentStyle[b],""===e&&(e="auto")),e=e||a.style[b],8>=rd&&(e=""===e?c:e),e}a.style[b]=d},attr:function(a,b,d){var e=md(b);if(Ud[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:function(){function a(a,c){var d=b[a.nodeType];return r(c)?d?a[d]:"":void(a[d]=c)}var b=[];return 9>rd?(b[1]="innerText",b[3]="nodeValue"):b[1]=b[3]="textContent",a.$dv="",a}(),val:function(a,b){if(r(b)){if("SELECT"===vd(a)&&a.multiple){var c=[];return f(a.options,function(a){a.selected&&c.push(a.value||a.text)}),0===c.length?null:c}return a.value}a.value=b},html:function(a,b){if(r(b))return a.innerHTML;for(var c=0,d=a.childNodes;ce;e++)if(a===ub)a(this[e],b);else for(f in b)a(this[e],f,b[f]);return this}for(var h=a.$dv,i=h===c?Math.min(g,1):g,j=0;i>j;j++){var k=a(this[j],b,d);h=h?h+k:k}return h}for(e=0;g>e;e++)a(this[e],b,d);return this}}),f({removeData:sb,dealoc:qb,on:function Cf(a,c,d,e){if(s(e))throw Nd("onargs","jqLite#on() does not support the `selector` or `eventData` parameters");var g=tb(a,"events"),h=tb(a,"handle");g||tb(a,"events",g={}),h||tb(a,"handle",h=Db(a,g)),f(c.split(" "),function(c){var e=g[c];if(!e){if("mouseenter"==c||"mouseleave"==c){var f=b.body.contains||b.body.compareDocumentPosition?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)for(;b=b.parentNode;)if(b===a)return!0;return!1};g[c]=[];var i={mouseleave:"mouseout",mouseenter:"mouseover"};Cf(a,i[c],function(a){var b=this,d=a.relatedTarget;(!d||d!==b&&!f(b,d))&&h(a,c)})}else Jd(a,c,h),g[c]=[];e=g[c]}e.push(d)})},off:rb,one:function(a,b,c){a=sd(a),a.on(b,function d(){a.off(b,c),a.off(b,d)}),a.on(b,c)},replaceWith:function(a,b){var c,d=a.parentNode;qb(a),f(new ob(b),function(b){c?d.insertBefore(b,c.nextSibling):d.replaceChild(b,a),c=b})},children:function(a){var b=[];return f(a.childNodes,function(a){1===a.nodeType&&b.push(a)}),b},contents:function(a){return a.contentDocument||a.childNodes||[]},append:function(a,b){f(new ob(b),function(b){(1===a.nodeType||11===a.nodeType)&&a.appendChild(b)})},prepend:function(a,b){if(1===a.nodeType){var c=a.firstChild;f(new ob(b),function(b){a.insertBefore(b,c)})}},wrap:function(a,b){b=sd(b)[0];var c=a.parentNode;c&&c.replaceChild(b,a),b.appendChild(a)},remove:function(a){qb(a);var b=a.parentNode;b&&b.removeChild(a)},after:function(a,b){var c=a,d=a.parentNode;f(new ob(b),function(a){d.insertBefore(a,c.nextSibling),c=a})},addClass:xb,removeClass:wb,toggleClass:function(a,b,c){b&&f(b.split(" "),function(b){var d=c;r(d)&&(d=!vb(a,b)),(d?xb:wb)(a,b)})},parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},next:function(a){if(a.nextElementSibling)return a.nextElementSibling;for(var b=a.nextSibling;null!=b&&1!==b.nodeType;)b=b.nextSibling;return b},find:function(a,b){return a.getElementsByTagName?a.getElementsByTagName(b):[]},clone:pb,triggerHandler:function(a,b,c){var d,e,g,h=b.type||b,i=(tb(a,"events")||{})[h];i&&(d={preventDefault:function(){this.defaultPrevented=!0},isDefaultPrevented:function(){return this.defaultPrevented===!0},stopPropagation:o,type:h,target:a},b.type&&(d=l(d,b)),e=K(i),g=c?[d].concat(c):[d],f(e,function(b){b.apply(a,g)}))}},function(a,b){ob.prototype[b]=function(b,c,d){for(var e,f=0;f":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)}},oe={n:"\n",f:"\f",r:"\r",t:" ",v:" ","'":"'",'"':'"'},pe=function(a){this.options=a};pe.prototype={constructor:pe,lex:function(a){for(this.text=a,this.index=0,this.ch=c,this.lastCh=":",this.tokens=[];this.index="0"&&"9">=a},isWhitespace:function(a){return" "===a||"\r"===a||" "===a||"\n"===a||" "===a||" "===a},isIdent:function(a){return a>="a"&&"z">=a||a>="A"&&"Z">=a||"_"===a||"$"===a},isExpOperator:function(a){return"-"===a||"+"===a||this.isNumber(a)},throwError:function(a,b,c){c=c||this.index;var d=s(b)?"s "+b+"-"+this.index+" ["+this.text.substring(b,c)+"]":" "+c;throw ie("lexerr","Lexer Error: {0} at column{1} in expression [{2}].",a,d,this.text)},readNumber:function(){for(var a="",b=this.index;this.index0){var e=this.tokens[0],f=e.text;if(f===a||f===b||f===c||f===d||!a&&!b&&!c&&!d)return e}return!1},expect:function(a,b,c,d){var e=this.peek(a,b,c,d);return e?(this.tokens.shift(),e):!1},consume:function(a){this.expect(a)||this.throwError("is unexpected, expecting ["+a+"]",this.peek())},unaryFn:function(a,b){return l(function(c,d){return a(c,d,b)},{constant:b.constant})},ternaryFn:function(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})},binaryFn:function(a,b,c){return l(function(d,e){return b(d,e,a,c)},{constant:a.constant&&c.constant})},statements:function(){for(var a=[];;)if(this.tokens.length>0&&!this.peek("}",")",";","]")&&a.push(this.filterChain()),!this.expect(";"))return 1===a.length?a[0]:function(b,c){for(var d,e=0;e","<=",">="))&&(b=this.binaryFn(b,a.fn,this.relational())),b},additive:function(){for(var a,b=this.multiplicative();a=this.expect("+","-");)b=this.binaryFn(b,a.fn,this.multiplicative());return b},multiplicative:function(){for(var a,b=this.unary();a=this.expect("*","/","%");)b=this.binaryFn(b,a.fn,this.unary());return b},unary:function(){var a;return this.expect("+")?this.primary():(a=this.expect("-"))?this.binaryFn(qe.ZERO,a.fn,this.unary()):(a=this.expect("!"))?this.unaryFn(a.fn,this.unary()):this.primary() +},fieldAccess:function(a){var b=this,c=this.expect().text,d=wc(c,this.options,this.text);return l(function(b,c,e){return d(e||a(b,c))},{assign:function(d,e,f){var g=a(d,f);return g||a.assign(d,g={}),uc(g,c,e,b.text,b.options)}})},objectIndex:function(a){var b=this,d=this.expression();return this.consume("]"),l(function(e,f){var g,h,i=a(e,f),j=d(e,f);return rc(j,b.text),i?(g=sc(i[j],b.text),g&&g.then&&b.options.unwrapPromises&&(h=g,"$$v"in g||(h.$$v=c,h.then(function(a){h.$$v=a})),g=g.$$v),g):c},{assign:function(c,e,f){var g=rc(d(c,f),b.text),h=sc(a(c,f),b.text);return h||a.assign(c,h={}),h[g]=e}})},functionCall:function(a,b){var c=[];if(")"!==this.peekToken().text)do c.push(this.expression());while(this.expect(","));this.consume(")");var d=this;return function(e,f){for(var g=[],h=b?b(e,f):e,i=0;i=rd&&(c.href||c.name||c.$set("href",""),a.append(b.createComment("IE fix"))),c.href||c.xlinkHref||c.name?void 0:function(a,b){var c="[object SVGAnimatedString]"===yd.call(b.prop("href"))?"xlink:href":"href";b.on("click",function(a){b.attr(c)||a.preventDefault()})}}}),De={};f(Ud,function(a,b){if("multiple"!=a){var c=Pb("ng-"+b);De[c]=function(){return{priority:100,link:function(a,d,e){a.$watch(e[c],function(a){e.$set(b,!!a)})}}}}}),f(["src","srcset","href"],function(a){var b=Pb("ng-"+a);De[b]=function(){return{priority:99,link:function(c,d,e){var f=a,g=a;"href"===a&&"[object SVGAnimatedString]"===yd.call(d.prop("href"))&&(g="xlinkHref",e.$attr[g]="xlink:href",f=null),e.$observe(b,function(b){return b?(e.$set(g,b),void(rd&&f&&d.prop(f,e[g]))):void("href"===a&&e.$set(g,null))})}}}});var Ee={$addControl:o,$removeControl:o,$setValidity:o,$setDirty:o,$setPristine:o};ad.$inject=["$element","$attrs","$scope","$animate"];var Fe=function(a){return["$timeout",function(b){var d={name:"form",restrict:a?"EAC":"E",controller:ad,compile:function(){return{pre:function(a,d,e,f){if(!e.action){var g=function(a){a.preventDefault?a.preventDefault():a.returnValue=!1};Jd(d[0],"submit",g),d.on("$destroy",function(){b(function(){Kd(d[0],"submit",g)},0,!1)})}var h=d.parent().controller("form"),i=e.name||e.ngForm;i&&uc(a,i,f,i),h&&d.on("$destroy",function(){h.$removeControl(f),i&&uc(a,i,c,i),l(f,Ee)})}}}};return d}]},Ge=Fe(),He=Fe(!0),Ie=/^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/,Je=/^[a-z0-9!#$%&'*+\/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i,Ke=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/,Le={text:ed,number:fd,url:gd,email:hd,radio:id,checkbox:jd,hidden:o,button:o,submit:o,reset:o,file:o},Me=["badInput"],Ne=["$browser","$sniffer",function(a,b){return{restrict:"E",require:"?ngModel",link:function(c,d,e,f){f&&(Le[md(e.type)]||Le.text)(c,d,e,f,b,a)}}}],Oe="ng-valid",Pe="ng-invalid",Qe="ng-pristine",Re="ng-dirty",Se=["$scope","$exceptionHandler","$attrs","$element","$parse","$animate",function(a,b,c,e,g,h){function i(a,b){b=b?"-"+_(b,"-"):"",h.removeClass(e,(a?Pe:Oe)+b),h.addClass(e,(a?Oe:Pe)+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 j=g(c.ngModel),k=j.assign;if(!k)throw d("ngModel")("nonassign","Expression '{0}' is non-assignable. Element: {1}",c.ngModel,T(e));this.$render=o,this.$isEmpty=function(a){return r(a)||""===a||null===a||a!==a};var l=e.inheritedData("$formController")||Ee,m=0,n=this.$error={};e.addClass(Qe),i(!0),this.$setValidity=function(a,b){n[a]!==!b&&(b?(n[a]&&m--,m||(i(!0),this.$valid=!0,this.$invalid=!1)):(i(!1),this.$invalid=!0,this.$valid=!1,m++),n[a]=!b,i(b,a),l.$setValidity(a,b,this))},this.$setPristine=function(){this.$dirty=!1,this.$pristine=!0,h.removeClass(e,Re),h.addClass(e,Qe)},this.$setViewValue=function(c){this.$viewValue=c,this.$pristine&&(this.$dirty=!0,this.$pristine=!1,h.removeClass(e,Qe),h.addClass(e,Re),l.$setDirty()),f(this.$parsers,function(a){c=a(c)}),this.$modelValue!==c&&(this.$modelValue=c,k(a,c),f(this.$viewChangeListeners,function(a){try{a()}catch(c){b(c)}}))};var p=this;a.$watch(function(){var b=j(a);if(p.$modelValue!==b){var c=p.$formatters,d=c.length;for(p.$modelValue=b;d--;)b=c[d](b);p.$viewValue!==b&&(p.$viewValue=b,p.$render())}return b})}],Te=function(){return{require:["ngModel","^?form"],controller:Se,link:function(a,b,c,d){var e=d[0],f=d[1]||Ee;f.$addControl(e),a.$on("$destroy",function(){f.$removeControl(e)})}}},Ue=q({require:"ngModel",link:function(a,b,c,d){d.$viewChangeListeners.push(function(){a.$eval(c.ngChange)})}}),Ve=function(){return{require:"?ngModel",link:function(a,b,c,d){if(d){c.required=!0;var e=function(a){return c.required&&d.$isEmpty(a)?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)})}}}},We=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){if(!r(a)){var b=[];return a&&f(a.split(h),function(a){a&&b.push(Dd(a))}),b}};e.$parsers.push(i),e.$formatters.push(function(a){return Cd(a)?a.join(", "):c}),e.$isEmpty=function(a){return!a||!a.length}}}},Xe=/^(true|false|\d+)$/,Ye=function(){return{priority:100,compile:function(a,b){return Xe.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)})}}}},Ze=_c({compile:function(a){return a.addClass("ng-binding"),function(a,b,d){b.data("$binding",d.ngBind),a.$watch(d.ngBind,function(a){b.text(a==c?"":a)})}}}),$e=["$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)})}}],_e=["$sce","$parse",function(a,b){return{compile:function(c){return c.addClass("ng-binding"),function(c,d,e){function f(){return(g(c)||"").toString()}d.data("$binding",e.ngBindHtml);var g=b(e.ngBindHtml);c.$watch(f,function(){d.html(a.getTrustedHtml(g(c))||"")})}}}}],af=kd("",!0),bf=kd("Odd",0),cf=kd("Even",1),df=_c({compile:function(a,b){b.$set("ngCloak",c),a.removeClass("ng-cloak")}}),ef=[function(){return{scope:!0,controller:"@",priority:500}}],ff={},gf={blur:!0,focus:!0};f("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),function(a){var b=Pb("ng-"+a);ff[b]=["$parse","$rootScope",function(c,d){return{compile:function(e,f){var g=c(f[b]);return function(b,c){c.on(a,function(c){var e=function(){g(b,{$event:c})};gf[a]&&d.$$phase?b.$evalAsync(e):b.$apply(e)})}}}}]});var hf=["$animate",function(a){return{transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function(c,d,e,f,g){var h,i,j;c.$watch(e.ngIf,function(f){S(f)?i||(i=c.$new(),g(i,function(c){c[c.length++]=b.createComment(" end ngIf: "+e.ngIf+" "),h={clone:c},a.enter(c,d.parent(),d)})):(j&&(j.remove(),j=null),i&&(i.$destroy(),i=null),h&&(j=fb(h.clone),a.leave(j,function(){j=null}),h=null))})}}}],jf=["$http","$templateCache","$anchorScroll","$animate","$sce",function(a,b,c,d,e){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",controller:Ad.noop,compile:function(f,g){var h=g.ngInclude||g.src,i=g.onload||"",j=g.autoscroll;return function(f,g,k,l,m){var n,o,p,q=0,r=function(){o&&(o.remove(),o=null),n&&(n.$destroy(),n=null),p&&(d.leave(p,function(){o=null}),o=p,p=null)};f.$watch(e.parseAsResourceUrl(h),function(e){var h=function(){!s(j)||j&&!f.$eval(j)||c()},k=++q;e?(a.get(e,{cache:b}).success(function(a){if(k===q){var b=f.$new();l.template=a;var c=m(b,function(a){r(),d.enter(a,null,g,h)});n=b,p=c,n.$emit("$includeContentLoaded"),f.$eval(i)}}).error(function(){k===q&&r()}),f.$emit("$includeContentRequested")):(r(),l.template=null)})}}}}],kf=["$compile",function(a){return{restrict:"ECA",priority:-400,require:"ngInclude",link:function(b,c,d,e){c.html(e.template),a(c.contents())(b)}}}],lf=_c({priority:450,compile:function(){return{pre:function(a,b,c){a.$eval(c.ngInit)}}}}),mf=_c({terminal:!0,priority:1e3}),nf=["$locale","$interpolate",function(a,b){var c=/{}/g;return{restrict:"EA",link:function(d,e,g){var h=g.count,i=g.$attr.when&&e.attr(g.$attr.when),j=g.offset||0,k=d.$eval(i)||{},l={},m=b.startSymbol(),n=b.endSymbol(),o=/^when(Minus)?(.+)$/;f(g,function(a,b){o.test(b)&&(k[md(b.replace("when","").replace("Minus","-"))]=e.attr(g.$attr[b]))}),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)})}}}],of=["$parse","$animate",function(a,c){function g(a){return a.clone[0]}function h(a){return a.clone[a.clone.length-1]}var i="$$NG_REMOVED",j=d("ngRepeat");return{transclude:"element",priority:1e3,terminal:!0,$$tlb:!0,link:function(d,k,l,m,n){var o,p,q,r,s,t,u,v,w,x=l.ngRepeat,y=x.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?\s*$/),z={$id:Eb};if(!y)throw j("iexp","Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.",x);if(t=y[1],u=y[2],o=y[3],o?(p=a(o),q=function(a,b,c){return w&&(z[w]=a),z[v]=b,z.$index=c,p(d,z)}):(r=function(a,b){return Eb(b)},s=function(a){return a}),y=t.match(/^(?:([\$\w]+)|\(([\$\w]+)\s*,\s*([\$\w]+)\))$/),!y)throw j("iidexp","'_item_' in '_item_ in _collection_' should be an identifier or '(_key_, _value_)' expression, but got '{0}'.",t);v=y[3]||y[1],w=y[2];var A={};d.$watchCollection(u,function(a){var l,m,o,p,t,u,y,z,B,C,D,E,F=k[0],G={},H=[];if(e(a))C=a,B=q||r;else{B=q||s,C=[];for(u in a)a.hasOwnProperty(u)&&"$"!=u.charAt(0)&&C.push(u);C.sort()}for(p=C.length,m=H.length=C.length,l=0;m>l;l++)if(u=a===C?l:C[l],y=a[u],z=B(u,y,l),db(z,"`track by` id"),A.hasOwnProperty(z))D=A[z],delete A[z],G[z]=D,H[l]=D;else{if(G.hasOwnProperty(z))throw f(H,function(a){a&&a.scope&&(A[a.id]=a)}),j("dupes","Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: {0}, Duplicate key: {1}, Duplicate value: {2}",x,z,Q(y));H[l]={id:z},G[z]=!1}for(u in A)A.hasOwnProperty(u)&&(D=A[u],E=fb(D.clone),c.leave(E),f(E,function(a){a[i]=!0}),D.scope.$destroy());for(l=0,m=C.length;m>l;l++){if(u=a===C?l:C[l],y=a[u],D=H[l],H[l-1]&&(F=h(H[l-1])),D.scope){t=D.scope,o=F;do o=o.nextSibling;while(o&&o[i]);g(D)!=o&&c.move(fb(D.clone),null,sd(F)),F=h(D)}else t=d.$new();t[v]=y,w&&(t[w]=u),t.$index=l,t.$first=0===l,t.$last=l===p-1,t.$middle=!(t.$first||t.$last),t.$odd=!(t.$even=0===(1&l)),D.scope||n(t,function(a){a[a.length++]=b.createComment(" end ngRepeat: "+x+" "),c.enter(a,null,sd(F)),F=a,D.scope=t,D.clone=a,G[D.id]=D})}A=G})}}}],pf=["$animate",function(a){return function(b,c,d){b.$watch(d.ngShow,function(b){a[S(b)?"removeClass":"addClass"](c,"ng-hide")})}}],qf=["$animate",function(a){return function(b,c,d){b.$watch(d.ngHide,function(b){a[S(b)?"addClass":"removeClass"](c,"ng-hide")})}}],rf=_c(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)}),sf=["$animate",function(a){return{restrict:"EA",require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(b,c,d,e){var g=d.ngSwitch||d.on,h=[],i=[],j=[],k=[];b.$watch(g,function(c){var g,l;for(g=0,l=j.length;l>g;++g)j[g].remove();for(j.length=0,g=0,l=k.length;l>g;++g){var m=i[g];k[g].$destroy(),j[g]=m,a.leave(m,function(){j.splice(g,1)})}i.length=0,k.length=0,(h=e.cases["!"+c]||e.cases["?"])&&(b.$eval(d.change),f(h,function(c){var d=b.$new();k.push(d),c.transclude(d,function(b){var d=c.element;i.push(b),a.enter(b,d.parent(),d)})}))})}}}],tf=_c({transclude:"element",priority:800,require:"^ngSwitch",link:function(a,b,c,d,e){d.cases["!"+c.ngSwitchWhen]=d.cases["!"+c.ngSwitchWhen]||[],d.cases["!"+c.ngSwitchWhen].push({transclude:e,element:b})}}),uf=_c({transclude:"element",priority:800,require:"^ngSwitch",link:function(a,b,c,d,e){d.cases["?"]=d.cases["?"]||[],d.cases["?"].push({transclude:e,element:b})}}),vf=_c({link:function(a,b,c,e,f){if(!f)throw d("ngTransclude")("orphan","Illegal use of ngTransclude directive in the template! No parent directive that requires a transclusion found. Element: {0}",T(b));f(function(a){b.empty(),b.append(a)})}}),wf=["$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)}}}}],xf=d("ngOptions"),yf=q({terminal:!0}),zf=["$compile","$parse",function(a,d){var e=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\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){db(b,'"option value"'),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="? "+Eb(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)?(y.parent()&&y.remove(),b.val(a),""===a&&o.prop("selected",!0)):r(a)&&o?b.val(""):d.renderUnknownOption(a)},b.on("change",function(){a.$apply(function(){y.parent()&&y.remove(),c.$setViewValue(b.val())})})}function m(a,b,c){var d;c.$render=function(){var a=new Fb(c.$viewValue);f(b.find("option"),function(b){b.selected=s(a.get(b.value))})},a.$watch(function(){L(d,c.$viewValue)||(d=K(c.$viewValue),c.$render())}),b.on("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=!1;if(t){var c=h.$modelValue;if(y&&Cd(c)){a=new Fb([]);for(var d={},e=0;eC;C++){if(r=C,n){if(r=L[C],"$"===r.charAt(0))continue;M[n]=r}if(M[m]=K[r],a=o(b,M)||"",(c=H[a])||(c=H[a]=[],I.push(a)),t)D=s(N.remove(y?y(b,M):p(b,M)));else{if(y){var O={};O[m]=J,D=y(b,O)===y(b,M)}else D=J===p(b,M);N=N||D}G=l(b,M),G=s(G)?G:"",c.push({id:y?y(b,M):n?L[C]:C,label:G,selected:D})}for(t||(v||null===J?H[""].unshift({id:"",label:"",selected:!N}):N||H[""].unshift({id:"?",label:"",selected:!0})),B=0,u=I.length;u>B;B++){for(a=I[B],c=H[a],z.length<=B?(e={element:x.clone().attr("label",a),label:c.label},j=[e],z.push(j),f.append(e.element)):(j=z[B],e=j[0],e.label!=a&&e.element.attr("label",e.label=a)),E=null,C=0,A=c.length;A>C;C++)d=c[C],(k=j[C+1])?(E=k.element,k.label!==d.label&&E.text(k.label=d.label),k.id!==d.id&&E.val(k.id=d.id),E[0].selected!==d.selected&&(E.prop("selected",k.selected=d.selected),rd&&E.prop("selected",k.selected))):(""===d.id&&v?F=v:(F=w.clone()).val(d.id).prop("selected",d.selected).attr("selected",d.selected).text(d.label),j.push(k={element:F,label:d.label,id:d.id,selected:d.selected}),E?E.after(F):e.element.append(F),E=F);for(C++;j.length>C;)j.pop().element.remove()}for(;z.length>B;)z.pop()[0].element.remove()}var k;if(!(k=u.match(e)))throw xf("iexp","Expected expression in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' but got '{0}'. Element: {1}",u,T(f));var l=d(k[2]||k[1]),m=k[4]||k[6],n=k[5],o=d(k[3]||""),p=d(k[2]?k[1]:m),q=d(k[7]),r=k[8],y=r?d(k[8]):null,z=[[{element:f,label:""}]];v&&(a(v)(b),v.removeClass("ng-scope"),v.remove()),f.empty(),f.on("change",function(){b.$apply(function(){var a,d,e,g,i,k,l,o,r,s=q(b)||[],u={};if(t){for(e=[],k=0,o=z.length;o>k;k++)for(a=z[k],i=1,l=a.length;l>i;i++)if((g=a[i].element)[0].selected){if(d=g.val(),n&&(u[n]=d),y)for(r=0;re;e++)a[m]=c[e],d[e]=l(b,a);return d}},j),t&&b.$watchCollection(function(){return h.$modelValue},j)}if(k[1]){for(var o,p=k[0],q=k[1],t=j.multiple,u=j.ngOptions,v=!1,w=sd(b.createElement("option")),x=sd(b.createElement("optgroup")),y=w.clone(),z=0,A=i.children(),B=A.length;B>z;z++)if(""===A[z].value){o=v=A.eq(z);break}p.init(q,v,y),t&&(q.$isEmpty=function(a){return!a||0===a.length}),u?n(h,i,q):t?m(h,i,q):l(h,i,q,p)}}}}],Af=["$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.on("$destroy",function(){h.removeOption(d.value)})}}}}],Bf=q({restrict:"E",terminal:!0});return a.angular.bootstrap?void console.log("WARNING: Tried to load angular more than once."):(ab(),hb(Ad),void sd(b).ready(function(){Z(b,$)}))}(window,document),!window.angular.$$csp()&&window.angular.element(document).find("head").prepend(''),c("angular",function(a){return function(){var b;return b||a.angular}}(this)),c("ng-admin/Main/component/controller/AppController",[],function(){var a=function(a,b){this.$scope=a,this.applicationName=b().title(),a.$on("$destroy",this.destroy.bind(this))};return a.prototype.destroy=function(){this.$scope=void 0},a.$inject=["$scope","NgAdminConfiguration"],a}),c("ng-admin/Main/component/controller/DashboardController",[],function(){function a(a,b,c){this.$scope=a,this.$location=b,this.PanelBuilder=c,this.$scope.edit=this.edit.bind(this),this.getPanels(),a.$on("$destroy",this.destroy.bind(this))}return a.prototype.getPanels=function(){var a=this;this.panels={},this.PanelBuilder.getPanelsData().then(function(b){angular.forEach(b,function(b){var c=b.entityConfig,d=b.rawItems,e=[],f="id";angular.forEach(c.getFields(),function(a){a.dashboard()&&(a.identifier()&&(f=a.getName()),e.push({field:a.getName(),label:a.label()}))}),a.panels[b.entityName]={label:b.entityConfig.label(),entity:c,columns:e,items:d,identifierField:f,options:{grid:{dimensions:[e.length,d.length]}}}})})},a.prototype.edit=function(a,b){this.$location.path("/edit/"+b.getName()+"/"+a[b.getIdentifier().getName()])},a.prototype.destroy=function(){this.$scope=void 0,this.$location=void 0,this.PanelBuilder=void 0},a.$inject=["$scope","$location","PanelBuilder"],a}),c("ng-admin/Main/component/controller/SidebarController",[],function(){var a=function(a,b,c){this.$scope=a,this.$location=b,this.entities=c().getEntities(),this.computeCurrentEntity(),a.$on("$locationChangeSuccess",this.computeCurrentEntity.bind(this)),a.$on("$destroy",this.destroy.bind(this))};return a.prototype.computeCurrentEntity=function(){var a=this.$location.url().split("/");this.currentEntity=a&&a.length>2?a[2]:null},a.prototype.displayList=function(a){this.$location.search("q",null),this.$location.search("page",1),this.$location.path("/list/"+a.getName())},a.prototype.isActive=function(a){return this.currentEntity===a.getName()},a.prototype.destroy=function(){this.$scope=void 0,this.$location=void 0},a.$inject=["$scope","$location","NgAdminConfiguration"],a}),c("ng-admin/Main/component/service/PanelBuilder",[],function(){function a(a,b,c){this.$q=a,this.CrudManager=b,this.Configuration=c()}return a.prototype.getPanelsData=function(){var a,b,c=[],d=this;return angular.forEach(this.Configuration.getEntityNames(),function(e){a=d.Configuration.getEntity(e),b=a.dashboard(),b&&c.push(d.CrudManager.getAll(e,1,b))}),this.$q.all(c)},a.$inject=["$q","CrudManager","NgAdminConfiguration"],a}),c("ng-admin/Main/component/service/Validator",[],function(){function a(a){this.Configuration=a()}return a.prototype.validate=function(a,b){var c=this.Configuration.getEntity(a);return"undefined"==typeof c?!1:void angular.forEach(c.getFields(),function(a,c){var d=a.validation();if("function"==typeof d.validator&&!d.validator(b[c]))throw new Error("Field "+a.label()+" is not valid.")})},a.$inject=["NgAdminConfiguration"],a}),c("ng-admin/Main/component/service/config/Configurable",[],function(){function a(a,b){for(var c in b)!function(c){a[c]=function(d){return arguments.length?(b[c]=d,a):b[c]}}(c)}return a}),c("ng-admin/Main/component/service/config/Application",["require","ng-admin/Main/component/service/config/Configurable"],function(a){function b(){return{}}var c=a("ng-admin/Main/component/service/config/Configurable");return function(a){function d(){}var e={},f={title:a||"Angular admin",baseApiUrl:"http://localhost:3000/",headers:b};return d.addEntity=function(a){return null===a.order()&&a.order(Object.keys(e).length),e[a.getName()]=a,this},d.hasEntity=function(a){return a in e},d.getEntity=function(a){return e[a]},d.getEntities=function(){return e},d.getEntityNames=function(){return Object.keys(e)},d.getHeaders=function(a,b){return"function"==typeof f.headers?f.headers(a,b):f.headers},c(d,f),d}}),c("ng-admin/Main/component/service/config/Entity",["require","ng-admin/Main/component/service/config/Configurable"],function(a){function b(a,b){var c=a;return"function"==typeof c&&(c=c(b)),c}var c=a("ng-admin/Main/component/service/config/Configurable"),d=function(a,b){return{page:a,per_page:b}},e=function(a){return{q:a}},f=function(a){return a.headers("X-Count")||0},g=function(a){return"List of "+a.label()},h=function(a){return"Edit "+a.label()},i=function(a){return"Create "+a.label()},j=function(){return null};return function(a){function k(){}var l=a||"entity",m={},n={label:"My entity",order:null,titleList:g,titleCreate:i,titleEdit:h,description:j,dashboard:5,perPage:30,pagination:d,filterQuery:e,infinitePagination:!1,totalItems:f,extraParams:null,interceptor:null};return k.getName=function(){return l},k.addField=function(a){return null===a.order()&&a.order(Object.keys(m).length),m[a.getName()]=a,this},k.getFields=function(){return m},k.getField=function(a){return m[a]},k.getIdentifier=function(){for(var a in m)if(m.hasOwnProperty(a)){var b=m[a];if(b.identifier())return b}},k.getReferences=function(){var a=this.getFieldsOfType("Reference"),b=this.getFieldsOfType("ReferenceMany");return angular.forEach(b,function(b,c){a[c]=b}),a},k.getReferencedLists=function(){return this.getFieldsOfType("ReferencedList")},k.getFieldsOfType=function(a){var b={};for(var c in m)if(m.hasOwnProperty(c)){var d=m[c];d.name===a&&(b[c]=d)}return b},k.getExtraParams=function(){var a={};return n.extraParams&&(a="function"==typeof n.extraParams?n.extraParams():n.extraParams),a},k.getListTitle=function(){return b(n.titleList,this)},k.getCreateTitle=function(){return b(n.titleCreate,this)},k.getEditTitle=function(){return b(n.titleEdit,this)},k.getDescription=function(){return b(n.description,this)},c(k,n),k}}),c("ng-admin/Main/component/service/config/Field",["require","ng-admin/Main/component/service/config/Configurable"],function(a){var b=a("ng-admin/Main/component/service/config/Configurable");return function(a){function c(){this.value=null}var d=["number","string","text","email","date"],e=["read-only","editable"],f=a||"field",g=function(a){return a},h={type:"string",label:"My field",edition:"editable",order:null,identifier:!1,format:"yyyy-MM-dd",valueTransformer:g,list:!0,dashboard:!0,truncateList:!1,validation:{required:!1}};return b(c,h),c.getName=function(){return f},c.type=function(a){if(0===arguments.length)return h.type;if(-1===d.indexOf(a))throw"Type should be one of "+d.join(", ")+". "+a+"given.";return h.type=a,this},c.edition=function(a){if(0===arguments.length)return h.edition;if(-1===e.indexOf(a))throw"Edition should be one of "+e.join(", ")+". "+a+"given.";return h.edition=a,this},c.getTruncatedListValue=function(a,b){return h.truncateList&&(a=h.truncateList(a,b)),a},c}}),c("ng-admin/Main/component/service/config/Reference",["require","ng-admin/Main/component/service/config/Configurable"],function(a){var b=a("ng-admin/Main/component/service/config/Configurable");return function(a){function c(){}var d=["number","text","email","date"],e=["read-only","editable"],f=a||"reference",g={},h=function(a){return a},i={type:"reference",label:"My reference",edition:"editable",order:null,targetEntity:null,targetLabel:null,valueTransformer:h,list:!0,dashboard:!0,identifier:!1,validation:{required:!1}};return b(c,i),c.getName=function(){return f},c.edition=function(a){if(0===arguments.length)return i.edition;if(-1===e.indexOf(a))throw new Exception("Type should be one of "+d.join(", "));return i.edition=a,this},c.getChoices=function(){return g},c.setChoices=function(a){return g=a,this},c}}),c("ng-admin/Main/component/service/config/ReferencedList",["require","ng-admin/Main/component/service/config/Configurable"],function(a){var b=a("ng-admin/Main/component/service/config/Configurable");return function(a){function c(a){this.label(a)}var d=a||"reference",e=[],f=function(a){return a},g={type:"referenced-list",label:"My list",edition:"editable",list:!1,order:null,valueTransformer:f,targetEntity:null,targetField:null,targetFields:[],validation:{required:!1}};return c.getName=function(){return d},c.getItems=function(){return e},c.setItems=function(a){return e=a,this},c.getReferenceManyFields=function(){var a=[];return angular.forEach(this.targetFields(),function(b){"reference-many"===b.type()&&a.push(b)}),a},c.getGridColumns=function(){for(var a=[],b=0,c=g.targetFields.length;c>b;b++){var d=g.targetFields[b];a.push({field:d.getName(),label:d.label()})}return a},b(c,g),c}}),c("ng-admin/Main/component/service/config/ReferenceMany",["require","ng-admin/Main/component/service/config/Configurable"],function(a){var b=a("ng-admin/Main/component/service/config/Configurable");return function(a){function c(){}var d=["number","text","email","date"],e=["read-only","editable"],f=a||"reference-many",g={},h=function(a){return"object"==typeof a&&"number"==typeof a.length?a:[a]},i={type:"reference-many",label:"My references",edition:"editable",order:null,targetEntity:null,targetField:null,targetLabel:null,valueTransformer:h,list:!0,dashboard:!0,identifier:!1,validation:{required:!1}};return b(c,i),c.getName=function(){return f},c.edition=function(a){if(0===arguments.length)return i.edition;if(-1===e.indexOf(a))throw new Exception("Type should be one of "+d.join(", "));return i.edition=a,this},c.getChoices=function(){return g},c.setChoices=function(a){return g=a,this},c}}),c("ng-admin/Main/component/provider/NgAdminConfiguration",[],function(){function a(){this.config=null}return a.prototype.configure=function(a){this.config=a},a.prototype.$get=function(){var a=this;return function(){return a.config}},a.$inject=[],a}),c("ng-admin/Main/component/filter/OrderElement",[],function(){function a(){return function(a){var b=[];for(var c in a)b.push(a[c]);return b.sort(function(a,b){return a.order()-b.order()}),b}}return a.$inject=[],a}),c("text",["module"],function(a){var c,d,e,f,g,h=["Msxml2.XMLHTTP","Microsoft.XMLHTTP","Msxml2.XMLHTTP.4.0"],i=/^\s*<\?xml(\s)+version=[\'\"](\d)*.(\d)*[\'\"](\s)*\?>/im,j=/]*>\s*([\s\S]+)\s*<\/body>/im,k="undefined"!=typeof location&&location.href,l=k&&location.protocol&&location.protocol.replace(/\:/,""),m=k&&location.hostname,n=k&&(location.port||void 0),o={},p=a.config&&a.config()||{};return c={version:"2.0.12",strip:function(a){if(a){a=a.replace(i,"");var b=a.match(j);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:p.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=h[b];try{a=new ActiveXObject(c)}catch(d){}if(a){h=[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,b,d,e){var f,g,h,i=c.xdRegExp.exec(a);return i?(f=i[2],g=i[3],g=g.split(":"),h=g[1],g=g[0],!(f&&f!==b||g&&g.toLowerCase()!==d.toLowerCase()||(h||g)&&h!==e)):!0},finishLoad:function(a,b,d,e){d=b?c.strip(d):d,p.isBuild&&(o[a]=d),e(d)},load:function(a,b,d,e){if(e&&e.isBuild&&!e.inlineText)return void d();p.isBuild=e&&e.isBuild;var f=c.parseName(a),g=f.moduleName+(f.ext?"."+f.ext:""),h=b.toUrl(g),i=p.useXhr||c.useXhr;return 0===h.indexOf("empty:")?void d():void(!k||i(h,l,m,n)?c.get(h,function(b){c.finishLoad(a,f.strip,b,d)},function(a){d.error&&d.error(a)}):b([g],function(a){c.finishLoad(f.moduleName+"."+f.ext,f.strip,a,d)}))},write:function(a,b,d){if(o.hasOwnProperty(b)){var e=c.jsEscape(o[b]);d.asModule(a+"!"+b,"define(function () { return '"+e+"';});\n")}},writeFile:function(a,b,d,e,f){var g=c.parseName(b),h=g.ext?"."+g.ext:"",i=g.moduleName+h,j=d.toUrl(g.moduleName+h)+".js";c.load(i,d,function(){var b=function(a){return e(j,a)};b.asModule=function(a,b){return e.asModule(a,j,b)},c.write(a,i,b,f)},f)}},"node"===p.env||!p.env&&"undefined"!=typeof process&&process.versions&&process.versions.node&&!process.versions["node-webkit"]?(d=b.nodeRequire("fs"),c.get=function(a,b,c){try{var e=d.readFileSync(a,"utf8");0===e.indexOf("")&&(e=e.substring(1)),b(e) +}catch(f){c&&c(f)}}):"xhr"===p.env||!p.env&&c.createXhr()?c.get=function(a,b,d,e){var f,g=c.createXhr();if(g.open("GET",a,!0),e)for(f in e)e.hasOwnProperty(f)&&g.setRequestHeader(f.toLowerCase(),e[f]);p.onXhr&&p.onXhr(g,a),g.onreadystatechange=function(){var c,e;4===g.readyState&&(c=g.status||0,c>399&&600>c?(e=new Error(a+" HTTP status: "+c),e.xhr=g,d&&d(e)):b(g.responseText),p.onXhrComplete&&p.onXhrComplete(g,a))},g.send(null)}:"rhino"===p.env||!p.env&&"undefined"!=typeof Packages&&"undefined"!=typeof java?c.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"===p.env||!p.env&&"undefined"!=typeof Components&&Components.classes&&Components.interfaces)&&(e=Components.classes,f=Components.interfaces,Components.utils["import"]("resource://gre/modules/FileUtils.jsm"),g="@mozilla.org/windows-registry-key;1"in e,c.get=function(a,b){var c,d,h,i={};g&&(a=a.replace(/\//g,"\\")),h=new FileUtils.File(a);try{c=e["@mozilla.org/network/file-input-stream;1"].createInstance(f.nsIFileInputStream),c.init(h,1,0,!1),d=e["@mozilla.org/intl/converter-input-stream;1"].createInstance(f.nsIConverterInputStream),d.init(c,"utf-8",c.available(),f.nsIConverterInputStream.DEFAULT_REPLACEMENT_CHARACTER),d.readString(c.available(),i),d.close(),c.close(),b(i.value)}catch(j){throw new Error((h&&h.path||"")+": "+j)}}),c}),c("text!ng-admin/Main/view/layout.html",[],function(){return'
\n \n\n \n\n
\n
\n
\n
\n
\n'}),c("text!ng-admin/Main/view/dashboard.html",[],function(){return'
\n
\n

Dashboard

\n
\n
\n\n
\n
\n
\n {{ panel.label }}\n
\n\n
\n
\n
\n'}),c("ng-admin/Main/config/routing",["require","text!../view/layout.html","text!../view/dashboard.html"],function(a){function b(a,b){a.state("main",{"abstract":!0,controller:"AppController",controllerAs:"appController",template:c}),a.state("dashboard",{parent:"main",url:"/dashboard",controller:"DashboardController",controllerAs:"dashboardController",template:d}),b.otherwise("/dashboard")}var c=a("text!../view/layout.html"),d=a("text!../view/dashboard.html");return b.$inject=["$stateProvider","$urlRouterProvider"],b}),function(a,b){"function"==typeof c&&c.amd?c("nprogress",b):"object"==typeof exports?module.exports=b():a.NProgress=b()}(this,function(){function a(a,b,c){return b>a?b:a>c?c:a}function b(a){return 100*(-1+a)}function c(a,c,d){var e;return e="translate3d"===j.positionUsing?{transform:"translate3d("+b(a)+"%,0,0)"}:"translate"===j.positionUsing?{transform:"translate("+b(a)+"%,0)"}:{"margin-left":b(a)+"%"},e.transition="all "+c+"ms "+d,e}function d(a,b){var c="string"==typeof a?a:g(a);return c.indexOf(" "+b+" ")>=0}function e(a,b){var c=g(a),e=c+b;d(c,b)||(a.className=e.substring(1))}function f(a,b){var c,e=g(a);d(a,b)&&(c=e.replace(" "+b+" "," "),a.className=c.substring(1,c.length-1))}function g(a){return(" "+(a.className||"")+" ").replace(/\s+/gi," ")}function h(a){a&&a.parentNode&&a.parentNode.removeChild(a)}var i={};i.version="0.1.6";var j=i.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'
'};i.configure=function(a){var b,c;for(b in a)c=a[b],void 0!==c&&a.hasOwnProperty(b)&&(j[b]=c);return this},i.status=null,i.set=function(b){var d=i.isStarted();b=a(b,j.minimum,1),i.status=1===b?null:b;var e=i.render(!d),f=e.querySelector(j.barSelector),g=j.speed,h=j.easing;return e.offsetWidth,k(function(a){""===j.positionUsing&&(j.positionUsing=i.getPositioningCSS()),l(f,c(b,g,h)),1===b?(l(e,{transition:"none",opacity:1}),e.offsetWidth,setTimeout(function(){l(e,{transition:"all "+g+"ms linear",opacity:0}),setTimeout(function(){i.remove(),a()},g)},g)):setTimeout(a,g)}),this},i.isStarted=function(){return"number"==typeof i.status},i.start=function(){i.status||i.set(0);var a=function(){setTimeout(function(){i.status&&(i.trickle(),a())},j.trickleSpeed)};return j.trickle&&a(),this},i.done=function(a){return a||i.status?i.inc(.3+.5*Math.random()).set(1):this},i.inc=function(b){var c=i.status;return c?("number"!=typeof b&&(b=(1-c)*a(Math.random()*c,.1,.95)),c=a(c+b,0,.994),i.set(c)):i.start()},i.trickle=function(){return i.inc(Math.random()*j.trickleRate)},function(){var a=0,b=0;i.promise=function(c){return c&&"resolved"!=c.state()?(0==b&&i.start(),a++,b++,c.always(function(){b--,0==b?(a=0,i.done()):i.set((a-b)/a)}),this):this}}(),i.render=function(a){if(i.isRendered())return document.getElementById("nprogress");e(document.documentElement,"nprogress-busy");var c=document.createElement("div");c.id="nprogress",c.innerHTML=j.template;var d,f=c.querySelector(j.barSelector),g=a?"-100":b(i.status||0),k=document.querySelector(j.parent);return l(f,{transition:"all 0 linear",transform:"translate3d("+g+"%,0,0)"}),j.showSpinner||(d=c.querySelector(j.spinnerSelector),d&&h(d)),k!=document.body&&e(k,"nprogress-custom-parent"),k.appendChild(c),c},i.remove=function(){f(document.documentElement,"nprogress-busy"),f(document.querySelector(j.parent),"nprogress-custom-parent");var a=document.getElementById("nprogress");a&&h(a)},i.isRendered=function(){return!!document.getElementById("nprogress")},i.getPositioningCSS=function(){var a=document.body.style,b="WebkitTransform"in a?"Webkit":"MozTransform"in a?"Moz":"msTransform"in a?"ms":"OTransform"in a?"O":"";return b+"Perspective"in a?"translate3d":b+"Transform"in a?"translate":"margin"};var k=function(){function a(){var c=b.shift();c&&c(a)}var b=[];return function(c){b.push(c),1==b.length&&a()}}(),l=function(){function a(a){return a.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(a,b){return b.toUpperCase()})}function b(a){var b=document.body.style;if(a in b)return a;for(var c,d=e.length,f=a.charAt(0).toUpperCase()+a.slice(1);d--;)if(c=e[d]+f,c in b)return c;return a}function c(c){return c=a(c),f[c]||(f[c]=b(c))}function d(a,b,d){b=c(b),a.style[b]=d}var e=["Webkit","O","Moz","ms"],f={};return function(a,b){var c,e,f=arguments;if(2==f.length)for(c in b)e=b[c],void 0!==e&&b.hasOwnProperty(c)&&d(a,c,e);else d(a,f[1],f[2])}}();return i}),c("ng-admin/Main/run/Loader",["require","nprogress"],function(a){function b(a,b){a.$on("$stateChangeStart",function(){c.start(),b.scrollTo(0,0)}),a.$on("$stateChangeSuccess",c.done.bind(c))}var c=a("nprogress");return b.$inject=["$rootScope","$window"],b}),"undefined"!=typeof module&&"undefined"!=typeof exports&&module.exports===exports&&(module.exports="ui.router"),function(a,b,c){function d(a,b){return J(new(J(function(){},{prototype:a})),b)}function e(a){return I(arguments,function(b){b!==a&&I(b,function(b,c){a.hasOwnProperty(c)||(a[c]=b)})}),a}function f(a,b){var c=[];for(var d in a.path){if(a.path[d]!==b.path[d])break;c.push(a.path[d])}return c}function g(a){if(Object.keys)return Object.keys(a);var c=[];return b.forEach(a,function(a,b){c.push(b)}),c}function h(a,b){if(Array.prototype.indexOf)return a.indexOf(b,Number(arguments[2])||0);var c=a.length>>>0,d=Number(arguments[2])||0;for(d=0>d?Math.ceil(d):Math.floor(d),0>d&&(d+=c);c>d;d++)if(d in a&&a[d]===b)return d;return-1}function i(a,b,c,d){var e,i=f(c,d),j={},k=[];for(var l in i)if(i[l].params&&(e=g(i[l].params),e.length))for(var m in e)h(k,e[m])>=0||(k.push(e[m]),j[e[m]]=a[e[m]]);return J({},j,b)}function j(a,b,c){if(!c){c=[];for(var d in a)c.push(d)}for(var e=0;e "));if(o[c]=d,F(a))m.push(c,[function(){return b.get(a)}],h);else{var e=b.annotate(a);I(e,function(a){a!==c&&g.hasOwnProperty(a)&&k(g[a],a)}),m.push(c,a,e)}n.pop(),o[c]=f}}function l(a){return G(a)&&a.then&&a.$$promises}if(!G(g))throw new Error("'invocables' must be an object");var m=[],n=[],o={};return I(g,k),g=n=o=null,function(d,f,g){function h(){--s||(t||e(r,f.$$values),p.$$values=r,p.$$promises=!0,delete p.$$inheritedValues,o.resolve(r))}function k(a){p.$$failure=a,o.reject(a)}function n(c,e,f){function i(a){l.reject(a),k(a)}function j(){if(!D(p.$$failure))try{l.resolve(b.invoke(e,g,r)),l.promise.then(function(a){r[c]=a,h()},i)}catch(a){i(a)}}var l=a.defer(),m=0;I(f,function(a){q.hasOwnProperty(a)&&!d.hasOwnProperty(a)&&(m++,q[a].then(function(b){r[a]=b,--m||j()},i))}),m||j(),q[c]=l.promise}if(l(d)&&g===c&&(g=f,f=d,d=null),d){if(!G(d))throw new Error("'locals' must be an object")}else d=i;if(f){if(!l(f))throw new Error("'parent' must be a promise returned by $resolve.resolve()")}else f=j;var o=a.defer(),p=o.promise,q=p.$$promises={},r=J({},d),s=1+m.length/3,t=!1;if(D(f.$$failure))return k(f.$$failure),p;f.$$inheritedValues&&e(r,f.$$inheritedValues),f.$$values?(t=e(r,f.$$values),p.$$inheritedValues=f.$$values,h()):(f.$$inheritedValues&&(p.$$inheritedValues=f.$$inheritedValues),J(q,f.$$promises),f.then(h,k));for(var u=0,v=m.length;v>u;u+=3)d.hasOwnProperty(m[u])?h():n(m[u],m[u+1],m[u+2]);return p}},this.resolve=function(a,b,c,d){return this.study(a)(b,c,d)}}function m(a,b,c){this.fromConfig=function(a,b,c){return D(a.template)?this.fromString(a.template,b):D(a.templateUrl)?this.fromUrl(a.templateUrl,b):D(a.templateProvider)?this.fromProvider(a.templateProvider,b,c):null},this.fromString=function(a,b){return E(a)?a(b):a},this.fromUrl=function(c,d){return E(c)&&(c=c(d)),null==c?null:a.get(c,{cache:b}).then(function(a){return a.data})},this.fromProvider=function(a,b,d){return c.invoke(a,null,d||{params:b})}}function n(a,d){function e(a){return D(a)?this.type.decode(a):p.$$getDefaultValue(this)}function f(b,c,d){if(!/^\w+(-+\w+)*$/.test(b))throw new Error("Invalid parameter name '"+b+"' in pattern '"+a+"'");if(n[b])throw new Error("Duplicate parameter name '"+b+"' in pattern '"+a+"'");n[b]=J({type:c||new o,$value:e},d)}function g(a,b,c){var d=a.replace(/[\\\[\]\^$*+?.()|{}]/g,"\\$&");if(!b)return d;var e=c?"?":"";return d+e+"("+b+")"+e}function h(a){if(!d.params||!d.params[a])return{};var b=d.params[a];return G(b)?b:{value:b}}d=b.isObject(d)?d:{};var i,j=/([:*])(\w+)|\{(\w+)(?:\:((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}/g,k="^",l=0,m=this.segments=[],n=this.params={};this.source=a;for(var q,r,s,t,u;(i=j.exec(a))&&(q=i[2]||i[3],r=i[4]||("*"==i[1]?".*":"[^/]*"),s=a.substring(l,i.index),t=this.$types[r]||new o({pattern:new RegExp(r)}),u=h(q),!(s.indexOf("?")>=0));)k+=g(s,t.$subPattern(),D(u.value)),f(q,t,u),m.push(s),l=j.lastIndex;s=a.substring(l);var v=s.indexOf("?");if(v>=0){var w=this.sourceSearch=s.substring(v);s=s.substring(0,v),this.sourcePath=a.substring(0,l+v),I(w.substring(1).split(/[&?]/),function(a){f(a,null,h(a))})}else this.sourcePath=a,this.sourceSearch="";k+=g(s)+(d.strict===!1?"/?":"")+"$",m.push(s),this.regexp=new RegExp(k,d.caseInsensitive?"i":c),this.prefix=m[0]}function o(a){J(this,a)}function p(){function a(){return{strict:f,caseInsensitive:e}}function b(a){return E(a)||H(a)&&E(a[a.length-1])}function c(){I(h,function(a){if(n.prototype.$types[a.name])throw new Error("A type named '"+a.name+"' has already been defined.");var c=new o(b(a.def)?d.invoke(a.def):a.def);n.prototype.$types[a.name]=c})}var d,e=!1,f=!0,g=!0,h=[],i={"int":{decode:function(a){return parseInt(a,10)},is:function(a){return D(a)?this.decode(a.toString())===a:!1},pattern:/\d+/},bool:{encode:function(a){return a?1:0},decode:function(a){return 0===parseInt(a,10)?!1:!0},is:function(a){return a===!0||a===!1},pattern:/0|1/},string:{pattern:/[^\/]*/},date:{equals:function(a,b){return a.toISOString()===b.toISOString()},decode:function(a){return new Date(a)},encode:function(a){return[a.getFullYear(),("0"+(a.getMonth()+1)).slice(-2),("0"+a.getDate()).slice(-2)].join("-")},pattern:/[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])/}};p.$$getDefaultValue=function(a){if(!b(a.value))return a.value;if(!d)throw new Error("Injectable functions cannot be called at configuration time");return d.invoke(a.value)},this.caseInsensitive=function(a){e=a},this.strictMode=function(a){f=a},this.compile=function(b,c){return new n(b,J(a(),c))},this.isMatcher=function(a){if(!G(a))return!1;var b=!0;return I(n.prototype,function(c,d){E(c)&&(b=b&&D(a[d])&&E(a[d]))}),b},this.type=function(a,b){return D(b)?(h.push({name:a,def:b}),g||c(),this):n.prototype.$types[a]},this.$get=["$injector",function(a){return d=a,g=!1,n.prototype.$types={},c(),I(i,function(a,b){n.prototype.$types[b]||(n.prototype.$types[b]=new o(a))}),this}]}function q(a,b){function d(a){var b=/^\^((?:\\[^a-zA-Z0-9]|[^\\\[\]\^$*+?.()|{}]+)*)/.exec(a.source);return null!=b?b[1].replace(/\\(.)/g,"$1"):""}function e(a,b){return a.replace(/\$(\$|\d{1,2})/,function(a,c){return b["$"===c?0:Number(c)]})}function f(a,b,c){if(!c)return!1;var d=a.invoke(b,b,{$match:c});return D(d)?d:!0}function g(b,c,d,e){function f(a,b,c){return"/"===m?a:b?m.slice(0,-1)+a:c?m.slice(1)+a:a}function g(a){function c(a){var c=a(d,b);return c?(F(c)&&b.replace().url(c),!0):!1}if(!a||!a.defaultPrevented){var e,f=i.length;for(e=0;f>e;e++)if(c(i[e]))return;j&&c(j)}}function l(){return h=h||c.$on("$locationChangeSuccess",g)}var m=e.baseHref(),n=b.url();return k||l(),{sync:function(){g()},listen:function(){return l()},update:function(a){return a?void(n=b.url()):void(b.url()!==n&&(b.url(n),b.replace()))},push:function(a,c,d){b.url(a.format(c||{})),d&&d.replace&&b.replace()},href:function(c,d,e){if(!c.validates(d))return null;var g=a.html5Mode(),h=c.format(d);if(e=e||{},g||null===h||(h="#"+a.hashPrefix()+h),h=f(h,g,e.absolute),!e.absolute||!h)return h;var i=!g&&h?"/":"",j=b.port();return j=80===j||443===j?"":":"+j,[b.protocol(),"://",b.host(),j,i,h].join("")}}}var h,i=[],j=null,k=!1;this.rule=function(a){if(!E(a))throw new Error("'rule' must be a function");return i.push(a),this},this.otherwise=function(a){if(F(a)){var b=a;a=function(){return b}}else if(!E(a))throw new Error("'rule' must be a function");return j=a,this},this.when=function(a,c){var g,h=F(c);if(F(a)&&(a=b.compile(a)),!h&&!E(c)&&!H(c))throw new Error("invalid 'handler' in when()");var i={matcher:function(a,c){return h&&(g=b.compile(c),c=["$match",function(a){return g.format(a)}]),J(function(b,d){return f(b,c,a.exec(d.path(),d.search()))},{prefix:F(a.prefix)?a.prefix:""})},regex:function(a,b){if(a.global||a.sticky)throw new Error("when() RegExp must not be global or sticky");return h&&(g=b,b=["$match",function(a){return e(g,a)}]),J(function(c,d){return f(c,b,a.exec(d.path()))},{prefix:d(a)})}},j={matcher:b.isMatcher(a),regex:a instanceof RegExp};for(var k in j)if(j[k])return this.rule(i[k](a,c));throw new Error("invalid 'what' in when()")},this.deferIntercept=function(a){a===c&&(a=!0),k=a},this.$get=g,g.$inject=["$location","$rootScope","$injector","$browser"]}function r(a,e){function f(a){return 0===a.indexOf(".")||0===a.indexOf("^")}function h(a,b){if(!a)return c;var d=F(a),e=d?a:a.name,g=f(e);if(g){if(!b)throw new Error("No reference point given for path '"+e+"'");for(var h=e.split("."),i=0,j=h.length,k=b;j>i;i++)if(""!==h[i]||0!==i){if("^"!==h[i])break;if(!k.parent)throw new Error("Path '"+e+"' not valid for state '"+b.name+"'");k=k.parent}else k=b;h=h.slice(i).join("."),e=k.name+(k.name&&h?".":"")+h}var l=v[e];return!l||!d&&(d||l!==a&&l.self!==a)?c:l}function l(a,b){w[a]||(w[a]=[]),w[a].push(b)}function m(b){b=d(b,{self:b,resolve:b.resolve||{},toString:function(){return this.name}});var c=b.name;if(!F(c)||c.indexOf("@")>=0)throw new Error("State must have a valid name");if(v.hasOwnProperty(c))throw new Error("State '"+c+"'' is already defined");var e=-1!==c.indexOf(".")?c.substring(0,c.lastIndexOf(".")):F(b.parent)?b.parent:"";if(e&&!v[e])return l(e,b.self);for(var f in y)E(y[f])&&(b[f]=y[f](b,y.$delegates[f]));if(v[c]=b,!b[x]&&b.url&&a.when(b.url,["$match","$stateParams",function(a,c){u.$current.navigable==b&&j(a,c)||u.transitionTo(b,a,{location:!1})}]),w[c])for(var g=0;g-1}function o(a){var b=a.split("."),c=u.$current.name.split(".");if("**"===b[0]&&(c=c.slice(c.indexOf(b[1])),c.unshift("**")),"**"===b[b.length-1]&&(c.splice(c.indexOf(b[b.length-2])+1,Number.MAX_VALUE),c.push("**")),b.length!=c.length)return!1;for(var d=0,e=b.length;e>d;d++)"*"===b[d]&&(c[d]="*");return c.join("")===b.join("")}function p(a,b){return F(a)&&!D(b)?y[a]:E(b)&&F(a)?(y[a]&&!y.$delegates[a]&&(y.$delegates[a]=y[a]),y[a]=b,this):this}function q(a,b){return G(a)?b=a:b.name=a,m(b),this}function r(a,e,f,l,m,p,q){function r(b,c,d,f){var g=a.$broadcast("$stateNotFound",b,c,d);if(g.defaultPrevented)return q.update(),A;if(!g.retry)return null;if(f.$retry)return q.update(),B;var h=u.transition=e.when(g.retry);return h.then(function(){return h!==u.transition?y:(b.options.$retry=!0,u.transitionTo(b.to,b.toParams,b.options))},function(){return A}),q.update(),h}function w(a,c,d,h,i){var j=d?c:k(g(a.params),c),n={$stateParams:j};i.resolve=m.resolve(a.resolve,n,i.resolve,a);var o=[i.resolve.then(function(a){i.globals=a})];return h&&o.push(h),I(a.views,function(c,d){var e=c.resolve&&c.resolve!==a.resolve?c.resolve:{};e.$template=[function(){return f.load(d,{view:c,locals:n,params:j})||""}],o.push(m.resolve(e,n,i.resolve,a).then(function(f){if(E(c.controllerProvider)||H(c.controllerProvider)){var g=b.extend({},e,n);f.$$controller=l.invoke(c.controllerProvider,null,g)}else f.$$controller=c.controller;f.$$state=a,f.$$controllerAs=c.controllerAs,i[d]=f}))}),e.all(o).then(function(){return i})}var y=e.reject(new Error("transition superseded")),z=e.reject(new Error("transition prevented")),A=e.reject(new Error("transition aborted")),B=e.reject(new Error("transition failed"));return t.locals={resolve:null,globals:{$stateParams:{}}},u={params:{},current:t.self,$current:t,transition:null},u.reload=function(){u.transitionTo(u.current,p,{reload:!0,inherit:!1,notify:!1})},u.go=function(a,b,c){return u.transitionTo(a,b,J({inherit:!0,relative:u.$current},c))},u.transitionTo=function(b,c,f){c=c||{},f=J({location:!0,inherit:!1,relative:null,notify:!0,reload:!1,$retry:!1},f||{});var m,n=u.$current,o=u.params,v=n.path,A=h(b,f.relative);if(!D(A)){var B={to:b,toParams:c,options:f},C=r(B,n.self,o,f);if(C)return C;if(b=B.to,c=B.toParams,f=B.options,A=h(b,f.relative),!D(A)){if(!f.relative)throw new Error("No such state '"+b+"'");throw new Error("Could not resolve '"+b+"' from state '"+f.relative+"'")}}if(A[x])throw new Error("Cannot transition to abstract state '"+b+"'");f.inherit&&(c=i(p,c||{},u.$current,A)),b=A;var E=b.path,F=0,G=E[F],H=t.locals,I=[];if(!f.reload)for(;G&&G===v[F]&&j(c,o,G.ownParams);)H=I[F]=G.locals,F++,G=E[F];if(s(b,n,H,f))return b.self.reloadOnSearch!==!1&&q.update(),u.transition=null,e.when(u.current);if(c=k(g(b.params),c||{}),f.notify&&a.$broadcast("$stateChangeStart",b.self,c,n.self,o).defaultPrevented)return q.update(),z;for(var L=e.when(H),M=F;M=F;d--)g=v[d],g.self.onExit&&l.invoke(g.self.onExit,g.self,g.locals.globals),g.locals=null;for(d=F;d=0?c:c+"@"+(b?b.state.name:"")}function x(a,b){var c,d=a.match(/^\s*({[^}]*})\s*$/);if(d&&(a=b+"("+d[1]+")"),c=a.replace(/\n/g," ").match(/^([^(]+?)\s*(\((.*)\))?$/),!c||4!==c.length)throw new Error("Invalid state ref '"+a+"'");return{state:c[1],paramExpr:c[3]||null}}function y(a){var b=a.parent().inheritedData("$uiView");return b&&b.state&&b.state.name?b.state:void 0}function z(a,c){var d=["location","inherit","reload"];return{restrict:"A",require:["?^uiSrefActive","?^uiSrefActiveEq"],link:function(e,f,g,h){var i=x(g.uiSref,a.current.name),j=null,k=y(f)||a.$current,l="FORM"===f[0].nodeName,m=l?"action":"href",n=!0,o={relative:k,inherit:!0},p=e.$eval(g.uiSrefOpts)||{};b.forEach(d,function(a){a in p&&(o[a]=p[a])});var q=function(b){if(b&&(j=b),n){var c=a.href(i.state,j,o),d=h[1]||h[0];return d&&d.$$setStateInfo(i.state,j),null===c?(n=!1,!1):void(f[0][m]=c)}};i.paramExpr&&(e.$watch(i.paramExpr,function(a){a!==j&&q(a)},!0),j=e.$eval(i.paramExpr)),q(),l||f.bind("click",function(b){var d=b.which||b.button;if(!(d>1||b.ctrlKey||b.metaKey||b.shiftKey||f.attr("target"))){var e=c(function(){a.go(i.state,j,o)});b.preventDefault(),b.preventDefault=function(){c.cancel(e)}}})}}}function A(a,b,c){return{restrict:"A",controller:["$scope","$element","$attrs",function(d,e,f){function g(){h()?e.addClass(m):e.removeClass(m)}function h(){return"undefined"!=typeof f.uiSrefActiveEq?a.$current.self===k&&i():a.includes(k.name)&&i()}function i(){return!l||j(l,b)}var k,l,m;m=c(f.uiSrefActiveEq||f.uiSrefActive||"",!1)(d),this.$$setStateInfo=function(b,c){k=a.get(b,y(e)),l=c,g()},d.$on("$stateChangeSuccess",g)}]}}function B(a){return function(b){return a.is(b)}}function C(a){return function(b){return a.includes(b)}}var D=b.isDefined,E=b.isFunction,F=b.isString,G=b.isObject,H=b.isArray,I=b.forEach,J=b.extend,K=b.copy;b.module("ui.router.util",["ng"]),b.module("ui.router.router",["ui.router.util"]),b.module("ui.router.state",["ui.router.router","ui.router.util"]),b.module("ui.router",["ui.router.state"]),b.module("ui.router.compat",["ui.router"]),l.$inject=["$q","$injector"],b.module("ui.router.util").service("$resolve",l),m.$inject=["$http","$templateCache","$injector"],b.module("ui.router.util").service("$templateFactory",m),n.prototype.concat=function(a,b){return new n(this.sourcePath+a+this.sourceSearch,b)},n.prototype.toString=function(){return this.source},n.prototype.exec=function(a,b){var c=this.regexp.exec(a);if(!c)return null;b=b||{};var d,e,f,g=this.parameters(),h=g.length,i=this.segments.length-1,j={};if(i!==c.length-1)throw new Error("Unbalanced capture group in route '"+this.source+"'");for(d=0;i>d;d++)f=g[d],e=this.params[f],j[f]=e.$value(c[d+1]);for(;h>d;d++)f=g[d],e=this.params[f],j[f]=e.$value(b[f]);return j},n.prototype.parameters=function(a){return D(a)?this.params[a]||null:g(this.params)},n.prototype.validates=function(a){var b,c,d=!0,e=this;return I(a,function(a,f){e.params[f]&&(c=e.params[f],b=!a&&D(c.value),d=d&&(b||c.type.is(a)))}),d},n.prototype.format=function(a){var b=this.segments,c=this.parameters();if(!a)return b.join("").replace("//","/");var d,e,f,g,h,i,j=b.length-1,k=c.length,l=b[0];if(!this.validates(a))return null;for(d=0;j>d;d++)g=c[d],f=a[g],h=this.params[g],(D(f)||"/"!==b[d]&&"/"!==b[d+1])&&(null!=f&&(l+=encodeURIComponent(h.type.encode(f))),l+=b[d+1]);for(;k>d;d++)g=c[d],f=a[g],null!=f&&(i=H(f),i&&(f=f.map(encodeURIComponent).join("&"+g+"=")),l+=(e?"&":"?")+g+"="+(i?f:encodeURIComponent(f)),e=!0);return l},n.prototype.$types={},o.prototype.is=function(){return!0},o.prototype.encode=function(a){return a},o.prototype.decode=function(a){return a},o.prototype.equals=function(a,b){return a==b},o.prototype.$subPattern=function(){var a=this.pattern.toString();return a.substr(1,a.length-2)},o.prototype.pattern=/.*/,b.module("ui.router.util").provider("$urlMatcherFactory",p),q.$inject=["$locationProvider","$urlMatcherFactoryProvider"],b.module("ui.router.router").provider("$urlRouter",q),r.$inject=["$urlRouterProvider","$urlMatcherFactoryProvider"],b.module("ui.router.state").value("$stateParams",{}).provider("$state",r),s.$inject=[],b.module("ui.router.state").provider("$view",s),b.module("ui.router.state").provider("$uiViewScroll",t),u.$inject=["$state","$injector","$uiViewScroll"],v.$inject=["$compile","$controller","$state"],b.module("ui.router.state").directive("uiView",u),b.module("ui.router.state").directive("uiView",v),z.$inject=["$state","$timeout"],A.$inject=["$state","$stateParams","$interpolate"],b.module("ui.router.state").directive("uiSref",z).directive("uiSrefActive",A).directive("uiSrefActiveEq",A),B.$inject=["$state"],C.$inject=["$state"],b.module("ui.router.state").filter("isState",B).filter("includedByState",C)}(window,window.angular),c("angular-ui-router",["angular"],function(){}),function(){function a(a,b,c){c=(c||0)-1;for(var d=a?a.length:0;++ch||"undefined"==typeof g)return 1;if(h>g||"undefined"==typeof h)return-1}}return a.n-b.n}function g(a){var b=-1,c=a.length,e=a[0],f=a[c/2|0],g=a[c-1];if(e&&"object"==typeof e&&f&&"object"==typeof f&&g&&"object"==typeof g)return!1;for(e=j(),e["false"]=e["null"]=e["true"]=e.undefined=!1,f=j(),f.k=a,f.l=e,f.push=d;++bc?0:c);++d3&&"function"==typeof g[i-2])var j=bb(g[--i-1],g[i--],2);else i>2&&"function"==typeof g[i-1]&&(j=g[--i]);for(;++h=t&&f===a,j=[];if(i){var k=g(d);k?(f=b,d=k):i=!1}for(;++ef(d,k)&&j.push(k);return i&&l(d),j}function eb(a,b,c,d){d=(d||0)-1;for(var e=a?a.length:0,f=[];++d=t&&h===a,o=e||n?i():m;for(n&&(o=g(o),h=b);++fh(o,q))&&((e||n)&&o.push(q),m.push(p))}return n?(k(o.k),l(o)):e&&k(o),m}function jb(a){return function(b,c,e){var f={};c=X.createCallback(c,e,3),e=-1;var g=b?b.length:0;if("number"==typeof g)for(;++ec?Cc(0,g+c):c)||0,Jc(a)?h=-1f&&(f=h)}}else b=null==b&&xb(a)?e:X.createCallback(b,c,3),Db(a,function(a,c,e){c=b(a,c,e),c>d&&(d=c,f=a)});return f}function Hb(a,b,c,e){if(!a)return c;var f=3>arguments.length;b=X.createCallback(b,e,4);var g=-1,h=a.length;if("number"==typeof h)for(f&&(c=a[++g]);++garguments.length;return b=X.createCallback(b,d,4),Eb(a,function(a,d,f){c=e?(e=!1,a):b(c,a,d,f)}),c}function Jb(a){var b=-1,c=a?a.length:0,d=Zb("number"==typeof c?c:0);return Db(a,function(a){var c=hb(0,++b);d[b]=d[c],d[c]=a}),d}function Kb(a,b,c){var e;b=X.createCallback(b,c,3),c=-1;var f=a?a.length:0;if("number"==typeof f)for(;++cd?Cc(0,e+d):d||0}else if(d)return d=Ob(b,c),b[d]===c?d:-1;return a(b,c,d)}function Nb(a,b,c){if("number"!=typeof b&&null!=b){var d=0,e=-1,f=a?a.length:0;for(b=X.createCallback(b,c,3);++ee;)d=e+f>>>1,c(a[d])c?0:c);++b0?k=tc(e,c):(g&&nc(g),c=l,g=k=l=o,c&&(m=Uc(),h=a.apply(j,f),k||g||(f=j=null)))}var f,g,h,i,j,k,l,m=0,n=!1,p=!0;if(!ub(a))throw new gc;if(b=Cc(0,b)||0,!0===c)var q=!0,p=!1;else vb(c)&&(q=c.leading,n="maxWait"in c&&(Cc(b,c.maxWait)||0),p="trailing"in c?c.trailing:p);return function(){if(f=arguments,i=Uc(),j=this,l=p&&(k||!q),!1===n)var c=q&&!k;else{g||q||(m=i);var o=n-(i-m),r=0>=o;r?(g&&(g=nc(g)),m=i,h=a.apply(j,f)):g||(g=tc(d,o))}return r&&k?k=nc(k):k||b===n||(k=tc(e,b)),c&&(r=!0,h=a.apply(j,f)),!r||k||g||(f=j=null),h}}function Ub(a){return a}function Vb(a,b,c){var d=!0,e=b&&sb(b);b&&(c||e.length)||(null==c&&(c=b),f=Y,b=a,a=X,e=sb(b)),!1===c?d=!1:vb(c)&&"chain"in c&&(d=c.chain);var f=a,g=ub(f);Db(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];if(sc.apply(g,arguments),g=e.apply(a,g),d||b){if(c===g&&vb(g))return this;g=new f(g),g.__chain__=b}return g})})}function Wb(){}function Xb(a){return function(b){return b[a]}}function Yb(){return this.__wrapped__}c=c?_.defaults(W.Object(),c,_.pick(W,H)):W;var Zb=c.Array,$b=c.Boolean,_b=c.Date,ac=c.Function,bc=c.Math,cc=c.Number,dc=c.Object,ec=c.RegExp,fc=c.String,gc=c.TypeError,hc=[],ic=dc.prototype,jc=c._,kc=ic.toString,lc=ec("^"+fc(kc).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),mc=bc.ceil,nc=c.clearTimeout,oc=bc.floor,pc=ac.prototype.toString,qc=nb(qc=dc.getPrototypeOf)&&qc,rc=ic.hasOwnProperty,sc=hc.push,tc=c.setTimeout,uc=hc.splice,vc=hc.unshift,wc=function(){try{var a={},b=nb(b=dc.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),xc=nb(xc=dc.create)&&xc,yc=nb(yc=Zb.isArray)&&yc,zc=c.isFinite,Ac=c.isNaN,Bc=nb(Bc=dc.keys)&&Bc,Cc=bc.max,Dc=bc.min,Ec=c.parseInt,Fc=bc.random,Gc={};Gc[J]=Zb,Gc[K]=$b,Gc[L]=_b,Gc[M]=ac,Gc[O]=dc,Gc[N]=cc,Gc[P]=ec,Gc[Q]=fc,Y.prototype=X.prototype;var Hc=X.support={};Hc.funcDecomp=!nb(c.a)&&F.test(n),Hc.funcNames="string"==typeof ac.name,X.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:C,variable:"",imports:{_:X}},xc||(ab=function(){function a(){}return function(b){if(vb(b)){a.prototype=b;var d=new a;a.prototype=null}return d||c.Object()}}());var Ic=wc?function(a,b){T.value=b,wc(a,"__bindData__",T)}:Wb,Jc=yc||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&kc.call(a)==J||!1},Kc=Bc?function(a){return vb(a)?Bc(a):[]}:V,Lc={"&":"&","<":"<",">":">",'"':""","'":"'"},Mc=tb(Lc),Nc=ec("("+Kc(Mc).join("|")+")","g"),Oc=ec("["+Kc(Lc).join("")+"]","g"),Pc=qc?function(a){if(!a||kc.call(a)!=O)return!1;var b=a.valueOf,c=nb(b)&&(c=qc(b))&&qc(c);return c?a==c||qc(a)==c:ob(a)}:ob,Qc=jb(function(a,b,c){rc.call(a,c)?a[c]++:a[c]=1}),Rc=jb(function(a,b,c){(rc.call(a,c)?a[c]:a[c]=[]).push(b)}),Sc=jb(function(a,b,c){a[c]=b}),Tc=Fb,Uc=nb(Uc=_b.now)&&Uc||function(){return(new _b).getTime()},Vc=8==Ec(v+"08")?Ec:function(a,b){return Ec(xb(a)?a.replace(D,""):a,b||0)};return X.after=function(a,b){if(!ub(b))throw new gc;return function(){return 1>--a?b.apply(this,arguments):void 0}},X.assign=u,X.at=function(a){for(var b=arguments,c=-1,d=eb(b,!0,!1,1),b=b[2]&&b[2][b[1]]===a?1:d.length,e=Zb(b);++c=t&&g(d?c[d]:m)))}var j=c[0],o=-1,p=j?j.length:0,q=[];a:for(;++o(r?b(r,n):h(m,n))){for(d=e,(r||m).push(n);--d;)if(r=f[d],0>(r?b(r,n):h(c[d],n)))continue a;q.push(n)}}for(;e--;)(r=f[e])&&l(r);return k(f),k(m),q},X.invert=tb,X.invoke=function(a,b){var c=m(arguments,2),d=-1,e="function"==typeof b,f=a?a.length:0,g=Zb("number"==typeof f?f:0);return Db(a,function(a){g[++d]=(e?b:a[b]).apply(a,c)}),g},X.keys=Kc,X.map=Fb,X.mapValues=function(a,b,c){var e={};return b=X.createCallback(b,c,3),d(a,function(a,c,d){e[c]=b(a,c,d)}),e},X.max=Gb,X.memoize=function(a,b){function c(){var d=c.cache,e=b?b.apply(this,arguments):s+arguments[0];return rc.call(d,e)?d[e]:d[e]=a.apply(this,arguments)}if(!ub(a))throw new gc;return c.cache={},c},X.merge=function(a){var b=arguments,c=2;if(!vb(a))return a;if("number"!=typeof b[2]&&(c=b.length),c>3&&"function"==typeof b[c-2])var d=bb(b[--c-1],b[c--],2);else c>2&&"function"==typeof b[c-1]&&(d=b[--c]);for(var b=m(arguments,1,c),e=-1,f=i(),g=i();++eh&&(f=h)}}else b=null==b&&xb(a)?e:X.createCallback(b,c,3),Db(a,function(a,c,e){c=b(a,c,e),d>c&&(d=c,f=a)});return f},X.omit=function(a,b,c){var d={};if("function"!=typeof b){var e=[];p(a,function(a,b){e.push(b)});for(var e=db(e,eb(arguments,!0,!1,1)),f=-1,g=e.length;++fc?Cc(0,d+c):Dc(c,d-1))+1);d--;)if(a[d]===b)return d;return-1},X.mixin=Vb,X.noConflict=function(){return c._=jc,this},X.noop=Wb,X.now=Uc,X.parseInt=Vc,X.random=function(a,b,c){var d=null==a,e=null==b;return null==c&&("boolean"==typeof a&&e?(c=a,a=1):e||"boolean"!=typeof b||(c=b,e=!0)),d&&e&&(b=1),a=+a||0,e?(b=a,a=0):b=+b||0,c||a%1||b%1?(c=Fc(),Dc(a+c*(b-a+parseFloat("1e-"+((c+"").length-1))),b)):hb(a,b)},X.reduce=Hb,X.reduceRight=Ib,X.result=function(a,b){if(a){var c=a[b];return ub(c)?a[b]():c}},X.runInContext=n,X.size=function(a){var b=a?a.length:0;return"number"==typeof b?b:Kc(a).length},X.some=Kb,X.sortedIndex=Ob,X.template=function(a,b,c){var d=X.templateSettings;a=fc(a||""),c=q({},c,d);var e,f=q({},c.imports,d.imports),d=Kc(f),f=yb(f),g=0,i=c.interpolate||E,j="__p+='",i=ec((c.escape||E).source+"|"+i.source+"|"+(i===C?z:E).source+"|"+(c.evaluate||E).source+"|$","g");a.replace(i,function(b,c,d,f,i,k){return d||(d=f),j+=a.slice(g,k).replace(G,h),c&&(j+="'+__e("+c+")+'"),i&&(e=!0,j+="';"+i+";\n__p+='"),d&&(j+="'+((__t=("+d+"))==null?'':__t)+'"),g=k+b.length,b}),j+="';",i=c=c.variable,i||(c="obj",j="with("+c+"){"+j+"}"),j=(e?j.replace(w,""):j).replace(x,"$1").replace(y,"$1;"),j="function("+c+"){"+(i?"":c+"||("+c+"={});")+"var __t,__p='',__e=_.escape"+(e?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+j+"return __p}";try{var k=ac(d,"return "+j).apply(o,f)}catch(l){throw l.source=j,l}return b?k(b):(k.source=j,k)},X.unescape=function(a){return null==a?"":fc(a).replace(Nc,pb)},X.uniqueId=function(a){var b=++r;return fc(null==a?"":a)+b},X.all=Ab,X.any=Kb,X.detect=Cb,X.findWhere=Cb,X.foldl=Hb,X.foldr=Ib,X.include=zb,X.inject=Hb,Vb(function(){var a={};return d(X,function(b,c){X.prototype[c]||(a[c]=b)}),a}(),!1),X.first=Lb,X.last=function(a,b,c){var d=0,e=a?a.length:0;if("number"!=typeof b&&null!=b){var f=e;for(b=X.createCallback(b,c,3);f--&&b(a[f],f,a);)d++}else if(d=b,null==d||c)return a?a[e-1]:o;return m(a,Cc(0,e-d))},X.sample=function(a,b,c){return a&&"number"!=typeof a.length&&(a=yb(a)),null==b||c?a?a[hb(0,a.length-1)]:o:(a=Jb(a),a.length=Dc(Cc(0,b),a.length),a)},X.take=Lb,X.head=Lb,d(X,function(a,b){var c="sample"!==b;X.prototype[b]||(X.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new Y(f,e):f})}),X.VERSION="2.4.1",X.prototype.chain=function(){return this.__chain__=!0,this},X.prototype.toString=function(){return fc(this.__wrapped__)},X.prototype.value=Yb,X.prototype.valueOf=Yb,Db(["join","pop","shift"],function(a){var b=hc[a];X.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new Y(c,a):c}}),Db(["push","reverse","sort","unshift"],function(a){var b=hc[a];X.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),Db(["concat","slice","splice"],function(a){var b=hc[a];X.prototype[a]=function(){return new Y(b.apply(this.__wrapped__,arguments),this.__chain__)}}),X}var o,p=[],q=[],r=0,s=+new Date+"",t=75,u=40,v=" \f \n\r\u2028\u2029 ᠎              ",w=/\b__p\+='';/g,x=/\b(__p\+=)''\+/g,y=/(__e\(.*?\)|\b__t\))\+'';/g,z=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,A=/\w*$/,B=/^\s*function[ \n\r\t]+\w/,C=/<%=([\s\S]+?)%>/g,D=RegExp("^["+v+"]*0+(?=.$)"),E=/($^)/,F=/\bthis\b/,G=/['\n\r\t\u2028\u2029\\]/g,H="Array Boolean Date Function Math Number Object RegExp String _ attachEvent clearTimeout isFinite isNaN parseInt setTimeout".split(" "),I="[object Arguments]",J="[object Array]",K="[object Boolean]",L="[object Date]",M="[object Function]",N="[object Number]",O="[object Object]",P="[object RegExp]",Q="[object String]",R={};R[M]=!1,R[I]=R[J]=R[K]=R[L]=R[N]=R[O]=R[P]=R[Q]=!0;var S={leading:!1,maxWait:0,trailing:!1},T={configurable:!1,enumerable:!1,value:null,writable:!1},U={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},V={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},W=U[typeof window]&&window||this,X=U[typeof exports]&&exports&&!exports.nodeType&&exports,Y=U[typeof module]&&module&&!module.nodeType&&module,Z=Y&&Y.exports===X&&X,$=U[typeof global]&&global;!$||$.global!==$&&$.window!==$||(W=$);var _=n();"function"==typeof c&&"object"==typeof c.amd&&c.amd?(W._=_,c("lodash",[],function(){return _})):X&&Y?Z?(Y.exports=_)._=_:X._=_:W._=_}.call(this),function(){var a=angular.module("restangular",[]);a.provider("Restangular",function(){var a={};a.init=function(a,b){function c(a,b,c,d){var e={};return _.each(_.keys(d),function(f){var g=d[f];g.params=_.extend({},g.params,a.defaultRequestParams[g.method.toLowerCase()]),_.isEmpty(g.params)&&delete g.params,e[f]=a.isSafe(g.method)?function(){return b(_.extend(g,{url:c}))}:function(a){return b(_.extend(g,{url:c,data:a}))}}),e}a.configuration=b;var d=["get","head","options","trace","getlist"];b.isSafe=function(a){return _.contains(d,a.toLowerCase())};var e=/^https?:\/\//i;b.isAbsoluteUrl=function(a){return _.isUndefined(b.absoluteUrl)||_.isNull(b.absoluteUrl)?a&&e.test(a):b.absoluteUrl},b.absoluteUrl=_.isUndefined(b.absoluteUrl)?!0:b.absoluteUrl,a.setSelfLinkAbsoluteUrl=function(a){b.absoluteUrl=a},b.baseUrl=_.isUndefined(b.baseUrl)?"":b.baseUrl,a.setBaseUrl=function(a){return b.baseUrl=/\/$/.test(a)?a.substring(0,a.length-1):a,this},b.extraFields=b.extraFields||[],a.setExtraFields=function(a){return b.extraFields=a,this},b.defaultHttpFields=b.defaultHttpFields||{},a.setDefaultHttpFields=function(a){return b.defaultHttpFields=a,this},b.withHttpValues=function(a,c){return _.defaults(c,a,b.defaultHttpFields)},b.encodeIds=_.isUndefined(b.encodeIds)?!0:b.encodeIds,a.setEncodeIds=function(a){b.encodeIds=a},b.defaultRequestParams=b.defaultRequestParams||{get:{},post:{},put:{},remove:{},common:{}},a.setDefaultRequestParams=function(a,c){var d=[],e=c||a;return _.isUndefined(c)?d.push("common"):_.isArray(a)?d=a:d.push(a),_.each(d,function(a){b.defaultRequestParams[a]=e}),this},a.requestParams=b.defaultRequestParams,b.defaultHeaders=b.defaultHeaders||{},a.setDefaultHeaders=function(c){return b.defaultHeaders=c,a.defaultHeaders=b.defaultHeaders,this},a.defaultHeaders=b.defaultHeaders,b.methodOverriders=b.methodOverriders||[],a.setMethodOverriders=function(a){var c=_.extend([],a);return b.isOverridenMethod("delete",c)&&c.push("remove"),b.methodOverriders=c,this},b.jsonp=_.isUndefined(b.jsonp)?!1:b.jsonp,a.setJsonp=function(a){b.jsonp=a},b.isOverridenMethod=function(a,c){var d=c||b.methodOverriders;return!_.isUndefined(_.find(d,function(b){return b.toLowerCase()===a.toLowerCase()}))},b.urlCreator=b.urlCreator||"path",a.setUrlCreator=function(a){if(!_.has(b.urlCreatorFactory,a))throw new Error("URL Path selected isn't valid");return b.urlCreator=a,this},b.restangularFields=b.restangularFields||{id:"id",route:"route",parentResource:"parentResource",restangularCollection:"restangularCollection",cannonicalId:"__cannonicalId",etag:"restangularEtag",selfLink:"href",get:"get",getList:"getList",put:"put",post:"post",remove:"remove",head:"head",trace:"trace",options:"options",patch:"patch",getRestangularUrl:"getRestangularUrl",getRequestedUrl:"getRequestedUrl",putElement:"putElement",addRestangularMethod:"addRestangularMethod",getParentList:"getParentList",clone:"clone",ids:"ids",httpConfig:"_$httpConfig",reqParams:"reqParams",one:"one",all:"all",several:"several",oneUrl:"oneUrl",allUrl:"allUrl",customPUT:"customPUT",customPOST:"customPOST",customDELETE:"customDELETE",customGET:"customGET",customGETLIST:"customGETLIST",customOperation:"customOperation",doPUT:"doPUT",doPOST:"doPOST",doDELETE:"doDELETE",doGET:"doGET",doGETLIST:"doGETLIST",fromServer:"fromServer",withConfig:"withConfig",withHttpConfig:"withHttpConfig",singleOne:"singleOne",plain:"plain",save:"save"},a.setRestangularFields=function(a){return b.restangularFields=_.extend(b.restangularFields,a),this},b.isRestangularized=function(a){return!!a[b.restangularFields.one]||!!a[b.restangularFields.all]},b.setFieldToElem=function(a,b,c){var d=a.split("."),e=b;return _.each(_.initial(d),function(a){e[a]={},e=e[a]}),e[_.last(d)]=c,this},b.getFieldFromElem=function(a,b){var c=a.split("."),d=b;return _.each(c,function(a){d&&(d=d[a])}),angular.copy(d)},b.setIdToElem=function(a,c){return b.setFieldToElem(b.restangularFields.id,a,c),this},b.getIdFromElem=function(a){return b.getFieldFromElem(b.restangularFields.id,a)},b.isValidId=function(a){return""!==a&&!_.isUndefined(a)&&!_.isNull(a)},b.setUrlToElem=function(a,c){return b.setFieldToElem(b.restangularFields.selfLink,a,c),this},b.getUrlFromElem=function(a){return b.getFieldFromElem(b.restangularFields.selfLink,a)},b.useCannonicalId=_.isUndefined(b.useCannonicalId)?!1:b.useCannonicalId,a.setUseCannonicalId=function(a){return b.useCannonicalId=a,this},b.getCannonicalIdFromElem=function(a){var c=a[b.restangularFields.cannonicalId],d=b.isValidId(c)?c:b.getIdFromElem(a);return d},b.responseInterceptors=b.responseInterceptors||[],b.defaultResponseInterceptor=function(a){return a},b.responseExtractor=function(a,c,d,e,f,g){var h=angular.copy(b.responseInterceptors);h.push(b.defaultResponseInterceptor);var i=a;return _.each(h,function(a){i=a(i,c,d,e,f,g)}),i},a.addResponseInterceptor=function(a){return b.responseInterceptors.push(a),this},a.setResponseInterceptor=a.addResponseInterceptor,a.setResponseExtractor=a.addResponseInterceptor,b.requestInterceptors=b.requestInterceptors||[],b.defaultInterceptor=function(a,b,c,d,e,f,g){return{element:a,headers:e,params:f,httpConfig:g}},b.fullRequestInterceptor=function(a,c,d,e,f,g,h){var i=angular.copy(b.requestInterceptors),j=b.defaultInterceptor(a,c,d,e,f,g,h);return _.reduce(i,function(a,b){return _.extend(a,b(a.element,c,d,e,a.headers,a.params,a.httpConfig))},j)},a.addRequestInterceptor=function(a){return b.requestInterceptors.push(function(b,c,d,e,f,g,h){return{headers:f,params:g,element:a(b,c,d,e),httpConfig:h}}),this},a.setRequestInterceptor=a.addRequestInterceptor,a.addFullRequestInterceptor=function(a){return b.requestInterceptors.push(a),this +},a.setFullRequestInterceptor=a.addFullRequestInterceptor,b.errorInterceptor=b.errorInterceptor||function(){},a.setErrorInterceptor=function(a){return b.errorInterceptor=a,this},b.onBeforeElemRestangularized=b.onBeforeElemRestangularized||function(a){return a},a.setOnBeforeElemRestangularized=function(a){return b.onBeforeElemRestangularized=a,this},b.onElemRestangularized=b.onElemRestangularized||function(a){return a},a.setOnElemRestangularized=function(a){return b.onElemRestangularized=a,this},b.shouldSaveParent=b.shouldSaveParent||function(){return!0},a.setParentless=function(a){return _.isArray(a)?b.shouldSaveParent=function(b){return!_.contains(a,b)}:_.isBoolean(a)&&(b.shouldSaveParent=function(){return!a}),this},b.suffix=_.isUndefined(b.suffix)?null:b.suffix,a.setRequestSuffix=function(a){return b.suffix=a,this},b.transformers=b.transformers||{},a.addElementTransformer=function(c,d,e){var f=null,g=null;2===arguments.length?g=d:(g=e,f=d);var h=b.transformers[c];return h||(h=b.transformers[c]=[]),h.push(function(a,b){return _.isNull(f)||a==f?g(b):b}),a},a.extendCollection=function(b,c){return a.addElementTransformer(b,!0,c)},a.extendModel=function(b,c){return a.addElementTransformer(b,!1,c)},b.transformElem=function(a,c,d,e,f){if(!f&&!b.transformLocalElements&&!a[b.restangularFields.fromServer])return a;var g=b.transformers[d],h=a;return g&&_.each(g,function(a){h=a(c,h)}),b.onElemRestangularized(h,c,d,e)},b.transformLocalElements=_.isUndefined(b.transformLocalElements)?!1:b.transformLocalElements,a.setTransformOnlyServerElements=function(a){b.transformLocalElements=!a},b.fullResponse=_.isUndefined(b.fullResponse)?!1:b.fullResponse,a.setFullResponse=function(a){return b.fullResponse=a,this},b.urlCreatorFactory={};var f=function(){};f.prototype.setConfig=function(a){return this.config=a,this},f.prototype.parentsArray=function(a){for(var b=[];a;)b.push(a),a=a[this.config.restangularFields.parentResource];return b.reverse()},f.prototype.resource=function(a,d,e,f,g,h,i,j){var k=_.defaults(g||{},this.config.defaultRequestParams.common),l=_.defaults(f||{},this.config.defaultHeaders);i&&(b.isSafe(j)?l["If-None-Match"]=i:l["If-Match"]=i);var m=this.base(a);if(h){var n="";/\/$/.test(m)||(n+="/"),n+=h,m+=n}return this.config.suffix&&-1===m.indexOf(this.config.suffix,m.length-this.config.suffix.length)&&!this.config.getUrlFromElem(a)&&(m+=this.config.suffix),a[this.config.restangularFields.httpConfig]=void 0,c(this.config,d,m,{getList:this.config.withHttpValues(e,{method:"GET",params:k,headers:l}),get:this.config.withHttpValues(e,{method:"GET",params:k,headers:l}),jsonp:this.config.withHttpValues(e,{method:"jsonp",params:k,headers:l}),put:this.config.withHttpValues(e,{method:"PUT",params:k,headers:l}),post:this.config.withHttpValues(e,{method:"POST",params:k,headers:l}),remove:this.config.withHttpValues(e,{method:"DELETE",params:k,headers:l}),head:this.config.withHttpValues(e,{method:"HEAD",params:k,headers:l}),trace:this.config.withHttpValues(e,{method:"TRACE",params:k,headers:l}),options:this.config.withHttpValues(e,{method:"OPTIONS",params:k,headers:l}),patch:this.config.withHttpValues(e,{method:"PATCH",params:k,headers:l})})};var g=function(){};g.prototype=new f,g.prototype.base=function(a){var c=this;return _.reduce(this.parentsArray(a),function(a,d){var e,f=c.config.getUrlFromElem(d);if(f){if(c.config.isAbsoluteUrl(f))return f;e=f}else if(e=d[c.config.restangularFields.route],d[c.config.restangularFields.restangularCollection]){var g=d[c.config.restangularFields.ids];g&&(e+="/"+g.join(","))}else{var h;h=c.config.useCannonicalId?c.config.getCannonicalIdFromElem(d):c.config.getIdFromElem(d),b.isValidId(h)&&!d.singleOne&&(e+="/"+(c.config.encodeIds?encodeURIComponent(h):h))}return a.replace(/\/$/,"")+"/"+e},this.config.baseUrl)},g.prototype.fetchUrl=function(a,b){var c=this.base(a);return b&&(c+="/"+b),c},g.prototype.fetchRequestedUrl=function(a,c){function d(a){var b=[];for(var c in a)a.hasOwnProperty(c)&&b.push(c);return b.sort()}function e(a,b,c){for(var e=d(a),f=0;f=a||a>this.nbPages||this.changePage(this.$scope.filterQuery,a)},c.prototype.filter=function(){this.changePage(this.$scope.filterQuery,1)},c.prototype.clearFilter=function(){this.$scope.filterQuery="",this.filter()},c.prototype.changePage=function(a,b){a.length||(a=null),this.$location.search("q",a),this.$location.search("page",b),this.$location.path("/list/"+this.data.entityName),this.$anchorScroll(0)},c.prototype.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.prototype.itemClass=function(a){return a%2===0?"even":"odd"},c.prototype.create=function(){this.$location.path("/create/"+this.data.entityName),this.$anchorScroll(0)},c.prototype.edit=function(a){this.$location.path("/edit/"+this.data.entityName+"/"+a[this.identifierField]),this.$anchorScroll(0)},c.prototype.destroy=function(){this.$scope=void 0,this.$location=void 0,this.CrudManager=void 0},c.$inject=["$scope","$location","$anchorScroll","data","CrudManager"],c}),!function(a,b,d){"undefined"!=typeof module?module.exports=d(a,b):"function"==typeof c&&"object"==typeof c.amd?c("humane",d):b[a]=d(a,b)}("humane",this,function(){var a=window,b=document,c={on:function(b,c,d){"addEventListener"in a?b.addEventListener(c,d,!1):b.attachEvent("on"+c,d)},off:function(b,c,d){"removeEventListener"in a?b.removeEventListener(c,d,!1):b.detachEvent("on"+c,d)},bind:function(a,b){return function(){a.apply(b,arguments)}},isArray:Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)},config:function(a,b){return null!=a?a:b},transSupport:!1,useFilter:/msie [678]/i.test(navigator.userAgent),_checkTransition:function(){var a=b.createElement("div"),c={webkit:"webkit",Moz:"",O:"o",ms:"MS"};for(var d in c)d+"Transition"in a.style&&(this.vendorPrefix=c[d],this.transSupport=!0)}};c._checkTransition();var d=function(b){b||(b={}),this.queue=[],this.baseCls=b.baseCls||"humane",this.addnCls=b.addnCls||"",this.timeout="timeout"in b?b.timeout:2500,this.waitForMove=b.waitForMove||!1,this.clickToClose=b.clickToClose||!1,this.timeoutAfterMove=b.timeoutAfterMove||!1,this.container=b.container;try{this._setupEl()}catch(d){c.on(a,"load",c.bind(this._setupEl,this))}};return d.prototype={constructor:d,_setupEl:function(){var a=b.createElement("div");if(a.style.display="none",!this.container){if(!b.body)throw"document.body is null";this.container=b.body}this.container.appendChild(a),this.el=a,this.removeEvent=c.bind(function(){this.timeoutAfterMove?setTimeout(c.bind(this.remove,this),this.timeout):this.remove()},this),this.transEvent=c.bind(this._afterAnimation,this),this._run()},_afterTimeout:function(){c.config(this.currentMsg.waitForMove,this.waitForMove)?this.removeEventsSet||(c.on(b.body,"mousemove",this.removeEvent),c.on(b.body,"click",this.removeEvent),c.on(b.body,"keypress",this.removeEvent),c.on(b.body,"touchstart",this.removeEvent),this.removeEventsSet=!0):this.remove()},_run:function(){if(!this._animating&&this.queue.length&&this.el){this._animating=!0,this.currentTimer&&(clearTimeout(this.currentTimer),this.currentTimer=null);var a=this.queue.shift(),b=c.config(a.clickToClose,this.clickToClose);b&&(c.on(this.el,"click",this.removeEvent),c.on(this.el,"touchstart",this.removeEvent));var d=c.config(a.timeout,this.timeout);d>0&&(this.currentTimer=setTimeout(c.bind(this._afterTimeout,this),d)),c.isArray(a.html)&&(a.html="
  • "+a.html.join("
  • ")+"
"),this.el.innerHTML=a.html,this.currentMsg=a,this.el.className=this.baseCls,c.transSupport?(this.el.style.display="block",setTimeout(c.bind(this._showMsg,this),50)):this._showMsg()}},_setOpacity:function(a){if(c.useFilter)try{this.el.filters.item("DXImageTransform.Microsoft.Alpha").Opacity=100*a}catch(b){}else this.el.style.opacity=String(a)},_showMsg:function(){var a=c.config(this.currentMsg.addnCls,this.addnCls);if(c.transSupport)this.el.className=this.baseCls+" "+a+" "+this.baseCls+"-animate";else{var b=0;this.el.className=this.baseCls+" "+a+" "+this.baseCls+"-js-animate",this._setOpacity(0),this.el.style.display="block";var d=this,e=setInterval(function(){1>b?(b+=.1,b>1&&(b=1),d._setOpacity(b)):clearInterval(e)},30)}},_hideMsg:function(){var a=c.config(this.currentMsg.addnCls,this.addnCls);if(c.transSupport)this.el.className=this.baseCls+" "+a,c.on(this.el,c.vendorPrefix?c.vendorPrefix+"TransitionEnd":"transitionend",this.transEvent);else var b=1,d=this,e=setInterval(function(){b>0?(b-=.1,0>b&&(b=0),d._setOpacity(b)):(d.el.className=d.baseCls+" "+a,clearInterval(e),d._afterAnimation())},30)},_afterAnimation:function(){c.transSupport&&c.off(this.el,c.vendorPrefix?c.vendorPrefix+"TransitionEnd":"transitionend",this.transEvent),this.currentMsg.cb&&this.currentMsg.cb(),this.el.style.display="none",this._animating=!1,this._run()},remove:function(a){var d="function"==typeof a?a:null;c.off(b.body,"mousemove",this.removeEvent),c.off(b.body,"click",this.removeEvent),c.off(b.body,"keypress",this.removeEvent),c.off(b.body,"touchstart",this.removeEvent),c.off(this.el,"click",this.removeEvent),c.off(this.el,"touchstart",this.removeEvent),this.removeEventsSet=!1,d&&this.currentMsg&&(this.currentMsg.cb=d),this._animating?this._hideMsg():d&&d()},log:function(a,b,c,d){var e={};if(d)for(var f in d)e[f]=d[f];if("function"==typeof b)c=b;else if(b)for(var f in b)e[f]=b[f];return e.html=a,c&&(e.cb=c),this.queue.push(e),this._run(),this},spawn:function(a){var b=this;return function(c,d,e){return b.log.call(b,c,d,e,a),b}},create:function(a){return new d(a)}},new d}),c("ng-admin/Crud/component/controller/FormController",["humane","nprogress"],function(){var a=b("humane"),c=b("nprogress"),d=function(a,b,c,d,e,f){var g="undefined"==typeof f.entityId;this.$scope=a,this.$location=b,this.$filter=c,this.CrudManager=d,this.Validator=e,this.data=f,this.openDatepicker={},this.title=g?f.entityConfig.getCreateTitle():f.entityConfig.getEditTitle(),this.description=f.entityConfig.getDescription(),g&&this.clear(),this.fields=f.fields,this.entityLabel=f.entityConfig.label(),this.$scope.itemClass=this.itemClass.bind(this),this.$scope.edit=this.edit.bind(this),a.$on("$destroy",this.destroy.bind(this))};return d.prototype.create=function(){this.$location.path("/create/"+this.data.entityName)},d.prototype.deleteOne=function(){this.$location.path("/delete/"+this.data.entityName+"/"+this.data.entityId)},d.prototype.back=function(){this.$location.path("/list/"+this.data.entityName)},d.prototype.contains=function(a,b){if(!a)return!1;for(var c=0,d=a.length;d>c;c++)if(a[c]==b)return!0;return!1},d.prototype.validate=function(b,d){d.preventDefault(),c.start();var e,f=this,g={id:this.data.entityId};angular.forEach(this.data.fields,function(a){e=a.value,"date"===a.type()&&(e=f.$filter("date")(e,a.validation().format)),g[a.getName()]=e});try{this.Validator.validate(this.data.entityName,g)}catch(h){return c.done(),a.log(h,{addnCls:"humane-flatty-error"}),!1}return g},d.prototype.submitCreation=function(b,d){var e=this.validate(b,d),f=this;e&&this.CrudManager.createOne(this.data.entityName,e).then(function(b){c.done(),a.log("Changes successfully saved.",{addnCls:"humane-flatty-success"}),f.$location.path("/edit/"+f.data.entityName+"/"+b.data.id)})},d.prototype.submitEdition=function(b,d){var e=this.validate(b,d);e&&this.CrudManager.updateOne(this.data.entityName,e).then(function(){c.done(),a.log("Changes successfully saved.",{addnCls:"humane-flatty-success"})})},d.prototype.toggleDatePicker=function(a,b){a.preventDefault(),a.stopPropagation(),this.openDatepicker[b]="undefined"==typeof this.openDatepicker[b]?!0:!this.openDatepicker[b]},d.prototype.itemClass=function(a){return a%2===0?"even":"odd"},d.prototype.edit=function(a,b){this.$location.path("/edit/"+b.getName()+"/"+a[b.getIdentifier().getName()])},d.prototype.clear=function(){angular.forEach(this.data.fields,function(a){a.value="ReferencedList"===a.name?a.setItems([]):null})},d.prototype.destroy=function(){this.$scope=void 0,this.$location=void 0,this.CrudManager=void 0,this.data=void 0},d.$inject=["$scope","$location","$filter","CrudManager","Validator","data"],d}),c("ng-admin/Crud/component/controller/DeleteController",[],function(){var a=function(a,b,c,d){this.$scope=a,this.$location=b,this.CrudManager=c,this.params=d,this.entityLabel=this.params.entity,this.entityId=this.params.id,a.$on("$destroy",this.destroy.bind(this))};return a.prototype.deleteOne=function(){var a=this;this.CrudManager.deleteOne(this.params.entity,this.params.id).then(function(){a.$location.path("/list/"+a.params.entity)})},a.prototype.back=function(){this.$location.path("/edit/"+this.params.entity+"/"+this.params.id)},a.prototype.destroy=function(){this.$scope=void 0,this.$location=void 0,this.CrudManager=void 0,this.params=void 0},a.$inject=["$scope","$location","CrudManager","params"],a}),c("ng-admin/Crud/component/directive/InfinitePagination",["require","angular"],function(a){function b(a,b){return{link:function(d,e,f){var g=parseInt(f.threshold)||0,h=b[0].body;c.element(a).bind("scroll",function(){d.$eval(f.canLoad)&&h.offsetHeight-a.innerHeight-a.scrollYk;k++){var n=f[k];c.forEach(j,function(a,b){a.getName()in n&&(f[k][b]=a.valueTransformer()(n[a.getName()]))})}var o=h.fillReferencesValuesFromCollection(f,d,e);return o=h.truncateListValue(o,i),{entityName:a,entityConfig:i,rawItems:o,currentPage:b,perPage:l,totalItems:i.totalItems()(g)}})},b.prototype.getEditionFields=function(a,b){var c=[];if("undefined"!=typeof b&&("string"==typeof b?c.push(b):b.length&&(c=b)),!this.config.hasEntity(a))throw"Entity "+a+" not found.";var d=this.config.getEntity(a),e=this.filterEditionFields(d.getFields(),c);return{fields:e,entityConfig:d,entityName:a}},b.prototype.getReferencedValues=function(a){var b=this,d=this.getReferences(a),e=[];return c.forEach(d,function(a){e.push(b.getAll(a.targetEntity().getName(),1,!1))}),this.$q.all(e).then(function(a){var e=0;return c.forEach(d,function(c,f){d[f].setChoices(b.getReferenceChoices(c,a[e++].rawItems))}),d})},b.prototype.getReferencedListValues=function(a,b){var d=this,e=this.getReferencedLists(a),f=b.entityId,g=[];return c.forEach(e,function(a){g.push(d.getAll(a.targetEntity().getName(),1,!1,!1))}),this.$q.all(g).then(function(a){var b=0;return c.forEach(e,function(c,g){e[g].setItems(d.filterReferencedList(a[b++].rawItems,c,f))}),a})},b.prototype.filterReferencedList=function(a,b,d){var e=[],f=b.targetField();return c.forEach(a,function(a){a[f]==d&&e.push(a)}),e},b.prototype.getReferenceChoices=function(a,b){var d={},e=a.targetEntity(),f=e.getIdentifier().getName();return c.forEach(b,function(b){d[b[f]]=b[a.targetLabel()]}),d},b.prototype.getReferences=function(a){if(!this.config.hasEntity(a))throw"Entity "+a+" not found.";return this.config.getEntity(a).getReferences()},b.prototype.getReferencedLists=function(a){if(!this.config.hasEntity(a))throw"Entity "+a+" not found.";return this.config.getEntity(a).getReferencedLists()},b.prototype.filterEditionFields=function(a,b){var d={};return c.forEach(a,function(a){return a.edition()?b.length?-1!==b.indexOf(a.edition())?this[a.getName()]=a:void 0:this[a.getName()]=a:void 0},d),d},b.prototype.fillReferencesValuesFromCollection=function(a,b,d){return d="undefined"==typeof d?!1:d,c.forEach(b,function(b,e){for(var f,g,h=b.getChoices(),i=0,j=a.length;j>i;i++){var k=a[i],l=b.valueTransformer()(k[e]);"ReferenceMany"===b.name?(k[e]=[],c.forEach(l,function(a){k[e].push(h[a])})):l&&l in h?d&&(g=b.targetEntity().getField(b.targetLabel()),f=h[l],k[e]=g.getTruncatedListValue(f)):delete k[e]}}),a},b.prototype.truncateListValue=function(a,b){for(var c=(b.getFields(),0),d=a.length;d>c;c++)for(var e in b.getFields()){var f=b.getField(e);a[c][e]="Field"===f.name?f.getTruncatedListValue(a[c][e]):a[c][e]}return a},b.$inject=["$q","Restangular","NgAdminConfiguration"],b}),c("text!ng-admin/Crud/view/grid.html",[],function(){return'\n \n \n \n \n \n\n \n \n \n \n \n
\n {{ column.label }}\n
\n \n {{ ref }}\n \n {{ item[column.field] }}\n
\n'}),c("text!ng-admin/Crud/view/edit-attribute.html",[],function(){return'\n\n
\n
\n \n\n \n\n \n\n \n\n
\n \n\n \n \n \n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n
\n
\n\n
\n
\n

{{ field.value }}

\n
\n
\n\n
\n
\n
\n' +}),c("ng-admin/Crud/run/cacheTemplate",["require","text!../view/grid.html","text!../view/edit-attribute.html"],function(a){function b(a){a.put("ng-admin/Crud/view/grid.html",c),a.put("ng-admin/Crud/view/edit-attribute.html",d)}var c=a("text!../view/grid.html"),d=a("text!../view/edit-attribute.html");return b.$inject=["$templateCache"],b}),c("text!ng-admin/Crud/view/list.html",[],function(){return'\n\n
\n
\n
\n\n
\n \n
\n'}),c("text!ng-admin/Crud/view/create.html",[],function(){return'\n\n
\n
\n
\n\n
\n
\n \n
\n
\n
\n
\n'}),c("text!ng-admin/Crud/view/edit.html",[],function(){return'\n\n
\n
\n
\n
\n
\n \n
\n
\n Delete\n
\n
\n
\n
\n'}),c("text!ng-admin/Crud/view/delete.html",[],function(){return'\n\n
\n

Are you sure ?

\n \n \n
\n'}),c("ng-admin/Crud/config/routing",["require","text!../view/list.html","text!../view/create.html","text!../view/edit.html","text!../view/delete.html"],function(a){var b=a("text!../view/list.html"),c=a("text!../view/create.html"),d=a("text!../view/edit.html"),e=a("text!../view/delete.html"),f=function(a){a.state("list",{parent:"main",url:"/list/:entity?q&page",params:{entity:{},q:null,page:1},controller:"ListController",controllerAs:"listController",template:b,resolve:{data:function(a,b){var c=a.page,d=a.q;return b.getAll(a.entity,c,null,!0,d)}}}),a.state("create",{parent:"main",url:"/create/:entity",controller:"FormController",controllerAs:"formController",template:c,resolve:{data:function(a,b){return b.getEditionFields(a.entity,"editable")},referencedValues:function(a,b){return b.getReferencedValues(a.entity)}}}),a.state("edit",{parent:"main",url:"/edit/:entity/:id",controller:"FormController",controllerAs:"formController",template:d,resolve:{data:function(a,b){return b.getOne(a.entity,a.id)},referencedValues:function(a,b){return b.getReferencedValues(a.entity)},referencedListValues:function(a,b,c){return b.getReferencedListValues(a.entity,c)}}}),a.state("delete",{parent:"main",url:"/delete/:entity/:id",controller:"DeleteController",controllerAs:"deleteController",template:e,resolve:{params:function(a){return a}}})};return f.$inject=["$stateProvider"],f}),function(a,b){function c(){this.$get=["$$sanitizeUri",function(a){return function(b){var c=[];return f(b,i(c,function(b,c){return!/^unsafe/.test(a(b,c))})),c.join("")}}]}function d(a){var c=[],d=i(c,b.noop);return d.chars(a),c.join("")}function e(a){var b,c={},d=a.split(",");for(b=0;b=0&&t[f]!=d;f--);if(f>=0){for(e=t.length-1;e>=f;e--)c.end&&c.end(t[e]);t.length=f}}"string"!=typeof a&&(a=null===a||"undefined"==typeof a?"":""+a);var f,h,i,s,t=[],v=a;for(t.last=function(){return t[t.length-1]};a;){if(s="",h=!0,t.last()&&A[t.last()]?(a=a.replace(new RegExp("(.*)<\\s*\\/\\s*"+t.last()+"[^>]*>","i"),function(a,b){return b=b.replace(p,"$1").replace(r,"$1"),c.chars&&c.chars(g(b)),""}),e("",t.last())):(0===a.indexOf("",f)===f&&(c.comment&&c.comment(a.substring(4,f)),a=a.substring(f+3),h=!1)):q.test(a)?(i=a.match(q),i&&(a=a.replace(i[0],""),h=!1)):o.test(a)?(i=a.match(l),i&&(a=a.substring(i[0].length),i[0].replace(l,e),h=!1)):n.test(a)&&(i=a.match(k),i?(i[4]&&(a=a.substring(i[0].length),i[0].replace(k,d)),h=!1):(s+="<",a=a.substring(1))),h&&(f=a.indexOf("<"),s+=0>f?a:a.substring(0,f),a=0>f?"":a.substring(f),c.chars&&c.chars(g(s)))),a==v)throw j("badparse","The sanitizer was unable to parse the following block of html: {0}",a);v=a}e()}function g(a){if(!a)return"";var b=F.exec(a),c=b[1],d=b[3],e=b[2];return e&&(E.innerHTML=e.replace(//g,">")}function i(a,c){var d=!1,e=b.bind(a,a.push);return{start:function(a,f,g){a=b.lowercase(a),!d&&A[a]&&(d=a),d||B[a]!==!0||(e("<"),e(a),b.forEach(f,function(d,f){var g=b.lowercase(f),i="img"===a&&"src"===g||"background"===g;D[g]!==!0||C[g]===!0&&!c(d,i)||(e(" "),e(f),e('="'),e(h(d)),e('"'))}),e(g?"/>":">"))},end:function(a){a=b.lowercase(a),d||B[a]!==!0||(e("")),a==d&&(d=!1)},chars:function(a){d||e(h(a))}}}var j=b.$$minErr("$sanitize"),k=/^<((?:[a-zA-Z])[\w:-]*)((?:\s+[\w:-]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)\s*(>?)/,l=/^<\/\s*([\w:-]+)[^>]*>/,m=/([\w:-]+)(?:\s*=\s*(?:(?:"((?:[^"])*)")|(?:'((?:[^'])*)')|([^>\s]+)))?/g,n=/^/g,q=/]*?)>/i,r=//g,s=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,t=/([^\#-~| |!])/g,u=e("area,br,col,hr,img,wbr"),v=e("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),w=e("rp,rt"),x=b.extend({},w,v),y=b.extend({},v,e("address,article,aside,blockquote,caption,center,del,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,map,menu,nav,ol,pre,script,section,table,ul")),z=b.extend({},w,e("a,abbr,acronym,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,q,ruby,rp,rt,s,samp,small,span,strike,strong,sub,sup,time,tt,u,var")),A=e("script,style"),B=b.extend({},u,y,z,x),C=e("background,cite,href,longdesc,src,usemap"),D=b.extend({},C,e("abbr,align,alt,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,coords,dir,face,headers,height,hreflang,hspace,ismap,lang,language,nohref,nowrap,rel,rev,rows,rowspan,rules,scope,scrolling,shape,size,span,start,summary,target,title,type,valign,value,vspace,width")),E=document.createElement("pre"),F=/^(\s*)([\s\S]*?)(\s*)$/;b.module("ngSanitize",[]).provider("$sanitize",c),b.module("ngSanitize").filter("linky",["$sanitize",function(a){var c=/((ftp|https?):\/\/|(mailto:)?[A-Za-z0-9._%+-]+@)\S*[^\s.;,(){}<>"]/,e=/^mailto:/;return function(f,g){function h(a){a&&n.push(d(a))}function i(a,c){n.push("'),h(c),n.push("")}if(!f)return f;for(var j,k,l,m=f,n=[];j=m.match(c);)k=j[0],j[2]==j[3]&&(k="mailto:"+k),l=j.index,h(m.substr(0,l)),i(k,j[0].replace(e,"")),m=m.substring(l+j[0].length);return h(m),a(n.join(""))}}])}(window,window.angular),c("angular-sanitize",["angular"],function(){}),angular.module("ui.bootstrap",["ui.bootstrap.transition","ui.bootstrap.collapse","ui.bootstrap.accordion","ui.bootstrap.alert","ui.bootstrap.bindHtml","ui.bootstrap.buttons","ui.bootstrap.carousel","ui.bootstrap.dateparser","ui.bootstrap.position","ui.bootstrap.datepicker","ui.bootstrap.dropdown","ui.bootstrap.modal","ui.bootstrap.pagination","ui.bootstrap.tooltip","ui.bootstrap.popover","ui.bootstrap.progressbar","ui.bootstrap.rating","ui.bootstrap.tabs","ui.bootstrap.timepicker","ui.bootstrap.typeahead"]),angular.module("ui.bootstrap.transition",[]).factory("$transition",["$q","$timeout","$rootScope",function(a,b,c){function d(a){for(var b in a)if(void 0!==f.style[b])return a[b]}var e=function(d,f,g){g=g||{};var h=a.defer(),i=e[g.animation?"animationEndEventName":"transitionEndEventName"],j=function(){c.$apply(function(){d.unbind(i,j),h.resolve(d)})};return i&&d.bind(i,j),b(function(){angular.isString(f)?d.addClass(f):angular.isFunction(f)?f(d):angular.isObject(f)&&d.css(f),i||h.resolve(d)}),h.promise.cancel=function(){i&&d.unbind(i,j),h.reject("Transition cancelled")},h.promise},f=document.createElement("trans"),g={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd",transition:"transitionend"},h={WebkitTransition:"webkitAnimationEnd",MozTransition:"animationend",OTransition:"oAnimationEnd",transition:"animationend"};return e.transitionEndEventName=d(g),e.animationEndEventName=d(h),e}]),angular.module("ui.bootstrap.collapse",["ui.bootstrap.transition"]).directive("collapse",["$transition",function(a){return{link:function(b,c,d){function e(b){function d(){j===e&&(j=void 0)}var e=a(c,b);return j&&j.cancel(),j=e,e.then(d,d),e}function f(){k?(k=!1,g()):(c.removeClass("collapse").addClass("collapsing"),e({height:c[0].scrollHeight+"px"}).then(g))}function g(){c.removeClass("collapsing"),c.addClass("collapse in"),c.css({height:"auto"})}function h(){k?(k=!1,i(),c.css({height:0})):(c.css({height:c[0].scrollHeight+"px"}),c[0].offsetWidth,c.removeClass("collapse in").addClass("collapsing"),e({height:0}).then(i))}function i(){c.removeClass("collapsing"),c.addClass("collapse")}var j,k=!0;b.$watch(d.collapse,function(a){a?h():f()})}}}]),angular.module("ui.bootstrap.accordion",["ui.bootstrap.collapse"]).constant("accordionConfig",{closeOthers:!0}).controller("AccordionController",["$scope","$attrs","accordionConfig",function(a,b,c){this.groups=[],this.closeOthers=function(d){var e=angular.isDefined(b.closeOthers)?a.$eval(b.closeOthers):c.closeOthers;e&&angular.forEach(this.groups,function(a){a!==d&&(a.isOpen=!1)})},this.addGroup=function(a){var b=this;this.groups.push(a),a.$on("$destroy",function(){b.removeGroup(a)})},this.removeGroup=function(a){var b=this.groups.indexOf(a);-1!==b&&this.groups.splice(b,1)}}]).directive("accordion",function(){return{restrict:"EA",controller:"AccordionController",transclude:!0,replace:!1,templateUrl:"template/accordion/accordion.html"}}).directive("accordionGroup",function(){return{require:"^accordion",restrict:"EA",transclude:!0,replace:!0,templateUrl:"template/accordion/accordion-group.html",scope:{heading:"@",isOpen:"=?",isDisabled:"=?"},controller:function(){this.setHeading=function(a){this.heading=a}},link:function(a,b,c,d){d.addGroup(a),a.$watch("isOpen",function(b){b&&d.closeOthers(a)}),a.toggleOpen=function(){a.isDisabled||(a.isOpen=!a.isOpen)}}}}).directive("accordionHeading",function(){return{restrict:"EA",transclude:!0,template:"",replace:!0,require:"^accordionGroup",link:function(a,b,c,d,e){d.setHeading(e(a,function(){}))}}}).directive("accordionTransclude",function(){return{require:"^accordionGroup",link:function(a,b,c,d){a.$watch(function(){return d[c.accordionTransclude]},function(a){a&&(b.html(""),b.append(a))})}}}),angular.module("ui.bootstrap.alert",[]).controller("AlertController",["$scope","$attrs",function(a,b){a.closeable="close"in b}]).directive("alert",function(){return{restrict:"EA",controller:"AlertController",templateUrl:"template/alert/alert.html",transclude:!0,replace:!0,scope:{type:"@",close:"&"}}}),angular.module("ui.bootstrap.bindHtml",[]).directive("bindHtmlUnsafe",function(){return function(a,b,c){b.addClass("ng-binding").data("$binding",c.bindHtmlUnsafe),a.$watch(c.bindHtmlUnsafe,function(a){b.html(a||"")})}}),angular.module("ui.bootstrap.buttons",[]).constant("buttonConfig",{activeClass:"active",toggleEvent:"click"}).controller("ButtonsController",["buttonConfig",function(a){this.activeClass=a.activeClass||"active",this.toggleEvent=a.toggleEvent||"click"}]).directive("btnRadio",function(){return{require:["btnRadio","ngModel"],controller:"ButtonsController",link:function(a,b,c,d){var e=d[0],f=d[1];f.$render=function(){b.toggleClass(e.activeClass,angular.equals(f.$modelValue,a.$eval(c.btnRadio)))},b.bind(e.toggleEvent,function(){var d=b.hasClass(e.activeClass);(!d||angular.isDefined(c.uncheckable))&&a.$apply(function(){f.$setViewValue(d?null:a.$eval(c.btnRadio)),f.$render()})})}}}).directive("btnCheckbox",function(){return{require:["btnCheckbox","ngModel"],controller:"ButtonsController",link:function(a,b,c,d){function e(){return g(c.btnCheckboxTrue,!0)}function f(){return g(c.btnCheckboxFalse,!1)}function g(b,c){var d=a.$eval(b);return angular.isDefined(d)?d:c}var h=d[0],i=d[1];i.$render=function(){b.toggleClass(h.activeClass,angular.equals(i.$modelValue,e()))},b.bind(h.toggleEvent,function(){a.$apply(function(){i.$setViewValue(b.hasClass(h.activeClass)?f():e()),i.$render()})})}}}),angular.module("ui.bootstrap.carousel",["ui.bootstrap.transition"]).controller("CarouselController",["$scope","$timeout","$transition",function(a,b,c){function d(){e();var c=+a.interval;!isNaN(c)&&c>=0&&(g=b(f,c))}function e(){g&&(b.cancel(g),g=null)}function f(){h?(a.next(),d()):a.pause()}var g,h,i=this,j=i.slides=a.slides=[],k=-1;i.currentSlide=null;var l=!1;i.select=a.select=function(e,f){function g(){l||(i.currentSlide&&angular.isString(f)&&!a.noTransition&&e.$element?(e.$element.addClass(f),e.$element[0].offsetWidth,angular.forEach(j,function(a){angular.extend(a,{direction:"",entering:!1,leaving:!1,active:!1})}),angular.extend(e,{direction:f,active:!0,entering:!0}),angular.extend(i.currentSlide||{},{direction:f,leaving:!0}),a.$currentTransition=c(e.$element,{}),function(b,c){a.$currentTransition.then(function(){h(b,c)},function(){h(b,c)})}(e,i.currentSlide)):h(e,i.currentSlide),i.currentSlide=e,k=m,d())}function h(b,c){angular.extend(b,{direction:"",active:!0,leaving:!1,entering:!1}),angular.extend(c||{},{direction:"",active:!1,leaving:!1,entering:!1}),a.$currentTransition=null}var m=j.indexOf(e);void 0===f&&(f=m>k?"next":"prev"),e&&e!==i.currentSlide&&(a.$currentTransition?(a.$currentTransition.cancel(),b(g)):g())},a.$on("$destroy",function(){l=!0}),i.indexOfSlide=function(a){return j.indexOf(a)},a.next=function(){var b=(k+1)%j.length;return a.$currentTransition?void 0:i.select(j[b],"next")},a.prev=function(){var b=0>k-1?j.length-1:k-1;return a.$currentTransition?void 0:i.select(j[b],"prev")},a.isActive=function(a){return i.currentSlide===a},a.$watch("interval",d),a.$on("$destroy",e),a.play=function(){h||(h=!0,d())},a.pause=function(){a.noPause||(h=!1,e())},i.addSlide=function(b,c){b.$element=c,j.push(b),1===j.length||b.active?(i.select(j[j.length-1]),1==j.length&&a.play()):b.active=!1},i.removeSlide=function(a){var b=j.indexOf(a);j.splice(b,1),j.length>0&&a.active?i.select(b>=j.length?j[b-1]:j[b]):k>b&&k--}}]).directive("carousel",[function(){return{restrict:"EA",transclude:!0,replace:!0,controller:"CarouselController",require:"carousel",templateUrl:"template/carousel/carousel.html",scope:{interval:"=",noTransition:"=",noPause:"="}}}]).directive("slide",function(){return{require:"^carousel",restrict:"EA",transclude:!0,replace:!0,templateUrl:"template/carousel/slide.html",scope:{active:"=?"},link:function(a,b,c,d){d.addSlide(a,b),a.$on("$destroy",function(){d.removeSlide(a)}),a.$watch("active",function(b){b&&d.select(a)})}}}),angular.module("ui.bootstrap.dateparser",[]).service("dateParser",["$locale","orderByFilter",function(a,b){function c(a,b,c){return 1===b&&c>28?29===c&&(a%4===0&&a%100!==0||a%400===0):3===b||5===b||8===b||10===b?31>c:!0}this.parsers={};var d={yyyy:{regex:"\\d{4}",apply:function(a){this.year=+a}},yy:{regex:"\\d{2}",apply:function(a){this.year=+a+2e3}},y:{regex:"\\d{1,4}",apply:function(a){this.year=+a}},MMMM:{regex:a.DATETIME_FORMATS.MONTH.join("|"),apply:function(b){this.month=a.DATETIME_FORMATS.MONTH.indexOf(b)}},MMM:{regex:a.DATETIME_FORMATS.SHORTMONTH.join("|"),apply:function(b){this.month=a.DATETIME_FORMATS.SHORTMONTH.indexOf(b)}},MM:{regex:"0[1-9]|1[0-2]",apply:function(a){this.month=a-1}},M:{regex:"[1-9]|1[0-2]",apply:function(a){this.month=a-1}},dd:{regex:"[0-2][0-9]{1}|3[0-1]{1}",apply:function(a){this.date=+a}},d:{regex:"[1-2]?[0-9]{1}|3[0-1]{1}",apply:function(a){this.date=+a}},EEEE:{regex:a.DATETIME_FORMATS.DAY.join("|")},EEE:{regex:a.DATETIME_FORMATS.SHORTDAY.join("|")}};this.createParser=function(a){var c=[],e=a.split("");return angular.forEach(d,function(b,d){var f=a.indexOf(d);if(f>-1){a=a.split(""),e[f]="("+b.regex+")",a[f]="$";for(var g=f+1,h=f+d.length;h>g;g++)e[g]="",a[g]="$";a=a.join(""),c.push({index:f,apply:b.apply})}}),{regex:new RegExp("^"+e.join("")+"$"),map:b(c,"index")}},this.parse=function(b,d){if(!angular.isString(b))return b;d=a.DATETIME_FORMATS[d]||d,this.parsers[d]||(this.parsers[d]=this.createParser(d));var e=this.parsers[d],f=e.regex,g=e.map,h=b.match(f);if(h&&h.length){for(var i,j={year:1900,month:0,date:1,hours:0},k=1,l=h.length;l>k;k++){var m=g[k-1];m.apply&&m.apply.call(j,h[k])}return c(j.year,j.month,j.date)&&(i=new Date(j.year,j.month,j.date,j.hours)),i}}}]),angular.module("ui.bootstrap.position",[]).factory("$position",["$document","$window",function(a,b){function c(a,c){return a.currentStyle?a.currentStyle[c]:b.getComputedStyle?b.getComputedStyle(a)[c]:a.style[c]}function d(a){return"static"===(c(a,"position")||"static")}var e=function(b){for(var c=a[0],e=b.offsetParent||c;e&&e!==c&&d(e);)e=e.offsetParent;return e||c};return{position:function(b){var c=this.offset(b),d={top:0,left:0},f=e(b[0]);f!=a[0]&&(d=this.offset(angular.element(f)),d.top+=f.clientTop-f.scrollTop,d.left+=f.clientLeft-f.scrollLeft);var g=b[0].getBoundingClientRect();return{width:g.width||b.prop("offsetWidth"),height:g.height||b.prop("offsetHeight"),top:c.top-d.top,left:c.left-d.left}},offset:function(c){var d=c[0].getBoundingClientRect();return{width:d.width||c.prop("offsetWidth"),height:d.height||c.prop("offsetHeight"),top:d.top+(b.pageYOffset||a[0].documentElement.scrollTop),left:d.left+(b.pageXOffset||a[0].documentElement.scrollLeft)}},positionElements:function(a,b,c,d){var e,f,g,h,i=c.split("-"),j=i[0],k=i[1]||"center";e=d?this.offset(a):this.position(a),f=b.prop("offsetWidth"),g=b.prop("offsetHeight");var l={center:function(){return e.left+e.width/2-f/2},left:function(){return e.left},right:function(){return e.left+e.width}},m={center:function(){return e.top+e.height/2-g/2},top:function(){return e.top},bottom:function(){return e.top+e.height}};switch(j){case"right":h={top:m[k](),left:l[j]()};break;case"left":h={top:m[k](),left:e.left-f};break;case"bottom":h={top:m[j](),left:l[k]()};break;default:h={top:e.top-g,left:l[k]()}}return h}}}]),angular.module("ui.bootstrap.datepicker",["ui.bootstrap.dateparser","ui.bootstrap.position"]).constant("datepickerConfig",{formatDay:"dd",formatMonth:"MMMM",formatYear:"yyyy",formatDayHeader:"EEE",formatDayTitle:"MMMM yyyy",formatMonthTitle:"yyyy",datepickerMode:"day",minMode:"day",maxMode:"year",showWeeks:!0,startingDay:0,yearRange:20,minDate:null,maxDate:null}).controller("DatepickerController",["$scope","$attrs","$parse","$interpolate","$timeout","$log","dateFilter","datepickerConfig",function(a,b,c,d,e,f,g,h){var i=this,j={$setViewValue:angular.noop};this.modes=["day","month","year"],angular.forEach(["formatDay","formatMonth","formatYear","formatDayHeader","formatDayTitle","formatMonthTitle","minMode","maxMode","showWeeks","startingDay","yearRange"],function(c,e){i[c]=angular.isDefined(b[c])?8>e?d(b[c])(a.$parent):a.$parent.$eval(b[c]):h[c]}),angular.forEach(["minDate","maxDate"],function(d){b[d]?a.$parent.$watch(c(b[d]),function(a){i[d]=a?new Date(a):null,i.refreshView()}):i[d]=h[d]?new Date(h[d]):null}),a.datepickerMode=a.datepickerMode||h.datepickerMode,a.uniqueId="datepicker-"+a.$id+"-"+Math.floor(1e4*Math.random()),this.activeDate=angular.isDefined(b.initDate)?a.$parent.$eval(b.initDate):new Date,a.isActive=function(b){return 0===i.compare(b.date,i.activeDate)?(a.activeDateId=b.uid,!0):!1},this.init=function(a){j=a,j.$render=function(){i.render()}},this.render=function(){if(j.$modelValue){var a=new Date(j.$modelValue),b=!isNaN(a);b?this.activeDate=a:f.error('Datepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.'),j.$setValidity("date",b)}this.refreshView()},this.refreshView=function(){if(this.element){this._refreshView();var a=j.$modelValue?new Date(j.$modelValue):null;j.$setValidity("date-disabled",!a||this.element&&!this.isDisabled(a))}},this.createDateObject=function(a,b){var c=j.$modelValue?new Date(j.$modelValue):null;return{date:a,label:g(a,b),selected:c&&0===this.compare(a,c),disabled:this.isDisabled(a),current:0===this.compare(a,new Date)}},this.isDisabled=function(c){return this.minDate&&this.compare(c,this.minDate)<0||this.maxDate&&this.compare(c,this.maxDate)>0||b.dateDisabled&&a.dateDisabled({date:c,mode:a.datepickerMode})},this.split=function(a,b){for(var c=[];a.length>0;)c.push(a.splice(0,b));return c},a.select=function(b){if(a.datepickerMode===i.minMode){var c=j.$modelValue?new Date(j.$modelValue):new Date(0,0,0,0,0,0,0);c.setFullYear(b.getFullYear(),b.getMonth(),b.getDate()),j.$setViewValue(c),j.$render()}else i.activeDate=b,a.datepickerMode=i.modes[i.modes.indexOf(a.datepickerMode)-1]},a.move=function(a){var b=i.activeDate.getFullYear()+a*(i.step.years||0),c=i.activeDate.getMonth()+a*(i.step.months||0);i.activeDate.setFullYear(b,c,1),i.refreshView()},a.toggleMode=function(b){b=b||1,a.datepickerMode===i.maxMode&&1===b||a.datepickerMode===i.minMode&&-1===b||(a.datepickerMode=i.modes[i.modes.indexOf(a.datepickerMode)+b])},a.keys={13:"enter",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down"};var k=function(){e(function(){i.element[0].focus()},0,!1)};a.$on("datepicker.focus",k),a.keydown=function(b){var c=a.keys[b.which];if(c&&!b.shiftKey&&!b.altKey)if(b.preventDefault(),b.stopPropagation(),"enter"===c||"space"===c){if(i.isDisabled(i.activeDate))return;a.select(i.activeDate),k()}else!b.ctrlKey||"up"!==c&&"down"!==c?(i.handleKeyDown(c,b),i.refreshView()):(a.toggleMode("up"===c?1:-1),k())}}]).directive("datepicker",function(){return{restrict:"EA",replace:!0,templateUrl:"template/datepicker/datepicker.html",scope:{datepickerMode:"=?",dateDisabled:"&"},require:["datepicker","?^ngModel"],controller:"DatepickerController",link:function(a,b,c,d){var e=d[0],f=d[1];f&&e.init(f)}}}).directive("daypicker",["dateFilter",function(a){return{restrict:"EA",replace:!0,templateUrl:"template/datepicker/day.html",require:"^datepicker",link:function(b,c,d,e){function f(a,b){return 1!==b||a%4!==0||a%100===0&&a%400!==0?i[b]:29}function g(a,b){var c=new Array(b),d=new Date(a),e=0;for(d.setHours(12);b>e;)c[e++]=new Date(d),d.setDate(d.getDate()+1);return c}function h(a){var b=new Date(a);b.setDate(b.getDate()+4-(b.getDay()||7));var c=b.getTime();return b.setMonth(0),b.setDate(1),Math.floor(Math.round((c-b)/864e5)/7)+1}b.showWeeks=e.showWeeks,e.step={months:1},e.element=c;var i=[31,28,31,30,31,30,31,31,30,31,30,31];e._refreshView=function(){var c=e.activeDate.getFullYear(),d=e.activeDate.getMonth(),f=new Date(c,d,1),i=e.startingDay-f.getDay(),j=i>0?7-i:-i,k=new Date(f);j>0&&k.setDate(-j+1);for(var l=g(k,42),m=0;42>m;m++)l[m]=angular.extend(e.createDateObject(l[m],e.formatDay),{secondary:l[m].getMonth()!==d,uid:b.uniqueId+"-"+m});b.labels=new Array(7);for(var n=0;7>n;n++)b.labels[n]={abbr:a(l[n].date,e.formatDayHeader),full:a(l[n].date,"EEEE")};if(b.title=a(e.activeDate,e.formatDayTitle),b.rows=e.split(l,7),b.showWeeks){b.weekNumbers=[];for(var o=h(b.rows[0][0].date),p=b.rows.length;b.weekNumbers.push(o++)f;f++)c[f]=angular.extend(e.createDateObject(new Date(d,f,1),e.formatMonth),{uid:b.uniqueId+"-"+f});b.title=a(e.activeDate,e.formatMonthTitle),b.rows=e.split(c,3)},e.compare=function(a,b){return new Date(a.getFullYear(),a.getMonth())-new Date(b.getFullYear(),b.getMonth())},e.handleKeyDown=function(a){var b=e.activeDate.getMonth();if("left"===a)b-=1;else if("up"===a)b-=3;else if("right"===a)b+=1;else if("down"===a)b+=3;else if("pageup"===a||"pagedown"===a){var c=e.activeDate.getFullYear()+("pageup"===a?-1:1);e.activeDate.setFullYear(c)}else"home"===a?b=0:"end"===a&&(b=11);e.activeDate.setMonth(b)},e.refreshView()}}}]).directive("yearpicker",["dateFilter",function(){return{restrict:"EA",replace:!0,templateUrl:"template/datepicker/year.html",require:"^datepicker",link:function(a,b,c,d){function e(a){return parseInt((a-1)/f,10)*f+1}var f=d.yearRange;d.step={years:f},d.element=b,d._refreshView=function(){for(var b=new Array(f),c=0,g=e(d.activeDate.getFullYear());f>c;c++)b[c]=angular.extend(d.createDateObject(new Date(g+c,0,1),d.formatYear),{uid:a.uniqueId+"-"+c});a.title=[b[0].label,b[f-1].label].join(" - "),a.rows=d.split(b,5)},d.compare=function(a,b){return a.getFullYear()-b.getFullYear()},d.handleKeyDown=function(a){var b=d.activeDate.getFullYear();"left"===a?b-=1:"up"===a?b-=5:"right"===a?b+=1:"down"===a?b+=5:"pageup"===a||"pagedown"===a?b+=("pageup"===a?-1:1)*d.step.years:"home"===a?b=e(d.activeDate.getFullYear()):"end"===a&&(b=e(d.activeDate.getFullYear())+f-1),d.activeDate.setFullYear(b)},d.refreshView()}}}]).constant("datepickerPopupConfig",{datepickerPopup:"yyyy-MM-dd",currentText:"Today",clearText:"Clear",closeText:"Done",closeOnDateSelection:!0,appendToBody:!1,showButtonBar:!0}).directive("datepickerPopup",["$compile","$parse","$document","$position","dateFilter","dateParser","datepickerPopupConfig",function(a,b,c,d,e,f,g){return{restrict:"EA",require:"ngModel",scope:{isOpen:"=?",currentText:"@",clearText:"@",closeText:"@",dateDisabled:"&"},link:function(h,i,j,k){function l(a){return a.replace(/([A-Z])/g,function(a){return"-"+a.toLowerCase()})}function m(a){if(a){if(angular.isDate(a)&&!isNaN(a))return k.$setValidity("date",!0),a;if(angular.isString(a)){var b=f.parse(a,n)||new Date(a);return isNaN(b)?void k.$setValidity("date",!1):(k.$setValidity("date",!0),b)}return void k.$setValidity("date",!1)}return k.$setValidity("date",!0),null}var n,o=angular.isDefined(j.closeOnDateSelection)?h.$parent.$eval(j.closeOnDateSelection):g.closeOnDateSelection,p=angular.isDefined(j.datepickerAppendToBody)?h.$parent.$eval(j.datepickerAppendToBody):g.appendToBody;h.showButtonBar=angular.isDefined(j.showButtonBar)?h.$parent.$eval(j.showButtonBar):g.showButtonBar,h.getText=function(a){return h[a+"Text"]||g[a+"Text"]},j.$observe("datepickerPopup",function(a){n=a||g.datepickerPopup,k.$render()});var q=angular.element("
");q.attr({"ng-model":"date","ng-change":"dateSelection()"});var r=angular.element(q.children()[0]);j.datepickerOptions&&angular.forEach(h.$parent.$eval(j.datepickerOptions),function(a,b){r.attr(l(b),a)}),angular.forEach(["minDate","maxDate"],function(a){j[a]&&(h.$parent.$watch(b(j[a]),function(b){h[a]=b}),r.attr(l(a),a))}),j.dateDisabled&&r.attr("date-disabled","dateDisabled({ date: date, mode: mode })"),k.$parsers.unshift(m),h.dateSelection=function(a){angular.isDefined(a)&&(h.date=a),k.$setViewValue(h.date),k.$render(),o&&(h.isOpen=!1,i[0].focus())},i.bind("input change keyup",function(){h.$apply(function(){h.date=k.$modelValue})}),k.$render=function(){var a=k.$viewValue?e(k.$viewValue,n):"";i.val(a),h.date=m(k.$modelValue)};var s=function(a){h.isOpen&&a.target!==i[0]&&h.$apply(function(){h.isOpen=!1}) +},t=function(a){h.keydown(a)};i.bind("keydown",t),h.keydown=function(a){27===a.which?(a.preventDefault(),a.stopPropagation(),h.close()):40!==a.which||h.isOpen||(h.isOpen=!0)},h.$watch("isOpen",function(a){a?(h.$broadcast("datepicker.focus"),h.position=p?d.offset(i):d.position(i),h.position.top=h.position.top+i.prop("offsetHeight"),c.bind("click",s)):c.unbind("click",s)}),h.select=function(a){if("today"===a){var b=new Date;angular.isDate(k.$modelValue)?(a=new Date(k.$modelValue),a.setFullYear(b.getFullYear(),b.getMonth(),b.getDate())):a=new Date(b.setHours(0,0,0,0))}h.dateSelection(a)},h.close=function(){h.isOpen=!1,i[0].focus()};var u=a(q)(h);p?c.find("body").append(u):i.after(u),h.$on("$destroy",function(){u.remove(),i.unbind("keydown",t),c.unbind("click",s)})}}}]).directive("datepickerPopupWrap",function(){return{restrict:"EA",replace:!0,transclude:!0,templateUrl:"template/datepicker/popup.html",link:function(a,b){b.bind("click",function(a){a.preventDefault(),a.stopPropagation()})}}}),angular.module("ui.bootstrap.dropdown",[]).constant("dropdownConfig",{openClass:"open"}).service("dropdownService",["$document",function(a){var b=null;this.open=function(e){b||(a.bind("click",c),a.bind("keydown",d)),b&&b!==e&&(b.isOpen=!1),b=e},this.close=function(e){b===e&&(b=null,a.unbind("click",c),a.unbind("keydown",d))};var c=function(a){a&&a.isDefaultPrevented()||b.$apply(function(){b.isOpen=!1})},d=function(a){27===a.which&&(b.focusToggleElement(),c())}}]).controller("DropdownController",["$scope","$attrs","$parse","dropdownConfig","dropdownService","$animate",function(a,b,c,d,e,f){var g,h=this,i=a.$new(),j=d.openClass,k=angular.noop,l=b.onToggle?c(b.onToggle):angular.noop;this.init=function(d){h.$element=d,b.isOpen&&(g=c(b.isOpen),k=g.assign,a.$watch(g,function(a){i.isOpen=!!a}))},this.toggle=function(a){return i.isOpen=arguments.length?!!a:!i.isOpen},this.isOpen=function(){return i.isOpen},i.focusToggleElement=function(){h.toggleElement&&h.toggleElement[0].focus()},i.$watch("isOpen",function(b,c){f[b?"addClass":"removeClass"](h.$element,j),b?(i.focusToggleElement(),e.open(i)):e.close(i),k(a,b),angular.isDefined(b)&&b!==c&&l(a,{open:!!b})}),a.$on("$locationChangeSuccess",function(){i.isOpen=!1}),a.$on("$destroy",function(){i.$destroy()})}]).directive("dropdown",function(){return{restrict:"CA",controller:"DropdownController",link:function(a,b,c,d){d.init(b)}}}).directive("dropdownToggle",function(){return{restrict:"CA",require:"?^dropdown",link:function(a,b,c,d){if(d){d.toggleElement=b;var e=function(e){e.preventDefault(),b.hasClass("disabled")||c.disabled||a.$apply(function(){d.toggle()})};b.bind("click",e),b.attr({"aria-haspopup":!0,"aria-expanded":!1}),a.$watch(d.isOpen,function(a){b.attr("aria-expanded",!!a)}),a.$on("$destroy",function(){b.unbind("click",e)})}}}}),angular.module("ui.bootstrap.modal",["ui.bootstrap.transition"]).factory("$$stackedMap",function(){return{createNew:function(){var a=[];return{add:function(b,c){a.push({key:b,value:c})},get:function(b){for(var c=0;c0),i()})}function i(){if(k&&-1==g()){var a=l;j(k,l,150,function(){a.$destroy(),a=null}),k=void 0,l=void 0}}function j(c,d,e,f){function g(){g.done||(g.done=!0,c.remove(),f&&f())}d.animate=!1;var h=a.transitionEndEventName;if(h){var i=b(g,e);c.bind(h,function(){b.cancel(i),g(),d.$apply()})}else b(g,0)}var k,l,m="modal-open",n=f.createNew(),o={};return e.$watch(g,function(a){l&&(l.index=a)}),c.bind("keydown",function(a){var b;27===a.which&&(b=n.top(),b&&b.value.keyboard&&(a.preventDefault(),e.$apply(function(){o.dismiss(b.key,"escape key press")})))}),o.open=function(a,b){n.add(a,{deferred:b.deferred,modalScope:b.scope,backdrop:b.backdrop,keyboard:b.keyboard});var f=c.find("body").eq(0),h=g();h>=0&&!k&&(l=e.$new(!0),l.index=h,k=d("
")(l),f.append(k));var i=angular.element("
");i.attr({"template-url":b.windowTemplateUrl,"window-class":b.windowClass,size:b.size,index:n.length()-1,animate:"animate"}).html(b.content);var j=d(i)(b.scope);n.top().value.modalDomEl=j,f.append(j),f.addClass(m)},o.close=function(a,b){var c=n.get(a).value;c&&(c.deferred.resolve(b),h(a))},o.dismiss=function(a,b){var c=n.get(a).value;c&&(c.deferred.reject(b),h(a))},o.dismissAll=function(a){for(var b=this.getTop();b;)this.dismiss(b.key,a),b=this.getTop()},o.getTop=function(){return n.top()},o}]).provider("$modal",function(){var a={options:{backdrop:!0,keyboard:!0},$get:["$injector","$rootScope","$q","$http","$templateCache","$controller","$modalStack",function(b,c,d,e,f,g,h){function i(a){return a.template?d.when(a.template):e.get(a.templateUrl,{cache:f}).then(function(a){return a.data})}function j(a){var c=[];return angular.forEach(a,function(a){(angular.isFunction(a)||angular.isArray(a))&&c.push(d.when(b.invoke(a)))}),c}var k={};return k.open=function(b){var e=d.defer(),f=d.defer(),k={result:e.promise,opened:f.promise,close:function(a){h.close(k,a)},dismiss:function(a){h.dismiss(k,a)}};if(b=angular.extend({},a.options,b),b.resolve=b.resolve||{},!b.template&&!b.templateUrl)throw new Error("One of template or templateUrl options is required.");var l=d.all([i(b)].concat(j(b.resolve)));return l.then(function(a){var d=(b.scope||c).$new();d.$close=k.close,d.$dismiss=k.dismiss;var f,i={},j=1;b.controller&&(i.$scope=d,i.$modalInstance=k,angular.forEach(b.resolve,function(b,c){i[c]=a[j++]}),f=g(b.controller,i)),h.open(k,{scope:d,deferred:e,content:a[0],backdrop:b.backdrop,keyboard:b.keyboard,windowClass:b.windowClass,windowTemplateUrl:b.windowTemplateUrl,size:b.size})},function(a){e.reject(a)}),l.then(function(){f.resolve(!0)},function(){f.reject(!1)}),k},k}]};return a}),angular.module("ui.bootstrap.pagination",[]).controller("PaginationController",["$scope","$attrs","$parse",function(a,b,c){var d=this,e={$setViewValue:angular.noop},f=b.numPages?c(b.numPages).assign:angular.noop;this.init=function(f,g){e=f,this.config=g,e.$render=function(){d.render()},b.itemsPerPage?a.$parent.$watch(c(b.itemsPerPage),function(b){d.itemsPerPage=parseInt(b,10),a.totalPages=d.calculateTotalPages()}):this.itemsPerPage=g.itemsPerPage},this.calculateTotalPages=function(){var b=this.itemsPerPage<1?1:Math.ceil(a.totalItems/this.itemsPerPage);return Math.max(b||0,1)},this.render=function(){a.page=parseInt(e.$viewValue,10)||1},a.selectPage=function(b){a.page!==b&&b>0&&b<=a.totalPages&&(e.$setViewValue(b),e.$render())},a.getText=function(b){return a[b+"Text"]||d.config[b+"Text"]},a.noPrevious=function(){return 1===a.page},a.noNext=function(){return a.page===a.totalPages},a.$watch("totalItems",function(){a.totalPages=d.calculateTotalPages()}),a.$watch("totalPages",function(b){f(a.$parent,b),a.page>b?a.selectPage(b):e.$render()})}]).constant("paginationConfig",{itemsPerPage:10,boundaryLinks:!1,directionLinks:!0,firstText:"First",previousText:"Previous",nextText:"Next",lastText:"Last",rotate:!0}).directive("pagination",["$parse","paginationConfig",function(a,b){return{restrict:"EA",scope:{totalItems:"=",firstText:"@",previousText:"@",nextText:"@",lastText:"@"},require:["pagination","?ngModel"],controller:"PaginationController",templateUrl:"template/pagination/pagination.html",replace:!0,link:function(c,d,e,f){function g(a,b,c){return{number:a,text:b,active:c}}function h(a,b){var c=[],d=1,e=b,f=angular.isDefined(k)&&b>k;f&&(l?(d=Math.max(a-Math.floor(k/2),1),e=d+k-1,e>b&&(e=b,d=e-k+1)):(d=(Math.ceil(a/k)-1)*k+1,e=Math.min(d+k-1,b)));for(var h=d;e>=h;h++){var i=g(h,h,h===a);c.push(i)}if(f&&!l){if(d>1){var j=g(d-1,"...",!1);c.unshift(j)}if(b>e){var m=g(e+1,"...",!1);c.push(m)}}return c}var i=f[0],j=f[1];if(j){var k=angular.isDefined(e.maxSize)?c.$parent.$eval(e.maxSize):b.maxSize,l=angular.isDefined(e.rotate)?c.$parent.$eval(e.rotate):b.rotate;c.boundaryLinks=angular.isDefined(e.boundaryLinks)?c.$parent.$eval(e.boundaryLinks):b.boundaryLinks,c.directionLinks=angular.isDefined(e.directionLinks)?c.$parent.$eval(e.directionLinks):b.directionLinks,i.init(j,b),e.maxSize&&c.$parent.$watch(a(e.maxSize),function(a){k=parseInt(a,10),i.render()});var m=i.render;i.render=function(){m(),c.page>0&&c.page<=c.totalPages&&(c.pages=h(c.page,c.totalPages))}}}}}]).constant("pagerConfig",{itemsPerPage:10,previousText:"« Previous",nextText:"Next »",align:!0}).directive("pager",["pagerConfig",function(a){return{restrict:"EA",scope:{totalItems:"=",previousText:"@",nextText:"@"},require:["pager","?ngModel"],controller:"PaginationController",templateUrl:"template/pagination/pager.html",replace:!0,link:function(b,c,d,e){var f=e[0],g=e[1];g&&(b.align=angular.isDefined(d.align)?b.$parent.$eval(d.align):a.align,f.init(g,a))}}}]),angular.module("ui.bootstrap.tooltip",["ui.bootstrap.position","ui.bootstrap.bindHtml"]).provider("$tooltip",function(){function a(a){var b=/[A-Z]/g,c="-";return a.replace(b,function(a,b){return(b?c:"")+a.toLowerCase()})}var b={placement:"top",animation:!0,popupDelay:0},c={mouseenter:"mouseleave",click:"click",focus:"blur"},d={};this.options=function(a){angular.extend(d,a)},this.setTriggers=function(a){angular.extend(c,a)},this.$get=["$window","$compile","$timeout","$parse","$document","$position","$interpolate",function(e,f,g,h,i,j,k){return function(e,l,m){function n(a){var b=a||o.trigger||m,d=c[b]||b;return{show:b,hide:d}}var o=angular.extend({},b,d),p=a(e),q=k.startSymbol(),r=k.endSymbol(),s="
';return{restrict:"EA",scope:!0,compile:function(){var a=f(s);return function(b,c,d){function f(){b.tt_isOpen?m():k()}function k(){(!y||b.$eval(d[l+"Enable"]))&&(b.tt_popupDelay?v||(v=g(p,b.tt_popupDelay,!1),v.then(function(a){a()})):p()())}function m(){b.$apply(function(){q()})}function p(){return v=null,u&&(g.cancel(u),u=null),b.tt_content?(r(),t.css({top:0,left:0,display:"block"}),w?i.find("body").append(t):c.after(t),z(),b.tt_isOpen=!0,b.$digest(),z):angular.noop}function q(){b.tt_isOpen=!1,g.cancel(v),v=null,b.tt_animation?u||(u=g(s,500)):s()}function r(){t&&s(),t=a(b,function(){}),b.$digest()}function s(){u=null,t&&(t.remove(),t=null)}var t,u,v,w=angular.isDefined(o.appendToBody)?o.appendToBody:!1,x=n(void 0),y=angular.isDefined(d[l+"Enable"]),z=function(){var a=j.positionElements(c,t,b.tt_placement,w);a.top+="px",a.left+="px",t.css(a)};b.tt_isOpen=!1,d.$observe(e,function(a){b.tt_content=a,!a&&b.tt_isOpen&&q()}),d.$observe(l+"Title",function(a){b.tt_title=a}),d.$observe(l+"Placement",function(a){b.tt_placement=angular.isDefined(a)?a:o.placement}),d.$observe(l+"PopupDelay",function(a){var c=parseInt(a,10);b.tt_popupDelay=isNaN(c)?o.popupDelay:c});var A=function(){c.unbind(x.show,k),c.unbind(x.hide,m)};d.$observe(l+"Trigger",function(a){A(),x=n(a),x.show===x.hide?c.bind(x.show,f):(c.bind(x.show,k),c.bind(x.hide,m))});var B=b.$eval(d[l+"Animation"]);b.tt_animation=angular.isDefined(B)?!!B:o.animation,d.$observe(l+"AppendToBody",function(a){w=angular.isDefined(a)?h(a)(b):w}),w&&b.$on("$locationChangeSuccess",function(){b.tt_isOpen&&q()}),b.$on("$destroy",function(){g.cancel(u),g.cancel(v),A(),s()})}}}}}]}).directive("tooltipPopup",function(){return{restrict:"EA",replace:!0,scope:{content:"@",placement:"@",animation:"&",isOpen:"&"},templateUrl:"template/tooltip/tooltip-popup.html"}}).directive("tooltip",["$tooltip",function(a){return a("tooltip","tooltip","mouseenter")}]).directive("tooltipHtmlUnsafePopup",function(){return{restrict:"EA",replace:!0,scope:{content:"@",placement:"@",animation:"&",isOpen:"&"},templateUrl:"template/tooltip/tooltip-html-unsafe-popup.html"}}).directive("tooltipHtmlUnsafe",["$tooltip",function(a){return a("tooltipHtmlUnsafe","tooltip","mouseenter")}]),angular.module("ui.bootstrap.popover",["ui.bootstrap.tooltip"]).directive("popoverPopup",function(){return{restrict:"EA",replace:!0,scope:{title:"@",content:"@",placement:"@",animation:"&",isOpen:"&"},templateUrl:"template/popover/popover.html"}}).directive("popover",["$tooltip",function(a){return a("popover","popover","click")}]),angular.module("ui.bootstrap.progressbar",[]).constant("progressConfig",{animate:!0,max:100}).controller("ProgressController",["$scope","$attrs","progressConfig",function(a,b,c){var d=this,e=angular.isDefined(b.animate)?a.$parent.$eval(b.animate):c.animate;this.bars=[],a.max=angular.isDefined(b.max)?a.$parent.$eval(b.max):c.max,this.addBar=function(b,c){e||c.css({transition:"none"}),this.bars.push(b),b.$watch("value",function(c){b.percent=+(100*c/a.max).toFixed(2)}),b.$on("$destroy",function(){c=null,d.removeBar(b)})},this.removeBar=function(a){this.bars.splice(this.bars.indexOf(a),1)}}]).directive("progress",function(){return{restrict:"EA",replace:!0,transclude:!0,controller:"ProgressController",require:"progress",scope:{},templateUrl:"template/progressbar/progress.html"}}).directive("bar",function(){return{restrict:"EA",replace:!0,transclude:!0,require:"^progress",scope:{value:"=",type:"@"},templateUrl:"template/progressbar/bar.html",link:function(a,b,c,d){d.addBar(a,b)}}}).directive("progressbar",function(){return{restrict:"EA",replace:!0,transclude:!0,controller:"ProgressController",scope:{value:"=",type:"@"},templateUrl:"template/progressbar/progressbar.html",link:function(a,b,c,d){d.addBar(a,angular.element(b.children()[0]))}}}),angular.module("ui.bootstrap.rating",[]).constant("ratingConfig",{max:5,stateOn:null,stateOff:null}).controller("RatingController",["$scope","$attrs","ratingConfig",function(a,b,c){var d={$setViewValue:angular.noop};this.init=function(e){d=e,d.$render=this.render,this.stateOn=angular.isDefined(b.stateOn)?a.$parent.$eval(b.stateOn):c.stateOn,this.stateOff=angular.isDefined(b.stateOff)?a.$parent.$eval(b.stateOff):c.stateOff;var f=angular.isDefined(b.ratingStates)?a.$parent.$eval(b.ratingStates):new Array(angular.isDefined(b.max)?a.$parent.$eval(b.max):c.max);a.range=this.buildTemplateObjects(f)},this.buildTemplateObjects=function(a){for(var b=0,c=a.length;c>b;b++)a[b]=angular.extend({index:b},{stateOn:this.stateOn,stateOff:this.stateOff},a[b]);return a},a.rate=function(b){!a.readonly&&b>=0&&b<=a.range.length&&(d.$setViewValue(b),d.$render())},a.enter=function(b){a.readonly||(a.value=b),a.onHover({value:b})},a.reset=function(){a.value=d.$viewValue,a.onLeave()},a.onKeydown=function(b){/(37|38|39|40)/.test(b.which)&&(b.preventDefault(),b.stopPropagation(),a.rate(a.value+(38===b.which||39===b.which?1:-1)))},this.render=function(){a.value=d.$viewValue}}]).directive("rating",function(){return{restrict:"EA",require:["rating","ngModel"],scope:{readonly:"=?",onHover:"&",onLeave:"&"},controller:"RatingController",templateUrl:"template/rating/rating.html",replace:!0,link:function(a,b,c,d){var e=d[0],f=d[1];f&&e.init(f)}}}),angular.module("ui.bootstrap.tabs",[]).controller("TabsetController",["$scope",function(a){var b=this,c=b.tabs=a.tabs=[];b.select=function(a){angular.forEach(c,function(b){b.active&&b!==a&&(b.active=!1,b.onDeselect())}),a.active=!0,a.onSelect()},b.addTab=function(a){c.push(a),1===c.length?a.active=!0:a.active&&b.select(a)},b.removeTab=function(a){var d=c.indexOf(a);if(a.active&&c.length>1){var e=d==c.length-1?d-1:d+1;b.select(c[e])}c.splice(d,1)}}]).directive("tabset",function(){return{restrict:"EA",transclude:!0,replace:!0,scope:{type:"@"},controller:"TabsetController",templateUrl:"template/tabs/tabset.html",link:function(a,b,c){a.vertical=angular.isDefined(c.vertical)?a.$parent.$eval(c.vertical):!1,a.justified=angular.isDefined(c.justified)?a.$parent.$eval(c.justified):!1}}}).directive("tab",["$parse",function(a){return{require:"^tabset",restrict:"EA",replace:!0,templateUrl:"template/tabs/tab.html",transclude:!0,scope:{active:"=?",heading:"@",onSelect:"&select",onDeselect:"&deselect"},controller:function(){},compile:function(b,c,d){return function(b,c,e,f){b.$watch("active",function(a){a&&f.select(b)}),b.disabled=!1,e.disabled&&b.$parent.$watch(a(e.disabled),function(a){b.disabled=!!a}),b.select=function(){b.disabled||(b.active=!0)},f.addTab(b),b.$on("$destroy",function(){f.removeTab(b)}),b.$transcludeFn=d}}}}]).directive("tabHeadingTransclude",[function(){return{restrict:"A",require:"^tab",link:function(a,b){a.$watch("headingElement",function(a){a&&(b.html(""),b.append(a))})}}}]).directive("tabContentTransclude",function(){function a(a){return a.tagName&&(a.hasAttribute("tab-heading")||a.hasAttribute("data-tab-heading")||"tab-heading"===a.tagName.toLowerCase()||"data-tab-heading"===a.tagName.toLowerCase())}return{restrict:"A",require:"^tabset",link:function(b,c,d){var e=b.$eval(d.tabContentTransclude);e.$transcludeFn(e.$parent,function(b){angular.forEach(b,function(b){a(b)?e.headingElement=b:c.append(b)})})}}}),angular.module("ui.bootstrap.timepicker",[]).constant("timepickerConfig",{hourStep:1,minuteStep:1,showMeridian:!0,meridians:null,readonlyInput:!1,mousewheel:!0}).controller("TimepickerController",["$scope","$attrs","$parse","$log","$locale","timepickerConfig",function(a,b,c,d,e,f){function g(){var b=parseInt(a.hours,10),c=a.showMeridian?b>0&&13>b:b>=0&&24>b;return c?(a.showMeridian&&(12===b&&(b=0),a.meridian===p[1]&&(b+=12)),b):void 0}function h(){var b=parseInt(a.minutes,10);return b>=0&&60>b?b:void 0}function i(a){return angular.isDefined(a)&&a.toString().length<2?"0"+a:a}function j(a){k(),o.$setViewValue(new Date(n)),l(a)}function k(){o.$setValidity("time",!0),a.invalidHours=!1,a.invalidMinutes=!1}function l(b){var c=n.getHours(),d=n.getMinutes();a.showMeridian&&(c=0===c||12===c?12:c%12),a.hours="h"===b?c:i(c),a.minutes="m"===b?d:i(d),a.meridian=n.getHours()<12?p[0]:p[1]}function m(a){var b=new Date(n.getTime()+6e4*a);n.setHours(b.getHours(),b.getMinutes()),j()}var n=new Date,o={$setViewValue:angular.noop},p=angular.isDefined(b.meridians)?a.$parent.$eval(b.meridians):f.meridians||e.DATETIME_FORMATS.AMPMS;this.init=function(c,d){o=c,o.$render=this.render;var e=d.eq(0),g=d.eq(1),h=angular.isDefined(b.mousewheel)?a.$parent.$eval(b.mousewheel):f.mousewheel;h&&this.setupMousewheelEvents(e,g),a.readonlyInput=angular.isDefined(b.readonlyInput)?a.$parent.$eval(b.readonlyInput):f.readonlyInput,this.setupInputEvents(e,g)};var q=f.hourStep;b.hourStep&&a.$parent.$watch(c(b.hourStep),function(a){q=parseInt(a,10)});var r=f.minuteStep;b.minuteStep&&a.$parent.$watch(c(b.minuteStep),function(a){r=parseInt(a,10)}),a.showMeridian=f.showMeridian,b.showMeridian&&a.$parent.$watch(c(b.showMeridian),function(b){if(a.showMeridian=!!b,o.$error.time){var c=g(),d=h();angular.isDefined(c)&&angular.isDefined(d)&&(n.setHours(c),j())}else l()}),this.setupMousewheelEvents=function(b,c){var d=function(a){a.originalEvent&&(a=a.originalEvent);var b=a.wheelDelta?a.wheelDelta:-a.deltaY;return a.detail||b>0};b.bind("mousewheel wheel",function(b){a.$apply(d(b)?a.incrementHours():a.decrementHours()),b.preventDefault()}),c.bind("mousewheel wheel",function(b){a.$apply(d(b)?a.incrementMinutes():a.decrementMinutes()),b.preventDefault()})},this.setupInputEvents=function(b,c){if(a.readonlyInput)return a.updateHours=angular.noop,void(a.updateMinutes=angular.noop);var d=function(b,c){o.$setViewValue(null),o.$setValidity("time",!1),angular.isDefined(b)&&(a.invalidHours=b),angular.isDefined(c)&&(a.invalidMinutes=c)};a.updateHours=function(){var a=g();angular.isDefined(a)?(n.setHours(a),j("h")):d(!0)},b.bind("blur",function(){!a.invalidHours&&a.hours<10&&a.$apply(function(){a.hours=i(a.hours)})}),a.updateMinutes=function(){var a=h();angular.isDefined(a)?(n.setMinutes(a),j("m")):d(void 0,!0)},c.bind("blur",function(){!a.invalidMinutes&&a.minutes<10&&a.$apply(function(){a.minutes=i(a.minutes)})})},this.render=function(){var a=o.$modelValue?new Date(o.$modelValue):null;isNaN(a)?(o.$setValidity("time",!1),d.error('Timepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.')):(a&&(n=a),k(),l())},a.incrementHours=function(){m(60*q)},a.decrementHours=function(){m(60*-q)},a.incrementMinutes=function(){m(r)},a.decrementMinutes=function(){m(-r)},a.toggleMeridian=function(){m(720*(n.getHours()<12?1:-1))}}]).directive("timepicker",function(){return{restrict:"EA",require:["timepicker","?^ngModel"],controller:"TimepickerController",replace:!0,scope:{},templateUrl:"template/timepicker/timepicker.html",link:function(a,b,c,d){var e=d[0],f=d[1];f&&e.init(f,b.find("input"))}}}),angular.module("ui.bootstrap.typeahead",["ui.bootstrap.position","ui.bootstrap.bindHtml"]).factory("typeaheadParser",["$parse",function(a){var b=/^\s*(.*?)(?:\s+as\s+(.*?))?\s+for\s+(?:([\$\w][\$\w\d]*))\s+in\s+(.*)$/;return{parse:function(c){var d=c.match(b);if(!d)throw new Error('Expected typeahead specification in form of "_modelValue_ (as _label_)? for _item_ in _collection_" but got "'+c+'".');return{itemName:d[3],source:a(d[4]),viewMapper:a(d[2]||d[1]),modelMapper:a(d[1])}}}}]).directive("typeahead",["$compile","$parse","$q","$timeout","$document","$position","typeaheadParser",function(a,b,c,d,e,f,g){var h=[9,13,27,38,40];return{require:"ngModel",link:function(i,j,k,l){var m,n=i.$eval(k.typeaheadMinLength)||1,o=i.$eval(k.typeaheadWaitMs)||0,p=i.$eval(k.typeaheadEditable)!==!1,q=b(k.typeaheadLoading).assign||angular.noop,r=b(k.typeaheadOnSelect),s=k.typeaheadInputFormatter?b(k.typeaheadInputFormatter):void 0,t=k.typeaheadAppendToBody?i.$eval(k.typeaheadAppendToBody):!1,u=b(k.ngModel).assign,v=g.parse(k.typeahead),w=i.$new();i.$on("$destroy",function(){w.$destroy()});var x="typeahead-"+w.$id+"-"+Math.floor(1e4*Math.random());j.attr({"aria-autocomplete":"list","aria-expanded":!1,"aria-owns":x});var y=angular.element("
");y.attr({id:x,matches:"matches",active:"activeIdx",select:"select(activeIdx)",query:"query",position:"position"}),angular.isDefined(k.typeaheadTemplateUrl)&&y.attr("template-url",k.typeaheadTemplateUrl);var z=function(){w.matches=[],w.activeIdx=-1,j.attr("aria-expanded",!1)},A=function(a){return x+"-option-"+a};w.$watch("activeIdx",function(a){0>a?j.removeAttr("aria-activedescendant"):j.attr("aria-activedescendant",A(a))});var B=function(a){var b={$viewValue:a};q(i,!0),c.when(v.source(i,b)).then(function(c){var d=a===l.$viewValue;if(d&&m)if(c.length>0){w.activeIdx=0,w.matches.length=0;for(var e=0;e=n?o>0?(C&&d.cancel(C),C=d(function(){B(a)},o)):B(a):(q(i,!1),z()),p?a:a?void l.$setValidity("editable",!1):(l.$setValidity("editable",!0),a)}),l.$formatters.push(function(a){var b,c,d={};return s?(d.$model=a,s(i,d)):(d[v.itemName]=a,b=v.viewMapper(i,d),d[v.itemName]=void 0,c=v.viewMapper(i,d),b!==c?b:a)}),w.select=function(a){var b,c,e={};e[v.itemName]=c=w.matches[a].model,b=v.modelMapper(i,e),u(i,b),l.$setValidity("editable",!0),r(i,{$item:c,$model:b,$label:v.viewMapper(i,e)}),z(),d(function(){j[0].focus()},0,!1)},j.bind("keydown",function(a){0!==w.matches.length&&-1!==h.indexOf(a.which)&&(a.preventDefault(),40===a.which?(w.activeIdx=(w.activeIdx+1)%w.matches.length,w.$digest()):38===a.which?(w.activeIdx=(w.activeIdx?w.activeIdx:w.matches.length)-1,w.$digest()):13===a.which||9===a.which?w.$apply(function(){w.select(w.activeIdx)}):27===a.which&&(a.stopPropagation(),z(),w.$digest()))}),j.bind("blur",function(){m=!1});var D=function(a){j[0]!==a.target&&(z(),w.$digest())};e.bind("click",D),i.$on("$destroy",function(){e.unbind("click",D)});var E=a(y)(w);t?e.find("body").append(E):j.after(E)}}}]).directive("typeaheadPopup",function(){return{restrict:"EA",scope:{matches:"=",query:"=",active:"=",position:"=",select:"&"},replace:!0,templateUrl:"template/typeahead/typeahead-popup.html",link:function(a,b,c){a.templateUrl=c.templateUrl,a.isOpen=function(){return a.matches.length>0},a.isActive=function(b){return a.active==b},a.selectActive=function(b){a.active=b},a.selectMatch=function(b){a.select({activeIdx:b})}}}}).directive("typeaheadMatch",["$http","$templateCache","$compile","$parse",function(a,b,c,d){return{restrict:"EA",scope:{index:"=",match:"=",query:"="},link:function(e,f,g){var h=d(g.templateUrl)(e.$parent)||"template/typeahead/typeahead-match.html";a.get(h,{cache:b}).success(function(a){f.replaceWith(c(a.trim())(e))})}}}]).filter("typeaheadHighlight",function(){function a(a){return a.replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}return function(b,c){return c?(""+b).replace(new RegExp(a(c),"gi"),"$&"):b}}),c("angular-bootstrap",["angular"],function(){}),angular.module("ui.bootstrap",["ui.bootstrap.tpls","ui.bootstrap.transition","ui.bootstrap.collapse","ui.bootstrap.accordion","ui.bootstrap.alert","ui.bootstrap.bindHtml","ui.bootstrap.buttons","ui.bootstrap.carousel","ui.bootstrap.dateparser","ui.bootstrap.position","ui.bootstrap.datepicker","ui.bootstrap.dropdown","ui.bootstrap.modal","ui.bootstrap.pagination","ui.bootstrap.tooltip","ui.bootstrap.popover","ui.bootstrap.progressbar","ui.bootstrap.rating","ui.bootstrap.tabs","ui.bootstrap.timepicker","ui.bootstrap.typeahead"]),angular.module("ui.bootstrap.tpls",["template/accordion/accordion-group.html","template/accordion/accordion.html","template/alert/alert.html","template/carousel/carousel.html","template/carousel/slide.html","template/datepicker/datepicker.html","template/datepicker/day.html","template/datepicker/month.html","template/datepicker/popup.html","template/datepicker/year.html","template/modal/backdrop.html","template/modal/window.html","template/pagination/pager.html","template/pagination/pagination.html","template/tooltip/tooltip-html-unsafe-popup.html","template/tooltip/tooltip-popup.html","template/popover/popover.html","template/progressbar/bar.html","template/progressbar/progress.html","template/progressbar/progressbar.html","template/rating/rating.html","template/tabs/tab.html","template/tabs/tabset.html","template/timepicker/timepicker.html","template/typeahead/typeahead-match.html","template/typeahead/typeahead-popup.html"]),angular.module("ui.bootstrap.transition",[]).factory("$transition",["$q","$timeout","$rootScope",function(a,b,c){function d(a){for(var b in a)if(void 0!==f.style[b])return a[b]}var e=function(d,f,g){g=g||{};var h=a.defer(),i=e[g.animation?"animationEndEventName":"transitionEndEventName"],j=function(){c.$apply(function(){d.unbind(i,j),h.resolve(d)})};return i&&d.bind(i,j),b(function(){angular.isString(f)?d.addClass(f):angular.isFunction(f)?f(d):angular.isObject(f)&&d.css(f),i||h.resolve(d)}),h.promise.cancel=function(){i&&d.unbind(i,j),h.reject("Transition cancelled")},h.promise},f=document.createElement("trans"),g={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd",transition:"transitionend"},h={WebkitTransition:"webkitAnimationEnd",MozTransition:"animationend",OTransition:"oAnimationEnd",transition:"animationend"};return e.transitionEndEventName=d(g),e.animationEndEventName=d(h),e}]),angular.module("ui.bootstrap.collapse",["ui.bootstrap.transition"]).directive("collapse",["$transition",function(a){return{link:function(b,c,d){function e(b){function d(){j===e&&(j=void 0)}var e=a(c,b);return j&&j.cancel(),j=e,e.then(d,d),e}function f(){k?(k=!1,g()):(c.removeClass("collapse").addClass("collapsing"),e({height:c[0].scrollHeight+"px"}).then(g))}function g(){c.removeClass("collapsing"),c.addClass("collapse in"),c.css({height:"auto"})}function h(){k?(k=!1,i(),c.css({height:0})):(c.css({height:c[0].scrollHeight+"px"}),c[0].offsetWidth,c.removeClass("collapse in").addClass("collapsing"),e({height:0}).then(i))}function i(){c.removeClass("collapsing"),c.addClass("collapse")}var j,k=!0;b.$watch(d.collapse,function(a){a?h():f()})}}}]),angular.module("ui.bootstrap.accordion",["ui.bootstrap.collapse"]).constant("accordionConfig",{closeOthers:!0}).controller("AccordionController",["$scope","$attrs","accordionConfig",function(a,b,c){this.groups=[],this.closeOthers=function(d){var e=angular.isDefined(b.closeOthers)?a.$eval(b.closeOthers):c.closeOthers;e&&angular.forEach(this.groups,function(a){a!==d&&(a.isOpen=!1)})},this.addGroup=function(a){var b=this;this.groups.push(a),a.$on("$destroy",function(){b.removeGroup(a)})},this.removeGroup=function(a){var b=this.groups.indexOf(a);-1!==b&&this.groups.splice(b,1)}}]).directive("accordion",function(){return{restrict:"EA",controller:"AccordionController",transclude:!0,replace:!1,templateUrl:"template/accordion/accordion.html"}}).directive("accordionGroup",function(){return{require:"^accordion",restrict:"EA",transclude:!0,replace:!0,templateUrl:"template/accordion/accordion-group.html",scope:{heading:"@",isOpen:"=?",isDisabled:"=?"},controller:function(){this.setHeading=function(a){this.heading=a}},link:function(a,b,c,d){d.addGroup(a),a.$watch("isOpen",function(b){b&&d.closeOthers(a)}),a.toggleOpen=function(){a.isDisabled||(a.isOpen=!a.isOpen)}}}}).directive("accordionHeading",function(){return{restrict:"EA",transclude:!0,template:"",replace:!0,require:"^accordionGroup",link:function(a,b,c,d,e){d.setHeading(e(a,function(){}))}}}).directive("accordionTransclude",function(){return{require:"^accordionGroup",link:function(a,b,c,d){a.$watch(function(){return d[c.accordionTransclude]},function(a){a&&(b.html(""),b.append(a))})}}}),angular.module("ui.bootstrap.alert",[]).controller("AlertController",["$scope","$attrs",function(a,b){a.closeable="close"in b}]).directive("alert",function(){return{restrict:"EA",controller:"AlertController",templateUrl:"template/alert/alert.html",transclude:!0,replace:!0,scope:{type:"@",close:"&"}}}),angular.module("ui.bootstrap.bindHtml",[]).directive("bindHtmlUnsafe",function(){return function(a,b,c){b.addClass("ng-binding").data("$binding",c.bindHtmlUnsafe),a.$watch(c.bindHtmlUnsafe,function(a){b.html(a||"")})}}),angular.module("ui.bootstrap.buttons",[]).constant("buttonConfig",{activeClass:"active",toggleEvent:"click"}).controller("ButtonsController",["buttonConfig",function(a){this.activeClass=a.activeClass||"active",this.toggleEvent=a.toggleEvent||"click"}]).directive("btnRadio",function(){return{require:["btnRadio","ngModel"],controller:"ButtonsController",link:function(a,b,c,d){var e=d[0],f=d[1];f.$render=function(){b.toggleClass(e.activeClass,angular.equals(f.$modelValue,a.$eval(c.btnRadio)))},b.bind(e.toggleEvent,function(){var d=b.hasClass(e.activeClass);(!d||angular.isDefined(c.uncheckable))&&a.$apply(function(){f.$setViewValue(d?null:a.$eval(c.btnRadio)),f.$render() +})})}}}).directive("btnCheckbox",function(){return{require:["btnCheckbox","ngModel"],controller:"ButtonsController",link:function(a,b,c,d){function e(){return g(c.btnCheckboxTrue,!0)}function f(){return g(c.btnCheckboxFalse,!1)}function g(b,c){var d=a.$eval(b);return angular.isDefined(d)?d:c}var h=d[0],i=d[1];i.$render=function(){b.toggleClass(h.activeClass,angular.equals(i.$modelValue,e()))},b.bind(h.toggleEvent,function(){a.$apply(function(){i.$setViewValue(b.hasClass(h.activeClass)?f():e()),i.$render()})})}}}),angular.module("ui.bootstrap.carousel",["ui.bootstrap.transition"]).controller("CarouselController",["$scope","$timeout","$transition",function(a,b,c){function d(){e();var c=+a.interval;!isNaN(c)&&c>=0&&(g=b(f,c))}function e(){g&&(b.cancel(g),g=null)}function f(){h?(a.next(),d()):a.pause()}var g,h,i=this,j=i.slides=a.slides=[],k=-1;i.currentSlide=null;var l=!1;i.select=a.select=function(e,f){function g(){l||(i.currentSlide&&angular.isString(f)&&!a.noTransition&&e.$element?(e.$element.addClass(f),e.$element[0].offsetWidth,angular.forEach(j,function(a){angular.extend(a,{direction:"",entering:!1,leaving:!1,active:!1})}),angular.extend(e,{direction:f,active:!0,entering:!0}),angular.extend(i.currentSlide||{},{direction:f,leaving:!0}),a.$currentTransition=c(e.$element,{}),function(b,c){a.$currentTransition.then(function(){h(b,c)},function(){h(b,c)})}(e,i.currentSlide)):h(e,i.currentSlide),i.currentSlide=e,k=m,d())}function h(b,c){angular.extend(b,{direction:"",active:!0,leaving:!1,entering:!1}),angular.extend(c||{},{direction:"",active:!1,leaving:!1,entering:!1}),a.$currentTransition=null}var m=j.indexOf(e);void 0===f&&(f=m>k?"next":"prev"),e&&e!==i.currentSlide&&(a.$currentTransition?(a.$currentTransition.cancel(),b(g)):g())},a.$on("$destroy",function(){l=!0}),i.indexOfSlide=function(a){return j.indexOf(a)},a.next=function(){var b=(k+1)%j.length;return a.$currentTransition?void 0:i.select(j[b],"next")},a.prev=function(){var b=0>k-1?j.length-1:k-1;return a.$currentTransition?void 0:i.select(j[b],"prev")},a.isActive=function(a){return i.currentSlide===a},a.$watch("interval",d),a.$on("$destroy",e),a.play=function(){h||(h=!0,d())},a.pause=function(){a.noPause||(h=!1,e())},i.addSlide=function(b,c){b.$element=c,j.push(b),1===j.length||b.active?(i.select(j[j.length-1]),1==j.length&&a.play()):b.active=!1},i.removeSlide=function(a){var b=j.indexOf(a);j.splice(b,1),j.length>0&&a.active?i.select(b>=j.length?j[b-1]:j[b]):k>b&&k--}}]).directive("carousel",[function(){return{restrict:"EA",transclude:!0,replace:!0,controller:"CarouselController",require:"carousel",templateUrl:"template/carousel/carousel.html",scope:{interval:"=",noTransition:"=",noPause:"="}}}]).directive("slide",function(){return{require:"^carousel",restrict:"EA",transclude:!0,replace:!0,templateUrl:"template/carousel/slide.html",scope:{active:"=?"},link:function(a,b,c,d){d.addSlide(a,b),a.$on("$destroy",function(){d.removeSlide(a)}),a.$watch("active",function(b){b&&d.select(a)})}}}),angular.module("ui.bootstrap.dateparser",[]).service("dateParser",["$locale","orderByFilter",function(a,b){function c(a,b,c){return 1===b&&c>28?29===c&&(a%4===0&&a%100!==0||a%400===0):3===b||5===b||8===b||10===b?31>c:!0}this.parsers={};var d={yyyy:{regex:"\\d{4}",apply:function(a){this.year=+a}},yy:{regex:"\\d{2}",apply:function(a){this.year=+a+2e3}},y:{regex:"\\d{1,4}",apply:function(a){this.year=+a}},MMMM:{regex:a.DATETIME_FORMATS.MONTH.join("|"),apply:function(b){this.month=a.DATETIME_FORMATS.MONTH.indexOf(b)}},MMM:{regex:a.DATETIME_FORMATS.SHORTMONTH.join("|"),apply:function(b){this.month=a.DATETIME_FORMATS.SHORTMONTH.indexOf(b)}},MM:{regex:"0[1-9]|1[0-2]",apply:function(a){this.month=a-1}},M:{regex:"[1-9]|1[0-2]",apply:function(a){this.month=a-1}},dd:{regex:"[0-2][0-9]{1}|3[0-1]{1}",apply:function(a){this.date=+a}},d:{regex:"[1-2]?[0-9]{1}|3[0-1]{1}",apply:function(a){this.date=+a}},EEEE:{regex:a.DATETIME_FORMATS.DAY.join("|")},EEE:{regex:a.DATETIME_FORMATS.SHORTDAY.join("|")}};this.createParser=function(a){var c=[],e=a.split("");return angular.forEach(d,function(b,d){var f=a.indexOf(d);if(f>-1){a=a.split(""),e[f]="("+b.regex+")",a[f]="$";for(var g=f+1,h=f+d.length;h>g;g++)e[g]="",a[g]="$";a=a.join(""),c.push({index:f,apply:b.apply})}}),{regex:new RegExp("^"+e.join("")+"$"),map:b(c,"index")}},this.parse=function(b,d){if(!angular.isString(b))return b;d=a.DATETIME_FORMATS[d]||d,this.parsers[d]||(this.parsers[d]=this.createParser(d));var e=this.parsers[d],f=e.regex,g=e.map,h=b.match(f);if(h&&h.length){for(var i,j={year:1900,month:0,date:1,hours:0},k=1,l=h.length;l>k;k++){var m=g[k-1];m.apply&&m.apply.call(j,h[k])}return c(j.year,j.month,j.date)&&(i=new Date(j.year,j.month,j.date,j.hours)),i}}}]),angular.module("ui.bootstrap.position",[]).factory("$position",["$document","$window",function(a,b){function c(a,c){return a.currentStyle?a.currentStyle[c]:b.getComputedStyle?b.getComputedStyle(a)[c]:a.style[c]}function d(a){return"static"===(c(a,"position")||"static")}var e=function(b){for(var c=a[0],e=b.offsetParent||c;e&&e!==c&&d(e);)e=e.offsetParent;return e||c};return{position:function(b){var c=this.offset(b),d={top:0,left:0},f=e(b[0]);f!=a[0]&&(d=this.offset(angular.element(f)),d.top+=f.clientTop-f.scrollTop,d.left+=f.clientLeft-f.scrollLeft);var g=b[0].getBoundingClientRect();return{width:g.width||b.prop("offsetWidth"),height:g.height||b.prop("offsetHeight"),top:c.top-d.top,left:c.left-d.left}},offset:function(c){var d=c[0].getBoundingClientRect();return{width:d.width||c.prop("offsetWidth"),height:d.height||c.prop("offsetHeight"),top:d.top+(b.pageYOffset||a[0].documentElement.scrollTop),left:d.left+(b.pageXOffset||a[0].documentElement.scrollLeft)}},positionElements:function(a,b,c,d){var e,f,g,h,i=c.split("-"),j=i[0],k=i[1]||"center";e=d?this.offset(a):this.position(a),f=b.prop("offsetWidth"),g=b.prop("offsetHeight");var l={center:function(){return e.left+e.width/2-f/2},left:function(){return e.left},right:function(){return e.left+e.width}},m={center:function(){return e.top+e.height/2-g/2},top:function(){return e.top},bottom:function(){return e.top+e.height}};switch(j){case"right":h={top:m[k](),left:l[j]()};break;case"left":h={top:m[k](),left:e.left-f};break;case"bottom":h={top:m[j](),left:l[k]()};break;default:h={top:e.top-g,left:l[k]()}}return h}}}]),angular.module("ui.bootstrap.datepicker",["ui.bootstrap.dateparser","ui.bootstrap.position"]).constant("datepickerConfig",{formatDay:"dd",formatMonth:"MMMM",formatYear:"yyyy",formatDayHeader:"EEE",formatDayTitle:"MMMM yyyy",formatMonthTitle:"yyyy",datepickerMode:"day",minMode:"day",maxMode:"year",showWeeks:!0,startingDay:0,yearRange:20,minDate:null,maxDate:null}).controller("DatepickerController",["$scope","$attrs","$parse","$interpolate","$timeout","$log","dateFilter","datepickerConfig",function(a,b,c,d,e,f,g,h){var i=this,j={$setViewValue:angular.noop};this.modes=["day","month","year"],angular.forEach(["formatDay","formatMonth","formatYear","formatDayHeader","formatDayTitle","formatMonthTitle","minMode","maxMode","showWeeks","startingDay","yearRange"],function(c,e){i[c]=angular.isDefined(b[c])?8>e?d(b[c])(a.$parent):a.$parent.$eval(b[c]):h[c]}),angular.forEach(["minDate","maxDate"],function(d){b[d]?a.$parent.$watch(c(b[d]),function(a){i[d]=a?new Date(a):null,i.refreshView()}):i[d]=h[d]?new Date(h[d]):null}),a.datepickerMode=a.datepickerMode||h.datepickerMode,a.uniqueId="datepicker-"+a.$id+"-"+Math.floor(1e4*Math.random()),this.activeDate=angular.isDefined(b.initDate)?a.$parent.$eval(b.initDate):new Date,a.isActive=function(b){return 0===i.compare(b.date,i.activeDate)?(a.activeDateId=b.uid,!0):!1},this.init=function(a){j=a,j.$render=function(){i.render()}},this.render=function(){if(j.$modelValue){var a=new Date(j.$modelValue),b=!isNaN(a);b?this.activeDate=a:f.error('Datepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.'),j.$setValidity("date",b)}this.refreshView()},this.refreshView=function(){if(this.element){this._refreshView();var a=j.$modelValue?new Date(j.$modelValue):null;j.$setValidity("date-disabled",!a||this.element&&!this.isDisabled(a))}},this.createDateObject=function(a,b){var c=j.$modelValue?new Date(j.$modelValue):null;return{date:a,label:g(a,b),selected:c&&0===this.compare(a,c),disabled:this.isDisabled(a),current:0===this.compare(a,new Date)}},this.isDisabled=function(c){return this.minDate&&this.compare(c,this.minDate)<0||this.maxDate&&this.compare(c,this.maxDate)>0||b.dateDisabled&&a.dateDisabled({date:c,mode:a.datepickerMode})},this.split=function(a,b){for(var c=[];a.length>0;)c.push(a.splice(0,b));return c},a.select=function(b){if(a.datepickerMode===i.minMode){var c=j.$modelValue?new Date(j.$modelValue):new Date(0,0,0,0,0,0,0);c.setFullYear(b.getFullYear(),b.getMonth(),b.getDate()),j.$setViewValue(c),j.$render()}else i.activeDate=b,a.datepickerMode=i.modes[i.modes.indexOf(a.datepickerMode)-1]},a.move=function(a){var b=i.activeDate.getFullYear()+a*(i.step.years||0),c=i.activeDate.getMonth()+a*(i.step.months||0);i.activeDate.setFullYear(b,c,1),i.refreshView()},a.toggleMode=function(b){b=b||1,a.datepickerMode===i.maxMode&&1===b||a.datepickerMode===i.minMode&&-1===b||(a.datepickerMode=i.modes[i.modes.indexOf(a.datepickerMode)+b])},a.keys={13:"enter",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down"};var k=function(){e(function(){i.element[0].focus()},0,!1)};a.$on("datepicker.focus",k),a.keydown=function(b){var c=a.keys[b.which];if(c&&!b.shiftKey&&!b.altKey)if(b.preventDefault(),b.stopPropagation(),"enter"===c||"space"===c){if(i.isDisabled(i.activeDate))return;a.select(i.activeDate),k()}else!b.ctrlKey||"up"!==c&&"down"!==c?(i.handleKeyDown(c,b),i.refreshView()):(a.toggleMode("up"===c?1:-1),k())}}]).directive("datepicker",function(){return{restrict:"EA",replace:!0,templateUrl:"template/datepicker/datepicker.html",scope:{datepickerMode:"=?",dateDisabled:"&"},require:["datepicker","?^ngModel"],controller:"DatepickerController",link:function(a,b,c,d){var e=d[0],f=d[1];f&&e.init(f)}}}).directive("daypicker",["dateFilter",function(a){return{restrict:"EA",replace:!0,templateUrl:"template/datepicker/day.html",require:"^datepicker",link:function(b,c,d,e){function f(a,b){return 1!==b||a%4!==0||a%100===0&&a%400!==0?i[b]:29}function g(a,b){var c=new Array(b),d=new Date(a),e=0;for(d.setHours(12);b>e;)c[e++]=new Date(d),d.setDate(d.getDate()+1);return c}function h(a){var b=new Date(a);b.setDate(b.getDate()+4-(b.getDay()||7));var c=b.getTime();return b.setMonth(0),b.setDate(1),Math.floor(Math.round((c-b)/864e5)/7)+1}b.showWeeks=e.showWeeks,e.step={months:1},e.element=c;var i=[31,28,31,30,31,30,31,31,30,31,30,31];e._refreshView=function(){var c=e.activeDate.getFullYear(),d=e.activeDate.getMonth(),f=new Date(c,d,1),i=e.startingDay-f.getDay(),j=i>0?7-i:-i,k=new Date(f);j>0&&k.setDate(-j+1);for(var l=g(k,42),m=0;42>m;m++)l[m]=angular.extend(e.createDateObject(l[m],e.formatDay),{secondary:l[m].getMonth()!==d,uid:b.uniqueId+"-"+m});b.labels=new Array(7);for(var n=0;7>n;n++)b.labels[n]={abbr:a(l[n].date,e.formatDayHeader),full:a(l[n].date,"EEEE")};if(b.title=a(e.activeDate,e.formatDayTitle),b.rows=e.split(l,7),b.showWeeks){b.weekNumbers=[];for(var o=h(b.rows[0][0].date),p=b.rows.length;b.weekNumbers.push(o++)f;f++)c[f]=angular.extend(e.createDateObject(new Date(d,f,1),e.formatMonth),{uid:b.uniqueId+"-"+f});b.title=a(e.activeDate,e.formatMonthTitle),b.rows=e.split(c,3)},e.compare=function(a,b){return new Date(a.getFullYear(),a.getMonth())-new Date(b.getFullYear(),b.getMonth())},e.handleKeyDown=function(a){var b=e.activeDate.getMonth();if("left"===a)b-=1;else if("up"===a)b-=3;else if("right"===a)b+=1;else if("down"===a)b+=3;else if("pageup"===a||"pagedown"===a){var c=e.activeDate.getFullYear()+("pageup"===a?-1:1);e.activeDate.setFullYear(c)}else"home"===a?b=0:"end"===a&&(b=11);e.activeDate.setMonth(b)},e.refreshView()}}}]).directive("yearpicker",["dateFilter",function(){return{restrict:"EA",replace:!0,templateUrl:"template/datepicker/year.html",require:"^datepicker",link:function(a,b,c,d){function e(a){return parseInt((a-1)/f,10)*f+1}var f=d.yearRange;d.step={years:f},d.element=b,d._refreshView=function(){for(var b=new Array(f),c=0,g=e(d.activeDate.getFullYear());f>c;c++)b[c]=angular.extend(d.createDateObject(new Date(g+c,0,1),d.formatYear),{uid:a.uniqueId+"-"+c});a.title=[b[0].label,b[f-1].label].join(" - "),a.rows=d.split(b,5)},d.compare=function(a,b){return a.getFullYear()-b.getFullYear()},d.handleKeyDown=function(a){var b=d.activeDate.getFullYear();"left"===a?b-=1:"up"===a?b-=5:"right"===a?b+=1:"down"===a?b+=5:"pageup"===a||"pagedown"===a?b+=("pageup"===a?-1:1)*d.step.years:"home"===a?b=e(d.activeDate.getFullYear()):"end"===a&&(b=e(d.activeDate.getFullYear())+f-1),d.activeDate.setFullYear(b)},d.refreshView()}}}]).constant("datepickerPopupConfig",{datepickerPopup:"yyyy-MM-dd",currentText:"Today",clearText:"Clear",closeText:"Done",closeOnDateSelection:!0,appendToBody:!1,showButtonBar:!0}).directive("datepickerPopup",["$compile","$parse","$document","$position","dateFilter","dateParser","datepickerPopupConfig",function(a,b,c,d,e,f,g){return{restrict:"EA",require:"ngModel",scope:{isOpen:"=?",currentText:"@",clearText:"@",closeText:"@",dateDisabled:"&"},link:function(h,i,j,k){function l(a){return a.replace(/([A-Z])/g,function(a){return"-"+a.toLowerCase()})}function m(a){if(a){if(angular.isDate(a)&&!isNaN(a))return k.$setValidity("date",!0),a;if(angular.isString(a)){var b=f.parse(a,n)||new Date(a);return isNaN(b)?void k.$setValidity("date",!1):(k.$setValidity("date",!0),b)}return void k.$setValidity("date",!1)}return k.$setValidity("date",!0),null}var n,o=angular.isDefined(j.closeOnDateSelection)?h.$parent.$eval(j.closeOnDateSelection):g.closeOnDateSelection,p=angular.isDefined(j.datepickerAppendToBody)?h.$parent.$eval(j.datepickerAppendToBody):g.appendToBody;h.showButtonBar=angular.isDefined(j.showButtonBar)?h.$parent.$eval(j.showButtonBar):g.showButtonBar,h.getText=function(a){return h[a+"Text"]||g[a+"Text"]},j.$observe("datepickerPopup",function(a){n=a||g.datepickerPopup,k.$render()});var q=angular.element("
");q.attr({"ng-model":"date","ng-change":"dateSelection()"});var r=angular.element(q.children()[0]);j.datepickerOptions&&angular.forEach(h.$parent.$eval(j.datepickerOptions),function(a,b){r.attr(l(b),a)}),angular.forEach(["minDate","maxDate"],function(a){j[a]&&(h.$parent.$watch(b(j[a]),function(b){h[a]=b}),r.attr(l(a),a))}),j.dateDisabled&&r.attr("date-disabled","dateDisabled({ date: date, mode: mode })"),k.$parsers.unshift(m),h.dateSelection=function(a){angular.isDefined(a)&&(h.date=a),k.$setViewValue(h.date),k.$render(),o&&(h.isOpen=!1,i[0].focus())},i.bind("input change keyup",function(){h.$apply(function(){h.date=k.$modelValue})}),k.$render=function(){var a=k.$viewValue?e(k.$viewValue,n):"";i.val(a),h.date=m(k.$modelValue)};var s=function(a){h.isOpen&&a.target!==i[0]&&h.$apply(function(){h.isOpen=!1})},t=function(a){h.keydown(a)};i.bind("keydown",t),h.keydown=function(a){27===a.which?(a.preventDefault(),a.stopPropagation(),h.close()):40!==a.which||h.isOpen||(h.isOpen=!0)},h.$watch("isOpen",function(a){a?(h.$broadcast("datepicker.focus"),h.position=p?d.offset(i):d.position(i),h.position.top=h.position.top+i.prop("offsetHeight"),c.bind("click",s)):c.unbind("click",s)}),h.select=function(a){if("today"===a){var b=new Date;angular.isDate(k.$modelValue)?(a=new Date(k.$modelValue),a.setFullYear(b.getFullYear(),b.getMonth(),b.getDate())):a=new Date(b.setHours(0,0,0,0))}h.dateSelection(a)},h.close=function(){h.isOpen=!1,i[0].focus()};var u=a(q)(h);p?c.find("body").append(u):i.after(u),h.$on("$destroy",function(){u.remove(),i.unbind("keydown",t),c.unbind("click",s)})}}}]).directive("datepickerPopupWrap",function(){return{restrict:"EA",replace:!0,transclude:!0,templateUrl:"template/datepicker/popup.html",link:function(a,b){b.bind("click",function(a){a.preventDefault(),a.stopPropagation()})}}}),angular.module("ui.bootstrap.dropdown",[]).constant("dropdownConfig",{openClass:"open"}).service("dropdownService",["$document",function(a){var b=null;this.open=function(e){b||(a.bind("click",c),a.bind("keydown",d)),b&&b!==e&&(b.isOpen=!1),b=e},this.close=function(e){b===e&&(b=null,a.unbind("click",c),a.unbind("keydown",d))};var c=function(a){a&&a.isDefaultPrevented()||b.$apply(function(){b.isOpen=!1})},d=function(a){27===a.which&&(b.focusToggleElement(),c())}}]).controller("DropdownController",["$scope","$attrs","$parse","dropdownConfig","dropdownService","$animate",function(a,b,c,d,e,f){var g,h=this,i=a.$new(),j=d.openClass,k=angular.noop,l=b.onToggle?c(b.onToggle):angular.noop;this.init=function(d){h.$element=d,b.isOpen&&(g=c(b.isOpen),k=g.assign,a.$watch(g,function(a){i.isOpen=!!a}))},this.toggle=function(a){return i.isOpen=arguments.length?!!a:!i.isOpen},this.isOpen=function(){return i.isOpen},i.focusToggleElement=function(){h.toggleElement&&h.toggleElement[0].focus()},i.$watch("isOpen",function(b,c){f[b?"addClass":"removeClass"](h.$element,j),b?(i.focusToggleElement(),e.open(i)):e.close(i),k(a,b),angular.isDefined(b)&&b!==c&&l(a,{open:!!b})}),a.$on("$locationChangeSuccess",function(){i.isOpen=!1}),a.$on("$destroy",function(){i.$destroy()})}]).directive("dropdown",function(){return{restrict:"CA",controller:"DropdownController",link:function(a,b,c,d){d.init(b)}}}).directive("dropdownToggle",function(){return{restrict:"CA",require:"?^dropdown",link:function(a,b,c,d){if(d){d.toggleElement=b;var e=function(e){e.preventDefault(),b.hasClass("disabled")||c.disabled||a.$apply(function(){d.toggle()})};b.bind("click",e),b.attr({"aria-haspopup":!0,"aria-expanded":!1}),a.$watch(d.isOpen,function(a){b.attr("aria-expanded",!!a)}),a.$on("$destroy",function(){b.unbind("click",e)})}}}}),angular.module("ui.bootstrap.modal",["ui.bootstrap.transition"]).factory("$$stackedMap",function(){return{createNew:function(){var a=[];return{add:function(b,c){a.push({key:b,value:c})},get:function(b){for(var c=0;c0),i()})}function i(){if(k&&-1==g()){var a=l;j(k,l,150,function(){a.$destroy(),a=null}),k=void 0,l=void 0}}function j(c,d,e,f){function g(){g.done||(g.done=!0,c.remove(),f&&f())}d.animate=!1;var h=a.transitionEndEventName;if(h){var i=b(g,e);c.bind(h,function(){b.cancel(i),g(),d.$apply()})}else b(g,0)}var k,l,m="modal-open",n=f.createNew(),o={};return e.$watch(g,function(a){l&&(l.index=a)}),c.bind("keydown",function(a){var b;27===a.which&&(b=n.top(),b&&b.value.keyboard&&(a.preventDefault(),e.$apply(function(){o.dismiss(b.key,"escape key press")})))}),o.open=function(a,b){n.add(a,{deferred:b.deferred,modalScope:b.scope,backdrop:b.backdrop,keyboard:b.keyboard});var f=c.find("body").eq(0),h=g();h>=0&&!k&&(l=e.$new(!0),l.index=h,k=d("
")(l),f.append(k));var i=angular.element("
");i.attr({"template-url":b.windowTemplateUrl,"window-class":b.windowClass,size:b.size,index:n.length()-1,animate:"animate"}).html(b.content);var j=d(i)(b.scope);n.top().value.modalDomEl=j,f.append(j),f.addClass(m)},o.close=function(a,b){var c=n.get(a).value;c&&(c.deferred.resolve(b),h(a))},o.dismiss=function(a,b){var c=n.get(a).value;c&&(c.deferred.reject(b),h(a))},o.dismissAll=function(a){for(var b=this.getTop();b;)this.dismiss(b.key,a),b=this.getTop()},o.getTop=function(){return n.top()},o}]).provider("$modal",function(){var a={options:{backdrop:!0,keyboard:!0},$get:["$injector","$rootScope","$q","$http","$templateCache","$controller","$modalStack",function(b,c,d,e,f,g,h){function i(a){return a.template?d.when(a.template):e.get(a.templateUrl,{cache:f}).then(function(a){return a.data})}function j(a){var c=[];return angular.forEach(a,function(a){(angular.isFunction(a)||angular.isArray(a))&&c.push(d.when(b.invoke(a)))}),c}var k={};return k.open=function(b){var e=d.defer(),f=d.defer(),k={result:e.promise,opened:f.promise,close:function(a){h.close(k,a)},dismiss:function(a){h.dismiss(k,a)}};if(b=angular.extend({},a.options,b),b.resolve=b.resolve||{},!b.template&&!b.templateUrl)throw new Error("One of template or templateUrl options is required.");var l=d.all([i(b)].concat(j(b.resolve)));return l.then(function(a){var d=(b.scope||c).$new();d.$close=k.close,d.$dismiss=k.dismiss;var f,i={},j=1;b.controller&&(i.$scope=d,i.$modalInstance=k,angular.forEach(b.resolve,function(b,c){i[c]=a[j++]}),f=g(b.controller,i)),h.open(k,{scope:d,deferred:e,content:a[0],backdrop:b.backdrop,keyboard:b.keyboard,windowClass:b.windowClass,windowTemplateUrl:b.windowTemplateUrl,size:b.size})},function(a){e.reject(a)}),l.then(function(){f.resolve(!0)},function(){f.reject(!1)}),k},k}]};return a}),angular.module("ui.bootstrap.pagination",[]).controller("PaginationController",["$scope","$attrs","$parse",function(a,b,c){var d=this,e={$setViewValue:angular.noop},f=b.numPages?c(b.numPages).assign:angular.noop;this.init=function(f,g){e=f,this.config=g,e.$render=function(){d.render()},b.itemsPerPage?a.$parent.$watch(c(b.itemsPerPage),function(b){d.itemsPerPage=parseInt(b,10),a.totalPages=d.calculateTotalPages()}):this.itemsPerPage=g.itemsPerPage},this.calculateTotalPages=function(){var b=this.itemsPerPage<1?1:Math.ceil(a.totalItems/this.itemsPerPage);return Math.max(b||0,1)},this.render=function(){a.page=parseInt(e.$viewValue,10)||1},a.selectPage=function(b){a.page!==b&&b>0&&b<=a.totalPages&&(e.$setViewValue(b),e.$render())},a.getText=function(b){return a[b+"Text"]||d.config[b+"Text"]},a.noPrevious=function(){return 1===a.page},a.noNext=function(){return a.page===a.totalPages},a.$watch("totalItems",function(){a.totalPages=d.calculateTotalPages()}),a.$watch("totalPages",function(b){f(a.$parent,b),a.page>b?a.selectPage(b):e.$render()})}]).constant("paginationConfig",{itemsPerPage:10,boundaryLinks:!1,directionLinks:!0,firstText:"First",previousText:"Previous",nextText:"Next",lastText:"Last",rotate:!0}).directive("pagination",["$parse","paginationConfig",function(a,b){return{restrict:"EA",scope:{totalItems:"=",firstText:"@",previousText:"@",nextText:"@",lastText:"@"},require:["pagination","?ngModel"],controller:"PaginationController",templateUrl:"template/pagination/pagination.html",replace:!0,link:function(c,d,e,f){function g(a,b,c){return{number:a,text:b,active:c}}function h(a,b){var c=[],d=1,e=b,f=angular.isDefined(k)&&b>k;f&&(l?(d=Math.max(a-Math.floor(k/2),1),e=d+k-1,e>b&&(e=b,d=e-k+1)):(d=(Math.ceil(a/k)-1)*k+1,e=Math.min(d+k-1,b)));for(var h=d;e>=h;h++){var i=g(h,h,h===a);c.push(i)}if(f&&!l){if(d>1){var j=g(d-1,"...",!1);c.unshift(j)}if(b>e){var m=g(e+1,"...",!1);c.push(m)}}return c}var i=f[0],j=f[1];if(j){var k=angular.isDefined(e.maxSize)?c.$parent.$eval(e.maxSize):b.maxSize,l=angular.isDefined(e.rotate)?c.$parent.$eval(e.rotate):b.rotate;c.boundaryLinks=angular.isDefined(e.boundaryLinks)?c.$parent.$eval(e.boundaryLinks):b.boundaryLinks,c.directionLinks=angular.isDefined(e.directionLinks)?c.$parent.$eval(e.directionLinks):b.directionLinks,i.init(j,b),e.maxSize&&c.$parent.$watch(a(e.maxSize),function(a){k=parseInt(a,10),i.render()});var m=i.render;i.render=function(){m(),c.page>0&&c.page<=c.totalPages&&(c.pages=h(c.page,c.totalPages))}}}}}]).constant("pagerConfig",{itemsPerPage:10,previousText:"« Previous",nextText:"Next »",align:!0}).directive("pager",["pagerConfig",function(a){return{restrict:"EA",scope:{totalItems:"=",previousText:"@",nextText:"@"},require:["pager","?ngModel"],controller:"PaginationController",templateUrl:"template/pagination/pager.html",replace:!0,link:function(b,c,d,e){var f=e[0],g=e[1];g&&(b.align=angular.isDefined(d.align)?b.$parent.$eval(d.align):a.align,f.init(g,a))}}}]),angular.module("ui.bootstrap.tooltip",["ui.bootstrap.position","ui.bootstrap.bindHtml"]).provider("$tooltip",function(){function a(a){var b=/[A-Z]/g,c="-";return a.replace(b,function(a,b){return(b?c:"")+a.toLowerCase()})}var b={placement:"top",animation:!0,popupDelay:0},c={mouseenter:"mouseleave",click:"click",focus:"blur"},d={};this.options=function(a){angular.extend(d,a)},this.setTriggers=function(a){angular.extend(c,a)},this.$get=["$window","$compile","$timeout","$parse","$document","$position","$interpolate",function(e,f,g,h,i,j,k){return function(e,l,m){function n(a){var b=a||o.trigger||m,d=c[b]||b;return{show:b,hide:d}}var o=angular.extend({},b,d),p=a(e),q=k.startSymbol(),r=k.endSymbol(),s="
';return{restrict:"EA",scope:!0,compile:function(){var a=f(s);return function(b,c,d){function f(){b.tt_isOpen?m():k()}function k(){(!y||b.$eval(d[l+"Enable"]))&&(b.tt_popupDelay?v||(v=g(p,b.tt_popupDelay,!1),v.then(function(a){a()})):p()())}function m(){b.$apply(function(){q()})}function p(){return v=null,u&&(g.cancel(u),u=null),b.tt_content?(r(),t.css({top:0,left:0,display:"block"}),w?i.find("body").append(t):c.after(t),z(),b.tt_isOpen=!0,b.$digest(),z):angular.noop}function q(){b.tt_isOpen=!1,g.cancel(v),v=null,b.tt_animation?u||(u=g(s,500)):s()}function r(){t&&s(),t=a(b,function(){}),b.$digest()}function s(){u=null,t&&(t.remove(),t=null)}var t,u,v,w=angular.isDefined(o.appendToBody)?o.appendToBody:!1,x=n(void 0),y=angular.isDefined(d[l+"Enable"]),z=function(){var a=j.positionElements(c,t,b.tt_placement,w);a.top+="px",a.left+="px",t.css(a)};b.tt_isOpen=!1,d.$observe(e,function(a){b.tt_content=a,!a&&b.tt_isOpen&&q()}),d.$observe(l+"Title",function(a){b.tt_title=a}),d.$observe(l+"Placement",function(a){b.tt_placement=angular.isDefined(a)?a:o.placement}),d.$observe(l+"PopupDelay",function(a){var c=parseInt(a,10);b.tt_popupDelay=isNaN(c)?o.popupDelay:c});var A=function(){c.unbind(x.show,k),c.unbind(x.hide,m)};d.$observe(l+"Trigger",function(a){A(),x=n(a),x.show===x.hide?c.bind(x.show,f):(c.bind(x.show,k),c.bind(x.hide,m))});var B=b.$eval(d[l+"Animation"]);b.tt_animation=angular.isDefined(B)?!!B:o.animation,d.$observe(l+"AppendToBody",function(a){w=angular.isDefined(a)?h(a)(b):w}),w&&b.$on("$locationChangeSuccess",function(){b.tt_isOpen&&q()}),b.$on("$destroy",function(){g.cancel(u),g.cancel(v),A(),s()})}}}}}]}).directive("tooltipPopup",function(){return{restrict:"EA",replace:!0,scope:{content:"@",placement:"@",animation:"&",isOpen:"&"},templateUrl:"template/tooltip/tooltip-popup.html"}}).directive("tooltip",["$tooltip",function(a){return a("tooltip","tooltip","mouseenter")}]).directive("tooltipHtmlUnsafePopup",function(){return{restrict:"EA",replace:!0,scope:{content:"@",placement:"@",animation:"&",isOpen:"&"},templateUrl:"template/tooltip/tooltip-html-unsafe-popup.html"}}).directive("tooltipHtmlUnsafe",["$tooltip",function(a){return a("tooltipHtmlUnsafe","tooltip","mouseenter")}]),angular.module("ui.bootstrap.popover",["ui.bootstrap.tooltip"]).directive("popoverPopup",function(){return{restrict:"EA",replace:!0,scope:{title:"@",content:"@",placement:"@",animation:"&",isOpen:"&"},templateUrl:"template/popover/popover.html"}}).directive("popover",["$tooltip",function(a){return a("popover","popover","click")}]),angular.module("ui.bootstrap.progressbar",[]).constant("progressConfig",{animate:!0,max:100}).controller("ProgressController",["$scope","$attrs","progressConfig",function(a,b,c){var d=this,e=angular.isDefined(b.animate)?a.$parent.$eval(b.animate):c.animate;this.bars=[],a.max=angular.isDefined(b.max)?a.$parent.$eval(b.max):c.max,this.addBar=function(b,c){e||c.css({transition:"none"}),this.bars.push(b),b.$watch("value",function(c){b.percent=+(100*c/a.max).toFixed(2)}),b.$on("$destroy",function(){c=null,d.removeBar(b)})},this.removeBar=function(a){this.bars.splice(this.bars.indexOf(a),1)}}]).directive("progress",function(){return{restrict:"EA",replace:!0,transclude:!0,controller:"ProgressController",require:"progress",scope:{},templateUrl:"template/progressbar/progress.html"}}).directive("bar",function(){return{restrict:"EA",replace:!0,transclude:!0,require:"^progress",scope:{value:"=",type:"@"},templateUrl:"template/progressbar/bar.html",link:function(a,b,c,d){d.addBar(a,b)}}}).directive("progressbar",function(){return{restrict:"EA",replace:!0,transclude:!0,controller:"ProgressController",scope:{value:"=",type:"@"},templateUrl:"template/progressbar/progressbar.html",link:function(a,b,c,d){d.addBar(a,angular.element(b.children()[0]))}}}),angular.module("ui.bootstrap.rating",[]).constant("ratingConfig",{max:5,stateOn:null,stateOff:null}).controller("RatingController",["$scope","$attrs","ratingConfig",function(a,b,c){var d={$setViewValue:angular.noop};this.init=function(e){d=e,d.$render=this.render,this.stateOn=angular.isDefined(b.stateOn)?a.$parent.$eval(b.stateOn):c.stateOn,this.stateOff=angular.isDefined(b.stateOff)?a.$parent.$eval(b.stateOff):c.stateOff;var f=angular.isDefined(b.ratingStates)?a.$parent.$eval(b.ratingStates):new Array(angular.isDefined(b.max)?a.$parent.$eval(b.max):c.max);a.range=this.buildTemplateObjects(f)},this.buildTemplateObjects=function(a){for(var b=0,c=a.length;c>b;b++)a[b]=angular.extend({index:b},{stateOn:this.stateOn,stateOff:this.stateOff},a[b]);return a},a.rate=function(b){!a.readonly&&b>=0&&b<=a.range.length&&(d.$setViewValue(b),d.$render())},a.enter=function(b){a.readonly||(a.value=b),a.onHover({value:b})},a.reset=function(){a.value=d.$viewValue,a.onLeave()},a.onKeydown=function(b){/(37|38|39|40)/.test(b.which)&&(b.preventDefault(),b.stopPropagation(),a.rate(a.value+(38===b.which||39===b.which?1:-1)))},this.render=function(){a.value=d.$viewValue}}]).directive("rating",function(){return{restrict:"EA",require:["rating","ngModel"],scope:{readonly:"=?",onHover:"&",onLeave:"&"},controller:"RatingController",templateUrl:"template/rating/rating.html",replace:!0,link:function(a,b,c,d){var e=d[0],f=d[1]; +f&&e.init(f)}}}),angular.module("ui.bootstrap.tabs",[]).controller("TabsetController",["$scope",function(a){var b=this,c=b.tabs=a.tabs=[];b.select=function(a){angular.forEach(c,function(b){b.active&&b!==a&&(b.active=!1,b.onDeselect())}),a.active=!0,a.onSelect()},b.addTab=function(a){c.push(a),1===c.length?a.active=!0:a.active&&b.select(a)},b.removeTab=function(a){var d=c.indexOf(a);if(a.active&&c.length>1){var e=d==c.length-1?d-1:d+1;b.select(c[e])}c.splice(d,1)}}]).directive("tabset",function(){return{restrict:"EA",transclude:!0,replace:!0,scope:{type:"@"},controller:"TabsetController",templateUrl:"template/tabs/tabset.html",link:function(a,b,c){a.vertical=angular.isDefined(c.vertical)?a.$parent.$eval(c.vertical):!1,a.justified=angular.isDefined(c.justified)?a.$parent.$eval(c.justified):!1}}}).directive("tab",["$parse",function(a){return{require:"^tabset",restrict:"EA",replace:!0,templateUrl:"template/tabs/tab.html",transclude:!0,scope:{active:"=?",heading:"@",onSelect:"&select",onDeselect:"&deselect"},controller:function(){},compile:function(b,c,d){return function(b,c,e,f){b.$watch("active",function(a){a&&f.select(b)}),b.disabled=!1,e.disabled&&b.$parent.$watch(a(e.disabled),function(a){b.disabled=!!a}),b.select=function(){b.disabled||(b.active=!0)},f.addTab(b),b.$on("$destroy",function(){f.removeTab(b)}),b.$transcludeFn=d}}}}]).directive("tabHeadingTransclude",[function(){return{restrict:"A",require:"^tab",link:function(a,b){a.$watch("headingElement",function(a){a&&(b.html(""),b.append(a))})}}}]).directive("tabContentTransclude",function(){function a(a){return a.tagName&&(a.hasAttribute("tab-heading")||a.hasAttribute("data-tab-heading")||"tab-heading"===a.tagName.toLowerCase()||"data-tab-heading"===a.tagName.toLowerCase())}return{restrict:"A",require:"^tabset",link:function(b,c,d){var e=b.$eval(d.tabContentTransclude);e.$transcludeFn(e.$parent,function(b){angular.forEach(b,function(b){a(b)?e.headingElement=b:c.append(b)})})}}}),angular.module("ui.bootstrap.timepicker",[]).constant("timepickerConfig",{hourStep:1,minuteStep:1,showMeridian:!0,meridians:null,readonlyInput:!1,mousewheel:!0}).controller("TimepickerController",["$scope","$attrs","$parse","$log","$locale","timepickerConfig",function(a,b,c,d,e,f){function g(){var b=parseInt(a.hours,10),c=a.showMeridian?b>0&&13>b:b>=0&&24>b;return c?(a.showMeridian&&(12===b&&(b=0),a.meridian===p[1]&&(b+=12)),b):void 0}function h(){var b=parseInt(a.minutes,10);return b>=0&&60>b?b:void 0}function i(a){return angular.isDefined(a)&&a.toString().length<2?"0"+a:a}function j(a){k(),o.$setViewValue(new Date(n)),l(a)}function k(){o.$setValidity("time",!0),a.invalidHours=!1,a.invalidMinutes=!1}function l(b){var c=n.getHours(),d=n.getMinutes();a.showMeridian&&(c=0===c||12===c?12:c%12),a.hours="h"===b?c:i(c),a.minutes="m"===b?d:i(d),a.meridian=n.getHours()<12?p[0]:p[1]}function m(a){var b=new Date(n.getTime()+6e4*a);n.setHours(b.getHours(),b.getMinutes()),j()}var n=new Date,o={$setViewValue:angular.noop},p=angular.isDefined(b.meridians)?a.$parent.$eval(b.meridians):f.meridians||e.DATETIME_FORMATS.AMPMS;this.init=function(c,d){o=c,o.$render=this.render;var e=d.eq(0),g=d.eq(1),h=angular.isDefined(b.mousewheel)?a.$parent.$eval(b.mousewheel):f.mousewheel;h&&this.setupMousewheelEvents(e,g),a.readonlyInput=angular.isDefined(b.readonlyInput)?a.$parent.$eval(b.readonlyInput):f.readonlyInput,this.setupInputEvents(e,g)};var q=f.hourStep;b.hourStep&&a.$parent.$watch(c(b.hourStep),function(a){q=parseInt(a,10)});var r=f.minuteStep;b.minuteStep&&a.$parent.$watch(c(b.minuteStep),function(a){r=parseInt(a,10)}),a.showMeridian=f.showMeridian,b.showMeridian&&a.$parent.$watch(c(b.showMeridian),function(b){if(a.showMeridian=!!b,o.$error.time){var c=g(),d=h();angular.isDefined(c)&&angular.isDefined(d)&&(n.setHours(c),j())}else l()}),this.setupMousewheelEvents=function(b,c){var d=function(a){a.originalEvent&&(a=a.originalEvent);var b=a.wheelDelta?a.wheelDelta:-a.deltaY;return a.detail||b>0};b.bind("mousewheel wheel",function(b){a.$apply(d(b)?a.incrementHours():a.decrementHours()),b.preventDefault()}),c.bind("mousewheel wheel",function(b){a.$apply(d(b)?a.incrementMinutes():a.decrementMinutes()),b.preventDefault()})},this.setupInputEvents=function(b,c){if(a.readonlyInput)return a.updateHours=angular.noop,void(a.updateMinutes=angular.noop);var d=function(b,c){o.$setViewValue(null),o.$setValidity("time",!1),angular.isDefined(b)&&(a.invalidHours=b),angular.isDefined(c)&&(a.invalidMinutes=c)};a.updateHours=function(){var a=g();angular.isDefined(a)?(n.setHours(a),j("h")):d(!0)},b.bind("blur",function(){!a.invalidHours&&a.hours<10&&a.$apply(function(){a.hours=i(a.hours)})}),a.updateMinutes=function(){var a=h();angular.isDefined(a)?(n.setMinutes(a),j("m")):d(void 0,!0)},c.bind("blur",function(){!a.invalidMinutes&&a.minutes<10&&a.$apply(function(){a.minutes=i(a.minutes)})})},this.render=function(){var a=o.$modelValue?new Date(o.$modelValue):null;isNaN(a)?(o.$setValidity("time",!1),d.error('Timepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.')):(a&&(n=a),k(),l())},a.incrementHours=function(){m(60*q)},a.decrementHours=function(){m(60*-q)},a.incrementMinutes=function(){m(r)},a.decrementMinutes=function(){m(-r)},a.toggleMeridian=function(){m(720*(n.getHours()<12?1:-1))}}]).directive("timepicker",function(){return{restrict:"EA",require:["timepicker","?^ngModel"],controller:"TimepickerController",replace:!0,scope:{},templateUrl:"template/timepicker/timepicker.html",link:function(a,b,c,d){var e=d[0],f=d[1];f&&e.init(f,b.find("input"))}}}),angular.module("ui.bootstrap.typeahead",["ui.bootstrap.position","ui.bootstrap.bindHtml"]).factory("typeaheadParser",["$parse",function(a){var b=/^\s*(.*?)(?:\s+as\s+(.*?))?\s+for\s+(?:([\$\w][\$\w\d]*))\s+in\s+(.*)$/;return{parse:function(c){var d=c.match(b);if(!d)throw new Error('Expected typeahead specification in form of "_modelValue_ (as _label_)? for _item_ in _collection_" but got "'+c+'".');return{itemName:d[3],source:a(d[4]),viewMapper:a(d[2]||d[1]),modelMapper:a(d[1])}}}}]).directive("typeahead",["$compile","$parse","$q","$timeout","$document","$position","typeaheadParser",function(a,b,c,d,e,f,g){var h=[9,13,27,38,40];return{require:"ngModel",link:function(i,j,k,l){var m,n=i.$eval(k.typeaheadMinLength)||1,o=i.$eval(k.typeaheadWaitMs)||0,p=i.$eval(k.typeaheadEditable)!==!1,q=b(k.typeaheadLoading).assign||angular.noop,r=b(k.typeaheadOnSelect),s=k.typeaheadInputFormatter?b(k.typeaheadInputFormatter):void 0,t=k.typeaheadAppendToBody?i.$eval(k.typeaheadAppendToBody):!1,u=b(k.ngModel).assign,v=g.parse(k.typeahead),w=i.$new();i.$on("$destroy",function(){w.$destroy()});var x="typeahead-"+w.$id+"-"+Math.floor(1e4*Math.random());j.attr({"aria-autocomplete":"list","aria-expanded":!1,"aria-owns":x});var y=angular.element("
");y.attr({id:x,matches:"matches",active:"activeIdx",select:"select(activeIdx)",query:"query",position:"position"}),angular.isDefined(k.typeaheadTemplateUrl)&&y.attr("template-url",k.typeaheadTemplateUrl);var z=function(){w.matches=[],w.activeIdx=-1,j.attr("aria-expanded",!1)},A=function(a){return x+"-option-"+a};w.$watch("activeIdx",function(a){0>a?j.removeAttr("aria-activedescendant"):j.attr("aria-activedescendant",A(a))});var B=function(a){var b={$viewValue:a};q(i,!0),c.when(v.source(i,b)).then(function(c){var d=a===l.$viewValue;if(d&&m)if(c.length>0){w.activeIdx=0,w.matches.length=0;for(var e=0;e=n?o>0?(C&&d.cancel(C),C=d(function(){B(a)},o)):B(a):(q(i,!1),z()),p?a:a?void l.$setValidity("editable",!1):(l.$setValidity("editable",!0),a)}),l.$formatters.push(function(a){var b,c,d={};return s?(d.$model=a,s(i,d)):(d[v.itemName]=a,b=v.viewMapper(i,d),d[v.itemName]=void 0,c=v.viewMapper(i,d),b!==c?b:a)}),w.select=function(a){var b,c,e={};e[v.itemName]=c=w.matches[a].model,b=v.modelMapper(i,e),u(i,b),l.$setValidity("editable",!0),r(i,{$item:c,$model:b,$label:v.viewMapper(i,e)}),z(),d(function(){j[0].focus()},0,!1)},j.bind("keydown",function(a){0!==w.matches.length&&-1!==h.indexOf(a.which)&&(a.preventDefault(),40===a.which?(w.activeIdx=(w.activeIdx+1)%w.matches.length,w.$digest()):38===a.which?(w.activeIdx=(w.activeIdx?w.activeIdx:w.matches.length)-1,w.$digest()):13===a.which||9===a.which?w.$apply(function(){w.select(w.activeIdx)}):27===a.which&&(a.stopPropagation(),z(),w.$digest()))}),j.bind("blur",function(){m=!1});var D=function(a){j[0]!==a.target&&(z(),w.$digest())};e.bind("click",D),i.$on("$destroy",function(){e.unbind("click",D)});var E=a(y)(w);t?e.find("body").append(E):j.after(E)}}}]).directive("typeaheadPopup",function(){return{restrict:"EA",scope:{matches:"=",query:"=",active:"=",position:"=",select:"&"},replace:!0,templateUrl:"template/typeahead/typeahead-popup.html",link:function(a,b,c){a.templateUrl=c.templateUrl,a.isOpen=function(){return a.matches.length>0},a.isActive=function(b){return a.active==b},a.selectActive=function(b){a.active=b},a.selectMatch=function(b){a.select({activeIdx:b})}}}}).directive("typeaheadMatch",["$http","$templateCache","$compile","$parse",function(a,b,c,d){return{restrict:"EA",scope:{index:"=",match:"=",query:"="},link:function(e,f,g){var h=d(g.templateUrl)(e.$parent)||"template/typeahead/typeahead-match.html";a.get(h,{cache:b}).success(function(a){f.replaceWith(c(a.trim())(e))})}}}]).filter("typeaheadHighlight",function(){function a(a){return a.replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}return function(b,c){return c?(""+b).replace(new RegExp(a(c),"gi"),"$&"):b}}),angular.module("template/accordion/accordion-group.html",[]).run(["$templateCache",function(a){a.put("template/accordion/accordion-group.html",'
\n
\n

\n {{heading}}\n

\n
\n
\n
\n
\n
')}]),angular.module("template/accordion/accordion.html",[]).run(["$templateCache",function(a){a.put("template/accordion/accordion.html",'
')}]),angular.module("template/alert/alert.html",[]).run(["$templateCache",function(a){a.put("template/alert/alert.html",'\n')}]),angular.module("template/carousel/carousel.html",[]).run(["$templateCache",function(a){a.put("template/carousel/carousel.html",'\n')}]),angular.module("template/carousel/slide.html",[]).run(["$templateCache",function(a){a.put("template/carousel/slide.html","
\n")}]),angular.module("template/datepicker/datepicker.html",[]).run(["$templateCache",function(a){a.put("template/datepicker/datepicker.html",'
\n \n \n \n
')}]),angular.module("template/datepicker/day.html",[]).run(["$templateCache",function(a){a.put("template/datepicker/day.html",'\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{label.abbr}}
{{ weekNumbers[$index] }}\n \n
\n')}]),angular.module("template/datepicker/month.html",[]).run(["$templateCache",function(a){a.put("template/datepicker/month.html",'\n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n
\n')}]),angular.module("template/datepicker/popup.html",[]).run(["$templateCache",function(a){a.put("template/datepicker/popup.html",'\n')}]),angular.module("template/datepicker/year.html",[]).run(["$templateCache",function(a){a.put("template/datepicker/year.html",'\n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n
\n')}]),angular.module("template/modal/backdrop.html",[]).run(["$templateCache",function(a){a.put("template/modal/backdrop.html",'\n')}]),angular.module("template/modal/window.html",[]).run(["$templateCache",function(a){a.put("template/modal/window.html",'')}]),angular.module("template/pagination/pager.html",[]).run(["$templateCache",function(a){a.put("template/pagination/pager.html",'')}]),angular.module("template/pagination/pagination.html",[]).run(["$templateCache",function(a){a.put("template/pagination/pagination.html",'')}]),angular.module("template/tooltip/tooltip-html-unsafe-popup.html",[]).run(["$templateCache",function(a){a.put("template/tooltip/tooltip-html-unsafe-popup.html",'
\n
\n
\n
\n')}]),angular.module("template/tooltip/tooltip-popup.html",[]).run(["$templateCache",function(a){a.put("template/tooltip/tooltip-popup.html",'
\n
\n
\n
\n')}]),angular.module("template/popover/popover.html",[]).run(["$templateCache",function(a){a.put("template/popover/popover.html",'
\n
\n\n
\n

\n
\n
\n
\n')}]),angular.module("template/progressbar/bar.html",[]).run(["$templateCache",function(a){a.put("template/progressbar/bar.html",'
')}]),angular.module("template/progressbar/progress.html",[]).run(["$templateCache",function(a){a.put("template/progressbar/progress.html",'
')}]),angular.module("template/progressbar/progressbar.html",[]).run(["$templateCache",function(a){a.put("template/progressbar/progressbar.html",'
\n
\n
')}]),angular.module("template/rating/rating.html",[]).run(["$templateCache",function(a){a.put("template/rating/rating.html",'\n \n ({{ $index < value ? \'*\' : \' \' }})\n \n')}]),angular.module("template/tabs/tab.html",[]).run(["$templateCache",function(a){a.put("template/tabs/tab.html",'
  • \n {{heading}}\n
  • \n')}]),angular.module("template/tabs/tabset-titles.html",[]).run(["$templateCache",function(a){a.put("template/tabs/tabset-titles.html","
      \n
    \n")}]),angular.module("template/tabs/tabset.html",[]).run(["$templateCache",function(a){a.put("template/tabs/tabset.html",'\n
    \n \n
    \n
    \n
    \n
    \n
    \n')}]),angular.module("template/timepicker/timepicker.html",[]).run(["$templateCache",function(a){a.put("template/timepicker/timepicker.html",'\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
     
    \n \n :\n \n
     
    \n')}]),angular.module("template/typeahead/typeahead-match.html",[]).run(["$templateCache",function(a){a.put("template/typeahead/typeahead-match.html",'')}]),angular.module("template/typeahead/typeahead-popup.html",[]).run(["$templateCache",function(a){a.put("template/typeahead/typeahead-popup.html",'')}]),c("angular-bootstrap-tpls",["angular","angular-bootstrap"],function(){}),c("CrudModule",["require","angular","ng-admin/Crud/component/controller/ListController","ng-admin/Crud/component/controller/FormController","ng-admin/Crud/component/controller/DeleteController","ng-admin/Crud/component/directive/InfinitePagination","ng-admin/Crud/component/service/CrudManager","ng-admin/Crud/run/cacheTemplate","ng-admin/Crud/config/routing","angular-ui-router","angular-sanitize","angular-bootstrap-tpls"],function(a){var b=a("angular"),c=a("ng-admin/Crud/component/controller/ListController"),d=a("ng-admin/Crud/component/controller/FormController"),e=a("ng-admin/Crud/component/controller/DeleteController"),f=a("ng-admin/Crud/component/directive/InfinitePagination"),g=a("ng-admin/Crud/component/service/CrudManager"),h=a("ng-admin/Crud/run/cacheTemplate"),i=a("ng-admin/Crud/config/routing");a("angular-ui-router"),a("angular-sanitize"),a("angular-bootstrap-tpls");var j=b.module("crud",["ui.router","ui.bootstrap","ngSanitize"]);return j.controller("ListController",c),j.controller("FormController",d),j.controller("DeleteController",e),j.service("CrudManager",g),j.directive("infinitePagination",f),j.config(["$provide",function(a){a.decorator("dateParser",function(a){var c=a.parse;return a.parse=function(a,d){return b.isString(a)&&d?c.apply(this,arguments):a},a})}]),j.run(h),j.config(i),j}),b.config({paths:{angular:"bower_components/angular/angular","angular-resource":"bower_components/angular-resource/angular-resource","angular-sanitize":"bower_components/angular-sanitize/angular-sanitize","angular-route":"bower_components/angular-route/angular-route","angular-ui-router":"bower_components/angular-ui-router/release/angular-ui-router",lodash:"bower_components/lodash/dist/lodash.min",text:"bower_components/requirejs-text/text","angular-bootstrap":"bower_components/angular-bootstrap/ui-bootstrap.min","angular-bootstrap-tpls":"bower_components/angular-bootstrap/ui-bootstrap-tpls.min",restangular:"bower_components/restangular/dist/restangular",humane:"bower_components/humane/humane",nprogress:"bower_components/nprogress/nprogress",MainModule:"ng-admin/Main/MainModule",CrudModule:"ng-admin/Crud/CrudModule"},shim:{angular:{exports:"angular"},restangular:{deps:["angular","lodash"]},"angular-ui-router":{deps:["angular"]},"angular-bootstrap":{deps:["angular"]},"angular-bootstrap-tpls":{deps:["angular","angular-bootstrap"]},jquery:{exports:"$"},"angular-resource":{deps:["angular"]},"angular-sanitize":{deps:["angular"]},"angular-route":{deps:["angular"]},nprogress:{exports:"NProgress"}}}),c("ng-admin",["require","angular","MainModule","CrudModule"],function(a){var b=a("angular");a("MainModule"),a("CrudModule"),b.module("ng-admin",["main","crud"])}),b("ng-admin")}); \ No newline at end of file diff --git a/grunt/grunt-compass.json b/grunt/grunt-compass.json index 2166f1a3..4e8b6482 100644 --- a/grunt/grunt-compass.json +++ b/grunt/grunt-compass.json @@ -1,19 +1,19 @@ { "dev": { "options": { - "cssDir": "src/css", - "imagesDir": "src/images", + "cssDir": "build", + "sassDir": "src/sass", "environment": "development", - "specify": ["sass/screen.scss"] + "relativeAssets": true, + "specify": ["src/sass/ng-admin.scss"] } }, "prod": { "options": { - "sassDir": "sass", - "cssDir": "src/css", - "imagesDir": "src/images", + "cssDir": "build", + "sassDir": "src/sass", "environment": "production", - "specify": ["sass/screen.scss"], + "specify": ["src/sass/ng-admin.scss"], "outputStyle": "compressed" } } diff --git a/grunt/grunt-requirejs.json b/grunt/grunt-requirejs.json index 9b7dce50..eeda79cb 100644 --- a/grunt/grunt-requirejs.json +++ b/grunt/grunt-requirejs.json @@ -1,26 +1,24 @@ { "dev": { "options": { - "appDir": "src/scripts", - "fileExclusionRegExp": "^(build)", + "appDir": "src/javascripts", "baseUrl": "./", - "dir": "src/require", + "mainConfigFile": "src/javascripts/ng-admin.js", + "dir": "build/require", "optimize": "none", "preserveLicenseComments": false, "generateSourceMaps": true, "skipDirOptimize": true, - "removeCombined": true, - "mainConfigFile": "src/scripts/app.js" + "removeCombined": true } }, "prod": { "options": { - "baseUrl": "src/scripts", - "mainConfigFile": "src/scripts/app.js", - "include": ["app"], + "baseUrl": "src/javascripts", + "mainConfigFile": "src/javascripts/ng-admin.js", + "include": ["ng-admin"], "name": "bower_components/almond/almond", - "out": "./src/build/ng-admin.min.js", - + "out": "./build/ng-admin.min.js", "optimize": "none", "preserveLicenseComments": false, "findNestedDependencies": true, @@ -28,8 +26,8 @@ "skipDirOptimize": true, "removeCombined": true, "wrap": { - "startFile": "build/start.frag", - "endFile": "build/end.frag" + "startFile": "src/build/start.frag", + "endFile": "src/build/end.frag" } } } diff --git a/src/index.html b/index.html similarity index 69% rename from src/index.html rename to index.html index 5c20babd..0515715f 100644 --- a/src/index.html +++ b/index.html @@ -5,10 +5,10 @@ Angular admin - + - +
    diff --git a/package.json b/package.json index f2f73bc8..2ecc5ac8 100644 --- a/package.json +++ b/package.json @@ -1,24 +1,26 @@ { "name": "ng-admin", - "version": "0.0.1", + "version": "0.1.1", "private": false, + "main": "build/ng-admin.min.js", "repository": { "type": "git", "url": "git://github.com/marmelab/ng-admin.git" }, "dependencies": { + "requirejs": "~2.1.14" + }, + "devDependencies": { "grunt": "~0.4.4", "grunt-concurrent": "^0.5.0", + "grunt-contrib-clean": "^0.6.0", "grunt-contrib-compass": "~0.7.2", "grunt-contrib-connect": "^0.8.0", + "grunt-contrib-cssmin": "^0.10.0", "grunt-contrib-requirejs": "^0.4.4", - "requirejs": "~2.1.14" - }, - "devDependencies": { - "grunt-contrib-clean": "^0.6.0", + "grunt-contrib-uglify": "~0.6.0", "grunt-contrib-watch": "~0.5.2", "grunt-karma": "^0.8.3", - "grunt-ng-annotate": "^0.3.2", "jshint-stylish": "~0.1.3", "karma": "~0.12.14", "karma-chrome-launcher": "^0.1.4", @@ -26,8 +28,7 @@ "karma-ng-html2js-preprocessor": "~0.1.0", "karma-ng-scenario": "~0.1.0", "karma-phantomjs-launcher": "^0.1.4", - "karma-requirejs": "~0.2.2", - "grunt-contrib-uglify": "~0.6.0" + "karma-requirejs": "~0.2.2" }, "engines": { "node": ">=0.10.0" diff --git a/src/build/end.frag b/src/build/end.frag new file mode 100644 index 00000000..9b01cc7e --- /dev/null +++ b/src/build/end.frag @@ -0,0 +1,2 @@ + return require('ng-admin'); +})); diff --git a/src/build/start.frag b/src/build/start.frag new file mode 100644 index 00000000..0c506e58 --- /dev/null +++ b/src/build/start.frag @@ -0,0 +1,15 @@ +/** + * This file is generated. Don't modify it directly. (c) + */ +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(factory); + } else if (typeof exports === 'object') { + // Node.js + module.exports = factory(); + } else { + // Browser globals (root is window) + root.gremlins = factory(); + } +}(this, function() { diff --git a/src/scripts/config-dist.js b/src/javascripts/config-dist.js similarity index 100% rename from src/scripts/config-dist.js rename to src/javascripts/config-dist.js diff --git a/src/scripts/app.js b/src/javascripts/ng-admin.js similarity index 94% rename from src/scripts/app.js rename to src/javascripts/ng-admin.js index 9a6abb90..5e00750e 100644 --- a/src/scripts/app.js +++ b/src/javascripts/ng-admin.js @@ -13,8 +13,8 @@ require.config({ 'humane': 'bower_components/humane/humane', 'nprogress': 'bower_components/nprogress/nprogress', - 'MainModule': 'app/Main/MainModule', - 'CrudModule': 'app/Crud/CrudModule' + 'MainModule': 'ng-admin/Main/MainModule', + 'CrudModule': 'ng-admin/Crud/CrudModule' }, shim: { 'angular': { diff --git a/src/scripts/app/Crud/CrudModule.js b/src/javascripts/ng-admin/Crud/CrudModule.js similarity index 64% rename from src/scripts/app/Crud/CrudModule.js rename to src/javascripts/ng-admin/Crud/CrudModule.js index 94d38ce8..5049899c 100644 --- a/src/scripts/app/Crud/CrudModule.js +++ b/src/javascripts/ng-admin/Crud/CrudModule.js @@ -2,15 +2,17 @@ define(function (require) { "use strict"; var angular = require('angular'), - ListController = require('app/Crud/component/controller/ListController'), - FormController = require('app/Crud/component/controller/FormController'), - DeleteController = require('app/Crud/component/controller/DeleteController'), + ListController = require('ng-admin/Crud/component/controller/ListController'), + FormController = require('ng-admin/Crud/component/controller/FormController'), + DeleteController = require('ng-admin/Crud/component/controller/DeleteController'), - InfinitePagination = require('app/Crud/component/directive/InfinitePagination'), + InfinitePagination = require('ng-admin/Crud/component/directive/InfinitePagination'), - CrudManager = require('app/Crud/component/service/CrudManager'), + CrudManager = require('ng-admin/Crud/component/service/CrudManager'), - routing = require('app/Crud/config/routing'); + cacheTemplate = require('ng-admin/Crud/run/cacheTemplate'), + + routing = require('ng-admin/Crud/config/routing'); require('angular-ui-router'); require('angular-sanitize'); @@ -30,7 +32,7 @@ define(function (require) { * Date Picker patch * https://github.com/angular-ui/bootstrap/commit/42cc3f269bae020ba17b4dcceb4e5afaf671d49b */ - CrudModule.config(function($provide){ + CrudModule.config(['$provide', function($provide){ $provide.decorator('dateParser', function($delegate){ var oldParse = $delegate.parse; @@ -43,7 +45,9 @@ define(function (require) { return $delegate; }); - }); + }]); + + CrudModule.run(cacheTemplate); CrudModule.config(routing); diff --git a/src/scripts/app/Crud/component/controller/DeleteController.js b/src/javascripts/ng-admin/Crud/component/controller/DeleteController.js similarity index 100% rename from src/scripts/app/Crud/component/controller/DeleteController.js rename to src/javascripts/ng-admin/Crud/component/controller/DeleteController.js diff --git a/src/scripts/app/Crud/component/controller/FormController.js b/src/javascripts/ng-admin/Crud/component/controller/FormController.js similarity index 100% rename from src/scripts/app/Crud/component/controller/FormController.js rename to src/javascripts/ng-admin/Crud/component/controller/FormController.js diff --git a/src/scripts/app/Crud/component/controller/ListController.js b/src/javascripts/ng-admin/Crud/component/controller/ListController.js similarity index 100% rename from src/scripts/app/Crud/component/controller/ListController.js rename to src/javascripts/ng-admin/Crud/component/controller/ListController.js diff --git a/src/scripts/app/Crud/component/directive/InfinitePagination.js b/src/javascripts/ng-admin/Crud/component/directive/InfinitePagination.js similarity index 100% rename from src/scripts/app/Crud/component/directive/InfinitePagination.js rename to src/javascripts/ng-admin/Crud/component/directive/InfinitePagination.js diff --git a/src/scripts/app/Crud/component/service/CrudManager.js b/src/javascripts/ng-admin/Crud/component/service/CrudManager.js similarity index 100% rename from src/scripts/app/Crud/component/service/CrudManager.js rename to src/javascripts/ng-admin/Crud/component/service/CrudManager.js diff --git a/src/scripts/app/Crud/config/routing.js b/src/javascripts/ng-admin/Crud/config/routing.js similarity index 100% rename from src/scripts/app/Crud/config/routing.js rename to src/javascripts/ng-admin/Crud/config/routing.js diff --git a/src/javascripts/ng-admin/Crud/run/cacheTemplate.js b/src/javascripts/ng-admin/Crud/run/cacheTemplate.js new file mode 100644 index 00000000..131dfb07 --- /dev/null +++ b/src/javascripts/ng-admin/Crud/run/cacheTemplate.js @@ -0,0 +1,20 @@ +define(function(require) { + "use strict"; + + var gridTemplate = require('text!../view/grid.html'), + editAttributeTemplate = require('text!../view/edit-attribute.html'); + + /** + * Cache all ng-admin templates + * + * @param {$templateCache} $templateCache + */ + function cacheTemplate($templateCache) { + $templateCache.put('ng-admin/Crud/view/grid.html', gridTemplate); + $templateCache.put('ng-admin/Crud/view/edit-attribute.html', editAttributeTemplate); + } + + cacheTemplate.$inject = ['$templateCache']; + + return cacheTemplate; +}); diff --git a/src/scripts/app/Crud/view/create.html b/src/javascripts/ng-admin/Crud/view/create.html similarity index 81% rename from src/scripts/app/Crud/view/create.html rename to src/javascripts/ng-admin/Crud/view/create.html index 85aa33e7..7185df2d 100644 --- a/src/scripts/app/Crud/view/create.html +++ b/src/javascripts/ng-admin/Crud/view/create.html @@ -11,7 +11,7 @@

    {{ formController.description }}

    -
    +
    diff --git a/src/scripts/app/Crud/view/delete.html b/src/javascripts/ng-admin/Crud/view/delete.html similarity index 100% rename from src/scripts/app/Crud/view/delete.html rename to src/javascripts/ng-admin/Crud/view/delete.html diff --git a/src/scripts/app/Crud/view/edit-attribute.html b/src/javascripts/ng-admin/Crud/view/edit-attribute.html similarity index 96% rename from src/scripts/app/Crud/view/edit-attribute.html rename to src/javascripts/ng-admin/Crud/view/edit-attribute.html index 4f580dee..68fc64f7 100644 --- a/src/scripts/app/Crud/view/edit-attribute.html +++ b/src/javascripts/ng-admin/Crud/view/edit-attribute.html @@ -51,5 +51,5 @@
    -
    +
    diff --git a/src/scripts/app/Crud/view/edit.html b/src/javascripts/ng-admin/Crud/view/edit.html similarity index 84% rename from src/scripts/app/Crud/view/edit.html rename to src/javascripts/ng-admin/Crud/view/edit.html index 955b8629..73f4666f 100644 --- a/src/scripts/app/Crud/view/edit.html +++ b/src/javascripts/ng-admin/Crud/view/edit.html @@ -11,7 +11,7 @@

    {{ formController.description }}

    -
    +
    diff --git a/src/scripts/app/Crud/view/grid.html b/src/javascripts/ng-admin/Crud/view/grid.html similarity index 100% rename from src/scripts/app/Crud/view/grid.html rename to src/javascripts/ng-admin/Crud/view/grid.html diff --git a/src/scripts/app/Crud/view/list.html b/src/javascripts/ng-admin/Crud/view/list.html similarity index 96% rename from src/scripts/app/Crud/view/list.html rename to src/javascripts/ng-admin/Crud/view/list.html index 5f0bdc9b..39445c69 100644 --- a/src/scripts/app/Crud/view/list.html +++ b/src/javascripts/ng-admin/Crud/view/list.html @@ -20,7 +20,7 @@

    {{ listController.description }}

    -
    +
    diff --git a/src/javascripts/ng-admin/Main/MainModule.js b/src/javascripts/ng-admin/Main/MainModule.js new file mode 100644 index 00000000..44355eb4 --- /dev/null +++ b/src/javascripts/ng-admin/Main/MainModule.js @@ -0,0 +1,55 @@ +define(function (require) { + var angular = require('angular'), + AppController = require('ng-admin/Main/component/controller/AppController'), + DashboardController = require('ng-admin/Main/component/controller/DashboardController'), + SidebarController = require('ng-admin/Main/component/controller/SidebarController'), + + PanelBuilder = require('ng-admin/Main/component/service/PanelBuilder'), + Validator = require('ng-admin/Main/component/service/Validator'), + + Application = require('ng-admin/Main/component/service/config/Application'), + Entity = require('ng-admin/Main/component/service/config/Entity'), + Field = require('ng-admin/Main/component/service/config/Field'), + Reference = require('ng-admin/Main/component/service/config/Reference'), + ReferencedList = require('ng-admin/Main/component/service/config/ReferencedList'), + ReferenceMany = require('ng-admin/Main/component/service/config/ReferenceMany'), + + NgAdminConfiguration = require('ng-admin/Main/component/provider/NgAdminConfiguration'), + + OrderElement = require('ng-admin/Main/component/filter/OrderElement'), + + routing = require('ng-admin/Main/config/routing'), + + loader = require('ng-admin/Main/run/Loader'); + + require('angular-ui-router'); + require('restangular'); + + "use strict"; + + var MainModule = angular.module('main', ['ui.router', 'restangular']); + + MainModule.controller('AppController', AppController); + MainModule.controller('DashboardController', DashboardController); + MainModule.controller('SidebarController', SidebarController); + + MainModule.service('PanelBuilder', PanelBuilder); + MainModule.service('Validator', Validator); + + MainModule.constant('Application', Application); + MainModule.constant('Entity', Entity); + MainModule.constant('Field', Field); + MainModule.constant('Reference', Reference); + MainModule.constant('ReferencedList', ReferencedList); + MainModule.constant('ReferenceMany', ReferenceMany); + + MainModule.provider('NgAdminConfiguration', NgAdminConfiguration); + + MainModule.filter('orderElement', OrderElement); + + MainModule.config(routing); + + MainModule.run(loader); + + return MainModule; +}); diff --git a/src/scripts/app/Main/component/controller/AppController.js b/src/javascripts/ng-admin/Main/component/controller/AppController.js similarity index 100% rename from src/scripts/app/Main/component/controller/AppController.js rename to src/javascripts/ng-admin/Main/component/controller/AppController.js diff --git a/src/scripts/app/Main/component/controller/DashboardController.js b/src/javascripts/ng-admin/Main/component/controller/DashboardController.js similarity index 100% rename from src/scripts/app/Main/component/controller/DashboardController.js rename to src/javascripts/ng-admin/Main/component/controller/DashboardController.js diff --git a/src/scripts/app/Main/component/controller/SidebarController.js b/src/javascripts/ng-admin/Main/component/controller/SidebarController.js similarity index 100% rename from src/scripts/app/Main/component/controller/SidebarController.js rename to src/javascripts/ng-admin/Main/component/controller/SidebarController.js diff --git a/src/scripts/app/Main/component/filter/OrderElement.js b/src/javascripts/ng-admin/Main/component/filter/OrderElement.js similarity index 100% rename from src/scripts/app/Main/component/filter/OrderElement.js rename to src/javascripts/ng-admin/Main/component/filter/OrderElement.js diff --git a/src/scripts/app/Main/component/provider/NgAdminConfiguration.js b/src/javascripts/ng-admin/Main/component/provider/NgAdminConfiguration.js similarity index 100% rename from src/scripts/app/Main/component/provider/NgAdminConfiguration.js rename to src/javascripts/ng-admin/Main/component/provider/NgAdminConfiguration.js diff --git a/src/scripts/app/Main/component/service/PanelBuilder.js b/src/javascripts/ng-admin/Main/component/service/PanelBuilder.js similarity index 100% rename from src/scripts/app/Main/component/service/PanelBuilder.js rename to src/javascripts/ng-admin/Main/component/service/PanelBuilder.js diff --git a/src/scripts/app/Main/component/service/Validator.js b/src/javascripts/ng-admin/Main/component/service/Validator.js similarity index 100% rename from src/scripts/app/Main/component/service/Validator.js rename to src/javascripts/ng-admin/Main/component/service/Validator.js diff --git a/src/scripts/app/Main/component/service/config/Application.js b/src/javascripts/ng-admin/Main/component/service/config/Application.js similarity index 95% rename from src/scripts/app/Main/component/service/config/Application.js rename to src/javascripts/ng-admin/Main/component/service/config/Application.js index 176fd763..b55d97c4 100644 --- a/src/scripts/app/Main/component/service/config/Application.js +++ b/src/javascripts/ng-admin/Main/component/service/config/Application.js @@ -5,7 +5,7 @@ define(function (require) { return {}; } - var Configurable = require('app/Main/component/service/config/Configurable'); + var Configurable = require('ng-admin/Main/component/service/config/Configurable'); return function(title) { var entities = {}; diff --git a/src/scripts/app/Main/component/service/config/Configurable.js b/src/javascripts/ng-admin/Main/component/service/config/Configurable.js similarity index 100% rename from src/scripts/app/Main/component/service/config/Configurable.js rename to src/javascripts/ng-admin/Main/component/service/config/Configurable.js diff --git a/src/scripts/app/Main/component/service/config/Entity.js b/src/javascripts/ng-admin/Main/component/service/config/Entity.js similarity index 98% rename from src/scripts/app/Main/component/service/config/Entity.js rename to src/javascripts/ng-admin/Main/component/service/config/Entity.js index bb55b2ee..e874e8a8 100644 --- a/src/scripts/app/Main/component/service/config/Entity.js +++ b/src/javascripts/ng-admin/Main/component/service/config/Entity.js @@ -1,7 +1,7 @@ define(function (require) { 'use strict'; - var Configurable = require('app/Main/component/service/config/Configurable'); + var Configurable = require('ng-admin/Main/component/service/config/Configurable'); /** * Return the title depending if the config is a string or a function diff --git a/src/scripts/app/Main/component/service/config/Field.js b/src/javascripts/ng-admin/Main/component/service/config/Field.js similarity index 96% rename from src/scripts/app/Main/component/service/config/Field.js rename to src/javascripts/ng-admin/Main/component/service/config/Field.js index 67f06109..6f30ed54 100644 --- a/src/scripts/app/Main/component/service/config/Field.js +++ b/src/javascripts/ng-admin/Main/component/service/config/Field.js @@ -1,7 +1,7 @@ define(function (require) { 'use strict'; - var Configurable = require('app/Main/component/service/config/Configurable'); + var Configurable = require('ng-admin/Main/component/service/config/Configurable'); return function(fieldName) { var availableTypes = ['number', 'string', 'text', 'email', 'date']; diff --git a/src/scripts/app/Main/component/service/config/Reference.js b/src/javascripts/ng-admin/Main/component/service/config/Reference.js similarity index 95% rename from src/scripts/app/Main/component/service/config/Reference.js rename to src/javascripts/ng-admin/Main/component/service/config/Reference.js index afd271c1..11e6e6da 100644 --- a/src/scripts/app/Main/component/service/config/Reference.js +++ b/src/javascripts/ng-admin/Main/component/service/config/Reference.js @@ -1,7 +1,7 @@ define(function (require) { 'use strict'; - var Configurable = require('app/Main/component/service/config/Configurable'); + var Configurable = require('ng-admin/Main/component/service/config/Configurable'); return function(fieldName) { var availableTypes = ['number', 'text', 'email', 'date']; diff --git a/src/scripts/app/Main/component/service/config/ReferenceMany.js b/src/javascripts/ng-admin/Main/component/service/config/ReferenceMany.js similarity index 95% rename from src/scripts/app/Main/component/service/config/ReferenceMany.js rename to src/javascripts/ng-admin/Main/component/service/config/ReferenceMany.js index 1e2af833..0cb0f255 100644 --- a/src/scripts/app/Main/component/service/config/ReferenceMany.js +++ b/src/javascripts/ng-admin/Main/component/service/config/ReferenceMany.js @@ -1,7 +1,7 @@ define(function (require) { 'use strict'; - var Configurable = require('app/Main/component/service/config/Configurable'); + var Configurable = require('ng-admin/Main/component/service/config/Configurable'); return function(fieldName) { var availableTypes = ['number', 'text', 'email', 'date']; diff --git a/src/scripts/app/Main/component/service/config/ReferencedList.js b/src/javascripts/ng-admin/Main/component/service/config/ReferencedList.js similarity index 95% rename from src/scripts/app/Main/component/service/config/ReferencedList.js rename to src/javascripts/ng-admin/Main/component/service/config/ReferencedList.js index 8a254c3a..8a516274 100644 --- a/src/scripts/app/Main/component/service/config/ReferencedList.js +++ b/src/javascripts/ng-admin/Main/component/service/config/ReferencedList.js @@ -1,7 +1,7 @@ define(function (require) { 'use strict'; - var Configurable = require('app/Main/component/service/config/Configurable'); + var Configurable = require('ng-admin/Main/component/service/config/Configurable'); return function(fieldName) { var name = fieldName || 'reference'; diff --git a/src/scripts/app/Main/config/routing.js b/src/javascripts/ng-admin/Main/config/routing.js similarity index 100% rename from src/scripts/app/Main/config/routing.js rename to src/javascripts/ng-admin/Main/config/routing.js diff --git a/src/scripts/app/Main/run/Loader.js b/src/javascripts/ng-admin/Main/run/Loader.js similarity index 100% rename from src/scripts/app/Main/run/Loader.js rename to src/javascripts/ng-admin/Main/run/Loader.js diff --git a/src/scripts/app/Main/view/dashboard.html b/src/javascripts/ng-admin/Main/view/dashboard.html similarity index 71% rename from src/scripts/app/Main/view/dashboard.html rename to src/javascripts/ng-admin/Main/view/dashboard.html index 51d96d8b..c63b6e03 100644 --- a/src/scripts/app/Main/view/dashboard.html +++ b/src/javascripts/ng-admin/Main/view/dashboard.html @@ -10,6 +10,6 @@

    Dashboard

    {{ panel.label }}
    -
    +
    diff --git a/src/scripts/app/Main/view/layout.html b/src/javascripts/ng-admin/Main/view/layout.html similarity index 100% rename from src/scripts/app/Main/view/layout.html rename to src/javascripts/ng-admin/Main/view/layout.html diff --git a/test/.jshintrc b/src/javascripts/test/.jshintrc similarity index 100% rename from test/.jshintrc rename to src/javascripts/test/.jshintrc diff --git a/test/app-test.js b/src/javascripts/test/app-test.js similarity index 94% rename from test/app-test.js rename to src/javascripts/test/app-test.js index 61284812..69226656 100644 --- a/test/app-test.js +++ b/src/javascripts/test/app-test.js @@ -9,7 +9,7 @@ for (var file in window.__karma__.files) { requirejs.config({ // Karma serves files from '/base' - baseUrl: '/base/src/scripts', + baseUrl: '/base', paths: { 'angular-mocks': 'bower_components/angular-mocks/angular-mocks', @@ -30,8 +30,8 @@ requirejs.config({ 'humane': 'bower_components/humane/humane', 'nprogress': 'bower_components/nprogress/nprogress', - 'MainModule': 'app/Main/MainModule', - 'CrudModule': 'app/Crud/CrudModule' + 'MainModule': 'ng-admin/Main/MainModule', + 'CrudModule': 'ng-admin/Crud/CrudModule' }, shim: { 'angular': { diff --git a/test/karma.conf.js b/src/javascripts/test/karma.conf.js similarity index 57% rename from test/karma.conf.js rename to src/javascripts/test/karma.conf.js index 9459f8fa..a80dd9d4 100644 --- a/test/karma.conf.js +++ b/src/javascripts/test/karma.conf.js @@ -6,13 +6,13 @@ module.exports = function(config) { plugins: ['karma-requirejs', 'karma-jasmine', 'karma-chrome-launcher', 'karma-phantomjs-launcher'], files: [ - {pattern: 'src/scripts/bower_components/angular/angular.js', included: false}, - {pattern: 'src/scripts/bower_components/angular-mocks/angular-mocks.js', included: false}, + {pattern: 'bower_components/angular/angular.js', included: false}, + {pattern: 'bower_components/angular-mocks/angular-mocks.js', included: false}, // ng-admin application files - {pattern: 'src/scripts/app/**/component/**/*.js', included: false}, - {pattern: 'src/scripts/app/**/config/**/*.js', included: false}, - {pattern: 'src/scripts/app/**/view/**/*.html', included: false}, + {pattern: 'ng-admin/**/component/**/*.js', included: false}, + {pattern: 'ng-admin/**/config/**/*.js', included: false}, + {pattern: 'ng-admin/**/view/**/*.html', included: false}, // Test files {pattern: 'test/unit/**/**/*.js', included: false}, diff --git a/test/mock/Restangular.js b/src/javascripts/test/mock/Restangular.js similarity index 100% rename from test/mock/Restangular.js rename to src/javascripts/test/mock/Restangular.js diff --git a/test/mock/mixins.js b/src/javascripts/test/mock/mixins.js similarity index 100% rename from test/mock/mixins.js rename to src/javascripts/test/mock/mixins.js diff --git a/test/mock/q.js b/src/javascripts/test/mock/q.js similarity index 100% rename from test/mock/q.js rename to src/javascripts/test/mock/q.js diff --git a/test/stub-server.json b/src/javascripts/test/stub-server.json similarity index 100% rename from test/stub-server.json rename to src/javascripts/test/stub-server.json diff --git a/test/unit/Crud/component/service/CrudManagerSpec.js b/src/javascripts/test/unit/Crud/component/service/CrudManagerSpec.js similarity index 96% rename from test/unit/Crud/component/service/CrudManagerSpec.js rename to src/javascripts/test/unit/Crud/component/service/CrudManagerSpec.js index d54b2487..a0a7ea83 100644 --- a/test/unit/Crud/component/service/CrudManagerSpec.js +++ b/src/javascripts/test/unit/Crud/component/service/CrudManagerSpec.js @@ -3,11 +3,11 @@ define(function(require) { 'use strict'; - var CrudManager = require('app/Crud/component/service/CrudManager'), - Application = require('app/Main/component/service/config/Application'), - Entity = require('app/Main/component/service/config/Entity'), - Field = require('app/Main/component/service/config/Field'), - Reference = require('app/Main/component/service/config/Reference'), + var CrudManager = require('ng-admin/Crud/component/service/CrudManager'), + Application = require('ng-admin/Main/component/service/config/Application'), + Entity = require('ng-admin/Main/component/service/config/Entity'), + Field = require('ng-admin/Main/component/service/config/Field'), + Reference = require('ng-admin/Main/component/service/config/Reference'), mixins = require('mixins'), $q = require('mock/q'), Restangular = require('mock/Restangular'); diff --git a/sass/screen.scss b/src/sass/ng-admin.scss similarity index 86% rename from sass/screen.scss rename to src/sass/ng-admin.scss index 21b2c735..01df298c 100644 --- a/sass/screen.scss +++ b/src/sass/ng-admin.scss @@ -1,14 +1,10 @@ -$icon-font-path: "/scripts/bower_components/bootstrap-sass-official/vendor/assets/fonts/bootstrap/"; +$icon-font-path: "../src/javascripts/bower_components/bootstrap-sass-official/vendor/assets/fonts/bootstrap/"; // bower:scss -@import "../src/scripts/bower_components/bootstrap-sass-official/vendor/assets/stylesheets/bootstrap.scss"; -@import "/scripts/bower_components/nprogress/nprogress.css"; -@import "/scripts/bower_components/fontawesome/css/font-awesome.css"; -@import "/scripts/bower_components/humane/themes/flatty.css"; -@import "/scripts/bower_components/bootstrap/dist/css/bootstrap.css"; +@import "../javascripts/bower_components/bootstrap-sass-official/vendor/assets/stylesheets/bootstrap.scss"; // endbower -@import "sb-admin.scss"; +@import "sb-admin"; #nprogress div.spinner { width: 18px; diff --git a/sass/sb-admin.scss b/src/sass/sb-admin.scss similarity index 100% rename from sass/sb-admin.scss rename to src/sass/sb-admin.scss diff --git a/src/scripts/app/Main/MainModule.js b/src/scripts/app/Main/MainModule.js deleted file mode 100644 index 7d3a04a5..00000000 --- a/src/scripts/app/Main/MainModule.js +++ /dev/null @@ -1,55 +0,0 @@ -define(function (require) { - var angular = require('angular'), - AppController = require('app/Main/component/controller/AppController'), - DashboardController = require('app/Main/component/controller/DashboardController'), - SidebarController = require('app/Main/component/controller/SidebarController'), - - PanelBuilder = require('app/Main/component/service/PanelBuilder'), - Validator = require('app/Main/component/service/Validator'), - - Application = require('app/Main/component/service/config/Application'), - Entity = require('app/Main/component/service/config/Entity'), - Field = require('app/Main/component/service/config/Field'), - Reference = require('app/Main/component/service/config/Reference'), - ReferencedList = require('app/Main/component/service/config/ReferencedList'), - ReferenceMany = require('app/Main/component/service/config/ReferenceMany'), - - NgAdminConfiguration = require('app/Main/component/provider/NgAdminConfiguration'), - - OrderElement = require('app/Main/component/filter/OrderElement'), - - routing = require('app/Main/config/routing'), - - loader = require('app/Main/run/Loader'); - - require('angular-ui-router'); - require('restangular'); - - "use strict"; - - var MainModule = angular.module('main', ['ui.router', 'restangular']); - - MainModule.controller('AppController', AppController); - MainModule.controller('DashboardController', DashboardController); - MainModule.controller('SidebarController', SidebarController); - - MainModule.service('PanelBuilder', PanelBuilder); - MainModule.service('Validator', Validator); - - MainModule.constant('Application', Application); - MainModule.constant('Entity', Entity); - MainModule.constant('Field', Field); - MainModule.constant('Reference', Reference); - MainModule.constant('ReferencedList', ReferencedList); - MainModule.constant('ReferenceMany', ReferenceMany); - - MainModule.provider('NgAdminConfiguration', NgAdminConfiguration); - - MainModule.filter('orderElement', OrderElement); - - MainModule.config(routing); - - MainModule.run(loader); - - return MainModule; -});